Artykuł metodologiczny

Wielowidokowa struktura sieci Vision Mamba w kształcie litery U do segmentacji obrazów medycznych

DOI:

10.3791/72616

7 sierpnia 2026

W tym artykule

Podsumowanie

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ten protokół opisuje, jak skonstruować, wytrenować i wycenić wieloperspektywiczną ramę sieci Vision Mamba w kształcie litery U dla segmentacji obrazów medycznych, umożliwiającą powtarzalną segmentację zmian skórnych i narządów jamy brzusznej poprzez standaryzowane przygotowanie zestawu danych, implementację modelu i ocenę wydajności.

Streszczenie

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Segmentacja obrazów medycznych wymaga metod obliczeniowych, które dokładnie uchwytują globalny kontekst, lokalne granice oraz struktury anatomiczne wieloskalowe, zachowując jednocześnie możliwość reprodukcji w różnych zastosowaniach. W tym artykule przedstawiono protokół budowy, trenowania i oceny Multi-view Vision Mamba U-Shaped Network framework dla dwuwymiarowej segmentacji obrazów medycznych. Protokół zapewnia możliwość reprodukcji procesu, który obejmuje pozyskiwanie publicznego zbioru danych, przetwarzanie obrazu i maski, budowę sieci, trenowanie modelu, wybór punktów zapisu i ilościową oraz jakościową ocenę wydajności. Framework włącza skanowanie cech wielowidokowych, aby uchwycić uzupełniające informacje przestrzenne, konturowe, skalowe i graniczne, oraz stosuje wieloetapowe łączenie cech w architekturze kodera-dekodera w kształcie U w celu poprawy integracji cech podczas segmentacji. Protokół jest demonstrowany przy użyciu publicznie dostępnych zbiorów danych dotyczących segmentacji zmian skórnych i narządów jamy brzusznej. Zgodnie z opisanym przepływem implementacji, framework osiąga konkurencyjną wydajność segmentacji przy użyciu standardowych metryk ewaluacji. Dzięki przestrzeganiu procedur przedstawionych w tym protokole, naukowcy mogą odtworzyć implementację modelu, wytrenować sieć przy użyciu określonych ustawień eksperymentalnych, ocenić wydajność segmentacji oraz dostosować przepływ pracy do pokrewnych zadań segmentacji obrazów medycznych wymagających rozbudowanej analizy opartej na nauce głębokiej.

Wprowadzenie

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Segmentacja obrazów medycznych jest fundamentalnym zadaniem w dziedzinie komputerowego rozpoznawania obrazów oraz analizy obrazów medycznych1,2,3. Polega ona na podziale obrazu na wiele regionów lub obiektów w celu ich dalszej analizy i przetwarzania. Technologia ta jest szczególnie istotna w obrazowaniu medycznym, ponieważ pomaga klinicystom w identyfikacji i lokalizacji obszarów patologicznych, co przekłada się na poprawę dokładności diagnostycznej i planowania leczenia. Wraz z rozwojem technologii obrazowania medycznego, takich jak obrazowanie rezonansem magnetycznym (MRI), tomografia komputerowa (CT) oraz pozytonowa tomografia emisyjna (PET), zapotrzebowanie na dokładne techniki segmentacji obrazów medycznych stale rośnie. Obecne metody segmentacji obrazów medycznych można szeroko podzielić na trzy główne podejścia: metody oparte na splotowych sieciach neuronowych (CNN)4, metody oparte na Transformerach5 oraz metody oparte na modelach przestrzeni stanów (SSM)6,7. Metody oparte na CNN zazwyczaj wykorzystują architektury sieci o kształcie litery U do segmentacji obrazów medycznych. Najszerzej stosowaną architekturą w tej kategorii jest U-Net8, która wykazała skuteczność architektury koder-dekoder w kształcie litery U w segmentacji obrazów biomedycznych. U-Net3+ łączy gęste połączenia pomijające (skip connections) z UNet++9 z pełnoskalowymi połączeniami pomijającymi w celu usprawnienia agregacji cech wieloskalowych. Jednakże metody oparte na CNN mają ograniczoną zdolność do wychwytywania zależności dalekozasięgowych, przez co mogą nie modelować efektywnie kontekstowych informacji długodystansowych.

Metody oparte na architekturze Transformer skutecznie wychwytują dalekozasięgowe zależności dzięki mechanizmowi self-attention, który umożliwia obliczenia równoległe i przypisuje różne wagi uwagi do różnych obszarów zainteresowania. UNETR++10 wprowadza moduł Efficient Paired Attention (EPA) w celu zmniejszenia liczby parametrów i kosztów obliczeniowych. nnFormer11 łączy przeplatane operacje splotowe i self-attention oraz wprowadza lokalno-globalny mechanizm self-attention oparty na wolumenach do nauki reprezentacji wolumetrycznych w trójwymiarowej (3D) segmentacji obrazów medycznych. H2Former12 proponuje wydajny hierarchiczny hybrydowy Vision Transformer, który w enkoderze łączy mechanizmy uwagi z ekstrakcją cech opartą na CNN. Jednakże metody oparte na Transformerach wykazują kwadratową złożoność obliczeniową wraz ze wzrostem długości sekwencji, co skutkuje znacznie wyższym kosztem obliczeniowym. Rysunek 1 ilustruje uzasadnienie dla MVM-UNet i porównuje proponowaną strategię skanowania wielowidokowego z istniejącymi ramami segmentacji opartymi na SSM.

figure-introduction-1
Rycina 1. Porównanie MVM-UNet z istniejącymi architekturami segmentacji opartymi wyłącznie na modelach przestrzeni stanów (SSM). Porównanie konwencjonalnego frameworka segmentacji opartego wyłącznie na modelu przestrzeni stanów (SSM) z proponowaną architekturą Multi-View Mamba U-Net (MVM-UNet). Górny panel przedstawia MVM-UNet, w którym moduł Multi-View 4-Directional (MV4D) ekstrahuje komplementarne cechy za pomocą par skanowania zygzakowatego, hierarchicznego, spiralnego i radialnego, które są integrowane przez Spatial Fusion Mamba (SFusion Mamba), podczas gdy Multistage Fusion Mamba (MFusion Mamba) agreguje wieloskalowe cechy kodera przed dekodowaniem. Dolny panel pokazuje reprezentatywną architekturę opartą wyłącznie na SSM, wykorzystującą moduły Selective Scan 2-Dimensional (SS2D) ze skanowaniem krzyżowym. Rycina podkreśla różnice architektoniczne między konwencjonalnymi sieciami segmentacyjnymi opartymi na SSM a proponowanym MVM-UNet. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

Metody oparte na SSM łączą możliwości globalnego modelowania Transformerów z liniową złożonością obliczeniową. Architektura Mamba selektywnie przetwarza informacje wejściowe przy użyciu selektywnego modelu przestrzeni stanów (Selective-SSM), co pozwala modelowi na dynamiczną regulację parametrów w zależności od danych wejściowych, przy jednoczesnym filtrowaniu nieistotnych informacji i podkreślaniu cech informacyjnych. Vim13 oraz VMamba14 adaptują architekturę Mamba do zadań z zakresu wizji komputerowej. U-Mamba15 wykorzystuje hybrydową architekturę CNN–SSM w celu zbadania zastosowania SSM w segmentacji obrazów medycznych, podczas gdy Mamba-UNet16 przyjmuje architekturę koder–dekoder w pełni opartą na SSM do segmentacji obrazów medycznych. Metody te osiągają konkurencyjne wyniki przy użyciu znacznie mniejszej liczby parametrów. Jednakże obecne metody oparte na SSM/Mamba ekstrahują cechy obrazu głównie za pomocą prostych patchy obrazu i strategii skanowania SS2D, co wiąże się z kilkoma ograniczeniami w przypadku segmentacji obrazów medycznych. Po pierwsze, techniki SS2D i metody oparte na patchach są projektowane przede wszystkim dla ogólnych zadań wizji komputerowej. Local Mamba17 oraz Motion Mamba18 zasugerowały, że strategia skanowania SS2D jest niewystarczająca dla wszystkich zadań wizualnych, ponieważ różne strategie skanowania wychwytują różne rodzaje informacji wizualnych. Po drugie, strategia skanowania SS2D jest stosunkowo prosta, opierając się jedynie na poziomych i pionowych kierunkach skanowania. W konsekwencji może ona nie oddawać w pełni złożonych relacji przestrzennych i drobnych szczegółów strukturalnych. Segmentacja obrazów medycznych wymaga jednoczesnego modelowania zarówno globalnego kontekstu przestrzennego, jak i precyzyjnych lokalnych cech anatomicznych. Co więcej, obecne metody oparte na SSM/Mamba zapewniają ograniczoną fuzję cech między koderem a dekoderem. Architektury takie jak UNet++ i FATNet poprawiają dokładność segmentacji poprzez ulepszoną fuzję cech, co podkreśla znaczenie efektywnej integracji cech w segmentacji obrazów medycznych.

Aby rozwiązać te ograniczenia, w niniejszej pracy zaproponowano nowatorską strukturę segmentacji obrazów medycznych opartą na Mamba, nazwaną MVM-UNet. Jak pokazano na Rysunku 1, proponowany moduł Multi-View Four-Directional (MV4D) służy jako główny komponent ekstrakcji cech MVM-UNet i został zaprojektowany specjalnie do segmentacji obrazów medycznych poprzez integrację informacji z czterech różnych strategii skanowania. Każda strategia skanowania ekstrahuje komplementarne cechy obrazu i reprezentuje inny widok obrazu wejściowego. Skanowanie zygzakowate (zigzag scanning)19 naprzemiennie zmienia kierunek przejścia na końcu każdego wiersza lub kolumny, równoważąc tym samym lokalne i globalne informacje przestrzenne. W przeciwieństwie do tego, schematy skanowania spiralnego i radialnego20 zapewniają kompleksowe pokrycie poprzez rozszerzanie się od środka na zewnątrz lub od peryferii do wewnątrz. Skanowanie hierarchiczne18 rejestruje cechy lokalne i globalne w wielu skalach. Aby poprawić odporność każdej strategii skanowania, pary skanów są łączone przed wprowadzeniem do bloku S6. Moduł Scan-view Fusion Mamba (SFusion Mamba) integruje następnie cechy wyekstrahowane z czterech modalności skanowania. Aby efektywnie wykorzystać wieloskalowe cechy kodera, w pracy zaproponowano ponadto wieloskalowy moduł fuzji Mamba (MFusion Mamba), który akumuluje i łączy wyjścia z każdego etapu kodera przed przekazaniem połączonych cech do dekodera. MVM-UNet został oceniony na zbiorach danych ISIC 2017, ISIC 2018 oraz Synapse. Wyniki eksperymentalne wykazują, że MVM-UNet osiąga konkurencyjną wydajność segmentacji na zbiorach danych ISIC 2017, ISIC 2018 i Synapse.

Reprezentatywne architektury segmentacji przyczyniły się do dalszego rozwoju segmentacji obrazów medycznych. Sieć U-Net została z sukcesem zastosowana w zadaniach analizy obrazów biomedycznych, takich jak liczenie komórek, detekcja oraz morfometria21. Architektury CNN z mechanizmem uwagi, takie jak CA-Net22, poprawiają reprezentację cech dzięki kompleksowym mechanizmom uwagi. Reprezentatywne frameworki segmentacji oparte na Transformerach, w tym TransUNet23, Pyramid Medical Transformer24, Swin U-Net25, TransAttUNet26 oraz TransCUNet27, dodatkowo demonstrują skuteczność globalnego modelowania cech opartego na mechanizmach uwagi w segmentacji obrazów medycznych.

Konstrukcja modelu MVM-UNet została podyktowana dwoma ograniczeniami istniejących metod segmentacji opartych na SSM/Mamba. Po pierwsze, wiele aktualnych modeli Vision Mamba opiera się na prostych dwuwymiarowych strategiach skanowania, które mogą być niewystarczające w przypadku obrazów medycznych zawierających nieregularne granice zmian chorobowych, małe obszary docelowe oraz wieloskalowe struktury anatomiczne. Po drugie, konwencjonalne architektury koder-dekoder w kształcie litery U przekazują cechy głównie poprzez odpowiadające im połączenia pomijające (skip connections), co ogranicza bezpośrednie wykorzystanie informacji z wieloetapowego kodera podczas dekodowania. W związku z tym w MVM-UNet wprowadzono moduł MV4D w celu usprawnienia wielowidokowego modelowania przestrzennego oraz MFusion Mamba do jawnej agregacji cech z wieloetapowego kodera. Konstrukcja ta ma na celu dostosowanie modelowania długodystansowego opartego na Mamba do specyficznych wymagań segmentacji obrazów medycznych.

Choć MVM-UNet opiera się na ogólnym paradygmacie koder–dekoder oraz modelowaniu sekwencji bazującym na Mamba, jego nowatorstwo polega na sposobie adaptacji i integracji tych komponentów w celu segmentacji obrazów medycznych. Zamiast prostego włączenia standardowego bloku Mamba do szkieletu sieci w kształcie litery U, proponowana struktura przeprojektowuje proces modelowania przestrzennego poprzez wiele zorientowanych na zadanie gałęzi par skanowania, wprowadza SFusion Mamba do integracji reprezentacji specyficznych dla skanowania, usprawnia blok MVV za pomocą ścieżek rezydualnych i projekcyjnych oraz wstawia MFusion Mamba pomiędzy koderem a dekoderem, aby zagregować wieloetapowe cechy kodera przed dekodowaniem. Ten projekt na poziomie architektury ma na celu rozwiązanie problemu nieregularnych granic, małych obszarów docelowych oraz wieloskalowych struktur anatomicznych powszechnie występujących w obrazach medycznych.

Niniejszy protokół jest najbardziej odpowiedni dla zadań segmentacji wymagających jednoczesnego modelowania dalekosiężnych informacji kontekstowych, nieregularnych granic obiektów oraz wieloskalowych struktur anatomicznych w dwuwymiarowych obrazach medycznych. W porównaniu z metodami segmentacji opartymi na sieciach CNN, konstrukcja koder-dekoder oparta na architekturze Mamba zapewnia skuteczny mechanizm modelowania kontekstu, zachowując jednocześnie znany badaczom segmentacji obrazów medycznych przepływ pracy w kształcie litery U. W porównaniu z metodami opartymi na Transformerach, proponowany framework unika bezpośredniego zastosowania kwadratowej samoatencji i jest przeznaczony dla badaczy poszukujących globalnego modelowania kontekstu przy użyciu stosunkowo wydajnego mechanizmu modelowania sekwencji. W związku z tym protokół ten jest odpowiedni do segmentacji zmian skórnych, segmentacji narządów jamy brzusznej oraz podobnych zadań segmentacji dwuwymiarowych obrazów medycznych, w których istotne są zarówno globalne informacje strukturalne, jak i lokalne szczegóły granic.

Niniejszy protokół posiada również ograniczenia, które należy rozważyć przed jego zastosowaniem. Może on być zbędny w przypadku stosunkowo prostych zadań segmentacji, w których lekka sieć CNN zapewnia już wystarczającą wydajność. Ponadto nie został on zaprojektowany bezpośrednio do pełnej trójwymiarowej segmentacji wolumetrycznej bez adaptacji architektury. Badacze dysponujący bardzo ograniczoną ilością danych adnotowanych, ograniczonymi zasobami jednostki przetwarzania graficznego (GPU) lub wymagający wysokiej interpretowalności modeli klasycznych powinni również wziąć pod uwagę te ograniczenia przed zastosowaniem protokołu. Ogólnie metoda ta jest przeznaczona dla badaczy dążących do odtworzenia i oceny opartej na Mamba architektury segmentacji w kształcie litery U, która równoważy modelowanie kontekstu długodystansowego, reprezentację lokalnych granic oraz wieloetapową fuzję cech.

Kluczowe wkładem są następujące:

1. Niniejszy artykuł przedstawia nowatorski framework do segmentacji obrazów medycznych oparty na architekturze Mamba, nazwany MVM-UNet. W przeciwieństwie do podejść, które bezpośrednio wykorzystują istniejące bloki oparte na SS2D lub standardowe bloki Mamba, MVM-UNet wprowadza MV4D w celu modelowania cech obrazów medycznych z czterech komplementarnych widoków par skanowania, obejmujących skanowanie zygzakowate, hierarchiczne, spiralne oraz radialne.

2. W niniejszej pracy zaprojektowano SFusion Mamba oraz blok MVV w celu zintegrowania reprezentacji specyficznych dla skanu i usprawnienia transformacji cech. SFusion Mamba łączy cechy wyekstrahowane z różnych gałęzi par skanów, natomiast gałęzie rezydualna oraz Up-Down Projection wewnątrz bloku MVV zapewniają komplementarne ścieżki cech, które stabilizują i wzbogacają reprezentacje cech.

