MedSearch: recherche de similitude d'image à rayons X propulsée par vecteur
Aperçu
MedSearch explore l'application des techniques de recherche de similitude vectorielle à la récupération d'images médicales. L'accent est mis sur le développement d'un système de preuve de concept qui permet aux utilisateurs de trouver des images à rayons X visuellement similaires dans un ensemble de données à l'aide d'une image de requête téléchargée.
Cas d'utilisation
- Radiologie (preuve de concept): fournit un outil pour que les radiologues référennent rapidement des images de rayons X visuellement similaires, aidant potentiellement dans le diagnostic ou l'identification de modèles subtils.
- Recherche (exploration): permet aux chercheurs d'étudier les relations potentielles entre les images aux rayons X basées sur la similitude visuelle.
- Éducation (démonstration): sert d'aide à l'apprentissage pour comprendre les représentations d'images et la recherche de similitude dans un contexte médical.
Pile technologique
Backend:
- Python
- FLASK (Web Framework)
- Milvus (base de données de recherche de similitude vectorielle)
- TensorFlow (modèle RESNET-50)
L'extrémité avant:
- HTML, CSS
- JavaScript (API Fetch ou Ajax pour les interactions API)
Bases de données:
- Postgressql (stockage d'images et métadonnées)
Ensemble de données
- Chestx-Ray14: un ensemble de données à rayons X accessible au public adapté au prototypage initial.
Architecture du système
Modèle d'apprentissage en profondeur:
- RESNET-50 (pré-formé sur ImageNet): Ce modèle extrait des vecteurs de caractéristiques significatifs représentant le contenu visuel des images aux rayons X. Nous tirons parti d'un modèle d'efficacité pré-formé et pour éviter une formation approfondie pour ce prototype.
Base de données de recherche de similitude vectorielle:
- Milvus: optimisé pour les recherches de similitudes rapides et efficaces sur des données vectorielles à haute dimension.
Flux de travail
Prétraitement d'image: les rayons X entrants sont redimensionnés et normalisés pour la cohérence.
Extraction des fonctionnalités: le modèle RESNET-50 pré-formé (sans la couche de classification finale) transforme chaque image à rayons X en un vecteur de fonctionnalité de haute dimension.
Stockage vectoriel: Milvus stocke les vecteurs de fonctionnalité extraits, permettant des comparaisons de similitude rapides.
Image de requête: l'utilisateur télécharge une image de rayons X de requête.
Recherche:
- Le vecteur de fonctionnalité de l'image de requête est généré.
- Milvus effectue une recherche de similitude vectorielle, trouvant les images les plus visuellement similaires dans l'ensemble de données.
Résultats: Le backend renvoie les images et les ID des images des rayons X les plus similaires trouvés.
Frontend (minimal pour le prototype)
Une interface Web de base permet aux utilisateurs de télécharger une image et d'afficher les images aux rayons X récupérés avec leurs ID.
Résultats
MedSearch démontre avec succès les principes fondamentaux de la recherche de similitude vectorielle pour la récupération d'images médicales. Les utilisateurs peuvent télécharger une image de requête et voir des images à rayons X similaires visuellement extraites de l'ensemble de données.
Améliorations futures
- Modélisation du réglage fin: Améliorez les résultats de similitude pour le domaine des rayons X en affinant le modèle RESNET-50 sur l'ensemble de données aux rayons X.
- Recherche de métadonnées: intégrer les métadonnées (par exemple, diagnostic) à la recherche de vecteur pour une récupération plus ciblée.
- Évolutivité: étudiez les optimisations de la base de données et les architectures distribuées pour accueillir des ensembles de données plus importants.