Redes neuronales en la producción de prótesis dentales.

Reemplazar un diente con un implante o instalar una corona es un procedimiento doloroso y costoso. Una de las partes más difíciles en la restauración es el diseño de la prótesis en el sistema CAD, en el que participan los técnicos dentales. Cada corona está diseñada individualmente para el paciente y su mandíbula en 8-10 minutos. Al mismo tiempo, cada técnico tiene su propia visión subjetiva de lo que es una buena corona dental, y la evaluación de calidad de la misma corona para diferentes especialistas del mismo nivel puede variar de "buena" a "posible y mejor".


Por lo tanto, no es sorprendente que en odontología el objetivo fuera eliminar el factor humano y agregar automatización. Esto se puede hacer usando redes neuronales. Ahora han avanzado tanto que pueden reconocer objetos, encontrar delincuentes en la multitud, hacer dibujos por boceto y reemplazar las caras de los actores en películas, por ejemplo, DiCaprio con Burunov en la película El gran Gatsby. También ayudan a lidiar con los dientes y cómo sucedió, Stanislav Shushkevich lo dirá.

Stanislav Shushkevich - trabaja en Adalisk Service. Este es el contratista del mayor fabricante de dentaduras postizas de EE. UU. Las tareas del contratista incluyen la automatización de la producción de coronas, puentes, implantes. Stanislav enseña redes neuronales profundas. En Saint HighLoad ++ 2019, Stanislav hizo una presentación en la que habló en detalle y en detalle sobre cómo la compañía utiliza la capacitación profunda para automatizar la clasificación de datos de entrada, la generación de diseño y la automatización del modelado de coronas.

Este artículo se basa en la transcripción de su informe, de él aprenderá cómo aplicar el aprendizaje profundo y la generación de diseño en la producción de dentaduras postizas, cómo estabilizar la calidad, automatizar varias etapas de producción utilizando redes neuronales, reducir gradualmente el factor humano y reducir el tiempo promedio varias veces. que el técnico dental gasta en coronas e implantes.

Nota El grupo, en el que trabaja Stanislav, colabora con el Instituto Berkeley (EE. UU.). Trabajaron juntos para desarrollar redes neuronales profundas para automatizar el diseño de implantes dentales. Según los resultados de este trabajo, los investigadores publicaron un artículo científico , pero el informe es más interesante.

Terminologia dental


Para sumergirlo en el curso de los asuntos, le contaré sobre la terminología dental. Una persona tiene 32 dientes, pero con mayor frecuencia 28, porque las muelas del juicio a menudo no crecen ni enferman y se extirpan. Hay una numeración continua del 1 al 32, pero es más conveniente dividir la mandíbula en 4 cuadrantes numerados de 8 dientes. Por lo tanto, decimos que una persona tiene 32 dientes, de 11 a 48. El primer dígito es el número del cuadrante, el segundo es el número del diente en el cuadrante.


Esquema de numeración de dientes estándar.

Después de la reflexión especular, los dientes del lado izquierdo de la mandíbula son similares a los dientes de la derecha, pero los superiores no son similares a los inferiores. Por lo tanto, cuando decimos que necesitamos generar un diente, generalmente queremos decir 16 dientes, 32 por la mitad, solo 16.

La forma de los dientes de una persona no puede determinar el género. Por lo tanto, cuando las excavaciones encuentran dientes, no está claro de quién son: hombres o mujeres. Al mismo tiempo, uno puede entender por las fauces del caballo si es una yegua o un caballo: el caballo tiene colmillos, pero la yegua no. Tales hechos "dentales" siempre me divierten.

El muñón del 36º diente está marcado en azul: el diente enfermo se cortó, el muñón permaneció. En inglés, el muñón del diente se llama "morir". El borde del tocón se resalta en rojo, se llama "margen". Cuando el dentista coloca la corona sobre el diente, es importante que el borde de la corona casi coincida con el margen, con un margen para "pegamento", de lo contrario habrá un paso feo.


Escaneo tridimensional de la impresión de la mandíbula inferior.

Para nosotros, el técnico hizo un modelo 3D de una hermosa corona.



