Automatische Segmentierung der Atemwege

Die manuelle Segmentierung der Lunge dauert etwa 10 Minuten und erfordert einige Fähigkeiten, um das gleiche qualitativ hochwertige Ergebnis wie bei der automatischen Segmentierung zu erzielen. Die automatische Segmentierung dauert ca. 15 Sekunden.


Ich nahm an, dass es ohne ein neuronales Netzwerk möglich wäre, eine Genauigkeit von nicht mehr als 70% zu erreichen. Ich nahm auch an, dass morphologische Operationen nur Bilder für komplexere Algorithmen vorbereiten. Als Ergebnis der Verarbeitung der mindestens 40 vorhandenen Tomographieproben wählte der Algorithmus die Lungen fehlerfrei aus, und nach dem Test in den ersten fünf Fällen wurden keine signifikanten Änderungen am Algorithmus vorgenommen, und ab der ersten Anwendung funktionierte er bei den verbleibenden 35 Studien unverändert korrekt Einstellungen.


Neuronale Netze haben auch ein Minus - für ihr Training benötigen Sie Hunderte von Trainingsmustern der Lunge, die manuell beschriftet werden müssen.



Inhalt



Die Struktur der Atemwege


Das Atmungssystem umfasst die Atemwege und Lungen. Ordnen Sie die oberen und unteren Atemwege zu. Der Trennungspunkt zwischen den unteren und oberen Atemwegen ist der Schnittpunkt der Nahrung und der Atemwege. Alles über dem Kehlkopf ist der obere Teil und der Rest ist niedriger.


Wir listen die Atmungsorgane auf:
Nasenhöhle : - Nase, Kieferhöhlen usw.
Der Pharynx ist der Kanal, durch den Nahrung und Flug reisen.
Kehlkopf - verantwortlich für die Stimmbildung. Befindet sich auf der Höhe der Halswirbel C4-C6.
Luftröhre - ein Schlauch, der Kehlkopf und Bronchien verbindet.
Die Bronchien sind die Atemwege, von denen sich die meisten in der Lunge befinden.
Die Lunge ist das Hauptorgan der Atemwege.



Hounsfield-Skala


Godfrey Hounsfield ist ein britischer Elektrotechniker, der zusammen mit dem amerikanischen Theoretiker Allan Cormack die Computertomographie entwickelte, für die er 1979 den Nobelpreis erhielt.



Hounsfield-Skala - Eine quantitative Röntgendichteskala, die in Hounsfield-Einheiten gemessen wird und mit HU bezeichnet wird.


Die Röntgendichte wird auf der Grundlage des Dämpfungskoeffizienten der Substanz berechnet, dh des Grads der Abnahme der Strahlungsleistung beim Durchgang durch diese Substanz.


Die Röntgendichte wird nach folgender Formel berechnet:


$$ Anzeige $$ {μ_ {X} -μ_ {Wasser} \ über μ_ {Wasser} -μ_ {Luft}} \ mal 1000 $$ Anzeige $$


wo μX,μWasser,μLuft- lineare Dämpfungskoeffizienten für den gemessenen Stoff, Wasser und Luft.


Die Röntgendichte ist negativ, da die Röntgendichte Null Wasser entspricht. Dies bedeutet, dass alle Substanzen, durch die Röntgenwellen mit einer geringeren Abnahme der Strahlungsleistung als durch Wasser (z. B. Lungengewebe, Luft) hindurchtreten, eine negative Röntgendichte aufweisen.


Das Folgende sind ungefähre Röntgendichten für verschiedene Gewebe:


  • Luft: -1000 HU.
  • Atmungsorgane: -950 bis -300 HE.
  • Blut (ohne Gefäßkontrast): 0 bis 100 HE.
  • Knochen: 100 bis 1000 HU.


Wikipedia-Links: Hounsfield-Skala , Godfrey Hounsfield , Dämpfungskoeffizient .


Mathematische Morphologie


Der Hauptplatz unter den in diesem Artikel ausgewählten Algorithmen wird von morphologischen Operationen eingenommen.


Im Bereich der Bildverarbeitung erfordern morphologische Operationen eine Gruppe von Algorithmen zur Transformation der Form von Objekten. Am häufigsten werden morphologische Operationen auf binärisierte Bilder angewendet, wobei die Voxel der Objekte Einheiten und die Leere Nullen entsprechen.


Die wichtigsten morphologischen Operationen umfassen:


Morphologische Dilatation (Dilatation, Expansion) - Hinzufügen neuer Voxel zu allen Randvoxeln von Objekten. Das heißt, entlang aller Grenzvoxel wird ein Durchgang mit einem Kern mit einer bestimmten Form (Kugel, Würfel, Kreuz usw.) hergestellt. Diese Operation wird häufig verwendet, um viele benachbarte Objekte zu einem einzigen Objekt zu verbinden.


