Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren

Ähnliche Dokumente
1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1.

Digital Image Interpolation with CUDA

Medienforensik - Manipulationserkennung. Multimedia Sicherheit, Martin Steinebach

Was bisher geschah. digitale Bilder: Funktion B : pos col Matrix B col

Bildwinkel & Auflösung

Grundlagen der Videotechnik, Farbe 2

EVC Repetitorium Blender

Inhaltsbasierte Bildsuche. Matthias Spiller. 17. Dezember 2004

Graphikbearbeitung. Graphikgröße ändern. Eine kleine Anleitung von Dirk Weikard

Farbverarbeitung mit Bayer-Mosaic Sensoren

Bikubische Interpolation am Beispiel der Bildbearbeitung (2013)

Bildwinkel & Auflösung

Bildinterpolation in virtuellen 3-D-Szenen. Lars Groenhagen

INTELLIGENTE DATENANALYSE IN MATLAB

Praktikum Algorithmen-Entwurf (Teil 7)

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen

Bildverarbeitung: Filterung. D. Schlesinger () Bildverarbeitung: Filterung 1 / 17

Die Vorausschau-Tabelle:

Nichtrealistische Darstellung von Gebirgen mit OpenGL

Christina Nell. 3D-Computergrafik

Digitale Bildverarbeitung - Rechnerübung 3

Milderung der Aliasing-Effekte (keine Lösung des Problems)

Programmieren: Bildbearbeitung

Elementare Bildverarbeitungsoperationen

Bildbearbeitung und Texturierung

Darstellung als Filterbank. Annahme für die Codierung: bestimmter Betrachtungsabstand, Wiedergabegröße Bestimmter Betrachtungswinkel für das Auge.

5 JPEG. 5.1 Bayer Filter. 5.2 Überblick. 5.3 Diskrete Cosinus-Transformation. 5.4 Bildmodell. 5.5 Codierung. 5.6 Übertragungsmodi

Technische Universität Chemnitz im April 2013

2D Graphik: FFT und Anwendungen der Fouriertransformation. Vorlesung 2D Graphik Andreas Butz, Otmar Hilliges Freitag, 25.

Segmentierung. Vorlesung FH-Hagenberg SEM

SEMINAR COMPUTATIONAL PHOTOGRAPHY

Struktur des menschlichen Auges. Bildgebende Verfahren in der Medizin und medizinische Bildverarbeitung Bildverbesserung 2 / 99

Bild-Erfassung Digitalisierung Abtastung/Quantisierung

Was bisher geschah. digitale Bilder: Funktion B : pos col Matrix B col pos. Punktoperationen f : col 1 col 2

3.5 Methode des gleitenden Horizonts

Computergraphik Grundlagen

Filter Transformationen (Blender) INSTITUTE OF COMPUTER GRAPHICS AND ALGORITHMS

Übungsstunde 8 zu Computergrafik 1

Willkommen bei Photoshop. Von Gianin Rageth Fotograf, Grafiker & Illustrator 9100 Herisau

Graphische Datenverarbeitung und Bildverarbeitung

Suche nach korrespondierenden Pixeln

neue dokumente anlegen Menüleiste: Datei > Neu Kurzbefehl: cmd + N

Computergrafik 2: Morphologische Operationen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

1 Einführung. Bildformate Analyse der LSB-Ersetzung Weitere steganographische Algorithmen. Syndromkodierung in der Steganographie

Robert Klaßen. Photoshop Elements 5. für digitale Fotos. Zusatzkapitel Füllmethoden

Einführung in die medizinische Bildverarbeitung SS 2013

Technologievergleich Digitalkamerasysteme

10.5 Maximum-Likelihood Klassifikation (I)

Motivation. Diskretisierung. Überblick. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Diskretisierung und Quantisierung

Internationaler Studiengang Medieninformatik

Mapra: C++ Teil 6. Felix Gruber, Michael Rom. 07. Juni 2016 IGPM. Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 6 07.

6. Polynom-Interpolation

Kapitel 10. Maschinelles Lernen Lineare Regression. Welche Gerade? Problemstellung. Th. Jahn. Sommersemester 2017

AG G Applied Geophysics Group

Untersuchung und Modellierung des Rolling-Shutter-Effekts für photogrammetrische Einzel- und Mehrbildauswertungen

