Am 19. April 2017 haben wir ein
Update für PhotoScan veröffentlicht , unsere mobile Anwendung für iOS und Android, mit der Sie Papierfotos mit nur einem Smartphone digitalisieren können. Eines der Hauptmerkmale von PhotoScan ist die Möglichkeit, Blendung von Fotos (die häufig auf glänzendem, stark reflektierendem Papier gedruckt werden) sowie von Seiten mit Plastikalben oder Fotos unter Glas zu entfernen. Zu diesem Zweck haben wir eine einzigartige Kombination aus Computer Vision und Bildverarbeitungstechnologie entwickelt, mit der mehrere leicht unterschiedliche Bilder des Fotos genau kombiniert und kombiniert werden können, um das Highlight vom Bild selbst auf dem Foto zu trennen.

Aus einem Bild ist es sehr schwierig, automatisch zu bestimmen, welche Teile des Bildes das Originalfoto und welche das Highlight sind. Darüber hinaus kann die Blendung Bereiche des Fotos beleuchten, wodurch es unmöglich ist, den Teil des Fotos wiederherzustellen, der unter der Blendung verborgen ist. Wenn Sie jedoch mehrere Aufnahmen des Fotos machen, indem Sie die Kamera bewegen, ändert sich das Objektiv - es bewegt sich durch verschiedene Teile des Fotos. In den meisten Fällen wird nicht jedes einzelne Pixel zumindest in einem der Bilder aufflackern. Obwohl keines der Bilder blendfrei ist, können wir mehrere Bilder des gedruckten Fotos aus verschiedenen Winkeln kombinieren und so die Blendung entfernen. Die Schwierigkeit besteht darin, dass die Bilder sehr genau ausgerichtet sein müssen, damit sie korrekt kombiniert werden. Diese Verarbeitung sollte auf dem Smartphone schnell genug durchgeführt werden, um ein fast sofortiges Ergebnis zu erzielen.
Unsere Technologie wurde von unserer früheren Arbeit inspiriert, die auf der
SIGGRAPH 2015 veröffentlicht wurde und die wir als „
obstruktionsfreie Fotografie “ bezeichneten. Es verwendet ähnliche Prinzipien, um verschiedene Interferenzen aus dem Sichtfeld zu entfernen. Der ursprüngliche Algorithmus basierte jedoch auf einem generativen Modell, in dem die Bewegung und das Erscheinungsbild der Hauptszene sowie die Interferenz bewertet wurden. Die Fähigkeiten dieses Modells sind großartig und es kann eine Vielzahl von Störungen beseitigen - aber es ist zu rechenintensiv, um auf Smartphones verwendet zu werden. Aus diesem Grund haben wir ein vereinfachtes Modell entwickelt, das die Fackel als eine Art Anomalie bezeichnet und versucht, das Bild darunter zu erkennen. Obwohl das Modell vereinfacht ist, ist es immer noch eine sehr schwierige Aufgabe - die Erkennung muss genau und zuverlässig sein.
Wie funktioniert es?
Wir beginnen mit einer Reihe von Schnappschüssen des Fotos, das von dem Benutzer aufgenommen wurde, der die Kamera bewegt hat. Der erste Schnappschuss - „Referenzrahmen“ - bestimmt das gewünschte endgültige Aussehen des Schnappschusses. Dem Benutzer wird dann empfohlen, vier zusätzliche Bilder aufzunehmen. In jedem Frame bestimmen wir die
Schlüsselpunkte (wir berechnen die
Eigenschaften der ORBs unter den mit
dem Harris-Algorithmus bestimmten Winkeln) und verwenden sie, um
Homographen zu bestimmen, die jeden nachfolgenden Frame dem Referenzframe zuordnen.
Die Technologie scheint unkompliziert zu sein, hat aber einen Haken: Homographen können nur flache Bilder vergleichen. Papierfotos sind jedoch oft nicht flach (wie im obigen Beispiel). Wir verwenden den
optischen Fluss - eine grundlegende Darstellung der Bewegung in der Bildverarbeitung, die eine pixelweise Entsprechung zwischen zwei Bildern herstellt und Abweichungen von der Ebene korrigiert. Wir beginnen mit Bildern, die mithilfe der Homografie ausgerichtet sind, und zählen die „Flussfelder“, um die Bilder zu begradigen und weiter anzupassen. Bitte beachten Sie, dass sich im folgenden Beispiel die Ecken des linken Fotos ein wenig bewegen, nachdem Frames nur mit Homografie definiert wurden. Rechts sehen Sie, wie das Foto nach dem Anwenden des optischen Flusses besser ausgerichtet ist.
Der Unterschied ist nicht sehr auffällig, beeinflusst aber das Endergebnis erheblich. Achten Sie darauf, wie sich kleine Abweichungen in Form von doppelten Bildfragmenten manifestieren und wie diese Fehler durch zusätzliche Verfeinerung mithilfe von Streams beseitigt werden.

