-
Die
vorliegende Erfindung bezieht sich auf Videobeobachtungssysteme
und insbesondere auf Videoüberwachungs-
und Beobachtungssysteme, die imstande sind, asynchron gemultiplexte
Video von mehreren Kameras abzuwickeln.
-
Computer-Bildüberwachungssysteme
und Beobachtungssysteme werden typischerweise unter Anwendung von
Algorithmen implementiert, die Bilder aus einer einzigen Kamera
abwickeln können. Bei
diesen Systemen wird Video von nur einer Kamera in ein Videoüberwachungssystem
gegeben, das einen Computerbildalgorithmus benutzt um Ereignisse
in den Videobildern zu ermitteln. Derartige Ereignisse könnten beispielsweise
nicht autorisierte Personen in einem Gebiet, eine Schlange, die
zu lange ist, eine offen gelassene Tür, nicht ausgeschaltetes Licht,
oder Rauch umfassen.
-
Es
gibt auch Überwachungssysteme
auf Basis von Mehr-Kamera-Computerbildern.
Diese Mehr-Kameraaufstellungen erfordern entweder (i) Mehr Videoeingänge, die
unabhängig
voneinander verarbeitet werden, oder (ii) einen vom Computer steuerbaren
Multiplexer um zu jeder beliebigen Zeit aus den vielen Kameras denjenigen
Videoeingang zu wählen,
der dem Algorithmus zugesendet wird. Im Allgemeinen sind Frame-genaue Multiplexer
(hier als "synchrone" Multiplexer bezeichnet),
die von einem Computer gesteuert werden können teurer als diejenigen,
die asynchron von der einen auf die andere Kamera schalten.
-
Aber
asynchrone Videomultiplexer bilden ein Problem, indem man nie zuvor
weiß,
wann sie schalten. Mit anderen Worten, ein asynchroner Videomultiplexer
wird von Kamera zu Kamera schalten auf eine Art und Weise, die bestimmt
werden kann, bevor der Multiplexer zu schalten anfängt oder
die durch Verwendung einer Computerschnittstelle eingestellt werden
kann. Ein asynchroner Videomultiplexer wird nicht auf eine bekannte
Art und Weise von Kamera zu Kamera schalten und ist im Allgemeinen
nicht programmierbar. Wenn ein Videoüberwachungssystem von einem
Operator besetzt ist, dann ist die Verwendung eines asynchronen
Multiplexers kein wesentlicher Punkt, weil der Operator bestimmen
kann, welcher Raum von einer Video-Wiedergabeanordnung wiedergegeben
wird, sogar, wenn die Wiedergabeanordnung nur eine vorbestimmte
Anzahl Video-Frames von einer Kamera des gemultiplexten Videostroms
wiedergibt. Es ist auch relativ einfach für einen Operator zu bestimmen,
welche Ereignisse sich in jedem Raum abspielen.
-
Dagegen
analysieren heutige Computerbild-Algorithmen kein Video von einem
asynchronen Videomultiplexer. Folglich gibt es ein Bedürfnis nach Videoüberwachungssystemen
und Beobachtungssystemen, welche die Verwendung asynchroner Videomultiplexer
ermöglichen
und dennoch auf entsprechende Art und Weise Ereignisse an jedem
einer Anzahl Kamerazugängen überwachen.
-
EP 0 560 314 A1 beschreibt
ein Videobeobachtungssystem mit einer Anzahl Kameras, wobei ein
Multiplexer ID Signale, die je einem Kameraeingang entsprechen,
zu Eingangsbildern hinzufügt,
wobei die ID Signale danach von dem Multiplexer von dem Demultiplexer
benutz werden um die Eingangsbilder in dem Videogemultiplexten Signal
den entsprechenden Kameras zuzuordnen.
-
Im
Allgemeinen schafft die vorliegende Erfindung Videoüberwachungssysteme
und Beobachtungssysteme, die imstande sind, asynchron gemultiplextes
Video aus mehreren Kameras zu verarbeiten. Aspekte der vorliegenden
Erfindung können
konfiguriert werden zum Demultiplexen eines asynchron gemultiplexten
Videosignals, das Bilder von einer Anzahl verschiedener Kameras
aufweist.
-
In
einem Aspekt der vorliegenden Erfindung wird ein Eingangsbild akzeptiert
und mit einer Anzahl Zustände
verglichen. Das Eingangsbild ist von einem Signal mit einer Anzahl
Bilder von einer Anzahl verschiedener Kameras. Das Bild wird einem
Zustand zugeordnet, wenn das Eingangsbild dem Zustand entspricht. Übereinstimmung
erfolgt durch Schaffung von Eingangsbildinformation aus dem Eingangsbild und
durch vergleich der Eingangsbildinformation mit Zustandsbildinformation
von jedem der Zustände, wobei
jeder Zustand einer gespeicherten Bildinformation entspricht. Die
Zustände
können
durch jede beliebige Anzahl bekannter Techniken modelliert werden,
wie "Hidden Markov
Models", Histogramme, oder
Clustering.
-
In
einem zweiten Aspekt der vorliegenden Erfindung wird jedes Eingangsbild
aus einem asynchron gemultiplexten Videosignal ermittelt. In diesem Aspekt
soll jeder Zustand nach gewisser Zeit einer Eingangskamera entsprechen.
Jedes Eingangsbild soll einem Zustand entsprechen und der Zustand,
zu dem ein Eingangsbild gehört,
soll ermittelt werden. Wenn ein Eingangsbild mit einem Zustand übereinstimmt,
kann das Eingangsbild dem betreffenden Zustand zugeordnet und als
zu diesem Zustand gehören
ausgeliefert wer den. Folglich kann eine Kamera beliebig gewählt werden
und ein Bild von der selektierten Kamera kann einem Zustand zugeordnet
werden. Weil der Zustand der selektierten Kameras entspricht, wird
das Bild aus dem asynchron gemultiplexten Videosignal gedemultiplext
und dieses Demultiplexen geschieht ohne Vorkenntnisse, welchen Platz
die Bilder in dem asynchron gemultiplexten Videosignal haben.
-
In
einem dritten Aspekt der vorliegenden Erfindung werden die jeweiligen
Ausgangsbilder analysiert um Zonenereignisse für jeden Zustand zu ermitteln.
Nach einer gewissen Zeitperiode sollen die Zonenereignisse für Eingangskameras
charakteristisch sein, Derartige Ereignisse können Notereignisse sein, wie
Feuer oder Rauch, unberechtigter Eintritt, und Schlangenverwaltung.
-
In
einem vierten Aspekt der vorliegenden Erfindung werden neue Zustände hinzugefügt, wenn Bilder
eingegeben werden, die nicht mit bereits bestehenden Zuständen übereinstimmen.
Folglich kann dieser Aspekt der vorliegenden Erfindung ohne Zustände starten
und wird im Laufe der Zeit eine Anzahl Zustände entwickeln. Die Anzahl
Zustände
soll nach gewisser Zeit der Anzahl Eingangskameras entsprechen.
Außerdem
können
Zustände
gelöscht
werden.
-
In
einem fünften
Aspekt der vorliegenden Erfindung werden die Zustände durch
ein "Hidden Markov
Model (HMM)" modelliert.
Das HMM ermöglicht nicht
nur, dass Zustände
ermittelt werden, sondern auch, dass Übergänge zwischen den Zuständen ermittelt
werden. Nach einer Trainingsperiode soll das HMM je Eingangskamera
einen Zustand schaffen, und soll auch Übergänge zwischen Zuständen schaffen.
Die Übergänge modellieren,
wie ein asynchroner Videomultiplexer zwischen Kameras schaltet und kann
verwendet werden zur Verbesserung der Schätzung, zu welcher Kamera ein
Eingangsbild gehört.
-
Ein
komplettes Verständnis
der vorliegenden Erfindung, sowie weitere Merkmale und Vorteile
der vorliegenden Erfindung dürften
aus der nachfolgenden detaillierten Beschreibung der Zeichnung hervorgehen.
Es zeigen:
-
1 eine
Darstellung eines Beispiels eines Videoüberwachungssystems nach einer
bevorzugten Ausführungsform
der vorliegenden Erfindung,
-
2 ein
Blockschaltbild eines Beispiels eines Videoüberwachungssystems nach 1,
dargestellt, arbeitend entsprechend einer bevorzugten Ausführungsform
der vorliegenden Erfindung,
-
3 ein
Flussdiagramm eines Beispiels eines Verfahrens zur Kamera-Demultiplexierung,
entsprechend einer bevorzugten Ausführungsform der vorliegenden
Erfindung,
-
4 ein
Beispiel eines Zustandsdiagramms, das Kamerabilder modelliert, entsprechend einer
bevorzugten Ausführungsform
der vorliegenden Erfindung, und
-
5 ein
Blockschaltbild eines Beispiels eines Zustandsinformationsspeichergebietes
nach einer bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
In 1 ist
ein Blockschaltbild eines Beispiels eines Videoüberwachungssystems 100 dargestellt,
das nach einer bevorzugten Ausführungsform der
vorliegenden Erfindung arbeitet. Das Videoüberwachungssystem 100 umfasst
Kameras 110-1 bis 110-N (zusammen als "Kameras 110" bezeichnet), Kameraspeisungen 115-1 bis 115-N (zusammen
als "Kameraspeisung 115" bezeichnet) und
einen asynchronen Videomultiplexer 120, einen gemultiplexten Kameraausgang 125 und
ein Videobeobachtungssystem 130. Das Videobeobachtungssystem 130 ist dargestellt
interaktiv mit einer DVD 135 und einem Netzwerk. Das Videobeobachtungssystem 130 umfasst
einen Prozessor 140 und einen Speicher 145. Der
Speicher 145 umfasst einen Bildaufbereiter 145, ein
aktuelles Bild 155, einen Kamera-Demultiplexerprozess 300,
Bildinformation 165, Zustandsinformation 170,
einen Zonenbeobachtungsprozess 175 und Zonenereignisse 180.
-
Der
asynchrone Videomultiplexer 120 ist ein Videomultiplexer,
der asynchron zwischen Kameras 110 und deren assoziierten
Kameraspeisungen 115 schaltet. Mit "asynchron" wird gemeint, dass die Reihenfolge,
in der asynchron der Videomultiplexer 120 zwischen Kameras 110 schaltet,
weder bekannt ist, noch dass die Reihenfolge programmiert werden kann.
Der asynchrone Videomultiplexer 120 erzeugt ein gemultiplextes
Kameraausgangssignal 125, das Bilder von Kameraspeisungen 115 enthält. Es wird erwartet,
dass der asynchrone Videomultiplexer 120 derart zwischen
Kameraspeisungen 115 schalten wird, dass komplette Bilder
(oder Frames) von jeder Kamera genommen werden. Aber dies ist nicht
erforderlich.
-
Der
asynchrone Videomultiplexer 120 erzeugt auf diese Art und
Weise einen Videostrom (d.h. ein gemultiplextes Kameraausgangssignal 125)
mit einer Anzahl Bilder von den jeweiligen Kameras 110. Diese
Bilder sind nicht in einer vorbestimmten Reihenfolge. So könnte beispielsweise
der asynchrone Videomultiplexer 120 in einem System 100 mit
vier Kameras verwendet werden (d.h. N ist vier). Während einer
bestimmten Zeit periode könnte
der asynchrone Videomultiplexer 120 Bilder aus Kameras 110-1, 110-4, 110-2, 110-1, 110-4, 110-3 und 110-1, in
dieser Reihenfolge selektieren. Während einer anderen Zeitperiode,
wobei die zwei Perioden gleich lang sein können, könnte der asynchrone Videomultiplexer 120 Bilder
von den Kameras 110-4, 110-3, 110-2, 110-1 und 110-4 selektieren.
-
Aspekte
der vorliegenden Erfindung berücksichtigen
die begrenzten Kenntnisse darüber,
wie der asynchrone Videomultiplexer 120 zwischen Kameras schalten
wird. Stattdessen, dass eine komplette Beschreibung erforderlich
ist, über
wann eine Kameraumschaltung stattfindet und wie lange der Multiplexer
bei der Kamera bleiben wird, präsentiert
die vorliegende Erfindung diese Beschreibung dadurch, dass eine
Anzahl Zustände
geschaffen und verfeinert wird und dass diesen Zuständen Bilder
zugeordnet werden. Wenn die vorliegende Erfindung einmal einige
Zeit trainiert worden ist, soll sie einen Zustand für jede Kamera
schaffen, wenn jede Kamera eingeschaltet ist und eine Stelle mit
einem bestimmten Betrag an Licht sieht. Auf diese Weise soll, ungeachtet, wie
der Multiplexer 120 schaltet, die vorliegende Erfindung
imstande sein, ein gemultiplextes Videosignal in einzelne Kamerabilder
zu demultiplexen.
-
Eine
Art und Weise zum Starten des Demultiplexprozesses ist dadurch,
dass mit einem einzigen Bild von einer einzigen Kamera gearbeitet
wird. Der Bildaufbereiter 150 bereitet ein Bild aus dem
gemultiplexten Kameraausgangssignal 125 auf, und zwar mit
Hilfe von Techniken, die dem Fachmann durchaus bekannt sind. Der
Bildaufbereiter bereitet ein einziges Bild auf und macht dieses
Bild für
den Kamera-Demultiplexprozess 300 verfügbar als ein aktuelles Bild 155.
Der Bildaufbereiter 150 kann auch analoges Video in digitale
Bilder umwandeln, wenn dieser Schritt nicht bereits anderswo durchgeführt wurde.
-
Der
Kamera-Demultiplexprozess 300 extrahiert Bildinformation 165 aus
dem aktuellen Bild 155. Breit gesehen benutzt der Kamera-Demultiplexprozess 300 Bildzusammenpassungstechniken
um ein aktuelles Bild 155 mit gespeicherten Bildern zusammenzupassen,
wobei jedes gespeicherte Bild mit einem Zustand übereinstimmt. So vergleicht
beispielsweise der Kamera-Demultiplexprozess 300 unter
Anwendung von Bildzusammenpassungstechniken, die nachstehend noch
näher beschrieben
werden, das aktuelle Bild 155 mit Bildinformation für jeden
der Anzahl Zustände,
die in der Zustandsinformation 170 gespeichert sind. Wenn
es eine Übereinstimmung gibt,
wird dem aktuellen Bild 155 der Zusammenpassungszustand
zugeordnet und der Kamera-Demultiplexprozess 300 liefert
das aktuelle Bild 155 als herrührend aus dem Übereinstimmungszustand
aus.
-
Der
Zonenbeobachtungsprozess 175 bestimmt danach, zu welcher
Zone der Zustand gehört und
verarbeitet das aktuelle Bild 155. Es sei bemerkt, dass
der Zonenbeobachtungsprozess 175 mit der Bildinformation 165 statt
mit dem aktuellen Bild 155 oder im Zusammenhang damit arbeiten
kann. Der Zonenbeobachtungsprozess 175 kann beispielsweise
ermitteln, wie viel Leute in einer Schlange stehen (wie bei einem
Bankkassenschalter), ob Lichter ggf. brennen oder nicht, ob eine
oder mehrere Personen sich in einem unerlaubten Gebiet befinden,
oder ob es Rauch oder Feuer gibt. Der Zonenbeobachtungsprozess 175 kann
derart konfiguriert werden, dass er Zonenereignisse 180 schafft,
welche die Warnungen vor Gefahr enthalten, Angeben von Abnormalitäten, Schlangenlänge oder
Alarm in Bezug darauf, oder andere Information.
-
Der
Zonenbeobachtungsprozess 175 kann durch einen Operator
geregelt werden um Ausgangssignale des Kamera-Demultiplexprozesses 300 zu liefern,
damit die Kameras 110 besser daran angepasst sind. Dies
wird anhand der 2 näher erläutert.
-
Wie
oben bereits erwähnt,
benutzt der Kamera-Demultiplexprozess 300 Bildzusammenpassungstechniken
zum Zusammenpassen des aktuellen Bildes 155 mit Bildern,
die mit Zuständen
in der Zustandsinformation 170 assoziiert sind. Während die
Bilder selber zum Vergleichen benutzt werden könnten, extrahieren im Allgemeinen
die meisten, wenn nicht alle, Bildzusammenpassungsmethoden Information
aus den Bildern und benutzen die extrahierte Information zum Zusammenpassen.
-
So
benutzt beispielsweise eine relativ einfache Technik zur Bildzusammenpassung
Histogramme. Ein Histogramm ist eine Zählung, wie viele Pixel bestimmte
Werte sind. Einfache Histogramme benutzen eine Grauskala, die eine
zweidimensionale Darstellung des Bildes ist. Komplexere Histogramme
benutzen frei oder mehr Dimensionen, wie die Verwendung von einem
Farbton, Sättigung
und Intensität (HSI)
Histogramm. Für
auf Histogramme basierte Prozesse wird die Bildinformation 165 ein
Histogramm sein. Dieses Histogramm wird mit anderen Histogrammen
in der Zustandsinformation 170 verglichen, wo jeder Zustand
mit wenigstens einem Histogramm assoziiert ist. Eine Übereinstimmung
wird ermittelt, wenn die Histogramme einander entsprechen, wie durch
die Metrik bestimmt. Eine mögliche Metrik
ist die Histogrammintersektionsmetrik, wie detailliert erläu tert in
dem Artikel von M. Swain und D. Ballard: "Color Indexing". "International
Journal Computer Vision 7:1",
11–32
(1991). Ein Beispiel des Zustandshistogramms wird anhand der 4 beschrieben
und ein Beispiel des Zustandsinformationsspeichers 170 wird
anhand der 5 beschrieben.
-
Wenn
es zwischen dem aktuellen Bild 155 und einem Zustand in
der Zustandsinformation 170 keine Übereinstimmung gibt, kann der
Kamera-Demultiplexprozess 300 einen neuen Zustand schaffen und
Bildinformation 165 für
den neuen Zustand speichern. Zusätzliche
Merkmale des Kamera-Demultiplexprozesses 300 werden nachstehend
beschrieben.
-
Es
können
zusätzliche
Zusammenpassungsverfahren angewandt werden. So bestimmen beispielsweise
viele Bildverarbeitungssysteme Merkmale des Bildes. Derartige Merkmale
umfassen Diskrete Kosinustransformationen (DCTs) un Koeffizienten davon,
Mittel von Pixelwerten, Kovarianzen und andere mathematische Anordnungen.
Außerdem
können
die Bilder für
einzigartige Aspekte untersucht werden. So kann beispielsweise eine
einzige Kamera einen Raum Beobachten, der eine Anzahl Ecken, Gemälde, Fernseher
oder andere sichtbar signifikante Items aufweist. Diese Gebiete
können
verwendet werden um zwischen Bildern zu differenzieren.
-
Wenn
die Merkmale einmal ermittelt worden sind, wird Bildinformation 165 diese
Merkmale beschreiben. Die Merkmale von dem aktuellen Bild 155 werden
mit gespeicherten Merkmalen in jedem einer Anzahl Zustände in der
Zustandsinformation 170 verglichen. Die verschiedenen Merkmale
definieren einen Merkmalraum. Eine Technik um zu ermitteln, wie der
Merkmalraum in geordnete Segmente aufgeteilt wird, wird als "Clustering" bezeichnet. Beim
Clustern werden bestimmte Klassen aus vielen Sätzen mit Merkmalen ermittelt.
Diese Klassen können
als die Zustände
darin verwendet werden. Wenn die Klassen einmal ermittelt werden
sind, kann einem unbekannten Satz mit Merkmalen eine der Klassen
zugeordnet werden, oder es können
andere Klassen geschaffen werden.
-
Eine
andere Technik, die im Allgemeinen Merkmalräume benutzt ist "Hidden Markov Models" (HMMs). Ein HHM
umfasst Zustände
und die Zustände
werden durch Wahrscheinlichkeit ermittelt. Weiterhin umfassen HMMs
im Allgemeinen auch Übergänge zwischen
jedem Zustand. Eine Einführung
in die Mustererkennung, die Clustering und HMMs umfasst, ist gegeben
in dem Artikel von Donald O. Tanguay: "Hidden Markov Models for Gesture Recognition" (1955) (nicht veröffentlichte
Ph. D. Thesis, "Massachusetts
Institute of Technology".
Ein Vorteil von HMMs ist, dass diese Modelle nicht nur Clustering schaffen,
sondern auch Übergänge liefern,
die sich auf die Cluster beziehen.
-
Es
sei bemerkt, dass das Videobeobachtungssystem 130 nicht
jede in dem Speicher 150 dargestellte Anordnung aufzuweisen
braucht. So könnte beispielsweise
der Bildaufbereiter 150 eine eigenständige Anordnung sein, die einem
Videobeobachtungssystem 130 ein aktuelles Bild 155 zuführt. Auf gleiche
Weise können
der Zonenbeobachtungsprozess 175 und die Zoneninformation 180 von
dem Videobeobachtungssystem 130 getrennt sein. Das Videobeobachtungssystem 130 und
das Videoüberwachungssystem 100 aus 1 sind
nur Beispiele.
-
Bekanntlich
können
die hier beschriebenen Verfahren und Geräte als ein Herstellungsartikel
verteilt werden, der selber ein mit dem Computer auslesbares Medium
aufweist, das mit dem Computer lesbare Codemittel darin enthält. Die
mit dem Computer auslesbaren Programmcodemittel sind im Zusammenhang
mit einem Computersystem, wie einem Videoüberwachungssystem 100 betreibbar
um alle oder einige Schritte durchzuführen zum Durchführen der
Verfahren oder zum Schaffen der darin beschriebenen Apparatur. Das
mit dem Computer auslesbare Medium kann ein aufzeichenbares Medium
sein (beispielsweise Floppys, Festplatten, CDs wie DVDs 135,
oder Speicherkarten) oder es kann ein Übertragungsmedium sein (beispielsweise
ein Netzwerk mit Faseroptik, der "world-wide web" Kanal, oder ein drahtloser Kanal, wobei
Zeitmultiplexzugriff, Codemultiplexzugriff angewandt wird, oder
ein anderer Funkfrequenzkanal). Jedes Medium, bekannt oder entwickelt,
das Information speichern kann, die zur Verwendung mit einem Computersystem
geeignet ist, kann verwendet werden. Das mit dem Computer auslesbare
Codemittel ist jeder beliebige Mechanismus, der einem Computer die
Möglichkeit
bietet, Instruktionen und Daten, wie magnetische Variationen auf
einem magnetischen Medium oder Höhenvariationen
auf einer Oberfläche
eines CD, wie der DVD 135, zu lesen.
-
Der
Speicher 145 wird den Prozessor 140 konfigurieren
zum Implementieren der hier beschriebenen Verfahren, Schritte und
Funktionen. Der Speicher 145 könnte verteilt werden oder örtlich sein
und der Prozessor 140 könnte
verteilt oder singular sein. Der Speicher 145 können als
ein elektrischer, magnetischer oder optischer Speicher oder als
jede beliebige Kombination derselben oder anderer Typen von Speicheranordnungen
imp lementiert sein. Der Ausdruck "Speicher" soll breit genug ausgelegt werden um
jede beliebige Information zum umfassen, die imstande ist, aus einer
Adresse in dem adressierbaren Raum ausgelesen oder in eine Adresse
in dem adressierbaren Raum eingeschrieben zu werden, wobei der Prozessor 140 auf
diesen Raum zugreifen kann. Mit dieser Definition ist Information
in einem Netzwerk dennoch in dem Speicher 145 des Videoüberwachungssystems 100,
weil der Prozessor 145 die Information aus dem Netzwerk
abrufen kann. Es sei ebenfalls bemerkt, dass das ganze Videoüberwachungssystem 100 oder
Teile davon zu einer integrierten Schaltung oder zu einer ähnlichen
Anordnung gemacht werden kann bzw. können, wie zu einer programmierbaren
logischen Schaltung.
-
In 2 ist
ein Blockschaltbild 200 des Videoüberwachungssystems 100 nach 1 dargstellt, das
entsprechend einer bevorzugten Ausführungsform der vorliegenden
Erfindung arbeitet. Jede Kamera 110 erzeugt eine Kameraspeisung 115,
die in den asynchronen Videomultiplexer 120 eingespeist wird.
Der asynchrone Videomultiplexer 120 multiplext Bilder von
jeder Kamera zu dem gemultiplexten Kameraausgang 125. Die
Bilder werden asynchron gemultiplext, so dass die Reihenfolge der
Abtastung von Kameraspeisungen 115 und der Aufbereitung von
Bildern aus diesen Speisungen nicht im voraus bekannt ist.
-
Der
Bildaufbereiter 150 ermittelt einzelne Bilder aus dem gemultiplexten
Kameraausgangssignal 125. Es sei bemerkt, dass der Bildaufbereiter 150 Teilbilder
von dem asynchronen Videomultiplexer 120 ignorieren kann,
sollte der asynchrone Videomultiplexer 120 Teilbilder schaffen.
Auf alternative Weise können
Teilbilder, die eine vorbestimmte Anzahl aktiver Pixel heben, an
eine aktuelle Bildspeicherstelle gebracht werden. In den beispielen
nach den 1 und 2 wird das
aktuelle Bild 155 von dem Bildaufbereiter 150 geschaffen.
-
Der
Kamera-Demultiplexerprozess 300 verarbeitet das aktuelle
Bild 155 und schafft aus dem aktuellen Bild 155 Bildinformation 165.
Wie oben beschrieben und nachstehend noch näher erläutert wird, kann die Bildinformation
Histogramminformation sein oder eine Anzahl Merkmale, wie eine Anzahl DCT-Koeffizienten,
ein Mittelwert, eine Kovarianz und andere Merkmale, wie dem Fachmann
bekannt.
-
Der
Kamera-Demultiplexerprozess 300 steuert und ermittelt auch
die Zustandsinformation 170, wobei ein strukturelles Beispiel
anhand der 4 beschrieben wird. Zustandsinformation 170 enthält im Allgemeinen
eine Anzahl Zustände
und jeder Zustand hat seine eigene Bildinformation. Der Kamera-Demultiplexerprozess 300 vergleicht
Bildinformation 165 mit der Bildinformation für jeden
der Zustände in
der Zustandsinformation 170 und ermittelt, ob es eine Übereinstimmung
gibt. Wenn es eine Übereinstimmung
gibt, wird das aktuelle Bild dem betreffenden Zustand zugeordnet
und wird als zu diesem Zustand gehörend ausgeliefert. In dem Beispiel
nach 2 erzeugt der Kamera-Demultiplexerprozess 300 Ausgänge 215-1 bis 215-M (zusammen "215"). Jedes Ausgangssignal
entspricht einem Zustand. Auf diese Weise wird, wenn beispielsweise
das aktuelle Bild dem Zustand zwei zugeordnet ist, das aktuelle Bild 155 an
dem Ausgang 215-2 ausgeliefert.
-
Wenn
das aktuelle Bild 155 niet einem Zustand entspricht, wird
die Bildinformation 165 benutzt zum Schaffen eines zusätzlichen
Zustandes in der Zustandsinformation 170 und zum Schaffen
eines zusätzlichen
Ausgangs 215.
-
Es
wird erwartet, dass im Laufe der Zeit die Anzahl Ausgänge 215 (d.h.
M) der Anzahl Kameraspeisungen 115 (d.h. N) entsprechen
wird. Aber es kann sein, dass dies in bestimmten Situationen nicht der
Fall ist. Wenn beispielsweise zwei Kameras schwarze Gebiete mit
verschiedenem Pitch sehen, kann es sein, dass die Bilder dieser
zwei Kameras zu einem Zustand kombiniert werden.
-
Der
Zonenbeobachtungsprozess 175 untersucht jeden Ausgang 215 auf
Zonenereignisse 180. Derartige Ereignisse können Schlangenlängen, Warnungen
für unautorisierte
Personen in bestimmten Gebieten und ein- oder ausgeschaltete Beleuchtung umfassen.
Der Zonenbeobachtungsprozess 175 kann auch eine Abbildung
von Zuständen
zu Kameras 110 umfassen. So könnte beispielsweise ein Operator
bestimmen, dass der Zustand zwei zu der Kamera fünf gehört und den Zonenbeobachtungsprozess 175 derart
programmieren, dass Bilder, die dem Zustand zwei zugeordnet werden,
als von der Kamera fünf
herrührend
bezeichnet werden. Außerdem
kann der Zonenbeobachtungsprozess 175 auf einfache Weise
auf Bilder aus dem Zustand schalten und diese wiedergeben oder aus
dem Zustand mit Zonenereignissen darauf. Dadurch könnte ein
Operator bestimmen, welche Kamera 110 und folglich welche
Zone ein Zonenereignis hat.
-
In 3 ist
ein Verfahren 300 zur Kamera-Demultiplexierung dargestellt,
und zwar entsprechend einer bevorzugten Ausführungsform der vorliegenden
Erfindung. Das Verfahren 300 wird von einem System angewandt
zum Demultiplexen eines gemultiplexten Kamerasignals, wobei das
gemultiplexte Kamerasignal Bilder von einer Anzahl Ka meras enthält. Das
gemultiplexte Kamerasignal könnte
eine Reihe von Bildern enthalten, die synchron aus den Kameras ermittelt
worden sind. Dies bedeutet, dass das Kamerawechselschema und die
Zeit, während der
jede Kamera "zuschaut" bekannt sind. Im
Allgemeinen aber wird das gemultiplexte Kamerasignal eine Reihe
von Bildern enthalten, die asynchron aus den Kameras ermittelt worden
sind. Dies bedeutet, dass entweder das Kamerawechselschema oder
die Zeit, während
der jede Kamera "zuschaut" oder beides unbekannt
sind. Das Verfahren 300 versucht, jede Kameraspeisung aus
dem gemultiplexten Kamerasignal wiederherzustellen.
-
Das
Verfahren 300 fängt
mit dem Schritt 310 an, wenn Eingangsbildinformation aus
einem Eingangsbild ermittelt wird. Die Eingangsbildinformation können Histogrammdaten
sein. Die Eingangsbildinformation können Merkmale, wie DCT Koeffizienten, Mittelwerte,
Kovarianzmessungen oder andere Merkmale sein, die dem Fachmann bekannt
sein dürften. Merkmalextraktion
zum Beschreiben einer Bewegung eines Tennisspielers ist in dem Artikel
von Petkovic u.a. beschrieben worden: "Recognizing Strokes in Tennis Videos
Using Hidden Markov Models" in "Int'l Conf. On Visualization,
Imaging and Images Proc.",
Marbella, Spanien (September 2001). Eine andere mögliche Merkmalextraktion
ist eine komprimierte Chromatizitätssignatur für jedes
Bild. Bezugsmaterial, das die Verwendung von komprimierten Chromatizitätssignaturen
zum Darstellen von Frames mit Videodaten beschreibt, ist Lu u.a.
in: "Classification
of Summarized Video using Hidden Markov Models on Compressed Chromaticity
Signatures", "ACM Multimeida" Ottawa, Kanada,
(Sept.–Okt. 2001).
-
In
dem Schritt 315 wird ermittelt, ob es zur Zeit bestehende
Zustände
gibt. Wenn es keine aktuell bestehende Zustände gibt (Schritt 315 =
NO), dann wird die Bildinformation mit einem Anfangszustand assoziiert
und es wird ein Anfangszustand geschaffen (Schritt 325).
Das Verfahren endet dann bis das nächste Bild zur Analyse fertig
ist.
-
Wenn
es aktuell bestehende Zustände
gibt (Schritt 315 = YES), dann wird durch bekannte Techniken
eine Bildübereinstimmung
durchgeführt.
So kann beispielsweise ein Histogramm als Eingangsbildinformation
ermittelt werden (Schritt 310). Dieses Histogramm kann
dann (Schritt 320) mit anderen gespeicherten Histogrammen
der jeweiligen Zustände zum
Ermitteln einer Übereinstimmung
verglichen werden.
-
Wenn
Clustering angewandt wird, wird die Eingangsbildinformation im Allgemeinen
eine vorbestimmte Anzahl Merkmale sein. Diese Merkmale werden üblicher weise
in einen Vektor gesetzt, der als Merkmalvektor bezeichnet wird.
Clustering betrifft im Allgemeinen das Ermitteln, wo in einem Merkmalraum
ein bestimmtes Cluster sich befindet. Mit anderen Worten ein bestimmter
Betrag an Merkmalraum wird einem Cluster zugeordnet. Wenn die Merkmale des
Eingangsbildes das Cluster in diesen Betrag an Merkmalraum setzen,
wird das Eingangsbild diesem Cluster zugeordnet.
-
Wenn
es beispielsweise zwei Merkmale gibt, dann wird der Merkmalraum
eine Ebene sein. Ein Cluster wird einem bestimmten Gebiet der Ebene
zugeordnet. Werte der zwei Merkmale werden für das Eingangsbild ermittelt
und als Eingangsbildinformation verwendet. Im Grunde wird ein Punkt
auf die Ebene gesetzt, und zwar an einer Stelle, die von den zwei Merkmalen
beschrieben wird. Wenn der Punkt sich innerhalb des dem Cluster
zugeordneten Gebietes befindet, wird das Bild diesem bestimmten
Cluster zugeordnet. Die Ermittlung, wie viel einer Merkmalraums
einem Cluster zugeordnet wird und wo sich die Cluster befinden,
wird üblicherweise
als Clustering bezeichnet, während
die Assoziation eines unbekannten Vektors mit einem Cluster im Allgemeinen als
Klassifizierung bezeichnet wird.
-
Es
gibt eine Anzahl Techniken, die angewandt werden um Cluster zu ermitteln,
wie der K-Means-Algorithmus. Der K-Means-Algorithmus ist in Tanguay
detailliert beschrieben. Im Allgemeinen wird während des Trainings ein bestimmter
Metriktyp angewandt um zu ermitteln, welche Merkmalvektoren zusammen
geclustert werden sollen um ein bestimmtes Cluster zu bilden.
-
Eine
andere Technik, die für
Bildzusammenpassung geeignet ist, ist die Verwendung von HMMs. Im
Allgemeinen können
HMMs gleiche Techniken zur Clustering anwenden. Im Wesentlichen
werden HMMs oft verwendet zur Clustering und zur Klassifizierung.
Auf diese Weise können
Merkmalvektoren verwendet werden, und zwar zur Clustering und für HMMs.
Aber eine Basis der HMMs ist Wahrscheinlichkeit, während die
Basis für
Clustering im Allgemeinen Mittelwerte oder Distanzmaße sind.
So modelliert beispielsweise ein Zustand in einem HMM die Wahrscheinlichkeit,
dass ein Ereignis (wie ein spezieller Merkmalvektor) auftritt. Übergangswahrscheinlichkeiten
modellieren, wie wahrscheinlich ein Übergang von dem einen Zustand
in den anderen ist. Ein Beispiel von HMM ist in Bezug auf 4 dargestellt.
-
In
dem Schritt 330 wird ermittelt, ob das Eingangsbild mit
einem Zustand übereinstimmt.
Dieser Schritt ist abhängig
davon, wie Bilder dargestellt werden. Wenn Histogramme verwendet
werden, wird eine geeignete Metrik dadurch ermittelt, dass Histogramme
zwischen der Eingangsbildinformation und der Bildinformation für jeden
der Zustände
verglichen werden und dadurch, dass ein Zustandshistogramm gefunden
wird, das, wenn die einzelnen Werte mit einzelnen Werten des Eingangsbildhistogramms
verglichen werden, zu einem Fehler führt, der innerhalb eines vorbestimmten
wertes liegt. Clustering und HMMs können gleiche Metriken benutzen,
und zwar auf Basis von Merkmalvektoren, wie dies im Stand der Technik
bekannt ist.
-
Wenn
ein Eingangsbild mit einem Zustand übereinstimmt (Schritt 330 =
YES), dann wird das Bild dem Zustand zugeordnet und als dem Zustand zugeordnet
ausgeliefert (Schritt 345). Andererseits wenn das Eingangsbild
nicht mit einem Zustand übereinstimmt,
(Schritt 335 = NO), wird ein neuer Zustand hinzugefügt (Schritt 335),
und zwar unter Verwendung der Eingangsbildinformation. Clusteringinformation,
wie das Gebiet des Merkmalraums, das dem neuen Cluster zugeordnet
ist, kann an dieser Stelle zugeordnet werden. Außerdem kann jede andere notwendige
Information ausgelöst
und zugeordnet werden.
-
Wenn
HMMs verwendet werden, werden Zustandsübergänge für den neuen Zustand geschaffen (Schritt 340).
Diese Übergänge können während des Schrittes 340 Werten
zugeordnet werden.
-
Der
Schritt 350 wird durchgeführt, wenn entweder der Schritt 345 oder
der Schritt 340 durchgeführt worden ist. Zustandsinformation
wird in dem Schritt 350 aktualisiert. So können beispielsweise Übergangswahrscheinlichkeiten
in diesem Schritt aktualisiert werden, ebenso wie Zustandswahrscheinlichkeiten.
Zur Clustering kann eine weitere Definition des Clusters geschaffen
werden, und zwar durch Verwendung des jüngsten Merkmalvektors. So kann beispielsweise
ein Cluster durch eine mehrdimensionale Gaußsche Verteilung dargestellt
werden, die einen Mittelwert und eine Kovarianz hat. Der Mittelwert und
die Kovarianz können
durch Verwendung des jüngsten
Merkmalvektors aktualisiert werden.
-
In
dem Schritt 335 bestimmt das Verfahren 300, ob
ein Zustand gelöscht
werden soll. Zustände können gelöscht werden,
beispielsweise wenn eine Kamera angeschaltet wird oder wenn die
Lichter in einem Raum ausgeschaltet werden, so dass die Kamera nicht
länger
das entsprechende Licht hat um ein unterscheidbares Bild zu erzeugen.
In diesen Fällen
wird der ursprüngliche
Zustand wahrscheinlich gelöscht.
In letzter Instanz, wenn die Lichter ausgeschaltet werden, kann
ein neuer Zustand geschaffen werden und der alte Zustand wird gelöscht.
-
Wenn
ein Zustand gelöscht
wird (Schritt 355 = YES), wird der Zustand in dem Schritt 360 gelöscht. Wenn
ein Zustand nicht gelöscht
werden soll (Schritt 355 = NO), endet das Verfahren 300.
-
Wiedergabeschirm
sei bemerkt, dass, wenn HMMs in der vorliegenden Erfindung verwendet
werden, das nachfolgende Bezugsmaterial das Hinzufügen und
Entfernen von HMM Zuständen
beschreibt: Colmenarez und Gutta: "Method and Apparatus for Determining
a Number of States for a Hidden Markov Model in a Signal Processing
System", US Patent
Nr. 09/706.668, eingereicht am 6. November 2000. Die beschriebenen
Techniken in Colmenarez und Gutta können angewandt werden um HMM
Zustände
hinzuzufügen
und zu löschen.
-
Es
sei ebenfalls bemerkt, dass das Verfahren 300 gewünschtenfalls
modifiziert werden kann, um Training unterzubringen. So wird beispielsweise Clustering
oft bei Trainingsdaten angewandt, wobei die Merkmalvektoren und
Klassen, die mit den Vektoren assoziiert sind, bekannt sind und
in das System eingeführt
werden.
-
In 4 ist
ein Beispiel eines Zustandsdiagramms 400 dargestellt, das
Kamerabilder modelliert, und zwar entsprechend einer bevorzugten
Ausführungsform
der vorliegenden Erfindung. Das Zustandsdiagramm 400 umfasst
drei Zustände 410, 420 und 430 und
Zustandsübergänge 416, 417, 418, 426, 427, 436, 438 und 439.
Wenn HMMs zum Modellieren von Kamerabildern verwendet werden, werden
Zustandsübergänge 416, 417, 418, 426, 427, 436, 438 und 439 verwendet.
Im Allgemeinen werden Zustandsübergänge nicht
für andere
Schemen verwendet.
-
Jeder
Zustandsübergang
modelliert die Wahrscheinlichkeit eines Übergangs in einen anderen Zustand,
wenn gegeben ist, dass das System sich in dem aktuellen Zustand
befindet. Mit anderen Worten der Übergang 416 modelliert
die Wahrscheinlichkeit des Übergangs
aus dem Zustand 410 in den Zustand 410. Auf gleiche
Weise modelliert der Übergang 417 die
Wahrscheinlichkeit des Übergangs
aus dem Zustand 410 in den Zustand 420.
-
In
der vorliegenden Erfindung modellieren HMMs nicht nur die Bilder,
die von Kameras herrühren,
sondern auch wie lange ein Videomultiplexer Bilder von einer bestimmten
Kamera aufnimmt und welche Reihenfolge des Multiplexers für die selektierten Kameras
ist.
-
Zunächst würde das
Zustandsdiagramm 400 im Allgemeinen keine Zustände enthalten.
Es ist aber möglich,
dass das Zustandsdiagramm 400 mit einer Anzahl Zustände entsprechend
der Anzahl Kameras startet. Dieses Letztere könnte auftreten, wenn ein Operator
das Zustandsdiagramm 400 mit der betreffenden Anzahl Zustände konfiguriert.
Ungeachtet, wie das Zustandsdiagramm startet, das allererste Eingangsbild
wird im Allgemeinen dem Zustand 410 zugeordnet. Je nachdem
die Zeit vergeht, und Bilder von verschiedenen Kameras eingegeben
werden, werden die Wahrscheinlichkeiten für jeden Zustandsübergang
bestimmt. Diese Analysentypen sind dem Fachmann durchaus bekannt.
So werden beispielsweise HMM Analysen, wie diese auf Bilder angewandt
werden, in Colmenarez und Gutta, Tanguay, Lu und Petkovic beschrieben.
-
In 5 ist
ein Beispiel des Zustandsinformationsspeichergebietes 170 dargestellt,
entsprechend einer bevorzugten Ausführungsform der vorliegenden
Erfindung. Das Zustandsinformationsgebiet 170 ist dargestellt
in der Verwendung zum Speichern von Daten über HMM Zustände. Dieses
Beispiel eines Zustandsinformationsgebietes 170 umfasst
Zustandsinformation 5109, 520 und 530 entsprechend
den Zuständen 410, 420 bzw. 430 und das
Codebuch 540. Jede Zustandsinformation 510, 520 und 530 umfasst
Bildinformation 511, 521 bzw. 531, Übergangsinformation 512, 522 bzw. 532,
und Statistiken 513, 523 bzw. 533. Bildinformation 511, 521 und 532 umfasst
Information, die zum Vergleichen von Bildern verwendet wird. Wie
oben beschrieben, kann diese Information Histogramme, Wahrscheinlichkeitsdichten,
Clustergebiete, Merkmalvektoren oder andere Information enthalten,
wie dies dem Fachmann bekannt sein dürfte. Übergangsinformation 512, 522, 532 umfasst
Daten über
Zustandsübergänge. So
könnte
beispielsweise Übergangsinformation 512 Information über jeden
der Übergänge 416, 417 und 418 enthalten
(siehe 4), wie den Zustand, in dem jeder Übergang
endet, die Anzahl Male, dass der Übergang aufgetreten ist, und
die gesamte Anzahl Übergänge.
-
Die
Statistikinformation 513, 523 und 533 umfasst
Daten über
jeden Zustand. So kann beispielsweise die Statistikinformation die
Anzahl Male enthalten, dass der Zustand aufgetreten ist, die gesamte
Anzahl Zustände,
die aufgetreten ist, und die gesamte Anzahl Zustände. Als Illustration kann
es drei Zustände
geben von denen der Zustand Eins zehnmal aufgetreten ist und alle
Zustände
30 mal Aufgetreten sind. Die Wahrscheinlichkeit des Auftritts des
Zustandes Eins ist ein Drittel.
-
Das
Codebuch 540, wie dem Fachmann bekannt, ist eine Anordnung,
die Eingangsbildinformation abbildet, die im Allgemeinen in Form
eines Vektors gespeichert ist, und zwar in einem der Zustände des
HMMs und Wahrscheinlichkeiten für
jeden Zustand schafft. Im Allgemeinen werden die Wahrscheinlichkeiten
von mehrdimensionalen Gaußschen Funktionen
hergeleitet und beim Training ermittelt.
-
Die 4 und 5 können auf
entsprechende Weise modifiziert werden, wenn andere Typen von Bildquantisierungstechniken,
wie Histogramm-Methoden oder Clustering angewandt werden.
-
Es
dürfte
einleuchten, dass die hier dargestellten und beschriebenen Ausführungsformen
und Abwandlungen eine Illustration der Grundlagen der vorliegenden
Erfindung sind und dass im Rahmen der vorliegenden Erfindung dem
Fachmann mehrere Abwandlungen einfallen und von ihm implementiert werden
können.
-
1
- 120
- asynchroner
Videomultiplexer
- 125
- Video-Beobachtungssystem
-
- Netzwerk
- 140
- Prozessor
- 145
- Speicher
- 150
- Bildaufbereiter
- 155
- aktuelles
Bild
- 300
- Kamera-Demultiplexerprozess
- 165
- Bildinformation
- 170
- Zustandsinformation
- 175
- Zonenbeobachtungsprozess
- 180
- Zonenereignisse
-
2
- 120
- Asynchroner
Videomultiplexer
- 150
- Bildaufbereiter
- 155
- aktuelles
Bild
- 165
- Bildinformation
- 170
- Zustandsinformation
- 300
- Kamera-Demultiplexerprozess
- 175
- Zonenbeobachtungsprozess
- 180
- Zonenereignisse
-
3
-
- Start
- 310
- Ermittlung
Eingangsbildinformation
- 315
- aktuell
bestehende Zustände?
- 325
- Bildinformation
als Anfangszustand einstellen
- 320
- Bildübereinstimmung
durchführen
-
- Ende
- 330
- stimmt
Eingangsbild mit einem Zustand überein?
- 335
- Zustand
hinzufügen
- 345
- Ausgangsbild
als zu dem übereinstimmenden
Zustand gehörend
- 340
- Zustandsübergänge schaffen
- 350
- Zustandsinformation
aktualisieren
- 355
- Soll
ein Zustand gelöscht
werden?
- 360
- Zustand
löschen
-
- Ende
-
4
- 419
- Zustand
- 420
- Zustand
- 430
- Zustand
-
5
- 170
- Zustandsinformation
- 510
- Zustand 410 Information
- 511
- Bildinformation
- 512
- Übergangsinformation
- 513
- Statistiken
- 520
- Zustand 420 Information
- 521
- Bildinformation
- 522
- Übergangsinformation
- 523
- Statistiken
- 530
- Zustand 430 Information
- 531
- Bildinformation
- 532
- Übergangsinformation
- 533
- Statistiken
- 540
- Codebuch