E i n B i l d i n P h o t o s h o p d u p l i z i e r e n

Methoden des automatischen Weißabgleichs und ihr Bezug zur Farbkonstanz. R. Jahn, K.-H. Franke

VU Einführung in Visual Computing Sebastian Zambanini Computer Vision Lab TU Wien. Ablauf

Grundlagen der Videotechnik

Digitale Fotografie für das Web Wintersemester 2013/2014 MEINF4330

Sommersemester Prof. Dr. Christoph Kleinn Institut für Waldinventur und Waldwachstum Arbeitsbereich Fernerkundung und Waldinventur

Mathematik Serie 5 (60 Min.)

Programmierpraktikum WS 16/17

ÜBUNG 4: ENTWURFSMETHODEN

Bildmerkmalssuche. Seminar Computational Photography. Visual Computing Department of Computer Science

Das mache ich selbst! Hotpixel-Korrektur mit dem ueye Hotpixel Editor

Beleuchtung. in Computerspielen

Die Auflösung der Megapixels. Karl-Heinz Zahorsky LaserSoft Imaging AG, Kiel

Übung: Computergrafik 1

Übung: Computergrafik 1

Fahrspurerkennung in Videoechtzeit mit SoC. Eike Jenning INF-M3 - Seminar/Ringvorlesung - Wintersemester 2007/

3. Analyse der Kamerabewegung Video - Inhaltsanalyse

Merkblatt 2028 Klimadaten

Praktikum Sensitometrie Bestimmung des Signal Rausch Verhältnisses (SRV) eines Flachbett-Scanners


Bildverarbeitung Herbstsemester. Mustererkennung

Digitale Bildbearbeitung und Fotografie. Dozenten: Arne Scheffer

Techniken der Effizienzsteigerung bei 2D-Texturierung:

Passive Fingerabdrücke / Übertragbarkeit

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen

Technische Universität Dresden

6. Texterkennung in Videos Videoanalyse

Licht und Farben. Andreas Spillner. Computergrafik, WS 2018/2019

Morphologische Operationen (12 Punkte)

Computergraphik 1 2. Teil: Bildverarbeitung. Fouriertransformation Ende FFT, Bildrestauration mit PSF Transformation, Interpolation

FARBEN IM INTERNET FARBWERTE, FARBTIEFEN IN DER BILDBEARBEITUNG

5. Gitter, Gradienten, Interpolation Gitter. (Rezk-Salama, o.j.)

Eine CCD Speicherzelle besteht aus einem sogenannten MOS Kondensator (Metall Oxid Semiconductor).

Füllen von Primitiven

2. Schnitterkennung Video - Inhaltsanalyse

Einfach zu guten Volumendatensätzen - Neuigkeiten zu METROTOM OS

Kanten und Konturen. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz

Übung zu Einführung in die Informatik # 14

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

Computergrafik 2: Morphologische Operationen

Distributed Algorithms. Image and Video Processing

4. Segmentierung von Objekten Video - Inhaltsanalyse

Graphische Datenverarbeitung und Bildverarbeitung

Transkript:

Debayeringverfahren Thomas Noack, Nikolai Kosjar 19. Mai 2010

Was bisher geschah... Reduktion der Herstellungskosten durch Einsatz von nur noch einem CCD-Sensor mit Bayer-Filter Problem: Bayer Image Full Color Image Interpolation fehlender Farbwerte nötig Pixelbinning: Zusammenfassung von Pixeln 2x2 Pixel Binning Aber: Auflösung verringert, unschöne Artefakte, Farbfehler - andere Verfahren können das besser, richtig?

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Nearest Neighbour Interpolation Übernehme Farbwert vom benachbarten Pixel (mit gleichem Farbanteil) Simpelste Methode Schlechte Qualität Auflösung wird verringert Farbfehler an Kanten ( color fringing ) 5

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Bilineare Interpolation Bilde Mittelwert des benötigten Farbwertes aus der 2x2Nachbarschaft Relativ schnell Bessere Qualität als Nearest Neighbour: Weicher (Anti-Aliasing-Effekt) Weniger Artefakte Auflösung beibehalten Aber: Immer noch Zipper-Artefakte an Kanten 7

