MedSearch: búsqueda de similitud de imagen de rayos X de vector
Descripción general
MedSearch explora la aplicación de técnicas de búsqueda de similitud vectorial para la recuperación de imágenes médicas. El enfoque central está en desarrollar un sistema de prueba de concepto que permita a los usuarios encontrar imágenes de rayos X visualmente similares dentro de un conjunto de datos utilizando una imagen de consulta cargada.
Casos de uso
- Radiología (prueba de concepto): proporciona una herramienta para que los radiólogos hagan referencia rápidamente a imágenes de rayos X visualmente similares, potencialmente ayudando en el diagnóstico o identificando patrones sutiles.
- Investigación (Exploración): permite a los investigadores investigar posibles relaciones entre las imágenes de rayos X en función de la similitud visual.
- Educación (demostración): sirve como ayuda de aprendizaje para comprender las representaciones de imágenes y la búsqueda de similitud en un contexto médico.
Pila de tecnología
Backend:
- Pitón
- Flask (marco web)
- Milvus (base de datos de búsqueda de similitud vectorial)
- TensorFlow (modelo Resnet-50)
Interfaz:
- HTML, CSS
- JavaScript (Fetch API o AJAX para interacciones API)
Bases de datos:
- PostgressQL (almacenamiento de imágenes y metadatos)
Conjunto de datos
- ChestX-Ray14: un conjunto de datos de rayos X disponibles públicamente adecuado para la creación de prototipos iniciales.
Arquitectura del sistema
Modelo de aprendizaje profundo:
- Resnet-50 (pretratado en ImageNet): este modelo extrae vectores de características significativas que representan el contenido visual de las imágenes de rayos X. Aprovechamos un modelo previamente capacitado para la eficiencia y para evitar un entrenamiento extenso para este prototipo.
Base de datos de búsqueda de similitud vectorial:
- Milvus: optimizado para búsquedas de similitud rápida y eficiente en datos vectoriales de alta dimensión.
Flujo de trabajo
Preprocesamiento de imágenes: las radiografías entrantes se redimensionan y se normalizan para consistencia.
Extracción de características: el modelo RESNET-50 previamente entrenado (sin la capa de clasificación final) transforma cada imagen de rayos X en un vector de características de alta dimensión.
Almacenamiento vectorial: Milvus almacena los vectores de características extraídas, lo que permite comparaciones de similitud rápida.
Imagen de consulta: el usuario carga una imagen de rayos X de consulta.
Buscar:
- Se genera el vector de características de la imagen de la consulta.
- Milvus realiza una búsqueda de similitud vectorial, encontrando las imágenes más visualmente similares dentro del conjunto de datos.
Resultados: El backend devuelve las imágenes e ID de las imágenes de rayos X más similares encontradas.
Frontend (mínimo para prototipo)
Una interfaz web básica permite a los usuarios cargar una imagen y mostrar las imágenes de rayos X recuperadas junto con sus ID.
Resultados
MedSearch demuestra con éxito los principios básicos de la búsqueda de similitud vectorial para la recuperación de imágenes médicas. Los usuarios pueden cargar una imagen de consulta y ver imágenes de rayos X visualmente similares recuperadas del conjunto de datos.
Mejoras futuras
- Modelo de ajuste fino: mejorar los resultados de similitud para el dominio de rayos X al ajustar el modelo ResNet-50 en el conjunto de datos de rayos X.
- Búsqueda de metadatos: integrar metadatos (p. Ej., Diagnóstico) con la búsqueda de vectores de una recuperación más enfocada.
- Escalabilidad: investigue las optimizaciones de la base de datos y las arquitecturas distribuidas para acomodar conjuntos de datos más grandes.