EKSPERYMENT

Czy syntetyczne narzędzia mogą zastąpić prawdziwe oznaczenia? Same – nie

Segmentacja narzędzi wytrenowana tylko na wyrenderowanych narzędziach, w porównaniu z tym samym modelem na prawdziwych oznaczeniach: hipoteza, wynik i to, czego on nie pokazuje.

Ta strona jest wciąż sprawdzana przez naszych ekspertów naukowych, klinicznych i prawnych. Opisuje plany, a nie ukończoną pracę.

Pytanie

Oznaczenia wideo chirurgicznego na poziomie pikseli powstają powoli, a granice narzędzi są w nich najmniej spójne. Renderer daje dowolnie wiele narzędzi z dokładnymi maskami. Sprawdziliśmy mocną wersję tego pomysłu:

H1. Model wytrenowany tylko na syntetycznych narzędziach nie jest gorszy na prawdziwych narzędziach od tego samego modelu wytrenowanego na prawdziwych oznaczeniach.

Hipotezę, margines i regułę decyzji ustalono w dokumencie projektowym (RFC 0001) przed jakimkolwiek treningiem.

Jak to sprawdziliśmy

  • Dane syntetyczne. Modele chwytaka i haczyka w kształcie litery L zbudowano w Blenderze i wyrenderowano 20 000 razy z dokładnymi maskami. Rendery nałożono na 717 klatek bez narzędzi z publicznego zbioru CholecT50, z których każdą sprawdził człowiek. Augmentacje: światło, rozmycie, tkanka na końcówce, ciemna krawędź obrazu endoskopu i symulowany dym.
  • Dane prawdziwe. CholecSeg8k: 4000 oznaczonych klatek z 8 nagrań do treningu i 1120 klatek z 2 nagrań do walidacji.
  • Test. 7 nagrań CholecSeg8k, które nigdy nie były syntetycznym tłem, łącznie 2960 klatek. Przed pierwszym uruchomieniem na teście człowiek przejrzał każdy klip testowy w poszukiwaniu narzędzi bez własnej klasy. Nie trzeba było niczego wykluczać.
  • Model. W każdym wariancie ten sam DeepLabV3-ResNet50, te same ustawienia i ta sama liczba kroków treningu. Każdy wariant uruchomiono z 3 ziarnami losowości.
Wariant Trening na
A tylko syntetyczne narzędzia
B tylko prawdziwe oznaczenia
C10 / C25 / C50 / C100 model wariantu A, potem 10 / 25 / 50 / 100 % prawdziwych klatek
  • Wybór modelu. Wariant A wybierał punkt kontrolny tylko na syntetycznych danych walidacyjnych, więc żadne prawdziwe oznaczenie nie trafiło do wariantu syntetycznego.
  • Uruchomienia na teście. Każdy wybrany punkt kontrolny uruchomiono na nagraniach testowych dokładnie raz, a każde uruchomienie zapisano.
Jak zbudowano warianty Wyrenderowane narzędzia nakładamy na klatki CholecT50 bez narzędzi – na nich uczy się wariant A. Prawdziwe klatki CholecSeg8k uczą wariant B. Warianty C dostrajają A na 10–100 % prawdziwych klatek. Każdy wybrany model sprawdzamy raz na 7 nagraniach CholecSeg8k, które nigdy nie były tłem. Rendery z Blendera 20 000 chwytaków, haczyków Klatki bez narzędzi 717, CholecT50, sprawdzone Prawdziwe oznaczenia CholecSeg8k, 8 nagrań Wariant A tylko syntetyka Warianty C10–C100 A, potem 10–100 % prawdziwych Wariant B tylko prawdziwe Test 7 innych nagrań raz na model start od A
W każdym wariancie ten sam model, te same ustawienia i ta sama liczba kroków treningu; po trzy ziarna.

Wyniki

Miarą jest pokrycie (IoU) maski narzędzi na wszystkich pikselach testu. 1 oznacza idealne pokrycie. Zakres to 95-procentowy przedział po nagraniach testowych i ziarnach.