Ranuras en la parte superior: anatomía de la corona. Están ubicados no al azar, sino por su número de diente típico. Se puede describir durante mucho tiempo, pero hay una anatomía primaria, una cruz de ortodoncia secundaria.

El antagonista de la mandíbula es adecuado desde arriba, y si el diente es superior, la mandíbula es antagonista desde abajo. La dirección hacia arriba, que se llama dirección oclusal , también es importante para nosotros. Cuando aparece una "instantánea oclusal de un diente" en el texto, simplemente significa una instantánea desde arriba.

Coronas de viaje


¿Cómo funcionan las coronas dentales? Los que se colocan coronas dentales representan aproximadamente. Diré el resto del esquema general.

Dentista - Técnico Dental - Dentista. Vienes al dentista, abres la boca, dice reparar. Limpia un diente y muerde el plato. Parece una plastilina en un sustrato, una huella de la mandíbula superior e inferior permanece en él. El dentista envía este yeso al laboratorio al técnico dental.

Un técnico dental se sienta en un laboratorio y nunca se comunica con pacientes reales. Construye modelos de dientes en un sistema CAD / CAM en una computadora. Desde el modelo 3D terminado del diente, realiza una restauración real y la envía de vuelta al dentista. Además, el dentista ya está instalando la restauración en su lugar.
Nuestra aplicación del poder está en el centro de este esquema.
Dentista - Técnico Dental + ML - Dentista . Ahora el técnico dental trabaja en un programa similar a AutoCAD. Pero idealmente, debería hacer esto: un caso viene en forma de molde, un técnico lo escanea y recibe una propuesta lista para la corona. Nuestro grupo ML trabaja con técnicos dentales y en pocos años ha recopilado 5 millones de casos y 150 TB de datos que están en Amazon, hay muchos para elegir.

El técnico tarda 10 minutos en preparar una imagen 3D de la corona, mientras piensa en muchos parámetros:

  • forma natural
  • antagonista
  • contactos apretados;
  • línea de margen;
  • segmentación de la mandíbula;
  • anatomía profunda
  • direcciones;
  • arco
  • rellenando papeles y otros.

Parámetros


La naturalidad de la forma . Esto es lo primero que piensa un técnico dental; para mí, este es el momento más misterioso. Cuando muestro la técnica de dos dientes y él dice cuál es bueno, le pregunto por qué decidió eso:

"No lo sé". Solo veo que este es un diente natural, pero no lo es.
- ¿Hay algún criterio formal? Un sistema de diseño automatizado necesita métricas formales.
"No conozco ninguna métrica formal". Solo veo que este es un buen diente, y este es malo.

Esto se llama la "forma natural".

Al mismo tiempo, el técnico también se encarga de que la corona no se cruce con el antagonista y se asiente bien en el "borde" del muñón, sobre el contacto estrecho con los vecinos, establece direcciones y segmenta la mandíbula.

Hay varias buenas soluciones para cualquier caso. Las diferentes técnicas para la misma mandíbula crearán varios dientes buenos diferentes.

¿Por qué no hacerlo más fácil: tomar una corona de dientes normal, "jugar" con la forma del algoritmo geométrico e insertarla en la mandíbula? Esta tarea geométrica es simple en imaginación, pero en la práctica no es tan simple.

Variabilidad En la imagen de abajo hay tres imágenes de coronas.

El primero a la izquierda es el diente humano perfecto. En promedio, la brecha entre el antagonista y el muñón del diente es tan pequeña que la corona se aplana. La distancia entre este diente y el vecino de la izquierda era lo suficientemente grande, pero la corona necesitaba tocar el diente vecino, por lo que apareció un influjo a la izquierda. En la figura correcta, todo parece normal, pero la línea del "borde" del tocón no es un círculo, sino una figura espacial compleja. Para los métodos geométricos, todo esto es complicado debido a la gran variabilidad de las coronas.

Atención al detalle . Otro detalle importante es el tamaño característico de las características simuladas. El tamaño del diente 36 (desde la parte inferior de la mandíbula inferior) es de aproximadamente 8 mm, y 200 micras es el tamaño de solo la anatomía. Esto significa que si se necesita una anatomía normal, se requiere una precisión del modelo de al menos 100 micras. Se corta aproximadamente con una precisión de 20 micras. Dividimos 100 micras en 8 mm; obtenemos una precisión de aproximadamente 1%.

