U-Net : l’IA incontournable du monde de la médecine

Valentin Abadie
Digicare
Published in
5 min readMay 11, 2020

La technologie dont je vais vous parler ne date pas d’hier : publié en 2015, le papier présentant le U-Net a été cité près de 10 000 fois, et il est devenu une référence absolument incontournable pour tout Data Scientist voulant se lancer dans le monde de la santé.

Voilà ce que fait U-Net : il transforme une image de quelque chose, par exemple une voiture, en une image en 2 couleurs : une pour les pixels qui sont sur la voiture, et noir pour le reste, comme illustré sur cette image :

En imagerie médicale c’est très important : pour repérer des tumeurs sur des scanners ou des IRM notamment, ou détecter tout types d’objets sur des images du corps humain. Jusqu’à maintenant, ce travail était effectué par des médecins, mais cela prend du temps et des outils qui permettent d’automatiser la tâche sont plus que bienvenus. Voici un exemple de résultats recherchés sur des lésions au foie :

De nombreux “réseaux de neurones” ont relevé le défi, et en 2015, lors d’un concours d’imagerie médicale, le U-Net est arrivé et a largement battu la concurrence en réalisant un score de 92% de réussite, alors que le 2ème meilleur score n’était que de 77%.

Depuis, de nombreux réseaux de neurones sont présentés pour essayer de battre ce score. Certains y arrivent, mais c’est au prix d’efforts de recherche conséquents et uniquement sur certaines applications très précises.

Mais je voudrais aller plus loin et essayer de vous donner l’intuition qui se cache derrière cet algorithme ultra-performant. Pour cela, un peu de contexte : imaginez que vous êtes un fervent défenseur de la cause animale, et qu’aujourd’hui vous avez recueilli 3 chats blancs abandonnés. Vous voulez consigner dans votre journal de bord la race de chacun de ces chats, mais vous n’avez pas batterie sur votre portable et donc vous ne pouvez pas faire de recherches sur Internet. Le seul moyen pour les identifier est votre calepin sur les félins, où vous avez renseigné différentes informations écrites (pas de photo malheureusement) sur chaque race de chat.

Comment différencier ces chats ? Vous trouvez une solution : la taille des oreilles et de la queue des chats varie selon la race, et ces informations sont écrites sous vos yeux ! Vous dégainez alors une règle de votre poche et vous mesurez minutieusement leurs dimensions. Voici à quoi ressemblent vos résultats :

Ensuite, vous regardez dans votre livre et essayez de trouver les races de chats dont les mensurations sont les plus proches de celles que vous avez noté, et vous déduisez la réponse à votre problème !

Plus sérieusement, qu’est-ce que tout ça nous apprend ? Cela nous a montré la démarche de résolution :

  1. Tout d’abord vous avez affecté à chaque chat 2 nombres : la longueur des oreilles et de la queue en centimètres. On dit que vous avez donné unereprésentation mathématique” à vos chats. Je dis bien une parce qu’il y en a d’autres : vous auriez pu mesurer la taille des poils, de la tête,… mais pour résoudre votre problème vous aviez besoin uniquement de ces mesures là.
  2. Vous avez utilisé votre “représentation mathématique” pour classifier vos chats : les données qu’il y a dans vos livres ne sont pas exactement les mêmes que vos mesures, mais elles sont suffisamment proches pour que vous puissiez déterminer la solution. Vous avez donc jugé par vous même, de manière arbitraire, d’affecter vos chats à chaque race. On pourra souligner que vous avez bien fait de mesurer uniquement la queue et les oreilles, car si vous vous étiez amusés à mesure des dizaines de choses, vous auriez été perdu par tous ces nombres.

Si avez compris cela, vous avez compris quelle est l’intuition (de loin) derrière tous les algorithmes d’IA. Reprenons avec le U-Net.

Le but du U-Net est de donner le contour d’un objet présent sur une image (cf. début de l’article). Pour cela, il donne d’abord une représentation mathématique de l’image puis utilise cette représentation pour donner une image où il ne reste que les contours. Pour cela, la représentation mathématique utilisée n’a pas besoin d’être très grande : cela ne sert à rien d’utiliser toutes les informations contenues dans l’image pour simplement en déduire ses contours. Et si vous utilisez trop d’informations, l’IA risque de se perdre avec tous ces nombres à gérer !

Concrètement, le U-Net, dans sa version d’origine, part d’une image de taille 572x572 pixels et en donne une représentation mathématique composée de 1024 petites images de taille 32x32. Cela paraît beaucoup, mais ce n’est pas grand chose dans le monde de la Data Science. Ensuite, il utilise ces informations pour reconstruire une image 572x572, et voilà le résultat.

L’appellation U-Net vient d’ailleurs de cette particularité de partir d’une grosse image, la rendre petite puis la réagrandir, ce qui donne une forme de “U”. Et la partie “Net” vient toiut simplement du fait que le U-Net est un “réseau de neurones” (“Neural Network” en anglais).

Si vous voulez en savoir plus sur le UNet, je vous invite à aller lire l’article original, mais je vous préviens, il faut avoir des bases mathématiques solides : https://arxiv.org/abs/1505.04597.

Bonne lecture et à la prochaine !

--

--

Valentin Abadie
Digicare
Editor for

Student in Data Science at ENS Paris-Saclay, passionated with mathematics and their applications, especially in health science.