Tiefenmasken

Was ist eine Tiefen­maske?
Eine Tiefen­maske oder Tiefenkarte (engl.: depth map) ist ein Bild, das Infor­ma­tio­nen über die Ent­fer­nung von Objek­ten (streng genom­men über die Ober­flächen dieser Objek­te) enthält. Tiefen­masken treten also in der Regel nicht alleine auf, son­dern immer als Zusatz­in­for­ma­tion zu einem nor­malen Mono­bild, das in diesem Kon­text dann auch häu­fig als RGB-Bild beze­ich­net wird. RGB-Bild deshalb, weil dieses Mono­bild die Farbin­for­ma­tion der abge­bilde­ten Szener­ie enthält.

Im ein­fach­sten Fall haben wir also ein Paar aus einem RGB-Bild und ein­er Tiefen­maske mit jew­eils genau gle­ich vie­len Pix­eln, wobei jedes Pix­el aus der Tiefen­maske eine Infor­ma­tion über die Ent­fer­nung des kor­re­spondieren Pix­els aus dem RGB-Bild trägt. (Im all­ge­meinen sind aber auch unter­schiedliche Auflö­sun­gen erlaubt.)

Eine häu­fig anzutr­e­f­fende Meth­ode, die Infor­ma­tion über die Ent­fer­nung darzustellen ist die Ver­wen­dung eines schwarz-weiß Bildes, wobei der näch­st­gele­gen Punkt weiß und der am weitesten ent­fer­nt gele­gene Punkt schwarz einge­färbt ist.

Üblich ist die Unter­schei­dung von 256 ver­schiede­nen Graustufen (bei ein­er 8‑Bit Tiefen­maske) oder 65536 Graustufen (bei ein­er 16-Bit Tiefen­maske). Bei­de Vari­anten sind ver­bre­it­et. Die Vari­ante mit 256 Stufen sind bei Full­HD-Bildern (1920x1080 Pix­el) ger­ade so aus­re­ichend, aber viel weniger soll­ten es auch nicht sein.

Damit wird auch klar, daß diese Graustufen niemals die Ent­fer­nung lin­ear 1:1 abbilden kön­nen, denn es muß auch für eine Ent­fer­nung im Unendlichen einen Grauw­ert geben. Die genaue Funk­tion, wie die Ent­fer­nung auf den Grauw­ert abge­bildet wird, ist nicht ein­deutig fest­gelegt und davon abhängig, wie die Tiefen­maske ent­standen ist. Meis­tens ist die genaue Funk­tion aber unbekan­nt, so daß im all­ge­meinen aus der Tiefen­maske nicht mehr auf die absolute Objek­tent­fer­nung zurück geschlossen wer­den kann.

Beispiel für ein RGB-Bild (links) und zuge­höriger Tiefen­maske (rechts). Bei­des sind unbear­beit­ete Orig­i­nal­bilder aus dem iPhone 11 (lediglich Auss­chnitt gebildet und in der Größe skaliert). Helle Pix­el im recht­en Bild indizieren nahe Objek­te und dun­kle Pix­el entsprechend ent­fer­nte Objek­te.

Wozu wird eine Tiefen­maske benötigt?
Abge­se­hen von wis­senschaftlichen Meth­o­d­en, beispiel­sweise in der Medi­zin oder beim autonomen Aut­o­fahren inter­essieren uns hier vor allen Din­gen die Anwen­dun­gen in der Fotografie. Eine inzwis­chen weit ver­bre­it­ete Anwen­dung (in der Flach­bild­fo­tografie) ist die Berech­nung ein­er nachträglichen Hin­ter­grun­dun­schärfe. Für uns viel inter­es­san­ter ist aber die Berech­nung eines Stere­o­bildes aus einem Mono­bild und der zuge­höri­gen Tiefen­maske. Die Tiefen­maske wird hier­bei als Dis­par­itätsinfor­ma­tion inter­pretiert und die Pix­el aus dem RGB-Mono-Bild entsprechend dem Grauw­ert der Tiefen­maske hor­i­zon­tal ver­schoben, um so ein zweites Stereoteil­bild zu erhal­ten. Das erste Stereoteil­bild ist das vorhan­dene RGB-Bild.

Es gibt bei dieser Oper­a­tion einige Frei­heits­grade, beispiel­sweise kann man fes­tle­gen, wo der Nah­punkt im Stere­o­bild liegen und wieviel Devi­a­tion das Stere­o­bild im Gesamten besitzen soll. Per default kön­nte man den Nah­punkt z.B. in das Sche­in­fen­ster leg­en und die Devi­a­tion auf 1/30 der Bild­bre­ite fes­tle­gen. Dies wäre dann gle­ichzeitg die Fer­n­punk­t­dis­par­ität.

Es wurde bere­its erwäh­nt, dass die genaue Funk­tion, wie die Ent­fer­nung in der Datei abge­spe­ichert ist, im all­ge­meinen unbekan­nt ist. Deshalb kann es dur­chaus vorkom­men, dass im fer­ti­gen Stere­o­bild der Raumein­druck verz­er­rt wirkt. In diesem Fall kann man den Tiefenein­druck durch nicht­lin­eare Vorverz­er­rung der Tiefen­maske kor­rigieren (wer möchte: mit COSI­MA-Para­me­ter Depth­Mas­kNon­lin).

Wie wer­den Tiefen­masken erzeugt?
Eine Über­sicht zur Gewin­nung von Tiefen­masken gab es im stereo jour­nal Heft 138 im Artikel über die Time-of-Flight-Tech­nik. Hier nochmals eine kurze Zusam­men­fas­sung über die gängi­gen Vari­anten:

1.) Manuelles kreatives Erfind­en ein­er Tiefen­maske.
2.) Berech­nung der Tiefen­maske aus einem vorhan­de­nen Stere­o­bild (Stereo Map­ping).
3.) Aktuelle Smart­phones erzeu­gen bei Auf­nah­men im Porträt-Mode eben­falls Tiefen­masken, entwed­er durch Ver­rech­nung der Bilder aus den ver­schiede­nen Objek­tiv­en (z.B. iPhone 11) oder durch Mes­sung mit­tels LIDAR-Sen­sor (ab iPhone 12 Pro).
4.) Bei Makroauf­nah­men mit hoher Tiefe­nun­schärfe eignen sich Stack­ingver­fahren.
5.) Und schließlich entste­hen mit kün­stlich­er Intel­li­genz sehr brauch­bare Tiefen­masken aus einem Mono­bild, allerd­ings ist häu­fig noch eine Nach­bear­beitung notwendig. Aktuelle Soft­warepakete für diese Auf­gabe sind u.a. DepthAnythingV2 (siehe z.B.: http://www.cosima-3d.de/conversion_de.html).

Region­al­gruppe Ulm/Laupheim

Beitragsnavigation