Todo esto crea un problema: el técnico pasa mucho tiempo en muchos factores. Decidimos simplificar su trabajo y aumentar la eficiencia: más coronas por unidad de tiempo. Probamos varias opciones y elegimos redes neuronales que simplificaban el trabajo del técnico.

Métodos de solución


CAD / CAM . Cada compañía "dental" crea su propio sistema. Glidewell Dental, Invisalign, Sirona: todos tienen o están desarrollando sus propios sistemas CAD / CAM. Los sistemas se parecen a AutoCAD o KOMPAS-3D: tiene un objeto estándar, puede tirar, acariciarlo, rotarlo. Ahora los técnicos trabajan de esta manera y pasan 10 minutos para producir una corona normal.

ML - funciones armónicas. Esta es otra forma: aprendizaje automático relativamente simple. Por ejemplo, si mira la corona desde arriba, se verá como un círculo con surcos, y luego puede intentar descomponerla en funciones armónicas. Pero lo intentamos, con nuestras condiciones de precisión, esto no funciona.

Por lo tanto, al final, recurrimos a redes profundas para generar objetos tridimensionales. Contaré dos historias relacionadas con nuestra elección. El primero es propedéutico . Esta es una historia educativa o de capacitación sobre la segmentación de la mandíbula. El segundo es sobre la generación de la corona .

Segmentación de la mandíbula


La segmentación de la mandíbula es la coloración de cada diente y encía con su propio color (por ejemplo, en una vista oclusal).



La segmentación es importante. Por ejemplo, la mandíbula tenía la forma de un modelo 3D, y en ella un muñón de diente aserrado. Para que el programa entienda dónde colocar el diente, al menos debe colocarse en relación con el muñón. En este caso, una persona generalmente se sienta y con un mouse hace clic sobre ella y sus vecinos, y solo entonces el programa comprende dónde colocar el diente. Con la segmentación automática, todo sería mucho más interesante: indicaría automáticamente dónde colocar el diente.
Por lo tanto, decidimos manchar nuestros dientes usando redes neuronales.
El entrenamiento de la red neuronal requiere datos. Hay conjuntos de datos abiertos para segmentar rostros, poses de personas, cartas: a las personas les gusta asistir a conferencias y compartir éxitos en la capacitación entre ellos. Pero encontrar un conjunto de datos para la segmentación dental es difícil.

Hay empresas que tienen conjuntos de datos con dientes ya segmentados. Pero ellos, por supuesto, no los venden ni los regalan. Este es el know-how y el gran valor de cada empresa.

Afortunadamente, teníamos un algoritmo geométrico Watershed , del cual hablaré más adelante. Puede segmentar, pero con una eficiencia del 30%: segmentación normal en uno de cada tres casos. Segmentamos el algoritmo con 15 mil casos y luego los filtramos manualmente. Después de filtrar, quedaron 5 mil casos buenos en los que capacitamos a SegNet.

Nota SegNet es la red estándar para la segmentación. Una red particular no es tan importante. Es importante qué hacer, en qué secuencia y dónde obtener los datos.


Así es como se ve la segmentación de la mandíbula con 12 dientes.

Todo parece estar bien: diferentes colores hermosos, los dientes prácticamente no se "escapan". Pero es de poca utilidad segmentar solo aquellos casos que ya hemos aprendido a segmentar geométricamente. Nos gustaría aprender a segmentar todo el espacio de fase. En el caso de una fuerte correlación entre el algoritmo geométrico y el de la red neuronal, la red básicamente solo segmentará bien aquellos casos que ya están bien segmentados.

Entonces, la pregunta principal es: ¿existe una correlación entre lo que Watershed y SegNet están haciendo? Para responder a esta pregunta, necesita saber cómo funcionan estos algoritmos.

Cómo funcionan las cuencas hidrográficas y SegNet


La cuenca hidrográfica funciona en una superficie 3D: estos son "valles" separados por crestas con gran curvatura espacial. Cuando nos movemos sobre una superficie 3D, en algunos lugares hay una curva cerrada, por ejemplo, donde dos dientes se acoplan o un diente entra en la encía. En estos lugares surgen "crestas". La cuenca "vierte agua" y cubre los valles, pero no cruza las "crestas".

