DE60020887T2 - Optischer fluss und bildaufbau - Google Patents

Optischer fluss und bildaufbau Download PDF

Info

Publication number
DE60020887T2
DE60020887T2 DE60020887T DE60020887T DE60020887T2 DE 60020887 T2 DE60020887 T2 DE 60020887T2 DE 60020887 T DE60020887 T DE 60020887T DE 60020887 T DE60020887 T DE 60020887T DE 60020887 T2 DE60020887 T2 DE 60020887T2
Authority
DE
Germany
Prior art keywords
motion vector
motion
vector
images
vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60020887T
Other languages
English (en)
Other versions
DE60020887D1 (de
Inventor
Martti Kesäniemi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OY, SOPHILOS, HELSINKI, FI
Original Assignee
SOPHILOS Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SOPHILOS Oy filed Critical SOPHILOS Oy
Application granted granted Critical
Publication of DE60020887D1 publication Critical patent/DE60020887D1/de
Publication of DE60020887T2 publication Critical patent/DE60020887T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Holo Graphy (AREA)
  • Computer And Data Communications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Optical Record Carriers And Manufacture Thereof (AREA)
  • Road Signs Or Road Markings (AREA)

Description

  • Gebiet der Erfindung
  • αDie vorliegende Erfindung bezieht sich auf das Gebiet der digitalen Bildverarbeitung im allgemeinen und im besonderen auf ein Verfahren zum Bilden eines Bewegungsvektorfeldes, das sich aus Bewegungsvektoren zwischen mindestens zwei Bildern zusammensetzt. Bei dem Verfahren wird das Bewegungsvektorfeld gebildet, indem dieses in bezug auf mindestens zwei Kriterien minimiert wird, wobei das erste Kriterium die Bewegungsinformationen zwischen den Bildern und das zweite Kriterium die Glätte des Bewegungsvektorfeldes darstellt. Weiterhin können zusätzliche Bedingungen zum Bilden des Bewegungsvektorfeldes verwendet werden, wobei die zusätzlichen Bedingungen bewegungsvektorspezifisch Grenzwerte der dem Bewegungsvektor gestatteten Richtungsänderung festlegen. Die Gewichtung des ersten Kriteriums wird beim Annähern an die Grenzwerte vektorspezifisch kleiner eingestellt, womit infolge der Einstellung der Anteil des ersten Kriteriums unterdrückt wird und der Anteil des zweiten Kriteriums ansteigt, wenn das Bewegungsvektorfeld durch Minimierung gebildet wird.
  • Hintergrund der Erfindung
  • Die digitale Bildgebung bietet vielfältige Möglichkeiten zur Verarbeitung und Komprimierung von Bildern sowie zur Bildung von neuen Bildern. Bei der Bewegung von Objekten bestehen üblicherweise Unterschiede zwischen zwei aufeinanderfolgenden Bildern. Die digitale Darstellung von Bildern kann auch zur Bewegungserkennung verwendet werden. Das Anwendungsgebiet für die Erzeugung und Darstellung von digitalen Bildern ist sehr breit und umfasst beispielsweise eine große Vielfalt vom Computerbildanwendungen, die Komprimierung von Videobildern, klinische Schnittdarstellungen, die Verbesserung der Auflösung, etc.
  • Eine der gebräuchlichsten Funktionen von Bildgebungsverfahren ist die Darstellung von Bewegungsinformationen zwischen zwei Bildern (, die üblicherweise in aufeinanderfolgenden Momenten aufgenommen wurden). Zeigt z. B. das erste Bild einen Hund, der mit seinem Schwanz wedelt, so wird in dem zweiten Bild die Position des Schwanzes des Hunds verschieden sein. Das Ziel besteht darin, die Bewegungsinformationen aus der Bewegung des Schwanzes zu erfassen. Dies erfolgt durch das Bestimmen des optischen Flusses zwischen den Bildern, d. h. das Bewegungsvektorfeld, das die entsprechenden Punkte in den beiden Bildern (a und b, 1) verbindet. Wenn der optischen Fluss bestimmt worden ist, kann dieser dazu verwendet werden, ein neues Bild zwischen den beiden Originalen zu erzeugen, nämlich ein sogenanntes Zwischenbild.
  • Es besteht eine Vielzahl von bekannten Verfahren zur Bestimmung des optischen Flusses, wie z. B. gradientenbasierte Verfahren und eine Bewegungsabschätzung über eine Auflösungshierarchie. Andere bekannte Verfahren schließen blockbasierte Verfahren und Objektpassverfahren in den Bildern ein (US-Patent 5,726,713 und US-Patent 4,796,087). Diese Verfahren sind jedoch nicht geeignet, einen ähnlich hochaufgelösten Fluss zu erzeugen, wie die gradientenbasierten Verfahren. Die sogenannten merkmalbasierte Verfahren, die sich auf die Erkennung und Verbindung entsprechender Merkmale zwischen zwei Bildern gründen, stellen eine eigene Kategorie dar. Jedoch ist es schwierig, eine allgemeingültige Merkmalsklassifikation zu entwickeln, wodurch die Anwendbarkeit merkmalsbasierter Verfahren sehr stark von dem zu verarbeitenden Bildmaterial abhängt.
  • Das US-Patent 5241608 beschreibt ein gradientenbasiertes Verfahren, bei dem ein Bewegungsvektorfeld zwischen zwei Bildern gebildet wird, wobei die Bilder derart verbunden werden, dass die quadratische Summe von Wertdifferenzen (beispielsweise der Helligkeitsunterschiede) der kombinierten Bildpunkte minimiert wird (Minimieren des mittleren quadratischen Fehlers unter Berücksichtigung der Bewegung). Diese Bedingung ist jedoch nicht ausreichend, um den erzeugten Fluss eindeutig zu bestimmen: die Glätte des Flusses, das heißt das Erfordernis, dass der Abstand zwischen den Punkten in dem ersten Bild auch im wesentlichen der gleiche in dem zweiten Bild sein muss, wird als zusätzliche Bedingungen verwendet.
  • Nach dem Verfahren des genannten US-Patents werden Geschwindigkeitsvektorfelder aus einer mit der Zeit variierenden Bildsequenz abgeschätzt. Geschätzte Vektorfelder können verwendet werden, um eine zeitlich variable Bildsequenz von einer ersten Bildfrequenz auf eine zweite Bildfrequenz zu konvertieren. Die Schätzung des Vektorfeldes wird dabei als Kompromiss zwischen zwei Sätzen von Kriterien oder Bedingungen bestimmt: dem optischen Flusskriterium, das sich auf die Werte der zeitveränderlichen Bildfunktion an den korrespondieren Punkten des nachfolgenden Bildes der Sequenz bezieht, und dem Richtungsglättekriterium, das sich auf die Werte benachbarter Geschwindigkeitsvektoren bezieht.
  • Diese Bedingungen werden in der Nachbarschaft von Überdeckungsgrenzen durch Zuordnung einer Gewichtung zu jeder Bedingung gezielt unterdrückt. Die Verwendung von Gewichtungen kann somit als zusätzliche Bedingungen angesehen werden. Der Schritt der Abschätzung von Vektorfeldern umfasst die Bildung einer Matrix aus Bildstrahlungsintensitätsfunktionswerten für jedes Bild unter Bildung einer Auflösungspyramide mit mehreren Ebenen für jedes Bild, indem auf jeder Ebene die Matrix der genannten Funktionswerte mit einer Matrix von Gewichten, die durch Abtasten einer Messfunktion für die entsprechende Ebene erhalten wird, korreliert wird.
  • Obwohl das in dem US-Patent 5241608 beschriebene Verfahren Gewichte verwendet, sind die durch Abtasten der Messfunktion erhaltenen Gewichte nicht in der Lage, ein glattes Vektorfeld an sogenannten Okklusionspunkten zu gewährleisten, an denen ein in einem Bild vorhandenes Objekt sich über ein anderes Objekt in dem Bild bewegt (2, Bezugszeichen o).
  • Das Ziel der vorliegenden Erfindung ist die Bereitstellung einer solchen zusätzlichen Bedingung, die Gewichte umfasst, die ein vollständig glattes Vektorfeld ermöglichen.
  • Zusammenfassung der Erfindung
  • Das Ziel der Erfindung wird erreicht, indem die Gewichtung der Bewegungsinformation proportional zu dem kleinsten Abstand des Bewegungsvektors von den Grenzwerten des für den Bewegungsvektor zugelassenen Richtungswechsels ist, wobei demzufolge der Absolutwert der Differenz zwischen der Richtungsänderung von zwei benachbarten Bewegungsvektoren kleiner sein soll, als der Abstand zwischen Fixierungspunkten derselben Bewegungsvektoren, wobei diese Fixierungspunkte Lagepunkte definieren, durch welche die einzelnen Bewegungsvektoren verlaufen sollen, und die Richtungsänderung einer Abweichung von der Richtung orthogonal zu der Bildebene entspricht, wobei die Richtungsänderung als Verschiebungsvektor ausgedrückt wird, der die Richtung der Bildebene aufweist.
  • Die Idee der Erfindung besteht darin, einen Fluss zu erzeugen, der die Punkte in den Zwischenbildern eindeutig bestimmt, die mit den Punkten an der Oberfläche der Originalbilder korrespondieren, d. h. anders ausgedrückt, dass jeder Punkt in einem Zwischenbild einen korrespondierenden Punkt in beiden Originalbildern aufweist. Der Fluss wird in solcher Weise bestimmt, dass alle neuen Bilder, die zwischen den Originalbildern gebildet werden, mittels des gleichen optischen Flusses erzeugt werden können. Jeder Bewegungsvektor des Flusses weist einen zulässigen Bewegungsbereich auf, der durch die den Bewegungsvektor umgebenden Bewegungsvektoren bestimmt wird, und zwar innerhalb der Grenzen, in denen sich seine Richtung ändern kann, wenn der Fluss erzeugt wird. In der vorliegenden Erfindung ist daher der Bereich der Bewegung als zusätzliche Bedingung eingeführt, welche die Eindeutigkeit des Flusses gewährleistet. Da die Bildinformationen auch Bereiche (wie z. B. Okklusionspunkte) aufweisen, die die zusätzliche Bedingung verletzen, führt die Gewährleistung der Eindeutigkeit dieser Bereiche zu einer Eindeutigkeit des gesamten Flusses. Ein eindeutiger Fluss lässt sich durch Einstellung des Anteils des mittleren quadratischen Fehlers verwirklichen, wobei die Bewegung und das Glättekriterium berücksichtigt werden, wenn der Fluss erzeugt wird, und zwar derart, dass in der Umgebung der Verletzung der zusätzlichen Bedingungen der Anteil des mittleren quadratischen Fehlers aus der Bewegung unterdrückt wird. Dies wird vorzugsweise in solcher Weise vorgenommen, dass der Anteil des mittleren quadratischen Fehlers zu Null gesetzt wird, wenn die zusätzlichen Bedingungen verletzt werden.
  • Da mittels des vorgeschlagenen Verfahrens eine unbegrenzte Anzahl von neuen Bildern mittels eines einzigen Flusses erzeugt werden können, ermöglicht das Verfahren unter anderem einen effizienteren Weg zum Komprimieren eines Bilddatensatzes als bisher. Die Erfindung ermöglicht die Verwendung eines schnell konvergierenden und berechnungs- bzw. computertechnisch einfachen Algorithmus zur Bestimmung des Flusses, so dass die Erfindung vorteilhaft auch in Applikationen einsetzbar ist, die sich nicht unmittelbar auf die Herstellung von neuen Bildern beziehen. Weiterhin ermöglicht die Erfindung beispielsweise eine Vergrößerung eines Originalbildes, derart, dass das vergrößerte Bild für das menschliche Auge angenehmer ist, als ein nach herkömmlichen Verfahren vergrößertes Bild.
  • Figurenliste
  • Im folgenden wird die Erfindung im Detail mit Bezug auf die Beispiele der 1 bis 15 beschrieben, die in der beigefügten Zeichnung dargestellt sind, und in der
  • 1 ein Beispiel eines optischen Flusses zwischen zwei Bildern zeigt,
  • 2 ein Beispiel von Okklusionspunkten eines optischen Flusses zeigt,
  • 3 die Bestimmung eines individuellen Bewegungsvektors des Flusses nach der Erfindung und die Verschiebung des Bewegungsvektors veranschaulicht,
  • 4 ein Beispiel der Suche nach einem durch einen Bildpunkt in einem neuen Bild verlaufenden Bewegungsvektor nach der Erfindung zeigt,
  • 5 ein Flussdiagramm für die Suche nach dem Wert eines Bildpunkts in einem neuen Bild zeigt,
  • 6 die Änderung des Gewichtungsfaktors des Anteils des mittleren quadratischen Fehlers in dem zulässigen Bewegungsbereich des Bewegungsvektors zeigt,
  • 7 den zulässigen Bereich eines individuellen Bewegungsvektors in der Bildebene zeigt, wenn der beschränkende Faktor ein einziger, benachbarter Bewegungsvektor ist,
  • 8 den zulässigen Bereich eines individuellen Bewegungsvektors in der Bildebene zeigt, wenn der beschränkende Faktor durch vier benachbarte Bewegungsvektoren gebildet wird,
  • 9 die zulässigen Bereiche eines individuellen Bewegungsvektors in beiden Bildebenen zeigt,
  • 10 ein Flussdiagramm zeigt, das ein Beispiel für die Bildung eines optischen Flusses nach der Erfindung darstellt,
  • 11 ein Flussdiagramm zeigt, das ein Beispiel für die Bildung eines neuen Bildes in einer neuen Bildebene darstellt,
  • 12 beispielhaft das Vergrößern eines abgetasteten Bildes mit einem herkömmlichen Verfahren und nach der Erfindung zeigt,
  • 13 ein in Beispiel von Bewegungsvektoren zeigt, die zwischen zwei Pixelzeilen/-spalten gebildet werden,
  • 14a ein Flussdiagramm zeigt, das ein Beispiel zur Bildung eines neuen vergrößerten Bildes nach der Erfindung darstellt,
  • 14b eine Fortsetzung von 14a darstellt,
  • 15 eine Bildvergrößerung nach der Erfindung zeigt, wobei die Pixelzeilen und -spalten simultan verarbeitet werden.
  • Detaillierte Beschreibung der Erfindung
  • Im folgenden wird der mathematische Hintergrund der Erfindung beschrieben. Viele der hierfür vorausgesetzten Formeln sind bereits bekannt, wofür sich auch andere, diesen entsprechende Gleichungen in der Literatur finden lassen – z. B. zur Berechnung der Kostenfunktion und Iteration. Jedoch sind die mathematischen Voraussetzungen für das Verständnis und die Beschreibung der Erfindung erforderlich. Vektoren sind vorliegend im Fettdruck dargestellt. In diesem Kontext wird die Verwendung von zwei Bildern zur Bestimmung eines optischen Flusses und eines neuen Bildes untersucht, es ist jedoch auch möglich, eine größere Anzahl von Bildern zu verwenden, in welchem Fall die in den Bildern auftretenden Rauschanteile eliminiert werden können.
  • Die Bestimmung eines optischen Flusses (1) zwischen zwei Bildern kann als Optimierungsaufgabe mit zwei Variablen verstanden werden, wobei die Beziehungen der Variablen der Funktion, die minimiert werden soll, ausgewählt werden muss. (In Abhängigkeit des Anwendungsfalls kann auch eine größere Anzahl von Variablen vorhanden sein.) Wie bereits ausgeführt, werden die quadratischen Summen der Wertdifferenzen der Bildpunkte und der Glätte des Flusses üblicherweise in gradientenbasierten Verfahren verwendet. Ziel ist daher eine Minimierung einerseits der Differenz zwischen den Werten (z. B. Helligkeitswerten) der Bildpunkte, d. h. von Pixeln, die durch den Fluss verbunden sind, und andererseits der Glätte des Flusses, d. h. des Erfordernisses, dass benachbarte Punkte in dem ersten Bild auch in dem zweiten Bild zueinander benachbart angeordnet sind.
  • Ein Vektorfeld besteht aus individuellen Bewegungsvektoren L ( 3) zwischen den Bildern. Das Vektorfeld ist inzwischen den Bildern derart festgelegt, dass der Fix-bzw. Stützpunkt k eines jeden Vektors auf halbem Weg zwischen den Bildern a und b liegt. Der im Punkt k = (x, y) abgestützte Bewegungsvektor schneidet die Bildflächen in den Punkten k + t = (x + u, y + v) und k – t = (x – u, y – v), wobei t die Verschiebung des Bewegungsvektors von der Position orthogonal zu den Bildflächen ist.
  • Geht man davon aus, dass das Vektorfeld kontinuierlich ist, so lautet die zu minimierende Gleichung J = ∫∫f(u(x, y), v(x, y), ux, uy, vx, vy) dx dy, (1-1)wobei die Funktion in der Gleichung lautet
    Figure 00070001
    wobei g1 der Wert des Pixel des ersten Bildes ist, g2 der Wert des Pixel des zweiten Bildes ist und ux, uy, vx, vy partielle Ableitungen nach dem jeweiligen unteren Index sind.
  • Die zu minimierende Funktion besteht aus dem Glättekriterium, d. h. der Dumme der partiellen Ableitungen des Flusses, ux 2 + uy 2 + vx 2 + vy 2, auf der einen Seite, und dem die Bewegung berücksichtigenden Kriterium des mittleren quadratischen Fehlers, (g1(x + u, y + v) – g2(x – u, y – v))2, auf der anderen Seite. Die Beziehungen der Kriterien ist durch den Parameter α bestimmt.
  • Das Minimum der Funktion J lässt sich durch Methoden der Variationsrechnung auffinden, indem die Variationen von J in Bezug auf u and v zu Null gesetzt werden. Mit dieser Bedingung werden die folgenden Gleichungen erfüllt:
  • Figure 00080001
  • Die ersten Terme in den Gleichungen (1-3a) and (1-3b) können wie folgt geschrieben werden:
  • Figure 00080002
  • Die weiteren Terme in den Gleichungen (1-3) können wie folgt ausgedrückt werden:
  • Figure 00090001
  • Durch Einsetzen von (1-4) and (1-5) in Gleichung (1-3) erhalten wir:
    Figure 00090002
    mit der Laplace-Funktion des Flusses ∇2u = uxx + uyy and ∇2v = vxx + vyy.
  • In Abhängigkeit der verwendeten mathematischen Berechnungsverfahren kann die Laplace-Funktion beispielsweise durch die Terme ∇2u ≈ u – u und o2v ≈ v – v angenähert werden, mit u(x, y) = 1/4(u(x, y – 1) + u(x – 1, y) + u(x + 1, y) + u(x, y + 1) (1-7)wobei u(x + i, y + i) die den Punkt (x, y) umgebenden Berechnungspunkte sind. Dies gilt analog auch für v. Die Anzahl der Berechnungspunkte in diesem Beispiel beträgt vier, kann jedoch beispielsweise auch acht sein. In 7 sind die vier den Punkt k umgebenden und zu berücksichtigenden benachbarten Punkte, die für die Berechnung verwendet werden, durch eine unterbrochene Linie verbunden. Würden bei der Berechnung acht umgebende Berechnungspunkte verwendet, so würde jeder den Punkt k umgebende Punkt, der berücksichtigt wird, einen Einfluss auf den Wert von u and v haben.
  • Der Fluss kann daher mittels des folgenden iterativen Verfahrens durch Minimierung der Gleichungen (1-6) bestimmt werden:
    Figure 00100001
    wobei γ der Relaxationsparameter der Iteration ist, der den Anteil des Veränderungsterms in dem neuen Bewegungsvektorwert bestimmt.
  • Nachdem der Fluss nach den Gleichungen 1-8 bestimmt worden ist, können die Werte, beispielsweise die Farben (oder beispielsweise auch die Grauwerte) der Bildpunkte in den Bildern zwischen den bekannten Bildern bestimmt werden. Die Werte der Bildpunkte in dem Bild auf halbem Weg zwischen den Originalbildern werden auf der Grundlage der Bewegungsvektoren und der Überschneidungen der Bilder erhalten. Wenn es gewünscht ist, den Wert eines Bildpunktes zwischen den Originalbildern außerhalb der Mitte zwischen den Bildern zu bestimmen, so muss zunächst der Bewegungsvektor bestimmt werden, der durch diesen Bildpunkt verläuft, woraufhin der Wert des gewünschten Punkts aus den Punkten der Originalbilder interpoliert wird. Dieser Vektor kann z. B. mittels des folgenden Iterationsalgorithmus (4 und 5) gefunden werden: Auswählen des Bewegungsvektors L0, dessen Stützpunkt (y, 0) auf der gleichen Linie orthogonal zu den Bildern liegt, wie der zu bestimmende Punkt (x, z) (Schritt 51); Bestimmen des Abstandesvektors e0 zwischen diesem Bewegungsvektor und dem zu bestimmenden Punkt in der Ebene, die die Richtung der Bilder aufweist (Schritt 52); Auswählen als neuen Bewegungsvektor L1 denjenigen Vektor, dessen Stützpunkt (y1, 0) sich in dem Abstand befindet, der durch den Abstandsvektor angegeben wird, der in dem vorhergehenden Schritt von dem Stützpunkt des vormaligen Bewegungsvektors (y, 0) in umgekehrter Richtung (–e0) bestimmt worden ist (Schritt 54); Wiederholen dieser Schritte bis der Wert des Abstandsvektors als ausreichend klein angesehen wird (Schritt 53). Schließlich wird der Wert des neuen Punktes in der Bildebene auf der Basis des ausgewählten Bewegungsvektors ermittelt (Schritt 55). Das Bewegungsvektorfeld kann durch Interpolation kontinuierlichen gestaltet werden, d. h. dass die Bewegungsvektoren zwischen den Stützpunkten durch Interpolation aus den Werten der Bewegungsvektoren gebildet werden, die durch die umgebenden Stützpunkte verlaufen. Folglich können Bewegungsvektoren, die durch die ursprünglichen Stützpunkte verlaufen, oder Bewegungsvektoren, die zwischen diesen interpoliert sind, zum Bilden eines neuen Bildes verwendet werden.
  • Bezeichnet man die Koordinaten des zu bestimmenden Punktes (x, z) und die Koordinaten des Stützpunktes, durch den der Bewegungsvektor verläuft, als (y, 0), so kann der erstere ausgedrückt werden als: yn = x – c[t(yn-1)·z], (2-1)wobei yn der neue und yn-1, der vorherige Kandidat für den Stützpunkt des Bewegungsvektors ist, und t = [u, v]. Der Koeffizient c ist ein veränderbarer Upgrade-Koeffizient, der von vorherigen Upgrades abhängt. Untersuchen wir die Konvergenz des Algorithmus (2-1) (unter der Annahme dass c = 1): dazu betrachten wir die Auswirkungen des Algorithmus in Abhängigkeit der Einflussbedingungen auf die Verschiebung des Vektorfelds: yn + t(yn)·z = x (2-2)d. h., wenn folgendes gilt: lim n→∞(yn + t(yn)·z – x) = 0, (2-3)wobei –1 ≤ z ≤ 1. Der ursprüngliche Fehler beträgt e0 = x – (y0 + t(y0)·z) (2-4)
  • Nach einer ersten Iteration y1 = x – t(y0)·z, (2-5)ergibt sich ein Fehler von e1 = x – (y1 + t(y1)·z) = x – ((x – t(y0)·z) + t(x – t(y0)·z)·z) = t(y0)·z – t(x – t(y0)·z)·z = z·(t(y0) – t(x – t(y0)·z)) (2-6)
  • In gleicher Weise ergeben sich die Fehler für die Intervalle n and n + 1 wie folgt en = x – (yn + t(yn)·z) = x – t(yn)·z – yn en+1 = x – (yn+1 + t(yn+1)·z) = –z·(t(x – t(yn)·z) – t(yn)) (2-7)
  • Das Verhältnis der Längen der Fehlervektoren en and en+1 zueinander beträgt
  • Figure 00120001
  • Durch Einsetzen von a ≡ x – t(yn)·z und b ≡ yn, kann die Gleichung (2-8) in der folgenden Form geschrieben werden
  • Figure 00120002
  • Die Gleichung (2-9) erreicht ihr Minimum und Maximum an den Bildflächen (z = ±1). Damit der Algorithmus für alle Werte –1 ≤ z ≤ 1 konvergiert, muss gelten
  • Figure 00120003
  • Die Längen der Vektoren können auf unterschiedliche Weise ausgedrückt werden, abhängig davon, welches mathematische Berechnungsverfahren verwendet wird. Bevorzugte Verfahren umfassen die Verwendung einer 1-Normierung oder Unendlich-Normierung. Bei der 1-Normierung ist die Länge des Vektors die Summe der Längen der Vektorkomponenten, |t| = u + |v|, bei der Unendlich-Normierung ist die Länge des Vektors die Länge der größten Vektorkomponente, |t| = max{|u|, |v|}. Durch Verwendung der 1-Normierung kann mit a = (a1, a2) and b = (b1, b2) die linke Seite der Gleichung (2-10) in folgender Form geschrieben werden
  • Figure 00130001
  • Die rechte Seite der Gleichung (2-11) entspricht der gewichteten Summe der Differenzquotienten des Vectorfelds t: es gilt daher weiterhin
    Figure 00130002
    wobei 0 ≤ r ≤ 1. Damit die Gleichung (2-12) für alle Werte von r erfüllt wird, muss gelten
    Figure 00130003
    wobei t(x, y) = [u(x, y), v(x, y)].
  • Folglich verursacht der in Gleichung (2-1) beschriebene Algorithmus zusätzliche Bedingungen auf den gesuchten Fluss (Gleichung 2-13), wonach der Absolutwert der Differenz zwischen den Verschiebungen von zwei benachbarten Bewegungsvektoren kleiner sein muss als der Abstand zwischen den Stützpunkten dieser benachbarten Bewegungsvektoren. Da die zusätzlichen Bedingungen die partiellen Ableitungen des Flusses betreffen, welche durch das Glättekriterium minimiert werden sollen, kann die Erfüllung der Bedingungen gewährleistet werden durch eine Verringerung des Anteils des Terms, der den mittleren quadratischen Fehler beim Upgrading betrifft. Die Bedingungen der Gleichung (2-13) lassen sich verwirklichen, indem der Parameter α in der Gleichung (1-8) z. B. durch einen Parameter nach Gleichung 3-1 ausgetauscht wird: a(ux, uy, vx, vy) = α·max{0,1 – max{|ux| + |vx|, |uy| + |vy|}/d}, (3-1)wobei d den Abstand zwischen den Stützpunkten darstellt.
  • Die Absolutwerte der partiellen Ableitungen |ux|, |uy|, |vx| und |vy| aus Gleichung (3-1) können z. B. mittels der folgenden Gleichungen approximiert werden: |ux(x, y)| = max{|u(x + 1, y) – u(x, y)|, |u(x, y) – u(x – 1, y)|} |vx(x, y)| = max{|v(x + 1, y) – v(x, y)|, |v(x, y) – v(x – 1, y)|} |uy(x, y)| = max{|u(x, y + 1) – u(x, y)|, |u(x, y) – u(x, y – 1)|} |vy(x, y)| = max{|v(x, y + 1) – v(x, y)|, |v(x, y) – v(x, y – 1)|} (3-2)wobei die Differenzen zwischen den Verschiebungen der Bewegungsvektoren und die Verschiebungen des nächsten Nachbars berechnet werden. Die größte Differenz der Verschiebungen zeigt den kleinsten Abstand des Bewegungsvektors von den Grenzwerten des Bewegungsbereichs an. Die maximal mögliche Differenz der Verschiebungen entspricht dem Abstand zwischen den Stützpunkten. Es bestehen auch andere Möglichkeiten zur Approximierung der Ableitungen, wie beispielsweise die Berechnung der Differenz der Verschiebungen von benachbarten Bewegungsvektoren zu dem untersuchten Bewegungsvektor: |v(x, y + 1) – v(x, y – 1)|, wobei die Verschiebung des gerade untersuchten Bewegungsvektors nicht zur Bestimmung der Ableitung verwendet wird.
  • In Gleichung (3-1) ist wichtig, dass die Werte von a kleiner werden, wenn die partiellen Ableitungen anwachsen und dass der Anteil des mittleren quadratischen Fehlers, der die Bewegung berücksichtigt, in dem erneuerten Term verschwindet, wenn die Bedingungen (2-13) verletzt werden (vgl. 2). Anders ausgedrückt, wenn der Fluss durch Annäherung ermittelt wird, wird für jeden Bewegungsvektor dessen kleinster Abstand zu den Grenzwerten ermittelt, an dem die zusätzlichen Bedingungen verletzt werden, und abhängig hiervon die Gewichtung des die Bewegung berücksichtigenden Terms höhergesetzt. Die Gleichungen (1-8) können nun in die nachfolgende Form gebracht werden
    Figure 00150001
    wobei ηD den Parameter für das Glättungskriterium und ηx den Parameter des die Bewegung berücksichtigenden mittleren quadratischen Fehlers ist.
  • 6 veranschaulicht die Veränderung des Parameters a innerhalb des zulässigen Bewegungsbereichs MA des Bewegungsvektors. Der Wert des Parameters a wird zu c, wenn der Bewegungsvektor die Bildebene orthogonal trifft, wobei in dieser Situation der Bewegungsvektor in der Mitte des Bewegungsbereichs liegt. Wenn die Verschiebung des Bewegungsvektors anwächst und sich dieser den Grenzen des Bewegungsbereichs nähert, nimmt der Wert des Parameters a ab, wie dies aus der Figur erkennbar ist. Die Abnahme kann linear erfolgen, wie dies in der Figur gezeigt ist, oder nicht-linear, in Abhängigkeit der jeweiligen Anwendung.
  • Untersuchen wir die zusätzlichen Bedingungen anhand der 7 bis 9. 7 veranschaulicht den zulässigen Schnittbereich des in einem Punkt k in der Bildebene abgestützten Bewegungsvektors, wenn der einschränkende Faktor derjenige Bewegungsvektor ist, der an einem benachbarten Stützpunkt A festgelegt ist. Bezeichnen wir diesen Bewegungsvektor mit A nach seinem Stützpunkt. Nehmen wir an, dass A bekannt ist, so wird durch Verschieben des an dem Punkt A abgestützten Bewegungsvektors an den Punkt k (nennen wir diesen verschobenen Bewegungsvektor A', der in der Figur durch eine unterbrochene Linie dargestellt ist) der einschränkende Einfluss von A auf den zulässigen Verschiebungsbereich des in k abgestützten Bewegungsvektors aufgefunden. Der zulässige Verschiebungsbereich S (in der Figur schraffiert) bestimmt sich derart, dass der Abstand des Schnittpunkts des Bildes mit dem in k abgestützten Bewegungsvektor von dem Schnittpunkt des Bildes mit dem Bewegungsvektor A' kleiner sein soll, als der Abstand zwischen den Punkten A und k. Beim Betrachten dieser Figur ist zu berücksichtigen, dass sich die Bildebene von der Ebene des Stützpunkts unterscheidet. Anders ausgedrückt, wird die Ebene des Stützpunkts entlang der Bewegungsvektoren auf die Bildebene verschoben und besitzen alle Bewegungsvektoren die gleiche Richtung (in diesem Fall die Richtung von A), so wird der zulässige Verschiebungsbereich S für den untersuchten Bewegungsvektor erhalten, der durch den Punkt k verläuft, wenn der beschränkende Faktor ein bekannter Bewegungsvektor A ist. Da vier umgebende Stützpunkte in der Berechnung verwendet werden, weist der zulässige Bereich die Form eines Quadrats auf, an dessen Ecken die Bewegungsvektoren, die durch die benachbarten Stützpunkte verlaufen, angeordnet sind. Das Quadrat ist durch eine unterbrochene Linie dargestellt und veranschaulicht die Situation, in der der Bewegungsvektor A keine Verschiebung aufweist, sondern der Bewegungsvektor senkrecht auf die Bildebene trifft. Die Form des Bewegungsbereichs muss nicht notwendigerweise quadratisch sein, vielmehr können die Kanten des Quadrats gekrümmt sein oder der Bereich kann auch die Form eines Kreises besitzen. Maximal müssen die Grenzen des Bewegungsbereichs jedoch durch die benachbarten Punkte verlaufen, die bei der Berechnung verwendet werden.
  • 8 veranschaulicht den Einfluss der Bewegungsvektoren der vier nächstgelegenen benachbarten Stützpunkte (A, B, C und D) auf den durch den Punkt k verlaufenden Bewegungsvektor. Der zulässige Bereich S in der Bildebene ist durch eine Schraffur angedeutet. 9 zeigt die zulässigen Schnittbereiche des Bewegungsvektors in den Bildebenen der Originalbilder.
  • Erstes Ausführungsbeispiel der Erfindung
  • Nachfolgend wird anhand eines Beispiels die Implementierung der Erfindung in bezug auf eine Situation beschrieben, in der der optische Fluss zwischen zwei benachbarten Bildern gesucht wird (10) und neue Bilder zwischen diesen Bildern mit Hilfe des Flusses und der Originalbilder erzeugt werden (4 und 11).
  • Als erstes werden die zu verarbeitenden Bilder in ein System zur Bestimmung des Flusses eingebracht. Bei diesem Schritt wird die Größe der Abtastmatrix, d. h. die Pixelanzahl, mit welcher die Bilder digitalisiert werden sollen, ausgewählt. In einem nächsten Schritt wird der Wert eines jeden Pixels, das durch die Abtastmatrix definiert wird, an den Bildern gemessen (10, Schritt 91). Der Wert kann z. B. die Farbe oder ein Grauwert sein. Welche Variable verwendet wird, kann in Abhängigkeit der jeweiligen Situation ausgewählt werden.
  • Da es vorzuziehen ist, die Anzahl der Punkte in der Stützebene (d. h. die Anzahl der Bewegungsvektoren) kleiner zu wählen als die Pixelanzahl (Schritt 92), sind die digitalisierten Bilder tiefpassgefiltert, beispielsweise unter Faltung mit der Gaussfunktion (das Filtern kann in geeigneter Weise ebenfalls implementiert oder vollständig weggelassen werden, wobei ist jedoch vorzuziehen ist). Die Gaussfunktion ist separierbar, wodurch die Faltung zunächst in Richtung x und dann in Richtung y berechnet werden kann, was schneller ist, als die Berechnung einer zweidimensionalen Faltung. Das Ausmaß der angewendeten Filterfunktion hängt von der Anzahl der Bewegungsvektoren ab (d. h. dem Abstand zwischen den Bewegungsvektoren). In Verbindung mit dem Filtern werden die Ableitungen und die gewünschten Pixelwerte von den Flächen beider Bilder in einem Speicher abgelegt, z. B. die größten Ableitungen in der Richtung einer jeden Flächenkoordinate (g'max = max{g'1,1, g'2,1, g'1,2, g'2,2}) und die größten und kleinsten Pixelwerte zwischen den Bildern (gmin = min{g1, g2,}, gmax = max{g1, g2,},). Durch die Verwendung dieser Werte wird der größte zulässige Wert für den Parameter ηx bestimmt (Schritt 93), durch den die Konvergierungsgeschwindigkeit beeinflusst wird, wenn der gewünschte optische Fluss gesucht wird.
  • Nach der oben beschriebenen Bildverarbeitung werden die Stützebene und die Stützpunkte in dieser bis zum Mittelpunkt der Bilder bestimmt (Schritt 94). Die Stützebene kann auch an einem anderen Punkt als bei halbem Weg vorgesehen sein, jedoch ist es am vorteilhaftesten, eine in der Mitte liegende Ebene zu verwenden. Es ist anzumerken, das es dann, wenn das erste Originalbild als Stützebene dient, ausreicht, die Ableitungen lediglich aus dem zweiten Bild zu berechnen. Die Anzahl der Stützpunkte entspricht der Anzahl der im Zusammenhang mit dem Filtern bestimmten Bewegungsvektoren. Die Stützung der Bewegungsvektoren kann auch in einem früheren Schritt erfolgen.
  • Hernach gilt für jeden Bewegungsvektor an jedem Stützpunkt (k = (x, y))
    • a) Die Pixelwerte, die Ableitungen und die Bewegungsvektorverschiebung für die Bilder an den Schnittpunkten des Bewegungsvektors mit den Bildern werden ermittelt mit k + t(x) für das erste Bild und k – t(x) für das zweite Bild (Schritt 95). Die Ableitungen werden aus der Differenz zwischen den Werten von zwei benachbarten Bildpunkten erhalten. Die anfängliche Richtung des Bewegungsvektors kann direkt auf die Bildebenen ausgerichtet werden, sind jedoch frühere Informationen über die Bewegungsvektoren verfügbar (z. B. einen Bewegungsvektorfeld, das chronologisch durch ein vorangegangenes Bildpaar berechnet worden ist), kann hiervon Gebrauch gemacht werden.
    • b) Die Laplace-Funktion der Darstellung wird berechnet (Schritt 96) durch Berechnung der Differenz zwischen der Bewegungsvektorverschiebung t(x) und dem Mittelwert der Verschiebungen der umgebenden Bewegungsvektoren. Der Wert der Laplace-Funktion repräsentiert die Nicht-Glätte des Bewegungsvektorfelds, d. h. er zeigt umgekehrt die Glätte an.
    • c) Die zusätzliche Bedingung (Gleichungen 3-1), d. h. die Differenzen zwischen der Bewegungsvektorverschiebung t(x) und den Verschiebungen der umgebenden Bewegungsvektoren, werden berechnet und die Größte von diesen ausgewählt (Schritt 97).
    • d) Anschließend wird eine neue Verschiebung t(x) für den Bewegungsvektor am Punkt k = (x, y) gesetzt (Schritt 98), indem die in den Gleichungen (3-3) berechneten Größen ersetzt werden, in Abhängigkeit wovon die Richtung eines einzelnen Bewegungsvektors neu gesetzt wird, da die zusätzliche Bedingung in Schritt c) den Parameter a verändert. Das Ergebnis wird im Speicher abgelegt, wenn die Positionen aller Zeilen gleichzeitig neu gesetzt werden (Jakob-Iteration), oder alternativ werden die Positionen der Bewegungsvektoren sofort geändert (Gauss-Seidel-Iteration).
  • Anschließend werden die Schritte a)–d) 10- bis 15-mal wiederholt, oder solange, bis die Veränderung in der Darstellung als ausreichend klein angesehen wird (Schritt 99).
  • Sobald der optische Fluss mit der gewünschten Anzahl von Bewegungsvektoren bestimmt worden ist, kann die Anzahl der Bewegungsvektoren erhöht werden, d. h. die Auflösung des optischen Flusses kann verbessert werden (Schritte 910 und 911). Die ursprünglichen Verschiebungen der neu hinzuzufügenden Bewegungsvektoren werden durch Interpolation zwischen den Verschiebungen der vorherigen Bewegungsvektoren erhalten. Das Verfahren wird neu gestartet durch Auswahl der Anzahl der Bewegungsvektoren (Abstand untereinander) und die Tiefpassfilterung. Eine solche Verarbeitung wird fortgesetzt, bis die gewünschte Vektordichte erreicht ist, d. h. ein optischer Fluss zwischen den Bildern gebildet worden ist.
  • Ein neues Bild (oder neue Bilder) wird mit Hilfe des Flusses und der Originalbilder unter Verwendung des durch Gleichungen (2-1) repräsentierten Verfahrens berechnet (4 und 5). Ein anderes, alternatives Verfahren zur Bildung eines neuen Bildes/neuer Bilder besteht in der Interpolation der Werte eines Bildpunktes für jeden einzelnen Bewegungsvektor des optischen Flusses in einer gewünschten Ebene z: anders ausgedrückt kann der Wert eines Bewegungsvektorpunktes in einer Ebene z durch Interpolation aus den Werten der Schnittpunkte des ersten Bildes mit dem Bewegungsvektor und des zweiten Bildes mit dem Bewegungsvektor erhalten werden. Bei diesem Verfahren wird ein Bewegungsvektorpunktwert mit den gewünschten Werten von z (11) berechnet.
  • Obwohl die Bestimmung des Flusses und des neuen Bildes in diesem Beispiel unter Verwendung von zwei Originalbildern erfolgt ist, ist es möglich, mehr als zwei Bilder für die Bestimmung des optischen Flusses und eines neuen Bildes zu verwenden. In einer solchen Situation sind natürlich die Berechnung und das Verfahren gegenüber dem oben dargestellten zu modifizieren.
  • Zweites Ausführungsbeispiel der Erfindung
  • Die Erfindung kann auch bei der Vergrößerung abgetasteter Bilder eingesetzt werden. Abgetastete Bilder bedeuten in diesem Kontext Bilder, deren Abtastfrequenz im Vergleich zu im Bild enthaltenen Frequenzen gering ist. Werden abgetastete Bilder vergrößert, so ergeben sich im Vergleich zur herkömmlichen Interpolation die Vorteile gemäß 12, oder anders ausgedrückt, es werden weniger Schatten erzeugt.
  • In 12 ist ein Objekt A in orthogonaler Richtung um den Faktor zwei vergrößert worden. Das Objekt B zeigt das Ergebnis, das mit herkömmlichen Interpolationsverfahren erhalten wird, und das Objekt C zeigt das Interpolationsergebnis, das mit Hilfe des optischen Flusses erhalten wird.
  • Wenn abgetastete Bilder vergrößert werden, wird das neue Bild ähnlich wie bei in der Interpolation zwischen zwei Bildern ermittelt: hier wird jedoch das neue Bild zwischen zwei benachbarten Zeilen/Spalten von Bildpunkten und nicht zwischen zwei Bildern, somit quasi innerhalb des Bildes, ermittelt. Die oben vorgestellten Gleichungen erhalten hierzu die folgende Form:
    Figure 00200001
    und a(ux) = α0·max{0,1 – |ux|}}, (4-2)wobei |ux| = |ux(x)| = max{|u(x + 1) – u(x)|, |u(x – 1) – u(x)|}/d, (4-3)wobei d den Abstand zwischen den Stützpunkten der Bewegungsvektoren in der Stützebene, x der Stützpunkt des Bewegungsvektors, und u die Bewegungsvektorverschiebung aus der Orthogonalposition darstellt.
  • Anstelle von Gleichung 4-3 können auch einige andere Gleichungen zur Approximation der Ableitung im zu untersuchenden Punkt x verwendet werden, beispielsweise |ux| = |ux(x)| = {|u(x + 1) – |u(x – 1)|/d, (4-4)in der die Approximation der Ableitung aus der Differenz zwischen den Verschiebungen der benachbarten Bewegungsvektoren und nicht aus der Differenz zwischen der Verschiebung des Bewegungsvektors des zu untersuchenden Punkts und der Verschiebung der benachbarten Bewegungsvektoren ermittelt wird. 13 zeigt ein Beispiel von Bewegungsvektoren, die zwischen zwei Bildzeilen/-spalten g1 and g2 gebildet sind.
  • Weiterhin kann nun der nachfolgende Algorithmus zur Berechnung neuer Pixel verwendet werden: yn = x – u(yn-1)·z, (4-5)wobei z den zu berechnenden Abstand der Bildebene von der Ebene der Stützpunkte der Bewegungsvektoren darstellt.
  • Das folgende auf 14a bezugnehmende Beispiel beschreibt die Implementierung des Verfahrens in einer Situation, in der ein einziges Bild bekannt ist, der optische Fluss einer jeden benachbarten Pixelnzeile und -spalte in dem Bild ermittelt und die neuen Pixelzeilen und -spalten mittels des Flusses und der ursprünglichen Pixelzeilen und -spalten berechnet werden.
  • Als erstes werden die zu verarbeitenden Bilder in ein System zur Bestimmung des Flusses eingebracht. Bei diesem Schritt wird die Größe der Abtastmatrix, d. h. die Pixelanzahl, mit welcher die Bilder digitalisiert werden sollen, ausgewählt, sofern die Bilder nicht bereits in digitaler Form bereitgestellt werden. In einem nächsten Schritt wird der Wert eines jeden Pixels aus den Bildern herausgemessen (Schritt 131). Der Wert kann z. B. die Farbe oder ein Grauwert sein. Welche Variable verwendet wird, kann in Abhängigkeit der jeweiligen Situation ausgewählt werden.
  • Die Anzahl der Bewegungsvektoren wird ausgewählt und die beiden ersten Pixelzeilen werden tiefpassgefiltert, beispielsweise durch Faltung mit der Gaussfunktion (Schritt 132). In Verbindung mit dem Filtern werden die größten Ableitungen in beide Richtung der Bildebene (g'max = max{g'1,1, g'2,1, g'1,2, g'2,2}) und die größten und kleinsten Wertdifferenzen zwischen den Bildern (z. B. die Grauwerte gmin = min{g1, g2,}, gmax = max{g1, g2,}) in einem Speicher abgelegt. Die Ableitungen werden durch Berechnung der Differenz zwischen den Grautönen von zwei benachbarten Bildpunkten erhalten. Ein Parameter α0 wird so gewählt, dass die größtmögliche Upgrade-Verschiebung der Zeilen so groß wie möglich ist, jedoch nicht die Bedingung verletzt, nämlich dass α0 = d/(g'max·(gmax – gmax))(Schritt 133).
  • Nach der vorstehend erläuterten Bildverarbeitung werden die Stützebene und die darin liegenden Stützpunkte in der Mitte zwischen den Pixelzeilen gewählt (Schritt 134). Die Anzahl der Stützpunkte entspricht der Anzahl der beim Filtern bestimmten Bewegungsvektoren. Die Stützung der Bewegungsvektoren kann jedoch auch in einem früheren Schritt vorgenommen werden.
  • Jeder Bewegungsvektor (,der an einem Stützpunkt gestützt ist) wird wie folgt verarbeitet:
    • a) Die Werte der Bildpunkte, die Bewegungsvektorverschiebung und die Ableitungen an den Schnittpunkten des Bewegungsvektors mit der Pixelzeile mit x + u(x) für die erste Zeile und x – u(x) für die zweite Zeilen werden ermittelt (Schritt 135).
    • b) Die Laplace-Funktion, d. h. Glätte der Darstellung wird berechnet, beispielsweise durch Berechnung der Differenz zwischen der Verschiebung des Bewegungsvektors u(x) und dem Mittelwert der Verschiebungen der flankierenden Bewegungsvektoren (Schritt 136).
    • c) Die zusätzliche Bedingung wird berechnet (Schritt 137), d. h. beispielsweise die Differenzen zwischen der Verschiebung des Bewegungsvektors u(x) und den Verschiebungen der ermittelten benachbarten Bewegungsvektoren und die Größte von diesen ausgewählt.
    • d) Die Größen in Gleichung (4-1) werden substituiert, wodurch die zusätzliche Bedingung den Parameter a verändert und die Bewegungsvektorsverschiebung neu gesetzt wird (Schritt 138).
  • Die Schritte a)–d) werden 10- bis 15-mal wiederholt, oder solange, bis die Veränderung in der Darstellung als ausreichend klein angesehen wird (Schritt 139).
  • Danach wird, sofern gewünscht, die Anzahl der Bewegungsvektoren erhöht (Schritte 1310 und 1311) und das Verfahren mit der Tiefpassfilterung neu gestartet. Die anfänglichen Verschiebungen der neu hinzugefügten Zeilen wird durch Interpolation der Verschiebungen der vorherigen Zeilen erhalten. Das vorstehend beschriebene Verfahren wird solange wiederholt, bis die gewünschte Zeilendichte erreicht worden ist.
  • Sobald der Fluss zwischen den beiden ersten Pixelzeilen gebildet und gespeichert worden ist, wird das nächste Pixelzeilenpaar ebenfalls verarbeitet ( 14b, Schritte 1312 und 1313). Für das neue Pixelzeilenpaar werden die gleichen Schritte wie für das erste Pixelzeilenpaar durchgeführt, mit der Abwandlung dass die zweite Zeile nun die erste Zeile wird, was auch der Grund dafür ist, dass das Filtern lediglich für die letztere Zeile wiederholt werden muss.
  • Jedes Pixelzeilenpaar in dem Bild wird in der vorstehend erläuterten Art verarbeitet, wonach das Verfahren dann die Pixelspalten verarbeitet (Schritte 1314 und 1315). Auch die Pixelspaltenpaare in der Figur werden in ähnlicher Weise verarbeitet.
  • Die gewünschten neuen Pixelzeilen und -spalten werden mit Hilfe des Flusses und der ursprünglichen Pixel nach einem der oben beschriebenen Verfahren berechnet (Gleichungen 4-5, 4 oder 11).
  • Um Speicherplatz zu sparen, können die neuen Pixelzeilen und -spalten auch unmittelbar anschließend an die Bestimmung des Flusses berechnet werden, so dass das Speichern des Flusses durch die Bildung der neuen Pixelzeilen/-spalten ersetzt wird.
  • Der zur Verbesserung der Auflösung benötigte Fluss kann auch gebildet werden, indem die Pixelzeilen und Pixelspalten simultan berechnet werden: eine zweidimensionale Flussmatrix wird aus den zu berechnenden Bewegungsvektoren gebildet, beispielsweise gemäß der beigefügten 15. Die Stützpunkte der Vektoren für die Zeilen sind mit R bezeichnet während die Stützpunkte der Vektoren, die auf der Basis der Spalten berechnet werden, mit S bezeichnet sind. Die Stützpunkte sind in der Figur mit erläuternden Linien verbunden. Die leeren Punkte repräsentieren Punkte des Originalbildes.
  • In diesem Zusammenhang wird eine rechteckige Anordnung von Pixelkoordinaten untersucht, jedoch können die Pixelzeilen auch mit einem Winkel von beispielsweise 45 Grad angestellt sein, wobei zwischen den Zeilen die neuen Pixel gebildet werden. In diesem Kontext ist es auch möglich, mehr als zwei Pixelzeilen/-spalten zur Bestimmung des Flusses und des neuen Bildes zu verwenden.
  • Im Vergleich zum Stand der Technik benötigt die Erfindung eine verhältnismäßig kurze Rechenzeit, und zwar aufgrund der Tatsache, dass es nicht erforderlich ist, jedes Zwischenbild separat zu berechnen. Der Fluss wird derart bestimmt, dass alle neuen Bilder, die zwischen den Originalbildern gebildet werden sollen, mit dem gleichen optischen Fluss erstellt werden können. Die Erfindung erlaubt beachtliche Veränderungen zwischen den Bildern aufgrund der Unterdrückung des Bewegungsminimierungsterms, wenn die Bedingungen an den Okklusionspunkten verletzt werden. Zudem ist das Verfahren wegen seiner automatischen Einstellung (Veränderungen der Gewichtungsfaktoren) sehr robust.
  • Die Erfindung besitzt einen sehr breiten Anwendungsbereich. Die Bewegungsinformation des optischen Flusses kann beispielsweise zur Interpolation oder Extrapolation von neun Bildern verwendet werden, zur Verbesserung der Qualität einer Bildsequenz, oder zur Geschwindigkeitsmessung mittels einer Kamera. Die Bestimmung der entsprechenden Bildpunkte hat auch Einfluss auf die Erstellung dreidimensionaler Bilder auf der Basis von Stereobildpaaren. Bewegungserkennung basierend auf Bildern kommt in einer Vielzahl von Computerbildanwendungen zum Einsatz. Die Bewegungsinformation kann auch verwendet werden, um Bilder in einem Satz von Bildern zu verändern und die Informationen für die Übertragung des Bilddatensatzes zu verkleinern bzw. zu komprimieren. Da mit diesem Verfahren eine unbegrenzte Anzahl von neuen Bildern durch Verwendung eines einzigen Flusses erstellt werden können, ist die Bildkompression erheblich effektiver als bei herkömmlichen Verfahren.
  • Das Befolgen der dargelegten Bedingungen ermöglicht einen schnell konvergierenden und berechnungstechnisch einfachen Algorithmus zur Bestimmung des Flusses, der es vorteilhaft macht, die Erfindung auch in Anwendungen zu implementieren, welche die Herstellung von neuen Bildern nicht unmittelbar betreffen.
  • Das Verfahren kann auch dazu verwendet werden, um die Bildauflösung zu verbessern und Standbilder von Videobildern mit hoher Qualität zu erzeugen.
  • Gleichwohl die Erfindung vorstehend im wesentlichen mit Hilfe von Beispielen eines zwischen zwei Originalbildern gebildeten Bildes und der Vergrößerung eines abgetasteten Bildes beschrieben worden ist, kann die Erfindung auch in anderen Ausführungsbeispielen im Rahmen der erfindungsgemäßen Idee implementiert werden; z. B. können mehr als zwei Bilder zur Ermittlung des Flusses und zur Bildung eines neuen Bildes verwendet werden.