Morphologische Erosion (Erosion, Erosion) - die Zerstörung aller Voxel, die an der Grenze von Objekten liegen. Diese Operation ist das Gegenteil von Dilatation. Diese Operation ist nützlich, um Rauschen in Form vieler miteinander verbundener kleiner Objekte zu entfernen. Diese Methode zur Rauschentfernung sollte jedoch nur angewendet werden, wenn das segmentierte Objekt eine Dicke aufweist, die erheblich größer als der Erosionsradius ist.


Der morphologische Verschluss ist eine Erweiterung, gefolgt von Erosion. Es wird verwendet, um Öffnungen in Objekten zu schließen und benachbarte Objekte zu kombinieren.


Morphologische Öffnung (Öffnung) ist Erosion, gefolgt von Dilatation. Es wird verwendet, um kleine Rauschobjekte zu entfernen und Objekte in mehrere Objekte zu unterteilen.



Lee-Algorithmus und RLE-Komprimierung


Um Objekte in einem binärisierten Voxelvolumen zu isolieren, wird der Lee-Algorithmus verwendet. Dieser Algorithmus wurde ursprünglich erfunden, um den kürzesten Weg zu finden. Wir verwenden es jedoch, um Objekte von einem dreidimensionalen Array von Voxeln auszuwählen und zu einem anderen zu verschieben. Sein Wesen ist die parallele Bewegung in alle möglichen Richtungen vom Startpunkt aus. Für den dreidimensionalen Fall sind 26 oder 6 Bewegungsrichtungen von einem gegebenen Voxel möglich (wenn sich das Voxel nicht am Bildrand befindet).


Um die Geschwindigkeit zu optimieren, haben wir den Lauflängencodierungsalgorithmus verwendet. Sein Kern liegt in der Tatsache, dass Folgen von Einsen und Nullen durch eine Ziffer ersetzt werden, die der Anzahl der Elemente in der Folge entspricht. Beispielsweise kann die Zeichenfolge "00110111" wie folgt ersetzt werden: "2; 2; 1; 3". Dies reduziert die Anzahl der Speicherzugriffe.



Wikipedia-Links: Lee- Algorithmus, RLE-Algorithmus .


Konvertierung des Schwellenwert-Basisvolumens


Unter Verwendung eines Tomographen wurden Daten zur Röntgendichte an jedem Punkt im Raum erhalten. Luftvoxel haben eine Röntgendichte im Bereich von -1100 bis -900 HE und Voxel der Atmungsorgane von -900 bis -300 HE. Daher können wir alle überschüssigen Voxel mit einer Röntgendichte von mehr als -300 HE entfernen. Als Ergebnis erhalten wir ein binärisiertes Voxelvolumen, das nur Atmungsorgane und Luft enthält.



Externe Luftbegrenzung


Um die innere Luft des Körpers zu isolieren, entfernen wir alle Objekte, die an die Ecken der Voxelszene angrenzen. So werden wir die Außenluft los.



In nicht allen Fällen wird jedoch die Luft im Tomographentisch entfernt, da möglicherweise keine Verbindung zu den Ecken der Szene besteht.



Daher scannen wir nicht nur die Ecken, sondern auch alle Voxel, die auf einer der Randebenen der Szene liegen. Infolgedessen sind aus irgendeinem Grund auch die Lungen selbst gegangen. Es stellt sich heraus, dass die Luftröhre auch eine Verbindung zur oberen Ebene der Szene hatte.



Die obere Ebene muss aus der Scanzone ausgeschlossen werden. Es gibt auch Studien, bei denen die Lunge nicht vollständig erfasst wurde und die untere Ebene mit der Lunge assoziiert ist. Auf Wunsch kann also auch die untere Ebene ausgeschlossen werden.



Diese Methode wirkt jedoch nur auf Brustuntersuchungen. Bei der Erfassung des gesamten Körpervolumens erscheint auf dem Bild eine Verbindung zwischen der inneren und äußeren Luft durch die Nasenhöhle. Daher ist es notwendig, morphologische Erosion anzuwenden, um innere und äußere Luft zu trennen.



Nach dem Anwenden der Erosion können wir zu der zuvor erhaltenen Methode der Segmentierung der Außenluft zurückkehren, die auf der Nähe zu den Seitenebenen der Szene basiert.



Durch die Isolierung der Außenluft könnte man sie sofort aus dem Gesamtvolumen von Luft und Lunge herausnehmen und die Innenluft von Körper und Lunge gewinnen. Es gibt jedoch ein Problem. Nach der Erosion gingen einige Informationen über die Außenluft verloren. Um es wiederherzustellen, wenden wir die Erweiterung der Außenluft an.



Als nächstes subtrahieren wir die Außenluft von allen Luft- und Atmungsorganen und erhalten die Innenluft und die Atmungsorgane.




Hervorheben des maximalen Objektvolumens


Als nächstes wählen wir die Atmungsorgane als das größte Objekt im Volumen aus. Atmungsorgane sind ein separates Objekt. Es gibt keine Verbindung zwischen der Lunge und der Luft im Magen-Darm-Trakt.



