Transcript ppt

Bildkorrektur und -verbesserung
Seminar
Medizinische Visualisierung
Enkelejda Tafaj
Motivation
• Medizinische Bilder ermöglichen bessere
• Diagnostik
• Verlaufskontrolle
• Therapie
• Störungen während Bildaufnahme
•
•
•
•
2
Inkorrekte Fokussierung
Kratzer auf Linsensystem
Geometrische Entzerrungen
Rauschen
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Bildkorrektur vs. Bildverbesserung
• Bildkorrektur: Kompensation systematischer
Fehler während Bildaufnahme
Original rekonstruieren
• Bildverbesserung: Betonung und Schärfung
von Bildkennzeichen
Erhöhung der Qualität des Bildes
3
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Inhalt
• Interpolationen
• Geometrische Transformationen
• Interpolationsverfahren
• Vergleich zwischen den verschiedenen Verfahren
• Punktoperationen
• Grauwertspreizung
• Clipping
• Histogrammausgleich
• Filter
• Lineare
• Nichtlineare
• Zusammenfassung
4
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Inhalt
• Interpolationen
• Geometrische Transformationen
• Interpolationsverfahren
• Vergleich zwischen den verschiedenen Verfahren
• Punktoperationen
• Grauwertspreizung
• Clipping
• Histogrammausgleich
• Filter
• Lineare
• Nichtlineare
• Zusammenfassung
5
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Geometrische Transformationen
2 Schritte:
• Koordinatentransformation (Drehung, Skalierung, usw.)
• Interpolation
• Bildpunkte landen i.A. im Ausgabebild nicht auf einem
diskreten Raster:
(u,v)
T
(x,y)
6
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolationen
• Lösung: Interpolation der Grauwerte im
Ausgabebild aus Grauwerten der
Nachbarpunkten im:
• Eingabebild (Target-to-Source-Mapping)
T-1
7
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolation
• Formal durch Faltung
h2D(x,y)
f(x,y)
Es gilt:
8
beschreibbar:
Interpolationsmaske
Grauwert an Position (x,y)
h2D(x,y) = h(x)*h(y)
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolation
si-Funktion
Rekonstruktion der Originalfunktion
durch Überlagerung von si-Funktionen
(falls Abtasttheorem
erfüllt)
• Ziel der idealen Interpolation:
• Interpolationsmasken (örtlich begrenzte), die die
si-Funktion möglichst gut approximieren:
9
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolationsverfahren - Nearest-Neighbor
• Nur eine Stützstelle zur Interpolation:
• Grauwert des nächsten Nachbarpixels
• Einfachstes Interpolationsverfahren
• Schnelle Berechnung
• Aber schlechte Bildqualität, viele Interpolationsfehler
T-1
10
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolationsverfahren - Lineare Interpolation
• 4 Stützstellen zur Interpolation
• Alle 4 Grauwerte der umgebenden Pixel in Abhängigkeit vom
Abstand
• Schnell und einfach zu berechnen
• Häufigstes Interpolationsverfahren
T-1
11
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolationsverfahren - B-Spline Interpolation
• Interpolation durch Polynome
• Zwischen Stützstellen definiert
• B-Splines der Ordnung n
• n = Anzahl der Stützstellen, Grad der Polynome m = n - 1
si-Funktion
12
Kubische B-Spline
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (1)
• Lehmann et al. (Studie 1999, Addendum 2001)
•
13
f
T
T-1
f‘
•
f‘
f‘‘
•
Absolute pixelweise Grauwertdifferenz f‘‘ – f
•
Differenz > 1
=> schwarze Punkte
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (3)
Originalbild
Lineare Interpolation
B-Spline 3. Ordnung
B-Spline 4. Ordnung B-Spline 5. Ordnung B-Spline 6. Ordnung
14
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (4)
• Lehmann (1999)
• B-Spline Interpolationen höherer Ordnung
- Kleinste Interpolationsfehlerrate
- Bei relativ geringer Rechenzeit
- Bevorzugung für medizinische Anwendungen
• Nachteil dieses Verfahrens
• Verschwinden negativer Effekte durch die inverse Transformation
(z.B. bei Rotation)
Alternative Meijering 2000
15
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (5)
2) Meijering (2000)
•
•
•
•
Interpolationsfehler für jede Kombination aus Bild,
geometrische Transformation und
Interpolationsverfahren
•
•
16
126 Interpolationsverfahren
CT, MR, PET, SPECT, 3DRA und XRA Bilder
Trade - Off Genauigkeit - Rechenzeit
Root-Mean-Square Error (Standardabweichung)
Largest-Absolute-Error
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (6)
Interpolationsfehler
Rechenzeit (s/voxel)
Nearest
Neighbor
Lineare Interpolation
17
B-Spline Interpolation mit
Polynome des Grades 2-9
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (7)
Original
Nearest Neighbor
Kubische B-Spline
18
Lineare Interpolation
Quintic B-Spline
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Beurteilung von Interpolationsverfahren (8)
• Meijering (2000):
• Bester Trade-Off Genauigkeit - Rechenzeit bei
B-Spline Interpolation
• Verfahren wie Nearest Neighbor und Lineare
Interpolation
- Kleinere Rechenzeit
- Aber große Fehlerrate
• Bessere Ergebnisse mit B-Splines höherer
Ordnungen
• Aber Rechenzeiterhöhung
19
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Interpolation
• Derzeitige Forschung
• Morphologisch
• Fourier basierte Interpolationsverfahren
- Implementierung schwierig
- Rechenzeitaufwendig
• B-Spline Interpolation
• Liefert die kleinste Interpolationsfehlerrate
• Geringere Rechenzeit
• Implementierung nicht so schwierig
B-Spline Interpolation für medizinische Anwendungen
20
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Inhalt
• Interpolationen
• Geometrische Transformationen
• Interpolationsverfahren
• Vergleich zwischen den verschiedenen Verfahren
• Punktoperationen
• Grauwertspreizung
• Clipping
• Histogrammausgleich
• Filter
• Lineare
• Nichtlineare
• Zusammenfassung
21
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Punktoperationen
• Bildpunkt wird ohne Einfluss anderer Bildpunkte mittels
Transformationskennlinie verändert.
• Ergebnispixel f*(k,l) abhängig von
• Position (k,l) im Bild
• Ursprünglicher Grauwert f(k,l)
• Homogene Punktoperationen
• Falls f*(k,l) nur von f(k,l) abhängig
• Mathematisch einfach
• Manchmal rechenaufwendig, daher Implementierung als
Look-Up-Table (LUT)
22
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Grauwertspreizung
• Wertebereich oft nicht ausgeschöpft
• Optimale Ausnutzung des Grauwertbereichs durch
stückweise lineare Transformation Tstretch(g)
• Eingabebild auf G* = {gmin,…, gmax} beschränkt
23
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Grauwertspreizung - Beispiel
Originalbild
24
Nach Grauwertspreizung
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Clipping
• Begrenzung des Grauwertbereichs durch künstliches
Abschneiden (Clipping)
25
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Clipping – Beispiel einer LUT
• G = 256, gmin= 26, gmax= 229
g
T(g)
26
0 … 26
27
28
… 100 …
200 …
228
229
… 254
0 …
1
3
…
219 …
254
255
… 255
0
93
…
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Histogrammäqualisation (1)
• Histogramm = Häufigkeitsverteilung der Grauwerte
• Ziel der Histogrammäqualisation Tequal(g)
• Gleichverteilung der Grauwerte
• Ausnutzung der vollen Grauwertskala
h(x) Häufigkeit des Grauwertes x im Bild
M*N Anzahl der Pixel im Bild
27
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Histogrammäqualisation (2)
• Beispiel für G = 16, M*N = 128 und Histogramm h(g)
• Für g = 3:
T(3) = [15/128 * (1 + 3 + 4 + 11)] = [2,2265] = 2
28
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Histogrammäqualisation - Beispiel
Originalbild
29
Histogrammäqualisation
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Inhalt
• Interpolationen
• Geometrische Transformationen
• Interpolationsverfahren
• Vergleich zwischen den verschiedenen Verfahren
• Punktoperationen
• Grauwertspreizung
• Clipping
• Histogrammausgleich
• Filter
• Lineare
• Nichtlineare
• Zusammenfassung
30
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lokale Bildoperationen - Filter
Nur unmittelbare Nachbarn beeinflussen Änderung
eines Bildpunktes.
• Filtermasken (Kernel, Fenster)
• Quadratische Matrizen ungerader Kantenlänge
• Bildpunkt „unter“ dem Zentrum der Maske wird verändert
• Gewichtung der Nachbarpunkte
• Beispiel: Mittelwertfilter-Maske
1/9 *
31
1
1
1
1
1
1
1
1
1
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Filter
• Ergebnispixel = Linearkombination der Bildpunkte
unter der Maske
• Transformation eines Bildes f mit Maske M zu Bild s
mathematisch als Faltung (convolution):
s(k,l)
f(k,l)
h(i,j)
32
Grauwert an Position (k,l) im Ausgabebild
Grauwert an Position (k,l) im Eingabebild
Gewicht der Maske M an Stelle (i,j)
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Filter - Mittelwertfilter
Ergebnis = Mittelwert Grauwerte der Nachbarbildpunkte
81 77 79 83 89
81 77 79 83 89
71 75 77 73 83
71
85 79 89 80 79
85
82 87 85 81 83
82
86 79 76 73 86
86 79 76 73 86
83
81
79
83
Mittelwertfilter:
• Zur Rauschunterdrückung gut geeignet
• Mathematisch einfach
• „Blurring“
• Scharfe Kanten werden abgeschwächt
33
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Mittelwertfilter - Beispiel
Original
34
Nach Mittelwertfilterung
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Filter – Gauß-Filter
Einträge in Maske entsprechen diskreter Normalverteilung
• Zentrum der Filtermaske höher gewichtet als Ränder
Paskalsches Dreieck
n
1/42 *
0
1
1
1 1
2
1 2 1
1
3
4
1
3
4
3
6
1
4
1
1/44 *
35
1
2
1
2
4
2
1
2
1
1
4
4
1
4
16 24 16
4
6
24 36 24
6
4
16 24 16
1
1
4
1
6
6
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
4
15.07.2016
Lineare Filter – Gauß-Filter
Gauß-Filter:
• Zur Rauschreduktion sehr gut geeignet
• Brechen nicht so abrupt ab wie Mittelwertfilter
• Geringeres Verschmieren des Bildes
36
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Gauß-Filter
Original
37
Nach Gauß-Filterung
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Gauß-Filter
Original
38
Nach Gauß-Filterung
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Filter zur Kantendetektion
0 0 0
Differenzfilter:
Ox =
-1 1 0
0 -1 0
Oy =
0 0 0
0 0 20 20 20
0 0 20 20 20
39
Detektion vertikaler
Kante durch Ox
0 1 0
0 0 0
0 0 20 0 0
0 0 20 0 0
0 0 20 20 20
0 0 20 0 0
0 0 20 20 20
0 0 20 0 0
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Filter zur Kantendetektion
1 0 -1
Sobel - Filter:
Prewitt - Filter:
Sx = 1/4 *
Px = 1/3 *
2 1 -2
1 2 1
Sy = 1/4 *
1 0 -1
-1 -2 -1
1 0 -1
1 1 1
1 0 -1
Py = 1/3 *
1 0 -1
40
0 0 0
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
0 0 0
-1 -1 -1
15.07.2016
Lineare Filter zur Kantendetektion
MR-Bild
41
Differenz-Filter
Sobel-Filter
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Nichtlineare Filter - Rangordnungsfilter
Rangordnungsfilter:
• Grauwerte unter Filtermaske werden nach der Größe sortiert
• Ergebnispixel = ein Grauwert aus dieser Rangordnung
Maximum-Filter
• Größter Grauwert aus Rangordnung wird dem Ergebnispixel
zugeordnet
=> Bild wird heller
Minimum-Filter
• Kleinster Grauwert aus Rangordnung wird dem Ergebnispixel
zugeordnet
=> Bild wird dunkler
Median-Filter
• Grauwert in der mittleren Position der Rangordnung wird dem
Ergebnispixel zugeordnet
42
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Rangordnungsfilter - Funktionsweise
43
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Median - Filter
Original
44
Nach Median-Filterung
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Nichtlineare Filter – Sigma Filter
Ergebnispixels = Mittelwert der Nachbarpixel, aber
• Berücksichtige nur Grauwerte die vom Grauwert des
betrachteten Bildpunktes nicht zu sehr abweichen
• Vorgehensweise:
• Standardabweichung  der Grauwerte der Nachbarschaft
• Berechne absolute Grauwertdifferenz Di jedes Nachbarn vom zu
betrachtenden Bildpunkt.
• Schließe Nachbarbildpunkt von Mittelwertberechnung aus, falls
Di < (2 )
45
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Nichtlineare Filter – Sigma Filter
• Zur Rauschreduktion gut geeignet
• Kantenbewahrend
Originalbild
46
Sigma-Filter
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Filter – Vergleich
Original
47
Mittelwertfilter
Gauß-Filter
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
Median-Filter
15.07.2016
Lineare Filter
vs.
• Vorteile
• Einfach zu implementieren
• Glättende Wirkung
• Rauschreduktion
• Nachteile
• „Blurring“
• Verschwinden der Kanten
• Informationsverlust
• Beispiele
• Mittelwert, Gauß-Filter
48
Nichtlineare Filter
• Vorteile
• Glättende Wirkung
• Kantenbewahrend
• I.A. leistungsfähiger
• Nachteile
• Algorithmisch aufwendiger
• Beispiele
• Maximum-, Median-Filter
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Zusammenfassung
• Interpolationsverfahren mit niedriger Fehlerrate
ermöglichen
• Registrierung / Volumenvisualisierung
• Bessere Bildqualität  Reduzierung der Strahlendosis und des
Kontrastmittels
• Kontrastverbesserung durch
• Histogrammäqualisation,
• Spreizung der Grauwerte oder Clipping erleichtert Befundung
• Filter zur
• Bildkorrektur (Rauschunterdrückung, Glättung)
• Hervorhebung der Kanten  Segmentierung, Klassifikation
49
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Literatur
[1] Thomas Lehmann, Walter Oberschelp, Erich Pelikan, Rudolf Repges.
Bildverarbeitung für die Medizin. Springer Verlag, 1997
[2] Meijering, Erik H. W. Spline Interpolation in Medical Imaging: Comparision with other
convolution-based approaches. In Signal Processing X:Theories and ApplicationsProceedings of EUSIPCO 2000, vol. 4, pp. 1989-1996, 2000
[3] Thomas Lehmann, Claudia Gönner and Klaus Spitzer. Addendum: B-Spline
Interpolation in Medical Image Processing. IEEE Transactions On Medical Imaging,
vol. 20, pp. 660-665, 2001
[4] Thomas Lehmann, Claudia Gönner and Klaus Spitzer. Survey: Interpolation Methods
in Medical Image Processing. IEEE Transactions On Medical Imaging, vol. 18, pp.
1049-1075, 1999
[5] Gabriele Lohmann. Volumetric Image Analysis. Wiley and Teubner, 1998
[6] Heinz Handels. Medizinische Bildverarbeitung. B.G.Teubner Stuttgart-Leipzig, 2000
[7] Olaf Doessel. Bildgebende Verfahren in der Medizin. Springer Verlag, 2000
[8] http://de.wikipedia.org/wiki/Abtasttheorem
[9] http://de.wikipedia.org/wiki/Faltung\_(Mathematik)
50
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Exkurs - Abtasttheorem
• Abtasttheorem:
fabtast > 2 * fmax
• Bei Verletzung des Abtasttheorems:
• Artefakten (z.B. Moiré Effekt beim Scannen von Vorlagen mit
wechselnden Ortfrequenzen)
51
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Exkurs - Faltung
• Diskrete Faltung: (f * g)(n) = ∑k f(k)g(n - k)
• Eigenschaften:
• Kommutativität
• Assoziativität
• Distributivität
52
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Nearest Neighbor
53
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016
Lineare Interpolation
54
University of Stuttgart - Visualization and Interactive Systems Group (VIS)
15.07.2016