Claims (5)

  1. Verfahren zum Bilden eines Bewegungsvektorfeldes, das sich aus Bewegungsvektoren zwischen mindestens zwei Bildern zusammensetzt, in Verbindung mit Bildverarbeitung, wobei bei diesem Verfahren das Bewegungsvektorfeld durch Minimieren desselben in bezug auf mindestens zwei Kriterien gebildet wird, wobei das erste Kriterium die Bewegungsinformationen zwischen den Bildern und das zweite Kriterium die Glätte des Bewegungsvektorfeldes darstellt, zusätzliche Bedingungen beim Bilden des Bewegungsvektorfeldes verwendet werden, wobei die zusätzlichen Bedingungen bewegungsvektorspezifisch Grenzwerte der dem Bewegungsvektor gestatteten Richtungsänderung bestimmen, und beim Bilden des Bewegungsvektorfeldes die Gewichtung des ersten Kriteriums bewegungsvektorspezifisch eingestellt wird, um beim Annähern an die Grenzwerte kleiner zu sein, und somit infolge der Einstellung der Anteil des ersten Kriteriums unterdrückt wird und der Anteil des zweiten Kriteriums ansteigt, wenn das Bewegungsvektorfeld durch Minimierung gebildet wird, dadurch gekennzeichnet, dass die Gewichtung des ersten Kriteriums proportional zu dem kleinsten Abstand des Bewegungsvektors von den Grenzwerten ist, wobei demzufolge der Absolutwert der Differenz zwischen der Richtungsänderung von zwei benachbarten Bewegungsvektoren kleiner sein soll als der Abstand zwischen Fixierungspunkten derselben Bewegungsvektoren, wobei die Fixierungspunkte die Lagepunkte, durch welche die einzelnen Bewegungsvektoren verlaufen sollen, definieren, und die Richtungsänderung einer Abweichung von der Richtung orthogonal zu der Bildebene entspricht, wobei die Richtungsänderung als Verschiebungsvektor, der die Richtung der Bildebene aufweist, ausgedrückt wird.
  2. Verfahren nach Anspruch 1, wobei bei diesem Verfahren – die Anzahl von Bewegungsvektoren und deren Abstand voneinander ausgewählt werden, – der Wert und Ableitungen jedes Bildpunkts bestimmt werden, – ein Einheitsparameter zum Iterieren des Bewegungsvektorfeldes eingestellt wird, – für jeden Bewegungsvektor die Werte und Ableitungen der Schnittpunkte davon und der Bildebenen gesucht werden, – die Glätte des Bewegungsvektorfeldes berechnet wird, – für jeden Bewegungsvektor das Ausmaß der Änderung seines Verschiebungsvektors, der die Richtung der Bildebene aufweist, bestimmt wird, wobei der Verschiebungsvektor der Abweichung des Bewegungsvektors von der Richtung, die orthogonal zur Bildebene verläuft, entspricht, – ein Bewegungsvektorfeld iteriert wird, so dass die Änderung der Verschiebungsvektoren der Bewegungsvektoren ausreichend klein ist, – die Anzahl von Bewegungsvektoren erhöht wird, und – die oben genannten Schritte wiederholt werden, bis die Anzahl von Bewegungsvektoren ausreichend ist, dadurch gekennzeichnet, dass die Bewegungsvektoren des Bewegungsvektorfeldes an einer Ebene in der Mitte der Bilder fixiert sind, wobei die Fixierung für jeden Bewegungsvektor einen Punkt definiert, durch welchen jener Bewegungsvektor verlaufen muss, und die Grenzwerte für den Verschiebungsvektor jedes Bewegungsvektors gesucht werden und die Grenzwerte zum Iterieren des Bewegungsvektorfeldes verwendet werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Grenzwert der Richtungsänderung jedes Bewegungsvektors durch Bestimmen der Differenzen zwischen dem Verschiebungsvektor jedes Bewegungsvektors und den Verschiebungsvektoren der umliegenden Bewegungsvektoren und durch Auswählen jenes aus diesen, der den höchsten Absolutwert aufweist, erhalten wird, wobei die Richtungsänderung als Verschiebungsvektor, der die Richtung der Bildebene aufweist, ausgedrückt wird, wobei der Verschiebungsvektor zugleich den Bewegungsvektorpunkt auf der Bildebene definiert.
  4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Grenzwert der Richtungsänderung jedes Bewegungsvektors durch Bestimmen der Differenzen zwischen den Verschiebungsvektoren der Bewegungsvektoren, die jeden Bewegungsvektor umgeben, und durch Auswählen jenes aus diesen, der den höchsten Absolutwert aufweist, erhalten wird, wobei die Richtungsänderung als Verschiebungsvektor, der die Richtung der Bildebene aufweist, ausgedrückt wird, wobei der Verschiebungsvektor zugleich den Bewegungsvektorpunkt auf der Bildebene definiert.
  5. Verfahren nach Anspruch 1, wobei mittels eines Bewegungsvektorfeldes ein neues Bild aus ursprünglichen Bildern gebildet wird, dadurch gekennzeichnet, dass der Bewegungsvektor, der durch einen Bildpunkt des zu bestimmenden neuen Bildes verläuft, gesucht wird durch zunächst Auswählen eines Bewegungsvektors, Definieren des Abstandsvektors zwischen dem gesuchten Bewegungsvektor und dem zu bestimmenden Bildpunkt auf einer Ebene, welche die Richtung der Bilder aufweist, Auswählen eines Vektors als neuen Bewegungsvektor, dessen Fixierungspunkt in dem Abstand angeordnet ist, der durch den oben definierten Abstandsvektor bestimmt wird, jedoch in der umgekehrten Richtung von dem Fixierungspunkt des zuvor ausgewählten Bewegungsvektors, und Wiederholen der Auswahl eines neuen Bewegungsvektors, bis der Wert des Abstandsvektors als ausreichend klein betrachtet wird, wobei der letzte ausgewählte Bewegungsvektor der gesuchte Bewegungsvektor ist.
