Kernix est heureux d’avoir remporté le data challenge dédié au cartilage thyroïdien organisé à l’occasion des Journées Francophones de Radiologie 2018 ! Ce challenge d’intelligence artificielle autour de l’imagerie médicale était organisé par la Société Française de Radiologie en partenariat avec le centre Gustave Roussy et Centrale Supélec, et avait pour objectif de mettre en concurrence des équipes pluri-disciplinaires à travers cinq sujets de détection d’anomalie sur des IRM.
Kernix a participé à ce challenge au sein de l’équipe SynovIA dont faisait également partie le professeur Alain Blum, chef du service imagerie Guilloz du CHU de Nancy. La collaboration avec des radiologues tout au long de ce projet nous a permis d’acquérir une compréhension approfondie des problématiques en jeu et de mettre en place la méthodologie la plus appropriée. Notre approche de Deep learning nous a permis de détecter avec succès les anomalies sur des IRMs de cartilage thyroïdien.Cette démarche sera récompensée par une publication en fast track début 2019 dans la revue DIAGNOSTIC AND INTERVENTIONAL IMAGING !
Contexte
Les journées francophones de radiologie se sont déroulées durant le week-end du 12 au 14 octobre 2018. C’est un lieu de rencontre idéal pour les radiologues et les industriels de l’imagerie médicale pour venir échanger autour des besoins des praticiens et des dernières innovations. Cette année, les avancées de l’intelligence artificielle étaient dans tous les esprits. En effet, la profession fait face à une pénurie de radiologues, soumettant ces derniers à des cadences toujours plus élevées tandis que les patients peuvent voir la qualité du service se dégrader. Les applications de l’intelligence artificielle pourrait permettre d’éviter au radiologue les tâches redondantes et chronophages, comme le traitement des informations du patient.
Les radiologues attendent ainsi de l’IA un gain d’efficacité afin de pouvoir se concentrer sur le coeur de leur métier, tout en réduisant les erreurs de diagnostic dû au manque de temps. C’est dans ce contexte qu’a été organisé le challenge IA de ces JFR : comment améliorer le diagnostic sur des images médicales en utilisant le deep learning ? Pour répondre à cette question, cinq thématiques ont été proposées : le cortex rénal, les fissures du ménisque, la radiographie mammaire, le cartilage thyroïdien et les lésions hépatiques. Dans chaque cas, il s’agit de repérer ou estimer une lésion ou une anomalie à partir d’images de scanner ou IRM. Les équipes participantes avaient donc pour objectif de proposer des algorithmes pouvant diagnostiquer des centaines, voire des milliers d’images. A terme, ce type de solution pourra être utilisé pour accompagner le radiologue dans un pré-diagnostic : dans le cas de la pathologie très courante de la fissure du ménisque, un algorithme donne un score à chaque image IRM pour refléter la probabilité de présence d’une fissure. Les résultats que nous avons obtenus dans cette pathologie ont une précision1 pour laisser entrevoir de telles applications.
Déroulement du challenge
Les organisateurs du challenge ont pu rassembler des jeux d’images sur chaque challenge auprès de différentes institutions de santé, malgré les difficultés dues au caractère sensible des données médicales. Une fois les données récoltées en nombre suffisant, les équipes se sont formées durant l’été, en mettant en relation des professionnels de l’IA avec des radiologues. Kernix s’est joint au service de radiologie du Dr Blum au CHRU de Nancy pour constituer l’équipe SynovIA.
Ce challenge regroupait des acteurs majeurs du domaine : IBM Watson, Facebook Research, Quantmetry… créant une émulation intéressante autour du challenge pour démontrer la puissance des outils issus du monde de l’IA et de la Data Science. Nous nous sommes ainsi reposés sur une démarche éprouvée chez nous : une compréhension des enjeux métiers par des échanges réguliers avec les radiologues, combinée à une expertise technique multidisciplinaire.
L’équipe du Dr Blum étant spécialisée dans les pathologies du ménisque, nous avons donc choisi naturellement de porter notre attention sur ce thème. L’objectif pour ce challenge est de prédire la présence d’une fissure sur une image IRM, de préciser sur quel ménisque elle se trouve et son orientation. Nous nous sommes aussi intéressé au challenge de la thyroïde en détectant une anomalie (classification binaire). Peu d’équipes l’ont abordé du fait de l’inhomogénéité des images : la forme de la thyroïde et de la trachée pouvait être sensiblement variable. Par ailleurs, il était même difficile pour les radiologues de prédire la présence d’une anomalie sur les thyroïdes. Mais ne serait-ce pas justement le plein intérêt d’un algorithme de deep-learning : affiner le diagnostic du médecin ?
Les échanges avec le Dr Blum et son équipe nous ont permis de comprendre et d’interpréter les images. Cette étape d’échange avec les métiers est indispensable à tout projet data en permettant la compréhension fine des contraintes du challenge.
Exploration des données
Le challenge sur le ménisque comportait environ 1500 images d’IRM et celui sur la thyroïde en proposait le moins avec environ 500 IRM. Les images étaient globalement uniformes et centrées, ce qui facilitait leur traitement. En plus des images, nous avions un tableau avec les informations cibles (présence de fissure, sur quelle corne du ménisque, son orientation, la coupe de l’IRM).
Pour le ménisque, nous avons séparé les IRM en deux (parties haute et basse) puis réalisé un recentrage sur les cornes respectives (antérieure et postérieure) ainsi qu’un lissage de l’intensité. Un cropping selon des coordonnées fixes était suffisant étant donné l’uniformité des images et nous permettait de gagner du temps par rapport à une détection automatique de la zone du ménisque.
L’expertise des radiologues du CHU de Nancy nous a été très précieuse durant ce challenge afin de comprendre comment analyser les IRM et reconnaitres les anomalies, autrement dit quels motifs notre modèle allait devoir tenter d’identifier. Comme pour tous nos projets, nous avons pris soin de dédier le temps nécessaire à l’exploration des données au regard de la problématique. Voici un exemple du type d’images dont nous disposions :
Ménisque
Figure 1 : exemples d’IRM
IRM d’un ménisque sain
IRM d’un ménisque fissuré sur la corne postérieure
Les IRM ci-dessus ont été réalisées selon une coupe dite « sagittale », comme illustré sur la coupe ci-dessous :
Figure 2 : Représentation de la coupe de l’IRM (Source : Automated Segmentation of the Meniscus – Felicia Aldrin)
Un ménisque sain est caractérisé par deux triangles dont la partie intérieure est sombre et homogène (voir figure 1 gauche), à l’inverse une fissure est caractérisée par une perturbation de l’homogénéité de cette zone à travers des zones blanches (voir figure 1 droite). La difficulté reposait dans la possible présence de kystes ou anomalies génétiques se manifestant de la même manière sans être des fissures.
Les traitements suivant ont été appliqués aux images d’IRM avant entraînement de l’algorithme (voir figure 3) :
Découpage des IRM en deux (parties haute et basse)
Recentrage sur les cornes respectives (antérieure et postérieure) selon des coordonnées fixes.
Génération de nouvelles images en appliquant des transformations sur les originales (rotations, translations etc…) pour améliorer la robustesse du futur modèle.
Uniformisation de l’intensité sur l’ensemble des images car nous avions constaté des différences de luminosité.
Figure 3 : recentrage sur le ménisque
Le jeu de données a été séparé en échantillons d’entraînement (à partir duquel nous avons généré des images) et de test pour pouvoir évaluer les performances du modèle. Les images issues d’une même coupe étaient placées dans le même échantillon.
Thyroïde
En ce qui concerne la thyroïde, voici un exemple des images dont nous disposions (environ 500 en tout) :
Figure 4 : exemples d’IRM de la thyroïde (Source : EURORAD)
IRM de la thyroïde (cartilage normal)
IRM de la thyroïde (cartilage anormal)
Le problème de la thyroïde était particulièrement compliqué du fait du faible volume de données à disposition mais également de la difficulté du diagnostic qu’il est possible d’en déduire. En effet, les images étaient très disparates, ce qui est du à la variation de la forme du cartilage et la manière dont la coupe a été réalisée. La caractérisation de l’anomalie se fait donc différemment en fonction du type de coupe IRM. Des exemples de coupe sont illustrées dans la figure 6 ci-dessous :
Figure 5 :Illustration de différentes coupes d’IR
(Source :Radio-anatomie du larynx – M.Frikha, Y.Hentati)
En effet, les deux exemple présentés plus haut dans le figure 4 représentent le cas le plus simple ou un cartilage continu comme sur la droite est considéré comme normal et un cartilage discontinu comme sur la gauche sera considéré comme anormal. Cependant, nous pouvons également avoir le cas suivant où le cartilage sera diagnostiqué comme normal car la coupe n’est pas la même que pour l’exemple gauche de la figure 4 :
Figure 6 : IRM de la thyroïde (cartilage normal)
(Source : Radio-anatomie du larynx – M.Frikha, Y.Hentati)
Un cartilage anormal peut alors par exemple se caractériser par une coupure nette sans fermeture des différents morceaux, tandis que dans le cas d’un cartilage normal, même si la coupe entraîne une discontinuité, les différents morceaux de cartilage auront une fermeture apparente comme dans l’exemple ci-dessus (le diagnostic reste difficile à partir de ces images seules).
Nous avons également effectué un recentrage autour du cartilage à partir de coordonnées fixes, séparé le jeu de données en échantillons d’entraînement et de test et généré de nouvelles images comme pour le ménisque.
Figure 7 : Illustration du recentrage sur le cartilage
Modélisation
Nous avons considéré deux stratégies potentielles pour la modélisation : une basée sur l’extraction de zones d’intérêt au sein des images et une basée sur l’extraction de caractéristiques à l’aide de réseaux de neurones pré-entraînés.
Extraction de features
Pour la première stratégie, nous avons utilisé la bibliothèque python OpenCV dédiée à l’analyse d’images et qui propose des extracteurs de points d’intérêt tel que présenté sur la figure 8 ci-dessous.
Figure 8 : Keypoints extraits avec OpenCV sur une image de ménisque
Ces points d’intérêt peuvent ensuite être exploités à l’aide de « descripteurs » (vecteurs) pour être utilisés comme variables à donner à un modèle. Nous avons testé d’extraire dix zones d’intérêt pour chaque IRM et de concaténer leurs descripteurs comme entrée d’un classifieur XGBoost mais les performances n’étaient pas convaincantes, notamment au niveau de la prédiction de l’orientation qui était un problème complexe.
Deep learning
En parallèle, nous avons essayé une approche de deep-learning basée sur du transfert learning. L’idée est d’exploiter les performances de réseaux de neurones profonds dédiés au traitement d’images déjà entraînés, sans pour autant repartir de zéro : nous n’avions ni la base d’images nécessaire, ni la puissance de calcul pour construire un réseau complet.
Pour cela, nous avons utilisé le modèle VGG162, développé par l’université d’Oxford et disponible dans la bibliothèque Python Keras. Il est entraîné à partir de la base ImageNet qui contient 1000 classes d’images différentes de tous types (objets, animaux, etc). Il existe d’autres réseaux, comme VGG19 et ResNet50 ayant des performances très intéressantes, mais dont l’architecture est plus complexe, pas forcément utile dans notre problème contenant peu d’images et impliquant des temps de calcul plus lourds.
Figure 9 : Schéma des couches du réseau VGG16. Pour ce challenge, nous avons modifié la dernière couche du réseau (entourée en rouge) pour obtenir une classification binaire.
Le réseau VGG16 est schématisé sur la figure 9. Il est composé de 5 blocs de convolutions et d’un bloc de neurones complètement connectés pour réaliser une classification en 1000 catégories. Notre objectif est de réutiliser l’architecture et les poids de ce réseau entraîné pour de la classification d’images, et de l’adapter à notre usage pour les images médicales. Pour cela, nous avons supprimé la couche finale et nous l’avons remplacé (en rouge sur le schéma) par le schéma suivant :
un MaxPooling2D, qui va permettre de passer du tenseur de dimension (7, 7, 512) à un vecteur de taille 512, en prenant le maximum des coefficients des sous-tenseurs (7, 7).
Une couche de 4 neurones complètement connectés : il y a alors 512 x 4 + 4 = 2052 paramètres ajustables.
Une couche finale, de 2 neurones, permettant de réaliser la classification binaire grâce à une activation softmax.
Pourquoi cette architecture ? Le choix s’est basé sur deux contraintes :
la nécessité de réaliser une réduction progressive de dimension d’un tenseur de dimension (7, 7, 512), soit 25088 paramètres, à un vecteur de taille 2
éviter d’avoir un nombre trop important de paramètres ajustables, compte tenu du faible nombre d’images d’entraînement (quelques milliers tout au plus).
L’entraînement du modèle pour la prédiction de fissure s’est réalisé sur environ 3000 images de ménisque et a duré environ cinq heures, avec une machine dotée d’un processeur Intel Core i7 2,2 GHz et de 16 Go de RAM. Ce modèle a été réutilisé pour prédire l’orientation de la fissure et les anomalies de la thyroïde, en reprenant les poids préalablement calculés. Seule les 10 dernières couches ont été réentraînées. L’idée est de profiter d’un réseau ayant déjà « travaillé » des images d’IRM (celle du ménisque) qui sont plus proches des scanner de thyroïdes que les photographies d’ImageNet.
Résultats
Pour évaluer les modèles réalisés par les différentes équipes, les organisateurs disposaient de jeux de données pour validation. Gare au surapprentissage !
Ménisque
Pour le challenge du ménisque, nous avons obtenu un score total de 0.84, classé 6ème sur les 13 équipes ayant participé. La meilleur équipe a obtenu un score de 0.91, bravo à elle !
En utilisant du deep-learning pour segmenter les zones autour du ménisques, ils ont pu avoir des images contenant uniquement les informations intéressantes. En outre, ils ont pu être très performants sur l’orientation de la fissure grâce à un traitement d’image préalable, qui faisait particulièrement ressortir le cas de fissures horizontales, plus facile à caractériser.
De notre côté, le modèle que nous avons proposé était très performant sur la détection de fissure et sur quel ménisque celle-ci se trouvait le cas échéant, avec un AUC de 0.97. Nous étions en revanche pénalisé sur l’orientation du ménisque, où nous n’avons pas pu dépasser 0.70 en score AUC.
Thyroïde
Dans le cas du cartilage thyroïdien, nous avons obtenu un score AUC de 0.71 sur la détection d’anomalie. Si ce score qui peut paraître modeste en comparaison avec des scores obtenus pour la détection du ménisque, il est relativement honorable étant donné la complexité de simages. Même les radiologues de notre équipe était en difficulté pour diagnostiquer les images ! Ainsi, nous avons pu remporter ce challenge face à l’autre équipe ayant participé et ayant obtenu un score de 0.66.
La contrainte temporelle était aussi une des difficulté de ce challenge. En repartant des poids initiaux de VGG16 et en le ré-entraînant, nous arrivons à améliorer le score jusqu’à 0.85 sur un jeu de test. Nous espérons améliorer encore ce score en utilisant de la segmentation pour isoler uniquement les parties intéressantes de l’image, centrées autour de la thyroïde.
Conclusion
Cette première édition du challenge IA des JFR fut une expérience des plus enrichissantes ! Nous avons pu découvrir le secteur de l’imagerie médicale à travers une collaboration directe avec des experts du métier, et en apprendre plus sur leurs problématiques et comment l’IA peut améliorer leur productivité. Comme pour nos projets chez Kernix, nous avons ainsi pu apporter nos compétences en conception, analyse et machine learning pour répondre efficacement aux enjeux du challenge.
Les rencontres effectuées nous ouvrent de nombreuses perspectives et nous avons hâte de contribuer davantage au futur de la radiologie grâce à l’intelligence artificielle ! Encore merci à l’équipe organisatrice pour sa réactivité et son écoute tout au long du challenge qui s’est déroulé de manière fluide et agréable !
Le score AUC sur le détection d’une fissure de ménisque depuis l’image IRM d’un genou est de 0.97.
Ce mode permet aux personnes épileptiques d'utiliser le site Web en toute sécurité en éliminant le risque de convulsions résultant d'animations clignotantes ou clignotantes et de combinaisons de couleurs à risque.
Mode malvoyant
Améliore les visuels du site Web
Ce mode ajuste le site Web pour la commodité des utilisateurs souffrant de déficiences visuelles telles que la vue dégradante, la vision tunnel, la cataracte, le glaucome et autres.
Mode handicap cognitif
Aide à se concentrer sur un contenu spécifique
Ce mode offre différentes options d'assistance pour aider les utilisateurs souffrant de troubles cognitifs tels que la dyslexie, l'autisme, l'AVC et autres, à se concentrer plus facilement sur les éléments essentiels du site Web.
Mode adapté au TDAH
Réduit les distractions et améliore la concentration
Ce mode aide les utilisateurs atteints de TDAH et de troubles neurodéveloppementaux à lire, parcourir et se concentrer plus facilement sur les principaux éléments du site Web tout en réduisant considérablement les distractions.
Mode Cécité
Permet d'utiliser le site avec votre lecteur d'écran
Ce mode configure le site Web pour qu'il soit compatible avec les lecteurs d'écran tels que JAWS, NVDA, VoiceOver et TalkBack. Un lecteur d'écran est un logiciel destiné aux utilisateurs aveugles qui s'installe sur un ordinateur et un smartphone, et les sites Web doivent être compatibles avec celui-ci.
Dictionnaire en ligne
Expérience lisible
Mise à l'échelle du contenu
Défaut
Loupe de texte
Police lisible
Adapté à la dyslexie
Titres en surbrillance
Mettre en surbrillance les liens
Taille de la police
Défaut
Hauteur de la ligne
Défaut
L'espacement des lettres
Défaut
Aligné à gauche
Aligné au centre
Aligné à droite
Expérience visuellement agréable
Contraste sombre
Contraste léger
Monochrome
Contraste élevé
Haute saturation
Faible saturation
Ajuster les couleurs du texte
Ajuster les couleurs du titre
Ajuster les couleurs d'arrière-plan
Orientation facile
Couper les sons
Masquer les images
Masquer les emojis
Guide de lecture
Arrêter les animations
Masque de lecture
Mettre en surbrillance le survol
Mise en surbrillance
Grand curseur sombre
Grand curseur lumineux
Lecture cognitive
Clavier virtuel
Touches de navigation
Navigation vocale
Accessibility Statement
www.kernix.com
22 octobre 2025
Compliance status
We firmly believe that the internet should be available and accessible to anyone, and are committed to providing a website that is accessible to the widest possible audience,
regardless of circumstance and ability.
To fulfill this, we aim to adhere as strictly as possible to the World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 2.1 (WCAG 2.1) at the AA level.
These guidelines explain how to make web content accessible to people with a wide array of disabilities. Complying with those guidelines helps us ensure that the website is accessible
to all people: blind people, people with motor impairments, visual impairment, cognitive disabilities, and more.
This website utilizes various technologies that are meant to make it as accessible as possible at all times. We utilize an accessibility interface that allows persons with specific
disabilities to adjust the website’s UI (user interface) and design it to their personal needs.
Additionally, the website utilizes an AI-based application that runs in the background and optimizes its accessibility level constantly. This application remediates the website’s HTML,
adapts Its functionality and behavior for screen-readers used by the blind users, and for keyboard functions used by individuals with motor impairments.
If you’ve found a malfunction or have ideas for improvement, we’ll be happy to hear from you. You can reach out to the website’s operators by using the following email
Screen-reader and keyboard navigation
Our website implements the ARIA attributes (Accessible Rich Internet Applications) technique, alongside various different behavioral changes, to ensure blind users visiting with
screen-readers are able to read, comprehend, and enjoy the website’s functions. As soon as a user with a screen-reader enters your site, they immediately receive
a prompt to enter the Screen-Reader Profile so they can browse and operate your site effectively. Here’s how our website covers some of the most important screen-reader requirements,
alongside console screenshots of code examples:
Screen-reader optimization: we run a background process that learns the website’s components from top to bottom, to ensure ongoing compliance even when updating the website.
In this process, we provide screen-readers with meaningful data using the ARIA set of attributes. For example, we provide accurate form labels;
descriptions for actionable icons (social media icons, search icons, cart icons, etc.); validation guidance for form inputs; element roles such as buttons, menus, modal dialogues (popups),
and others. Additionally, the background process scans all the website’s images and provides an accurate and meaningful image-object-recognition-based description as an ALT (alternate text) tag
for images that are not described. It will also extract texts that are embedded within the image, using an OCR (optical character recognition) technology.
To turn on screen-reader adjustments at any time, users need only to press the Alt+1 keyboard combination. Screen-reader users also get automatic announcements to turn the Screen-reader mode on
as soon as they enter the website.
These adjustments are compatible with all popular screen readers, including JAWS and NVDA.
Keyboard navigation optimization: The background process also adjusts the website’s HTML, and adds various behaviors using JavaScript code to make the website operable by the keyboard. This includes the ability to navigate the website using the Tab and Shift+Tab keys, operate dropdowns with the arrow keys, close them with Esc, trigger buttons and links using the Enter key, navigate between radio and checkbox elements using the arrow keys, and fill them in with the Spacebar or Enter key.Additionally, keyboard users will find quick-navigation and content-skip menus, available at any time by clicking Alt+1, or as the first elements of the site while navigating with the keyboard. The background process also handles triggered popups by moving the keyboard focus towards them as soon as they appear, and not allow the focus drift outside it.
Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements.
Disability profiles supported in our website
Epilepsy Safe Mode: this profile enables people with epilepsy to use the website safely by eliminating the risk of seizures that result from flashing or blinking animations and risky color combinations.
Visually Impaired Mode: this mode adjusts the website for the convenience of users with visual impairments such as Degrading Eyesight, Tunnel Vision, Cataract, Glaucoma, and others.
Cognitive Disability Mode: this mode provides different assistive options to help users with cognitive impairments such as Dyslexia, Autism, CVA, and others, to focus on the essential elements of the website more easily.
ADHD Friendly Mode: this mode helps users with ADHD and Neurodevelopmental disorders to read, browse, and focus on the main website elements more easily while significantly reducing distractions.
Blindness Mode: this mode configures the website to be compatible with screen-readers such as JAWS, NVDA, VoiceOver, and TalkBack. A screen-reader is software for blind users that is installed on a computer and smartphone, and websites must be compatible with it.
Keyboard Navigation Profile (Motor-Impaired): this profile enables motor-impaired persons to operate the website using the keyboard Tab, Shift+Tab, and the Enter keys. Users can also use shortcuts such as “M” (menus), “H” (headings), “F” (forms), “B” (buttons), and “G” (graphics) to jump to specific elements.
Additional UI, design, and readability adjustments
Font adjustments – users, can increase and decrease its size, change its family (type), adjust the spacing, alignment, line height, and more.
Color adjustments – users can select various color contrast profiles such as light, dark, inverted, and monochrome. Additionally, users can swap color schemes of titles, texts, and backgrounds, with over seven different coloring options.
Animations – person with epilepsy can stop all running animations with the click of a button. Animations controlled by the interface include videos, GIFs, and CSS flashing transitions.
Content highlighting – users can choose to emphasize important elements such as links and titles. They can also choose to highlight focused or hovered elements only.
Audio muting – users with hearing devices may experience headaches or other issues due to automatic audio playing. This option lets users mute the entire website instantly.
Cognitive disorders – we utilize a search engine that is linked to Wikipedia and Wiktionary, allowing people with cognitive disorders to decipher meanings of phrases, initials, slang, and others.
Additional functions – we provide users the option to change cursor color and size, use a printing mode, enable a virtual keyboard, and many other functions.
Browser and assistive technology compatibility
We aim to support the widest array of browsers and assistive technologies as possible, so our users can choose the best fitting tools for them, with as few limitations as possible. Therefore, we have worked very hard to be able to support all major systems that comprise over 95% of the user market share including Google Chrome, Mozilla Firefox, Apple Safari, Opera and Microsoft Edge, JAWS and NVDA (screen readers).
Notes, comments, and feedback
Despite our very best efforts to allow anybody to adjust the website to their needs. There may still be pages or sections that are not fully accessible, are in the process of becoming accessible, or are lacking an adequate technological solution to make them accessible. Still, we are continually improving our accessibility, adding, updating and improving its options and features, and developing and adopting new technologies. All this is meant to reach the optimal level of accessibility, following technological advancements. For any assistance, please reach out to