Wariant Prawdziwe oznaczenia IoU Przedział 95 %
A, tylko syntetyka 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, tylko prawdziwe 100 % 0,772 0,65 – 0,84
IoU na teście dla wariantów, z 95-procentowymi przedziałami Wariant A osiąga 0,116, znacznie poniżej wszystkich pozostałych. Warianty C10–C100 i B osiągają od 0,76 do 0,78, a ich przedziały się pokrywają. 0,00 0,25 0,50 0,75 1,00 IoU maski narzędzi na 7 nagraniach testowych A · tylko syntetyka: 0,116 (przedział 95 % 0,041–0,185) A · tylko syntetyka 0,116 C10 · A + 10 % prawdziwych: 0,775 (przedział 95 % 0,658–0,832) C10 · A + 10 % prawdziwych 0,775 C25 · A + 25 % prawdziwych: 0,767 (przedział 95 % 0,633–0,833) C25 · A + 25 % prawdziwych 0,767 C50 · A + 50 % prawdziwych: 0,778 (przedział 95 % 0,648–0,841) C50 · A + 50 % prawdziwych 0,778 C100 · A + 100 % prawdziwych: 0,764 (przedział 95 % 0,624–0,837) C100 · A + 100 % prawdziwych 0,764 B · tylko prawdziwe: 0,772 (przedział 95 % 0,654–0,837) B · tylko prawdziwe 0,772
Punkty: IoU na wszystkich pikselach testu, trzy ziarna razem. Linie: 95-procentowy przedział po nagraniach testowych i ziarnach.

H1 odrzucona. Wariant A jest o 65,5 punktu za wariantem B, z 95-procentowym przedziałem od −75,9 do −53,5. Projekt dopuszczał różnicę najwyżej 2 punktów.

Decyzja w sprawie H1 Różnica między wariantami A i B wynosi −65,5 punktu IoU, z 95-procentowym przedziałem od −75,9 do −53,5. Cały przedział leży daleko na lewo od marginesu −2, więc H1 jest odrzucona. w granicach marginesu −80 −70 −60 −50 −40 −30 −20 −10 0 10 20 30 margines −2 A − B: −65,5 (przedział 95 % −75,9 … −53,5) −75,9 −53,5 A − B = −65,5 IoU(A) − IoU(B), punkty
H1 utrzymałaby się, gdyby cały przedział pozostał na prawo od linii −2.

Model czysto syntetyczny nauczył się zadania syntetycznego: na syntetycznych danych walidacyjnych osiągnął 0,96. Na prawdziwych klatkach walidacyjnych uzyskał około 0,45, a na nagraniach testowych 0,12. Sprawdziliśmy jedno wyjaśnienie: że zapamiętał tkanki operacji walidacyjnych z teł. Tylko 29 z 717 teł pochodzi z tych operacji, więc to nie tłumaczy różnicy. Dlaczego model zawodzi na prawdziwych narzędziach, na razie nie wiadomo.

Wariant A w trakcie treningu Na syntetycznych danych walidacyjnych wariant A rośnie z 0,91 do 0,96. Na prawdziwych klatkach walidacyjnych waha się bez trendu między 0,21 a 0,56 i kończy około 0,44. Na nagraniach testowych osiąga 0,12. 0,00 0,25 0,50 0,75 1,00 1 6 11 16 20 epoka test walidacja syntetyczna walidacja prawdziwa (informacyjnie) walidacja syntetyczna, epoka 20: 0,96 0,96 walidacja prawdziwa (informacyjnie), epoka 20: 0,44 0,44 test: 0,116 (0,114 / 0,082 / 0,152) 0,12
Linie: średnia z trzech ziaren; pasma: od najgorszego do najlepszego ziarna. Punkt kontrolny wybierano tylko na walidacji syntetycznej; prawdziwą zapisywano i nigdy nie używano.
Dane w tabeli
EpokaWalidacja syntetyczna, średniaWalidacja prawdziwa, średnia
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

Sześć klatek walidacyjnych