DE60020887T 1999-12-28 2000-12-20 Optischer fluss und bildaufbau Expired - Fee Related DE60020887T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI992799 1999-12-28
FI992799A FI108900B (fi) 1999-12-28 1999-12-28 Optinen vuo ja kuvan muodostaminen
PCT/FI2000/001119 WO2001048695A1 (en) 1999-12-28 2000-12-20 Optical flow and image forming

Publications (2)

Publication Number Publication Date
DE60020887D1 DE60020887D1 (de) 2005-07-21
DE60020887T2 true DE60020887T2 (de) 2006-03-23

Family

ID=8555823

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60020887T Expired - Fee Related DE60020887T2 (de) 1999-12-28 2000-12-20 Optischer fluss und bildaufbau

Country Status (10)

Country Link
US (1) US20040022419A1 (de)
EP (1) EP1252607B1 (de)
JP (1) JP2003518671A (de)
KR (1) KR20020075881A (de)
CN (1) CN1415105A (de)
AT (1) ATE298117T1 (de)
AU (1) AU2378801A (de)
DE (1) DE60020887T2 (de)
FI (1) FI108900B (de)
WO (1) WO2001048695A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043058B2 (en) * 2001-04-20 2006-05-09 Avid Technology, Inc. Correcting motion vector maps for image processing
WO2002099753A1 (fr) * 2001-06-05 2002-12-12 Sony Corporation Processeur d'images
FI20012115A (fi) * 2001-11-01 2003-05-02 Oplayo Oy Kuvan interpolointi
KR100498951B1 (ko) * 2003-01-02 2005-07-04 삼성전자주식회사 동영상 압축 부호화를 위한 움직임 예측 방법과 그기록매체
JP4419062B2 (ja) 2004-03-29 2010-02-24 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US20050285947A1 (en) * 2004-06-21 2005-12-29 Grindstaff Gene A Real-time stabilization
US20060020562A1 (en) * 2004-07-21 2006-01-26 University Of Southern Mississippi Apparatus and method for estimating optical flow
TWI288353B (en) * 2004-12-24 2007-10-11 Lite On Semiconductor Corp Motion detection method
US20070280507A1 (en) * 2006-06-01 2007-12-06 Beddhu Murali Apparatus and Upwind Methods for Optical Flow Velocity Estimation
GB0614567D0 (en) * 2006-07-21 2006-08-30 Snell & Wilcox Ltd Motion vector interpolation
US8593506B2 (en) * 2007-03-15 2013-11-26 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion
JP4600530B2 (ja) * 2008-06-17 2010-12-15 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
FR2944152B1 (fr) 2009-04-03 2011-06-17 Peugeot Citroen Automobiles Sa Dispositif pour controler la baisse de la tension residuelle aux bornes d'une pile a combustible apres son arret
US9750399B2 (en) 2009-04-29 2017-09-05 Koninklijke Philips N.V. Real-time depth estimation from monocular endoscope images
JP5863273B2 (ja) * 2011-05-02 2016-02-16 キヤノン株式会社 画像処理装置、制御方法及びプログラム
US9288484B1 (en) 2012-08-30 2016-03-15 Google Inc. Sparse coding dictionary priming
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
JP6104152B2 (ja) * 2013-12-26 2017-03-29 本田技研工業株式会社 樹脂枠付き膜電極構造体
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US10818018B2 (en) * 2016-11-24 2020-10-27 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
CN107044855A (zh) * 2017-05-05 2017-08-15 南京信息工程大学 一种基于摄像头阵列的惯性测量装置及方法
CN110392282B (zh) * 2018-04-18 2022-01-07 阿里巴巴(中国)有限公司 一种视频插帧的方法、计算机存储介质及服务器
CN109300143B (zh) * 2018-09-07 2021-07-27 百度在线网络技术(北京)有限公司 运动向量场的确定方法、装置、设备、存储介质和车辆
US20240054657A1 (en) * 2022-08-15 2024-02-15 Nvidia Corporation Frame rate up-conversion using optical flow

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241608A (en) * 1988-11-25 1993-08-31 Eastman Kodak Company Method for estimating velocity vector fields from a time-varying image sequence
US5500904A (en) * 1992-04-22 1996-03-19 Texas Instruments Incorporated System and method for indicating a change between images
DE69416441T2 (de) * 1993-04-22 1999-10-07 Matsushita Electric Ind Co Ltd Ansteuervorrichtung für Flüssigkristall-Anzeige
GB2317525B (en) * 1996-09-20 2000-11-08 Nokia Mobile Phones Ltd A video coding system
US6008865A (en) * 1997-02-14 1999-12-28 Eastman Kodak Company Segmentation-based method for motion-compensated frame interpolation
US5912815A (en) * 1997-03-14 1999-06-15 The Regents Of The University Of California Local relaxation method for estimating optical flow
US6628715B1 (en) * 1999-01-15 2003-09-30 Digital Video Express, L.P. Method and apparatus for estimating optical flow