Es ist anzumerken, dass die richtige Wahl der Röntgendichteschwelle im Anfangsschritt der Schwellentransformation wichtig ist. Andernfalls besteht in einigen Fällen aufgrund der geringen Auflösung möglicherweise keine Verbindung zwischen den beiden Lungen. Wenn Sie beispielsweise berücksichtigen, dass die Voxel der Atmungsorgane eine Röntgendichte von -500 HE oder weniger aufweisen, führt die Zuordnung der Atmungsorgane zum größten Volumenobjekt im folgenden Fall zu einem Fehler, da keine Verbindung zwischen den beiden Lungen besteht. Daher sollte der Schwellenwert auf -300 HE erhöht werden.



Gefäßverschluss in der Lunge


Um die Gefäße in der Lunge zu erfassen, verwenden wir einen morphologischen Verschluss, dh eine Dilatation, gefolgt von einer Erosion mit demselben Radius. Die Röntgendichte der Gefäße beträgt etwa -100..100 HU.



Große Blutgefäße schlossen nicht. Dies ist jedoch nicht erforderlich. Der Zweck dieser Operation bestand darin, viele kleine Löcher in der Lunge zu zerstören, um eine weitere Lungensegmentierung zu ermöglichen.


Algorithmus zur Segmentierung der Atemwege


Als Ergebnis erhalten wir den folgenden Algorithmus zur Segmentierung der Atmungsorgane:


  1. Schwellenwertumwandlung des Basisvolumens durch Schwellenwert <-300 HE.
  2. Morphologische Erosion mit einem Radius von 3 mm zur Trennung von Außen- und Innenluft.
  3. Die Zuordnung der Außenluft anhand der Nähe zu den seitlichen Grenzflächen der Voxelszene.
  4. Morphologische Erweiterung der Außenluft zur Wiederherstellung von Informationen, die durch Erosion verloren gegangen sind.
  5. Subtraktion der Außenluft von allen Luft- und Atmungsorganen, um die Innenluft und die Atmungsorgane zu erhalten.
  6. Hervorheben des maximalen Objektvolumens.
  7. Morphologischer Verschluss von Blutgefäßen in der Lunge.


Implementierung des Algorithmus in MATLAB


GetRespiratoryOrgans-Methode


%      (    ) %      . % V =         . % cr =    . % ci =      (, 3  %      3   . function RO = getRespiratoryOrgans(V,cr,ci) %     %   < -300 HU. AL=~imbinarize(V,-300); %    3   %     . SE=strel('sphere',3); EAL=imerode(AL,SE); %       %      . EA=getExternalAir(EAL); %      %      . DEA=EA; for i=1:4 DEA=imdilate(DEA,SE); DEA=DEA&AL; end %         %        . IAL=AL-DEA; %     . RO=getMaxObject(IAL); %     . RO=closeVoxelVolume(RO,3,2); 

GetExternalAir-Methode


 %  ,       % (  ,     %    ). % EAL =      . function EA = getExternalAir(EAL) %  bwlabeln  :   %    ,  –    .. V=bwlabeln(EAL); %    ,    %     . R=regionprops3(V,'BoundingBox','VoxelList'); n=height(R); %  3-D      . s=size(EAL); EA=zeros(s,'logical'); %        %    ,   . for i=1:n %   x  y,    %  . x0=R(i,1).BoundingBox(1); y0=R(i,1).BoundingBox(2); x1=x0+R(i,1).BoundingBox(4); y1=y0+R(i,1).BoundingBox(5); %        %  ,       %   EA. if (x0 < 1 || x1 > s(1)-1 || y0 < 1 || y1 > s(2)-1) %        %  : [[x1 y1 z1][x2 y2 z3] … [xn yn zn]]. mat=cell2mat(R(i,2).VoxelList); ms=size(mat); %  ,    . for j=1:ms(1) x=mat(j,2); y=mat(j,1); z=mat(j,3); EA(x,y,z)=1; end end end 

GetMaxObject-Methode


 %        "V". % O =    . % m =    . function [O,m] = getMaxObject(V) %  . V=bwlabeln(V); %        %  . R=regionprops3(V,'Volume','VoxelList'); %      . v=R(:,1).Volume; [m,i]=max(v); %  3-D      % . s=size(V); O=zeros(s,'logical'); %       . mat=cell2mat(R(i,2).VoxelList); ms=size(mat); for j=1:ms(1) x=mat(j,2); y=mat(j,1); z=mat(j,3); O(x,y,z)=1; end 

Der Quellcode kann hier heruntergeladen werden .


Fazit


Folgende Artikel sind geplant:


  1. Segmentierung der Luftröhre und der Bronchien;
  2. Segmentierung der Lunge;
  3. Segmentierung der Lungenlappen.

Algorithmen wie:


  1. Entfernungstransformation;
  2. Transformation des nächsten Nachbarn (Transformation des nächsten Nachbarn, auch als Merkmalstransformation bekannt);
  3. Berechnung von Eigenwerten der Hessischen Matrix zur Segmentierung flacher 3D-Objekte;
  4. Segmentierung nach der Wasserscheidensegmentierung.

Source: https://habr.com/ru/post/de458268/


All Articles