Welcher Dekonvolutionsalgorithmus ist am besten geeignet, um Bewegungsunschärfe aus Text zu entfernen?

8

Ich benutze OpenCV, um mit einem Mobiltelefon aufgenommene Bilder zu verarbeiten. Die Bilder enthalten Text, und sie haben kleine Bewegungsunschärfe, die ich entfernen muss.

Was wäre der am besten geeignete Algorithmus? Ich habe bisher Lucy-Richardson und Weiner Dekonvolution getestet, aber sie haben keine befriedigenden Ergebnisse erbracht.

    
sashoalm 11.10.2012, 13:05
quelle

4 Antworten

4

Bewegungsunschärfe ist ein schwer zu bewältigendes Problem. Die besten Ergebnisse werden erzielt, wenn

  1. Die Geschwindigkeit der Kamera relativ zur Szene ist bekannt
  2. Sie haben viele Bilder von dem unscharfen Objekt, das Sie korrelieren können.

Sie haben einen großen Vorteil darin, dass Sie sich Text ansehen (der normalerweise kontrastreiche Funktionen darstellt). Wenn Sie Dekonvolution nur auf einen hohen Kontrast anwenden (ich weiß, dass die Theorie Bereiche mit hohem Kontrast ausschließt), sollten Sie Ergebnisse erhalten, die es Ihnen ermöglichen, Zeichen besser zu erkennen. Auch eine Kombination von Schärfungs- / Weichzeichnungsfiltern vor und nach der Verarbeitung kann helfen.

Ich erinnere mich, dass ich zuvor von dieser Zeitung beeindruckt war. Vielleicht wäre eine Anpassung an ihre Umsetzung einen Versuch wert.

    
Totero 11.10.2012, 16:26
quelle
6

Stimmen Sie mit @TheJuice überein, Ihr Problem liegt in der PSF-Schätzung. Um dies in der Regel aus einem einzigen Frame zu machen, müssen verschiedene Annahmen über die Faktoren getroffen werden, die zu der Unschärfe führen (Bewegung des Objekts, Art der Bewegung des Sensors, etc.).

Sie können einige Hinweise finden, besonders im eindimensionalen Fall, hier . Sie verwenden eine Filtermethode, bei der die Korrelation hauptsächlich von der Unschärfe abhängt, die räumliche Korrelation des Originalbildes verworfen wird und daraus die Bewegungsrichtung und somit die PSF abgeleitet wird. Bei kleinen Unschärfen könnten Sie die Bewegung als konstant betrachten; Andernfalls müssen Sie ein komplexeres beschleunigtes Bewegungsmodell verwenden.

Leider ist die Unschärfe von Mobiltelefonen oft eine Verbindung von CCD-Integration und nichtlinearer Bewegung (Translation senkrecht zur Sichtlinie, Gieren von Handgelenkbewegung und Rotation um das Handgelenk), so dass Yitzhakys und Kopeikas Methode wahrscheinlich nur annehmbar sein wird Ergebnisse in einer Minderheit von Fällen. Ich weiß, dass es Methoden gibt, um damit umzugehen ("Tiefenbewusstsein" und andere), aber ich hatte nie Gelegenheit, mit ihnen umzugehen.

Sie können die Ergebnisse mit einer Fotowiederherstellungssoftware wie Focus Magic in der Vorschau anzeigen. während sie keinen YK-Schätzer verwenden (die Bewegungsbeschreibung bleibt Ihnen überlassen), ist der verbleibende Arbeitsablauf notwendigerweise sehr ähnlich. Wenn Ihre Bilder der Focus Magic-Wiederherstellung zugänglich sind, funktioniert die wahrscheinlich YK-Methode. Wenn sie nicht (oder nicht genug oder nicht genug von ihnen, um sich zu lohnen), dann ist es sinnlos, es sogar zu implementieren.

    
LSerni 11.10.2012 21:03
quelle
1

Ich denke, die Schätzung Ihrer Point-Spread-Funktion ist wahrscheinlich wichtiger als der verwendete Algorithmus. Es hängt von der Art der Bewegungsunschärfe ab, die Sie entfernen möchten. Lineare Bewegung ist wahrscheinlich die einfachste, aber unwahrscheinlich, dass sie die ist, die Sie entfernen möchten: ich stelle mir vor, dass sie nichtlinear ist, verursacht durch die Handbewegung während der Belichtung .

    
TheJuice 11.10.2012 20:33
quelle
0

Sie können Bewegungsunschärfe nicht beseitigen. Die Information ist für immer verloren. Sie haben es mit einem CCD zu tun, der mehrere reale Objekte in einem einzigen Pixel aufzeichnet und verschmiert. Mit anderen Worten, wenn das Pixel 56 liest, können Sie nicht magisch feststellen, dass der tatsächliche Wert 37 zum Zeitpunkt 1 und 62 zum Zeitpunkt 2 und 43 zum Zeitpunkt 3 hätte sein sollen.

Eine andere Möglichkeit, dies zu betrachten: Stellen Sie sich vor, Sie haben 5 Bilder. Sie verwenden dann Photoshop, um die Bilder zu vermischen und den Wert jedes Pixels zu mitteln. Kannst du nun irgendwie aus dem Blended Bild erzählen, was die ursprünglichen 5 Bilder waren? Nein, das kannst du nicht, weil du nicht die Information dazu hast.

    
Tyler Durden 11.10.2012 20:20
quelle