Also Published As

Publication number Publication date
CN1415105A (zh) 2003-04-30
FI19992799A (fi) 2001-06-29
US20040022419A1 (en) 2004-02-05
KR20020075881A (ko) 2002-10-07
WO2001048695A1 (en) 2001-07-05
FI108900B (fi) 2002-04-15
JP2003518671A (ja) 2003-06-10
EP1252607B1 (de) 2005-06-15
EP1252607A1 (de) 2002-10-30
ATE298117T1 (de) 2005-07-15
DE60020887D1 (de) 2005-07-21
AU2378801A (en) 2001-07-09

Similar Documents

Publication Publication Date Title
DE60020887T2 (de) Optischer fluss und bildaufbau
DE69430336T2 (de) Vergrösserung von digitalen Bildern mittels Kantenabbildung
DE69430962T2 (de) Bilddefokusierungsverfahren und -vorrichtung
DE69426428T2 (de) Objektverfolgungsgerät
DE69429743T2 (de) Verfahren und Gerät zur Bestimmung einer Kontur in einem durch eine Dichteverteilung gekennzeichneten Raum
DE68914206T2 (de) Verfahren und System zur Verbesserung eines digitalisierten Bildes.
DE69832357T2 (de) Geräuschverminderung in einem bild
DE69734855T2 (de) Vorrichtung und Verfahren zur Extraktion eines Objektes in einem Bild
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69022470T2 (de) Bewegungsabhängige Videosignalverarbeitung.
DE69623642T2 (de) Vektorkorrelationssystem zum automatischen auffinden von mustern in einem bild
DE69812882T2 (de) Verfahren zur bewegungskompensierten Mehrhalbbildverbesserung von Videostandbildern
DE60012649T2 (de) Beseitigung von chromarauschen aus digitalbildern durch verwendung veränderlich geformter pixelnachbarschaftsbereiche
DE69324513T2 (de) System zur Bildherstellung und zugeordnetes Verfahren zur Minimierung von Konturen für ein quantisiertes Digitalfarbbild
WO2000010119A1 (de) Verfahren zum erkennen von objekten in digitalisierten abbildungen
DE60009810T2 (de) Antialiasing mit Abtastzeilen
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE3789091T2 (de) Bildverarbeitungsverfahren und -system zur Bildrekonstruktion.
DE102005046772A1 (de) Iteratives Verfahren zur Interpolation von Bildinformationswerten
DE69921608T2 (de) Verfahren und vorrichtung zum zoomen von digitalen bilddateien
DE69428555T2 (de) Anti-aliasing-Verfahren für Trickfilm
DE69027712T2 (de) Verfahren zur Bildtransformation
EP1386287B1 (de) Bildverarbeitungsverfahren
DE69830572T2 (de) Verbesserung an künstlicher bilderzeugung
DE69814482T2 (de) Verfahren und Vorrichtung zur Darstellung von Oberflächen aus volumetrischen Daten

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: OY, SOPHILOS, HELSINKI, FI

8328 Change in the person/name/address of the agent

Representative=s name: BECK & RöSSIG - EUROPEAN PATENT ATTORNEYS, 81679 M

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee