Construyendo una plataforma quirúrgica inteligente basada en IA para el quirófano
Tabla de contenidos:
- Introducción
- La plataforma de inteligencia quirúrgica de Theatre
- Procesamiento de datos visuales
- 3.1 Anonimización de identificación
- 3.2 Reconocimiento de pasos
- El desafío del escalamiento del sistema
- Arquitectura de aprendizaje multitarea
- Video Transformer Network
- Resultados y referencias
- Biblioteca PyTorch Video
- Conclusión
- Recursos recomendados
📚 Introducción
¡Hola! Soy Omri Bal y lidero el grupo de recursos de inteligencia artificial en Theatre. Estoy emocionado de formar parte del Developer Day de Torch este año y en esta charla, me gustaría mostrar parte del trabajo que estamos haciendo en Theatre y cómo utilizamos Python para desarrollar modelos de aprendizaje automático para el ámbito quirúrgico.
La plataforma de inteligencia quirúrgica de Theatre
Millones de procedimientos mínimamente invasivos se realizan cada año, todos ellos guiados mediante una cámara que produce una transmisión de video. Sin embargo, la mayoría de las veces, estos videos no se analizan ni se almacenan. Afortunadamente, dentro de estos videos hay una gran cantidad de información importante que podemos utilizar para mejorar el desempeño y la calidad de los cirujanos, y en última instancia, mejorar la atención al paciente.
En nuestra plataforma de inteligencia quirúrgica, combinamos datos de los registros médicos electrónicos, así como datos visuales obtenidos de los videos de las intervenciones quirúrgicas. En esta charla, nos centraremos específicamente en la parte de aprendizaje automático relacionada con el motor de datos visuales.
Procesamiento de datos visuales
3.1 Anonimización de identificación
Uno de los objetivos es realizar una anonimización de la identificación, es decir, tomar el video sin procesar y, utilizando aprendizaje automático, detectar cuándo se retira la cámara del cuerpo del paciente y difuminar los cuadros correspondientes. El modelo que hemos desarrollado divide el video completo en pequeños segmentos representados por clips. Estos se procesan utilizando un conveniente tridimensional que nos proporciona un mapa de características. Luego, utilizamos una pequeña red neuronal MLP para obtener la decisión binaria de si el cuadro pertenece al cuerpo del paciente o está fuera de él.
3.2 Reconocimiento de pasos
Otro aspecto fundamental es el reconocimiento de pasos. Aquí queremos detectar de qué parte del flujo de trabajo del cirujano proviene cada segundo del video. Un ejemplo específico es el de una apendicectomía. El video se reproduce en rápido avance y, a medida que el instrumento entra desde la derecha, tanto el modelo como la anotación humana reemplazan el paso correspondiente. Este proceso se realiza dividiendo el video completo en clips, procesándolos con un conveniente tridimensional y utilizando un modelo de red neuronal recurrente (como LSTM) para predecir el paso Correcto en cada segundo.
El desafío del escalamiento del sistema
Con la gran cantidad de tareas que debemos realizar, escalar y mantener este sistema se vuelve muy difícil si nos enfocamos únicamente en ejemplos específicos para cada una de ellas. Debemos construir un modelo por cada procedimiento en particular, lo que representa una tarea complicada a medida que aumentamos la cantidad de procedimientos. Para abordar este desafío, hemos desarrollado una arquitectura basada en aprendizaje multitarea.
Arquitectura de aprendizaje multitarea
En esta arquitectura, tomamos videos de diferentes procedimientos al azar y los procesamos utilizando una columna vertebral compartida, que es compartida por todos los procedimientos y tareas. Esto nos proporciona la misma representación de características mencionada anteriormente, pero ahora es aprendida a través de múltiples procedimientos. Luego, a través de un enfoque de round-Robin, podemos entrenar cada tarea en cada lote de manera separada y propagar el error y la pérdida hacia atrás, hasta llegar a la columna vertebral compartida original.
Además de la compartición de la columna vertebral, también podemos personalizar las diferentes cabezas para adaptarse a cada tarea específica. Algunos modelos serán más clásicos, como modelos binarios, mientras que otros pueden ser de detección de objetos o utilizan redes neuronales recurrentes. Todo esto puede ser diseñado y construido utilizando las capacidades de PyTorch.
Video Transformer Network
Recientemente, hemos lanzado una red llamada Video Transformer Network (VTN), la cual resuelve los problemas que teníamos con la conveniencia tridimensional. VTN nos permite procesar videos muy largos, produce resultados más precisos y reduce drásticamente los tiempos de entrenamiento e inferencia, al mismo tiempo que requiere menos flops. Lo más interesante de VTN es que es modular y genérico, lo que significa que podemos utilizarlo como parte de la columna vertebral compartida y reemplazar el modelo que deseemos para adaptarlo a la arquitectura de aprendizaje multitarea.
Resultados y referencias
Hemos realizado pruebas con VTN en un conjunto de datos de benchmark (Kinetics 400) y obtuvimos mejores resultados que otros modelos de vanguardia. También hemos mostrado ejemplos de la atención que nuestro modelo aprende, lo cual es de gran importancia en el ámbito quirúrgico. Se muestra cómo el modelo puede aprender a atender segmentos o áreas específicas del video que contribuyen a una mejor predicción.
Si estás interesado en obtener más información sobre VTN, puede consultar las referencias y el código en nuestro repositorio SlowFest. También estamos presentando más detalles sobre esta red en la sesión de póster, así que te invitamos a visitarnos para hablar más sobre nuestro trabajo.
Biblioteca PyTorch Video
Recientemente, PyTorch ha lanzado una biblioteca llamada PyTorch Video, que no estaba disponible cuando comenzamos nuestro trabajo. Si te estás adentrando en el dominio de los videos, te recomendamos utilizar esta biblioteca, ya que facilita la intuición y la integración de diferentes componentes.
Conclusión
En resumen, Theatre está construyendo una plataforma de inteligencia quirúrgica que combina videos, información del paciente y el cirujano en un procedimiento indexado del cual el cirujano puede aprender. Todo este trabajo es posible gracias a PyTorch, desde la investigación y la exploración hasta el sistema de entrenamiento continuo y nuestros paquetes de producción. Nuestro increíble grupo de investigación en inteligencia artificial está detrás de todo este trabajo.
¡Muchas gracias y espero verte en la sesión de póster!
Recursos recomendados:
Highlights:
- Platforma de inteligencia quirúrgica de Theatre
- Procesamiento de datos visuales: Anonimización de identificación y reconocimiento de pasos
- Desafío del escalamiento del sistema
- Arquitectura de aprendizaje multitarea
- Video Transformer Network (VTN)
- Resultados y referencias
- Biblioteca PyTorch Video
- Conclusión: PyTorch impulsa el trabajo de investigación y producción de Theatre
FAQ:
Q: ¿Qué es la plataforma de inteligencia quirúrgica de Theatre?
A: La plataforma de inteligencia quirúrgica de Theatre combina datos visuales de videos de intervenciones quirúrgicas, información del paciente y datos del cirujano para crear un procedimiento indexado en el que los cirujanos pueden aprender.
Q: ¿Qué es Video Transformer Network?
A: Video Transformer Network (VTN) es una red desarrollada por Theatre que aborda los desafíos del procesamiento de datos visuales en el ámbito quirúrgico. VTN permite procesar videos largos de manera eficiente y produce resultados más precisos en comparación con otros modelos existentes. Además, VTN es modular y genérico, lo que permite su integración en una arquitectura de aprendizaje multitarea.
Q: ¿Qué es PyTorch Video?
A: PyTorch Video es una biblioteca lanzada por PyTorch que facilita la manipulación y el procesamiento de datos de video en el ámbito del aprendizaje automático. La biblioteca proporciona herramientas intuitivas y permite una fácil integración con otros componentes del flujo de trabajo de PyTorch.