El algoritmo no funciona bien donde se rompe la curvatura espacial. Por ejemplo, hay dos dientes con una tangente común. Fueron escaneados para que dos dientes pasen suavemente entre sí. El algoritmo pintará dos dientes con un color.

SegNet funciona como cualquier red segmentada. Él sabe lo que se puede obtener aproximadamente en el interior: una imagen segmentada generalmente se parece a 14 círculos ubicados en un arco y alrededor de la encía. SegNet es propenso a errores: cuando los círculos son de forma irregular, el paciente no tiene 14 dientes, sino 12 o el diente se cae del arco, el arco en el que se encuentran los dientes. La imagen muestra solo 12 dientes, fue difícil, pero el algoritmo lo hizo.

Parece que Watershed y SegNet no se correlacionan entre sí, y todo es relativamente normal.

Subtotales


Se requiere optimización para el usuario final . Podríamos pasar mucho tiempo por adelantado para deshacernos de la correlación, pensarlo y tomar medidas. Pero incluso sin esto, SegNet, al entrenar en casos seleccionados, proporcionó alrededor del 90% de las segmentaciones correctas, una red de 9 de cada 10 segmentos de mandíbulas perfectamente.

El trabajo manual ayuda mucho. Descubrirá sus datos y seleccionará lo que necesita.

Pasamos al plato principal.

Generación de la corona


Para generar la corona, elegimos este esquema: tomamos la vista oclusal y de ella un mapa monocromático de profundidades - mapa de profundidad.


Corona con anatomía profunda (cruz) y con anatomía secundaria.

Fuentes de datos


La primera fuente de datos son los dientes naturales . Hay muchos moldes de mandíbulas, ahora sabemos cómo segmentarlos: cortamos dientes naturales y los entrenamos.

Los tomamos, pero resultó mal. Los dientes naturales son muy variados . Los dientes humanos comunes no son muy hermosos, incluso entre los jóvenes. Me gustaría que la corona fuera más bonita.

La segunda fuente de datos son las coronas preparadas . Ya tenemos 5 millones de casos de 150 TB. Se almacenan en la nube de Amazon. De los 5 millones de casos, seleccionamos aquellos que han completado las técnicas y los capacitamos. Pero tampoco funcionó. Observamos cuidadosamente nuestro conjunto de entrenamiento y descubrimos que de la mitad a las dos terceras partes de las coronas terminadas se pueden hacer mejor. Esto se refería principalmente a la profundidad de la anatomía en las coronas terminadas: las ranuras no estaban suficientemente expresadas.

Este fue un descubrimiento desagradable, porque tomamos los resultados de especialistas que deberían ser emulados. Pero ya sabíamos qué hacer en tales casos.

Tomamos 10 mil casos y los dividimos manualmente en buenos y malos. Recibió 5 mil bienes en los que puede aprender. Pero experimentalmente sabíamos que para el entrenamiento se necesitan entre 10 y 15 mil casos buenos. Para obtenerlos, debe clasificar manualmente 30 mil cajas por diente, esto es demasiado. Por lo tanto, entrenamos una red auxiliar simple que mostraba dientes y separaba lo bueno de lo malo.



La figura muestra que los tres dientes superiores tienen una anatomía profunda: la cruz es claramente visible y en las depresiones inferiores. En el último (más a la izquierda) no hay anatomía en absoluto. El técnico "lamió" esta corona para que la anatomía desapareciera.

Con la ayuda de una red auxiliar, podemos filtrar volúmenes muy grandes y recibir de 10 a 20 mil cajas por diente.

Detalles técnicos de generación


Multas Lo primero que se me ocurrió fue tomar la red generadora, mostrarle la imagen superior de la mandíbula con un muñón de diente, exigirle que dibuje la inferior e imponer una fina L1. Pero la teoría dice que no funcionará, y por eso.


La mandíbula con matriz arriba es con un diente aserrado, en el medio es un antagonista, y debajo está la corona, que debe crearse como resultado de la red.

