WO1998041950A1 - Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit - Google Patents

Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit Download PDF

Info

Publication number
WO1998041950A1
WO1998041950A1 PCT/DE1998/000413 DE9800413W WO9841950A1 WO 1998041950 A1 WO1998041950 A1 WO 1998041950A1 DE 9800413 W DE9800413 W DE 9800413W WO 9841950 A1 WO9841950 A1 WO 9841950A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensor system
image data
optical flow
image
compact sensor
Prior art date
Application number
PCT/DE1998/000413
Other languages
English (en)
French (fr)
Inventor
Thomas RÖWEKAMP
Original Assignee
Gmd - Forschungszentrum Informationstechnik Gmbh
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 Gmd - Forschungszentrum Informationstechnik Gmbh filed Critical Gmd - Forschungszentrum Informationstechnik Gmbh
Priority to DE59801214T priority Critical patent/DE59801214D1/de
Priority to EP98907892A priority patent/EP0966727B1/de
Publication of WO1998041950A1 publication Critical patent/WO1998041950A1/de

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof

Definitions

  • the difference procedures work against it with local image properties, such as the partial spatial-temporal derivatives of locally and temporally neighboring pixels. In addition, they have good performance at speeds below the pixel, which means that these methods are of particular importance for applications with further processing of the optical flow, for example for calculating the time to possible collision (time-to-crash) between two observed objects. In the case of the difference method, however, one must exclude those in which second derivatives also occur, since these result in the corresponding hardware being very susceptible to noise.
  • the image data processing unit has a specially developed user-specific logic module with a regular microstructure, in which data preprocessing to increase the signal-to-noise ratio (edge enhancement) and the processing of the actual algorithm via special software in a directly controlled dependence on a microcontroller he follows.
  • the data is output image-wise, in between there are further processing steps.
  • the technical problem area with which the invention is concerned relates to a como-active sensor system with high calculation speed of the type described at the outset in such a way that it can be inexpensively equipped, manufactured and combined with generally available means and thereby enables continuous calculation of the optical flow in real time, even for very large and segmentable image areas with good image resolution, processing speed and accuracy.
  • the compact sensor system should have a wide range of uses, in particular it should be capable of being designed in such a miniaturized form that application requirements can be met with extremely little space for the sensor.
  • the new pipeline architecture in the image data processing unit is essential for the invention for a continuous calculation of the optical flow in real time.
  • an algorithm specified in a known software solution is completely converted into real-time hardware by using only hardware-technical relationships in a straightforward solution.
  • the optical flow can be calculated with the sensor according to the invention over large image areas, for example up to 512 x 512 motion vectors. All applications in which Different movements are segmented, require an optical flow calculation for very large image areas.
  • the software relief of the user-oriented logic module (CMOS-ASIC) by hardware implementation increases the image processing capacity in the direction of the large image areas.
  • the image processing speed can be up to 1500 images / second and is ultimately only dependent on the performance of the image data generator.
  • the preprocessing and calculation logic are consistently inserted into the pipeline structure by inserting shift registers.
  • the shift registers each consist of two memory elements with random access and a common address counter.
  • Most standard cell processes offer the option of using RAM memory cells in a particularly compact way.
  • Tietze and Schenk show how RAMs can be operated as shift registers if a counter counts the addresses cyclically. If several values are required simultaneously for a calculation, two can be used, for example RAMs can be used with a common address counter, see the special description section for more information.
  • control unit can advantageously be implemented in the user-specific logic module. As a result, it can be produced together with this in a simple standard cell process.
  • the observed objects only undergo constant movements and deformations in real situations.
  • neighboring points have similar speeds.
  • the intensity values change only slightly with time. Therefore, a smoothness condition is introduced.
  • the flow components u (x, y) and v (x, y) can be determined by minimizing the following equation:
  • the indices n and n + 1 indicate the iteration steps.
  • Components 17 and v can be approximated by the mean of the adjacent flow components, as calculated in the previous iteration step.
  • the iteration can be reduced to a loop (iteration value 1).
  • FIG. 1 schematically shows a sensor system 1 which is made up of several functional units.
  • a functional image data generator unit 2 consists of an image data generator 3 and an adaptation area 4.
  • the adaptation region 4 lies outside the image data generator 3 and is formed here by an external, freely programmable logic module 5 in the form of an FPGA as an independent further functional unit.
  • This generates the addresses for the image data generator 3 and additionally generates synchronization signals in the horizontal (HSYNC) and vertical image direction (VSYNC). It also outputs the clock signal (pixel clock). All of these signals can be required in a further processing unit (not shown) for the components of the optical flow.
  • the image data generator 3 supplies the input values for an image data processing unit 6 as a further functional unit.
  • these input values consist of a serial stream of the gray values of the pixels and are 8-bit (1 byte) wide, which corresponds to the gray values from 0 to 255.
  • the data stream is driven by the clock signal and controlled by a synchronization signal (FrameSync), which marks the beginning of a new picture.
  • the image data processing unit 6 reads this data and calculates the optical flow from it.
  • the result is a two-dimensional field of motion vectors that can be temporarily stored in a result memory or processed directly by external image processing devices.
  • the vectors represent the x and y components of the velocity field, which are also represented as an 8-bit value, and each correspond to a pixel.
  • the unit of speed is distance / time.
  • the unit of time results from the frame rate.
  • the optical flow is measured in pixels / image (pixel / frame) and coded in the form of 8-bit values in the invention.
  • the value 127 corresponds to 0 pixel / frame.
  • Speeds between -4 and +4 pixel / frame can be displayed. The smallest speed that can be represented corresponds to approximately 0.016 pixel / frame.
  • a processing pipeline forms the ideal hardware architecture for this.
  • the data path is subdivided into several functional blocks: preprocessing logic 13, block for derivation formation 17, block for calculating the optical flow 21 and block for local averaging of the optical flow components 22, which represents the iterative data feedback path.
  • the blocks 17, 21 and 22 are combined in the calculation logic 14.
  • the pipeline length (latency) in the selected exemplary embodiment for the entire image data processing unit 6 relates to four image lines and 13 pixels.
  • the first arithmetic unit 16 calculates the gray value for a smoothed image for a pixel from the value for the central pixel and the values of the neighboring pixels by multiplying the value of the middle pixel by four, adding it to the values of the neighboring pixels and then using Division normalized by eight. Multiplication and division are implemented by shifting operations.
  • the smoothing operation is inserted into the pipeline structure, since this requires a parallel access to several image data values for a pipeline structure not very suitable i st.
  • the parallel reading in of the data of two image lines with a sliding register is explained in more detail in FIG. 3 and the structure of a shift register integrated in a CMOS standard cell process in FIG. 4.
  • the block for the derivation 17 for calculating the local (l x , l y ) and the temporal (l t ) derivations is constructed similarly to the preprocessing logic 13. It consists of a shift register 18 and a further arithmetic unit 19. I x is the difference between the right and left intensity values with respect to the center pixel, l y is the difference between the upper and lower values. I t is the difference to the value of the corresponding pixel in the previous image. All derivatives are calculated in parallel. In order to form the time difference, the image data of a complete smoothed image must be buffered. Therefore, a first external DualPorted SRAM 20 is used. This makes it possible to carry out write and read access during a pixel clock.
  • FIG. 5 schematically shows the pipeline structure of the block for calculating the optical flow 21.
  • v (t ⁇ ) From the local and temporal Derivatives l x , l y and l as well as the mean values of the components of the optical flow «(/ - •), v (t ⁇ ) from the feedback are the new components u (n + 1), v (n + 1) according to the above Equation (3) described.
  • This is implemented in block 21.
  • pipeline stage 1 the sizes MY and NY for divisor and dividend are calculated in the equation.
  • these are then prepared for the division by shifting operations.
  • pipeline stages 3..10 the division is carried out by repeated comparison and subtraction processes. Values that are not currently required for a calculation are read into the shift register (...- PIPE) and pushed through to the last pipeline stage 11, in which the flow components are calculated.
  • the output signal of the image data calculation unit can be fed directly to image processing units which are further processed by commercially available DSP modules.
  • First order models related to two dimensions can be applied to the measured optical flow.
  • suitable parameters of segmented moving objects and surface properties such as the spatial orientation and the time until the collision, can be obtained from the two-dimensional projection of the spatial movement. Further details on the chip design method, implementation and design data for a real execution case in an application of a navigable robot platform can be found in the unpublished article "A Real-Time Smart Sensor System for Visual Motion Estimation" by Th. Röwekamp et al.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