Rysunek pokazuje, co przewidują modele wariantów A, B i C10 (ziarno 1) na sześciu prawdziwych klatkach walidacyjnych. Klatki rozmieszczono równomiernie i ustalono, zanim zobaczyliśmy jakiekolwiek przewidywanie. Klatek testowych tu nie ma: ponowne uruchomienie na nich modeli byłoby kolejnym użyciem testu.

  • Tam, gdzie chwytak odcina się od tkanki, wariant A znajduje jego część (IoU od 0,39 do 0,76).
  • Tam, gdzie narzędzie jest przy krawędzi pola widzenia albo ma ciemny trzon (wiersze 2 i 6), wariant A nie znajduje prawie nic (0,00 i 0,02). Warianty B i C10 znajdują te narzędzia (od 0,73 do 0,90).
  • Na ostatniej klatce wariant B oznacza haczyk w kształcie L jako chwytak, a C10 rozpoznaje go poprawnie. IoU maski narzędzi nie uwzględnia klasy.

Sześć klatek ilustruje powyższe liczby. Same w sobie niczego nie dowodzą.

Siatka sześciu klatek laparoskopowych z maskami narzędzi: oznaczenia referencyjne i przewidywania wariantów A, B i C10.
Każdy wiersz: klatka, oznaczenia referencyjne, następnie warianty A, B i C10 (ziarno 1) z IoU dla tej klatki. Chwytak na niebiesko, haczyk w kształcie L na żółto. Prawdziwe klatki walidacyjne (nagrania 26 i 52), nigdy testowe. Uruchomienia m1-A-s1-be48f5bc, m1-B-s1-cccfe860, m1-C10-s1-a5ef566d. Klatki i maski referencyjne: CholecSeg8k (Hong et al. 2020), na podstawie Cholec80 (Twinanda et al. 2017), CC BY-NC-SA 4.0, w odróżnieniu od reszty tej strony, objętej CC BY 4.0.

Czym te liczby nie są

  • Nie są dowodem, że syntetyczny pretrening oszczędza oznaczenia. Warianty C doganiają wariant B już przy 10 % prawdziwych klatek, około 400, i dalej nic nie zyskują. Ale w projekcie nie było wariantu wytrenowanego na tych samych 10 % bez kroku syntetycznego. Bez niego nie wiemy, czy krok syntetyczny pomógł, czy 400 prawdziwych klatek wystarcza samo.
  • Nie są werdyktem o danych syntetycznych w ogóle. Dotyczą tego renderera, tych narzędzi i 717 teł, czyli mniej niż planowane około 1000.
  • Nie są wynikiem klinicznym. Szybkości, odblasków i krwi nie mierzono osobno, a żaden model nie został opublikowany.

RESEARCH USE ONLY – NOT FOR CLINICAL USE (wyłącznie do badań, nie do użytku klinicznego).

Co poszło nie tak po drodze

  • Pierwsze rendery były trzy razy wolniejsze, niż musiały. Odszumianie działało na CPU, a GPU czekało. Po poprawce 20 000 renderów zajęło około 3 godzin.
  • Wariant syntetyczny przerywał się po kilku epokach. Część obrazów dymu uszkodziła się przy kopiowaniu na serwer z GPU. Uruchomienia wznowiono od ostatniego punktu kontrolnego, a teraz każdy obraz jest sprawdzany przed rozpoczęciem treningu.
  • Sześć uruchomień dostrajania wystartowało z nieukończonych modeli z powodu tej awarii. Oznaczono je jako nieważne, nigdy nie uruchomiono ich na teście, a kod treningu teraz ich nie przyjmuje.

Możliwe dalsze kroki

  • Wariant kontrolny na 10 % i 25 % prawdziwych klatek bez kroku syntetycznego. To najtańszy sposób, by sprawdzić, co daje krok syntetyczny.
  • Randomizacja domeny: celowo nierealistyczne tekstury i kolory, by sprawdzić, czy różnica wynika z wyglądu.

Pełna karta modelu z identyfikatorami uruchomień znajduje się w repozytorium projektu. Zobacz też dziennik eksperymentów i dlaczego wyniki negatywne mają znaczenie.