{"id":993,"date":"2020-03-31T12:55:07","date_gmt":"2020-03-31T10:55:07","guid":{"rendered":"https:\/\/blogs.uni-bremen.de\/scienceblog\/?p=993"},"modified":"2020-03-31T12:55:07","modified_gmt":"2020-03-31T10:55:07","slug":"wie-funktionieren-panorama-aufnahmen","status":"publish","type":"post","link":"https:\/\/blogs.uni-bremen.de\/scienceblog\/2020\/03\/31\/wie-funktionieren-panorama-aufnahmen\/","title":{"rendered":"Wie funktionieren Panorama-Aufnahmen?"},"content":{"rendered":"<p style=\"text-align: justify\"><em>von Tim Doellen<\/em><\/p>\n<div id=\"attachment_985\" style=\"width: 752px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-985\" class=\" wp-image-985\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-300x129.png\" alt=\"\" width=\"742\" height=\"319\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-300x129.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-1024x439.png 1024w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-768x330.png 768w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-676x290.png 676w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6.png 1440w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><p id=\"caption-attachment-985\" class=\"wp-caption-text\">Fertiges Panoramabild. (\u00a9 carnival)<\/p><\/div>\n<p style=\"text-align: justify\"><strong>Von der professionellen Spiegelreflex- bis zur integrierten Smartphone-Kamera: vermutlich jeder moderne digitale Fotoapparat besitzt einen Panoramamodus. Durch Bet\u00e4tigen des Ausl\u00f6sers und einfaches Schwenken der Kamera setzt sich wie von selbst eine Rundumsicht der Umgebung zusammen. Aber was geschieht dabei technisch in der Kamera? Und woher kommen die komischen Kanten im Bild, die du im Resultat hin und wieder beobachten kannst? <\/strong><\/p>\n<p style=\"text-align: justify\"><!--more--><\/p>\n<p style=\"text-align: justify\">Das Verfahren, auf dem die Erstellung solcher Panoramabilder basiert, nennt sich Stitching (englisch <em>stitch<\/em>: \u201eN\u00e4hen\u201c, \u201eHeften\u201c). Hierbei werden mehrere Einzelbilder aufgenommen und dann \u201ezusammengeheftet\u201c. Um ein Panorama-Bild zu machen reicht es also, den Panorama-Modus auszuw\u00e4hlen, auf die Kamera-Taste zu tippen und dann die Kamera langsam in eine Richtung zu bewegen \u2013 das Stitching erledigt die Kamera selbst.<\/p>\n<p style=\"text-align: justify\">Stell dir vor, du f\u00e4hrst in den Urlaub und willst\u00a0 dir vorher einen Ausschnitt einer Karte kopieren. Die Gr\u00f6\u00dfe deines haushalts\u00fcblichen Scanners ist allerdings nicht ganz ausreichend, um den gew\u00fcnschten Bereich zu erfassen. Eine L\u00f6sung des Problems w\u00e4re jetzt, einfach mehrere Teilscans zu machen und diese dann zusammenzuheften. Genau das geschieht auch beim Stitchen \u2013 der Aufnahmewinkel der Kamera ist nicht gro\u00df genug, um die komplette Szene abzulichten, also werden mehrere Einzelaufnahmen zusammengef\u00fcgt.<\/p>\n<p style=\"text-align: justify\">Nun ist die Problematik bei den mit der Hand aufgenommenen Fotos im Vergleich zum Scan etwas komplizierter. Im Gegensatz zum Scan-Beispiel verschiebt sich die Kamera in der Panoramaszene schlie\u00dflich nicht parallel, sondern wird gedreht und verschoben. Da jedes einzelne Bild aus einer etwas anderen Perspektive aufgenommen wird, unterliegen die Motive zwischen den Einzelaufnahmen einer perspektivischen Verzerrung. Die Fotos k\u00f6nnen also nicht einfach unverarbeitet zusammengeheftet werden, sondern m\u00fcssen zun\u00e4chst entzerrt werden.<\/p>\n<p style=\"text-align: justify\">Aber woher wei\u00df die Kamera nun, wo und wie geheftet werden soll und welches Bild wie entzerrt werden muss?<\/p>\n<p style=\"text-align: justify\">Vielleicht kennst du die Thematik des Entzerrens aus Scanning-Apps, mit denen du Dokumente mit deiner Handykamera fotografieren kannst, um sie dann wie einen echten Scan abzuspeichern. Bei einem etwas schr\u00e4gen Aufnahmewinkel hat das St\u00fcck Papier nun die Form eines Trapezes \u2013 es ist perspektivisch verzerrt. In der App kannst du nun manuell die vier Ecken des aufgenommenen Blattes markieren, die Entzerrung zu einem Rechteck wird daraufhin automatisch vorgenommen.<\/p>\n<table>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-975\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen1-256x300.jpg\" alt=\"\" width=\"256\" height=\"300\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen1-256x300.jpg 256w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen1.jpg 645w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/td>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-977\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen2-200x300.png\" alt=\"\" width=\"200\" height=\"300\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen2-200x300.png 200w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen2.png 346w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify\"><em>Anhand von <\/em><em>Punkten l\u00e4sst sich das Bild so verschieben und verzerren, dass das St\u00fcck Papier eine rechteckige Form annimmt. <\/em><\/p>\n<p style=\"text-align: justify\">Das Prinzip funktioniert auch, wenn sich das Dokument nicht in der Bildmitte befindet. Anhand von nur vier Punkten im Bild l\u00e4sst sich also eine Verschiebung und Verzerrung zu vier Zielpunkten vornehmen. In diesem Fall sind die Zielpunkte die Ecken des rechteckigen Bildes in der gew\u00fcnschten Gr\u00f6\u00dfe, sie k\u00f6nnen aber in anderen Anwendungsf\u00e4llen auch beliebige andere Positionen haben. \u00a0Wir schauen uns das mal f\u00fcr nur zwei Bilder an, die aneinander geheftet werden sollen:<\/p>\n<p style=\"text-align: justify\">Wir ben\u00f6tigen also je vier Start- und Zielpunkte. Dazu identifizieren wir in unseren Einzelbildern m\u00f6glichst unverwechselbare Punkte, die sich in beiden Bildern wiederfinden lassen.<\/p>\n<table style=\"border-collapse: collapse;width: 100%\">\n<tbody>\n<tr>\n<td style=\"width: 50%\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-979\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen3-300x239.png\" alt=\"\" width=\"300\" height=\"239\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen3-300x239.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen3.png 607w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/td>\n<td style=\"width: 50%\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-981\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen4-300x240.png\" alt=\"\" width=\"300\" height=\"240\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen4-300x240.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen4.png 607w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify\"><em>Mit gr\u00fcnen Kreisen sind beispielhaft Punkte markiert, die auf beiden Fotos gut wieder zu erkennen sind und sich einander daher gut zuordnen lassen. <\/em><\/p>\n<p style=\"text-align: justify\">Diese Zuordnung findet offensichtlich nicht manuell, sondern automatisch<a href=\"#_ftn1\" name=\"_ftnref1\"><\/a> statt. Die jeweils gefundenen markanten Punkte aus den zwei Bildern werden nun alle miteinander verglichen, um zueinander geh\u00f6rige Paare zu identifizieren. Da bei diesen Zuordnungen immer Fehler auftreten k\u00f6nnen, suchen wir nicht nur vier, sondern so viele Punkte wie m\u00f6glich &#8211; so k\u00f6nnen die auftretenden Ungenauigkeiten ausgeglichen werden.<\/p>\n<p style=\"text-align: justify\">Die Transformation, also die Verschiebung und Entzerrung, wird nun so ausgef\u00fchrt, dass im Ergebnis zwischen allen gefundenen Punkten eine gute \u00dcbereinstimmung erreicht wird.<\/p>\n<div id=\"attachment_983\" style=\"width: 729px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-983\" class=\" wp-image-983\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5-300x186.png\" alt=\"\" width=\"719\" height=\"446\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5-300x186.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5-1024x635.png 1024w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5-768x476.png 768w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5-676x419.png 676w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen5.png 1056w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><p id=\"caption-attachment-983\" class=\"wp-caption-text\">Die beiden Einzelbilder werden so verzerrt und verschoben, dass die gleichen Punkte m\u00f6glichst gut aufeinander liegen.<\/p><\/div>\n<p style=\"text-align: justify\">Da die Einzelbilder bei einem Panorama alle direkt aufeinander folgend aufgenommen werden, kann hier Schritt f\u00fcr Schritt jedes neue Bild an seinem Vorg\u00e4nger ausgerichtet werden. Das Ergebnis ist ein Gesamtbild aus vielen, sich \u00fcberlappenden Einzelbildern.<\/p>\n<div id=\"attachment_985\" style=\"width: 752px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-985\" class=\" wp-image-985\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-300x129.png\" alt=\"\" width=\"742\" height=\"319\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-300x129.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-1024x439.png 1024w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-768x330.png 768w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6-676x290.png 676w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen6.png 1440w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><p id=\"caption-attachment-985\" class=\"wp-caption-text\">Fertiges Panoramabild. (\u00a9 carnival)<\/p><\/div>\n<p style=\"text-align: justify\">Um sichtbare Kanten an den \u00dcberg\u00e4ngen zwischen einzelnen Bildern zu vermeiden, werden Farbton und Kontrast angeglichen. Au\u00dferdem sorgen weiche \u00dcberg\u00e4nge daf\u00fcr, dass der Eindruck einer kontinuierlichen Aufnahme entsteht.<\/p>\n<p style=\"text-align: justify\">Wie kann es also sein, dass einige Panoramabilder trotz alldem seltsam aussehende Kanten aufweisen?<\/p>\n<p style=\"text-align: justify\">Das beschriebene Verfahren funktioniert bei statischen Objekten. Hier k\u00f6nnen die ausgew\u00e4hlten Punkte einander eindeutig zugeordnet werden. Probleme gibt es also, wenn sich Objekte oder Personen im Sichtbereich bewegen. In diesem Fall ver\u00e4ndern sich auch einige Positionen der relevanten Punkte. Wird nun versucht, das Bild so zu verzerren, dass die Punkte gut aufeinander passen, kann keine zufriedenstellende L\u00f6sung gefunden werden. Die Verzerrung mit der geringsten Abweichung liefert dann die besagten unsch\u00f6nen Artefakte.<\/p>\n<p style=\"text-align: justify\">Nicht nur bei Bewegungen im Sichtbereich passieren Fehler. Auch wenn die Kamera bei der Aufnahme zu schnell bewegt wird, erzielt sie kein befriedigendes Ergebnis. Denn je schneller die Kamera bei der Aufnahme des Panoramas geschwenkt beziehungsweise bewegt wird, desto gr\u00f6\u00dfer wird der Abstand zwischen den einzelnen Aufnahmen. Dadurch verkleinert sich auch der Bildbereich, der von beiden Einzelbildern abgedeckt wird. Die Anzahl der Punkte, die einander zugeordnet werden k\u00f6nnen, wird reduziert. Bei einer geringen Anzahl von Punkten, die f\u00fcr das Ergebnis ber\u00fccksichtigt werden, haben fehlerhafte Zuordnungen ein st\u00e4rkeres Gewicht. Dadurch kann es zu \u00e4hnlichen Effekten kommen, wie bei sich bewegenden Objekten im Bild \u2013 die Verzerrung liefert kein befriedigendes Ergebnis.<\/p>\n<table style=\"border-collapse: collapse;width: 100%\">\n<tbody>\n<tr>\n<td style=\"width: 50%\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-987\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen7-300x242.png\" alt=\"\" width=\"300\" height=\"242\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen7-300x242.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen7.png 607w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/td>\n<td style=\"width: 50%\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-989\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen8-300x291.png\" alt=\"\" width=\"300\" height=\"291\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen8-300x291.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen8.png 605w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify\"><em>Probleme bei Panoramaaufnahmen bei zu schneller Kamerabewegung oder sich bewegenden Pesonen (\u00a9 wikimedia commons) <\/em><\/p>\n<p style=\"text-align: justify\">Richtig verwendet lassen sich mit der Panoramafunktion moderner Digitalkameras beeindruckende Ergebnisse erzielen. Ob Landschaftsaufnahmen, oder k\u00fcnstlerische Darstellungen: das Einsatzgebiet ist vielseitig und l\u00e4sst schier grenzenlose Freiheiten. Nicht ohne Grund findet diese Technik sowohl Anwendung im Amateur-, als auch im professionellen Bereich.<\/p>\n<div id=\"attachment_991\" style=\"width: 746px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-991\" class=\" wp-image-991\" src=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen9-300x135.png\" alt=\"\" width=\"736\" height=\"331\" srcset=\"https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen9-300x135.png 300w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen9-676x304.png 676w, https:\/\/blogs.uni-bremen.de\/scienceblog\/files\/TimD\u00f6llen9.png 701w\" sizes=\"auto, (max-width: 736px) 100vw, 736px\" \/><p id=\"caption-attachment-991\" class=\"wp-caption-text\">Kunstvoller Einsatz von Fehlern im Panorama (\u00a9 theultralinx)<\/p><\/div>\n<p style=\"text-align: justify\"><a href=\"#_ftnref1\" name=\"_ftn1\">[1]<\/a> Das Verfahren hier zu beschreiben w\u00fcrde den Rahmen dieses Artikels sprengen. Kurz gesagt werden die Bilder von einem Algorithmus nach markanten Regionen (z.B. Ecken und Kanten) durchsucht.<\/p>\n<p style=\"text-align: justify\">Literaturempfehlungen:<\/p>\n<ul style=\"text-align: justify\">\n<li>David G. Lowe: <em>Object Recognition from Local Scale-Invariant Features<\/em>. In: ICCV &#8217;99 Proceedings of the International Conference on Computer Vision. Band 2, Seiten 1150\u20131157<\/li>\n<\/ul>\n<p style=\"text-align: justify\"><em>https:\/\/www.cs.ubc.ca\/~lowe\/papers\/iccv99.pdf<\/em><\/p>\n<ul style=\"text-align: justify\">\n<li>David G. Lowe: <em>Distinctive Image Features from Scale-Invariant Keypoints<\/em> In: International Journal of Computer Vision. Band 60, Nr. 2, Seiten 91\u2013110, 2004<\/li>\n<\/ul>\n<p style=\"text-align: justify\"><em>https:\/\/www.cs.ubc.ca\/~lowe\/papers\/ijcv04.pdf<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>von Tim Doellen Von der professionellen Spiegelreflex- bis zur integrierten Smartphone-Kamera: vermutlich jeder moderne digitale Fotoapparat besitzt einen Panoramamodus. Durch Bet\u00e4tigen des Ausl\u00f6sers und einfaches Schwenken der Kamera setzt sich wie von selbst eine Rundumsicht der Umgebung zusammen. Aber was geschieht dabei technisch in der Kamera? Und woher kommen die komischen Kanten im Bild, die [&hellip;]<\/p>\n","protected":false},"author":9714,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[486],"tags":[66134,569698,569702,569696,569704,569706],"class_list":["post-993","post","type-post","status-publish","format-standard","hentry","category-informatik","tag-fotografie","tag-panorama","tag-paoramamodus","tag-scanning-app","tag-smartphone-kamera","tag-stitching","post-preview"],"_links":{"self":[{"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/posts\/993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/users\/9714"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/comments?post=993"}],"version-history":[{"count":3,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/posts\/993\/revisions"}],"predecessor-version":[{"id":999,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/posts\/993\/revisions\/999"}],"wp:attachment":[{"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/media?parent=993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/categories?post=993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.uni-bremen.de\/scienceblog\/wp-json\/wp\/v2\/tags?post=993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}