3. Niniejsza praca wprowadza MFusion Mamba jako pośredni wieloetapowy moduł fuzji pomiędzy enkoderem a dekoderem. W przeciwieństwie do konwencjonalnych połączeń typu skip connections, które przede wszystkim przesyłają cechy z odpowiadających sobie etapów, MFusion Mamba w sposób jawny agreguje wieloetapowe cechy enkodera poprzez fuzję od ogółu do szczegółu (coarse-to-fine fusion), dostarczając wzbogaconych informacji do procesu dekodowania.

4. Obszerne wyniki eksperymentalne wykazują, że proponowany model MVM-UNet osiąga konkurencyjną wydajność segmentacji w zbiorach danych ISIC 2017 oraz ISIC 2018, a także wysoką wydajność w zbiorze danych do segmentacji wielu organów Synapse. Ponadto kompleksowe badania ablacyjne potwierdzają wkład każdego komponentu w strukturze MVM-UNet.

Protokół

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

W niniejszym badaniu wykorzystano wyłącznie publicznie dostępne i zanonimizowane zestawy danych obrazów medycznych, w tym ISIC 2017, ISIC 2018 oraz Synapse. W badaniu nie pozyskano nowych uczestników będących ludźmi, obiektów zwierzęcych ani możliwych do zidentyfikowania prywatnych dokumentacji medycznych. Zestaw danych ISIC 2017 użyty w tej pracy był zbiorem danych do segmentacji zmian skórnych z konkursu ISIC 2017 Challenge, pobranym z oficjalnego repozytorium danych International Skin Imaging Collaboration (https://challenge.isic-archive.com/data/#2017). Wersja zestawu danych wykorzystana w tym badaniu odpowiada zadaniu segmentacji zmian ISIC 2017, obejmując oficjalne partycje treningowe, walidacyjne i testowe. Zestaw danych pobrano 15 marca 2024 r. Zestaw danych ISIC 2018 użyty w tej pracy był zbiorem danych do segmentacji granic zmian z zadania 1 konkursu ISIC 2018 Challenge (Task 1), pobranym z oficjalnego repozytorium danych International Skin Imaging Collaboration (https://challenge.isic-archive.com/data/#2018). Wersja zestawu danych wykorzystana w tym badaniu odpowiada zadaniu ISIC 2018 Task 1: Lesion Boundary Segmentation. Zestaw danych pobrano 8 lipca 2024 r.

Zbiór danych Synapse wykorzystany w niniejszym badaniu to zbiór obrazów TK brzucha Multi-Atlas Labeling Beyond the Cranial Vault, pobrany z repozytorium Synapse pod identyfikatorem dostępu syn3193805 (https://www.synapse.org/Synapse:syn3193805). Zbiór danych użyty w tej pracy odpowiada powszechnie stosowanemu zbiorowi danych do segmentacji wielu narządów brzucha obejmującemu 30 przypadków. Pobranym archiwum było Abdomen/RawData.zip, dostępne pod identyfikatorem syn3193805. W momencie pobierania repozytorium nie podawało oddzielnego numeru wersji, etykiety wydania ani datowanej wersji. Zgodnie ze standardowym podziałem przyjętym w poprzednich badaniach, 18 przypadków wykorzystano do uczenia, a 12 przypadków do testowania. Podział danych był zgodny z listą przypadków użytą w TransUNet<sup>23</sup>. Konkretnie, przypadki treningowe to case0031, case0007, case0009, case0005, case0026, case0039, case0024, case0034, case0033, case0030, case0023, case0040, case0010, case0021, case0006, case0027, case0028 oraz case0037, natomiast przypadki testowe to case0008, case0022, case0038, case0036, case0032, case0002, case0029, case0003, case0001, case0004, case0025 oraz case0035. Zbiór danych został pobrany 9 lipca 2024 r. Ponieważ w badaniu wykorzystano wyłącznie publicznie dostępne, zanonimizowane zbiory danych i nie prowadzono gromadzenia nowych danych od ludzi ani identyfikowalnych informacji prywatnych, eksperymenty obliczeniowe opisane w niniejszym protokole nie wymagały zgody komisji bioetycznej. Nie uzyskano formalnej pisemnej decyzji instytucji o zwolnieniu z tej procedury. Jeśli wymagają tego lokalne przepisy instytucjonalne, badacze powinni uzyskać decyzję o zwolnieniu przed przeprowadzeniem wtórnych analiz publicznie dostępnych zbiorów danych. Dla niniejszego badania nie był dostępny numer referencyjny zwolnienia z oceny etycznej ani formalna dokumentacja zwolnienia.

1. Przygotowanie zestawów danych

  1. Pobierz zbiór danych do segmentacji zmian skórnych ISIC 2017 z oficjalnego repozytorium International Skin Imaging Collaboration. Użyj oficjalnych partycji treningowej, walidacyjnej i testowej. Zweryfikuj, czy zbiór danych zawiera 2 000 obrazów treningowych, 150 obrazów walidacyjnych i 600 obrazów testowych.
  2. Pobierz zbiór danych do segmentacji zmian skórnych ISIC 2018 z oficjalnego repozytorium International Skin Imaging Collaboration. Użyj oficjalnych partycji treningowej, walidacyjnej i testowej. Zweryfikuj, czy zbiór danych do segmentacji zawiera 2 594 obrazy treningowe, 100 obrazów walidacyjnych i 1 000 obrazów testowych.
  3. Pobierz wieloorganowy zbiór danych do segmentacji Synapse. Użyj standardnego podziału składającego się z 18 przypadków (2 212 przekrojów osiowych) do treningu i 12 przypadków (1 567 przekrojów osiowych) do testów. Nie wprowadzaj oddzielnego zbioru walidacyjnego.
    1. Zarezerwuj 12 przypadków testowych wyłącznie do końcowej ewaluacji. Nie używaj przypadków testowych do trenowania modelu, strojenia hiperparametrów ani wyboru modelu. Zadanie segmentacji obejmuje osiem organów jamy brzusznej: aortę, pęcherzyk żółciowy, śledzionę, lewą nerkę, prawą nerkę, wątrobę, trzustkę i żołądek.
    2. Użyj następującego podziału zbioru danych Synapse. 18 przypadków treningowych to: case0031, case0007, case0009, case0005, case0026, case0039, case0024, case0034, case0033, case0030, case0023, case0040, case0010, case0021, case0006, case0027, case0028 i case0037. 12 przypadków testowych to: case0008, case0022, case0038, case0036, case0032, case0002, case0029, case0003, case0001, case0004, case0025 i case0035.
  4. Zorganizuj każdy zbiór danych w oddzielne foldery z obrazami i maskami. Upewnij się, że każdy obraz ma odpowiadającą mu maskę segmentacyjną z tym samym identyfikatorem przypadku.
    1. Przekształć każdą maskę zmiany skórnej w binarną mapę segmentacji tła i pierwszego planu. Zachowaj oryginalne wieloklasowe etykiety organów dla zbioru danych Synapse.
    2. Dla zbiorów danych ISIC 2017 i ISIC 2018, po konwersji maski binarnej przypisz wartość etykiety 0 do pikseli tła i 1 do pikseli zmiany (pierwszy plan). Piksele o oryginalnych wartościach maski większych od 0 są traktowane jako pierwszy plan i konwertowane na 1, natomiast piksele o oryginalnych wartościach maski równych 0 są traktowane jako tło i pozostają jako 0. Dla zbioru danych Synapse zachowaj oryginalne całkowite wartości etykiet, gdzie 0 reprezentuje klasę tła, a 1–8 reprezentuje osiem klas organów pierwszego planu.
  5. Zmień rozmiar obrazów i masek ISIC 2017 oraz ISIC 2018 do 256 × 256 pikseli bez zachowania oryginalnych proporcji. Nie stosuj przycinania ani dopełniania.
    1. Zmień rozmiar każdego przekroju TK Synapse i odpowiadającej mu mapy etykiet do 224 × 224 pikseli. Użyj interpolacji bilinearnej dla obrazów RGB, interpolacji sklejanej trzeciego rzędu dla przekrojów TK i interpolacji najbliższego sąsiada dla masek segmentacyjnych.
    2. Zmień rozmiar obrazów w języku Python.
      1. Dla zbiorów danych ISIC 2017 i ISIC 2018 użyj niestandardowej transformacji myResize zaimplementowanej w utils.py, która wywołuje torchvision.transforms.functional.resize, aby zmienić rozmiar tensorów obrazu i maski do 256 × 256 pikseli. Nie określ jawnie trybu interpolacji ani argumentu antyaliasingu w tej transformacji.
      2. Dla zbioru danych Synapse użyj scipy.ndimage.zoom w datasets/dataset.py. Zmień rozmiar przekrojów obrazów TK do 224 × 224 pikseli przy użyciu interpolacji sklejanej trzeciego rzędu (order = 3) i zmień rozmiar map etykiet przy użyciu interpolacji najbliższego sąsiada (order = 0). Nie stosuj oddzielnej operacji antyaliasingu ani ustawienia anti_aliasing=True podczas zmiany rozmiaru.
  6. Znormalizuj każdy obraz RGB ISIC przed konwersją na tensor, używając średniej i odchylenia standardowego (SD) specyficznych dla danego zbioru danych zgodnie z Równaniem 1:
    figure-protocol-1 (1)
    ​Następnie przeskaluj znormalizowany obraz do zakresu 0–255 przy użyciu normalizacji min-max.
    1. Użyj µ = 159.922 i σ = 28.871 dla zbioru treningowego ISIC 2017 oraz µ = 148.429 i σ = 25.748 dla zbiorów walidacyjnego i testowego ISIC 2017. Użyj µ = 157.561 i σ = 26.706 dla zbioru treningowego ISIC 2018 oraz µ = 149.034 i σ = 32.022 dla zbiorów walidacyjnego i testowego ISIC 2018.
    2. Konwertuj każdy znormalizowany obraz na tensor o kształcie 3 × 256 × 256. Konwertuj każdą binarną maskę na tensor o kształcie 1 × 256 × 256.
    3. Wykonaj normalizację min-max niezależnie dla każdego obrazu po normalizacji średnią i odchyleniem standardowym specyficznymi dla zbioru danych. Konkretnie, odejmij średnią specyficzną dla zbioru od każdego obrazu i podziel przez odpowiadające odchylenie standardowe.
    4. Oblicz minimalne i maksymalne wartości intensywności z znormalizowanego obrazu i przeskaluj obraz do zakresu 0–255, używając tych wartości minimalnych i maksymalnych dla każdego obrazu. Nie używaj globalnych wartości minimalnych i maksymalnych dla całego zbioru danych w tym kroku przeskalowania min-max.
  7. Przygotuj każdy przekrój TK Synapse jako dwuwymiarowy obraz w skali szarości. Konwertuj każdy przekrój TK na typ float32 i dodaj pojedynczy wymiar kanału, aby uzyskać tensor wejściowy o kształcie 1 × 224 × 224.
    1. Zachowaj każdą mapę etykiet Synapse jako jednokanałową maskę całkowitą o kształcie 224 × 224. Nie stosuj dodatkowej normalizacji średnia-SD na poziomie zbioru danych w ładowarce danych.
    2. Użyj wstępnie przetworzonych plików Synapse dostarczonych w formacie .npz dla przekrojów treningowych i formacie .npy.h5 dla wolumenów testowych. Ładuj tablice obrazów i etykiet bezpośrednio z każdego pliku .npz podczas treningu i bezpośrednio z każdego pliku .npy.h5 podczas testów. Nie stosuj dodatkowego przycinania intensywności, okienkowania TK, normalizacji na poziomie zbioru danych ani ponownego próbkowania surowych wolumenów w udostępnionej ładowarce danych.
    3. Podczas trenowania modelu konwertuj każdy załadowany dwuwymiarowy przekrój na float32, zmień jego rozmiar do docelowego rozmiaru przestrzennego za pomocą scipy.ndimage.zoom z order = 3 dla przekrojów obrazów i order = 0 dla map etykiet, a następnie konwertuj zmienione tablice na tensory z pojedynczym wymiarem kanału.
  8. Zastosuj augmentację danych tylko do zbioru treningowego. Dla ISIC 2017 i ISIC 2018 zastosuj losowe odbicie poziome (p = 0.5), losowe odbicie pionowe (p = 0.5) i losową rotację (p = 0.5) z kątem losowanym z zakresu od 0° do 360°.
    1. Zastosuj tę samą transformację geometryczną do każdej pary obraz-maska. Podczas walidacji i testowania stosuj wyłącznie zmianę rozmiaru, normalizację i konwersję na tensor.
    2. Dla zbioru danych Synapse zastosuj losową rotację i losowe odbicie podczas treningu. Losowo obróć każdą parę obraz-etykieta o k × 90°, gdzie ∈ {0,1,2,3}, losowo odbij parę obraz-etykieta wzdłuż jednej osi przestrzennej lub losowo obróć parę obraz-etykieta o kąt losowany z zakresu od −20° do 20°.
    3. Nie stosuj augmentacji stochastycznej podczas testowania.
    4. Zastosuj augmentację danych do zbioru Synapse za pomocą wzajemnie wykluczających się gałęzi zaimplementowanych w transformacji RandomGenerator.
      1. Dla każdej próbki treningowej najpierw sprawdź warunek random.random() > 0.5. Jeśli warunek jest spełniony, zastosuj random_rot_flip, składający się z losowej rotacji o 90° (k = 0, 1, 2 lub 3), a następnie losowego odbicia wzdłuż jednej osi przestrzennej.
      2. Jeśli pierwsza gałąź nie zostanie wybrana, sprawdź drugi warunek, random.random() > 0.5. Jeśli ten warunek jest spełniony, zastosuj random_rotate, używając losowo wybranego kąta obrotu między −20° a 20°. Jeśli żaden z warunków nie jest spełniony, nie stosuj augmentacji stochastycznej do próbki.
      3. Zastosuj tę samą transformację zarówno do obrazu wejściowego, jak i do odpowiadającej mu mapy etykiet.
  9. Ustaw ziarno losowości przed ładowaniem zbioru danych, wstępnym przetwarzaniem i treningiem. Użyj ziarn losowości 1, 52 i 100 dla głównych eksperymentów porównawczych i ziarna 100 dla badań ablacyjnych, chyba że wskazano inaczej.
    1. Zainicjalizuj generatory liczb losowych dla Python, NumPy, PyTorch CPU, PyTorch CUDA i cuDNN przed skonstruowaniem ładowarki danych. Zachowaj partycje zbioru danych, procedury wstępnego przetwarzania, ustawienia augmentacji, parametry normalizacji, strategię zmiany rozmiaru i wstępne przetwarzanie ewaluacji bez zmian we wszystkich uruchomieniach z różnymi ziarnami.
    2. Ustaw num_workers = 0 dla eksperymentów ISIC i Synapse, aby ładowanie danych odbywało się w procesie głównym. Przed skonstruowaniem zbioru danych i utworzeniem DataLoader, zainicjalizuj globalne ziarno losowości za pomocą funkcji set_seed, aby zainicjować generatory liczb losowych dla Python, NumPy, PyTorch CPU, PyTorch CUDA i cuDNN. Nie definiuj oddzielnej funkcji worker_init_fn ani generatora losowości specyficznego dla DataLoader, ponieważ nie są one używane w udostępnionej implementacji.

2. Konstrukcja architektury MVM-UNet

  1. Zbuduj proponowaną sieć Multi-view Vision Mamba UNet (MVM-UNet), wykorzystując architekturę koder-dekoder w kształcie litery U.
  2. Ustaw wymiary obrazu wejściowego na H × W × 3. Przesuń obraz wejściowy przez warstwę embeddingu patchy.
    1. Zaimplementuj warstwę embeddingu patchy, używając splotu 2D o rozmiarze jądra 4 × 4, kroku (stride) 4, trzech kanałach wejściowych i 96 kanałach wyjściowych.
    2. Przekształć mapę cech wejściowych do rozdzielczości przestrzennej H/4 × W/4 z liczbą kanałów wyjściowych C = 96.
  3. Skonstruuj cztery etapy kodera i cztery etapy dekodera. Po każdym etapie kodera zmniejsz rozdzielczość przestrzenną o połowę i podwoj wymiar kanałów.
  4. Zastosuj symetryczną konfigurację koder-dekoder. Ustaw liczbę bloków MVV w koderze i dekoderze na {2, 2, 2, 2}.
    1. Umieść dwa bloki MVV w każdym etapie kodera i dwa bloki MVV w każdym etapie dekodera.
  5. Wstaw blok MVV do każdego etapu kodera i dekodera. Wykorzystaj moduł MV4D jako rdzeń modułu ekstrakcji cech wewnątrz każdego bloku MVV.
  6. Wstaw moduł MFusion Mamba pomiędzy koder a dekoder. Użyj tego modułu do fuzji wieloetapowych cech kodera przed dekodowaniem.
  7. Skonfiguruj ogólny przepływ pracy MVM-UNet. Wykorzystaj MV4D do ekstrakcji cech w całym koderze.
    1. Zachowaj wyjścia kodera jako połączenia pomijające (skip connections). Prześlij wyjścia kodera do odpowiadających im etapów dekodera.
    2. Prześlij cechy kodera do modułu MFusion Mamba przed dekodowaniem. Progresywnie zwiększaj rozdzielczość (upsample) zfuzowanej reprezentacji w dekoderze i wygeneruj końcową mapę segmentacji za pomocą głowicy segmentacji.
  8. Prześlij obraz wejściowy ∈ ℝB×H×W×3 przez warstwę embeddingu patchy, aby otrzymać figure-protocol-2 Gdzie C = 96.
    1. Wygeneruj mapy cech kodera: E∈ ℝB×H/4×W/4×CE∈ ℝB×H/8×W/8×2C, E∈ ℝB×H/16×W/16×4C oraz E∈ ℝB×H/32×W/32×8C. Użyj bloków MVV zawierających MV4D w każdym etapie kodera.
    2. Zachowaj każdą cechę kodera dla odpowiadającego jej połączenia pomijającego. Prześlij wszystkie cechy kodera do modułu MFusion Mamba w celu wieloetapowej fuzji cech.
    3. Dostosuj cechy kodera do wspólnej przestrzeni cech przed fuzją grubą i precyzyjną wewnątrz modułu MFusion Mamba. Prześlij zfuzowaną reprezentację do dekodera.
    4. Progresywnie zwiększaj rozdzielczość reprezentacji dekodera. Zfuzuj cechy dekodera z E3 przy H/16 × W/16, E przy H/8 × W/8 oraz E1 przy H/4 × W/4.
    5. Zwiększ rozdzielczość końcowej cechy dekodera do oryginalnej rozdzielczości obrazu. Wygeneruj mapę predykcji figure-protocol-3 ∈ ℝB×H×W×K. Gdzie K = 1 dla binarnej segmentacji zmian i K = 8 dla wieloorganowej segmentacji Synapse.
    6. Zapoznaj się z Rysunkiem 2 w celu poznania ogólnej architektury sieci oraz z Tabelą uzupełniającą 1 w celu uzyskania pełnej specyfikacji architektury warstwa po warstwie, w tym operacji, głównych parametrów i wymiarów cech wyjściowych dla każdego etapu.
    7. Warstwy przejścia koder–dekoder
      1. Zmniejsz rozdzielczość cech kodera za pomocą warstw przejścia patch-merging. Dla każdego przejścia pobierz cztery przestrzennie przeplatane grupy cech z sąsiedztwa 2 × 2, skonkatenuj je wzdłuż wymiaru kanałów, zastosuj normalizację warstwową (LayerNorm) i rzutuj wynikową cechę 4C-wymiarową na 2C kanałów za pomocą liniowej warstwy bez przesunięcia (bias-free). Operacja ta zmniejsza rozdzielczość przestrzenną dwukrotnie, jednocześnie podwajając wymiar kanałów.
      2. Zwiększ rozdzielczość cech dekodera za pomocą warstw przejścia patch-expanding. Zastosuj liniową projekcję bez przesunięcia, przearanżuj przestrzennie rozszerzone cechy, aby zwiększyć rozdzielczość dwukrotnie, i zastosuj LayerNorm po rozszerzeniu przestrzennym. Powtórz tę operację, aby progresywnie zrekonstruować mapy cech od H/32 × W/32 do H/16 × W/16, H/8 × W/8 i H/4 × W/4.
      3. Dostosuj cechy kodera wewnątrz modułu MFusion Mamba, zmieniając ich rozmiar do docelowej rozdzielczości przestrzennej za pomocą interpolacji bilinearnej (align_corners = False), a następnie stosując wyuczalną liniową projekcję kanałów przed fuzją cech.
    8. Głowica segmentacji
      1. Zwiększ rozdzielczość końcowej mapy cech dekodera z H/4 × W/4 do oryginalnej rozdzielczości obrazu (H × W) za pomocą końcowej warstwy patch-expanding. Zastosuj projekcję liniową, wykonaj przearanżowanie przestrzenne z czynnikiem rozszerzenia 4 i zastosuj LayerNorm.
      2. Rzutuj zrekonstruowaną mapę cech na K kanałów wyjściowych za pomocą splotu 1 × 1 po konwersji tensora do formatu channel-first.
      3. Wygeneruj końcową predykcję podczas ewaluacji, stosując funkcję aktywacji sigmoid dla binarnej segmentacji zmian lub funkcję aktywacji softmax, a następnie argmax dla wieloorganowej segmentacji Synapse. Nie stosuj funkcji aktywacji wewnątrz samej głowicy segmentacji.

figure-protocol-4
Rysunek 2. Ogólna architektura Multi-View Mamba U-Net (MVM-UNet). Przegląd proponowanej architektury Multi-View Mamba U-Net (MVM-UNet). Obraz wejściowy jest konwertowany na osadzenia patchy (patch embeddings) i przetwarzany przez cztery etapy kodera składające się z bloków Multi-View Vision (MVV) oddzielonych operacjami łączenia patchy (patch-merging). Cechy kodera są agregowane przez Multi-stage Fusion Mamba (MFusion Mamba) i przekazywane do dekodera poprzez połączenia pomijające (skip connections). Dekoder sukcesywnie przywraca rozdzielczość przestrzenną za pomocą operacji rozszerzania patchy (patch-expanding) i generuje końcową mapę segmentacji poprzez warstwę projekcji. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

3. Budowa modułu MV4D

  1. Wykorzystaj moduł MV4D jako podstawową jednostkę ekstrakcji cech w bloku MVV. Przekaż wejściowe fragmenty cech (feature patches) do czterech gałęzi par skanowania. Pełny pseudokod spłaszczania przestrzennego, konstrukcji indeksów par skanowania, gromadzenia sekwencji, przetwarzania S6/Mamba, odwrotnego uporządkowania przestrzennego, fuzji par skanowania, fuzji SFusion Mamba, projekcji i zmiany kształtu wyjścia znajduje się w Algorytmie 1, Pliku uzupełniającym 1.
  2. Zastosuj dokładnie te procedury generowania indeksów skanowania zygzakowatego, hierarchicznego, spiralnego i radialnego, które zostały zaimplementowane w models/mvmunet/core.py. Dla każdej strategii skanowania potraktuj kolejność skanowania w przód oraz jej kolejność odwrotną jako jedną dwukierunkową parę skanowania.
  3. Skonstruuj parę skanowania zygzakowatego. Przesuwaj się po cechach obrazu w naprzemiennych kierunkach na końcu każdego wiersza lub kolumny. Wykorzystaj ten wzór skanowania, aby zrównoważyć lokalne i globalne informacje przestrzenne.
  4. Skonstruuj parę skanowania hierarchicznego. Przechwyć cechy w wielu skalach przestrzennych. Wykorzystaj ten wzór skanowania, aby wzmocnić ekstrakcję reprezentacji zarówno lokalnych, jak i globalnych.
  5. Skonstruuj parę skanowania spiralnego. Skanuj cechy obrazu od środka w stronę krawędzi lub od krawędzi w stronę środka. Wykorzystaj ten wzór skanowania, aby usprawnić ekstrakcję globalnych informacji o konturach.
  6. Skonstruuj parę skanowania radialnego. Skanuj cechy obrazu wzdłuż wielu kierunków promieniowych. Wykorzystaj ten wzór skanowania, aby usprawnić ekstrakcję lokalnych szczegółów granic i krawędzi.
  7. Połącz każdą parę skanowania przed przekazaniem połączonej sekwencji do bloku S6. Zastosuj projekt parowania, aby zwiększyć odporność każdej strategii skanowania przy zachowaniu wydajności obliczeniowej.
  8. Przekaż sekwencję wyjściową z każdej gałęzi pary skanowania do bloku S6. Uzyskaj cztery reprezentacje cech odpowiadające widokom skanowania zygzakowatego, hierarchicznego, spiralnego i radialnego.
  9. Połącz cztery wyekstrahowane reprezentacje cech za pomocą modułu SFusion Mamba. Zastosuj dwie równoległe ścieżki fuzji. W pierwszej ścieżce zintegruj cztery cechy poprzez dodawanie element po elemencie.
  10. W drugiej ścieżce SFusion Mamba dokonaj konkatenacji czterech cech. Przetwórz skonkatenowaną reprezentację za pomocą Conv1d i Mamba. Zredukuj wymiar kanałów za pomocą warstwy projekcji, aby dopasować go do wymiaru wyjściowego bloku S6.
  11. Skonfiguruj blok S6/Mamba, przyjmując wymiar cech C jako wymiar modelu. Użyj warstwy projekcji, aby zmapować każdą połączoną cechę pary skanowania z powrotem do wymiaru kanału C przed fuzją.
  12. W SFusion Mamba wykonaj dodawanie element po elemencie w pierwszej ścieżce. W drugiej ścieżce dokonaj konkatenacji cech z czterech widoków skanowania przed Conv1d, Mamba i projekcją liniową. Zastosuj operacje normalizacji, projekcji liniowej, splotu separowalnego głębiowo (depth-wise separable convolution) oraz aktywacji otaczające MV4D, zgodnie z opisem w kroku 4.
  13. Dodaj wyniki dwóch ścieżek fuzji, aby uzyskać końcowy wynik modułu MV4D.
  14. Skonstruuj cztery komplementarne gałęzie par skanowania zamiast stosowania wyłącznie kierunków skanowania poziomego i pionowego. Wykorzystaj skanowanie zygzakowate, aby podkreślić ciągłe przemieszczanie się w przestrzeni, skanowanie hierarchiczne do wzmocnienia reprezentacji wieloskalowej, skanowanie spiralne do przechwytywania informacji o konturach od środka do krawędzi oraz skanowanie radialne do usprawnienia ekstrakcji lokalnych szczegółów zorientowanych na granice.
  15. Przetwarzaj każdą gałąź pary skanowania niezależnie. Połącz uzyskane cechy za pomocą SFusion Mamba. Zmapuj każdą przetworzoną sekwencję z powrotem do jej oryginalnego porządku przestrzennego przed fuzją.
  16. Dla mapy cech wejściowych ∈ ℝB×H×W×C, spłaszcz ją do postaci Xseq ∈ ℝB×L×C, gdzie L = H × W.
  17. Zmień kolejność spłaszczonej sekwencji zgodnie z indeksami skanowania dla każdej gałęzi pary skanowania. Przetwórz każdą uporządkowaną sekwencję za pomocą bloku S6. Przywróć przetworzoną sekwencję do oryginalnego porządku przestrzennego.
  18. Połącz cechy z czterech widoków skanowania poprzez ścieżkę addytywną oraz ścieżkę SFusion Mamba, aby uzyskać końcowy wynik MV4D. Architekturę MV4D przedstawiono na Rysunku 3, a pełny przepływ implementacji na poziomie tensorów opisano w Algorytmie 1, Pliku uzupełniającym 1.
  19. Skorzystaj z pełnej implementacji programowej w models/mvmunet/core.py. Plik ten zawiera generatory indeksów skanowania, PairwiseScanMamba, SequenceS6, SFusion Mamba oraz moduł opakowujący (wrapper) MV4D.
  20. Wygeneruj wielowidokowe indeksy skanowania:
    1. Wygeneruj indeksy skanowania zgodnie z udostępnioną implementacją w models/mvmunet/core.py. Dla mapy cech wejściowych o rozmiarze przestrzennym H × W spłaszcz każdą lokalizację piksela do jednowymiarowego indeksu za pomocą wzoru: index = r × W + c, gdzie r i c oznaczają odpowiednio współrzędne wiersza i kolumny.
    2. Wygeneruj skan zygzakowaty, przechodząc przez przekątne obrazu o stałej wartości r + c. Zbierz prawidłowe indeksy pikseli dla każdej przekątnej i zmieniaj kierunek przechodzenia poprzez odwrócenie kolejności każdej parzystej przekątnej.
    3. Wygeneruj skan hierarchiczny poprzez rekurencyjny podział obrazu na cztery kwadranty. Odwiedzaj kolejno kwadranty: górny lewy, górny prawy, dolny lewy i dolny prawy, dopóki wysokość lub szerokość podregionu nie będzie mniejsza lub równa 2 pikselom, a następnie przejdź przez pozostałe piksele w kolejności wierszowej.
    4. Wygeneruj skan spiralny, przechodząc po zewnętrznej granicy obrazu od lewej do prawej wzdłuż górnego wiersza, w dół wzdłuż prawej kolumny, od prawej do lewej wzdłuż dolnego wiersza i w górę wzdłuż lewej kolumny, stopniowo zwężając granicę w stronę środka obrazu.
    5. Wygeneruj skan radialny, sortując każdy piksel według kwadratu jego odległości od środka obrazu, a następnie według jego kąta polarnego obliczonego za pomocą funkcji atan2.
    6. Wygeneruj skan odwrotny dla każdej strategii skanowania poprzez odwrócenie odpowiadającej mu kolejności skanowania w przód. Połącz sekwencje skanowania w przód i w tył, aby utworzyć jedną parę skanowania dla każdej strategii, przed przekazaniem par skanowania do modułu MV4D.

figure-protocol-5
Rycina 3. Architektura modułu Multi-View 4-Directional (MV4D). Struktura modułu ekstrakcji cech Multi-View 4-Directional (MV4D). Patche wejściowe są przetwarzane przez cztery komplementarne gałęzie par skanowania, obejmujące skanowanie zygzakowate, hierarchiczne, spiralne i radialne. Cechy wyekstrahowane z czterech gałęzi są łączone, przetwarzane za pomocą bloków przestrzeni stanów i integrowane przez Spatial Fusion Mamba (SFusion Mamba) w celu wygenerowania wyjściowej reprezentacji cech. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

4. Konstrukcja bloku MVV

  1. Zbuduj blok MVV, wykorzystując jedną gałąź główną i dwie gałęzie pomocnicze. Zastosuj ogólną strukturę przedstawioną na Rysunku 4.
  2. Zastosuj normalizację warstwową (layer normalization) do cechy wejściowej w gałęzi głównej. Przekaż znormalizowaną cechę do warstwy liniowej. Następnie przekaż przetransformowaną cechę do splotu separowalnego głębokościowo (depth-wise separable convolution).
  3. Przetwórz przetransformowaną cechę za pomocą splotu separowalnego głębokościowo. Zastosuj funkcję aktywacji GELU. Przekaż aktywowaną cechę do modułu MV4D.
  4. Zbuduj pierwszą gałąź pomocniczą jako tożsamościowe połączenie rezydualne (identity residual connection). Połącz cechę wejściową bezpośrednio z końcowym wyjściem. Wykorzystaj tę gałąź do zachowania oryginalnej reprezentacji i stabilizacji procesu uczenia.
  5. Zbuduj drugą gałąź pomocniczą jako gałąź projekcji w dół-w górę (projection down-up branch). Skompresuj cechę wejściową za pomocą warstwy projekcji w dół (down-projection layer). Przywróć wymiar cechy za pomocą warstwy projekcji w górę (up-projection layer).
  6. Połącz wyjścia gałęzi głównej oraz obu gałęzi pomocniczych, aby uzyskać końcowe wyjście bloku MVV. Pełną architekturę przedstawiono na Rysunku 4.
  7. Ustaw wymiar ukryty gałęzi głównej równy wymiarowi kanału wejściowego Cs. Zastosuj LayerNorm(Cs) przed główną projekcją liniową i użyj warstwy liniowej o wymiarach CsCs. Użyj splotu separowalnego głębokościowo, składającego się ze splotu głębokościowego (depth-wise convolution) 3×3 z dopełnieniem (padding) 1, grupami groups = Cs i bez obciążenia (bias), a następnie splotu punktowego (point-wise convolution) 1×1 bez obciążenia.
  8. Zastosuj funkcję aktywacji GELU po splotu separowalnym głębokościowo. Przekaż aktywowaną cechę do MV4D i zastosuj wyjściową projekcję liniową o wymiarach CsCs. Skonfiguruj gałąź projekcji w dół-w górę, używając LayerNorm(Cs), współczynnika projekcji 4, projekcji w dół CsCs/4, aktywacji GELU oraz projekcji w górę Cs/4→Cs.
  9. Połącz gałąź tożsamościową, gałąź projekcji w dół-w górę oraz przetworzoną za pomocą drop-path gałąź główną, stosując dodawanie element po elemencie, aby uzyskać końcowe wyjście bloku MVV.

figure-protocol-6
Rysunek 4. Architektura bloku Multi-View Vision (MVV). Struktura bloku Multi-View Vision (MVV). Blok składa się z głównej gałęzi ekstrakcji cech zawierającej moduł Multi-View 4-Directional (MV4D) wraz z warstwami splotu głębokościowego (depthwise convolution), normalizacji i projekcji liniowej. Pomocnicza gałąź projekcji góra-dół zapewnia bramkowaną modulację cech poprzez mnożenie element po elemencie przed dodaniem rezydualnym w celu wygenerowania wyjściowej reprezentacji cech. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

5. Konstrukcja MFusion Mamba

  1. Zbierz mapy cech ze wszystkich etapów kodera. Dopasuj cechy kodera do jednolitej przestrzeni reprezentacji poprzez zmianę rozmiaru lub rzutowanie w razie potrzeby. Pełny przebieg implementacji na poziomie tensorów znajduje się w Algorytmie 2, Pliku uzupełniającym 1.
  2. W razie potrzeby zmień rozmiar cech kodera do docelowej rozdzielczości przestrzennej. Rzutuj cechy o różnych wymiarach kanałów na ten sam wymiar kanałów. Dopasuj wszystkie cechy kodera przed wieloetapową fuzją.
  3. Wprowadź dopasowane cechy kodera do komponentu fuzji wstępnej (Coarse Fusion). Wykonaj fuzję wstępną przy użyciu iloczynu Hadamarda. Wygeneruj reprezentację z fuzji wstępnej.
  4. Wprowadź reprezentację z fuzji wstępnej do komponentu fuzji precyzyjnej (Fine Fusion). Skonstruuj dwie równoległe ścieżki fuzji precyzyjnej. Przetwarzaj obie ścieżki niezależnie.
  5. Przetwórz pierwszą ścieżkę fuzji precyzyjnej za pomocą warstwy liniowej. Przetwórz drugą ścieżkę fuzji precyzyjnej za pomocą up-projection, Conv1d, Mamba oraz down-projection. Przywróć wymiar cech po operacji down-projection.
  6. Połącz wyjścia dwóch ścieżek fuzji precyzyjnej przy użyciu iloczynu Hadamarda. Zastosuj końcową warstwę liniową. Uzyskaj wyjście MFusion Mamba.
  7. Wprowadź wyjście MFusion Mamba do dekodera. Zdekoduj fuzjonowaną reprezentację wieloetapową wraz z cechami skip-connections kodera-dekodera. Wygeneruj końcową mapę segmentacji.
  8. Dopasuj cechy kodera z różnych etapów do jednolitej przestrzeni cech przed fuzją wstępną. Przetwórz dopasowane reprezentacje cech w etapach fuzji wstępnej i precyzyjnej. Architekturę MFusion Mamba przedstawiono na Rysunku 5, a pełny przebieg implementacji na poziomie tensorów w uzupełniającym Algorytmie 2.
  9. Użyj parametrów implementacji MFusion Mamba w następujący sposób. Dla każdej cechy kodera Ei rzutuj wymiar kanałów z Ci na Ct. W razie potrzeby zmień rozmiar rzutowanych cech do docelowego rozmiaru przestrzennego, stosując interpolację biliniową z parametrem align_corners=False.
  10. Zastosuj iloczyn Hadamarda, aby przeprowadzić fuzję wstępną (Coarse Fusion) dopasowanych cech kodera. Skonfiguruj pierwszą ścieżkę fuzji precyzyjnej przy użyciu warstwy liniowej o wymiarach C→ Ct. Skonfiguruj drugą ścieżkę fuzji precyzyjnej przy użyciu up-projection C→ 2Ct, Conv1d, bloku Mamba/S6 o wymiarze modelu 2Ct, jednym kierunku skanowania, wymiarze stanu 16 oraz down-projection 2C→ Ct.
  11. Fuzjonuj wyjścia ścieżek fuzji precyzyjnej przy użyciu iloczynu Hadamarda. Zastosuj końcowe rzutowanie liniowe o wymiarach od Ct do Ct. Wprowadź fuzjonowaną reprezentację wieloetapową do dekodera.
  12. Fuzjonuj wieloetapowe cechy kodera za pomocą MFusion Mamba:
    1. Zbierz cechy kodera ze wszystkich czterech etapów kodera (E1, E2, E3 i E4) i użyj ich jako wejścia do modułu MFusion Mamba. Do fuzji w dekoderze nie wybieraj tylko cechy kodera z odpowiadającego etapu.
    2. Dopasuj wszystkie cechy kodera do rozdzielczości przestrzennej wymaganej dla aktualnego etapu dekodera. Przed fuzją cech zmień rozmiar cech kodera do rozdzielczości docelowej i rzutuj je na wymagany wymiar kanałów.
    3. Powtórz procedurę dopasowania cech dla każdego etapu dekodera. Gdy dekoder pracuje w rozdzielczościach H/16 × W/16, H/8 × W/8 i H/4 × W/4, zmień rozmiar i rzutuj E1, E2, E3 i E4 do odpowiadającej im docelowej przestrzeni cech.
    4. Fuzjonuj dopasowane wieloetapowe cechy kodera za pomocą operacji Coarse Fusion i Fine Fusion modułu MFusion Mamba, a następnie połącz fuzjonowaną reprezentację z cechami dekodera w odpowiedniej skali.
    5. Wykonaj operacje rzutowania cech, zmiany rozmiaru i fuzji zgodnie z udostępnioną implementacją w pliku models/mvmunet/core.py.

figure-protocol-7
Rysunek 5. Architektura modułu Multi-stage Fusion Mamba (MFusion Mamba). Struktura modułu Multi-stage Fusion Mamba (MFusion Mamba). Cechy wieloskalowego kodera są najpierw łączone poprzez fuzję wstępną (coarse fusion), a następnie dopracowywane w module fuzji precyzyjnej (Fine Fusion), składającym się z projekcji liniowej, splotu jednowymiarowego (Conv1d), bloku Mamba oraz warstw projekcji cech, przed wygenerowaniem zfuzowanej reprezentacji cech wykorzystywanej przez dekoder. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

6. Trenowanie modelu

  1. Trenuj MVM-UNet w systemie Ubuntu 22.04.1 z jądrem Linux w wersji 6.8.0. Wykorzystaj stację roboczą wyposażoną w procesor Intel Core i9-13900K 13. generacji oraz GPU NVIDIA A800. Stosuj tę samą konfigurację sprzętową przez cały proces trenowania i ewaluacji.
  2. Zaimplementuj i wytrenuj model przy użyciu PyTorch 2.0.1 z CUDA 11.8. Przed rozpoczęciem trenowania zainstaluj wszystkie wymagane zależności oprogramowania.
  3. Użyj optymalizatora AdamW z początkową prędkością uczenia 3 × 10−5, β1 = 0.9, β2 = 0.999, ε = 1 × 10−8 oraz współczynnikiem decay wag wynoszącym 0.01. Ustaw wielkość partii (batch size) na 32, chyba że zaznaczono inaczej.
  4. Trenuj każdy model przez 300 epok. Zastosuj harmonogram prędkości uczenia z wyżarzaniem cosinusoidalnym (cosine annealing) z ηmin = 1 × 10−5. Ustaw rozmiar obrazu wejściowego na 256 × 256 dla zbiorów ISIC 2017 i ISIC 2018 oraz na 224 × 224 dla zbioru Synapse.
  5. W głównych eksperymentach porównawczych wykorzystaj trzy niezależne ziarna losowości (random seeds: 1, 52 i 100). Powtórz pełną procedurę trenowania i ewaluacji dla każdego ziarna. Końcowe wyniki ilościowe przedstaw jako średnią ± SD z trzech uruchomień.
  6. Dla wszystkich badań ablacyjnych stosuj stałe ziarno losowości 100, chyba że zaznaczono inaczej. Pozostaw bez zmian podziały zbioru danych, strategię preprocessingu, architekturę sieci, optymalizator, prędkość uczenia, wielkość partii oraz liczbę epok trenowania we wszystkich eksperymentach ablacyjnych.
  7. Do binarnej segmentacji zmian w zbiorach ISIC 2017 i ISIC 2018 wykorzystaj funkcję straty BCE-Dice. Ustaw wagi dla strat BCE i Dice na 1.0. Dla zbioru Synapse wykorzystaj funkcję straty CE-Dice i ustaw wagi dla entropii krzyżowej (CE) oraz straty Dice na 1.0.
  8. Zmień rozmiar, znormalizuj i rozszerz (augment) obrazy treningowe ISIC 2017 i ISIC 2018 zgodnie z procedurą preprocessingu opisaną w kroku 1. Zastosuj zmianę rozmiaru, losową rotację i losowe odbicie lustrzane dla obrazów treningowych Synapse zgodnie z opisem w kroku 1. Stosuj identyczne ustawienia preprocessingu podczas wszystkich cykli trenowania.
  9. Wybieraj punkty kontrolne (checkpoints) modelu zgodnie z protokołem walidacji specyficznym dla danego zbioru danych. Dla ISIC 2017 i ISIC 2018 zapisuj punkt kontrolny z najlepszym wynikiem walidacji, przeprowadzając walidację co 30 epok. Trenuj model Synapse przez 300 epok bez zbioru walidacyjnego i do testów wykorzystaj końcowy punkt kontrolny z etapu trenowania.
  10. Oficjalny zbiór walidacyjny wykorzystuj wyłącznie do wyboru modelu dla ISIC 2017 i ISIC 2018. Nie używaj zbioru testowego Synapse do trenowania, dostrajania hiperparametrów ani wyboru punktów kontrolnych. Całe dane testowe zarezerwuj wyłącznie do końcowej ewaluacji.
  11. W celu zapewnienia powtarzalności zastosuj następujące parametry trenowania. Ustaw wielkość partii na 32 dla wszystkich zbiorów danych. Użyj optymalizatora AdamW z początkową prędkością uczenia 3 × 10−5, β1 = 0.9, β2 = 0.999, ε = 1 × 10−8 oraz współczynnikiem decay wag 1 × 10−2.
  12. Skonfiguruj harmonogram prędkości uczenia z wyżarzaniem cosinusoidalnym z Tmax = 50 i ηmin = 1×10−5 dla ISIC 2017 i ISIC 2018. Dla Synapse skonfiguruj harmonogram z Tmax = 100 i ηmin = 1×10−5. Pozostaw konfigurację harmonogramu bez zmian we wszystkich powtórzonych eksperymentach.
  13. Trenuj wszystkie modele przy użyciu pełnej precyzji arytmetycznej FP32. Wyłącz automatyczne trenowanie z mieszaną precyzją (AMP). Nie stosuj przycinania gradientów (gradient clipping) podczas optymalizacji.
  14. Zachowaj spójność ustawień precyzji, strategii aktualizacji gradientu, konfiguracji optymalizatora, harmonogramu prędkości uczenia oraz protokołu ziaren losowości we wszystkich eksperymentach porównawczych, badaniach ablacyjnych i uruchomieniach sprawdzających powtarzalność.
  15. Wybierz najlepszy punkt kontrolny modelu:
    1. Ewaluuj model na zbiorze walidacyjnym po każdej epoce trenowania dla zbiorów danych ISIC 2017 i ISIC 2018.
    2. Oblicz stratę Binary Cross-Entropy (BCE)-Dice dla każdej partii walidacyjnej i wyznacz średnią stratę walidacyjną dla całego zbioru walidacyjnego.
    3. Zapisz aktualny model jako najlepszy punkt kontrolny, gdy średnia strata walidacyjna będzie niższa niż wcześniej odnotowane minimum.
    4. Podczas walidacji rejestruj średni wskaźnik Intersection over Union (mIoU), współczynnik podobieństwa Dice (DSC), dokładność (Acc), swoistość (Spe) oraz czułość (Sen) wyłącznie w celu monitorowania wydajności. Nie używaj tych metryk jako kryterium wyboru punktu kontrolnego.

7. Ewaluacja modelu

  1. Oceń wytrenowany model, wykorzystując oficjalny zbiór testowy dla każdego zestawu danych. Zbioru testowego używaj wyłącznie do końcowej oceny wydajności.
  2. Dla zbiorów ISIC 2017 i ISIC 2018 oblicz mIoU, DSC, Acc, Sen oraz Spe. We wszystkich obliczeniach wykorzystaj wartości prawdziwie dodatnie (TP), fałszywie dodatnie (FP), prawdziwie ujemne (TN) i fałszywie ujemne (FN) na poziomie pikseli.
  3. Zastosuj funkcję aktywacji sigmoid do wyjścia modelu dla ISIC 2017 i ISIC 2018. Przekształć mapę prawdopodobieństwa w binarną maskę segmentacji, stosując próg 0.5. Oblicz metryki ewaluacyjne zgodnie z Równaniami 2–6:
    figure-protocol-8 (2)
    figure-protocol-9 (3)
    figure-protocol-10 (4)
    figure-protocol-11 (5)
    figure-protocol-12 (6)
  4. Dla zbioru Synapse zastosuj funkcję aktywacji softmax do wyjścia modelu. Przypisz każdy piksel lub woksel do klasy o najwyższym prawdopodobieństwie, korzystając z operacji argmax. Oblicz DSC oraz odległość Hausdorffa z 95. percentylem (HD95) dla każdego organu w obszarze zainteresowania i podaj średnie wartości dla wszystkich przypadków testowych.
  5. Porównaj model MVM-UNet z reprezentatywnymi metodami segmentacji opartymi na CNN, Transformerach oraz modelach przestrzeni stanów (SSM). Dla wszystkich metod zastosuj identyczne podziały zbiorów danych, procedury preprocessingu, rozdzielczości wejściowe oraz metryki ewaluacyjne.
  6. Wykorzystaj oficjalne podziały na zbiory treningowe, walidacyjne i testowe dla ISIC 2017 i ISIC 2018. Dla zbioru Synapse zastosuj standardny podział na 18 przypadków treningowych i 12 przypadków testowych. Ustaw rozdzielczość wejściową dla zbiorów ISIC oraz dla zbioru Synapse.
  7. Zreprodukuj metody bazowe, korzystając z ich oficjalnych implementacji, jeśli są dostępne. Wyniki zreprodukowane przedstaw jako średnią ± SD z powtórzonych uruchomień. Wartości raportowane w literaturze pozostaw w formie oryginalnej i odróżnij je w odpowiednich przypisach do tabel.
  8. Przeprowadź badania ablacyjne, stosując stałe ziarno losowości (seed) równe 100, chyba że wskazano inaczej. Pozostaw bez zmian podziały zbiorów danych, procedurę preprocessingu, rozdzielczość wejściową, optymalizator, harmonogram tempa uczenia, wielkość partii (batch size), liczbę epok, funkcję straty oraz metryki ewaluacyjne we wszystkich eksperymentach ablacyjnych.
  9. Oceń wpływ komponentów MV4D, SFusion Mamba, gałęzi Up-Down Projection w bloku MVV, MFusion Mamba, rozmiaru obrazu wejściowego, wartości dropout oraz konfiguracji warstw kodera-dekodera. W każdym eksperymencie ablacyjnym modyfikuj tylko jeden wybrany komponent lub parametr.
  10. Przeprowadź test znaków rang Wilcoxona, używając sparowanych wyników dla każdego obrazu w przypadku ISIC 2017 i ISIC 2018 oraz sparowanych wyników dla każdego przypadku w przypadku Synapse. Przyjmij wartość p mniejszą niż 0.05 jako wskaźnik istotności statystycznej.
  11. Oceń wydajność obliczeniową, korzystając z tego samego środowiska sprzętowego i rozdzielczości wejściowej dla wszystkich metod. Zmierz czas trenowania na epokę, czas wnioskowania na obraz, maksymalne zużycie pamięci GPU podczas trenowania, liczbę parametrów modelu oraz liczbę operacji zmiennoprzecinkowych (FLOPs). Oblicz FLOPs na podstawie jednego przejścia w przód (forward pass).
  12. Wybierz reprezentatywne przykłady jakościowe wyłącznie ze zbioru testowego po zakończeniu ewaluacji modelu. Porównaj oryginalny obraz, maskę referencyjną (ground-truth) i maskę przewidzianą, stosując identyczne przypadki testowe dla wszystkich metod. Wybierz reprezentatywne przykłady zawierające małe obiekty, nieregularne krawędzie, niejednoznaczne granice oraz reprezentatywne struktury wieloorganowe.
  13. Oblicz metryki ewaluacyjne i przeprowadź analizę statystyczną:
    1. Oblicz metryki segmentacji dla zbiorów danych ISIC 2017 i ISIC 2018 w języku Python, korzystając z bibliotek NumPy oraz sklearn.metrics.confusion_matrix. Zastosuj próg 0.5 dla przewidzianej mapy prawdopodobieństwa, wyznacz wartości TP, FP, TN i FN na poziomie pikseli, a następnie oblicz mIoU, DSC, Acc, Sen i Spe na podstawie tych wartości.
    2. Oblicz DSC i HD95 dla zbioru danych Synapse, korzystając odpowiednio z funkcji medpy.metric.binary.dc oraz medpy.metric.binary.hd95. Przed obliczeniem metryk ewaluacyjnych zastosuj funkcję softmax, a następnie argmax do wyjścia modelu.
    3. Oblicz liczbę FLOPs i parametrów trenowalnych za pomocą thop.profile przy jednym przejściu w przód.
    4. Przeprowadź test znaków rang Wilcoxona w języku Python, korzystając z scipy.stats.wilcoxon. Wykorzystaj sparowane wartości metryk dla każdego obrazu w przypadku zbiorów ISIC 2017 i ISIC 2018 oraz sparowane wartości metryk dla każdego przypadku w przypadku zbioru Synapse.

8. Definicja funkcji straty

  1. Do segmentacji wieloklasowej zastosuj standardową funkcję straty entropii krzyżowej (CE), a do segmentacji binarnej standardową funkcję straty BCE. Do segmentacji wykorzystaj standardową formulację straty Dice. Równania 7–11 definiują funkcje straty użyte w niniejszym protokole.
    figure-protocol-13 (7)
    figure-protocol-14 (8)
    figure-protocol-15 (9)
    figure-protocol-16 (10)
    figure-protocol-17 (11)
  2. Dla zbiorów ISIC 2017 oraz ISIC 2018 ustaw wagi strat BCE i Dice na 1,0, tak aby figure-protocol-181 = 1,0 oraz figure-protocol-192 = 1,0. Dla zbioru Synapse ustaw wagi strat CE i Dice na 1,0, tak aby φ1 = 1,0 oraz φ2 = 1,0.
  3. Zaimplementuj funkcje straty w pliku utils.py. Do członu BCE użyj nn.BCELoss, a do członu CE użyj nn.CrossEntropyLoss. Oblicz binarną stratę Dice poprzez spłaszczenie każdej przewidzianej maski oraz maski prawdy terenowej (ground-truth), obliczenie straty Dice dla każdej próbki, a następnie wyciągnięcie średniej straty z całej partii (batch). Oblicz wieloklasową stratę Dice poprzez konwersję mapy etykiet docelowych na format one-hot, zastosowanie funkcji softmax do wyjścia modelu, obliczenie straty Dice dla każdej klasy i wyciągnięcie średniej straty ze wszystkich klas.
  4. Ustaw stałą wygładzania (smoothing constant) na 1 dla binarnej straty Dice oraz na 1×10−5 dla wieloklasowej straty Dice. Zaimplementuj stratę BCE-Dice za pomocą klasy BceDiceLoss z parametrami wb = 1 i wd = 1. Zaimplementuj stratę CE-Dice za pomocą klasy CeDiceLoss z parametrem loss_weight = [1, 1]. Pozostaw stałe wygładzania, strategię redukcji oraz implementację programową bez zmian dla wszystkich zbiorów danych, ziarn seedów losowych i eksperymentów.
  5. Skonfiguruj redukcję straty:
    1. Utwórz instancje nn.BCELoss() oraz nn.CrossEntropyLoss() bez jawnego określania argumentu reduction.
    2. Dla obu funkcji straty zastosuj domyślne ustawienie redukcji w PyTorch (reduction = "mean"). Nie używaj reduction = "sum" ani nieredukowanego wyjścia straty.

9. Ustawienia i wykonywanie powtórzeń

  1. Pobrać udostępnioną implementację ze strony https://github.com/LIXUEGUANG002/MVM-UNet. Korzystać z repozytorium wraz z pakietami oprogramowania, zbiorami danych, specyfikacjami sprzętowymi i zasobami obliczeniowymi wymienionymi w Tabeli Materiałów.
  2. Sklonować repozytorium i wejść do katalogu projektu, wykonując polecenie git clone https://github.com/LIXUEGUANG002/MVM-UNet.git, a następnie cd MVM-Unet.
  3. Skonfigurować eksperyment ISIC 2017 lub ISIC 2018, ustawiając nazwę zbioru danych, ścieżkę do zbioru danych, rozmiar wejściowy, rozmiar partii (batch size), liczbę epok, funkcję straty, optymalizator, harmonogram tempa uczenia (learning-rate scheduler) oraz ziarno losowe w pliku configs/config_setting.py. Uruchomić skrypt treningowy z głównego katalogu repozytorium za pomocą polecenia python train.py.
  4. Skonfigurować eksperyment Synapse, ustawiając nazwę zbioru danych, ścieżkę do danych treningowych, ścieżkę do wolumenu testowego, katalog listy, rozmiar wejściowy, liczbę klas, rozmiar partii, liczbę epok, funkcję straty, optymalizator, harmonogram tempa uczenia oraz ziarno losowe w pliku configs/config_setting_synapse.py. Uruchomić skrypt treningowy z głównego katalogu repozytorium za pomocą polecenia python train_synapse.py.
  5. Przeprowadzić ewaluację opartą wyłącznie na inferencji, ustawiając only_test_and_save_figs = True, best_ckpt_path na wybranym wyuczonym punkcie kontrolnym (checkpoint) oraz img_save_path na katalog wyjściowy w odpowiednim pliku konfiguracyjnym. Uruchomić python train.py dla ISIC 2017 lub ISIC 2018 lub python train_synapse.py dla Synapse, aby wygenerować wyniki predykcji i ryciny jakościowe.
  6. Użyć udostępnionej wersji kodu źródłowego:
    1. Sklonować udostępnione repozytorium GitHub i przejść do commita ee891b42c2f083c4990eed72f1d4463adc5e103e w gałęzi master przed konfiguracją zbiorów danych, skryptów treningowych i ustawień ewaluacji.
    2. Użyć tego commita, aby powtórzyć eksperymenty opisane w niniejszym badaniu. W momencie rewizji manuskryptu dla repozytorium nie była dostępna żadna oznaczona wersja wydawnicza (tagged release).

Wyniki

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Oczekiwane wyniki i interpretacja
Przy prawidłowej implementacji niniejszego protokołu oczekuje się, że wytrenowany model MVM-UNet zapewni stabilną wydajność segmentacji w powtórzonych uruchomieniach, wykazując jedynie niewielkie różnice między różnymi ziarnami losowymi dla większości metryk ewaluacyjnych. W przypadku zbiorów ISIC 2017 i ISIC 2018 pomyślne wyniki objawiają się wysokimi wartościami DSC, mIoU, Acc, Sen oraz Spe, wraz z przewidywanymi maskami zmian, które ściśle odpowiadają granicom zmian w prawdzie terenowej (ryciny 6 i 7). Dla zbioru Synapse pomyślne wyniki odzwierciedlają wysokie średnie wartości DSC oraz niskie wartości HD95 dla organów na pierwszym planie (rycina 8). Podczas realizacji protokołu metryki ilościowe należy interpretować łącznie z odpowiadającymi im jakościowymi wynikami segmentacji. Model, który osiąga wysoki wskaźnik DSC, ale wykazuje przecieki na granicach, pomijanie małych struktur lub fragmentaryczne predykcje, należy uznać za jedynie częściowo udany, a następnie należy zweryfikować procedurę preprocessingu, wybór punktu kontrolnego (checkpoint) oraz ustawienia inferencji.

figure-results-1
Rysunek 6. Reprezentatywne jakościowe wyniki segmentacji w zbiorze danych ISIC 2017. Reprezentatywne jakościowe wyniki segmentacji uzyskane w zbiorze danych do segmentacji zmian skórnych International Skin Imaging Collaboration (ISIC) 2017. Każdy przykład przedstawia oryginalny obraz dermoskopowy (Image), odpowiadającą mu maskę segmentacji prawdy obiektywnej (GT) oraz predykcję wygenerowaną przez MVM-UNet (Pred). Reprezentatywne przypadki testowe ilustrują skuteczność segmentacji dla zmian o różnej wielkości, morfologii i stopniu złożoności granic. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

figure-results-2
Rycina 7. Reprezentatywne jakościowe wyniki segmentacji na zbiorze danych ISIC 2018. Reprezentatywne jakościowe wyniki segmentacji uzyskane na zbiorze danych do segmentacji zmian skórnych International Skin Imaging Collaboration (ISIC) 2018. Każdy przykład przedstawia oryginalny obraz dermoskopowy (Image), odpowiadającą mu maskę segmentacji referencyjnej (GT) oraz predykcję wygenerowaną przez MVM-UNet (Pred). Reprezentatywne przypadki testowe demonstrują wydajność segmentacji dla zróżnicowanego wyglądu zmian i charakterystyki ich granic. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

figure-results-3
Rysunek 8. Reprezentatywne wyniki jakościowej segmentacji w zbiorze danych tomografii komputerowej wielu organów Synapse. Reprezentatywne wyniki jakościowej segmentacji wielu organów uzyskane w zbiorze danych Synapse Multi-Atlas Labeling Beyond the Cranial Vault. Każdy przykład przedstawia oryginalny obraz tomografii komputerowej (Image), odpowiadające mu adnotacje organów stanowiące prawdę obiektywną (GT) oraz predykcję wygenerowaną przez MVM-UNet (Pred). Reprezentatywne przykłady ilustrują zgodność między predykcjami a segmentacjami referencyjnymi dla wielu organów jamy brzusznej. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.

Wydajność w zbiorze ISIC 2017
Aby ocenić powtarzalność MVM-UNet, wszystkie główne eksperymenty porównawcze powtórzono z użyciem trzech niezależnych ziarn losowych (1, 52 i 100), a wyniki przedstawiono jako średnia ± SD. Istotność statystyczną oceniono za pomocą testu znaków rang Wilcoxona w oparciu o sparowane wyniki dla każdego obrazu w przypadku ISIC 2017 i ISIC 2018 oraz sparowane wyniki dla każdego przypadku w przypadku Synapse. Analizę statystyczną przeprowadzono przy użyciu sparowanych wartości metryk, a nie średnich na poziomie ziarna losowego. Dla zapewnienia rzetelnego porównania wyniki podane jako średnia ± SD odtworzono przy użyciu oficjalnych implementacji przy tych samych podziałach zbioru danych, rozdzielczościach wejściowych i metrykach oceny, o ile było to możliwe, natomiast wyniki pojedyncze przejęto z odpowiednich oryginalnych publikacji.

Model MVM-UNet został oceniony na zbiorze danych segmentacji zmian skórnych ISIC 2017 i porównany z reprezentatywnymi metodami segmentacji, w tym UNet8,21, TransUNet23, H-vmunet28, MISSFormer30, MaLUNet31, VM-UNet32, UNeXt-S33, HResFormer34, MedScale-Former35, MCAFT36 oraz H2Former12 (Tabela 1). MVM-UNet osiągnął mIoU na poziomie 80.94 ± 1.01%, DSC 91.32% ± 0.68%, dokładność 96.58% ± 0.27%, swoistość 98.31% ± 0.23% oraz czułość 91.65% ± 0.77% w trzech niezależnych uruchomieniach. W porównaniu z ocenianymi metodami, MVM-UNet uzyskał najwyższe wartości mIoU, DSC i czułości. Reprezentatywne jakościowe wyniki segmentacji przedstawiono na Rysunku 6, gdzie przewidziane maski ściśle odpowiadają granicom zmian w rzeczywistości (ground-truth) na reprezentatywnych obrazach testowych.

ModelRef.mIoU (%)DSC (%)Acc (%)Spe (%)Sen (%)
UNet876.9886.9995.6597.4386.82
TransUNet2375.3281.2391.4595.7782.63
MaLUNet3178.7888.1396.1898.4784.78
VM-UNet3280.2389.0396.2997.5889.90
UNeXt-S3378.2687.8095.9597.7487.04
HResFormer3479.89 ± 1.0588.82 ± 0.6596.25 ± 0.2497.73 ± 0.2287.72 ± 0.79
H-vmunet2880.34 ± 1.0290.68 ± 0.5596.42 ± 0.1898.23 ± 0.3288.97 ± 0.88
MISSFormer3080.16 ± 0.7889.27 ± 0.6194.36 ± 0.2897.52 ± 0.3887.71 ± 0.69
H2Former1280.35 ± 0.9588.56 ± 0.7296.61 ± 0.1998.15 ± 0.1488.21 ± 0.81
MedScale-Former3580.31 ± 0.8289.11 ± 0.5995.68 ± 0.3398.24 ± 0.2189.96 ± 0.92
MCAFT3680.59 ± 0.9389.27 ± 0.6396.42 ± 0.2097.95 ± 0.1790.05 ± 0.84
MVM-UNet (nasz model)80.94 ± 1.0191.32 ± 0.6896.58 ± 0.2798.31 ± 0.2391.65 ± 0.77

Tabela 1: Porównanie wydajności na zbiorze danych do segmentacji zmian skórnych ISIC 2017. Porównanie modelu MVM-UNet z reprezentatywnymi metodami segmentacji opartymi na splotowych sieciach neuronowych (CNN), Transformerach oraz modelach przestrzeni stanów (SSM) z wykorzystaniem średniego współczynnika Intersection over Union (mIoU), współczynnika podobieństwa Dice'a (DSC), dokładności (Acc.), swoistości (Spe.) oraz czułości (Sen.). Wyniki dla MVM-UNet przedstawiono jako średnia ± odchylenie standardowe z trzech niezależnych eksperymentów z losowym ziarnem. Wyniki podane jako pojedyncze wartości zostały powtórzone z odpowiednich oryginalnych publikacji.

Przykłady jakościowe dodatkowo wykazują, że MVM-UNet precyzyjnie segmentował zarówno małe zmiany, jak i większe zmiany o nieregularnych granicach. W tych reprezentatywnych przykładach przewidziane maski ściśle odpowiadały odpowiednim adnotacjom prawdy terenowej (ground-truth) i zachowywały granice zmian przy minimalnym wycieku lub fragmentacji.

Aby dalej ocenić, czy zaobserwowane poprawy były istotne statystycznie, przeprowadzono testy znaków rang Wilcoxona z wykorzystaniem sparowanych wyników segmentacji dla każdego obrazu. W przypadku metryki mIoU, MVM-UNet wykazał statystycznie istotną poprawę w porównaniu z MCAFT, przy wartości p wynoszącej 0,0114. W przypadku metryki DSC, MVM-UNet również znacząco przewyższył H-vmunet, przy wartości p wynoszącej 0,0031. Wyniki te potwierdzają, że zaobserwowane poprawy w zbiorze ISIC 2017 prawdopodobnie nie były wynikiem przypadkowej zmienności.

Ogólnie rzecz biorąc, model MVM-UNet osiągnął najwyższą wydajność spośród porównanych metod pod względem mIoU, DSC oraz czułości w zbiorze danych ISIC 2017 (Tabela 1). Przykłady jakościowej segmentacji przedstawione na Rysunku 6 są zgodne z tymi wynikami ilościowymi.

Wyniki na zbiorze ISIC 2018
Model MVM-UNet został dodatkowo oceniony na zbiorze danych do segmentacji zmian skórnych ISIC 2018 i porównany z reprezentatywnymi metodami segmentacji, w tym UNet8,21, UNet++9, UTNetV237, SANet38, MaLUNet31, VM-UNet32, H-vmunet28, MISSFormer30, H2Former12, HResFormer34, MedScale-Former35 oraz MCAFT36 (Tabela 2). MVM-UNet osiągnął mIoU na poziomie 82.47% ± 1.28%, DSC 90.65% ± 0.94%, dokładność (accuracy) 96.02% ± 0.36%, swoistość (specificity) 97.06% ± 0.31% oraz czułość (sensitivity) 91.80% ± 0.82% w trzech niezależnych uruchomieniach. Wyniki te dowodzą, że wydajność modelu MVM-UNet pozostała spójna dla różnych ziarn losowości (random seeds). Reprezentatywne jakościowe wyniki segmentacji przedstawiono na Rysunku 7.

ModelRef.mIoU (%)DSC (%)Acc (%)Spe (%)Sen (%)
UNet877.8687.5594.0596.6985.86
UNet++978.3187.8394.0295.7588.65
UTNetV23778.9788.2594.3296.4887.60
SANet3879.5288.5994.3995.9789.46
MaLUNet3180.2589.0494.6296.1989.74
VM-UNet3281.3589.7194.9196.1391.12
H-vmunet2881.93 ± 1.4590.46 ± 0.6295.19 ± 0.3096.82 ± 0.2188.37 ± 1.13
MISSFormer3080.27 ± 1.2189.91 ± 0.4694.76 ± 0.2797.22 ± 0.1590.84 ± 1.07
H2Former1280.40 ± 0.8390.26 ± 0.7394.89 ± 0.3896.98 ± 0.2591.57 ± 0.54
HResFormer3481.12 ± 1.1888.86 ± 0.8494.96 ± 0.3396.43 ± 0.2291.86 ± 1.01
MedScale-Former3580.97 ± 0.7490.47 ± 0.6895.02 ± 0.4195.89 ± 0.2690.65 ± 0.92
MCAFT3681.46 ± 1.0389.06 ± 0.7695.23 ± 0.2996.72 ± 0.1791.82 ± 0.57
MVM-UNet (nasz model)82.47 ± 1.2890.65 ± 0.9496.02 ± 0.3697.06 ± 0.3191.80 ± 0.82

Tabela 2: Porównanie wydajności na zbiorze danych do segmentacji zmian skórnych ISIC 2018. Porównanie modelu MVM-UNet z reprezentatywnymi metodami segmentacji opartymi na CNN, Transformerach oraz SSM z wykorzystaniem średniego współczynnika Intersection over Union (mIoU), współczynnika podobieństwa Dice (DSC), dokładności (Acc.), swoistości (Spe.) oraz czułości (Sen.). Wyniki dla MVM-UNet przedstawiono jako średnią ± odchylenie standardowe z trzech niezależnych eksperymentów z losowymi ziarnami. Wyniki podane jako pojedyncze wartości zostały powtórzone z odpowiednich oryginalnych publikacji.

W porównaniu z H-vmunet, MVM-UNet poprawił mIoU o 0,54%. W porównaniu z MedScale-Former, MVM-UNet poprawił DSC o 0,18%. MVM-UNet osiągnął również najwyższą dokładność spośród porównanych metod. Reprezentatywne przykłady jakościowe przedstawione na Rysunku 7 wykazują dokładną segmentację reprezentatywnych zmian skórnych, w tym małych obszarów zmian oraz zmian o nieregularnych granicach.

W przypadku zbioru ISIC 2018 istotność statystyczną oceniono za pomocą testu znaków rang Wilcoxona w oparciu o sparowane wyniki segmentacji dla poszczególnych obrazów. Dla metryki mIoU model MVM-UNet osiągnął statystycznie istotną poprawę w porównaniu z MCAFT, przy wartości p < 0,001. Wyniki te potwierdzają, że zaobserwowana poprawa wydajności w zbiorze ISIC 2018 prawdopodobnie nie była wynikiem przypadkowej zmienności.

Ogólnie MVM-UNet osiągnął najwyższe wartości mIoU, DSC i dokładności spośród porównanych metod w zbiorze danych ISIC 2018 (Tabela 2). Przykłady jakościowe przedstawione na Rysunku 7 są zgodne z tymi ulepszeniami ilościowymi.

Wyniki na zbiorze Synapse
Zaproponowaną metodę oceniono również na wieloorganowym zbiorze danych do segmentacji Synapse i porównano z reprezentatywnymi metodami, takimi jak UNet8,21, Attention U-Net39, TransUNet23, TransNorm40, Swin U-Net25, TransDeepLab41, MEW-UNet42, MISSFormer30, H2Former12, HResFormer34, MedScale-Former35 oraz MCAFT36 (Tabela 3). Zbiór danych Synapse obejmował osiem organów jamy brzusznej: aortę, pęcherzyk żółciowy, śledzionę, lewą nerkę, prawą nerkę, wątrobę, trzustkę i żołądek. Zgodnie ze standardowym protokołem eksperymentalnym, 18 przypadków (2 212 przekrojów osiowych) wykorzystano do uczenia, a 12 przypadków (1 567 przekrojów osiowych) do testowania. Nie wprowadzono oddzielnego zbioru walidacyjnego. Przypadki testowe służyły wyłącznie do końcowej oceny i nie były wykorzystywane do trenowania modelu, dostrajania hiperparametrów ani wyboru modelu. Reprezentatywne jakościowe wyniki segmentacji wielu organów przedstawiono na Rysunku 8, a porównanie ilościowe podsumowano w Tabeli 3.

ModelRef.DSCHD95AortaŻółćNerka (L)Nerka (P)WątróbkaTrzustkaŚledzionaŻołądek
UNet876.8539.7889.0769.7277.7768.6993.4354.0186.6675.59
Att-UNet3977.7736.0289.5468.8877.9871.1193.5758.0487.3175.74
TransUNet2377.4831.6987.2363.1381.8777.0294.0855.8485.0675.62
TransNorm4078.430.2586.2365.1882.1878.6394.2255.3289.5376.02
Swin U-Net2579.1321.5585.4766.5383.2879.6194.2956.5890.6276.59
TransDeepLab4180.1621.2586.0469.1684.0879.8893.5361.1589.0178.36
MEW-UNet4278.9221.6886.6865.3282.8780.0293.6358.3890.1674.27
MISSFormer3080.92 ± 4.2320.09 ± 1.8986.43 ± 0.9869.81 ± 4.5684.29 ± 2.1181.03 ± 3.3493.85 ± 0.8961.11 ± 4.6790.05 ± 3.7880.62 ± 1.02
H2Former1281.05 ± 2.5620.13 ± 7.2386.61 ± 3.2169.32 ± 1.2385.12 ± 4.7882.01 ± 2.8994.09 ± 2.4561.16 ± 0.7689.97 ± 4.1280.94 ± 3.56
HResFormer3480.65 ± 4.0217.48 ± 6.8989.16 ± 2.7866.94 ± 0.7884.61 ± 4.3482.15 ± 2.5693.11 ± 1.3459.92 ± 4.1291.08 ± 3.4580.75 ± 2.01
MedScale-Former3580.78 ± 1.3420.02 ± 3.7888.79 ± 4.0269.82 ± 2.5685.13 ± 0.8781.63 ± 4.7894.10 ± 2.7860.72 ± 1.8990.14 ± 1.5680.93 ± 4.56
MCAFT3681.03 ± 3.4519.98 ± 5.1289.76 ± 0.7668.96 ± 3.8984.54 ± 2.5681.98 ± 3.1294.32 ± 4.0160.85 ± 3.6789.06 ± 4.8980.91 ± 1.78
MVM-UNet (Nasz)81.26 ± 1.8918.72 ± 2.1688.53 ± 3.2269.84 ± 4.2385.37 ± 2.6982.67 ± 1.6794.41 ± 3.5661.02 ± 2.7890.19 ± 0.6781.48 ± 3.12

Tabela 3: Porównanie wydajności na zbiorze danych do segmentacji wielorganowej Synapse. Porównanie MVM-UNet z reprezentatywnymi metodami segmentacji opartymi na CNN, Transformerach i SSM z wykorzystaniem współczynnika podobieństwa Dice (DSC), odległości Hausdorffa dla 95. percentyla (HD95) oraz wyników Dice dla konkretnych organów: aorty (Aor.), pęcherzyka żółciowego (Gal.), lewej nerki (Kid. (L)), prawej nerki (Kid. (R)), wątroby (Liv.), trzustki (Pan.), śledziony (Spl.) i żołądka (Sto.). Wyniki dla MVM-UNet przedstawiono jako średnią ± odchylenie standardowe z trzech niezależnych eksperymentów z losowymi ziarnami (random-seed). Wyniki podane jako pojedyncze wartości zostały powtórzone z odpowiednich oryginalnych publikacji.

MVM-UNet osiągnął średnią wartość DSC wynoszącą 81,26% ± 1,89% oraz średnią wartość HD95 wynoszącą 18,72 ± 2,16 w trzech niezależnych uruchomieniach. Wyniki te wykazują stabilną wydajność segmentacji w zbiorze danych Synapse. spośród ocenianych metod MVM-UNet uzyskał najwyższą średnią wartość DSC oraz drugą najniższą średnią wartość HD95.

W przypadku Synapse istotność statystyczną oceniono za pomocą testu znaków Wilcoxona na podstawie sparowanych wartości DSC dla każdego przypadku. MVM-UNet wykazał statystycznie istotną poprawę w stosunku do H2Former, przy wartości p wynoszącej 0,026, co wskazuje, że zaobserwowana poprawa wydajności segmentacji była istotna statystycznie.

Reprezentatywne wyniki pomyślne i suboptimalne
Reprezentatywne pomyślne wyniki jakościowe przedstawiono na Rysunkach 6–8. Wyniki pomyślne charakteryzują się przewidywanymi maskami segmentacji, które ściśle odpowiadają adnotacjom referencyjnym (ground-truth) i dokładnie wyznaczają granice głównej zmiany lub narządu. Reprezentatywne wyniki suboptimalne mogą wystąpić w przypadku bardzo małych celów, granic o niskim kontraście, nieregularnych kształtów zmian, narządów o słabym kontraście intensywności lub anatomicznie niejednoznacznych granic; zazwyczaj objawiają się one jako niedosegmentacja, przesegmentowanie, przeciekanie granic lub nieciągłe fragmenty maski. W przypadku zaobserwowania takich wyników użytkownicy powinny zweryfikować, czy procedury zmiany rozmiaru obrazu, normalizacji, interpolacji masek, wyboru punktu kontrolnego modelu, progowania wnioskowania (dla zbiorów danych ISIC) lub predykcji argmax (dla Synapse) oraz obliczania metryk są zgodne z tymi opisanymi w Protokole.

Analiza ablacyjna modułu MV4D
Wkład modułu MV4D oceniono poprzez stopniowe dodawanie par skanowania typu zygzak, hierarchicznego, spiralnego i radialnego, a następnie modułu SFusion Mamba (Tabela 4; Rysunek 9). Gdy zastosowano wyłącznie parę skanowania zygzak, wydajność segmentacji była ograniczona. Dodanie pary skanowania hierarchicznego znacząco poprawiło wyniki, co wskazuje na korzyść z włączenia informacji wieloskalowych. Kolejne dodanie par skanowania spiralnego i radialnego dodatkowo poprawiło wydajność segmentacji poprzez usprawnienie reprezentacji konturów i granic. Włączenie modułu SFusion Mamba przyniosło najwyższą wydajność spośród ocenianych konfiguracji.

ModelPara skanowania zygzakowategoHierarchiczna para skanowaniaSpiralna para skanowaniaRadialna para skanowaniaSFusion MambaISIC 2017 mIoU (%)ISIC 2017 DSC (%)ISIC 2018 mIoU (%)ISIC 2018 DSC (%)
MVM-UNet56.7572.4658.0373.45
MVM-UNet72.3884.0173.4584.7
MVM-UNet75.6986.2076.9486.94
MVM-UNet76.4186.6178.2887.82
MVM-UNet80.9491.3282.4790.65

Tabela 4: Analiza ablacyjna modułu Multi-View 4-Directional (MV4D). Wyniki uzyskane poprzez progresywne włączanie hierarchicznych, spiralnych i radialnych par skanowania oraz modułu Spatial Fusion Mamba (SFusion Mamba) do bazowej architektury opartej na zygzakowatych parach skanowania. Wyniki przedstawiono z wykorzystaniem średniego współczynnika Intersection over Union (mIoU) oraz współczynnika podobieństwa Dice'a (DSC) dla zbiorów danych ISIC 2017 i ISIC 2018.

figure-results-4
Rycina 9. Studium ablacyjne modułu Multi-View 4-Directional (MV4D). (A) Zmiana średniego współczynnika Intersection over Union (mIoU) po sekwencyjnym włączeniu hierarchicznej pary skanowania, spiralnej pary skanowania, radialnej pary skanowania oraz Spatial Fusion Mamba (SFusion Mamba) do architektury bazowej. (B) Zmiana współczynnika podobieństwa Dice'a (DSC) po sekwencyjnym włączeniu hierarchicznej pary skanowania, spiralnej pary skanowania, radialnej pary skanowania oraz Spatial Fusion Mamba (SFusion Mamba) do architektury bazowej. (C) Zmiana mIoU po sekwencyjnym włączeniu hierarchicznej pary skanowania, spiralnej pary skanowania, radialnej pary skanowania oraz Spatial Fusion Mamba (SFusion Mamba) do architektury bazowej w drugim ustawieniu eksperymentalnym. (D) Zmiana DSC po sekwencyjnym włączeniu hierarchicznej pary skanowania, spiralnej pary skanowania, radialnej pary skanowania oraz Spatial Fusion Mamba (SFusion Mamba) do architektury bazowej w drugim ustawieniu eksperymentalnym. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

W przypadku zbioru danych ISIC 2017 kompletny moduł MV4D osiągnął mIoU na poziomie 80,94% oraz DSC na poziomie 91,32%. Odpowiednie trendy wydajności dla mIoU i DSC przedstawiono odpowiednio na Rysunku 9A oraz Rysunku 9B. W przypadku zbioru danych ISIC 2018 kompletny moduł MV4D osiągnął mIoU na poziomie 82,47% oraz DSC na poziomie 90,65%. Odpowiednie trendy wydajności przedstawiono odpowiednio na Rysunku 9C oraz Rysunku 9D.

O ile nie określono inaczej, wszystkie eksperymenty ablacyjne przeprowadzono przy użyciu stałego ziarna losowości (seed) o wartości 100, natomiast główne wyniki porównawcze przedstawiono jako średnią ± SD z trzech niezależnych ziaren losowości (1, 52 i 100). W związku z tym wyniki ablacji mają na celu porównanie względnego wkładu poszczególnych komponentów w kontrolowanych warunkach z pojedynczym ziarnem, a nie odtworzenie końcowej wydajności wieloziarenowej raportowanej w głównych eksperymentach porównawczych.

Ogólnie rzecz biorąc, sukcesywne włączanie dodatkowych par skanów oraz modułu SFusion Mamba konsekwentnie poprawiało wyniki segmentacji, przy czym pełna konfiguracja MV4D osiągnęła najwyższą wydajność w obu zbiorach danych.

Analiza ablacyjna bloku Multi-View Vision (MVV)
Blok MVV oceniono poprzez porównanie architektury bazowej z wersją zawierającą odgałęzienie Up-Down Projection (Tabela 5). W przypadku zbioru danych ISIC 2017 wprowadzenie odgałęzienia Up-Down Projection zwiększyło mIoU z 78,83% do 80,96%, a DSC z 88,15% do 91,02%. W przypadku zbioru danych ISIC 2018 mIoU wzrosło z 80,32% do 82,46%, natomiast DSC zwiększyło się z 89,15% do 90,57%.

ModelBlok bazowej MVVProjekcja góra-dółISIC 2017 mIoU (%)ISIC 2017 DSC (%)ISIC 2018 mIoU (%)ISIC 2018 DSC (%)
MVM-UNet78.8388.1580.3289.15
MVM-UNet80.9691.0282.4690.57

Tabela 5: Badanie ablacyjne bloku Multi-View Vision (MVV). Porównanie wydajności bazowego bloku Multi-View Vision (MVV) z odgałęzieniem Up-Down Projection i bez niego. Wydajność przedstawiono za pomocą średniego współczynnika Intersection over Union (mIoU) oraz współczynnika podobieństwa Dice'a (DSC) dla zbiorów danych ISIC 2017 i ISIC 2018.

Eksperymenty z ablacją bloku MVV przeprowadzono przy użyciu stałego losowego ziarna (seed) o wartości 100. W związku z tym wydajność konfiguracji zawierającej gałąź rzutu góra-dół (Up-Down Projection) odzwierciedla kontrolowane ustawienie ablacyjne dla pojedynczego ziarna i może nieznacznie różnić się od średniej wydajności z trzech ziaren raportowanej dla pełnego modelu MVM-UNet w głównych eksperymentach porównawczych.

Ogólnie rzecz biorąc, włączenie gałęzi projekcji góra-dół (Up-Down Projection) konsekwentnie poprawiło wydajność segmentacji w obu zbiorach danych, co objawiło się wzrostem wartości mIoU oraz DSC.

Badanie ablacyjne modułu Multi-stage Fusion Mamba (MFusion Mamba)
Moduł MFusion Mamba został oceniony poprzez porównanie różnych strategii fuzji gruboziarnistej (coarse fusion) wraz z komponentem fuzji drobnoziarnistej (Fine Fusion) (Tabela 6; Rysunek 10). Bez zastosowania MFusion Mamba, model MVM-UNet osiągnął mIoU na poziomie 75,47% oraz DSC na poziomie 86,01% w zbiorze danych ISIC 2017, a mIoU 77,49% oraz DSC 87,29% w zbiorze danych ISIC 2018. spośród ocenianych strategii fuzji gruboziarnistej największą poprawę uzyskano przy zastosowaniu produktu Hadamarda. Wprowadzenie komponentu Fine Fusion dodatkowo zwiększyło wydajność segmentacji. Pełna konfiguracja MFusion Mamba pozwoliła osiągnąć mIoU 80,95% i DSC 91,18% dla ISIC 2017 oraz mIoU 82,51% i DSC 90,58% dla ISIC 2018.

ModelGruba fuzja – maksimum element po elemencieGruba fuzja – dodawanie element po elemencieGruba fuzja – produkt HadamardaModuł precyzyjnej fuzjiISIC 2017 mIoU (%)ISIC 2017 DSC (%)ISIC 2018 mIoU (%)ISIC 2018 DSC (%)
MVM-UNet75.4786.0177.4987.29
MVM-UNet76.2186.4778.3587.82
MVM-UNet76.8386.8679.1188.30
MVM-UNet78.2687.8380.0688.96
MVM-UNet80.9591.1882.5190.58

Tabela 6: Analiza ablacyjna modułu wieloetapowej fuzji Mamba (Multi-stage Fusion Mamba, MFusion Mamba). Porównanie wydajności różnych strategii fuzji grubej (Coarse Fusion), w tym fuzji maksymalnej (Max), dodawania element po elemencie (⊕) oraz produktu Hadamarda (⊙), wraz z pełnym modułem fuzji subtelnej (Fine Fusion). Wydajność przedstawiono za pomocą średniego współczynnika IoU (mIoU) oraz współczynnika podobieństwa Dice'a (DSC) dla zbiorów danych ISIC 2017 i ISIC 2018.

figure-results-5
Rycina 10. Badanie ablacyjne modułu Multi-stage Fusion Mamba (MFusion Mamba). (A) Zmiana średniego współczynnika Intersection over Union (mIoU) uzyskana przy zastosowaniu różnych strategii fuzji gruboziarnistej (maximum, dodawanie element po elemencie oraz produkt Hadamarda) i pełnego modułu Fine Fusion. (B) Zmiana współczynnika podobieństwa Dice'a (DSC) uzyskana przy zastosowaniu różnych strategii fuzji gruboziarnistej (maximum, dodawanie element po elemencie oraz produkt Hadamarda) i pełnego modułu Fine Fusion. (C) Zmiana mIoU uzyskana przy zastosowaniu różnych strategii fuzji gruboziarnistej (maximum, dodawanie element po elemencie oraz produkt Hadamarda) i pełnego modułu Fine Fusion w drugim wariancie eksperymentalnym. (D) Zmiana DSC uzyskana przy zastosowaniu różnych strategii fuzji gruboziarnistej (maximum, dodawanie element po elemencie oraz produkt Hadamarda) i pełnego modułu Fine Fusion w drugim wariancie eksperymentalnym. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.

W zbiorze danych ISIC 2017 pełna konfiguracja MFusion Mamba osiągnęła mIoU na poziomie 80,95% oraz DSC na poziomie 91,18%. Odpowiednie trendy wydajności dla mIoU i DSC przedstawiono odpowiednio na Rysunku 10A oraz Rysunku 10B. W zbiorze danych ISIC 2018 pełna konfiguracja MFusion Mamba osiągnęła mIoU na poziomie 82,51% oraz DSC na poziomie 90,58%. Odpowiednie trendy wydajności przedstawiono odpowiednio na Rysunku 10C oraz Rysunku 10D. Eksperymenty ablacyjne MFusion Mamba zostały przeprowadzone przy użyciu stałego ziarna losowości (seed) wynoszącego 100. W związku z tym pełna konfiguracja MFusion Mamba reprezentuje kontrolowany wynik ablacji dla jednego ziarna i może nieznacznie różnić się od średniej wydajności z trzech ziaren raportowanej dla pełnego modelu MVM-UNet w głównych eksperymentach porównawczych.

Ogólnie rzecz biorąc, stopniowe wprowadzanie strategii fuzji gruboziarnistej opartej na produkcie Hadamarda oraz komponentu Fine Fusion konsekwentnie poprawiało wyniki segmentacji, przy czym pełna konfiguracja MFusion Mamba osiągnęła najwyższą wydajność na obu zbiorach danych.

Podsumowanie badań ablacyjnych
W ramach eksperymentów ablacyjnych stopniowe wprowadzanie hierarchicznych, spiralnych i radialnych gałęzi par skanowania, wraz z modułem SFusion Mamba, konsekwentnie poprawiało wyniki segmentacji (Tabela 4; Rysunek 9). Podobnie, włączenie gałęzi Up-Down Projection w bloku MVV poprawiło wskaźniki mIoU oraz DSC w zbiorach danych ISIC 2017 i ISIC 2018 (Tabela 5). Pełna konfiguracja MFusion Mamba osiągnęła również najwyższą wydajność spośród ocenianych strategii wieloetapowej fuzji cech (Tabela 6; Rysunek 10).

Analiza ablacyjna hiperparametrów
Wpływ rozmiaru wejściowego oraz wartości dropout oceniono na zbiorach danych ISIC 2017 i ISIC 2018 (Tabela 7). Porównano trzy rozdzielczości wejściowe (256 × 256, 384 × 384 oraz 512 × 512). W ramach ocenianych ustawień rozdzielczość wejściowa 256 × 256 pozwoliła uzyskać najwyższą wydajność segmentacji w obu zbiorach danych.

ModelRozmiar wejścia 256 × 256Rozmiar wejścia 384 × 384Rozmiar wejścia 512 × 512Dropout 0,0Dropout 0,1Dropout 0,2Dropout 0,3ISIC 2017 mIoU (%)ISIC 2017 DSC (%)ISIC 2018 mIoU (%)ISIC 2018 DSC (%)
MVM-UNet80,0288,9181,7689,92
MVM-UNet79,9688,8780,9789,47
MVM-UNet77,4887,2878,7688,11
MVM-UNet79,3688,5381,1389,62
MVM-UNet80,9490,1582,4990,50
MVM-UNet79,7188,7180,4689,18

Tabela 7: Badanie ablacyjne rozmiaru obrazu wejściowego i wartości dropoutu. Porównanie wydajności MVM-UNet przy zastosowaniu różnych rozmiarów obrazów wejściowych i wartości dropoutu. Wydajność segmentacji została przedstawiona przy użyciu średniego współczynnika Intersection over Union (mIoU) oraz współczynnika podobieństwa Dice'a (DSC) na zbiorach danych ISIC 2017 i ISIC 2018.

Oceniono również różne wartości dropout. Spośród przetestowanych konfiguracji wartość dropout wynosząca 0,2 zapewniła najwyższą skuteczność segmentacji w obu zbiorach danych i została zatem zastosowana w głównych eksperymentach.

Badanie ablacyjne konfiguracji warstw enkodera-dekodera
Oceniono różne konfiguracje warstw enkodera-dekodera, aby zbadać wpływ głębokości sieci na wydajność segmentacji oraz koszt obliczeniowy (Tabela 8). Wśród ocenionych konfiguracji symetryczna architektura {2, 2, 2, 2}-{2, 2, 2, 2} osiągnęła najwyższą ogólną wydajność segmentacji, zachowując jednocześnie stosunkowo niską złożoność modelu. Zwiększenie głębokości sieci do {2, 2, 9, 2}-{2, 9, 2, 2} przyniosło porównywalną wydajność segmentacji, ale zwiększyło zarówno liczbę parametrów, jak i koszt obliczeniowy.

ModelKonfiguracja warstw koder-dekoderParametry (M)FLOPs (G)ISIC 2017 mIoU (%)ISIC 2017 DSC (%)ISIC 2018 mIoU (%)ISIC 2018 DSC (%)
MVM-UNet{2,2,2,1}-{2,2,2,2}28.224.1280.0288.9181.1689.64
MVM-UNet{2,2,2,2}-{2,2,2,2}28.364.3980.9590.1782.590.41
MVM-UNet{2,2,2,3}-{2,3,2,2}30.144.8879.8388.881.5689.85
MVM-UNet{2,4,2,2}-{2,2,4,2}33.465.3279.6588.781.4589.79
MVM-UNet{2,2,9,2}-{2,9,2,2}45.637.7880.9690.0982.4890.43

Tabela 8: Badanie ablacyjne konfiguracji warstw koder-dekoder. Porównanie wydajności różnych konfiguracji warstw koder-dekoder. Tabela przedstawia liczbę parametrów modelu (Parameters), liczbę operacji zmiennoprzecinkowych (FLOPs), średni współczynnik IoU (mIoU) oraz współczynnik podobieństwa Dice (DSC) dla zbiorów danych ISIC 2017 i ISIC 2018.

Porównanie kosztów obliczeniowych
Wydajność obliczeniową końcowego modelu MVM-UNet porównano z reprezentatywnymi metodami bazowymi, w tym HResFormer, H-vmunet, MISSFormer, H2Former, MedScale-Former oraz MCAFT, w tym samym środowisku sprzętowym i przy tej samej rozdzielczości wejściowej (Tabela 9). Oceńiane metryki obejmowały czas trenowania na epokę, czas inferencji na obraz, szczytowe zużycie pamięci GPU podczas trenowania, liczbę trenowalnych parametrów (Params) oraz FLOPs. Czas trenowania mierzono jako czas wymagany do ukończenia jednej epoki trenowania, czas inferencji jako średni czas przetwarzania pojedynczego obrazu testowego, a FLOPs obliczano dla pojedynczego przejścia w przód.

MetodaRef.Czas trenowania (s/epoch)Czas wnioskowania (ms/obraz)Szczytowa pamięć GPU (GB)Parametry (M)FLOPs (G)
HResFormer34520213.0819.2117.00131.70
H-vmunet288827.005.010.748.97
MISSFormer3035592.8612.642.33109.45
H2Former1213029.028.833.7133.56
MedScale-Former358023.505.94.963.79
MCAFT3614534.008.730.0012.00
MVM-UNet (nasza metoda)10426.807.928.364.39

Tabela 9: Porównanie kosztów obliczeniowych MVM-UNet i reprezentatywnych metod bazowych. Porównanie wydajności obliczeniowej w tym samym środowisku sprzętowym i przy tej samej rozdzielczości wejściowej. Raportowane metryki obejmują czas trenowania na epokę, czas inferencji na obraz, szczytowe zużycie pamięci jednostki przetwarzania graficznego (GPU) podczas trenowania, liczbę parametrów modelu (Parameters) oraz liczbę operacji zmiennoprzecinkowych (FLOPs). Metody z dostępnymi implementacjami były oceniane w tym samym środowisku eksperymentalnym, gdy było to możliwe.

Jak podsumowano w Tabeli 9, model MVM-UNet wymagał 104 s na epokę treningową, 26,8 ms na obraz podczas inferencji, 7,9 GB szczytowej pamięci GPU, 28,36 mln trenowalnych parametrów oraz 4,39 GFLOPs. W porównaniu z modelami HResFormer, MISSFormer, H2Former i MCAFT, MVM-UNet wymagał krótszego czasu trenowania, krótszego czasu inferencji, mniejszego szczytowego zużycia pamięci GPU oraz mniejszej liczby FLOPs. W porównaniu z lekkimi modelami H-vmunet i MedScale-Former, MVM-UNet wymagał dłuższego czasu trenowania i większego zużycia pamięci, ale zachował porównywalną prędkość inferencji przy relatywnie niskiej złożoności obliczeniowej.

Dostępność danych i kodu
Zbiory danych ISIC 2017 i ISIC 2018 są ogólnodostępne w archiwum International Skin Imaging Collaboration (ISIC), a zbiór danych Synapse jest ogólnodostępny w repozytorium Synapse. Szczegóły dotyczące pozyskania zbiorów danych znajdują się w oświadczeniu etycznym. W skrócie, zbiór danych ISIC 2017 został pobrany z oficjalnego repozytorium danych ISIC 2017 Challenge (https://challenge.isic-archive.com/data/#2017), zbiór danych ISIC 2018 został pobrany z oficjalnego repozytorium danych ISIC 2018 Challenge Task 1 (https://challenge.isic-archive.com/data/#2018), a zbiór danych Synapse został pobrany z repozytorium Synapse pod identyfikatorem dostępu syn3193805 (https://www.synapse.org/Synapse:syn3193805). Odpowiednie daty pobierania danych są podane w oświadczeniu etycznym. Wstępna publiczna wersja kodu źródłowego MVM-UNet jest dostępna pod adresem https://github.com/LIXUEGUANG002/MVM-UNet. Repozytorium zawiera implementację modelu, główne moduły sieci, pliki konfiguracyjne, instrukcje organizacji zbiorów danych, skrypty treningowe oraz skrypty ewaluacyjne. Pełny pakiet reprodukcyjny, obejmujący sfinalizowane pliki konfiguracyjne, kompletne skrypty eksperymentalne, dodatkową dokumentację oraz punkty kontrolne (checkpoints) wytrenowanego modelu, zostanie udostępniony publicznie po publikacji.

Tabela uzupełniająca 1. Warstwowa architektura sieci Multi-view Vision Mamba UNet (MVM-UNet). Tabela podsumowuje sekwencyjną architekturę sieci MVM-UNet, w tym warstwę wejściową, osadzanie patchy (patch embedding), etapy kodera, bloki Multi-View Vision (MVV), operacje łączenia patchy (patch-merging), wieloetapową fuzję Mamba (MFusion Mamba), etapy dekodera, końcowe próbkowanie w górę (upsampling) oraz głowicę segmentacyjną. Dla każdego etapu wymieniono odpowiadającą mu operację, główne parametry oraz rozmiar cech wyjściowych. E1–E4 oznaczają mapy cech etapów kodera wykorzystywane do wieloetapowej fuzji cech. B, H i W oznaczają odpowiednio rozmiar partii (batch size), wysokość obrazu i szerokość obrazu, a K oznacza liczbę klas wyjściowych (K = 1 dla binarnej segmentacji zmian skórnych i K = 9 dla wieloklasowej segmentacji Synapse, obejmującej jedną klasę tła i osiem klas narządów pierwszego planu). MFusion Mamba generuje zfuzowane wieloetapowe cechy kodera, które są integrowane z odpowiadającymi im cechami dekodera podczas rekonstrukcji w dekoderze. Kliknij tutaj, aby pobrać ten plik.

Plik uzupełniający 1. Pseudokod modułu Multi-View Four-Directional (MV4D) oraz Multi-stage Fusion Mamba (MFusion Mamba). Plik uzupełniający przedstawia schemat algorytmiczny dwóch głównych modułów zastosowanych w MVM-UNet. Algorytm 1 opisuje pełny potok przetwarzania modułu Multi-View Four-Directional (MV4D), obejmujący spłaszczanie cech, konstrukcję czterech sekwencji par skanowania (zygzakowatej, hierarchicznej, spiralnej i radialnej), przetwarzanie selektywnej przestrzeni stanów (S6), Scan-view Fusion Mamba (SFusion Mamba) oraz rekonstrukcję wyjściowej mapy cech. Algorytm 2 opisuje moduł Multi-stage Fusion Mamba (MFusion Mamba), obejmujący wieloetapowe wyrównanie cech koderów, fuzję wstępną, fuzję precyzyjną, integrację dekodera oraz generowanie połączonej wejściowej cechy dekodera. Zmienne i wymiary tensorów zostały zdefiniowane w obrębie algorytmów. Kliknij tutaj, aby pobrać ten plik.

Uzupełniający plik z kodem 1. Pakiet kodu źródłowego dla MVM-UNet (MVM-UNet-master). Uzupełniające archiwum ZIP zawiera pełną implementację kodu źródłowego MVM-UNet wykorzystanego w niniejszym badaniu. Pakiet obejmuje architekturę sieci, moduły Multi-View Four-Directional (MV4D) oraz Multi-stage Fusion Mamba (MFusion Mamba), pliki konfiguracyjne, skrypty treningowe i ewaluacyjne dla zbiorów danych ISIC 2017, ISIC 2018 i Synapse, funkcje pomocnicze oraz dokumentację projektu niezbędną do odtworzenia eksperymentów opisanych w niniejszym protokole. Pakiet zawiera również plik README z instrukcjami instalacji, zależnościami oprogramowania, organizacją zbiorów danych oraz przepływami pracy dla treningu i inferencji. Kliknij tutaj, aby pobrać ten plik.

Dyskusja

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ten protokół opisuje MVM-UNet, strukturę segmentacji obrazów medycznych opartą na Mamba. Metoda została zaprojektowana, aby rozwiązać dwie ograniczenia istniejących modeli segmentacji. Po pierwsze, konwencjonalne metody oparte na CNN mają ograniczoną zdolność do modelowania zależności dalekiego zasięgu i hierarchicznych informacji kontekstowych w złożonych obrazach medycznych43. Po drugie, metody oparte na Transformerach mogą modelować globalny kontekst, ale zwykle wymagają wyższych kosztów obliczeniowych23,25. MVM-UNet wykorzystuje architekturę Mamba13,14,15,16,17,18,19,20 do osiągnięcia wydajnego modelowania na odległym zasięgu i wprowadza skanowanie wielowidokowe oraz wieloetapowe łączenie funkcji, aby poprawić dokładność segmentacji. Z perspektywy wykonania protokołu i reprodukowalności, kilka kroków jest kluczowych dla uzyskania wyników porównywalnych z tymi zgłoszonymi w tej pracy. Po pierwsze, podział zbioru danych, skalowanie obrazu, interpolacja masek, strategia normalizacji i konwersja kanałów powinny być spójne z protokołem, ponieważ różnice w przetwarzaniu wstępnym mogą bezpośrednio zmieniać dystrybucję wejścia i granice masek. W szczególności maski segmentacji powinny być skalowane za pomocą interpolacji najbliższych sąsiadów, aby uniknąć wprowadzania niecałkowitych wartości etykiet44. Po drugie, konfiguracja treningowa, w tym rozdzielczość wejściowa, wielkość partii, ustawienia optymalizatora, harmonogram szybkości uczenia, losowe nasienie, współczynniki wag straty, reguła wyboru checkpointu i próg wnioskowania lub operacja argmax, powinny być sprawdzone przed porównaniem wyników. Jeśli odtworzone wyniki są wyraźnie niższe niż wartości zgłoszone, użytkownicy powinni najpierw zweryfikować ścieżkę do zbioru danych, format adnotacji, konwencję etykiety tła-pierwszego planu, ładowanie checkpointu, podział na walidację lub testowanie oraz procedurę obliczania metryki. Wycieki graniczne, rozdrobnione maski lub brak małych struktur zwykle wskazują na potencjalne niezgodności w przetwarzaniu wstępnym, interpolacji masek, wyborze checkpointu lub post-processingu wnioskowania.

Głównym wkładem MVM-UNet jest moduł MV4D. W przeciwieństwie do prostych strategii skanowania dwuwymiarowego stosowanych w poprzednich architekturach opartych na modelach przestrzeni stanów14,15,16,17,18,19,20, MV4D wykorzystuje pary skanów w kształcie zęba piaskowca, hierarchiczne, spiralne i radialne, aby uchwycić uzupełniające informacje wizualne. Pary skanów w kształcie zęba piaskowca pomagają zbilansować lokalne i globalne informacje przestrzenne, pary skanów hierarchicznych zwiększają ekstrakcję funkcji wieloskalowych, pary skanów spiralnych wzmacniają globalną reprezentację konturów, a pary skanów radialnych poprawiają ekstrakcję funkcji krawędzi i granic lokalnych. SFusion Mamba następnie integruje te uzupełniające modalności skanowania. Reprezentatywne wyniki i eksperymenty ablacyjne (Tabele 4 i 5; Rysunek 9) pokazują, że zarówno różnorodność wzorców skanowania, jak i mechanizm fuzji przyczyniają się do poprawy wydajności segmentacji. Innym ważnym komponentem jest MFusion Mamba, który służy jako moduł fuzji funkcji międzyenkoderem a dekoderem. Konwencjonalne architektury w kształcie litery U, w tym U-Net8,21, V-Net44 oraz wiele późniejszych wariantów9,23,25, przede wszystkim przenoszą informacje poprzez połączenia pomijakowe etapowo. Ta strategia może nie w pełni wykorzystywać uzupełniające wieloetapowe reprezentacje enkodera. MFusion Mamba radzi sobie z tym ograniczeniem, łącząc funkcje enkodera poprzez Grupowanie Grube i Drobne przed dekodowaniem. Reprezentatywne wyniki (Tabela 6; Rysunek 10) pokazują, że MFusion Mamba konsekwentnie poprawia wydajność segmentacji, co wskazuje, że wyraźna wieloetapowa fuzja funkcji jest korzystna dla segmentacji obrazów medycznych.

Metodyczny wkład MVM-UNet należy rozumieć jako przeprojektowanie na poziomie architektury, a nie wynalazek każdej pojedynczej operacji od zera. Architektury enkodera-dekoder w kształcie litery U, połączenia resztowe, warstwy projekcyjne i bloki Mamba/model przestrzeni stanów (SSM) były dogłębnie badane w poprzednich badaniach8,13,14,15,16,17,18,

Oświadczenia

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autorzy deklarują, że nie mają żadnych konkurencyjnych interesów finansowych.

Podziękowania

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

To badanie nie otrzymało żadnego zewnętrznego finansowania.

Materiały

Lista materiałów użytych w tym artykule
NazwaFirmaNumer katalogowyKomentarze
Hardware - GPU workstation or GPU serverInstitutional computing platform / local workstationCustom-built local GPU workstation; Ubuntu 22.04.1 with Linux kernel 6.8.0; Intel Core i9-13900K CPU; NVIDIA A800 GPU; 128 GB RAM; 512 GB local storage.Computational platform for training, validation, testing, ablation, and inference-only experiments.
Hardware - Graphics processing unit (GPU)NVIDIA CorporationNVIDIA A800 GPU (80 GB memory).GPU-accelerated model training and inference.
Hardware - Central processing unit (CPU)Intel Corporation / AMD13th Gen Intel Core i9-13900K CPU.Host processor for data loading, preprocessing, and experiment execution.
Hardware - System memory (RAM)Institutional computing platform / local workstation128 GB system RAMMemory for dataset loading, preprocessing, and training.
Hardware - StorageInstitutional computing platform / local workstation2 TB NVMe solid-state drive.Storage for datasets, checkpoints, logs, and generated prediction figures.
Software environment - Operating systemCanonical Ltd.Recommended: Ubuntu 22.04.1 LTSOperating system for the computational environment.
Software environment - Conda environmentAnaconda, Inc. / MinicondaEnvironment name: mvmunetPython environment used to install and isolate dependencies.
Software environment - PythonPython Software FoundationPython 3.8Programming language used for implementation and experiment execution.
Software environment - CUDA toolkitNVIDIA CorporationCUDA Toolkit 11.8GPU computing backend required by PyTorch and Mamba-related packages.
Software environment - cuDNNNVIDIA CorporationcuDNN 8.7.0.GPU-accelerated deep-learning primitives used through PyTorch.
Python package - PyTorchPyTorchtorch == 2.0.1Deep-learning framework for model training, loss calculation, optimization, and inference.
Python package - TorchvisionPyTorchtorchvision == 0.14.0Image transform utilities used in preprocessing and augmentation.
Python package - TorchaudioPyTorchtorchaudio == 0.13.0Installed with the recommended PyTorch environment.
Python package - timmtimm developerstimm == 0.4.12Model-component or utility dependency listed in the repository environment instructions.
Python package - tritonOpenAI / Triton developerstriton == 2.0.0Dependency used by GPU-accelerated sequence modeling components.
Python package - causal-conv1dcausal-conv1d developerscausal_conv1d == 1.0.0Efficient causal convolution dependency required by the Mamba implementation.
Python package - mamba-ssmMamba SSM developersmamba_ssm == 1.0.1State-space sequence modeling package used for Mamba/S6-related components.
Python package - NumPyNumPy developersNumPy version 1.24.3.Numerical computation and array operations.
Python package - SciPySciPy developersSciPy version 1.10.1.Scientific computation; scipy.ndimage.zoom is imported in utils.py.
Python package - SimpleITKInsight Software ConsortiumSimpleITK version 2.2.1.Medical image input/output and preprocessing utility imported in utils.py.
Python package - MedPyMedPy developersMedPy version 0.4.0.Medical image metric calculation package imported in utils.py.
Python package - scikit-imagescikit-image developersscikit-image version 0.21.0.Image-processing dependency listed in README.
Python package - scikit-learnscikit-learn developersscikit-learn version 1.3.2.Machine-learning utility package listed in README.
Python package - matplotlibMatplotlib developersMatplotlib version 3.7.2.Used for saving qualitative visualization figures.
Python package - h5pyh5py developersh5py version 3.9.0.HDF5 file support for Synapse test volumes.
Python package - thopTHOP developersTHOP version 0.1.1.post2209072238.Used when calculating FLOPs and parameter-related computational cost.
Python package - packagingPython Packaging Authoritypackaging version 23.1.Dependency listed in README.
Python package - pytestpytest developerspytest version 7.4.0.Dependency listed in README.
Python package - chardetchardet developerschardet version 5.2.0.Dependency listed in README.
Python package - yacsYACS developersyacs version 0.1.8.Configuration utility dependency listed in README.
Python package - termcolortermcolor developerstermcolor version 2.3.0.Logging/terminal utility dependency listed in README.
Python package - submititsubmitit developerssubmitit version 1.4.5.Experiment/job utility dependency listed in README.
Python package - tensorboardXtensorboardX developerstensorboardX version 2.6.2.2.Training log visualization utility listed in README.
Python package - ml-collectionsml_collections developersml-collections version 0.1.1.Imported by configs/config_setting_synapse.py.
Dataset - ISIC 2017 Challenge datasetInternational Skin Imaging CollaborationISIC 2017 skin lesion segmentation datasetPublic de-identified dermoscopic skin lesion images and masks used for binary segmentation.
Dataset - ISIC 2018 Challenge Task 1 datasetInternational Skin Imaging CollaborationISIC 2018 Task 1: Lesion Boundary SegmentationPublic de-identified dermoscopic skin lesion images and masks used for binary segmentation.
Dataset - Synapse Multi-Atlas Labeling Beyond the Cranial Vault datasetSynapse / Sage BionetworksAccession identifier: syn3193805Public abdominal CT multi-organ segmentation dataset.
Data organization - ISIC 2017 data folderAuthors / repository layoutdata/isic2017/Expected local folder containing train and validation images/masks.
Data organization - ISIC 2018 data folderAuthors / repository layoutdata/isic2018/Expected local folder containing train and validation images/masks.
Data organization - Synapse data folderAuthors / repository layoutdata/Synapse/Expected local folder for Synapse lists, train_npz, and test_vol_h5.
Source code - MVM-UNet source-code repositoryAuthors / GitHubBranch: master;Git commit hash: ee891b42c2f083c4990eed72f1d4463adc5e103e.Complete source-code implementation of the protocol.
Source code - ISIC configuration fileAuthorsconfigs/config_setting.pyConfiguration file for ISIC-style binary segmentation.
Source code - Synapse configuration fileAuthorsconfigs/config_setting_synapse.pyConfiguration file for Synapse multi-organ segmentation.
Source code - ISIC training scriptAuthorstrain.pyTraining and validation entry point for ISIC-style binary segmentation.
Source code - Synapse training scriptAuthorstrain_synapse.pyTraining and validation entry point for Synapse multi-class segmentation.
Source code -

Bibliografia

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Zhang F, et al. Cross co-teaching for semi-supervised medical image segmentation. Pattern Recognit. 2024;152:110485.
  2. Gu Y, et al. Dual-scale enhanced and cross-generative consistency learning for semi-supervised medical image segmentation. Pattern Recognit. 2025;158:111140.
  3. Zhu X, Wang W, Zhang C, Wang H. Polyp-Mamba: A hybrid multi-frequency perception gated selection network for polyp segmentation. Inf Fusion. 2025;115:103161.
  4. Iqbal S, et al. TBConvL-Net: A hybrid deep learning architecture for robust medical image segmentation. Pattern Recognit. 2025;158:111147.
  5. Zhao Z, et al. Balanced feature fusion collaborative training for semi-supervised medical image segmentation. Pattern Recognit. 2025;157:110986.
  6. Zhou T, et al. MambaYOLACT: You only look at Mamba prediction head for head-neck lymph nodes. Artif Intell Rev. 2025;58(6).
  7. Zhao Y, et al. MGF-GCN: Multimodal interaction Mamba-aided graph convolutional fusion network for semantic segmentation of remote sensing images. Inf Fusion. 2025;122:103268.
  8. Ronneberger O, Fischer P, Brox T. U-Net: Convolutional networks for biomedical image segmentation. In: Medical Image Computing and Computer-Assisted Intervention (MICCAI). Springer; 2015.
  9. Zhou Z, Siddiquee MMR, Tajbakhsh N, Liang J. UNet++: Redesigning skip connections to exploit multiscale features in image segmentation. IEEE Trans Med Imaging. 2019;39(6):1856-1867.
  10. Shaker A, et al. UNETR++: Delving into efficient and accurate 3D medical image segmentation. IEEE Trans Med Imaging. 2024;43(9):3377-3390.
  11. Zhou HY, et al. nnFormer: Volumetric medical image segmentation via a 3D Transformer. IEEE Trans Image Process. 2023;32:4036-4045.
  12. He A, et al. H2Former: An efficient hierarchical hybrid Transformer for medical image segmentation. IEEE Trans Med Imaging. 2023;42(9):2763-2775.
  13. Zhu L, et al. Vision Mamba: Efficient visual representation learning with bidirectional state space model. In: Proceedings of the 41st International Conference on Machine Learning (ICML). 2024.
  14. Liu Y, et al. VMamba: Visual state space model. Adv Neural Inf Process Syst. 2024;37:103031-103063.
  15. Ma J, Li F, Wang B. U-Mamba: Enhancing long-range dependency for biomedical image segmentation. arXiv. 2024;arXiv:2401.04722.
  16. Wang Z, et al. Mamba-UNet: UNet-like pure visual Mamba for medical image segmentation. arXiv. 2024;arXiv:2402.05079.
  17. Huang T, et al. LocalMamba: Visual state space model with windowed selective scan. In: European Conference on Computer Vision (ECCV). Springer; 2024.
  18. Zhang Z, et al. Motion Mamba: Efficient and long sequence motion generation. In: European Conference on Computer Vision (ECCV). Springer; 2024.
  19. Hu VT, et al. Zigma: A DiT-style zigzag Mamba diffusion model. In: European Conference on Computer Vision (ECCV). Springer; 2024.
  20. Rahman MM, et al. Mamba in vision: A comprehensive survey of techniques and applications. arXiv. 2024;arXiv:2410.03105.
  21. Falk T, et al. U-Net: Deep learning for cell counting, detection, and morphometry. Nat Methods. 2019;16(1):67-70.
  22. Gu R, et al. CA-Net: Comprehensive attention convolutional neural networks for explainable medical image segmentation. IEEE Trans Med Imaging. 2020;40(2):699-711.
  23. Chen J, et al. TransUNet: Rethinking the U-Net architecture design for medical image segmentation through the lens of Transformers. Med Image Anal. 2024;97:103280.
  24. Zhang Z, Zhang W. Pyramid medical Transformer for medical image segmentation. arXiv. 2021;arXiv:2104.14702.
  25. Cao H, et al. Swin-Unet: UNet-like pure Transformer for medical image segmentation. In: European Conference on Computer Vision (ECCV). Springer; 2022.
  26. Chen B, et al. TransAttUNet: Multi-level attention-guided U-Net with Transformer for medical image segmentation. IEEE Trans Emerg Top Comput Intell. 2023.
  27. Jiang S, Li J. TransCUNet: UNet cross-fused Transformer for medical image segmentation. Comput Biol Med. 2022;150:106207.
  28. Wu R, Liu Y, Liang P, Chang Q. H-vmunet: High-order Vision Mamba UNet for medical image segmentation. Neurocomputing. 2025;624:129447.
  29. Liu J, et al. Swin-UMamba: Adapting Mamba-based vision foundation models for medical image segmentation. IEEE Trans Med Imaging. 2024.
  30. Huang X, et al. MISSFormer: An effective Transformer for 2D medical image segmentation. IEEE Trans Med Imaging. 2023;42(5):1484-1494.
  31. Ruan J, et al. MALUNet: A multi-attention and lightweight U-Net for skin lesion segmentation. In: 2022 IEEE International Conference on Bioinformatics and Biomedicine (BIBM). IEEE; 2022.
  32. Ruan J, Xiang S. VM-UNet: Vision Mamba UNet for medical image segmentation. arXiv. 2024;arXiv:2402.02491.
  33. Valanarasu JMJ, Patel VM. UNeXt: MLP-based rapid medical image segmentation network. In: Medical Image Computing and Computer-Assisted Intervention (MICCAI). Springer; 2022.
  34. Ren S, Li X. HResFormer: Hybrid residual Transformer for volumetric medical image segmentation. IEEE Trans Neural Netw Learn Syst. 2025;36(6):10558-10566.
  35. Karimijafarbigloo S, Azad R, Kazerouni A, Merhof D. MedScale-Former: Self-guided multiscale Transformer for medical image segmentation. Med Image Anal. 2025;103.
  36. Yan S, et al. Multi-scale convolutional attention frequency-enhanced Transformer network for medical image segmentation. Inf Fusion. 2025;119.
  37. Gao Y, Zhou M, Metaxas DN. UTNet: A hybrid Transformer architecture for medical image segmentation. In: Medical Image Computing and Computer-Assisted Intervention (MICCAI). Springer; 2021.
  38. Mei J, et al. SANet: A slice-aware network for pulmonary nodule detection. IEEE Trans Pattern Anal Mach Intell. 2021;44(8):4374-4387.
  39. Hu XZ, Jeon WS, Rhee SY. ATT-UNet: Pixel-wise staircase attention for weed and crop detection. In: 2023 International Conference on Fuzzy Theory and Its Applications (iFUZZY). IEEE; 2023.
  40. Wang X, et al. Transferable normalization: Towards improving transferability of deep neural networks. Adv Neural Inf Process Syst. 2019;32.
  41. Azad R, et al. TransDeepLab: Convolution-free Transformer-based DeepLabV3+ for medical image segmentation. In: International Workshop on Predictive Intelligence in Medicine (PRIME). Springer; 2022.
  42. Ruan J, Gao J, Xie M, Xiang S. Learning multi-axis representation in frequency domain for medical image segmentation. Mach Learn. 2025;114(1):10.
  43. Goodfellow I, Bengio Y, Courville A. Deep Learning. MIT Press; Cambridge, MA; 2016.
  44. Milletari F, Navab N, Ahmadi SA. V-Net: Fully convolutional neural networks for volumetric medical image segmentation. In: 2016 Fourth International Conference on 3D Vision (3DV). IEEE; 2016.

Przedruki i uprawnienia

Poproś o pozwolenie na ponowne wykorzystanie tekstu lub ilustracji tego artykułu JoVE

Poproś o pozwolenie

Tagi

MedycynaNumer 234Numer 234Du y model j zykowySSMUNet

Powiązane artykuły