EXPÉRIENCE

Des instruments synthétiques peuvent-ils remplacer les annotations réelles ? Pas à eux seuls

Un segmenteur d’instruments entraîné uniquement sur des instruments rendus, face au même modèle entraîné sur des annotations réelles : l’hypothèse, le résultat et ce qu’il ne montre pas.

Cette page est encore en cours de relecture par nos experts scientifiques, cliniques et juridiques. Elle décrit des projets, pas un travail achevé.

La question

Les annotations au pixel de la vidéo chirurgicale sont longues à produire, et les contours des instruments en sont la partie la moins cohérente. Un moteur de rendu fournit autant d’instruments que l’on veut, avec des masques exacts. Nous avons testé la version forte de cette idée :

H1. Un modèle entraîné uniquement sur des instruments synthétiques n’est pas moins bon, sur des instruments réels, que le même modèle entraîné sur des annotations réelles.

L’hypothèse, la marge et la règle de décision ont été fixées dans un document de conception (RFC 0001) avant tout entraînement.

Comment nous l’avons testé

  • Données synthétiques. Des modèles d’une pince à préhension et d’un crochet en L ont été construits dans Blender et rendus 20 000 fois avec des masques exacts. Les rendus ont été posés sur 717 images sans instrument du jeu de données public CholecT50, vérifiées une à une par une personne. Augmentations : lumière, flou, tissu sur la pointe, bord sombre de l’image endoscopique et fumée simulée.
  • Données réelles. CholecSeg8k : 4 000 images annotées de 8 vidéos pour l’entraînement et 1 120 images de 2 vidéos pour la validation.
  • Test. Les 7 vidéos de CholecSeg8k qui n’ont jamais servi de fond synthétique, soit 2 960 images. Avant la première exécution sur le test, une personne a examiné chaque clip de test à la recherche d’instruments sans classe propre. Rien n’a dû être exclu.
  • Modèle. Le même DeepLabV3-ResNet50, les mêmes réglages et le même nombre de pas d’entraînement dans chaque bras. Chaque bras a tourné avec 3 graines.
Bras Entraîné sur
A instruments synthétiques uniquement
B annotations réelles uniquement
C10 / C25 / C50 / C100 le modèle du bras A, puis 10 / 25 / 50 / 100 % des images réelles
  • Choix du modèle. Le bras A a choisi son point de contrôle sur les seules données de validation synthétiques, si bien qu’aucune annotation réelle n’a atteint le bras synthétique.
  • Exécutions sur le test. Chaque point de contrôle retenu a été exécuté exactement une fois sur les vidéos de test, et chaque exécution est enregistrée.
Comment les bras sont construits Les instruments rendus sont posés sur des images CholecT50 sans instrument pour entraîner le bras A. Les images réelles de CholecSeg8k entraînent le bras B. Les bras C affinent le bras A sur 10 à 100 % des images réelles. Chaque modèle retenu est évalué une fois sur 7 vidéos CholecSeg8k qui n’ont jamais servi de fond. Rendus Blender 20 000 pinces, crochets en L Images sans instrument 717, CholecT50, vérifiées Annotations réelles CholecSeg8k, 8 vidéos Bras A synthétique seul Bras C10–C100 A, puis 10–100 % réel Bras B réel seul Test 7 autres vidéos une fois par modèle part de A
Même modèle, mêmes réglages et même nombre de pas d’entraînement dans chaque bras ; trois graines chacun.

Résultats

La mesure est le recouvrement (IoU) du masque des instruments sur tous les pixels du test. 1 est parfait. La plage est un intervalle à 95 % sur les vidéos de test et les graines.

Bras Annotations réelles IoU Intervalle à 95 %
A, synthétique seul 0 % 0,116 0,04 – 0,19
C10 10 % 0,775 0,66 – 0,83
C25 25 % 0,767 0,63 – 0,83
C50 50 % 0,778 0,65 – 0,84
C100 100 % 0,764 0,62 – 0,84
B, réel seul 100 % 0,772 0,65 – 0,84
IoU de test par bras avec intervalles à 95 % Le bras A obtient 0,116, très en dessous de tous les autres. Les bras C10 à C100 et le bras B obtiennent entre 0,76 et 0,78, avec des intervalles qui se recouvrent. 0,00 0,25 0,50 0,75 1,00 IoU du masque des instruments sur les 7 vidéos de test A · synthétique seul: 0,116 (intervalle à 95 % 0,041–0,185) A · synthétique seul 0,116 C10 · A + 10 % réel: 0,775 (intervalle à 95 % 0,658–0,832) C10 · A + 10 % réel 0,775 C25 · A + 25 % réel: 0,767 (intervalle à 95 % 0,633–0,833) C25 · A + 25 % réel 0,767 C50 · A + 50 % réel: 0,778 (intervalle à 95 % 0,648–0,841) C50 · A + 50 % réel 0,778 C100 · A + 100 % réel: 0,764 (intervalle à 95 % 0,624–0,837) C100 · A + 100 % réel 0,764 B · réel seul: 0,772 (intervalle à 95 % 0,654–0,837) B · réel seul 0,772
Points : IoU sur tous les pixels du test, trois graines réunies. Lignes : intervalle à 95 % sur les vidéos de test et les graines.

H1 est rejetée. Le bras A a 65,5 points de retard sur le bras B, avec un intervalle à 95 % de −75,9 à −53,5. La conception tolérait un écart de 2 points au plus.

La décision sur H1 L’écart entre le bras A et le bras B est de −65,5 points d’IoU, avec un intervalle à 95 % de −75,9 à −53,5. Tout l’intervalle se trouve loin à gauche de la marge de −2 : H1 est rejetée. dans la marge −80 −70 −60 −50 −40 −30 −20 −10 0 10 20 30 marge −2 A − B: −65,5 (intervalle à 95 % −75,9 … −53,5) −75,9 −53,5 A − B = −65,5 IoU(A) − IoU(B), points
H1 aurait tenu si tout l’intervalle était resté à droite de la ligne à −2.