Ya hemos dicho que hay muchas buenas soluciones para la misma entrada. Si simplemente impone un fino L1, entonces multará la red por el hecho de que no podía adivinar la imagen de la corona en la cabeza del técnico en el momento en que la diseñó. Podría hacer una corona así, o podría hacer otra, también buena. Una multa por otra buena corona no es necesaria.
La penalidad "desnuda" de L1 es una mala idea.
Discriminador Es una buena idea formar a un discriminador que diga "Bueno" a todas las coronas buenas y "Malo" a las coronas malas. Tendrá en cuenta la compleja superficie de las buenas coronas (superficie en el espacio de las coronas). Además, GAN, como resultó, aplasta el ruido de alta frecuencia.

Nuestra Pérdida se ve así: Loss = D_GAN + L1 + AntagonistIntersectionPenalty .

D_GAN : tiene en cuenta la superficie compleja de posibles buenas decisiones. AntagonistIntersectionPenalty agrega para que el diente no se cruce con el antagonista.

Es importante que L1 aparezca de repente. Acabas de leer que debería estropear algo, pero si lo agregas de forma limitada, no se echa a perder. La razón es que la GAN es bastante inestable durante el entrenamiento, y L1 informa que el diente, en cualquier caso, se ve como una mancha blanca en el medio del marco. En la etapa inicial de entrenamiento, se estabiliza: todo converge mejor, se ve suave y ordenado.

Nota técnica Luchamos durante mucho tiempo, tratando de entrenar una red para todos los dientes posteriores o una red para un par de dientes. Pero llegamos a la conclusión de que necesita entrenar su red para cada diente, para cada pequeño dato localizado. Tenemos esa oportunidad.
Un diente, una red.
Esto es importante: esta es su compensación entre la estabilidad de la solución y los recursos utilizados. Si gasta 200 MB adicionales de memoria de video, (por lo general) no sucederá nada. Pero mantendrá una red separada para cada diente y la entrenará según sea necesario.

Subtotales


Nuevamente utilizamos redes auxiliares y trabajo manual :

  • clasificado a mano, dividió 10 mil casos en "buenos y malos";
  • Sobre los resultados de la clasificación manual, estudiamos la red auxiliar;
  • casos sin marcar a granel.

¡Hurra, entramos en producción!


Después de todo lo que hicimos, entramos en producción. Esta no es una producción real: el grupo de Investigación y Producción, pero crea 100 coronas por día.

Nota En el momento de la publicación del artículo, las redes de generación ya están incluidas en este producto .

El grupo ha estado trabajando desde mayo: los GAN hicieron varios miles de coronas. Un técnico presiona un botón y se genera una imagen de la corona en 20 segundos. El técnico verifica la exactitud del formulario, generalmente aprieta los contactos y lo envía a una bebida.

Obtuvimos una ganancia sustancial en el tiempo. La corona se prepara en 8-10 minutos, y con la participación de la GAN, en 4 minutos. La GAN cubre el 80% de los casos; si al técnico no le gusta lo que sugirió la GAN, modela la corona con las manos y pasa 8 minutos.

Las lecciones


Optimización para el usuario final . En el proceso, es útil pensar en medidas, métricas, función de pérdida y correlaciones. Pero hizo todo bien si finalizó el trabajo y obtuvo el resultado esperado.

Uso de redes auxiliares.

Trabajo manual. Hay un dicho en ML: " Conozca sus detalles". Mediante el trabajo manual, descubrirá qué hay en sus datos. El trabajo manual generalmente se recompensa porque “alimenta” su red con exactamente lo que necesita.

Equilibrio "calidad - recursos" . Si es posible, cambie hacia la calidad. No seas codicioso: agrega tantas redes como necesites.

No muy lejos se encuentra la próxima conferencia Saint HighLoad ++ . Los días 6 y 7 de abril en San Petersburgo, definitivamente escucharemos ejemplos del uso de redes neuronales y aprendizaje automático en la producción compleja y, por supuesto, formas de lograr un alto rendimiento. Si solo desea compartir esta experiencia, en lugar de enviar un informe , hay muy poco tiempo antes de la fecha límite de la convocatoria. O siga los anuncios de informes que estamos por comenzar a aprobar el programa en la lista de correo para decidir a tiempo participar en la conferencia.

Source: https://habr.com/ru/post/486028/


All Articles