CheXplain: un prototipo mínimo viable de producto sanitario que explica cómo un algoritmo de aprendizaje profundo multiclase toma decisiones de clasificación de radiografías de tórax

May 10 2022
por Sparkle Russell-Puleri y Ravi S. Rāmphal ⚠️ NOTA: Esta es una versión abreviada del artículo completo, que incluye antecedentes científicos, procesos clínicos, conjuntos de datos, preprocesamiento y enfoques de modelado.

por Sparkle Russell-Puleri y Ravi S. Rāmphal

⚠️ NOTA: Esta es una versión abreviada del artículo completo, que incluye antecedentes científicos, procesos clínicos, conjuntos de datos, preprocesamiento y enfoques de modelado. Puedes encontrar el artículo completo en:https://trinlytics.com/articles/chexplain-healthcare-mvp-deep-learning-algorithm-chest-x-ray-classification.

✅ Para probar el MVP visita:https://chexplain.trinlytics.com.

Fondo

Los médicos están inundados con numerosas cantidades de información de atención médica sobre la salud de un paciente. Todos estos conjuntos de datos multimodales proporcionan información valiosa; sin embargo, a menudo son dispares, por lo que combinarlos para hacer un diagnóstico significativo lleva mucho tiempo. Esto nos brinda la oportunidad de crear herramientas que se adaptan perfectamente a los flujos de trabajo clínicos actuales.

Si bien los rayos X son la técnica de imagen diagnóstica más común y más extendida en el espacio de la atención médica, la adquisición y la calidad de la imagen varían según el dispositivo y el operador. A pesar de tener una gran cantidad de datos, es muy difícil desarrollar un algoritmo general que pueda cubrir todas las patologías que las radiografías pueden identificar en un entorno clínico. Por lo tanto, la mayoría de los artículos recientes en este espacio se han limitado a desarrollar algoritmos específicos de enfermedades o algoritmos con un puñado de etiquetas. Como resultado, estos enfoques estaban limitados en la capacidad de generalización de los algoritmos en todas las patologías que podían identificarse a partir de una imagen de rayos X.

Por lo tanto, el objetivo principal de este proyecto es doble:

  1. Para ampliar los límites del modelado de una mayor cantidad de patologías (más de 14) sin sobreajustar los datos mediante la combinación de múltiples conjuntos de datos.
  2. Independientemente de la precisión de cualquier modelo desarrollado, prototipar, desarrollar e implementar rápidamente una interfaz en torno a un modelo dado que definiría un flujo de trabajo clínico típico. De esta manera, cada vez que se mejoraba el modelo y se aumentaba la precisión, el modelo más nuevo se podía colocar y reemplazar el modelo anterior sin ningún cambio en la interfaz adjunta.

Creación de prototipos / cableado de la interfaz de front-end

Una vez que nos alineamos con el enfoque de modelado (que no es perfecto), tuvimos en cuenta que necesitaríamos más datos para que los modelos funcionaran a plena capacidad. Decidimos redactar wireframes front-end para garantizar que los resultados de nuestro modelo se alinearan con la interfaz de usuario front-end. Esto se hizo usando una herramienta Balsamiq. En cierto modo, esto se puede describir como "Desarrollo API-First", ya que queríamos asegurarnos de formatear nuestros datos de salida de una manera que nos permitiera presentar nuestros hallazgos de manera clara e interactiva.

Fig. 4: Wireframe inicial para el descargo de responsabilidad.
Fig. 5: Estructura alámbrica inicial para el paso de carga.
Fig. 6: Estructura alámbrica inicial para el paso de predicción de enfermedades.

Detalles finales de la plataforma

La plataforma final funciona con tres modelos:

Paso de carga de imagen

En el paso de carga de la imagen (Fig. 7), construimos un clasificador binario simple que inicialmente se usó para filtrar las imágenes de la vista lateral de las vistas de la imagen frontal. Esto se hizo usando un modelo ResNet-18 preentrenado en 400 (200 trenes, 200 validación) imágenes seleccionadas aleatoriamente del conjunto de datos Open-i y logró una precisión de ~99 %. El algoritmo se utilizó para ayudarnos a aislar rápidamente las 7470 imágenes para obtener más objetivos de modelado. Entonces decidimos usar este modelo para hacer cumplir los requisitos de visualización de imágenes en todas las imágenes cargadas en la plataforma.

Fig. 7: Una captura de pantalla de la plataforma con la carga inicial.

Cómo usar la interfaz

  1. Cargue una imagen de radiografía de tórax frontal. Esto se puede hacer arrastrando o haciendo clic en la sección de carga que se muestra a continuación. Si la imagen cumple con los criterios de vista y dimensiones, se mostrará el botón "Continuar" y el usuario podrá continuar con el segundo paso.
  2. Fig. 8: Captura de pantalla de la plataforma después de subir una imagen.