Die optische Bewegungserkennung kann über die Berechnung des optischen Flusses als resultierendes Bewegungsfeld aus der Verarbeitung einer Bildfolge nach einem vorgegebenen Algorithmus erfolgen. Dabei sind die existierenden Systeme entweder sehr groß oder arbeiten hochgradig parallel. Sie verfügen nur über eine geringe Bildauflösung und Verarbeitungsgeschwindigkeit. Das erfindungsgemäße kompakte Sensorsystem (1) weist eine spezielle digitale Bildverarbeitungs-Rechnerarchitektur in Form einer konsequenten Pipeline-Struktur mit Datenrückführung (6) auf. Durch das vollständig sequentielle Lesen der Bildpunkte und das gleichzeitige Berechnen und Schreiben der Optischen-Fluss-Werte wird ein maximaler Datendurchsatz für die Echtzeitbedingung erreicht. Die Anwendungsmöglichkeiten des Sensorsystems sind vielfältig und liegen immer dort, wo durch Beobachtung einer Bewegung Steuer- und Regelvorgänge durchgeführt werden sollen, beispielsweise bei der Navigation mehrerer bewegter Objekte in einem gemeinsamen Gebiet unter Kollisionsvermeidung.

Description

Kompaktes Sensorsystem zur optischen Bewegungserkennung in Echtzeit
Beschreibung
Die Erfindung bezieht sich auf ein kompaktes Sensorsystem zur optischen Bewegungserkennung durch Echtzeit-Berechnung der x- und y-Komponenten des optischen Flusses aus einer Bildfolge nach einem vorgegebenen Algorithmus mit einer auf einer zweidimensionalen Photodiodenmatrix basierenden Bilddatengebereinheit mit einem Anpassungsbereich und einer zumindest abschnittsweise sequentiellen Bilddatenausgabe und mit einer auf einem anwenderspezifischen CMOS-Logikbaustein basierenden hochratigen Bilddatenverarbeitungseinheit mit einer Vorverarbeitungs- und einer Berechnungslogik sowie einem externen, wahlfrei über zwei Parallelports zugänglichen Arbeitsspeicher und einer Kontrolleinheit.
Durch die relative Bewegung zwischen einem Betrachtungssystem und seiner Umgebung entsteht eine Bildbewegung als Projektion der Umgebung auf die Bildoberfläche des Betrachtungssystems. Die vierdimensionale Raum-Zeitkurve des betrachteten physikalischen Objektes wird dabei unter Verlust der Raumtiefe in eine dreidimensionale Orts-Zeitkurve überführt. Die zeitliche Veränderung der Position eines Umgebungspunktes kann durch einen Geschwindigkeitsvektor (Bewegungsvektor) beschrieben werden. Geht man davon aus, dass jedem Bildpunkt auf der Bildoberfläche ein Umgebungspunkt entspricht, erhält man durch die zeitliche Ableitung aller Bildpunkte das Geschwindigkeitsvektorfeld (Bewegungsvektorfeld). Ein aus der Verarbeitung des Abstrahlverteilungsfeldes (Helligkeitsmuster) einer Bildfolge resultierendes Bewegungsfeld bezeichnet man als „optischen Fluss" (optical flow). Dies ist ein meist fehlerbehafteter Schätzwert des entsprechenden Bewegungsvektorfeldes, der u.a. durch unzureichend texturierte Umgebungen bedingt sein kann. Für hinreichend stark texturierte Szenerien, und solche sollen bei den Anwendungen für die vorliegende Erfindung betrachtet werden, entspricht der optische Fluss aber dem Bewegungsvektorfeld. Dieses kann also durch die Berechung des optischen Flüssen aus Bildfolgen hinreichend beschrieben werden.
Anwendungsfelder für die optische Bewegungserkennung in Echtzeit sind in den unterschiedlichsten Bereichen zu finden (Übersicht im Aufsatz „Computation and Analysis of Image Motion : A Synopsis of Current Problems and Methods", A. Mitchie et al., Int. Journal of Computer Vision, Vol. 19, No.1 , 1996, pp. 29-55). Hierzu zählen beispielsweise die Steuerung von mobilen Robotern und autonomen Fahrzeugen nach deren beobachtbarer Fortbewegung, von Verkehrsleitsystemen und Ampeln nach dem beobachtbaren Verkehrsgeschehen und von Manipulatoren und Interfaces nach beobachtbaren menschlichen Bewegungen und Gesten. Gerade bei der Steuerung von mobilen Robotern ist eine kompakte Ausgestaltung des zu verwendenden Sensorsystem, wie es der Erfindung zugrunde liegt, von besonderem Vorteil, so dass dieser Bereich als Hauptanwendungsgebiet der Erfindung anzusehen ist.
Zur Berechnung des optischen Flusses existieren verschiedene Algorithmen, die auf unterschiedlichen Verfahren basieren (Übersicht im Aufsatz „The Computation of Optical Flow", S.S. Beauchemin et al., ACM Computing Surveys., September 1995, Vol.27, No.3). Die differentiellen Verfahren (Gradientenverfahren) berechnen den optischen Fluss basierend auf räumlichen und zeitlichen Differenzen (Gradienten) zwischen den Einzelbildern der Bildfolgen. Block- oder Regionsvergleichsverfahren (Korrelationsverfahren) berechnen Verschiebungen, indem das Maximum der Korrelation eines lokalen Bildbereiches mit einem gewissen Bereich im folgenden Bild gesucht wird. Energie- und phasenbasierte Filterverfahren wenden auf die Bildfolgen zunächst eine Reihe geschwindigkeitsspezifischer Filter an, um daraus den optischen Fluss zu berechnen. Diese Filterverfahren benötigen jedoch wegen der großen Filteranzahl eine große Rechenkapazität und sind für Echtzeit-Anwendungen ungeeignet. Regionsvergleichsverfahren benötigen durch den Vergleich kleiner kompletter Bildausschnitte ebenfalls eine große Rechenkapazität und dazu noch eine komplexe Speicherverwaltung. Die Differenzenverfahren arbeiten dagegen mit lokalen Bildeigenschaften, wie den partiellen örtlich-zeitlichen Ableitungen örtlich und zeitlich benachbarter Pixel. Außerdem weisen sie bei pixelunterschreitenden Geschwindigkeiten eine gute Leistungsfähigkeit auf, wodurch diese Verfahren für Anwendungen mit einer Weiterverarbeitung des optischen Flusses, beispielsweise zur Berechnung der Zeit bis zum möglichen Zusammenstoß (time-to-crash) zwischen zwei beobachteten Objekten, eine besondere Bedeutung haben. Bei den Differenzenverfahren sind jedoch solche auszuschließen, bei denen auch zweite Ableitungen auftreten, da diese eine große Rauschanfälligkeit der entsprechenden Hardware zur Folge haben.
Die wichtigsten Beiträge in Richtung eines optischen Bewegungssensors kommen aus der Gruppe von C.Koch am California Institute of Technology („Computing Motion Using Analog and Binary Resistive Networks", J.Hutchinson et al., IEEE Computer, March 1988, pp.52-63; „An Analog VLSI Velocitiy Sensor", J. Kramer et al., Proc. Int'l Symposium on Circuits and Systems", IEEE, Piscataway, N.J., 1995, pp. 413-416; „System Implementation of Analog VLSI Velocity Sensors", IEEE Micro, October 1996, pp. 40-49). Diese Arbeiten haben zwar ähnliche wie die oben genannten Anwendungen im Sinn, arbeiten aber mit Implementierungen, die auf analoger CMOS-Technologie beruhen. Außerdem werden bei den aus diesen Aufsätzen bekannten Sensorsystemen die Photodioden zusammen mit der Bilddatenverarbeitung implementiert, was hochgradig parallel ist und relativ kleine Bildbereiche bedingt. Andere benutzen spezielle Rechnerarchitekturen, wie zum Beispiel Transputernetzwerke. Aus dem Aufsatz „Robot Vision System with a Correlation Chip for Real-Time Tracking, Optical Flow and Depth Map Generation", H. Inoue et al., Proc. IEEE Int. Conf. on Robotics and Automation, 1992, pp.1621 -1626, ist es bekannt, zusätzliche Korrelationsschaltungen und aus dem Aufsatz „VLSI Neuroprocessors for Video Motion Detection", J.-C- Lee et al., IEEE Trans, on Neural Networks, March 1993, Vol.4, No.2, spezielle neuronale Schaltungen einzusetzen. Diese Systeme werden zwar zur Berechnung des optischen Flusses verwendet, sind aber in sich schon relativ komplex und daher nicht geeignet, als Sensor in autonomen Fahrzeugen eingesetzt zu werden. Der Stand der Technik, von dem die Erfindung ausgeht, wird gebildet von dem Aufsatz : „A real-time, miniaturized optical sensor for motion estimation and time-to-crash detection" von N.Ancona, G.Creanza et al., der als Vortrag zum ESPRIT 8867 VISTA-Projekt auf der AFPAEC Europto Berlin am 10.10.1996 gehalten wurde (VISTA project.http://www.imec.be/fuga/cmos/vista.html; e-mail : creanza@rob.csata.it).
Dem aus diesem Aufsatz bekannten kompakten hochratigen Sensorsystem liegt zur Einhaltung der Echtzeitbedingung ein in seiner Komplexizität drastisch reduziertes und damit angenähertes Korrelationsverfahren (1 D-Korrelation) als Algorithmus zugrunde, bei dem nicht der korrelierte optische Fluss für kleine komplette Bildausschnitte, sondern dessen korrelierte Komponenten in x- und y- Richtung separat berechnet werden. Dafür benötigt das bekannte Sensorsystem einen für die Berechnung des optischen Flusses speziell entwickelten Bilddatengeber, dessen Detektorbereich geometrisch so gestaltet ist, dass er die Daten bereits vorverarbeiten kann (On-Chip-Gauß-Filter). Bei der realisierten Anordnung von 6 x 6 einzelnen, aus einer Vielzahl von einzeladressierten Photodioden bestehenden Bewegungsdetektoren können entsprechend nur 36 Bewegungsvektoren über einen sehr kleinen Feldbereich in der Bilddatenverarbeitungseinheit, an die die Bilddaten nur abschnittsweise sequentiell ausgegeben werden, berechnet werden. Die Auflösung und die Verarbeitungsgeschwindigkeit des bekannten Sensors sind deshalb relativ gering. Die Bilddatenverarbeitungseinheit weist bei dem bekannten Sensor einen speziell entwickelten anwenderspezifischen Logikbaustein mit einer regelmäßigen Mikrostruktur auf, bei dem eine Datenvorverarbeitung zur Vergrößerung des Signal-Rausch-Abstandes (edge enhancement) und die Abarbeitung des eigentlichen Algorithmus über spezielle Software in direkt gesteuerter Abhängigkeit von einem Microcontroller erfolgt. Die Datenausgabe erfolgt bildweise, dazwischen finden weiterverarbeitende Schritte statt.
Das technische Problemfeld, mit dem sich die Erfindung befasst, bezieht sich darauf, ein komoaktes Sensorsvstem mit hoher Berechnungsgeschwindigkeit der eingangs beschriebenen Art so weiterzubilden, dass es kostengünstig mit allgemein zur Verfügung stehenden Mitteln ausrüst- und herstell- sowie kombinierbar ist und dabei eine kontinuierliche Berechnung des optischen Flusses in Echtzeit auch für sehr große und segmentierbare Bildbereiche mit guter Bildauflösung, Verarbeitungsgeschwindigkeit und Genauigkeit ermöglicht. Dabei soll das kompakte Sensorsystem eine vielseitige Verwendbarkeit aufweisen, insbesondere soll es in einer derartig miniaturisierten Form gestaltbar sein, dass auch Anwendungsanforderungen mit äußerst geringem Platzangebot für den Sensor erfüllt werden können.
Die erfindungsgemäße Lösung für dieses Aufgabenfeld sieht vor, dass in der Bilddatenverarbeitungseinheit die Umsetzung einer kontinuierlichen iterativen Berechnung der x- und y-Komponenten des optischen Flusses nach dem Gradienten-Algorithmus von Hörn und Schunck ausschließlich durch eine digitale Hardware-Architektur des anwenderspezifischen CMOS-Logikbausteins in Form einer konsequenten Pipeline-Struktur mit einer einfachen Datenrückführung realisiert ist, in die die Vorverarbeitungslogik mit einer ersten arithmetischen Recheneinheit durch das Vorschalten von einem ersten Schieberegister und die Berechnungslogik mit drei weiteren arithmetischen Recheneinheiten durch das Vorschalten von drei weiteren Schieberegistern und mit einem mehrere Pipelinestufen aufweisenden Block zur Berechnung des optischen Flusses integriert sind, und dass der externe Arbeitsspeicher aus drei identischen Speicherelementen aufgebaut ist, die jeweils einer der drei weiteren arithmetischen Einheiten zugeordnet sind
Von wesentlicher Bedeutung für die Erfindung ist die neue Pipeline-Architektur in der Bilddatenverarbeitungseinheit für eine kontinuierliche Berechnung des optischen Flusses in Echtzeit. Mit ihr wird ein in bekannter Softwarelösung vorgegebener Algorithmus vollständig in eine Echtzeit-Hardware durch ausschließliche Benutzung von hardwaretechnischen Zusammenhängen in einem geradlinigen Lösungsweg umgesetzt. Der optische Fluss kann mit dem erfindungsgemäßen Sensor über große Bildbereiche, beispielsweise bis 512 x 512 Bewegungsvektoren, berechnet werden. Alle Anwendungen, in denen unterschiedliche Bewegungen segmentiert werden, benötigen eine optische Flussberechnung für sehr große Bildbereiche. Dabei bewirkt die Softwareentlastung des anwenderorientierten Logikbausteins (CMOS-ASIC) durch die Hardwarerealisierung die Erhöhung der Bildverarbeitungskapazität in Richtung der großen Bildbereiche. Die Bildverarbeitungsgeschwindigkeit kann bis 1500 Bilder/Sekunde betragen und ist letztendlich nur noch von der Leistungsfähigkeit des Bilddatengebers abhängig. Durch die konsequente Anwendung des Pipelining-Konzeptes und durch die Anpassung aller Funktionseinheiten an dieses Konzept wird ein maximaler Datendurchsatz erzielt, der den Einsatz des erfindungsgemäßen kompakten Bewegungssensor- Systems unter Echtzeitbedingungen ermöglicht. Die geradlinige Rechenarchitektur kann einfach in digitale Hardware umgesetzt und in eine integrierte Schaltung mittels eines CMOS-Standardzellenprozesses implementiert werden. Dies ist eine eingeführte und gut beherrschbare Technologie. Der Arbeitsspeicher besteht aus drei identischen Speicherelementen, die handelsüblich erhältlich sind. Durch das vollständig sequentielle Einlesen und Verarbeiten von Bilddaten besteht eine optimale Anbindung an kommerziell verfügbare Bilddatengeber. Das Format und das vollständig sequentielle Schreiben der Geschwindigkeitsvektoren im optischen Fluss ermöglichen eine einfache Verbindung zu externen kommerziellen Segmentierungs- und Bildweiterverarbeitungssystemen (Framegrabberkarten o.a.).
Deshalb ist es nach einer Ausgestaltung des erfindungsgemäßen kompakten Sensorsystems besonders vorteilhaft, wenn die zweidimensionaie Photodiodenmatrix von einem standardisierten Bilddatengeber mit einer vollständig sequentiellen Datenausgabe gebildet ist. Hierbei kann es sich beispielsweise um einen CCD-Chip mit zugehörigen Treiberschaltungen oder um eine CMOS-Photodiodenmatrix handeln. Beide Bildgeber sind handelsüblich zu beziehen und damit kostengünstig. Teure Spezialanfertigungen für den Bilddatengeber, die gegebenenfalls auch Vorverarbeitungsschritte durchführen müssen, sind nicht erforderlich. Zusätzliche Schaltungen sind notwendig zur Anpassung des jeweilig eingesetzten Bilddatengebers an die Bilddatenverarbeitungseinheit. Entsprechend einer weiteren Fortführung der Erfindungsidee ist es darum günstig, wenn der Anpassungsbereich von einem externen, freiprogrammierbaren Logikbaustein gebildet ist. Hierbei kann es sich beispielsweise um einen FPGA (field programmable gate array) handeln, bei dem Hardware softwaretechnisch erzeugbar ist und der damit universeller einsetzbar als ein Mikroprozessor ist. Wird die Funktionalität des FPGA nicht als Teil der Bilddatenverarbeitungseinheit implementiert, erreicht man eine gewisse Flexibilität bei der Gestaltung. Außerdem können hiermit beispielsweise zusätzliche Synchronisationssignale für ein digitales Sensorinterface, das Bildatengeber und Bilddatenverarbeitungseinheit örtlich unabhängiger voneinander macht, erzeugt werden.
Pipelinestrukturen sind in der Bildverarbeitung allgemein bekannt, weil sie sich besonders für kontinuierliche Berechnungen eignen. Sie zeichnen sich im allgemeinen dadurch aus, dass während eines mehrstufigen Datenverarbeitungsprozesses die Daten in allen Stufen der Verarbeitung vorliegen. Mit dem Taktsignal wird ein Datum zunächst in die erste Stufe eingelesen und bearbeitet und anschließend zur nächsten Bearbeitungsstufe weitergegeben, währenddessen bereits ein neues Datum in die erste Stufe eingelesen wird. Auf diese Weise wird Takt für Takt die gesamte Pipeline gefüllt. Die Anzahl der Takte, die ein Datum benötigt, um die gesamte Pipeline zu durchlaufen, wird als Latenz bezeichnet. Wenn man mit jedem Takt ein neues Datum liest und ein Ergebnis schreibt, hat man eine Pipeline mit maximalem Datendurchsatz.
Bei der Erfindung werden die Vorverarbeitungs- und die Berechnungslogik durch Vorschalten von Schieberegistern in die Pipelinestruktur konsequent eingefügt. Bei der Implementierung eines Schieberegisters in einen CMOS- Standardzellenprozess kann dieses wegen seines großen Flächenbedarfs nicht vollständig aus Standardzellen aufgebaut werden. Deshalb ist es gemäß einer anderen Weiterbildung des erfindungsgemäßen Sensorsystems besonders vorteilhaft, wenn die Schieberegister jeweils aus zwei Speicherelementen mit wahlfreiem Zugang und einem gemeinsamen Adressenzähler bestehen. Die meisten Standardzellenprozesse bieten die Möglichkeit, RAM-Speicherzellen in einer besonders kompakten Art und Weise zu generieren. Tietze und Schenk („Halbleiter-Schaltungstechnik", 9.Auflage 1989, Seiten 284/285) zeigen, wie RAM's sich als Schieberegister betreiben lassen, wenn ein Zähler die Adressen zyklisch durchzählt. Werden für eine Berechnung mehrere Werte gleichzeitig benötigt, können beispielsweise zwei RAM's mit einem gemeinsamen Adressenzähler eingesetzt werden. Weitere Ausführungen hierzu siehe im speziellen Beschreibungsteil.
Nach einer anderen Erfindungsausgestaltung kann vorteilhaft die Kontrolleinheit im anwenderspezifischen Logikbaustein implementiert sein. Sie ist dadurch zusammen mit diesem in einem einfachen Standardzellenprozess herstellbar.
Bevor näher auf den Aufbau des erfindungsgemäßen Sensor-Systems eingegangen wird, soll zum besseren Verständnis der eingesetzten Pipelinestruktur zunächst der mit dem System umgesetzte Algorithmus näher erläutert werden. Hierbei handelt es sich um den Algorithmus von Hörn und Schunck, wie er im Jahre 1981 veröffentlicht wurde („Determining Optical Flow", Berthold K.P. Hörn und Brian G. Schunck, Artficial Intelligence 17 (1981 ) 185 - 203). Die hier beschriebene Methode basiert ausschließlich auf lokalen Operatoren und ist besonders für eine Hardware-Implementation geeignet. Zusätzlich weist der Algorithmus eine iterative Struktur auf und vermeidet die Behandlung von Ausnahmen, wie beispielsweise Diskontinuitäten.
/ sei die Intensität (Grauwert) im Bildpunkt (x,y) zur Zeit f. Angenommen, die Bildintensität / sei konstant über die Zeit t, dl /dt =0, so kann die Gradientengleichung abgeleitet werden als :
Ix - +Iv -v +I, =0 (1 )
mit u =— ,v =— als x- und y-Komponente des optischen Flusses und lx, ly und lt dt dt als partielle Ableitungen von / nach x, y und t. Die Gradientengleichung (1 ) beschreibt ein unterbestimmtes Gleichungssystem mit den 2 Unbekannten u und v. Lediglich die Geschwindigkeitskomponenten orthogonal zu den Isointensitätskurven können ermittelt werden. Deshalb ist eine zusätzliche Bedingung notwendig.
Normalerweise unterziehen sich die beobachteten Objekte in realen Situationen nur stetigen Bewegungen und Deformierungen. In diesem Falle haben benachbarte Punkte ähnliche Geschwindigkeiten. Die Intensitätswerte ändern sich nur geringfügig mit der Zeit. Daher wird eine Glattheitsbedingung eingeführt. In diesem Falle können die Flusskomponenten u(x,y) und v(x,y) durch Minimierung der folgenden Gleichung bestimmt werden :
o- jj O '" +» +V +V )dx y +\\ (Ix +/,. v +/, fdxdy (2)
Der erste Term der Gleichung (2) repräsentiert die Glattheitsbedingung. Im zweiten Term steht die Gradientengleichung, wird als Glattheitsparameter bezeichnet. Durch Wahl eines geeigneten Wertes für a wird die Gewichtung beider Terme festgelegt. Die partiellen örtlich-zeitlichen Ableitungen lx, ly und lt können als Differenz der Intensitäten zwischen zwei benachbarten Punkten in Ort und Zeit angenähert werden.
Wie bei Hörn und Schunck beschrieben kann das Minimierungsproblem durch Iteration mittels folgender Jacobi-Gleichung gelöst werden :
Figure imgf000011_0001
Die Indizes n und n+1 deuten die Iterationsschritte an. Dabei können die Komponenten 17 und v durch das Mittel der benachbarten Flusskomponenten, wie sie im vorangegangenen Iterationsschritt berechnet wurden, approximiert werden. Unter der Voraussetzung, dass der Sensor zur kontinuierlichen Benutzung, d.h. zu Beobachtung stetiger Bewegungen, eingesetzt wird, kann die Iteration auf eine Schleife (Iterationswert 1 ) reduziert werden. Dadurch ist die Iteration durch eine einfache Datenrückführung realisierbar. Bei einer einfachen Datenrückführung muss zu Beginn der Berechnung des optischen Flusses eine gewisse Anzahl Bilder (ungefähr 10 bis 20) verarbeitet werden (Verarbeitungszeit weniger als 1 Sekunde), bevor eine korrekte Berechnung vorliegt. Diese Phase wird als Initialisierungsphase bezeichnet. Danach wird mit jedem Bild ein neues korrektes Optisches-Fluss-Feld berechnet, d.h., die Umgebung kann kontinuierlich beobachtet werden.
Ausbildungsformen der Erfindung werden nachfolgend anhand der schematischen Figuren näher erläutert. Dabei zeigt :
Figur 1 eine blockschematische Übersicht über die Systemarchitektur des erfindungsgemäßen Sensorsystems mit Erläuterungen zu einer realisierten Ausführungsform, Figur 2 ein Blockdiagramm des Datenweges in der Bilddatenverarbeitungseinheit, Figur 3 den schematischen Aufbau eines Schieberegister,
Figur 4 den Speicherzugriff in einem Schieberegister und
Figur 5 den blockschematischen Aufbau der Pipelinestruktur in der Berechnungslogik.
Die Figur 1 zeigt schematisch ein Sensorsystem 1 , das aus mehreren funktionalen Einheiten aufgebaut ist. Eine funktionale Bilddatengebereinheit 2 besteht aus einem Bilddatengeber 3 und einem Anpassungsbereich 4. Der Anpassungsbereich 4 liegt außerhalb des Bilddatengebers 3 und wird hier von einem externen, freiprogrammierbaren Logikbaustein 5 in Form eines FPGA als eigenständige weitere funktionale Einheit gebildet. Dieser generiert die Adressen für den Bilddatengeber 3 und erzeugt zusätzlich Synchronisationssignale in horizontaler (HSYNC) und vertikaler Bildrichtung (VSYNC). Außerdem gibt er das Taktsignal (Pixel Clock) aus. Alle diese Signale können in einer nicht weiter dargestellten Weiterverarbeitungseinheit für die Komponten des optischen Flüssen benötigt werden. Der Bilddatengeber 3 liefert die Eingangswerte für eine Bilddatenverarbeitungseinheit 6 als weiterer funktionaler Einheit. Diese Eingangswerte bestehen im Ausführungsbeispiel aus einem seriellen Strom der Grauwerte der Bildpunkte und sind 8-bit (1 Byte) breit, was den Grauwerten von 0 bis 255 entspricht. Der Datenstrom wird von dem Taktsignal getrieben und von einem Synchronisationssignal (FrameSync), das den Beginn eines neuen Bildes markiert, gesteuert. Die Bilddatenverarbeitungseinheit 6 liest diese Daten und berechnet daraus den optischen Fluss. Das Ergebnis ist ein zweidimensionales Feld der Bewegungsvektoren, das in einem Ergebnispeicher zwischengespeichert oder direkt von externen Bildweiterverarbeitungseinrichtungen weiteraufbereitet werden kann. Die Vektoren stellen die x- und y-Komponenten, die ebenfalls als 8-bit-Wert dargestellt werden, des Geschwindigkeitsfeldes dar und korrespondieren jeder zu einem Bildpunkt. Die Einheit der Geschwindigkeit ist Weg/Zeit. Die Zeiteinheit ergibt sich aus der Bildfrequenz. Der optische Fluss wird in Bildpunkten/Bild (pixel/frame) gemessen und bei der Erfindung in Form von 8-bit-Werten kodiert. Der Wert 127 entspricht 0 pixel/frame. Es können Geschwindigkeiten zwischen -4 und +4 pixel/frame dargestellt werden. Die kleinste darstellbare Geschwindigkeit entspricht ungefähr 0,016 pixel/frame.
Die Bilddatenverarbeitungseinheit 6 weist einen anwenderspezifischen CMOS- Logikbaustein 7 (ASIC - Application Specific Integrated Circuit) und einen externen Arbeitsspeicher 8 auf. Dieser wird von drei identischen Speicherelementen 9,10,11 in Form von wahlfrei über zwei Parallelports zugänglichen Speicherelementen mit statischer, d.h. andauernder Spannungsversorgung (Dual Ported SRAM, handelsüblich erhältlich) gebildet, die jeweils Daten entsprechend der Größe eines Bildes speichern können. Die Adressen für die Speicherelemente 9,10,11 , die hier als Schieberegister mit einer Speicherkapazität für ein komplettes Bild betrieben werden, sowie alle auftretenden Steuersignale, die vom Taktsignal und vom Bild-Start-Signal ausgehen, werden von einer funktionalen Kontrolleinheit 12 erzeugt, die ebenfalls im Logikbaustein 7 implementiert ist. In Figur 2 ist die Bilddatenverarbeitungseinheit 6 in einem Blockschema strukturell näher dargestellt. Aufgrund des kontinuierlichen Bilddatenflusses bildet eine Verarbeitungs-Pipeline die ideale Hardware-Architektur hierfür. Der Datenpfad ist in mehrere funktionale Blöcke unterteilt : Vorverarbeitungslogik 13, Block zur Ableitungsbildung 17, Block zur Berechnung des optischen Flusses 21 und Block zur lokalen Mittelwertbildung der optischen Flusskomponenten 22, die den iterativen Datenrückführungspfad darstellt. Dabei werden die Blöcke 17, 21 und 22 in der Berechungslogik 14 zusammengefasst. Die Pipelinelänge (Latenz) im gewählten Ausführungsbeispiel für die gesamte Bilddatenverarbeitungseinheit 6 bezieht sich auf vier Bildzeilen und 13 Pixels.
Die sequentiell Bildpunkt für Bildpunkt in die Bilddatenverarbeitungseinheit 6 eingelesenen Bilddaten werden zunächst in der Vorverarbeitungsiogik 13 geglättet, um den Signal-Rausch-Abstand zu vergrößern. Dazu weist diese eine Speichereinheit in Form eines ersten Schieberegisters 15 und eine erste arithmetische Einheit 16 zur gewichteten Mittelwertbildung für die Glättung auf. Eine derartige Implementierung ist beispielsweise bekannt aus „Synthesis of a Convolver, a Generic Module for the Codesign of Reconfigurable Pipelined Accelerators" (B. Bosi et al., Workshop on Filed-Programmable Devices, Montreal, May 1995, pp.44.48). Die erste arithmetische Einheit 16 berechnet für einen Bildpunkt aus dem Wert für den zentralen Pixel und den Werten der benachbarten Pixel den Grauwert für ein geglättetes Bild. Dazu wird der Wert des mittleren Pixels mit vier multipliziert, zu den Werten der Nachbarpixel addiert und das Ergebnis anschließend mittels Division durch acht normalisiert. Multiplikation und Division werden durch Schiebeoperationen implementiert. Durch das Vorschalten des ersten Schieberegisters 15 mit einer minimalen Speicherkapazität für zwei Bildzeilen wird die Glättungsoperation in die Pipeline-Struktur eingefügt, da diese aufgrund des erforderlichen parallelen Zugriffs auf mehrere Bilddatenwerte für eine Pipelinestruktur nicht sehr geeignet ist. Das parallele Einlesen der Daten zweier Bildzeilen mit einem Schiebe- register wird in Figur 3 und der Aufbau eines in einen CMOS- Standardzellenprozess integrierten Schieberegisters in Figur 4 näher erläutert.
Der Block zur Ableitungsbildung 17 zur Berechnung der örtlichen (lx,ly) und der zeitlichen (lt) Ableitungen ist ähnlich wie die Vorverarbeitungslogik 13 aufgebaut. Er besteht aus einem Schieberegister 18 und einer weiteren arithmetischen Einheit 19. Ix ist die Differenz des rechten und des linken Intensitätswertes bezüglichen des mittleren Bildpunktes, ly ist die Differenz des oberen und des unteren Wertes. It ist die Differenz zum Wert des entsprechenden Bildpunktes im vorherigen Bild. Alle Ableitungen werden parallel berechnet. Um die zeitliche Differenz zu bilden, müssen die Bilddaten eines kompletten geglätteten Bildes zwischengespeichert werden. Daher wird ein erster externer DualPorted SRAM 20 eingesetzt. Dadurch ist es möglich, während eines Pixeltaktes einen Schreib- und einen Lesezugriff durchzuführen. Auch hier wird der Speicher als Schieberegister betrieben. Die Größe des Speichers entspricht hier allerdings der des gesamten Bildes. Die in Figur 2 nicht weiter dargestellte Kontrolleinheit 12 (vgl. Figur 1 ) generiert zyklisch die Adressen und die Steuersignale für den Speicher 20. Der Block zur Berechnung des optischen Flusses 21 wird in Figur 5 näher beschrieben.
Der Block zur lokalen Mittelwertbildung der optischen Flusskomponenten 22 wird in einer Datenrückführung realisiert. Er weist zwei parallele Pfade für die beiden Flusskomponenten u und v auf, in denen ein drittes und viertes Schieberegister 23,24, eine dritte und vierte arithmetische Einheit 25,26 und ein zweiter und dritter externer DualPorted SRAM 27,28 mit der Speicherkapazität für ein komplettes Bild angeordnet sind. Die x- und y-Komponente des optischen Flusses werden parallel verarbeitet. Die Mittelwertbildung entsteht, ähnlich wie in der Vorverarbeitungslogik 13, aus der Summation der Intensitätswerte der vier, einem zentralen Pixel benachbarten Pixel und der anschließenden Division durch vier. Da die Werte erst wieder in die Berechnung der Werte des nächsten Bildes n+1 eingehen, werden die Daten in den Speichern 27,28 zwischenge- speichert. Die Adressen und die Kontrollsignale werden wiederum von der hier nicht dargestellten Kontrolleinheit 12 (vgl. Fig.1 ) erzeugt.
In Figur 3 ist schematisch dargestellt, wie durch das Einlesen von zwei Bildzeilen in ein Schieberegister der gleichzeitige Zugriff auf den Wert eines zentralen Pixels und auf die Werte der umliegend benachbarten Pixel ermöglicht wird. Dadurch können diese Werte parallel für Mittelwert- und Differenzbildungen genutzt werden.
Die Figur 4 zeigt die Implementierung eines Schieberegisters in einen CMOS- Standardzellenprozess. Wegen des großen Flächenbedarfs kann nicht das gesamte Schieberegister aus Standardzellen aufgebaut werden. Deshalb sind zwei RAMs implementiert, die besonders kompakt generiert werden können und deren Adressen sich durch einen gemeinsamen Zähler zyklisch durchzählen lassen. Zwei RAMs werden benötigt, da der parallele Zugriff auf den zentralen Bildpunkt und den rechten sowie linken Nachbarn möglich sein muss. Die Steuersignale für die RAMs haben den entsprechend angepassten, allgemein bekannten zeitlichen Verlauf. Die Schieberegister 15, 18, 23, 24 können baulich mit den jeweils zugehörigen arithmetischen Recheneinheiten 16, 19, 25, 26 zu einem funktionalen Block des Logikbausteins 7 (ASIC, vgl. Fig. 1 ) vereinigt sein.
Den Kern der Berechnungslogik 14 bildet der Block zur Berechnung des optischen Flusses 21, in dem die Komponenten des optischen Flusses im Bild n+1 aus denen des vorangegangenen Bildes n und den örtlichen und zeitlichen Ableitungen der Bildintensität in einer einfachen Iteration mit dem weiter oben beschriebenem Algorithmus parallel berechnet werden. Die Berechnung kann jedoch nicht während eines einzigen Pixelttaktes erfolgen. Das richtige Verhältnis zwischen der Berechnungsgeschwindigkeit und der Chipgröße ergibt sich aus der geeigneten Wahl der Anzahl der erforderlichen Pipelinestufen. Werden Divisionsoperationen als wiederholte Subtraktions- und Vergleichsoperationen ausgeführt, benötigt man im Ausführungsbeispiel acht von insgesamt elf Pipelineschritten zu ihrer Durchführung.
In Figur 5 ist die Pipeline-Struktur des Blocks zur Berechnung des optischen Flusses 21 schematisch dargestellt. Aus den örtlichen und zeitlichen Ableitungen lx, ly und l sowie den Mittelwerten der Komponenten des optischen Flusses «(/-•), v(tι) aus der Rückkopplung werden die neuen Komponenten u(n+1), v(n+1) nach der oben beschriebenen Gleichung (3) berechnet. Diese wird im Block 21 implementiert. In der Pipelinestufe 1 werden die Größen MY und NY für Divisor und Dividend in der Gleichung berechnet. In Pipelinestufe 2 werden diese dann durch Schiebeoperationen auf die Division vorbereitet. In den Pipelinestufen 3..10 wird die Division durch wiederholte Vergleichs- und Subtraktionsvorgänge durchgeführt. Werte, die aktuell zu keiner Berechnung benötigt werden, werden in Schieberegister (...-PIPE) eingelesen und zur letzten Pipelinestufe 11 durchgeschoben, in der die Berechnung der Flusskomponenten erfolgt.
Das Ausgangssignal der Bilddatenberechnungseinheit kann direkt über kommerziell zur Verfügung stehende DSP-Module weiterverarbeitenden Bildverarbeitungseinheiten zugeführt werden. Auf zwei Dimensionen bezogene Modelle erster Ordnung können auf den gemessenen optischen Fluss angewendet werden. Weiterhin können aus der zweidimensionalen Projektion der räumlichen Bewegung passende Parameter segmentierter bewegter Objekte und Oberflächeneigenschaften, wie die Raumorientierung und die Zeit bis zum Zusammenstoß, gewonnen werden. Weitere Einzelheiten zu Chipdesignmethode, Implementation und Auslegungsdaten für einen realen Ausführungsfall in einer Anwendung einer navigierbaren Roboterplattform können dem nicht vorveröffentlichten Aufsatz „A Real-Time Smart Sensor System for Visual Motion Estimation" von Th. Röwekamp et al. entnommen werden. Dieser ist für eine Veröffentlichung auf der Konferenz „European Design and Test Conference '97" vom 17. bis 20. März 1997 in Paris und in den Proceedings (Topic 4 - Digital ASIC and ASIP Design) dazu vorgesehen. Dabei wird der Begriff „Smart Sensor System" für Sensorsysteme verwendet, die ein sensorisches Element, beispielsweise einen Bilddatengeber, und Verarbeitungselemente miteinander verbinden. Bezugszeichenliste
I Sensorsystem 2 Bilddatengebereinheit
3 Bilddatengeber
4 Anpassungsbereich
5 Logikbaustein
6 Bilddatenverarbeitungseinheit 7 anwenderspezifischer Logikbaustein
8 externer Arbeitsspeicher
9 erstes Speicherelement
10 zweites Speicherelement
I I drittes Speichereiement 12 Kontrolleinheit
13 Vorverarbeitungslogik
14 Berechnungslogik
15 erstes Schieberegister
16 erste arithmetische Einheit 17 Block zur Ableitungsbildung
18 zweites Schieberegister
19 zweite arithmetische Einheit
20 erster externer DualPorted SRAM
21 Block zur Berechnung des optischen Flusses 22 Block zur lokalen Mittelwertbildung der optischen Flusskomponenten
23 drittes Schieberegister
24 viertes Schieberegister
25 dritte arithmetische Einheit
26 vierte arithmetische Einheit 27 zweiter externer DualPorted SRAM
28 dritter externer DualPorted SRAM

Claims

Patentansprüche
1. Kompaktes Sensorsystem zur optischen Bewegungserkennung durch Echtzeit-Berechnung der x- und y-Komponenten des optischen Flusses aus einer Bildfolge nach einem vorgegebenen Algorithmus
• mit einer auf einer zweidimensionalen Photodiodenmatrix basierenden
Bilddatengebereinheit mit einem Anpassungsbereich und einer zumindest abschnittsweise sequentiellen Bilddatenausgabe und • mit einer auf einem anwenderspezifischen CMOS-Logikbaustein basierenden hochratigen Bilddatenverarbeitungseinheit mit einer Vorverarbeitungs- und einer Berechnungslogik sowie einem externen, wahlfrei über zwei
Parallelports zugänglichen Arbeitsspeicher und einer Kontrolleinheit, dadurch gekennzeichnet, dass in der Bilddatenverarbeitungseinheit (6) die Umsetzung einer kontinuierlichen iterativen Berechnung der x- und y-Komponenten des optischen Flusses nach dem Gradienten-Algorithmus von Hörn und Schunck ausschließlich durch eine digitale Hardware-Architektur des anwenderspezifischen CMOS-Logikbausteins
(7) in Form einer konsequenten Pipeline-Struktur mit einer einfachen Datenrückführung (22) realisiert ist, in die die Vorverarbeitungslogik (13) mit einer ersten arithmetischen Recheneinheit (16) durch das Vorschalten von einem ersten Schieberegister (15) und die Berechnungslogik (14) mit drei weiteren arithmetischen Recheneinheiten (19, 25, 26) durch das Vorschalten von drei weiteren Schieberegistern (18, 23, 24) und mit einem mehrere Pipelinestufen aufweisenden Block zur Berechnung des optischen Flusses (21 ) integriert sind, und dass der externe Arbeitsspeicher (8) aus drei identischen
Speicherelementen (9,10,11 ; 20,27,28) aufgebaut ist, die jeweils einer der drei weiteren arithmetischen Einheiten (19, 25, 26) zugeordnet sind.
2. Kompaktes Sensorsystem nach Anspruch 1 , dadurch gekennzeichnet, dass die zweidimensionaie Photodiodenmatrix von einem standardisierten Bilddatengeber (3) mit einer vollständig sequentiellen Datenausgabe gebildet ist.
3. Kompaktes Sensorsystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Anpassungsbereich (4) von einem externen, freiprogrammierbaren Logikbaustein (5) gebildet ist.
4. Kompaktes Sensorsystem nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Schieberegister (15, 18, 23, 24) jeweils aus zwei Speicherelementen mit wahlfreiem Zugang und einem gemeinsamen Adressenzähler bestehen.
5. Kompaktes Sensorsystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Kontrolleinheit (12) im anwenderspezifischen Logikbaustein (7) implementiert ist.
Hierzu 4 Blatt Figuren
PCT/DE1998/000413 1997-03-15 1998-02-11 Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit WO1998041950A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE59801214T DE59801214D1 (de) 1997-03-15 1998-02-11 Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit
EP98907892A EP0966727B1 (de) 1997-03-15 1998-02-11 Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19712017.2 1997-03-15
DE19712017A DE19712017A1 (de) 1997-03-15 1997-03-15 Kompaktes Sensorsystem zur optischen Bewegungserkennung in Echtzeit

Publications (1)

Publication Number Publication Date
WO1998041950A1 true WO1998041950A1 (de) 1998-09-24

Family

ID=7824254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1998/000413 WO1998041950A1 (de) 1997-03-15 1998-02-11 Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit

Country Status (3)

Country Link
EP (1) EP0966727B1 (de)
DE (2) DE19712017A1 (de)
WO (1) WO1998041950A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT414056B (de) * 2001-03-13 2006-08-15 Siemens Ag Oesterreich Verfahren zur überwachung einer lifttrasse und ihrer umgebung
ES2233202B1 (es) * 2003-11-24 2006-10-16 Universidad De Granada Dispositivo para la estimacion de flujo optico en imagenes mediante fpgas.
ATE450019T1 (de) 2006-03-23 2009-12-15 Nds Ltd System zur analyse von bewegung
DE102007049706A1 (de) * 2007-10-17 2009-04-23 Robert Bosch Gmbh Verfahren zur Schätzung der Relativbewegung von Video-Objekten und Fahrerassistenzsystem für Kraftfahrzeuge
DE102008052930B4 (de) * 2008-10-23 2011-04-07 Leuze Electronic Gmbh & Co Kg Bildverarbeitender Sensor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0596409A2 (de) * 1992-11-02 1994-05-11 Matsushita Electric Industrial Co., Ltd. Bewegungsvektornachweisgerät

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0596409A2 (de) * 1992-11-02 1994-05-11 Matsushita Electric Industrial Co., Ltd. Bewegungsvektornachweisgerät

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WHITTEN G: "INDEPENDENT MOTION TARGET CUEING FOR MOVING SENSOR SYSTEMS", APPLICATIONS OF ARTIFICIAL INTELLIGENCE, ORLANDO, APR. 4 - 6, 1988, no. CONF. 6, 4 April 1988 (1988-04-04), TRIVEDI M M, pages 336 - 341, XP000044467 *

Also Published As

Publication number Publication date
DE59801214D1 (de) 2001-09-20
DE19712017A1 (de) 1998-09-17
EP0966727B1 (de) 2001-08-16
EP0966727A1 (de) 1999-12-29

Similar Documents

Publication Publication Date Title
DE69430153T2 (de) Verfahren und Vorrichtung zur dreidimensionalen Bilderzeugung von Objekten
DE69728247T2 (de) Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem
DE69434657T2 (de) System und Verfahren zur elektronischen Bildstabilisierung
DE69427801T2 (de) Verfahren und Gerät zur Bestimmung von Bewegungsvektorfelden durch die Unterdrückung lokaler Abweichungen
DE69231812T2 (de) Verfahren zur bestimmung von fuehlerbewegung und szenenstruktur und bildverarbeitungssystem dafuer
DE69127809T2 (de) Verfahren um zwei bewegungen in hintereinanderfolgenden teilbildern mit drei teilbildern dynamisch zu analysieren
DE102008034979B4 (de) Verfahren und Einrichtung zur Erzeugung von fehlerreduzierten hochauflösenden und kontrastverbesserten Bildern
DE3688178T2 (de) Verfahren zur Bildextraktion eines sich bewegenden Objekts.
DE69413384T2 (de) Verfahren zum bestimmen der ungleichheit zwischen monoskopischen bildern, die ein stereoskopisches bild darstellen
DE69515287T2 (de) Verfahren zur erzeugung von synthesebild
CN113076685B (zh) 图像重建模型的训练方法、图像重建方法及其装置
EP2406769B1 (de) Verfahren und vorrichtung zur reduktion des speicherbedarfs bei der bestimmung von disparitätswerten für mindestens zwei stereoskopisch aufgenommene bilder
DE102005053733B4 (de) System zum Erfassen einer absoluten Position in zwei Dimensionen unter Verwendung eines Zielmusters
DE68918263T2 (de) Maskierbarer zweistufen korrelator.
DE102004007637A1 (de) Verfahren zum Erzeugen eines Bildes mit erhöhter Auflösung unter Verwendung einer Mehrzahl von Bildern mit niedriger Auflösung
DE102016208056A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Bilddaten und Fahrerassistenzsystem für ein Fahrzeug
CN108280831B (zh) 一种图像序列光流的获取方法及系统
DE112011103452T5 (de) Verfahren zum Angleichen von Pixeln einer Entfernungsdarstellung
DE10156040B4 (de) Verfahren, Vorrichtung und Computerprogramm-Produkt zum Entzerren einer eingescannten Abbildung
EP0918302B1 (de) Kohärenzdetektor
DE4326487C2 (de) Adaptives Filter
DE4437385A1 (de) Verfahren und Vorrichtung zur Bildkorrektur
EP0966727B1 (de) Kompaktes sensorsystem zur optischen bewegungserkennung in echtzeit
DE102004026782A1 (de) Verfahren und Vorrichtung zur rechnergestützten Bewegungsschätzung in mindestens zwei zeitlich aufeinander folgenden digitalen Bildern, computerlesbares Speichermedium und Computerprogramm-Element
DE102018125397A1 (de) Verfahren und Vorrichtung zur Bestimmung einer Umgebungskarte

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998907892

Country of ref document: EP

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWP Wipo information: published in national office

Ref document number: 1998907892

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1998540002

Format of ref document f/p: F

WWG Wipo information: grant in national office

Ref document number: 1998907892

Country of ref document: EP