In diesem Fall bestand die Schwierigkeit darin, den anfangs langsam arbeitenden optischen Flussalgorithmus auf einem Smartphone schneller arbeiten zu lassen. Anstelle der herkömmlichen Berechnung des Flusses für jedes Pixel (die Anzahl der Vektoren entspricht der Anzahl der Pixel) konstruieren wir das Flussfeld unter Verwendung einer kleineren Anzahl von Kontrollpunkten und zeichnen die Bewegung jedes Pixels im Bild als Funktion der Bewegung der Kontrollpunkte auf. Wir teilen nämlich jedes Bild in disjunkte Zellen, die ein grobkörniges Gitter bilden, und stellen den Pixelstrom in einer separaten Zelle als
bilineare Kombination des Stroms und der vier Ecken der Zelle dar, die ihn enthält.


Dann bleibt ein einfacheres Problem zu lösen, da die Anzahl der Strömungsvektoren jetzt gleich der Anzahl der Gitterpunkte ist, die normalerweise viel kleiner als Pixel sind. Dieser Vorgang ähnelt der
Splining-Bildverarbeitung . Mit diesem Algorithmus konnten wir die Berechnungszeit für den optischen Fluss auf dem Pixel-Telefon um das 40-fache reduzieren!
Um das endgültige Bild ohne Blendung zu erstellen, nehmen wir für jeden Teil des Rahmens die Pixelwerte und berechnen das „weiche Minimum“, um die dunkelste der Optionen zu finden. Insbesondere berechnen wir die erwartete Mindesthelligkeit aus den verfügbaren Frames und weisen Pixeln, die näher an den gekrümmten Kanten der Bilder liegen, kleinere Gewichte zu. Wir verwenden diese Methode, anstatt das Minimum direkt zu berechnen, da dieselben Pixel in unterschiedlichen Frames möglicherweise eine unterschiedliche Helligkeit haben. Das Pixel-für-Pixel-Minimum kann aufgrund starker Intensitätsänderungen an den Grenzen überlappender Bilder zum Auftreten sichtbarer Gelenke führen.

Der Algorithmus kann unter verschiedenen Scanbedingungen arbeiten - matte und glänzende Fotos, Fotos in Alben und ohne sie Magazin-Cover.
Um das Endergebnis zu berechnen, hat unser Team eine Methode entwickelt, die automatisch die Grenzen des Bildes bestimmt und es zu einer rechteckigen Ansicht führt. Aufgrund der perspektivischen Verzerrung wird ein gescanntes rechteckiges Foto normalerweise zu einem nicht rechteckigen Viereck. Die Methode analysiert Bildsignale, Farben und Kanten, um herauszufinden, wohin die genauen Ränder des Originalfotos führen, und wendet dann geometrische Transformationen an, um das Bild zu begradigen. Das Ergebnis ist eine hochwertige digitale Version der Papierfotografie ohne Blendung.

Im Allgemeinen passieren viele Dinge unter der Haube, und all dies funktioniert fast sofort auf Ihrem Telefon! Sie können PhotoScan ausprobieren, indem Sie die Version der Anwendung für
Android oder
iOS herunterladen.