-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Anzeigen
eines sich bewegenden Objekts, das ein Objekt, das sich im Sichtfeld
einer Überwachungskamera
usw. bewegt, von einem Bild extrahiert, das eine Aufnahmekamera
erzeugt, und es auf dem Anzeigegerät anzeigt, ein Anzeigesystem,
das nach dem Verfahren arbeitet, und ein Programmspeichermedium
hierfür.
-
Die Überwachung
von mit Aufnahmekameras erzeugten Videoaufnahmen erfolgt an verschiedenen
Plätzen
wie etwa Straßen,
Bahnübergängen, Dämmen und
Selbstbedienungsläden.
Ziel ist es, das Auftreten von Unfällen und Verbrechen durch Beobachtung
der Objekte zu verhindern, die an diesen bestimmten Plätzen auftauchen.
Verdächtig
aussehende Personen werden zum Beispiel in Selbstbedienungsläden überwacht,
und es wird überwacht,
ob Menschen in Bereiche wie Dämme
eindringen, deren Betreten absolut verboten ist. Es ist heute allgemein üblich, dass
diese Überwachung
in einer Weise ausgeführt
wird, dass eine Person sich die Videobilder in Echtzeit ansieht
oder dass die Videobilder auf einem Speichermedium wie etwa Videoband
aufgezeichnet und anschließend
kontrolliert werden, so dass die Überwachung eine zeitaufwändige Aktivität ist. Unter solchen
Umständen
ist die Automatisierung der Videoüberwachung mit einem Computer
erforderlich. Verschiedene Verfahren sind bereits vorgeschlagen
worden.
-
In
der Arbeit von Nakai et al. in „The Transactions of the Institute
of Electronics, Information und Communication", D-II, Vol. J77-D-II, Nr. 7, S. 1209-1218,
1994 (nachstehend als erstes Referenzdokument bezeichnet) wird ein
Verfahren zur automatischen Erfassung eines sich bewe genden Objekts
wie etwa eines Fußgängers usw.
aus einem Video unter Verwendung eines kontinuierlichen Verarbeitungsmoduls
mit drei Schritten wie Erfassen der Veränderung, Teilverfolgung und
Bewegungsinterpretation vorgeschlagen. Dort wird auch über einen Versuch
zum Extrahieren der Bewegungsrouten von Kunden in einem normalen
Geschäft
berichtet. In der Arbeit von Nakanishi et al. in „The Transactions
of the Institute of Electronics, Information und Communication", D-II, Vol. J77-D-II,
Nr. 9, S. 1716-1726, 1994 (nachstehend als zweites Referenzdokument
bezeichnet) wird ein Verfahren zum automatischen Extrahieren von
Fahrzeugen wie etwa Autos, die im Freien fahren, unter Verwendung
der Zeitschlitz-Bildverarbeitung vorgeschlagen. In der
japanischen Patent-Offenlegungsschrift 08-221577 bzw.
der ihr entsprechenden
US-Patentanmeldung
08/601951 durch den vorliegenden Erwerber wird ein Verfahren
zum Erfassen eines sich bewegenden Objekts im Freien vorgeschlagen,
bei dem ein Schlitz in einem Bild gesetzt, die Korrelation des aktuellen
Bilds mit dem zuvor gespeicherten Bild des Hintergrunds berechnet und
die Veränderung
in dem Bild erfasst wird, um dadurch ein sich bewegendes Objekt
zu erkennen. Auf dem Markt sind bereits Systeme erhältlich,
die sich bewegende Objekte im Freien überwachen können, zum Beispiel ein System
zum automatischen Erkennen der Kennzeichen von fahrenden Autos.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Bei
einem Überwachungssystem
nach dem Stand der Technik wird das von der Überwachungskamera erhaltene
Video entweder bei der Aufnahme auf der Überwachungskamera angezeigt
oder die von der Überwachungskamera
erhaltenen Bilder werden gesammelt und später kontrolliert, so dass die
erforderliche Zeit zur Überwachung
des Videos entweder der Aufnahmezeit des Videos entspricht oder
nur auf die Wiedergabezeit bei Wiedergabe mit schnellem Vorlauf
verkürzt
ist. Daher ist die Effizienz der Arbeit des Bedieners der Überwachungskamera nicht
verbessert worden.
-
Bei
dem Versuch von Nakai et al. werden die Bewegungsrouten von Kunden
in einem Geschäft extrahiert,
aber es wird nicht erläutert,
wie die extrahierten Routen mit den Bildern von Kunden in Verbindung
gebracht werden, die die extrahierten Routen passiert haben. Darüber hinaus
wird das Video vom Inneren des Geschäfts mit einem Videorecorder
aufgezeichnet, und das aufgezeichnete Video wird für dieses
Extrahieren verwendet. Daher kann dieses Extrahieren nicht in Echtzeit
erfolgen. Außerdem
sind nach dem von Nakanishi et al. verwendeten Verfahren die Zielobjekte
der Überwachung
auf Autos usw. beschränkt,
die sich mit konstanter Geschwindigkeit geradeaus bewegen. Bei dem
in der
japanischen Patent-Offenlegungsschrift
08-221577 bzw. der ihr entsprechenden
US-Patentanmeldung 08/601951 wird nur
die Bewegungscharakteristik verwendet, um ein sich bewegendes Objekt
zu erfassen. Daher besteht das Problem, dass schaukelnde Teile von
Bäumen ebenfalls
als Teil von sich bewegenden Objekten erfasst werden. Bei dem bereits
auf dem Markt erhältlichen
System muss eine Operation ausgeführt werden, um einen Bereich
mit einem Bild von Bäumen aus
dem Überwachungsbereich
auszuschließen,
um die Überwachung
im Freien korrekt durchzuführen. Daher
ist es nicht möglich,
sich bewegende Objekte automatisch in allen natürlichen Umgebungen zu überwachen.
Außerdem
erfordert das System bei jeder Änderung
der Überwachungsposition
eine komplexe Operation, um die Einstellung der Betriebsparameter
zu ändern.
Daher war es nötig
die Einstellung der Betriebsparameter im Voraus vorzunehmen, um
sich bewegende Objekte in einer natürlichen Umgebung mit Bäumen am
Straßenrand
und verschiedenen Bäumen
im Videobild korrekt zu erfassen.
-
In
EP-A-0 614 155 (Elta
Electronics Industries) vom 7. September 1994 (1994-09-07), dem
Dokument zum Stand der Technik, ist ein Videosystem zur Einbruchserkennung
beschrieben, bei dem die Route des Verdächtigen den erfassten Bildern überlagert
wird. Entsprechend den Alarmbedingungen in Zusammenhang mit einem
vom Anwender festgelegten Bereich, in dem vermutlich eine Bewegung
eines Eindringlings zu erwarten ist, wird ein Standbild der Szene
mit Zeitinformationen gespeichert. Für die Bewegungserkennung werden
auch mehrere Szenenzellen benutzt, und die zeitveränderliche
Pixelintensität
wird auf der Ebene der Szenenzellen erfasst.
-
Ein
Ziel der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens
zum Anzeigen sich bewegender Objekte, das die Arbeitslast für den Bediener
bei der Kontrolle der sich bewegenden Objekte in dem Video verringern
kann, und ein Anzeigesystem mit diesem Verfahren.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist die Bereitstellung
eines Verfahrens zum Anzeigen sich bewegender Objekte, das die vorstehend
erwähnte
Arbeitslast für
den Bediener in verschiedenen natürlichen Umgebungen verringern
kann, und ein System unter Verwendung desselben.
-
Um
diese Ziele zu erreichen, führen
das Verfahren zum Anzeigen eines sich bewegenden Objekts und das
Anzeigesystem nach der vorliegenden Erfindung die Schritte nach
Anspruch 1 aus.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein schematisches Blockdiagramm einer Ausführungsform des Anzeigesystems für ein sich
bewegendes Objekt nach der vorliegenden Erfindung.
-
2 zeigt
ein Diagramm mit einem Beispiel für eine Bildschirmanzeige auf
dem Anzeigegerät
in der Vorrichtung nach 1.
-
3 zeigt
ein Ablaufdiagramm des Programms zum Anzeigen eines sich bewegenden
Objekts, wie es in der Vorrichtung nach 1 ausgeführt wird.
-
4 zeigt
ein Diagramm mit einer Liste des Programms und der Daten, die in
der Vorrichtung nach 1 verwendet werden.
-
5 zeigt
ein Diagramm mit dem Format der Datenstruktur für das Bild eines sich bewegenden Objekts
mit einer Route, zusammen mit den in 2 gezeigten
Daten.
-
6 zeigt
ein Ablaufdiagramm eines Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
7 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
8 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
9 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
10 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
11 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bewegungscharakteristik-Extraktionsverarbeitung
(200) in dem Ablaufdiagramm in 3.
-
12 zeigt
ein Ablaufdiagramm eines Teils der Farbcharakteristik-Extraktionsverarbeitung
(300) in dem Ablaufdiagramm in 3.
-
13 zeigt
ein Ablaufdiagramm eines weiteren Teils der Farbcharakteristik-Extraktionsverarbeitung
(300) in dem Ablaufdiagramm in 3.
-
14 zeigt
ein Ablaufdiagramm eines weiteren Teils der Farbcharakteristik-Extraktionsverarbeitung
(300) in dem Ablaufdiagramm in 3.
-
15 zeigt
ein Ablaufdiagramm eines Teils der Bildänderungsbereich-Extraktionsverarbeitung (400)
in dem Ablaufdiagramm in 3.
-
16 zeigt
ein Ablaufdiagramm eines weiteren Teils der Bildänderungsbereich-Extraktionsverarbeitung
(400) in dem Ablaufdiagramm in 3.
-
17 zeigt
ein Ablaufdiagramm eines Teils der Routenextraktionsverarbeitung
(500) in dem Ablaufdiagramm in 3.
-
18 zeigt
ein Ablaufdiagramm eines weiteren Teils der Routenextraktionsverarbeitung
(500) in dem Ablaufdiagramm in 3.
-
19 zeigt
ein Ablaufdiagramm eines weiteren Teils der Routenextraktionsverarbeitung
(500) in dem Ablaufdiagramm in 3.
-
20 zeigt
ein Ablaufdiagramm eines Teils der Extraktionsverarbeitung für das Bild
des sich bewegenden Objekts (600) in dem Ablaufdiagramm
in 3.
-
21 zeigt
ein Ablaufdiagramm eines weiteren Teils der Extraktionsverarbeitung
für das
Bild des sich bewegenden Objekts (600) in dem Ablaufdiagramm
in 3.
-
22 zeigt
ein Ablaufdiagramm eines weiteren Teils der Extraktionsverarbeitung
für das
Bild des sich bewegenden Objekts (600) in dem Ablaufdiagramm
in 3.
-
23 zeigt
ein Ablaufdiagramm eines Teils der Verarbeitung zum Anzeigen des
Bilds eines sich bewegenden Objekts mit einer Route (700)
in dem Ablaufdiagramm in 3.
-
24 zeigt
ein Ablaufdiagramm eines weiteren Teils der Verarbeitung zum Anzeigen
des Bilds eines sich bewegenden Objekts mit einer Route (700)
in dem Ablaufdiagramm in 3.
-
BESCHREIBUNG EINER AUSFÜHRUNGSFORM
-
Das
Anzeigesystem für
ein sich bewegendes Objekt nach der vorliegenden Erfindung wird
ausführlich
unter Bezugnahme auf die Ausführungsform oder
ihre in den Zeichnungen gezeigten Modifikationen beschrieben.
-
(1) Aufbau der Vorrichtung
-
In 1 bezeichnet
das Bezugszeichen 1 ein Anzeigegerät wie etwa eine Elektronenstrahlbildröhre, auf
dem der Ausgabebildschirm des Computers 3 angezeigt wird.
Mit einem Zeigegerät 7 wie etwa
einer Maus usw. oder einer Tastatur 8 kann ein Befehl an
den Computer 3 übermittelt
werden. Die Kamera 9 ist ein Bildgebungsgerät. Das von
der Kamera 9 ausgegebene Videosignal wird von dem Videoeingabegerät 11 fortlaufend
in digitale Bilddaten 12 umgewandelt, die der Computer 3 verarbeiten
kann, und die Bilddaten werden an den Computer 3 gesendet.
Die digitalen Bilddaten 12 werden über die Schnittstelle 6 im
Speicher 5 des Computers gespeichert und von der CPU 4 entsprechend
einem im Speicher 5 enthaltenen Programm verarbeitet. Außerdem kann
der externe Speicher 13 verschiedene Informationen speichern,
die für
die Verarbeitung nötig
sind. Verschiedene Daten oder Bilddaten, die durch die Verarbeitung
erhalten werden, werden im externen Speicher 13 gespeichert.
Darüber
hinaus ist es möglich,
die Kamera 9 mit dem Steuersignal 10 vom Computer
zu steuern. Verschiedene Daten, die durch die nachstehend beschriebene
Verarbeitung erzeugt werden, werden im Speicher 5 gespeichert und
nach Bedarf aufgerufen.
-
2 zeigt
ein Beispiel für
die Bildschirmanzeige auf dem Anzeigegerät 1. Der Bereich 50 ist
ein Anzeigebereich für
die eingegebenen digitalen Bilddaten 12. Das von der Kamera 9 gelieferte
Bewegtbildsignal wird angezeigt, während das System in Betrieb
ist. Der Bereich 60 ist ein Bereich, in dem die Tasten/Schaltflächen zur
Steuerung des vorliegenden Systems und dessen Betriebszustand angezeigt werden.
Die Starttaste 61 im Bereich 60 dient zum Starten
der Ausführung
der Verarbeitung zum Anzeigen des Bilds eines sich bewegenden Objekts
mit einer Route. Diese Taste/Schaltfläche wird betätigt, indem
der Bediener den Cursor 80 mit Hilfe des Zeigegeräts 7 darauf
bringt und sie anklickt. Die Stopptaste 62 dient zum Stoppen
der Ausführung
der Verarbeitung. Das Bezugszeichen 63 gibt die Gesamtzahl
der Bilder des sich bewegenden Objekts mit einer Route an, die seit
dem Start der Ausführung
bisher extrahiert worden sind. Das Bezugszeichen 64 gibt
die Startzeit der Ausfüh rung
der Anzeigeverarbeitung an. Der Bereich 70 ist ein Anzeigebereich
für Bilder des
sich bewegenden Objekts mit einer Route. Im Folgenden wird angenommen,
dass die Kamera 9 im Freien angeordnet ist, wo Durchgänge wie
etwa Straßen
oder Treppen usw. vorgesehen sind, die außerhalb des Gebäudes angeordnet
sind. Eine Person wird als ein sich bewegenden Objekt angenommen. Es
wird angenommen, dass mehrere sich bewegende Objekte zu verschiedenen
Zeiten in das Sichtfeld der Kamera eintreten können, dass aber im Sichtfeld jeweils
nur ein sich bewegendes Objekt existiert. Das heißt, es wird
angenommen, dass, nachdem ein sich bewegendes Objekt in das Sichtfeld
eintritt, ein weiteres sich bewegendes Objekt in das Sichtfeld eintritt, nachdem
das eine sich bewegende Objekt aus dem Sichtfeld austritt.
-
In
dem vorliegenden System wird, wenn ein sich bewegenden Objekt in
das Sichtfeld des Überwachungsbereichs
eintritt, seine Bewegungsroute automatisch extrahiert. Dieses Extrahieren
wird fortgesetzt, bis das sich bewegende Objekt aus dem Sichtfeld
austritt. Folglich wird die Bewegungsroute wiederholt aktualisiert.
Bilddaten werden erzeugt, die die extrahierte Bewegungsroute darstellen,
so dass die Bewegungsroute in einer durchscheinenden Farbe in überlappender
Weise mit einem Bild angezeigt wird, das das sich bewegende Objekt
darstellt. Wenn das sich bewegende Objekt einen vorbestimmten Bereich
durchläuft,
zum Beispiel einen Raum, der einem schmalen Bereich zur vertikalen
Richtung in der Mitte des Bildschirms 50 entspricht, werden
die digitalen Bilddaten 12 an diesem Zeitpunkt auf eine
geeignete Größe reduziert,
zum Beispiel die Hälfte,
und als das Bild des sich bewegenden Objekts gespeichert, und die
Zeit, wann das sich bewegende Objekt den vorbestimmten Bereich durchlaufen
hat, wird als die Extraktionszeit für das Bild des sich bewegenden Objekts
gespeichert. Wenn das sich bewegende Objekt später aus dem Sichtfeld austritt,
wird das Bild eines sich bewegenden Objekts mit einer Route erzeugt,
das eine Überlappung
des Bilds des sich bewegenden Objekts und der Route des sich bewegenden
Objekts enthält,
und in diesem Bereich 70 zusammen mit der vorstehend genannten
Bildextraktionszeit für
das sich bewegende Objekt angezeigt.
-
Wenn
später
ein nachfolgendes sich bewegendes Objekt in das Sichtfeld eintritt,
wird dieselbe Verarbeitung automatisch für das nachfolgende sich bewegende
Objekt wiederholt. Das Bild des sich bewegenden Objekts mit einer
extrahierten Route zu dem nachfolgenden sich bewegenden Objekt wird neben
dem Bild des sich bewegenden Objekts mit einer zuvor angezeigten
Route angezeigt. Daher werden mehrere Bilder des sich bewegenden
Objekts mit einer Route für
mehrere sich bewegende Objekte, die nacheinander in das Sichtfeld
eintreten, automatisch als eine Liste angezeigt. Daher kann der
Bediener die sich bewegenden Objekte sehr leicht überwachen. Der
Bereich 70 rollt automatisch nach oben, wenn die Anzahl
der extrahierten Bilder des sich bewegenden Objekts mit einer Route
die Anzahl der Bilder überschreitet,
die im Bereich 70 angezeigt werden können. Daher werden die neuesten
Bilder des sich bewegenden Objekts mit einer Route immer an der obersten
Position angezeigt. Wenn der Bediener alle Bilder des sich bewegenden
Objekts mit einer Route kontrollieren muss, braucht er nur die Rollschaltflächen 71 und 73 und
den Rollbalken 72 zu betätigen.
-
(2) Beschreibung der Verarbeitung
-
3 zeigt
ein Ablaufdiagramm des Programms zum Anzeigen von Bildern des sich
bewegenden Objekts mit einer Route, wie es im vorliegenden System
ausgeführt
wird. In 3 initialisiert der Verarbeitungsschritt 90 die
Variablen, mit denen das Programm arbeitet. Der Einzelbildeingabe-Verarbeitungsschritt 100 nimmt
die digitalen Bilddaten 12 für einen Frame (Einzelbild),
die vom Videoeingabegerät 11 zugeführt werden,
in den Speicher 5. Der Verarbeitungsschritt 100 und
die folgenden Verarbeitungsschritte 200 bis 700 werden
für jeden
Frame wiederholt.
-
Die
Bewegungscharakteristik-Extraktionsverarbeitung 200 erfasst
als Bewegungscharakteristik für
jeden segmentierten Bereich, ob mindestens ein Teil eines sich bewegenden
Objekts in jedem segmentierten Bereich existiert, und extrahiert
mehrere segmentierte Bereiche, in denen mindestens ein Teil des
sich bewegenden Objekts existiert, als Bewegungscharakteristikbereiche.
Im Einzelnen extrahiert diese Verarbeitung 200 mehrere
zeitveränderliche Kanten
an Positionen, die sich von ihren Positionen in einem vorherigen
Frame unterscheiden. Der Bildschirm ist in mehrere segmentierte
Bereiche unterteilt, und die Gesamtzahl der zeitveränderlichen
Kantenpixel, die die zeitveränderlichen
Kanten darstellen, wird für
jeden segmentierten Bereich gezählt.
Es wird beurteilt, ob jeder segmentierte Bereich zeitveränderliche
Kantenpixel mit einer Anzahl aufweist, die eine vorbestimmte Anzahl
in einem der vorherigen Frames und dem aktuellen Frame übersteigt.
Wenn ein segmentierter Bereich die Beurteilungsbedingung erfüllt, wird
der segmentierte Bereich als Bewegungscharakteristikbereich extrahiert.
Jeder Bewegungscharakteristikbereich ist ein segmentierter Bereich,
in dem mindestens ein Teil des sich bewegenden Objekts existiert.
-
Die
Farbcharakteristik-Extraktionsverarbeitung 300 wird ausgeführt, um
die Farbcharakteristik für
jeden segmentierten Bereich zu extrahieren. Im Einzelnen berechnet
sie ein Histogramm für
die Farben der Pixel in dem segmentierten Bereich und extrahiert
die Farbe, deren Häufigkeit
im jeweiligen segmentierten Bereich die höchste ist, als repräsentative Farbe
für den
segmentierten Bereich. Die repräsentative
Farbe für
jeden segmentierten Bereich wird bei der vorliegenden Ausführungsform
als die Farbcharakteristik des segmentierten Bereichs verwendet.
-
Die
Bildänderungsbereich-Extraktionsverarbeitung 400 extrahiert
mehrere segmentierte Bereiche, für
die angenommnen wird, dass sie ein sich bewegenden Objekt enthalten,
aus den von der Verarbeitung 200 extrahierten Bewegungscha rakteristikbereichen
und der von der Verarbeitung 300 extrahierten Farbcharakteristik
für jeden
der Bewegungscharakteristikbereiche. Diese segmentierten Bereiche,
von denen angenommen wird, dass sie ein sich bewegenden Objekt enthalten,
werden als Bildänderungsbereiche
bezeichnet.
-
Die
Routenextraktionsverarbeitung 500 extrahiert einen segmentierten
Bereich, der sich in der Mitte der von der Verarbeitung 400 extrahierten
Bildänderungsbereiche
befindet, als einen Durchgangspunkt des sich bewegenden Objekts
und erzeugt Bilddaten, um den extrahierten segmentierten Bereich
in einer durchscheinenden Farbe darzustellen. Die Verarbeitung 500 wird
für unterschiedliche
Frames wiederholt, wodurch weitere Durchgangspunkte desselben sich
bewegenden Objekts extrahiert werden, und Bilddaten werden erzeugt,
wie weiter unten erläutert,
um die segmentierten Bereiche, zu denen die Durchgangspunkte gehören, in
einer durchscheinenden Farbe in überlappender
Weise mit dem Bild des sich bewegenden Objekts anzuzeigen. Die für diese
Durchgangspunkte erzeugten Bilddaten bilden die zum Anzeigen der
Bewegungsroute verwendeten Routenbilddaten.
-
Die
Extraktionsverarbeitung für
das Bild des sich bewegenden Objekts 600 extrahiert ein
Bild des sich bewegenden Objekts, wenn mindestens ein Teil des sich
bewegenden Objekts einen vorbestimmten Bereich im Sichtfeld durchläuft, das
heißt
wenn es einen vorbestimmten Bereich auf dem Bildschirm 50 durchläuft. Im
Einzelnen ist der vorbestimmte Bereich im Sichtfeld ein schmaler
Bereich im mittleren Teil des Sichtfelds der Kamera 9.
Der entsprechende vorbestimmte Bereich auf dem Bildschirm 50 ist
ein schmaler Schlitzbereich in der Mitte des Bildschirms 50.
Das Detektieren der Zeit, wann das sich bewegende Objekt den Raumbereich
durchlaufen hat, erfolgt durch Detektieren der Zeit, an der sich
mindestens ein Teil der mehreren von der Verarbeitung 400 extrahierten
Bildänderungsbereiche
in dem Schlitzbereich befindet. Bei der Verarbeitung 600 wird
das Bild, das durch Reduzieren des von der Kamera 9 an diesem
detektierten Zeitpunkt gelieferten Einzelbilds zum Beispiel auf
die Hälfte
erhalten wird, erzeugt und als das Bild des sich bewegenden Objekts
gespeichert. Daher enthalten die so erzeugten Bilder der sich bewegenden
Objekte die sich bewegenden Objekte in dem vorbestimmten Bereich
auf dem Bildschirm unabhängig
von ihren Bewegungsrouten, so dass diese Bilder ohne weiteres zu
sehen sind.
-
Die
Verarbeitung 700 zum Anzeigen des Bilds eines sich bewegenden
Objekts mit einer Route synthetisiert das Bild des sich bewegenden
Objekts und das bereits erzeugte Routenbild, wenn das sich bewegende
Objekt aus dem Sichtfeld der Kamera 9 austritt, und zeigt
es in dem Bereich 70 des Anzeigegeräts 1 als das Bild
des sich bewegenden Objekts mit einer Route und mit zugehörigen Daten
an, zum Beispiel der Extraktionszeit für das Bild des sich bewegenden
Objekts. Wenn ein weiteres Bild des sich bewegenden Objekts mit
einer Route für
ein weiteres sich bewegendes Objekt, das anschließend in
dieses Sichtfeld eingetreten ist, in dem Bereich 70 des
Anzeigegeräts 1 angezeigt
wird, wird das weitere Bild des sich bewegenden Objekts mit einer
Route neben dem bereits angezeigten Bild des sich bewegenden Objekts
mit einer Route angezeigt.
-
Beim
Extrahieren der Bildänderungsbereiche
mit der Verarbeitung 400 werden die für jeden segmentierten Bereich
ermittelte Bewegungscharakteristik und Farbcharakteristik verwendet,
damit kein segmentierter Bereich als Bildänderungsbereich extrahiert
wird, der ein sich bewegendes Objekt wie etwa schaukelnde Blätter enthält.
-
Darüber hinaus
werden beim Extrahieren der Bildänderungsbereiche
die Durchgangspunkte der bereits ermittelten Route für dasselbe
sich bewegende Objekt berücksichtigt,
zusätzlich
zu der für
jeden segmentierten Bereich ermittelten Bewegungscharakteristik
und Farbcharakteristik, und ein segmentierter Bereich, wo eine Person
zu stehen scheint, wird als Bildänderungsbereich
extrahiert.
-
Zusätzlich werden,
wenn bei der Verarbeitung 500 ein bestimmter segmentierter
Bereich als Durchgangspunkt für
ein sich bewegendes Objekt über
mehrere Frames ermittelt wird, die Routenbilddaten, die die durchscheinende
Farbe des betreffenden segmentierten Bereichs abdunkeln, hierfür erzeugt.
Daher kann ein Zeitfaktor für
die Bewegung des sich bewegenden Objekts, einschließlich dessen,
ob es an derselben Position geblieben ist, aus dem Routenbild bekannt
sein.
-
Außerdem sind
die Bilder des sich bewegenden Objekts mit einer Route reduzierte
Bilder, und Paare aus dem Bild eines sich bewegenden Objekts mit
einer Route und der Extraktionszeit werden als Standbilder in Form
einer Liste angezeigt. Auf diese Weise wird das Suchen eines Bilds
eines sich bewegenden Objekts erleichtert.
-
(3) Daten
-
4 zeigt
eine Liste des Programms und der Daten, die im Speicher 5 gespeichert
sind. In dem Diagramm ist das Programm 5-1 das Programm
zum Anzeigen der Bilder des sich bewegenden Objekts mit einer Route,
dessen Ablaufdiagramm in 3 gezeigt ist. Die Bezugszeichen 5-2 bis 5-23 bezeichnen
Daten, die das Programm 5-1 erzeugt oder auf die es zugreift.
Dabei sind 5-2 Daten, die das Programm 5-1 erzeugt, 5-3 und 5-4 sind
Parameter, die im Voraus eingestellt werden, und 5-5 bis 5-23 sind Arbeitsdaten,
die das Programm 5-1 bei der Verarbeitung des Bilds für einen
Frame bzw. ein Einzelbild verwendet.
-
Die
Datenstruktur 5-2 für
das Bild eines sich bewegenden Objekts mit einer Route enthält ein extrahiertes
Bild des sich bewegenden Objekts mit einer Route und zugehörigen Daten
wie der Zeit. 5 zeigt die Details. Der erste
Schwellenwert 5-3 wird verwendet, wenn starke Kantenpixel
eines Bilds extrahiert werden. Der zweite Schwellenwert 5-4 dient zum
Detektieren von Bewegungscharakteristikbereichen.
-
Zuerst
werden die von der Einzelbildeingabeverarbeitung 100 erzeugten
Daten erläutert.
Die Frame-Bilddaten 5-5 sind digitale Bilddaten für den letzten
vom Videoeingabegerät 11 gelieferten
Frame. Sie umfassen drei Arraydaten, die entsprechend den drei Farbkomponentendaten
als rote Bilddaten 5-5-1, grüne Bilddaten 5-5-2 und
blaue Bilddaten 5-5-3 bezeichnet werden. Die Farbdaten
enthalten jeweils acht Datenbits, die eine Farbkomponente für jedes Pixel
angeben, und jede Farbkomponente hat einen Wert von 0 bis 255. Es
wird angenommen, dass ein Frame-Bild bei der vorliegenden Ausführungsform 160
Pixel in horizontaler Richtung (X-Richtung) und 120 Pixel in vertikaler
Richtung (Y-Richtung) aufweist. Weiter wird angenommen, dass ein
Frame-Bild in segmentierte Bereiche unterteilt ist, so dass zum Beispiel
16 segmentierte Bereiche in horizontaler Richtung und 12 segmentierte
Bereiche in vertikaler Richtung angeordnet sind. Die segmentierten
Bereiche umfassen jeweils 10×10
Pixel. Im Einzelnen zeigen die roten Bilddaten [160] [120] in der
Abbildung, dass diese Arraydaten Elemente enthalten, die einer Anzahl
von 160×120
Pixel in einem Frame entsprechen. Dasselbe gilt für die grünen Bilddaten 5-5-2 und
die blauen Bilddaten 5-5-3. Im Folgenden wird ein Pixel
gelegentlich als ein Pixel (X, Y) bezeichnet, wobei die Koordinate
X in horizontaler Richtung (X-Richtung) und die Koordinate Y in
vertikaler Richtung (Y-Richtung) des Pixels verwendet wird. Außerdem zeigen
die zeitveränderlichen
Kantendaten [16] [12] mit dem Bezugszeichen 5-12, die später erläutert werden,
dass diese Arraydaten Elemente enthalten, die einer Anzahl von 16×12 segmentierten
Bereichen entsprechen. Die segmentierten Bereiche können im Folgenden
jeweils als ein segmentierter Bereich (X, Y) bezeichnet werden,
indem ihre fortlaufenden Nummern X und Y entsprechenderweise in
X- und Y-Richtung verwendet werden.
-
Als
Nächstes
werden verschiedene Daten erläutert,
die von der Bewegungscharakteristik-Extraktionsverarbeitung 200 erzeugt
werden. Die horizontalen Kantendaten 5-6 sind Ar raydaten,
die angeben, ob das jeweilige Pixel eines ist (horizontales Kantenpixel),
das eine horizontale Kante mit einem großen Farbunterschied zu seinem
benachbarten Pixel in horizontaler Richtung des Bilds darstellt.
Die vertikalen Kantendaten 5-7 sind Arraydaten, die angeben,
ob das jeweilige Pixel eines ist (vertikales Kantenpixel), das eine
vertikale Kante mit einem großen
Farbunterschied zu seinem benachbarten Pixel in vertikaler Richtung
des Bilds darstellt. Die horizontalen Kantendaten des vorherigen
Frames 5-8 und die vertikalen Kantendaten des vorherigen
Frames 5-9 sind Arraydaten, die jeweils die horizontalen
Kantendaten 5-6 und die vertikalen Kantendaten 5-7 für den Frame
unmittelbar vor dem aktuellen Frame angeben.
-
Die
horizontalen Kantendaten 5-10 sind Arraydaten, die angeben,
ob ein Pixel eines ist (zeitveränderliches
horizontales Kantenpixel), das eine zeitveränderliche horizontale Kante
darstellt, die an unterschiedlichen Positionen zwischen dem aktuellen Frame
und dem unmittelbar vorherigen Frame existiert. In gleicher Weise
sind die vertikalen Kantendaten 5-11 Arraydaten, die angeben,
ob ein Pixel eines ist (zeitveränderliches
vertikales Kantenpixel), das eine zeitveränderliche vertikale Kante darstellt,
die an unterschiedlichen Positionen zwischen dem aktuellen Frame
und dem unmittelbar vorherigen Frame existiert.
-
Die
zeitveränderlichen
Kantendaten 5-12 sind Arraydaten, die für jeden segmentierten Bereich eine
Gesamtanzahl von zeitveränderlichen
horizontalen Kantenpixeln und zeitveränderlichen vertikalen Kantenpixeln
in dem segmentierten Bereich enthalten. Die zeitveränderlichen
Kantendaten für
den vorherigen Frame 5-13 sind Arraydaten, die die zeitveränderlichen
Kantendaten 5-12 für
den Frame einen Frame vor dem aktuellen Frame enthalten. Die Bewegungscharakteristikbereichsdaten 5-14 sind
Arraydaten, die angeben, ob der jeweilige segmentierte Bereich Pixel
(zeitveränderliche
Kantenpixel) enthält, die
Kanten darstellen, deren Positionen sich im Zeitverlauf ändern. Im
Einzelnen geben diese Array daten an, ob sowohl die Gesamtzahl der
zeitveränderlichen Kantenpixel
des aktuellen Frames als auch die Gesamtzahl der zeitveränderlichen
Kantenpixel des unmittelbar vorhergehenden Frames den zweiten Schwellenwert 5-4 überschreiten.
Nach der Ausführungsform
wird das Ergebnis der Beurteilung hinsichtlich des jeweiligen segmentierten
Bereichs als Bewegungscharakteristik für den segmentierten Bereich
verwendet. Wenn ein segmentierter Bereich diese Beurteilungsbedingung
erfüllt,
kann der betreffende Bereich gelegentlich auch als Bewegungscharakteristikbereich
bezeichnet werden.
-
Als
Nächstes
werden Daten erläutert,
die von der Farbcharakteristik-Extraktionsverarbeitung 300, der
Bildände
rungsbereich-Extraktionsverarbeitung 400, der Routenextraktionsverarbeitung 500,
der Extraktionsverarbeitung für
das Bild des sich bewegenden Objekts 600 und der Verarbeitung 700 zum
Anzeigen des Bilds eines sich bewegenden Objekts mit einer Route
erzeugt werden. Die Histogrammdaten 5-15 sind Arraydaten
für drei
Dimensionen, die für
jeden segmentierten Bereich die Häufigkeitsverteilung der Farben
der Pixel in dem segmentierten Bereich angeben. Um die Histogrammdaten 5-15 zu
erhalten, wird die Farbe jedes Pixels in 64 Stufen umgewandelt.
Für jede
Stufe wird die Gesamtzahl der Pixel mit Farben der Stufe für jeden
segmentierten Bereich berechnet. Die bereichsrepräsentativen
Farbdaten 5-16 sind Arraydaten, die die Farbzahl einer
Farbstufe enthalten, die für
jeden segmentierten Bereich am häufigsten
angezeigt wird, das heißt
eine repräsentative Farbe.
Bei der vorliegenden Ausführungsform
wird die repräsentative
Farbe jedes segmentierten Bereichs als ein Beispiel für die Farbcharakteristik
des segmentierten Bereichs verwendet. Die bereichsrepräsentativen
Farbdaten 5-17 für
den vorherigen Frame sind Arraydaten, die die bereichsrepräsentativen Farbdaten 5-16 für den Frame
einen Frame vor dem aktuellen Frame enthalten. Die bereichsrepräsentativen
Farbdaten 5-18 für
den weiter vorherigen Frame sind Arraydaten, die die bereichsrepräsentativen Farbdaten 5-16 für den Frame
zwei Frames vor dem aktuellen Frame enthalten.
-
Die
Bildänderungsbereichsdaten 5-19 sind Arraydaten,
die für
jeden segmentierten Bereich angeben, ob der segmentierte Bereich
Pixel (zeitveränderliche
Pixel) enthält,
die Kanten des Bilds eines sich bewegenden Objekts darstellen. Im
Einzelnen erfolgt diese Beurteilung anhand der für jeden segmentierten Bereich
ermittelten Bewegungscharakteristik und Farbcharakteristik. Die
Bildänderungsbereichsdaten 5-20 für den vorherigen
Frame sind Arraydaten, die die Bildänderungsbereichsdaten 5-19 für den Frame
einen Frame vor dem aktuellen Frame enthalten.
-
Die
Routenbereichsdaten 5-21 sind Arraydaten, die angeben,
ob der jeweilige segmentierte Bereich ein Durchgangspunkt eines
sich bewegenden Objekts ist. Wenn ein segmentierter Bereich ein Durchgangspunkt
eines sich bewegenden Objekts ist, gilt Folgendes: Je häufiger der
segmentierte Bereich als einer beurteilt worden ist, der das sich
bewegende Objekt enthält,
desto größer ist
der numerische Wert, der in dem Element entsprechend dem segmentierten
Bereich in den Routenbereichsdaten 5-21 gespeichert wird.
Die Routenbilddaten 5-22 sind Daten, die ein solches Bild
angeben, das aus segmentierten Bereichen besteht, die eine Route
darstellen, die ein sich bewegendes Objekt durchlaufen hat, angezeigt
in einer bestimmten durchscheinenden Farbe. Die Daten umfassen die
Bilddaten für
drei Farben, nämlich
die roten Routenbilddaten 5-22-1, die grünen Routenbilddaten 5-22-2 und
die blauen Routenbilddaten 5-22-3 sowie die Routentransparenzgraddaten 5-22-4.
Die Routentransparenzgraddaten 5-22-4 sind Daten, die die
Dichte der verwendeten durchscheinenden Farbe zum Anzeigen des Routenbilds
angeben. Die Daten 5-23 für das Bild des sich bewegenden
Objekts sind Daten, die das Bild des sich bewegenden Objekts darstellen.
Sie umfassen die roten Bilddaten 5-23-1, die grünen Bilddaten 5-23-2 und
die blauen Bilddaten 5-23-3.
-
5 zeigt
die Datenstruktur für
das Bild eines sich bewegenden Objekts mit einer Route, die Daten
für das
Bild eines sich bewegenden Objekts mit einer Route und zugehörige Informationen
enthält.
Die Identifikationsnummer 5-2-1 des Bilds eines sich bewegenden
Objekts mit einer Route ist eine laufende Nummer für das Bild
eines sich bewegenden Objekts mit einer Route. Die Daten 5-2-2 für das Bild
eines sich bewegenden Objekts mit einer Route sind Arraydaten, die
das Bild eines sich bewegenden Objekts mit einer Route enthalten.
Die Anzeigeposition X des Bilds eines sich bewegenden Objekts mit einer
Route (5-2-3) und die Anzeigeposition Y des Bilds eines
sich bewegenden Objekts mit einer Route (5-2-4) sind X-
und Y-Koordinatenpositionen, an denen das Bild des sich bewegenden
Objekts mit einer Route im Bereich 70 (2)
auf dem Anzeigegerät 1 angezeigt
wird. Die Extraktionszeit 5-2-5 für das Bild eines sich bewegenden
Objekts enthält
die Zeit, wann ein sich bewegendes Objekts in einen vorbestimmten
Bereich im Sichtfeld der Kamera 1 oder einen dem entsprechenden
vorbestimmten Bereich auf dem Bildschirm 50 eingetreten
ist.
-
(4) Einzelheiten der Verarbeitung
-
Nachstehend
wird die Verarbeitung des in 3 gezeigten
Programms zum Anzeigen des Bilds des sich bewegenden Objekts mit
einer Route unter Bezugnahme auf die Daten in 4 und
die Ablaufdiagramme in 6 bis 24 ausführlich erläutert. Diese
Ablaufdiagramme werden unter Verwendung der Programmiersprache C
beschrieben.
-
(4a) Bewegungscharakteristik-Extraktionsverarbeitung 200
-
Die
Verarbeitungsschritte 201 bis 212 (6)
extrahieren Pixel von starken vertikalen Kanten oder starken horizontalen
Kanten. Die vertikalen oder horizontalen Kanten sind solche, die
erfasst werden können,
wenn das Bild in Längsrichtung
(vertikale Richtung) bzw. in Querrichtung (horizontale Richtung)
abgetastet wird. Die starken Kanten sind die klareren Kanten in
dem Bild. Dies sind die Kanten, die die Umrisse einer Person darstellen,
zum Beispiel die Umrisse eines Gesichts, der Hände oder Beine usw. einer Person
bzw. die Umrisse seiner Kleidung, und diese Kanten sind geeignet,
um nach der vorliegenden Ausführungsform
die Bewegung einer Person zu erkennen. Andererseits sind Kanten, die
etwa die Umrisse einer Nase oder so im Gesicht einer Person darstellen,
nicht zum Detektieren der Bewegung der Person geeignet. Im Allgemeinen
sind diese Kanten nicht so klar erkennbar wie die zuvor beschriebenen
Kanten. Daher ist die vorliegende Erfindung dazu eingerichtet, hauptsächlich starke
Kanten zu erkennen.
-
Der
Verarbeitungsschritt 201 initialisiert die Variablen X
und Y, die jeweils den X- und Y-Koordinaten eines zu verarbeitenden
Pixels entsprechen, auf 1. Der Verarbeitungsschritt 202 prüft, ob ein
Farbunterschied zwischen einem Paar aus einem Pixel (X+1, Y) und
einem Pixel (X-1, Y) vorliegt, die einem Pixel (X, Y) in horizontaler
Richtung benachbart sind. Im Einzelnen detektiert die Verarbeitung 200,
ob ein Elementepaar entsprechend dem Pixelpaar in den roten Bilddaten 5-7-1,
den grünen
Bilddaten 5-7-2 und den blauen Bilddaten 5-7-3 jeweils
größer ist
als der erste Schwellenwert A, basierend auf den vom Videoeingabegerät 11 gelieferten
Bilddaten für
einen Frame. Sind die Farbunterschiede aller Farbkomponenten zwischen
dem Pixelpaar größer als
der erste Schwellenwert A, kann das Pixel (X, Y) als eines angesehen
werden, das eine horizontal Kante in dem Bild darstellt. In diesem
Fall geht das Programm weiter zu Verarbeitungsschritt 203;
anderenfalls geht es weiter zu Verarbeitungsschritt 204.
-
Der
Verarbeitungsschritt 203 schreibt eine 1 in das dem Pixel
(X, Y) entsprechende Element in den horizontalen Kantendaten 5-6,
und der Verarbeitungsschritt 204 schreibt eine 0 in dieses
Element. In gleicher Weise erzeugen die Verarbeitungsschritte 205 bis 207 die
vertikalen Kantendaten 5-7. Die Verarbeitungsschritte 208 bis 212 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. Wenn alle Verarbeitungsschritte abgeschlossen sind, fährt das
Programm mit Verarbeitungsschritt 213 fort. Als erster Schwellenwert
A zum Detektieren der Kanten mit den Verarbeitungsschritten 202 und 205 wird
bei der vorliegenden Ausführungsform
ein vergleichsweise großer
Wert, zum Beispiel 55, verwendet. Als Folge werden hauptsächlich starke
horizontale Kanten oder starke vertikale Kanten erfasst. Alle bei
der vorliegenden Ausführungsform
verarbeiteten Kanten sind starke Kanten, so dass die starken Kanten
nachstehend einfach als Kanten bezeichnet werden.
-
Die
Verarbeitungsschritte 213 bis 224 (7)
extrahieren horizontale Kanten oder vertikale Kanten, die in mehreren
Frames an unterschiedlichen Positionen erscheinen. Diese Kanten
werden gelegentlich als zeitveränderliche
horizontale Kanten bzw. zeitveränderliche
vertikale Kanten bezeichnet. Außerdem
werden diese Kanten gelegentlich zusammen als zeitveränderliche
Kanten bezeichnet. Darüber
hinaus werden Pixel, die zeitveränderliche
horizontale Kanten, zeitveränderliche
vertikale Kanten oder zeitveränderliche
Kanten darstellen, gelegentlich auch als zeitveränderliche horizontale Kantenpixel,
zeitveränderliche
vertikale Kantenpixel bzw. zeitveränderliche Kantenpixel bezeichnet.
-
Der
Verarbeitungsschritt 213 initialisiert die Variablen X
und Y, die jeweils den X- und Y-Koordinaten eines zu verarbeitenden
Pixels entsprechen, auf 0. Der Verarbeitungsschritt 214 erfasst,
ob ein Element der horizontalen Kantendaten entsprechend dem Pixel
(X, Y) und ein anderes Element der horizontalen Kantendaten des
vorherigen Frames entsprechend dem Pixel (X, Y) den Wert 1 und das
andere der beiden Elemente den Wert 0 aufweist. Erfüllt das
Pixel (X, Y) diese Bedingung, ist es entweder ein horizontales Kantenpixel
im vorherigen Frame und nicht im gegenwärtigen Frame oder umgekehrt.
Daher wird dieses Pixel als ein zeit veränderliches horizontales Kantenpixel
behandelt, das eine zeitveränderliche
horizontale Kante darstellt, deren Position sich zwischen dem vorherigen
Frame und dem aktuellen Frame geändert
hat. In diesem Fall geht das Programm weiter zu Verarbeitungsschritt 215;
anderenfalls geht es weiter zu Verarbeitungsschritt 216. Der
Verarbeitungsschritt 215 schreibt eine 1 in das dem Pixel
(X, Y) entsprechende Element in den zeitveränderlichen horizontalen Kantendaten 5-10,
und der Verarbeitungsschritt 216 schreibt eine 0 in dasselbe
Element. Die Verarbeitungsschritte 217 bis 219 erzeugen
in gleicher Weise die zeitveränderlichen vertikalen
Kantendaten 5-11. Die Verarbeitungsschritte 220 bis 224 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. Wenn alle Verarbeitungsschritte abgeschlossen sind, fährt das
Programm mit Verarbeitungsschritt 225 fort.
-
Die
vorstehend erwähnten
Verarbeitungsschritte 213 bis 224 extrahieren
Kanten, die an verschiedenen Positionen zwischen mindestens zwei vorhergehenden
Frames erscheinen. Weil die Kamera 9 feststehend ist, sind
die Kanten des Hintergrunds unbeweglich. Daher ist es möglich, durch
den Hintergrund erzeugte Kanten durch Detektieren der vorstehend
genannten zeitveränderlichen
horizontalen Kanten oder zeitveränderlichen
vertikalen Kanten zu entfernen. Dadurch ist es möglich, nur die Kanten zu extrahieren,
die von der Bewegung eines sich bewegenden Objekts herrühren, das
in einen Überwachungsbereich
eingetreten ist.
-
Die
Verarbeitungsschritte 225 bis 238 (8)
zählen
die zeitveränderlichen
Kantenpixel in jedem segmentierten Bereich. Der Verarbeitungsschritt 225 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
und die Variablen i und j, die den einem zu verarbeitenden Pixel
in dem segmentierten Bereich zugewiesenen laufenden Nummern entsprechen,
auf 0. Der Verarbeitungsschritt 226 prüft, ob mindestens ein Element
ent sprechend einem Pixel (i, j) in dem segmentierten Bereich (Xb,
Yb) in den zeitveränderlichen
horizontalen Kantendaten 5-10 und ein anderes Element entsprechend
demselben Pixel in den zeitveränderlichen
vertikalen Kantendaten 5-11 den Wert 1 aufweist. Erfüllt dieses
Pixel diese Bedingung, wird es bei der vorliegenden Ausführungsform
als ein zeitveränderliches
Kantenpixel behandelt. In diesem Fall geht das Programm weiter zu Verarbeitungsschritt 227;
anderenfalls geht es weiter zu Verarbeitungsschritt 228.
Der Verarbeitungsschritt 227 addiert 1 zu dem Wert des
dem segmentierten Bereich (Xb, Yb) in den zeitveränderlichen
Kantendaten 5-12 entsprechenden Elements. Die Verarbeitungsschritte 228 bis 238 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. Wenn alle Verarbeitungsschritte abgeschlossen sind, fährt das
Programm mit Verarbeitungsschritt 239 fort.
-
Die
Verarbeitungsschritte 239 bis 247 (9)
erfassen, ob der segmentierte Bereich jeweils ein sich bewegendes
Bild enthält.
Der Verarbeitungsschritt 239 initialisiert die Variablen
Xb und Yb, die den einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 240 prüft, ob der Wert des dem segmentierten Bereich
(Xb, Yb) in den zeitveränderlichen
Kantendaten 5-12 entsprechenden Elements nicht kleiner
ist als der zweite Schwellenwert B, und gleichzeitig ob der Wert
des dem segmentierten Bereich in den zeitveränderlichen Kantendaten 5-13 für den vorherigen Frame
entsprechenden Elements nicht kleiner ist als der zweite Schwellenwert
B. Erfüllt
der segmentierte Bereich diese beiden Bedingungen, wird er in der vorliegenden
Ausführungsform
als ein Bereich behandelt, der ein sich bewegendes Bild enthält, weil der
segmentierte Bereich mehr zeitveränderliche Kantenpixel als eine
vorbestimmte Anzahl kontinuierlich in mehreren Frames enthält. Der
Zweck des Kontrollierens der Werte der Elemente der zeitveränderlichen
Kantendaten, die dem segmentierten Be reich für mehrere Frames entsprechen,
ist der, den Einfluss von Rauschen usw. aufgrund der Bildverarbeitung
zu beseitigen. Ob der segmentierte Bereich diese Bedingungen erfüllt, wird
als Bewegungscharakteristik des segmentierten Bereichs bezeichnet.
Wenn der segmentierte Bereich diese Bedingungen erfüllt, kann
er außerdem
als ein Bereich mit einer Bewegungscharakteristik bezeichnet werden,
und der segmentierte Bereich kann als ein Bewegungscharakteristikbereich
bezeichnet werden. Erfüllt
der segmentierte Bereich diese beiden Bedingungen, geht das Programm
weiter zu Verarbeitungsschritt 241; anderenfalls geht es
weiter zu Verarbeitungsschritt 242. Der Verarbeitungsschritt 241 schreibt
eine 1 in das dem segmentierten Bereich entsprechende Element der
Bewegungscharakteristikbereichsdaten 5-14, und der Verarbeitungsschritt 242 schreibt
eine 0 in dasselbe Element. Die Verarbeitungsschritte 243 bis 247 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle Bereiche.
Wenn alle Verarbeitungsschritte abgeschlossen sind, fährt das
Programm mit Verarbeitungsschritt 248 fort.
-
Die
Verarbeitungsschritte 248 bis 254 (10)
bilden die Aktualisierungsverarbeitung für die horizontalen Kantendaten 5-8 des
vorherigen Frames und die vertikalen Kantendaten 5-9 des
vorherigen Frames. Der Verarbeitungsschritt 248 initialisiert
die Variablen X und Y, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen, auf
0. Der Verarbeitungsschritt 249 weist das dem segmentierten
Bereich (X, Y) in den horizontalen Kantendaten 5-6 entsprechende
Element dem Element zu, das dem segmentierten Bereich (X, Y) in den
horizontalen Kantendaten 5-8 für den vorherigen Frame entspricht,
und weist das dem segmentierten Bereich (X, Y) in den vertikalen
Kantendaten 5-7 entsprechende Element dem Element zu, das
dem segmentierten Bereich (X, Y) in den vertikalen Kantendaten 5-9 für den vorherigen
Frame entspricht. Die Verarbeitungsschritte 250 bis 254 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel.
-
Die
Verarbeitungsschritte 255 bis 262 (11)
aktualisieren die zeitveränderlichen
Kantendaten 5-13 für
den vorherigen Frame und löschen
die zeitveränderlichen
Kantendaten 5-12 auf 0. Der Verarbeitungsschritt 255 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 256 weist den Wert des
dem segmentierten Bereich (Xb, Yb) in den zeitveränderlichen
Kantendaten 5-12 entsprechenden Elements dem Element zu,
das dem segmentierten Bereich (Xb, Yb) in den zeitveränderlichen
Kantendaten 5-13 für
den vorherigen Frame entspricht. Der Verarbeitungsschritt 257 weist
dem Element, das dem segmentierten Bereich (Xb, Yb) in den zeitveränderlichen
Kantendaten 5-12 entspricht, den Wert 0 zu. Die Verarbeitungsschritte 258 bis 262 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche.
-
(4b) Farbcharakteristik-Extraktionsverarbeitung 300
-
Als
Vorverarbeitung für
eine Verarbeitung, um eine repräsentative
Farbe für
jeden segmentierten Bereich zu erhalten, erzeugen die Verarbeitungsschritte 301 bis 314 (12)
ein Histogramm der Farben von 10×10 Pixeln, die zu jedem segmentierten
Bereich gehören.
Der Verarbeitungsschritt 301 initialisiert die Variablen
Xb und Yb, die den einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
die Variablen i und j, die den einem zu verarbeitenden Pixel in
dem segmentierten Bereich zugewiesenen laufenden Nummern entsprechen,
und die Variable col, die der Farbzahl einer repräsentativen
Farbe entspricht, auf 0. Der Verarbeitungsschritt 302 übersetzt
die Farbe eines (i, j)-ten Pixels in dem segmentierten Bereich (X,
Y), das heißt
die des Pixels (X×10+i,
Y×10+j),
in eine der Farben von 64 Stufen, und schreibt die Farbzahl in die
Variable col.
-
Das
heißt,
die roten Bilddaten 5-5-1, die grünen Bilddaten 5-5-2 und
die blauen Bilddaten 5-5-3 jedes Pixels umfassen jeweils
acht Bits. Jede Farbkomponente ist durch 256 Stufen angegeben. In
Verarbeitungsschritt 302 werden die oberen beiden Bits jedes
der drei Elemente, die in den roten Bilddaten 5-5-1, den
grünen
Bilddaten 5-5-2 und den blauen Bilddaten 5-5-3 demselben
Pixel entsprechen, heraus genommen, und die Daten, die diese entnommenen
sechs Bits insgesamt darstellen, werden als Farbzahl für das Pixel
verwendet. Im Einzelnen ist 0 × c0
in Verarbeitungsschritt 302 die Hexadezimalschreibweise
für die
Binärdaten
11000000. Der erste Ausdruck zeigt, dass die durch das logische Produkt
des Elements, das dem Pixel (X×10+i, Y×10+j) in
den roten Bilddaten 5-5-1 entspricht, erhaltenen Daten
und die Binärdaten
11000000 um sechs Bits nach rechts verschoben werden. In gleicher
Weise zeigt der zweite Ausdruck, dass die durch das logische Produkt
des Elements, das dem Pixel (X×10+i,
Y×10+j)
in den grünen
Bilddaten 5-5-2 entspricht,
und die Daten 11000000 um vier Bits nach rechts verschoben werden.
Der dritte Ausdruck zeigt, dass die durch das logische Produkt des
Elements, das dem Pixel (X×10+i,
Y×10+j)
in den blauen Bilddaten 5-5-3 entspricht, und die Daten
11000000 um zwei Bits nach rechts verschoben werden. Der Verarbeitungsschritt 302 zeigt,
dass die als Ergebnis der logischen Addition der drei auf diese
Weise erhaltenen Zwei-Bit-Daten gewonnene Farbzahl mit sechs Bits
der Variablen col zugewiesen wird.
-
Die
Histogrammdaten 5-15 sind dreidimensionale Arraydaten mit
64 Elementen für
jeden segmentierten Bereich (X, Y). Der Verarbeitungsschritt 303 addiert
1 zu dem Element der Farbzahl-Histogrammdaten 5-15, das
der Kombination des segmentierten Bereichs (X, Y) und des in Verarbeitungsschritt 302 berechneten
Werts der Variable col entspricht. Die Verarbeitungsschritte 304 bis 314 bilden die
Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. Wenn alle Verarbeitungsschritte abgeschlossen sind, fährt das
Programm mit Verarbeitungsschritt 315 fort.
-
Die
Verarbeitungsschritte 315 bis 326 (13)
extrahieren die repräsentative
Farbe für
jeden segmentierten Bereich. Der Verarbeitungsschritt 315 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 316 initialisiert die Variable
Color (Farbe) und die Variable max_col, die der Farbzahl mit der
maximalen Häufigkeit
unter den Farbzahlen von 64 Stufen für den verarbeiteten segmentierten
Bereich entspricht, auf 0. Um die Farbzahl zu ermitteln, die in
dem segmentierten Bereich (Xb, Yb) mit der höchsten Häufigkeit verwendet wird, prüft der Verarbeitungsschritt 317,
ob der Wert des Elements (Xb, Yb, col) in den Histogrammdaten 5-15 größer ist
als der Wert der Variablen max_col. Das Programm fährt mit
Verarbeitungsschritt 318 fort, wenn ersterer größer ist
als letzterer, und es fährt
mit Verarbeitungsschritt 320 fort, wenn ersterer kleiner
ist als letzterer. Der Verarbeitungsschritt 318 ersetzt
die Variable max_col durch den Wert des Elements (Xb, Yb, col) in
den Histogrammdaten 5-15 und geht weiter zu Verarbeitungsschritt 319.
Der Verarbeitungsschritt 319 schreibt die Variable col
zur Angabe der Farbzahl in das Element (Xb, Yb) in den bereichsrepräsentativen
Farbdaten 5-16. Die Verarbeitungsschritte 320 bis 321 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
64 Stufen. Die Verarbeitungsschritte 322 bis 326 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche. Auf diese Weise werden die bereichsrepräsentativen
Farbdaten 5-16 erzeugt, die die Farbzahl der repräsentativen
Farbe für
alle segmentierten Bereiche ange ben. Am Ende der Bildänderungsbereich-Extraktionsverarbeitung 400 werden
die bereichsrepräsentativen Farbdaten 5-16 auf
die bereichsrepräsentativen Farbdaten 5-17 für den vorherigen
Frame verschoben, wie nachstehend anhand von 16 erläutert. Die
bereichsrepräsentativen
Farbdaten 5-17 für
den vorherigen Frame werden dabei auf die bereichsrepräsentativen
Farbdaten 5-18 für
den weiter vorherigen Frame verschoben.
-
Die
Verarbeitungsschritte 327 bis 336 (14)
führen
das Löschen
der Histogrammdaten 5-15 auf null durch. Der Verarbeitungsschritt 327 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 328 initialisiert die Variable
col, die der zu verarbeitenden Farbzahl entspricht, auf 0. Der Verarbeitungsschritt 329 schreibt
eine 0 in die Histogrammdaten 5-15, um sie zu löschen, und
das Programm geht weiter zu Verarbeitungsschritt 330. Die
Verarbeitungsschritte 330 bis 331 bilden die Adressaktualisierungsverarbeitung zur
Ausführung
der vorstehenden Verarbeitung für alle
Farbzahlen für
den segmentierten Bereich (X, Y) in den Histogrammdaten 5-15.
Die Verarbeitungsschritte 332 bis 326 bilden die
Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche.
-
(4c) Bildänderungsbereich-Extraktionsverarbeitung 400
-
Die
Verarbeitungsschritte 401 bis 412 (15)
extrahieren Bereiche (Bildänderungsbereiche),
die als Bereiche angesehen werden können, die ein Bild eines sich
bewegenden Objekts enthalten, basierend auf der für jeden
segmentierten Bereich ermittelten Bewegungscharakteristik und Farbcharakteristik.
Wie bereits erläutert,
zeigt die für
jeden segmentierten Bereich ermittelte Bewegungscharakteristik,
ob der segmentierte Bereich mehr als eine bestimmte Anzahl von zeitveränderlichen
Kantenpixeln enthält.
Probleme tre ten jedoch auf, wenn ein als Bewegungscharakteristikbereich
beurteilter segmentierter Bereich als ein Bereich verwendet wird,
der ein Bild eines zu verfolgenden sich bewegenden Objekts enthält. Insbesondere
kommt es vor, dass sich die repräsentativen
Farben dieses segmentierten Bereichs über mehrere Frames nicht ändern. Dieses
Phänomen
tritt auf, wenn ein segmentierter Bereich schaukelnde Blätter von
Bäumen
enthält
und wenn der segmentierte Bereich das Bild eines sich bewegenden
Objekts zeigt, das stillzustehen scheint. Die Verarbeitungsschritte 401 bis 412 behandeln
den ersteren segmentierten Bereich nicht als einen Bereich (Bildänderungsbereich),
der ein Bild eines sich bewegenden Objekts enthält, wohl aber den letzteren
segmentierten Bereich als einen Bildänderungsbereich.
-
Der
Verarbeitungsschritt 401 initialisiert die Variablen Xb
und Yb, die den einem zu verarbeitenden segmentierten Bereich zugewiesenen
laufenden Nummern in X- und Y-Richtung
entsprechen, auf 0. Der Verarbeitungsschritt 402 prüft, ob das
dem segmentierten Bereich (X, Y) entsprechende Element in den Bewegungscharakteristikbereichsdaten 5-14 den
Wert 1 hat. Das Programm fährt
mit Verarbeitungsschritt 403 fort, wenn der Wert 1 ist,
bzw. mit Verarbeitungsschritt 406, wenn er nicht 1 ist.
Der Verarbeitungsschritt 403 prüft, ob die repräsentativen Farben
des segmentierten Bereichs (X, Y) sich über mehrere Frames geändert haben.
Das heißt,
es wird geprüft,
ob der Wert des Elements, das dem segmentierten Bereich (X, Y) in
den bereichsrepräsentativen Farbdaten 5-18 für den weiter
vorherigen Frame entspricht, gleich dem Wert des dem segmentierten
Bereich (X, Y) in den bereichsrepräsentativen Farbdaten 5-16 entsprechenden
Elements ist, und gleichzeitig ob der Wert des Elements, das dem
segmentierten Bereich (X, Y) in den bereichsrepräsentativen Farbdaten 5-17 für den vorherigen
Frame entspricht, gleich dem Wert des dem segmentierten Bereich
(X, Y) in den bereichsrepräsentativen
Farbdaten 5-16 entsprechenden Elements ist. Erfüllt der
segmentierte Be reich (X, Y) diese beiden Bedingungen, hat sich die
repräsentative
Farbe des segmentierten Bereich über
die drei Frames von dem weiter vorherigen Frame bis zum aktuellen
Frame nicht geändert.
Nach der Ausführungsform
wird angenommen, dass der segmentierte Bereich (X, Y) die beiden
Bedingungen in den folgenden zwei Fällen erfüllt. Im ersten Fall enthält das Bild
dieses segmentierten Bereichs ein Bild eines sich bewegenden Objekts,
das im Wesentlichen an derselben Position anhält. Im anderen Fall sind der
Hintergrund des segmentierten Bereichs und das sich bewegende Objekt
in dem Bereich gleich, so als wenn der Hintergrund des segmentierten
Bereichs Blätter
von Bäumen
enthält,
die im Wind schaukeln, und der Hintergrund als ein sich bewegendes
Objekt erkannt worden ist.
-
Das
Programm fährt
mit Verarbeitungsschritt 404 fort, wenn der segmentierte
Bereich (X, Y) die beiden Bedingungen erfüllt, und es fährt mit
Verarbeitungsschritt 407 fort, wenn der segmentierte Bereich die
beiden Bedingungen nicht erfüllt.
Der Verarbeitungsschritt 404 prüft, ob der Wert von Xb nicht
kleiner als 1 und nicht größer als
14 ist und ob der Wert von Yb nicht kleiner als 1 und nicht größer als
10 ist, um die Ausführung
der Verarbeitung für
den äußersten
Bereich in Verarbeitungsschritt 405 zu verhindern. Das
Programm fährt
mit Verarbeitungsschritt 405 fort, wenn Xb und Yb diese
Bedingungen erfüllen,
bzw. mit Verarbeitungsschritt 406, wenn Xb und Yb diese
Bedingungen nicht erfüllen.
-
Der
Verarbeitungsschritt 405 stellt fest, ob das Bild in diesem
segmentierten Bereich ein Bild eines sich bewegenden Objekts enthält, das
im Wesentlichen an derselben Position anhält. Das heißt, wie nachstehend erläutert, die
Routenbereichsdaten 5-21 enthalten ein dem jeweiligen segmentierten
Bereich entsprechendes Element, und Daten ungleich Null werden in
ein Element der Routenbereichsdaten 5-21 geschrieben, das
einem segmentierten Bereich entspricht, wenn der segmentierte Bereich
als ein Durchgangs punkt eines sich bewegenden Objekts erkannt worden
ist. Der Verarbeitungsschritt 405 prüft, ob die vier Elemente der
Routenbereichsdaten 5-21, die den vier benachbarten segmentierten
Bereichen (X-1, Y), (X+1, Y), (X, Y-1) und (X, Y+1) eines verarbeiteten
segmentierten Bereichs (X, Y) entsprechen, alle 0 sind. Wenn eines
dieser vier Elemente der Routenbereichsdaten 5-21 den Wert
1 hat, bedeutet dies, dass anhand des Bilds für den vorherigen Frame festgestellt
worden ist, dass das sich bewegende Objekt den betreffenden segmentierten
Bereich durchlaufen hat. In diesem Fall liegt der verarbeitete segmentierte
Bereich sehr nahe an der Bewegungsroute des sich bewegenden Objekts.
Daher wird angenommen, dass die repräsentative Farbe des verarbeiteten
segmentierten Bereichs (X, Y) die Bedingung für Verarbeitungsschritt 403 erfüllt, weil dieser
segmentierte Bereich ein Bild eines sich bewegenden Objekts enthält, das
im Wesentlichen anhält. Daher
wird der verarbeitete segmentierte Bereich (X, Y) als ein Bildänderungsbereich
behandelt, der ein Bild eines fraglichen sich bewegenden Objekts
enthält,
wenn dieser segmentierte Bereich die beiden Bedingungen für Verarbeitungsschritt 403,
aber nicht die Bedingung für
Verarbeitungsschritt 405 erfüllt.
-
Wenn
der verarbeitete segmentierte Bereich andererseits sowohl die beiden
Bedingungen für
Verarbeitungsschritt 403 als auch die Bedingung für Verarbeitungsschritt 405 erfüllt, wird
festgestellt, dass dieser segmentierte Bereich ein Bild eines schaukelnden
Objekts wie die Blätter
eines Baums enthält, dass
die repräsentative
Farbe dieses segmentierten Bereichs eine Farbe zahlreicher Blätter im
Hintergrund ist und dass sich daher die repräsentative Farbe über mehrere
Frames nicht geändert
hat. Daher fährt
das Programm mit Verarbeitungsschritt 406 fort, wenn der
verarbeitete segmentierte Bereich die Bedingung für Verarbeitungsschritt 405 erfüllt, und
der Verarbeitungsschritt 406 erkennt, dass es keine Änderung
in dem Bild gegeben hat, die auf das fragliche sich bewegende Objekt
zurückzuführen ist, schreibt eine
0 in das Element der Bildänderungsbereichsdaten 5-19,
das diesem segmentierten Bereich (X, Y) entspricht, und geht weiter
zu Verarbeitungsschritt 408.
-
Das
Programm fährt
mit Verarbeitungsschritt 407 fort, wenn der verarbeitete
segmentierte Bereich die Bedingung für Verarbeitungsschritt 405 nicht
erfüllt.
Der Verarbeitungsschritt 407 nimmt an, dass es eine Änderung
in dem Bild in diesem segmentierten Bereich gegeben hat, die auf
das fragliche sich bewegende Objekt zurückzuführen ist, schreibt eine 1 in das
betreffende Element der Bildänderungsbereichsdaten 5-19 und
geht weiter zu Verarbeitungsschritt 408. Wenn das Element
der Bildänderungsbereichsdaten 5-19,
das einem segmentierten Bereich entspricht, den Wert 1 hat, wird
der segmentierte Bereich als Bildänderungsbereich bezeichnet.
Die Verarbeitungsschritte 408 bis 412 bilden die
Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche.
-
Da
der Bildänderungsbereich
auf diese Weise extrahiert wird, ist es möglich, zu verhindern, dass ein
segmentierter Bereich, der eine Bewegung in dem Bild enthält, etwa
das Schaukeln der Blätter
eines Baums, als ein Bildänderungsbereich
extrahiert wird. Außerdem
ist es möglich,
einen segmentierten Bereich, der eine Bewegung enthält, die
einer wartenden Person entspricht, als einen Bildänderungsbereich
zu beurteilen, indem geprüft
wird, ob es benachbarte Routenbereichsdaten mit dem Wert 1 gibt. Wie
weiter unten erläutert,
wird ein durch die Bildänderungsbereich-Extraktionsverarbeitung 400 ermittelter
Bildänderungsbereich
verwendet, um den Durchgangspunkt des sich bewegenden Objekts im gegenwärtigen Frame-Bild
zu erfassen.
-
Wenn
beurteilt wird, dass ein verarbeiteter segmentierter Bereich ein
Bild eines sich bewegenden Objekts enthält, das im Wesentlichen anhält, wird
erwartet, dass andere segmentierte Bereiche, die von diesem segmentierten
Bereich ein wenig getrennt sind, sicher das Bild desselben sich
bewegenden Objekts enthalten. Es kommt jedoch oft vor, dass diese
anderen segmentierten Bereiche nicht an die bereits extrahierte
Bewegungsroute angrenzen. In diesem Fall werden diese anderen segmentierten Bereiche
nicht als Bildänderungsbereiche
eingestuft, weil sie die Bedingung für Verarbeitungsschritt 405 erfüllen. Daher
beurteilt die Bildänderungsbereich-Extraktionsverarbeitung 400 nur
einen Teil der segmentierten Bereiche mit dem Bild des sich bewegenden
Objekts, das im Wesentlichen anhält,
als Bildänderungsbereiche.
Dieser Teil der so erkannten Bildänderungsbereiche kann wie er
ist zum Erfassen der Durchgangspunkte des sich bewegenden Objekts
im gegenwärtigen
Frame-Bild verwendet werden, wie nachstehend erläutert wird. Daher ergibt sich
kein Problem mit dem Erfassen des Durchgangspunkts, dass nur ein
Teil der Bildänderungsbereiche
erfasst wird.
-
Die
Verarbeitungsschritte 413 bis 419 (16)
bilden die Aktualisierungsverarbeitung für die bereichsrepräsentativen
Farbdaten 5-18 des weiter vorherigen Frames und die bereichsrepräsentativen
Farbdaten 5-17 des vorherigen Frames. Der Verarbeitungsschritt 413 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen, auf 0. Der Verarbeitungsschritt 414 weist
das dem segmentierten Bereich (Xb, Yb) entsprechende Element der
bereichsrepräsentativen
Farbdaten 5-17 für
den vorherigen Frame dem Element der bereichsrepräsentativen Farbdaten 5-18 für den weiter
vorherigen Frame zu, das dem segmentierten Bereich (Xb, Yb) entspricht, und
weist das dem segmentierten Bereich (Xb, Yb) entsprechende Element
der bereichsrepräsentativen Farbdaten 5-16 dem
Element der bereichsrepräsentativen
Farbdaten 5-17 für
den vorherigen Frame zu, das dem segmentierten Bereich (Xb, Yb)
entspricht. Die Verarbeitungsschritte 415 bis 419 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche.
-
(4d) Routenextraktionsverarbeitung 500
-
Die
mit der Bildänderungsbereich-Extraktionsverarbeitung 400 erfassten
Bildänderungsbereiche
können
als Bereiche angesehen werden, die das Bild des fraglichen sich
bewegenden Objekts enthalten. Die Position des Mittelpunkts der
durch diese Bildänderungsbereiche
repräsentierten
Figur wird bei der vorliegenden Ausführungsform als ein Durchgangspunkt
des sich bewegenden Objekts behandelt. Die Verarbeitungsschritte 500 bis 533 (17 und 18)
extrahieren den Bildänderungsbereich, der
sich am Mittelpunkt der durch diese Bildänderungsbereiche repräsentierten
Figur befindet, als gegenwärtigen
Durchgangspunkt des fraglichen sich bewegenden Objekts.
-
Der
Verarbeitungsschritt 501 initialisiert die Variablen Xb
und Yb, die den einem zu verarbeitenden segmentierten Bereich zugewiesenen
laufenden Nummern in X- und Y-Richtung
entsprechen, und die Variable bottom, die die unterste Position
der vorstehend angegebenen Figur darstellt, auf 0. Der Verarbeitungsschritt 502 prüft, ob das
Element der Bildänderungsbereichsdaten 5-19,
das dem verarbeiteten segmentierten Bereich (X, Y) entspricht, den
Wert 1 hat, das heißt,
ob der segmentierte Bereich der Bildänderungsbereich ist. Das Programm
fährt mit
Verarbeitungsschritt 503 fort, wenn das Element den Wert 1
hat, bzw. mit Verarbeitungsschritt 504, wenn dies nicht
der Fall ist. Der Verarbeitungsschritt 503 schreibt den
Wert von Yb in die Variable bottom, und das Programm geht weiter
zu Verarbeitungsschritt 509. Die Verarbeitungsschritte 504 bis 508 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche nur dann, wenn der Wert des Elements der Bildänderungsbereichsdaten 5-19,
das dem verarbeiteten segmentierten Bereich (X, Y) entspricht, nicht
1 ist. Bei dieser Adressaktualisierungsverarbeitung wird die Adresse
fortlaufend von einem kleineren Wert der Variable Yb aktualisiert.
Folglich zeigt, wenn ein segmentierter Bereich zuerst als ein Bildänderungsbereich beurteilt
wird, die laufende Nummer in Y-Richtung des segmentierten Bereichs
die unterste Position der Figur, die durch die mit der Bildänderungsbereich-Extraktionsverarbeitung 400 ermittelten
Bildänderungsbereiche
repräsentiert
wird.
-
Der
Verarbeitungsschritt 509 initialisiert die in den Verarbeitungsschritten 510 bis 516 verwendeten
Variablen Xb, Yb und top auf 0. Der Verarbeitungsschritt 510 prüft, ob das
Element der Bildänderungsbereichsdaten 5-19,
das dem verarbeiteten segmentierten Bereich (X, Y) entspricht, den
Wert 1 hat. Das Programm fährt
mit Verarbeitungsschritt 511 fort, wenn der Wert 1 ist,
bzw. mit Verarbeitungsschritt 512, wenn dies nicht der
Fall ist. Der Verarbeitungsschritt 511 schreibt den Wert
von Yb in die Variable top und geht weiter zu Verarbeitungsschritt 517. Die
Verarbeitungsschritte 512 bis 516 bilden die Adressaktualisierungsverarbeitung
zur Ausführung der
vorstehenden Verarbeitung für
alle Bereiche. Bei dieser Adressaktualisierungsverarbeitung wird
die Adresse fortlaufend von einem größeren Wert der Variable Yb
aktualisiert. Folglich zeigt, wenn ein segmentierter Bereich zuerst
als ein Bildänderungsbereich
beurteilt wird, die laufende Nummer in Y-Richtung des segmentierten
Bereichs die oberste Position der Figur, die durch die mit der Bildänderungsbereich-Extraktionsverarbeitung 400 ermittelten
Bildänderungsbereiche
repräsentiert
wird.
-
Der
Verarbeitungsschritt 517 initialisiert die in den Verarbeitungsschritten 518 bis 524 verwendeten
Variablen Xb, Yb und left auf 0. Der Verarbeitungsschritt 518 prüft, ob das
Element der Bildänderungsbereichsdaten 5-19,
das dem verarbeiteten segmentierten Bereich (X, Y) entspricht, den
Wert 1 hat. Das Programm fährt
mit Verarbeitungsschritt 519 fort, wenn das Element den
Wert 1 hat, bzw. mit Verarbeitungsschritt 520, wenn dies
nicht der Fall ist. Der Verarbeitungsschritt 519 weist
den Wert von Xb der Variablen left zu und geht weiter zu Verarbeitungsschritt 525.
Die Verarbeitungsschritte 520 bis 524 bilden die
Adressaktuali sierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche. Bei dieser Adressaktualisierungsverarbeitung wird die
Adresse fortlaufend von einem kleineren Wert der Variable Xb aktualisiert.
Folglich zeigt, wenn ein segmentierter Bereich zuerst als ein Bildänderungsbereich
beurteilt wird, die laufende Nummer in X-Richtung des segmentierten Bereichs
die ganz linke Position der Figur, die durch die mit der Bildänderungsbereich-Extraktionsverarbeitung 400 ermittelten
Bildänderungsbereiche
repräsentiert
wird.
-
Der
Verarbeitungsschritt 525 initialisiert die in den Verarbeitungsschritten 526 bis 532 verwendeten
Variablen Xb, Yb und right auf 0. Der Verarbeitungsschritt 526 prüft, ob das
Element der Bildänderungsbereichsdaten 5-19,
das dem verarbeiteten segmentierten Bereich (X, Y) entspricht, den
Wert 1 hat. Das Programm fährt
mit Verarbeitungsschritt 527 fort, wenn das Element den
Wert 1 hat, bzw. mit Verarbeitungsschritt 528, wenn dies
nicht der Fall ist. Der Verarbeitungsschritt 527 weist
den Wert von Xb der Variablen right zu, und das Programm wird mit
Verarbeitungsschritt 533 fortgesetzt. Die Verarbeitungsschritte 528 bis 532 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Bereiche. Bei dieser Adressaktualisierungsverarbeitung wird die
Adresse fortlaufend von einem größeren Wert
der Variable Xb aktualisiert. Folglich zeigt, wenn ein segmentierter
Bereich zuerst als ein Bildänderungsbereich
beurteilt wird, die laufende Nummer in X-Richtung des segmentierten
Bereichs die ganz rechte Position der Figur, die durch die mit der
Bildänderungsbereich-Extraktionsverarbeitung 400 ermittelten
Bildänderungsbereiche repräsentiert
wird.
-
Der
Verarbeitungsschritt 533 erhält die laufenden Nummern in
X- und Y-Richtung eines segmentierten Bereichs, der sich in der
Mitte des durch die Bildänderungsbereiche
dargestellten Bilds befindet, auf der Grundlage des Durchschnitts
der erhaltenen Werte für
die Variablen bottom und top und des Durchschnitts der erhaltenen
Werte für
die Variablen left und right, und addiert 1 zu dem Wert des Elements
der Routenbereichsdaten 5-21, das diesem segmentierten
Bereich entspricht. Wenn der Wert des diesem segmentierten Bereich
entsprechenden Elements der Routenbereichsdaten 5-21 bis
dahin 0 ist, wird der Wert des Elements auf 1 geändert. Der Wert des diesem
segmentierten Bereich entsprechenden Elements der Routenbereichsdaten 5-21 bis
dahin ist nicht bereits 0, wenn das sich bewegende Objekt denselben
segmentierten Bereich mehrfach durchläuft oder wenn es lange in demselben segmentierten
Bereich verweilt. In diesem Fall erhöht sich der Wert des Elements
der Routenbereichsdaten 5-21, das diesem segmentierten
Bereich entspricht, durch den Verarbeitungsschritt 533.
Daher enthalten die Routenbereichsdaten 5-21 Informationen über die
Verweilzeit des sich bewegenden Objekts in demselben segmentierten
Bereich.
-
Die
Verarbeitungsschritte 534 bis 548 (19)
erzeugen die Routenbilddaten 5-22. Der Verarbeitungsschritt 534 initialisiert
die Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
und die Variablen i und j, die den einem zu verarbeitenden Pixel
in dem segmentierten Bereich zugewiesenen laufenden Nummern entsprechen,
auf 0. Der Verarbeitungsschritt 535 prüft, ob das Element der Routenbereichsdaten 5-21,
das dem segmentierten Bereich (X, Y) entspricht, den Wert 0 hat.
Das Programm fährt
mit Verarbeitungsschritt 536 fort, wenn der Wert nicht
0 ist, bzw. mit Verarbeitungsschritt 537, wenn er 0 ist.
-
Der
Verarbeitungsschritt 536 weist den Wert des Elements der
Routenbereichsdaten 5-21, das dem segmentierten Bereich
(Xb, Yb) entspricht, dem Element der Routentransparenzgraddaten 5-22-4 zu, das
dem Pixel (Xb×10i,
Yb×10+j)
entspricht, und schreibt drei Farbkomponentendaten, die zum Anzeigen
der Route in einer vorbestimmten Farbe erforder lich sind, in die
Elemente der roten Routenbilddaten 5-22-1, der grünen Routenbilddaten 5-22-2 und
der blauen Routenbilddaten 5-22-3, die demselben Pixel entsprechen.
Das Programm fährt
mit Verarbeitungsschritt 538 fort. Bei der vorliegenden
Ausführungsform
wird ein numerischer Wert 255 in die grünen Routenbilddaten 5-22-2 bzw.
ein Wert 0 in die übrigen
Routenbilddaten 5-22-1 und 5-22-3 geschrieben, um
die Route grün
darzustellen. Der Wert 255 kann entsprechend geändert werden. Der Verarbeitungsschritt 537 schreibt
eine 0 in die Elemente aller Routenbilddaten 5-22-1 bis 5-22-3,
die dem Pixel (Xb×10+i,
Yb×10+j)
entsprechen, weil der segmentierte Bereich (Xb, Yb) nicht auf der
Route liegt, und das Programm geht weiter zu Verarbeitungsschritt 538.
Die Verarbeitungsschritte 304 bis 314 bilden die Adressaktualisierungsverarbeitung
zur Ausführung der
vorstehenden Verarbeitung für
alle Pixel.
-
Wie
nachstehend erläutert,
werden die segmentierten Bereiche auf der Route in einer durchscheinenden
Farbe in überlappender
Weise mit dem Bild des sich bewegenden Objekts angezeigt. Bei der vorliegenden
Ausführungsform
wird die Route in durchscheinendem Grün angezeigt. Weil der Verarbeitungsschritt 536 die
Werte für
die Routenbereichsdaten 5-21 unverändert als Routentransparenzgraddaten 5-22-4 verwendet,
wird der Wert der Routentransparenzgraddaten, die einem segmentierten
Bereich entsprechen, größer, wenn
das sich bewegende Objekt den segmentierten Bereich mehrfach durchläuft oder
wenn die Verweilzeit des sich bewegenden Objekts in dem segmentierten
Bereich länger ist.
Bei der vorliegenden Ausführungsform
wird ein segmentierter Bereich mit einem größeren Wert der Routentransparenzgraddaten
in einer dunkleren durchscheinenden Farbe angezeigt, wie nachstehend
erläutert.
Daher kann der Bediener einen Zeitfaktor für die Bewegung des sich bewegenden
Objekts wie etwa dessen Verweilzeit usw. auf einen Blick bestätigen.
-
(4e) Extraktionsverarbeitung 600 für das Bild
des sich bewegenden Objekts
-
Die
Verarbeitungsschritte 601 bis 611 (20)
extrahieren das Bild eines sich bewegenden Objekts, wenn sich mindestens
ein Teil des sich bewegenden Objekts in einem vorbestimmten Bereich
im Sichtfeld der Kamera 9 oder in einem entsprechenden
vorbestimmten Bereich in dem Frame-Bild 50 befindet (2).
Im Einzelnen ist dieser vorbestimmte Bereich im Sichtfeld ein Bereich,
der länger
als breiter ist und einem mittleren Teil des Sichtfelds der Kamera 9 zugewiesen
ist, und der entsprechende vorbestimmte Bereich auf dem Bildschirm 50 ist
ein Schlitzbereich, der länger
als breiter ist, in der Mitte des Bildschirms 50. Der vorbestimmte Bereich
in dem Frame-Bild wird als Extraktionsbereich für das Bild eines sich bewegenden
Objekts bezeichnet. Das heißt,
die segmentierten Bereiche (8, 0) bis (8, 12) des Frame-Bilds werden
als der Extraktionsbereich für
das Bild des sich bewegenden Objekts verwendet. Die vorliegende
Erfindung verwendet ein Verfahren zum Erfassen der Zeit, wenn ein vorbestimmtes
Verhältnis
eines sich bewegenden Objekts in den Extraktionsbereich für das Bild
des sich bewegenden Objekts eingetreten ist, und zum Speichern des
Frame-Bilds zu diesem Zeitpunkt als das Bild des sich bewegenden
Objekts. Nach dem Verfahren ist es möglich, ein Bild eines sich
bewegenden Objekts zu speichern, wenn das sich bewegende Objekt
sich an beinahe derselben relativen Position zum Extraktionsbereich
für das
Bild des sich bewegenden Objekts befindet, unabhängig von der Größe des sich
bewegenden Objekts.
-
Die
Verarbeitungsschritte 601 bis 609 zählen die
Gesamtzahl der drei verwendeten Bildänderungsbereiche, wenn die Änderung
der relativen Position zwischen dem sich bewegenden Objekt und dem
Extraktionsbereich für
das Bild des sich bewegenden Objekts ermittelt wird. Der Verarbeitungsschritt 601 initialisiert
die Variable Xb, die der einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummer in X-Richtung entspricht, auf 8, was
allen segmentierten Bereichen entspricht, die den Extraktionsbereich
für das
Bild des sich bewegenden Objekts darstellen, und initialisiert die
Variable Yb, die der einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummer in Y-Richtung entspricht, auf 0 sowie
die drei Variablen now_count, old_count und same_count, die sich
auf die Anzahl der im Extraktionsbereich für das Bild des sich bewegenden
Objekts enthaltenen Bildänderungsbereiche
beziehen. Der Verarbeitungsschritt 602 prüft, ob das
Element, das dem segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-19 entspricht,
den Wert 1 hat. Das Programm fährt mit
Verarbeitungsschritt 603 fort, wenn der Wert 1 ist, bzw.
mit Verarbeitungsschritt 604, wenn dies nicht der Fall
ist. Der Verarbeitungsschritt 603 addiert 1 zu der Variablen
now_count. Die Variable now_count gibt die Gesamtzahl der Bildänderungsbereiche
im Extraktionsbereich für
das Bild des sich bewegenden Objekts in dem aktuellen Frame-Bild
an.
-
Der
Verarbeitungsschritt 604 prüft, ob das Element, das dem
segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-20 für den vorherigen
Frame entspricht, den Wert 1 hat. Das Programm fährt mit Verarbeitungsschritt 605 fort,
wenn der Wert 1 ist, bzw. mit Verarbeitungsschritt 606, wenn
dies nicht der Fall ist. Der Verarbeitungsschritt 603 addiert
1 zu der Variablen old_count. Die Variable old_count gibt die Gesamtzahl
der Bildänderungsbereiche
im Extraktionsbereich für
das Bild des sich bewegenden Objekts in dem vorherigen Frame-Bild an.
-
Der
Verarbeitungsschritt 606 prüft, ob das Element, das dem
segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-19 entspricht, den
Wert 1 hat, und gleichzeitig ob das Element, das dem segmentierten
Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-20 für den vorherigen
Frame entspricht, den Wert 1 hat; er geht weiter zu Verarbeitungsschritt 607,
wenn der segmentierte Bereich (Xb, Yb) die beiden Bedingungen erfüllt, bzw.
zu Verarbeitungsschritt 607, wenn dies nicht der Fall ist.
Der Verarbeitungsschritt 607 addiert 1 zu der Variablen same_count.
Die Variable same_count gibt die Gesamtzahl der segmentierten Bereiche
an, die zu dem Extraktionsbereich für das Bild des sich bewegenden Objekts
gehören,
die als Bildänderungsbereiche
im aktuellen Frame-Bild und/oder im vorherigen Frame-Bild ermittelt
worden sind. Die Verarbeitungsschritte 608 und 609 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche im Extraktionsbereich für das Bild des sich bewegenden Objekts.
Im vorliegenden Beispiel umfasst der Extraktionsbereich für das Bild
des sich bewegenden Objekts die segmentierten Bereiche (8,0) bis
(8,12), so dass bei dieser Adressaktualisierungsverarbeitung nur
die Y-Richtungsadresse
Yb der segmentierten Bereiche aktualisiert wird.
-
Die
Verarbeitungsschritte 610 bis 619 (21)
erzeugen die Daten für
das Bild des sich bewegenden Objekts. Der Verarbeitungsschritt 610 prüft, ob die
Variable now_count den Wert 1 oder größer aufweist, und gleichzeitig
ob das Verhältnis
des Doppelten der Variablen same_count zur Summe der Variablen now_count
und der Variablen old_count nicht größer ist als 0,48. Die erste
Bedingung besagt, dass sich mindestens ein Teil des Bilds des sich
bewegenden Objekts für
den gegenwärtigen
Frame in mindestens einem segmentierten Bereich im Extraktionsbereich
für das
Bild des sich bewegenden Objekts befinden muss. Die linke Seite
der zweiten Bedingung ist ein Parameter, der das Verhältnis des Teils
misst, das sich im Extraktionsbereich für das Bild des sich bewegenden
Objekts in dem Bild des sich bewegenden Objekts befindet. Wenn das
Bild des sich bewegenden Objekts zum ersten Mal in einem bestimmten
Frame in den Extraktionsbereich für das Bild des sich bewegenden
Objekts eintritt, ist die linke Seite des zweiten Ausdrucks 0, denn
die Variable same_count ist immer noch 0. Wenn das Verhältnis des Teils,
das sich im Extraktionsbereich für
das Bild des sich bewegenden Objekts im Bild des sich bewegenden
Objekts befindet, später
zunimmt, wird auch die linke Seite des zweiten Ausdrucks größer. Wenn
das Verhältnis
jedoch nicht so groß ist,
ist auch der Wert der Variablen same_count klein. Daher nimmt die
linke Seite des zweiten Ausdrucks einen Wert an, der deutlich kleiner
ist als 1. Wird das Verhältnis
größer, nähern sich
die Variablen old_count, now_count und same_count beinahe denselben Werten,
und die linke Seite der zweiten Bedingungen nähert sich 1. Erreicht dieses
Verhältnis
einen bestimmten Wert, ändert
sich der Wert auf der linken Seite nicht mehr sehr. Daher ändert sich
der Wert auf der linken Seite des zweiten Ausdrucks ziemlich signifikant,
wenn das Verhältnis
des Teils, der sich im Extraktionsbereich für das Bild des sich bewegenden Objekts
in dem Bild des sich bewegenden Objekts befindet, nicht so groß ist. In
Anbetracht der vorstehenden Merkmale ist die vorliegende Ausführungsform
so beschaffen, dass das Frame-Bild
als das Bild des sich bewegenden Objekts gespeichert wird, wenn
der Wert auf der linken Seite des zweiten Ausdrucks nicht größer als
0,48 ist, ein Wert, der etwas kleiner als die Hälfte des Sättigungswerts 1 für die linke
Seite des zweiten Ausdrucks ist.
-
Das
Programm fährt
mit Verarbeitungsschritt 611 fort, wenn der gegenwärtige Frame
diese beiden Bedingungen für
Verarbeitungsschritt 610 erfüllt, bzw. mit Verarbeitungsschritt 620,
wenn dies nicht der Fall ist. Der Verarbeitungsschritt 611 initialisiert die
Variablen X und Y, die den X- und Y-Koordinaten eines zu verarbeitenden
Pixels entsprechen, auf 0. Der Verarbeitungsschritt 612 weist
das dem Pixel (X, Y) der gegenwärtigen
Frame-Bilddaten 5-5 entsprechende Element dem Element zu,
das demselben Pixel in den Daten 5-23 für das Bild des sich bewegenden
Objekts entspricht, und geht weiter zu Verarbeitungsschritt 613.
Der Verarbeitungsschritt 613 schreibt dabei die Zeit in
die Extraktionszeit für
das Bild des sich bewegenden Objekts mit einer Route 5-2-3 als
die Extraktionszeit für
das Bild des sich bewegenden Objekts mit einer Route. Die Verarbeitungsschritte 614 bis 619 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. Der Verarbeitungsschritt 619 weist der Variablen
Paste_flag, die den Abschluss der Erzeugung der Daten für das Bild
des sich bewegenden Objekts angibt, den Wert 1 zu.
-
Im
Laufe der Wiederholung der Extraktionsverarbeitung 600 für das Bild
des sich bewegenden Objekts kann es vorkommen, dass ein Frame-Bild
die beiden in Verarbeitungsschritt 610 gezeigten Bedingungen
erfüllt
und das nachfolgende Frame-Bild dieselben Bedingungen ebenfalls
erfüllt.
In diesem Fall werden die Verarbeitungsschritte 612, 613 und 614 wiederholt,
und die Daten 5-23 für
das Bild des sich bewegenden Objekts und die Extraktionszeit für das Bild
des sich bewegenden Objekts mit einer Route 5-2-3 werden
durch die Daten für
das Bild des sich bewegenden Objekts und die Extraktionszeit für das Bild
des sich bewegenden Objekts mit einer Route ersetzt, die beide für den nachfolgenden
Frame extrahiert worden sind. Daher bleiben die Daten für das Bild
des sich bewegenden Objekts und die Extraktionszeit für das Bild
des sich bewegenden Objekts mit einer Route für das Frame-Bild unmittelbar
vor dem Frame-Bild, für
das der Wert auf der linken Seite in Verarbeitungsschritt 610 größer als
0,48 ist, als die Daten 5-23 für das Bild des sich bewegenden
Objekts und die Extraktionszeit für das Bild des sich bewegenden
Objekts mit einer Route 5-2-3 erhalten.
-
Die
Verarbeitungsschritte 620 bis 626 (22)
bilden die Adressaktualisierungsverarbeitung für die Bildänderungsbereichsdaten 5-20 des vorherigen
Frames. Der Verarbeitungsschritt 620 initialisiert die
Variablen Xb und Yb, die den einem zu verarbeitenden segmentierten
Bereich zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 621 weist das Ele ment,
das dem segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-19 entspricht,
dem Element zu, das dem segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-20 des
vorherigen Frames entspricht, und geht weiter zu Verarbeitungsschritt 622.
Die Verarbeitungsschritte 622 bis 626 bilden die
Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche.
-
(4f) Verarbeitung 700 zum Anzeigen
des Bilds eines sich bewegenden Objekts mit einer Route
-
Die
Verarbeitungsschritte 700 bis 708 (23)
zählen
die Gesamtzahl der Bildänderungsbereiche,
die auf dem Frame-Bildschirm existieren, basierend auf den Bildänderungsbereichsdaten 5-19. Der
Verarbeitungsschritt 701 initialisiert die Variablen Xb
und Yb, die den einem zu verarbeitenden segmentierten Bereich zugewiesenen
laufenden Nummern in X- und Y-Richtung entsprechen, und die Variable
all_count, die der Gesamtzahl der Bildänderungsbereiche entspricht,
auf 0. Der Verarbeitungsschritt 702 prüft, ob das Element, das dem
segmentierten Bereich (Xb, Yb) in den Bildänderungsbereichsdaten 5-19 entspricht,
den Wert 1 hat, und fährt mit
Verarbeitungsschritt 703 fort, wenn das Element den Wert
1 hat, bzw. mit Verarbeitungsschritt 704, wenn dies nicht
der Fall ist. Der Verarbeitungsschritt 703 addiert 1 zu
der Variable all_count und geht weiter zu Verarbeitungsschritt 704.
Die Verarbeitungsschritte 704 bis 708 bilden die
Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche. Damit gibt die Variable all_count die Gesamtzahl
der Bildänderungsbereiche
an, die in dem gegenwärtigen
Frame-Bildschirm vorliegen. Die Gesamtzahl wird bei der nachstehend
beschriebenen Verarbeitung verwendet, um die Zeit zu ermitteln,
an der das sich bewegende Objekt aus dem Sichtfeld der Kamera 9 ausgetreten
ist.
-
Die
Verarbeitungsschritte 709 bis 726 (24)
dienen zum Erzeugen und Anzeigen des Bilds des sich bewegenden Objekts
mit einer Route 5-2-2. Bei der vorliegenden Ausführungsform
werden die Daten für
das Bild eines sich bewegenden Objekts mit einer Route 5-2-2 erzeugt,
wenn das sich bewegende Objekt vom Bildschirm verschwindet, nachdem
es in den Extraktionsbereich für
das Bild des sich bewegenden Objekts eingetreten ist, indem ein
auf die Hälfte
reduziertes Bild der Daten 5-23 für das Bild des sich bewegenden
Objekts und ein auf die Hälfte
reduziertes Bild der Routenbilddaten 5-22 synthetisiert
werden. Dabei werden die Daten 5-23 für das Bild des sich bewegenden
Objekts und die Routenbilddaten 5-22 so synthetisiert,
dass das Routenbild in einer durchscheinenden Farbe in überlappender
Weise mit dem Bild des sich bewegenden Objekts angezeigt wird.
-
Nach
dem Extrahieren des Bilds des sich bewegenden Objekts beurteilt
der Verarbeitungsschritt 709 zuerst, ob die Variable Paste_flag
den Wert 1 hat, und gleichzeitig, ob die Variable all_count den Wert
0 hat, um zu prüfen,
ob das sich bewegende Objekt den Bildschirm verlassen hat. Das Programm fährt mit
Verarbeitungsschritt 710 fort, wenn das aktuelle Frame-Bild
die beiden Bedingungen erfüllt, bzw.
mit Verarbeitungsschritt 100, wenn dies nicht der Fall
ist.
-
Der
Verarbeitungsschritt 710 initialisiert die Variablen X
und Y, die den X- und Y-Koordinaten eines zu verarbeitenden Pixels
entsprechen, auf 0. Der Verarbeitungsschritt 711 addiert
ein erstes Produkt der Gewichtung α, des Elements entsprechend
dem Pixel (X×2,
Y×2) der
jeweiligen Farbkomponentendaten 5-22-1, 5-22-2 oder 5-22-3 und
des Elements entsprechend dem Pixel (X×2, Y×2) der Routentransparenzgraddaten 5-22-4 in
den Routenbilddaten 5-22 zu einem zweiten Produkt der Gewichtung
1-α, des Elements
entsprechend dem Pixel (X×2,
Y×2) in
den Farbkomponentendaten 5-23-1, 5-23-2 oder 5-23-3 in
den Daten 5-23 für
das Bild des sich bewegenden Objekts und des Elements entsprechend dem
Pixel (X×2,
Y×2) in
den Routentransparenzgraddaten 5-22-4 in den Routenbilddaten 5-22.
Der Verarbeitungsschritt 711 weist weiter die resultierenden
Farbkomponentendaten dem Element entsprechend dem Pixel (X, Y) in
den Daten für
das Bild eines sich bewegenden Objekts mit einer Route 5-5-2 zu.
Die Gewichtung α ist
ein geeigneter Wert, der kleiner als 1 und größer als 0 ist. Der Verarbeitungsschritt 711 wird
für jede
Farbkomponente Rot, Grün
und Blau ausgeführt.
Auf diese Weise werden die Bilddaten zum Anzeigen des Routenbilds
in einer durchscheinenden Farbe in überlappender Weise mit dem
Bild des sich bewegenden Objekts erhalten. Wie aus der vorstehenden
Berechnung ersichtlich, gilt: Je größer der Wert des Elements der
Routentransparenzgraddaten 5-22-4, desto dunkler ist die
durchscheinende Farbe zum Anzeigen der Route. Die Verarbeitungsschritte 712 bis 716 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
Pixel. So werden die Daten für
das Bild eines sich bewegenden Objekts mit einer Route 5-2-2 erzeugt.
Dabei wird außerdem
die Identifikationsnummer des Bilds eines sich bewegenden Objekts
mit einer Route 55-2-1 festgelegt.
-
Die
Verarbeitungsschritte 719 bis 724 löschen die
Routenbereichsdaten 5-21 und die Variable Paste_flag auf
0. Der Verarbeitungsschritt 718 initialisiert die Variablen
Xb und Yb, die den einem zu verarbeitenden segmentierten Bereich
zugewiesenen laufenden Nummern in X- und Y-Richtung entsprechen,
auf 0. Der Verarbeitungsschritt 719 löscht das dem segmentierten
Bereich (X, Y) entsprechende Element in den Routenbereichsdaten 5-21 auf
0. Die Verarbeitungsschritte 720 bis 724 bilden
die Adressaktualisierungsverarbeitung zur Ausführung der vorstehenden Verarbeitung
für alle
segmentierten Bereiche. Der Verarbeitungsschritt 725 weist
der Variablen Paste_flag den Wert 0 zu, um anzuzeigen, dass die
Erzeugung der Daten für
das Bild eines sich bewegenden Objekts mit einer Route abgeschlossen ist,
und geht weiter zu Verarbeitungsschritt 726.
-
Der
Verarbeitungsschritt 726 legt die Anzeigeposition X für das Bild
eines sich bewegenden Objekts mit einer Route (5-2-4) und
die Anzeigeposition Y für
das Bild eines sich bewegenden Objekts mit einer Route (5-2-5)
auf die mit Verarbeitungsschritt 711 erzeugten Daten für das Bild
eines sich bewegenden Objekts mit einer Route 5-2-2 fest
und zeigt die Daten für
das Bild eines sich bewegenden Objekts mit einer Route 5-2-2 an
der festgelegten Position im Bereich 70 auf dem Bildschirm
an. Wenn bereits ein Bild eines sich bewegenden Objekts mit einer
Route angezeigt wird, wird die Position, an der das Bild angezeigt
werden soll, neu festgelegt, so dass das neue Bild des sich bewegenden
Objekts mit einer Route angrenzend an das bereits angezeigte Bild
des sich bewegenden Objekts angezeigt wird. Nach Ende des Verarbeitungsschritts 726 fährt das
Programm mit Verarbeitungsschritt 100 fort, in dem ein
neues Frame-Bild eingegeben wird. Mit den vorstehend beschriebenen
Verarbeitungsschritten wird ein Bild erzeugt und angezeigt, das
ein Bild mit einem sich bewegenden Objekt und einer hinzugefügten Bewegungsroute
des sich bewegenden Objekts enthält.
-
Wie
aus der vorstehenden Erklärung
hervorgeht, verwendet die vorliegende Ausführungsform die zeitveränderlichen
Kanten, die an unterschiedlichen Positionen in nicht weniger als
zwei vorherigen Frames vorliegen, zum Detektieren der Bewegungscharakteristik
des sich bewegenden Objekts. Im Allgemeinen ist die Überwachungskamera
feststehend, und daher bewegen sich die Kanten des Hintergrunds
nicht. Die durch den Hintergrund erzeugten Kanten können mit
Hilfe der zeitveränderlichen
Kanten entfernt werden. Dadurch ist es möglich, nur die Kanten der sich
bewegenden Teile eines Objekts zu extrahieren, das in den Überwachungsbereich
eingetreten ist.
-
Darüber hinaus
ist es möglich,
das fälschliche
Extrahieren eines Bereichs, der eine Bewegungsänderung wie etwa das Schaukeln
der Blätter von
Bäumen
im Bild enthält,
als einen Bildänderungsbereich
zu verhindern, indem die Farb charakteristikverarbeitung, die eine
zeitliche Änderung
der Farbcharakteristik in jedem Bereich prüft, beim Extrahieren eines
sich bewegenden Objekts benutzt wird.
-
Außerdem ist
es möglich,
einen Bereich, der die Bewegung einer Person enthält, die
stehengeblieben ist und eine Arbeit ausführt, als einen Bildänderungsbereich
(Routenbereich) eines sich bewegenden Objekts zu beurteilen, indem
die Routenbereichsdaten für
die benachbarten Bereiche verwendet werden.
-
Zusätzlich kann
der Bediener eine zeitliche Änderung
in der Route eines sich bewegenden Objekts auf einen Blick bestätigen, indem
die Bereiche, die zur Route des sich bewegenden Objekts werden, in
einer durchscheinenden Farbe angezeigt werden, und indem außerdem die
Bereiche, in denen sich eine Person länger aufgehalten hat oder die
die Person mehrfach durchlaufen hat, in einer dunkleren durchscheinenden
Farbe angezeigt werden.
-
Die
vorliegende Erfindung ist nicht auf die vorstehend beschriebenen
Ausführungsformen
beschränkt,
sondern kann in verschiedenen Ausführungsformen realisiert werden.
Das Verfahren zum Detektieren des sich bewegenden Objekts kann zum Beispiel
mit anderen Verfahren erreicht werden. Bei der Ausführungsform
wird angenommen, dass sich der Extraktionsbereich für das Bild
des sich bewegenden Objekts in der Mitte des Bildschirms befindet, aber
die vorliegende Erfindung kann auch in einem Fall angewendet werden,
wo der Extraktionsbereich für
das Bild des sich bewegenden Objekts eine andere Position und Größe aufweist.
In diesem Fall sind entsprechende Änderungen der eingestellten
Ausgangswerte für
den Verarbeitungsschritt 600 und die in den Verarbeitungsschritten 608 und 609 durchgeführte Adressaktualisierungsverarbeitung
erforderlich.
-
Das
in der vorstehenden Ausführungsform beschriebene
Verfahren ist auf Personen als sich bewegende Objekte angewendet
worden, kann aber auch auf Autos oder andere sich bewegende Objekte angewendet
werden. Darüber
hinaus wurde das vorstehend beschriebene Verfahren auf das Extrahieren des
Bilds eines sich im Freien bewegenden Objekts und auf das Extrahieren
der Bewegungsroute angewendet, kann aber auch für Objekte benutzt werden, die
sich in Innenräumen
bewegen. Außerdem
wird bei dem vorstehend beschriebenen Verfahren angenommen, dass
sich jeweils nur ein sich bewegendes Objekt im Sichtfeld der Kamera
befindet, aber der grundlegende Teil des Verfahrens kann auch unverändert für
einen Fall benutzt werden, bei dem gleichzeitig mehrere Objekte
vorhanden sind. Darüber
hinaus ist es auch möglich,
das vorstehend beschriebene Verfahren so zu modifizieren, dass das
Detektieren des Bilds jedes einzelnen von mehreren sich bewegenden
Objekten und ihrer Bewegungsrouten ermöglicht wird, wenn diese mehreren
sich bewegenden Objekte sich gleichzeitig im Sichtfeld der Kamera befinden.
-
Bei
der vorstehenden Ausführungsform
wird das Bild eines sich bewegenden Objekts mit einer Route in Echtzeit
angezeigt, aber es ist möglich,
ein Verfahren zum fortlaufenden Speichern von Routenbildern für mehrere
sich bewegende Objekte in der externen Datenspeichervorrichtung 13 anzuwenden und
diese Bilder fortlaufend auf dem Bildschirm oder in benachbarten
Positionen auf demselben Bildschirm anzuzeigen.
-
Wie
aus der vorstehenden Erläuterung
ersichtlich, wird nach der vorliegenden Erfindung automatisch ein
Bild erzeugt und angezeigt, das ein Bild eines sich bewegenden Objekts
und ein hinzugefügtes
Bild einer Route des sich bewegenden Objekts aufweist. So kann eine Überwachungsperson
auf einfache Weise ein Objekt, das in den Überwachungsbereich eingetreten
ist, und dessen Bewegungsroute erkennen.