Le modèle purement synthétique a appris la tâche synthétique : il a atteint 0,96 sur les données de validation synthétiques. Sur les images réelles de validation, il a obtenu environ 0,45, et sur les vidéos de test 0,12. Nous avons vérifié une explication : qu’il aurait mémorisé le tissu des opérations de validation à travers les fonds. Seuls 29 des 717 fonds proviennent de ces opérations, cela n’explique donc pas l’écart. On ne sait pas encore pourquoi le modèle échoue sur les instruments réels.

Le bras A pendant l’entraînement Sur les données de validation synthétiques, le bras A passe de 0,91 à 0,96. Sur les images réelles de validation, il oscille sans tendance entre 0,21 et 0,56 et finit vers 0,44. Sur les vidéos de test, il atteint 0,12. 0,00 0,25 0,50 0,75 1,00 1 6 11 16 20 époque test validation synthétique validation réelle (pour information) validation synthétique, époque 20: 0,96 0,96 validation réelle (pour information), époque 20: 0,44 0,44 test: 0,116 (0,114 / 0,082 / 0,152) 0,12
Lignes : moyenne des trois graines ; bandes : de la pire à la meilleure graine. Le point de contrôle a été choisi sur la seule validation synthétique ; la réelle a été enregistrée et jamais utilisée.
Données sous forme de tableau
ÉpoqueValidation synthétique, moyenneValidation réelle, moyenne
10,9120,431
20,9250,399
30,9380,386
40,9410,399
50,9440,363
60,9490,467
70,9490,412
80,9530,442
90,9530,346
100,9560,383
110,9570,334
120,9580,409
130,9590,383
140,9600,403
150,9610,394
160,9620,364
170,9630,398
180,9630,438
190,9630,429
200,9630,442

Six images de validation

La figure montre ce que prédisent les modèles des bras A, B et C10 (graine 1) sur six images réelles de validation. Les images sont régulièrement espacées et ont été fixées avant de voir la moindre prédiction. Aucune image de test n’est montrée : y exécuter à nouveau les modèles reviendrait à utiliser le test une fois de plus.

  • Là où une pince se détache du tissu, le bras A en trouve une partie (IoU de 0,39 à 0,76).
  • Là où l’instrument est au bord du champ ou a une tige sombre (lignes 2 et 6), le bras A ne trouve presque rien (0,00 et 0,02). Les bras B et C10 trouvent ces instruments (de 0,73 à 0,90).
  • Sur la dernière image, le bras B marque le crochet en L comme une pince, et C10 le classe correctement. L’IoU du masque des instruments ne tient pas compte de la classe.

Six images illustrent les chiffres ci-dessus. À elles seules, elles ne prouvent rien.

Grille de six images laparoscopiques avec masques d’instruments : les annotations de référence et les prédictions des bras A, B et C10.
Chaque ligne : l’image, les annotations de référence, puis les bras A, B et C10 (graine 1) avec l’IoU de l’image. Pince en cyan, crochet en L en jaune. Images réelles de validation (vidéos 26 et 52), jamais celles du test. Exécutions m1-A-s1-be48f5bc, m1-B-s1-cccfe860, m1-C10-s1-a5ef566d. Images et masques de référence : CholecSeg8k (Hong et al. 2020), issu de Cholec80 (Twinanda et al. 2017), CC BY-NC-SA 4.0, contrairement au reste de ce site, sous CC BY 4.0.

Ce que ces chiffres ne sont pas

  • Pas une preuve que le pré-entraînement synthétique économise des annotations. Les bras C rejoignent le bras B dès 10 % des images réelles, environ 400 images, et ne gagnent rien au-delà. Mais la conception ne comportait pas de bras entraîné sur ces mêmes 10 % sans l’étape synthétique. Sans lui, impossible de dire si l’étape synthétique a aidé ou si 400 images réelles suffisent à elles seules.
  • Pas un verdict sur les données synthétiques en général. Il vaut pour ce moteur de rendu, ces instruments et 717 fonds, moins que les quelque 1 000 prévus.
  • Pas un résultat clinique. La vitesse, les reflets et le sang n’ont pas été mesurés séparément, et aucun modèle n’est publié.

RESEARCH USE ONLY – NOT FOR CLINICAL USE (recherche uniquement, pas d’usage clinique).

Ce qui a mal tourné en chemin

  • Les premiers rendus étaient trois fois plus lents que nécessaire. Le débruitage tournait sur le CPU pendant que le GPU attendait. Après correction, 20 000 rendus ont pris environ 3 heures.
  • Le bras synthétique s’est arrêté au bout de quelques époques. Certaines images de fumée avaient été endommagées lors de leur copie vers le serveur GPU. Les exécutions ont repris à leur dernier point de contrôle, et chaque image est désormais vérifiée avant le début de l’entraînement.
  • Six affinages sont partis de modèles inachevés à cause de cet arrêt. Ils ont été marqués comme invalides, jamais exécutés sur le test, et le code d’entraînement les refuse désormais.

Prochaines étapes possibles

  • Un bras de contrôle entraîné sur 10 % et 25 % des images réelles sans l’étape synthétique. C’est le moyen le moins coûteux de savoir ce qu’apporte l’étape synthétique.
  • La randomisation de domaine : des textures et des couleurs volontairement irréalistes, pour vérifier si l’écart tient à l’apparence.

La fiche complète du modèle, avec les identifiants d’exécution, se trouve dans le dépôt du projet. Voir aussi le journal des expériences et pourquoi les résultats négatifs comptent.