Fig. 9: Una captura de pantalla de la plataforma después de cargar una imagen que no cumple con las dimensiones de la imagen y los requisitos del clasificador de vista de imagen.

Paso de clasificación de anomalías

En este paso, usamos un algoritmo de clasificación binaria simple (modelo ResNet-18) para entrenar en una combinación de conjuntos de datos Open-i y NIH-14 (N = 115,598; después de eliminar imágenes de baja calidad). La precisión general de este modelo fue ~79% (AUC). Las etiquetas se reconciliaron manualmente en ambos conjuntos de datos para garantizar la coherencia con nuestro experto clínico. También es clave tener en cuenta que si una imagen se considera normal (sin patología), el usuario ya no puede continuar con el clasificador de enfermedades, sino que puede regresar o comenzar de nuevo y cargar una nueva imagen para su análisis.

Fig. 10: Una captura de pantalla de la plataforma que muestra el segundo clasificador informando un escaneo normal.
Fig. 11: Una captura de pantalla de la plataforma que muestra el segundo clasificador informando un escaneo anormal.

Paso de clasificación de enfermedades

Finalmente, si una imagen se considera anormal, la imagen se enviará a un clasificador de varias clases. Este modelo multiclase fue una adaptación del modelo CheXnet (DenseNet-121), que clasificó 14 de las condiciones más comunes utilizando el conjunto de datos 14 de rayos X de tórax del NIH. En nuestro modelo, decidimos clasificar 31 clases y proporcionar mapas de activación de clases adjuntos en todas las etiquetas para mostrarle al médico dónde se estaba enfocando el algoritmo cuando tomó la decisión final para cada etiqueta usando una cohorte agregada de Open-i y NIH-14. conjuntos de datos 31 era el número máximo de clases que podíamos usar para entrenar sin tener un desequilibrio de datos severo. Aprovechamos el front-end para reagrupar cada etiqueta en su respectiva categoría de rayos X "ABCDE" para que los médicos más jóvenes también pudieran usar esto como una herramienta de aprendizaje.

Fig. 12: Captura de pantalla de la plataforma que muestra los mapas de activación de clases asociados a cada etiqueta.

Limitaciones / Próximos pasos

Si bien estos resultados pueden parecer prometedores a primera vista, este conjunto de datos está muy desequilibrado. Para ayudar a abordar esto, exploramos el uso de varias herramientas de estratificación para conjuntos de datos con etiquetas múltiples. Sin embargo, no vimos una diferencia en el rendimiento, pero, como primer paso, queríamos demostrar primero cómo crear rápidamente un prototipo de una plataforma como CheXplain mientras continuamos iterando y refinando los modelos para cumplir con los requisitos de rendimiento y del usuario final. A medida que continuamos iterando, planeamos combinar más conjuntos de datos. Este es un gran esfuerzo ya que aún no existe un único estándar de terminología de etiquetado en todos los sistemas en los que se adquirieron estos conjuntos de datos.

Agradecimientos

Nos gustaría agradecer al Dr. JaBaris Swain, MD, MPH por brindarnos información sobre cómo clasificar correctamente las etiquetas de enfermedades y por explicar el flujo de trabajo actual en la lectura de radiografías desde un punto de vista clínico.

Referencias

Referencias

abrir yo

Pranav Rajpurkar, Jeremy Irvin, Kaylie Zhu, Brandon Yang, Hershel Mehta, Tony Duan, Daisy Ding, Aarti Bagul, Curtis Langlotz, Katie Shpanskaya, Matthew P. Lungren y Andrew Y. Ng. CheXNet: detección de neumonía a nivel de radiólogo en radiografías de tórax con aprendizaje profundo . arXiv:1711.05225 [cs, stat], noviembre de 2017. arXiv: 1711.05225 .

Shin, Hoo-Chang, et al. Aprendiendo a leer radiografías de tórax: modelo de cascada neuronal recurrente para la anotación de imágenes automatizada . Actas de la conferencia IEEE sobre visión artificial y reconocimiento de patrones. 2016. arXiv: 1603.08486 .

Wang X, Peng Y, Lu L, Lu Z, Bagheri M, Summers RM. ChestX-ray8: base de datos de rayos X de tórax a escala hospitalaria y puntos de referencia sobre clasificación y localización de enfermedades comunes del tórax con supervisión débil . IEEE CVPR 2017, enlace . Los archivos y documentos fuente originales se pueden encontrar aquí .

⚠️ NOTA: Esta es una versión abreviada del artículo completo, que incluye antecedentes científicos, procesos clínicos, conjuntos de datos, preprocesamiento y enfoques de modelado. Puedes encontrar el artículo completo en:https://trinlytics.com/articles/chexplain-healthcare-mvp-deep-learning-algorithm-chest-x-ray-classification.

✅ Para probar el MVP visita:https://chexplain.trinlytics.com.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved