La pregunta
Las anotaciones a nivel de píxel del vídeo quirúrgico son lentas de hacer, y los bordes de los instrumentos son su parte menos consistente. Un renderizador ofrece instrumentos ilimitados con máscaras exactas. Pusimos a prueba la versión fuerte de esta idea:
H1. Un modelo entrenado solo con instrumentos sintéticos no es peor, con instrumentos reales, que el mismo modelo entrenado con anotaciones reales.
La hipótesis, el margen y la regla de decisión se fijaron en un documento de diseño (RFC 0001) antes de cualquier entrenamiento.
Cómo lo comprobamos
- Datos sintéticos. Se construyeron en Blender modelos de una pinza de agarre y de un gancho en L, y se renderizaron 20 000 veces con máscaras exactas. Los renders se superpusieron a 717 fotogramas sin instrumentos del conjunto público CholecT50, revisados uno a uno por una persona. Aumentos: luz, desenfoque, tejido sobre la punta, el borde oscuro de la imagen del endoscopio y humo simulado.
- Datos reales. CholecSeg8k: 4000 fotogramas anotados de 8 vídeos para entrenar y 1120 fotogramas de 2 vídeos para validar.
- Prueba. Los 7 vídeos de CholecSeg8k que nunca sirvieron de fondo sintético, 2960 fotogramas en total. Antes de la primera ejecución de prueba, una persona revisó cada clip de prueba en busca de instrumentos sin clase propia. No hubo que excluir nada.
- Modelo. El mismo DeepLabV3-ResNet50, la misma configuración y el mismo número de pasos de entrenamiento en todos los brazos. Cada brazo se ejecutó con 3 semillas.
| Brazo | Entrenado con |
|---|---|
| A | solo instrumentos sintéticos |
| B | solo anotaciones reales |
| C10 / C25 / C50 / C100 | el modelo del brazo A y luego el 10 / 25 / 50 / 100 % de los fotogramas reales |
- Selección del modelo. El brazo A eligió su punto de control solo con datos de validación sintéticos, de modo que ninguna anotación real llegó al brazo sintético.
- Ejecuciones de prueba. Cada punto de control elegido se ejecutó exactamente una vez sobre los vídeos de prueba, y cada ejecución quedó registrada.
Resultados
La métrica es el solapamiento (IoU) de la máscara de instrumentos sobre todos los píxeles de prueba. 1 es perfecto. El rango es un intervalo del 95 % sobre vídeos de prueba y semillas.
| Brazo | Anotaciones reales | IoU | Intervalo del 95 % |
|---|---|---|---|
| A, solo sintético | 0 % | 0,116 | 0,04 – 0,19 |
| C10 | 10 % | 0,775 | 0,66 – 0,83 |
| C25 | 25 % | 0,767 | 0,63 – 0,83 |
| C50 | 50 % | 0,778 | 0,65 – 0,84 |
| C100 | 100 % | 0,764 | 0,62 – 0,84 |
| B, solo real | 100 % | 0,772 | 0,65 – 0,84 |
H1 queda rechazada. El brazo A está 65,5 puntos por detrás del brazo B, con un intervalo del 95 % de −75,9 a −53,5. El diseño admitía una diferencia de 2 puntos como máximo.
El modelo solo sintético aprendió la tarea sintética: llegó a 0,96 en los datos de validación sintéticos. En los fotogramas reales de validación obtuvo alrededor de 0,45, y en los vídeos de prueba 0,12. Comprobamos una explicación: que hubiera memorizado el tejido de las operaciones de validación a través de los fondos. Solo 29 de los 717 fondos proceden de esas operaciones, así que eso no explica la diferencia. Todavía no se sabe por qué el modelo falla con instrumentos reales.
Datos en tabla
| Época | Validación sintética, media | Validación real, media |
|---|---|---|
| 1 | 0,912 | 0,431 |
| 2 | 0,925 | 0,399 |
| 3 | 0,938 | 0,386 |
| 4 | 0,941 | 0,399 |
| 5 | 0,944 | 0,363 |
| 6 | 0,949 | 0,467 |
| 7 | 0,949 | 0,412 |
| 8 | 0,953 | 0,442 |
| 9 | 0,953 | 0,346 |
| 10 | 0,956 | 0,383 |
| 11 | 0,957 | 0,334 |
| 12 | 0,958 | 0,409 |
| 13 | 0,959 | 0,383 |
| 14 | 0,960 | 0,403 |
| 15 | 0,961 | 0,394 |
| 16 | 0,962 | 0,364 |
| 17 | 0,963 | 0,398 |
| 18 | 0,963 | 0,438 |
| 19 | 0,963 | 0,429 |
| 20 | 0,963 | 0,442 |
Seis fotogramas de validación
La figura muestra lo que predicen los modelos de los brazos A, B y C10 (semilla 1) en seis fotogramas reales de validación. Los fotogramas están espaciados por igual y se fijaron antes de ver ninguna predicción. No se muestran fotogramas de prueba: volver a ejecutar los modelos sobre ellos sería usar la prueba otra vez.
- Donde una pinza destaca sobre el tejido, el brazo A encuentra parte de ella (IoU de 0,39 a 0,76).
- Donde el instrumento está en el borde de la imagen o tiene un vástago oscuro (filas 2 y 6), el brazo A casi no encuentra nada (0,00 y 0,02). Los brazos B y C10 sí encuentran esos instrumentos (de 0,73 a 0,90).
- En el último fotograma, el brazo B marca el gancho en L como pinza, y C10 lo etiqueta bien. El IoU de la máscara de instrumentos no tiene en cuenta la clase.
Seis fotogramas ilustran las cifras anteriores. Por sí solos no son una prueba.
Lo que estas cifras no son
- No son prueba de que el preentrenamiento sintético ahorre anotaciones. Los brazos C alcanzan al brazo B con el 10 % de los fotogramas reales, unos 400, y no ganan nada más allá. Pero el diseño no tenía un brazo entrenado con ese mismo 10 % sin el paso sintético. Sin él no podemos saber si el paso sintético ayudó o si 400 fotogramas reales bastan por sí solos.
- No son un veredicto sobre los datos sintéticos en general. Valen para este renderizador, estos instrumentos y 717 fondos, menos que los aproximadamente 1000 previstos.
- No son un resultado clínico. La velocidad, los reflejos y la sangre no se midieron por separado, y no se ha publicado ningún modelo.
RESEARCH USE ONLY – NOT FOR CLINICAL USE (solo para investigación, no para uso clínico).
Lo que salió mal por el camino
- Los primeros renders fueron tres veces más lentos de lo necesario. El eliminador de ruido funcionaba en la CPU mientras la GPU esperaba. Tras la corrección, 20 000 renders tardaron unas 3 horas.
- El brazo sintético se detuvo tras unas pocas épocas. Algunas imágenes de humo se dañaron al copiarlas al servidor con GPU. Las ejecuciones se reanudaron desde su último punto de control, y ahora cada imagen se comprueba antes de empezar el entrenamiento.
- Seis ajustes finos partieron de modelos sin terminar a causa de ese fallo. Se marcaron como no válidos, nunca se ejecutaron sobre la prueba, y el código de entrenamiento ahora se niega a lanzarlos.
Posibles próximos pasos
- Un brazo de control entrenado con el 10 % y el 25 % de los fotogramas reales sin el paso sintético. Es la forma más barata de saber qué aporta el paso sintético.
- Aleatorización de dominio: texturas y colores deliberadamente poco realistas, para comprobar si la diferencia es de apariencia.
La ficha completa del modelo, con los identificadores de ejecución, está en el repositorio del proyecto. Véanse también el registro de experimentos y por qué importan los resultados negativos.