La pneumonie est une infection touchant une partie des poumons. Cette maladie est la principale cause de mortalité chez les enfants de moins de 5 ans d'après l'Organisation Mondiale de la Santé (OMS). En effet, environ 1,4 million d'enfants meurent d’une pneumonie chaque année.
Pour détecter cette maladie, les médecins effectuent un examen physique sur des patients présentant des symptômes. Ils pratiquent ensuite une radiographie thoracique et effectuent ainsi un diagnostic. Or, dans les pays du tiers monde, les outils nécessaires pour diagnostiquer cette maladie sont rares et les diagnostics sont donc souvent imprécis.
L'objectif de ce cas d'étude est donc d'aider les médecins à avoir un diagnostic plus rapidement et de façon plus précise. Aujourd'hui la collecte des données est standardisée mais les applications d'aide au diagnostic se font rares dans le domaine médical. L'intérêt est de développer un système automatisé à l'aide de l'intelligence artificielle, où Saimple, un outil développé par Numalis, permettrait aux professionnels de la santé de comprendre l'origine de la décision clinique du modèle.
Ce cas d'étude utilise un jeu de données provenant d'une compétition Kaggle : https://www.kaggle.com/datasets/paultimothymooney/chest-xray-pneumonia
Ce jeu de données contient environ 6000 images de radiographies thoraciques d'enfants de moins de 5 ans. Les images sont étiquetées selon deux classes "NORMAL" et "PNEUMONIA".
Il est à noter que dans une radiographie, la clarté correspond à la couleur noire et l'opacité, à la couleur blanche.
Il est important de rappeler qu'une pneumonie est détectée sur une radiographie thoracique lorsqu'une accumulation anormale de liquide dans les poumons est visible. Pour l'identifier, il faut chercher des zones d'opacité, plus précisément au niveau du parenchyme pulmonaire (tissu fonctionnel du poumon). Par exemple, sur les radiographies ci-dessous, celle de droite montre que de l'eau s'est accumulée dans l'un des poumons à l’inverse de celle de gauche.
Avant de commencer l'analyse, il est important de visualiser la proportion d'images de chaque classe et dans chaque jeu de données.
Les graphiques ci-dessus montrent que la classe "PNEUMONIA" est sur-représentée dans les jeux d'entrainement et de test. Cela semble cohérent puisque, en réalité, avant de réaliser une radiographie thoracique, le patient présente, la plupart du temps, des symptômes ce qui augmente la probabilité que le patient soit malade. Or, pour améliorer l'entrainement du modèle, il faut avoir un jeu d'entrainement équilibré, c'est-à-dire avoir le même nombre d'images pour chaque classe.
Afin d’équilibrer le jeu de données, nous allons utiliser la data augmentation, qui est une technique efficace pour augmenter le nombre d'images dans la classe sous-représentée. Pour ce faire, plusieurs images de la classe sous-représentée sont sélectionnées et seront transformées pour créer de nouvelles images.
La transformation peut correspondre à :
· Faire pivoter l'image de manière aléatoire,
· Redimensionner à la verticale ou à l'horizontale,
· Rogner l’image,
· Zoomer,
· Remplir des pixels (c’est-à-dire compléter les espaces manquants dans l’image redimensionnée).
Cependant, en réalité, les clichés doivent respecter des critères de qualité médicale :
· Symétrie,
· Pénétrance,
· Centrage,
· Inspiration profonde et dégagement des omoplates.
Ainsi, il est possible de déterminer que le pivotement de l'image n'est pas inclus dans la data augmentation.
Les quatres radiographies ci-dessous sont un exemple de data-augmentation. En effet, à partir d’une seule image, quatre nouvelles ont été générées en rognant et en remplissant les pixels des zones manquantes.
Pour ce cas d'étude, le modèle de prédiction est un réseau de neurones convolutif. Il s'agit d'un type particulier de réseau de neurones permettant de traiter les données d'images. La valeur de sortie de ce modèle est une probabilité d'appartenance à une classe ("NORMAL" ou "PNEUMONIA").
Les deux radiographies ont été bien prédites : la radiographie du patient sain a été prédite comme « normal » et la radiographie du patient atteint de pneumonie a été prédite comme « pneumonia ». Une question se pose alors : quels éléments de l'image ont permis au modèle de prédire correctement ?
Saimple est un outil d’analyse de réseaux de neurones offrant la possibilité de mesurer et d’extraire automatiquement des éléments de robustesse et d’explicabilité des modèles. Dans ce cas d’utilisation, Saimple permet d’identifier les zones de l’image ayant eu une importance dans la prédiction du modèle et donc de le rendre plus compréhensible pour les professionnels de santé.
Avant de pouvoir utiliser l'outil Saimple, il est nécessaire de redimensionner les images d'entrée du modèle. Comme on peut le voir ci-dessous, afin de standardiser la taille des radiographies, la radiographie a été redimensionnée et cette transformation peut-être facilement visualisée.
Saimple identifie les pixels importants qui ont permis au modèle de classifier l'image. Un pixel est dit important lorsqu'une valeur appelée « relevance » est plus élevée que la moyenne. Plus cette valeur tend vers le rouge ou le bleu, plus le pixel est considéré comme important.
Pour rappel, la relevance pour un classifieur d'images, représente l’influence de chaque pixel sur le calcul du modèle de la classe "NORMAL".
Sur l'exemple ci-dessous, les pixels rouges de la relevance correspondent aux pixels de l'image d'entrée qui ont des effets positifs sur l'appartenance à la classe de sortie.
Et à l’inverse, les pixels bleus se rapportent aux pixels de l'image d'entrée ayant eu des effets négatifs dans la classification de l'entrée comme appartenant à la classe "NORMAL" (c’est-à-dire qui diminue le score de classification de cette classe).
L'image, ci-dessus, représente l'image d'entrée du modèle et la relevance associée. D'après le résultat, la relevance est très significative sur le contour des poumons représentés par les zones noires, ce qui laisse penser que le modèle a utilisé le contour pour calculer sa prédiction. Donc le modèle prédit que la radiographie de ce patient est "normal" pour ce qui peut être les bonnes raisons.
Sur l’image représentant une radiographie d’un patient atteint de pneumonie, la relevance est également pertinente sur le contour du poumon. Il est possible de voir, sur la droite de l’image, que la relevance n’est pas nette. En fait, le modèle pourrait vouloir détecter les parties noires (représentant les poumons), mais la présence de liquide (et donc d’une pneumonie) vient blanchir les zones noires et fait donc disparaître le poumon de la radiographie. Ainsi l’algorithme ne détecterait plus le poumon et déterminerait alors que le patient est atteint de pneumonie.
La relevance produite par Saimple permet d’avoir des éléments de compréhension concernant le fonctionnement du réseau. Après avoir pu reconnaître les éléments de l'image qui ont permis la prédiction du modèle, il faut désormais se poser d’autres questions concernant le fonctionnement du modèle.
Est-ce que ce dernier est correct ?
On peut supposer qu’il est possible de comprendre que le modèle détecte s’il y a un problème sur les poumons mais pas forcément s’il s’agit d’une pneumonie ou d’une autre pathologie. En effet, les marques obstruant le poumon pourraient venir d’un cancer par exemple. Une solution pourrait être alors d’améliorer le jeu de données en le diversifiant. C’est-à-dire en y incluant des radiographies thoraciques de patients atteints de diverses maladies pulmonaires. Alors l’algorithme sera peut-être capable de les détecter et de les différencier. Saimple pourrait permettre de suivre cette expérimentation et d’aider les médecins à vérifier que les détections soient correctes.
Pour conclure, ce cas d’utilisation de Saimple permet de visualiser comment l’intelligence artificielle peut assister les médecins dans la réalisation des diagnostics médicaux. Il a permis de mettre en avant la capacité de Saimple à visualiser les éléments ayant étés jugés pertinents par le réseau lors de son analyse. La mise en avant de ces éléments permet de focaliser l’attention de l’utilisateur sur une zone particulière de l’image, lui apportant ainsi une assistance complémentaire dans sa propre prise de décision. Cette mise en avant peut également servir lors de la phase de conception du réseau en confrontant les résultats de l'analyse à des experts pour détecter par exemple des biais dans l'apprentissage.
En effet, le deep learning souffre de l’effet « boite noire », qui exclut toute validation d’un modèle entraîné par une analyse directe de son comportement. A ce jour, seules des validations empiriques des modèles, par mesure de ses performances sur un ensemble de validation, sont le plus souvent effectuées. Saimple permet d’apporter des éléments de validation avec des méthodes formelles, en décomposant et en mettant en avant les éléments de l’image d’entrée pris en considération par le réseau, ce qui permet de confronter le résultat obtenu à l'analyse rationnelle que les concepteurs ou les utilisateurs peuvent avoir de la situation.
Ainsi, implémenter l’IA pour assister les médecins dans leurs tâches est important puisque cette technologie permet un gain de temps et certainement d’efficacité pour le personnel médical qui s’illustre ici dans la lutte contre la pneumonie. Grâce à Saimple, il est possible de développer un système robuste et explicable de détection de cette maladie.
Nous souhaitons remercier grandement Mme Marielle NGalo, chef de service de radiologie à l'hôpital Avicenne à Bobigny, pour sa contribution dans l’élaboration ce cas d’usage.
Si vous voulez en savoir plus sur ce use-case ou si vous souhaitez une démo de Saimple,
contactez-nous : support@numalis.com
Écrit par Noëmie RODRIGUEZ & Baptiste AELBRECHT