Bilineare Interpolation Beispiel G2 G4 G5 G6 G5 = (G2+G4+G6+G8)/4 G8 R1 R2 R3 R4 R5 R7 R9 R2 = (R1+R3)/2 R4 = (R1+R7)/2 R5 = (R1+R3+R7+R9)/4 (für blau analog) 8

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Bikubische Interpolation Betrachte 4x4 Nachbarschaft: Bilde gewichteten Mittelwert - Pixel die näher dran, sind sind stärker gewichtet Mittlere Verarbeitungszeit Mittlere Qualität Schärfere Bilder Ideale Kombination aus Verarbeitungszeit und Qualität Aber: Immer noch Zipper-Artefakte an Kanten 10

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Variable Number of Gradients Bestimme für jeden Pixel 8 gemittelte Gradients, wähle dann die guten aus und bestimmte aus diesen den fehlenden Farbanteil Sehr aufwendiges Verfahren Super Qualität, sehr nahe am Original 12

Variable Number of Gradients Einleitendes Beispiel: Gesucht: Grünwert bei Reales Bild ist hier weiss Reales Bild ist hier schwarz Ziel: Artefakte an Kantenübergängen reduzieren (Zipper-Effekt) B R G R G G B G B R G R G G B G B 13

Variable Number of Gradients Einleitendes Beispiel: Gesucht: Grünwert bei Reales Bild ist hier weiss Reales Bild ist hier schwarz Ziel: Artefakte an Kantenübergängen reduzieren (Zipper-Effekt) B R G1 R G G2 B G3 B R G4 R G G B G B G1 G4 > G2 G3 G1 G4 ist ein stärkerer Übergang, also bei Berechnung lieber herausnehmen! 14

Variable Number of Gradients Beispiel Gesucht: G13 und B13 bei R13 15

Gesucht: G13 und B13 an R13 N NW W NE SE ComputationalSW Photography - Debayeringverfahren S E SE 16

Gesucht: G13 und B13 an R13 N = 12 12 = NW Schwellwert ermitteln: 8=W NE = 4 T = k1 * min + k2 * (max-min) = 11 14 = SW SE Computational Photography - Debayeringverfahren E = 13 S=7 SE = 7 17

Gesucht: G13 und B13 an R13 NE = 4 8=W Schwellwert ermitteln: T = k1 * min + k2 * (max-min) = 11 S=7 SE = 7 18

Variable Number of Gradients Gesucht: G13 und B13 bei R13 NE = 4 S (18) (12) W NE (B9) SE (B1 9) S=7 SE = 7 G B R G18 (B17+B19)/2 (R13+R23)/2 G12 (B7+B17)/2 (R11+R13)/2 (G4+G8+G10 +G14)/4 B9 (R13+R5)/2 (G14+G18+G 20+G24)/4 B19 (R13+R25)/2 = = = 8=W Gs Bs Rs G13=R13 G s R s / 4 B13=R13 B s R s / 4 19

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Patterned Pixel Grouping Annahme: die Farbwerte korrelieren mit der Luminanz der Pixel da vor allem die grünen Pixel die Luminanz transportieren heißt dies, dass die Differenzen R-G und B-G sich nur allmählich ändern 21

Patterned Pixel Grouping Phase 1: Grün-Rekonstruktion a) Gradientenberechnung b) Interpolation Phase 2: B/R auf G Rekonstruktion Phase 3: B auf R / R auf B Rekonstruktion a) Gradientenberechnung b) Interpolation 22

Patterned Pixel Grouping (1a) Es werden 4 Gradienten (in diesem Fall für p2) berechnet, die durch das folgende Muster gebildet werden (Grün auf Blau analog): p1 p2 p3 p4 X = 2 R(p2)-R(p4) + G(p1)-G(p3) Dieses wird einmal in jede Richtung X aus {N, O, S, W} durch Drehung um 90 jeweils um den Punkt p2 durchgeführt Anschließend wird die Richtung Y mit dem niedrigsten Gradienten ausgewählt 23

Patterned Pixel Grouping (1b) Nun wird der Grünwert an p2 mit den Pixeln von Y errechnet, wobei die Pixel mit folgenden Gewichten in die Berechnung eingehen : p1 p2 p3 p4 1 1 3-1 G(p2) = (G(p1)+3 G(p3)+R(p2)-R(p4))/4 24

Patterned Pixel Grouping (2) Nun wird an den ursprünglich ausschließlich grünen Pixeln Blau und Rot mit der Funktion hue_transit interpoliert: R(p) = hue_transit(g(r1),g(p),g(r2),r(r1),r(r2) B(p) = hue_transit(g(r1),g(p),g(b2),b(b1),b(b2) (analog in blau-grün Zeilen um 90 gedreht) b1 r1 p r2 b2 25

Patterned Pixel Grouping function hue_transit(l1,l2,l3,v1,v3) Falls (l1<l2<l3 oder l1>l2>l3) 1 2 3 Dann gib zurück: v1+((v3-v1) (l2-l1))/(l3-l1) Sonst gib zurück: (v1+v3)/2+(2 l2-l1-l3)/4 Anm: hue_transit kann horizontal, vertikal und diagonal angewendet werden. 26

Patterned Pixel Grouping (3) Es werden Gradienten an ursprünglich roten Pixeln in diagonaler Richtung gebildet (für blaue Pixel analog): nw = b+ r1+ r2+ g1+ g2 ne analog (90 gedreht) Suche nun den kleineren Gradienten und führe hue_transit mit den entsprechenden Pixeln durch: B(P3) = hue_transit(g(p2),g(p3),g(p4), B(p2),G(p4)) p1 p2 p3 p4 p5 27

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Microsoft Algorithmus Der Microsoft Algorithmus ist eine Erweiterung der bilinearen Interpolation um einen Korrekturwert Annahme: die Farbwerte korrelieren miteinander Das heißt, dass sich die Differenzen B-R, R-G und B-G in räumlicher Nähe nur allmählich ändern 29

Microsoft Algorithmus Um Grün an einem roten Punkt zu approximieren, wird der bilinear approximierte Wert von Grün mit einem Korrekturwert (Gradient) der umgebenen roten Pixel korrigiert: g0=gbi+α r gbi=(g1+g2+g3+g4)/4 r=r0-(r1+r2+r3+r4)/4 α gibt die Intensität der Korrektur an r1 g1 r4 g4 r0 g2 r2 g3 r3 Anm.: Grün auf blauen Pixel analog 30

Microsoft Algorithmus Rot auf Grün (analog Blau auf Grün): Rot auf Blau (analog Blau auf Rot): r=rbi+β g r=rbi+γ b rbi bzw. bbi ist die entsprechende bilineare Interpolation Als Korrekturintensitäten α, β und γ werden die Werte α=1/2, β=5/8 und γ=3/4 gewählt Für g und b gelten folgende Koeffizienten: 31

Microsoft Algorithmus Wichtung der umgebenden Pixel im Korrekturwert: -1 1/2-1 -1 4-1 -1-1 5-1 -1-3/2-1 -3/2 6-3/2-1 1/2-3/2 Grün auf Rot Rot auf Grün (evtl. um 90 gedreht) Rot auf Blau Analog: Grün auf Blau Analog: Blau auf Grün Analog: Blau auf Rot 32

Agenda Verbreitete Verfahren Nearest Neighbour Bilineare & bikubische Interpolation Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Microsoft Algorithmus als weiteres Verfahren Zusammenfassung

Zusammenfassung Pro Pixel Binning Sehr schnell Contra Nearest Neighbour Bilinear (vgl. mit Nearest Neighbour) Bikubisch Variable Number of Gradients (VNG) Patterned Pixel Grouping (PPG) Sehr schnell Weicheres Ergebnis Weniger Artefakte Auflösung verringert Helligkeit erhöht, Rauschen vermindert Auflösung verringert Farbfehler Immer noch ZipperArtefakte Guter Kompromiss aus Berechnungsaufwand und Qualität Super Qualität Schneller als VNG Weniger Farb-Artefakte als VNG Anwendung Anfänge der Digicams Webcams Adobe Photoshop, In-Camera Processing, Druckertreiber Berechnungsintensiv Im Durchschnitt schlechtere Quali als VNG Tradeoff: Geschwindigkeit Genauigkeit/Artefakte/Farbfehler 34

Original Bayer pattern Nearest neighbor Pixel binning (vergrößert) Bilinear VNG 35

Original Bayer pattern Nearest neighbor Pixel binning (vergrößert) Bilinear VNG 36

Nearest-Neighbour ORIGINAL Pixelbinning Bilinear Variable Number of Gradients Vergleich 37

Debayeringverfahren Q&A / Diskussion / Bewertung 38