-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Sicherheitssysteme und insbesondere
ein vorteilhaftes neues System, unter Verwendung von Verfahren und Vorrichtungen
zum automatischen Testen von Überwachungskameras,
wie beispielsweise in Überwachungssystemen
mit Fernsehüberwachungsanlagen im
großen
Stil (CCTV, Closed Circuit Television).
-
Stand der Technik
-
Überwachungssysteme,
wie sie beispielsweise in Parkgaragen Verwendung finden, sehen einen
oder der wenigen Bereiche vor, von denen ein Eigentümer das
Gefühl
haben könnte,
dass es notwendig ist, installierte Überwachungstechnologie in ihrer gesamten
Kapazität
einzusetzen. Wenn ein Überwachungssystem
installiert ist, kann implizit die Einsicht für den Bedarf für eine zuverlässige Abhängigkeit
von dem System und dessen Funktionieren in seiner gesamten Kapazität vorliegen.
Sein Vorhandensein gibt der Öffentlichkeit
das Gefühl,
dass sie unter dem Schutz des Systems steht. Wenn es einen Anlass
eines Verlustes oder einer Beschädigung
gibt, welche verhindert hätte
werden können,
hätte das
System richtig und in seiner gesamten Kapazität funktioniert, mag der Eigentümer mit
einem Anspruch konfrontiert werden, welcher schwer abzuweisen ist.
-
Obwohl
Parkgaragen einen wertvollen Nutzen und höchsterwünschten oder notwendigen Service
für die Öffentlichkeit
bieten, durch Anbieten von Parkmöglichkeiten
für Fahrzeuge
von Personen aus der Öffentlichkeit,
können
sie nichts desto weniger ein Risiko für Personen der besuchenden Öffentlichkeit
darstellen. Eigentumsdelikte, welche in Parkgaragen begangen wurden,
schließen
Autovandalismus und Autodiebstahl ein. Verbrechen gegen Personen,
welche in Parkgaragen begangen wurden, schließen Handtaschenraub, brutalen
Raub und gelegentlich Körperverletzung
und Entführungen
ein. Kostenpflichtige Garagen mit vielen Etagen, mit Mautstellen
können
aufgrund einer Zugangskontrolle und der Notwendigkeit eine Mautstelle
beim Verlassen zu passieren, eine Abschreckung gegen Verbrechen
darstellen. Jedoch sogar derart ausgerüstete Garagen können in
zunehmender Weise Gegenstand des Risikos von Autodiebstählen und
Autoeinbrüchen
sein, wenn diese Garagen in der Nähe von Fluchtwegen, wie freien
Auffahrtsrampen oder größeren Durchfahrten
liegen.
-
CCTV-Systeme
können
ein wirksames Überwachungswerkzeug
sein, wenn sie als Teil von Überwachungssystemen
in solchen Gebäuden
richtig installiert und betrieben werden, in welchen die Betreiber
von Parkgaragen die Verpflichtung haben, Verbrechen oder andere
Verluste oder Beschädigungen, welche
ansonsten auftreten können,
zu vermindern. Insbesondere Parkgaragen sind gute Kandidaten für eine CCTV-Überwachung,
da Personen eher allein und verletzbar sind, als in Bereichen mit
höherem Verkehrsaufkommen.
Um ein CCTV-System mit voller Kapazität zu betreiben, sollten Kameras
des Systems zu jeder Zeit von Überwachungspersonal überwacht
werden.
-
Ein
CCTV-System mit vielfachen Videokameras in einer Parkgarage hat üblicherweise
kein Hilfssystem, um intelligente Entscheidungen zu treffen, welche
Kamera auf Display-Monitoren beobachtet werden soll. Es wird jedoch
gemäß der vorliegenden
Offenbarung vorgeschlagen, dass, anstatt Entscheidungen darüber zu treffen,
welche Kamera beobachtet werden sollte und welche ignoriert werden sollte,
dies statt dessen auf der Basis des Inhalts des Videos zu tun, und
elektronische Hilfseinrichtungen einzusetzen, um intelligente Entscheidungen
darüber zu
fällen,
welche Ka mera auf einem oder mehreren ausgewählten Display-Monitoren betrachtet
werden sollte. Darüberhinaus
würde das
intelligente System mit existierenden CCTV-Systemen kompatibel sein.
-
Obwohl
hier auf Garagen Bezug genommen wird, sind Garagen nur ein Beispiel
für Gebäude, bei, in
oder in Verbindung mit welchen solche Gebäudeüberwachungssysteme eingesetzt
werden, um Verbrechen, Verluste, Verletzungen oder andere unerwünschte Vorkommnisse
zu vermeiden. Nur ein Beispiel eines unerwünschten Vorkommnisses (welches auch
als ein Vorfall bezeichnet werden kann) ist ein unbefugtes Eintreten,
und Beispiele von unbefugtem Eintreten werden durch Fahrzeug- und
Fußgängerbewegung
in einer unrichtigen Richtung oder durch ein unerlaubte/s/n Portal,
Raum, Weg oder Straße
typisiert. Alle diese Gebäude,
ob kommerziell, der Regierung zugehörig, von Institutionen oder
privat, bei denen ein Überwachungssystem
oder Überwachungsvorrichtungen
oder Einrichtungen gemäß der Erfindung
eingesetzt werden können,
werden hier als gesicherte Gebäude
angesprochen.
-
Überwachungssysteme
in kleinem Umfang
-
Ein
kleines CCTV-System kann beispielsweise einige Kameras und einen
Anzeigemonitor für jede
Kamera haben. Eine einzige Überwachungsperson
kann einen ständigen
Blick auf alle Monitore haben, sodass der einzelne Bediener in wenigen
Sekunden, während
er die Monitore betrachtet unübliche
Vorgänge
abschätzen
kann, wenigstens während
dessen er die Monitore sorgfältig überwacht. Dennoch
ist es in einem kleinen System schwierig oder für eine solche Person unmöglich, dieselbe
Szene oder Szenen ununterbrochen zu beobachten. Nach wenigen Minuten
desselben Bildes beginnt, was man Beobachtungsmüdigkeit nennt, einzusetzen.
Nach Stunden im Dienst, werden die Monitore für die Überwachungsperson nur noch
Teil des Hintergrunddurcheinanders. Auf diese Weise ist die Konzentration
und die Fähigkeit
reduziert oder gar verlorengegangen, unerwünschte Vorkommnisse wahrzunehmen,
welche ansonsten aus den Monitoranzeigen für den Bediener erkennbar sind.
-
Überwachungssysteme
im Großmaßstab
-
In
einem großen
CCTV-System mit hunderten von Kameras ist der Ermüdungsfaktor
für Überwachungspersonal,
welches eine entsprechend große
Anzahl von Bildschirmen beobachten muss, extrem. Konventionelle
CCTV-Kontrollsysteme wurden vorgeschlagen, welche die Möglichkeit
haben, Kameras im Rotationsprinzip auf Monitoren folgen zu lassen.
Dies ermöglicht
den Bedienungspersonen jede Kamera in dem System periodisch mit
einer vernünftigen
Anzahl von Monitoren zu beobachten.
-
Beispielsweise
könnten
in einem großen
anspruchsvollen Großstadtsystem
mit etwa 300 CCTV-Kameras in Garagen 13 Überwachungspersonen erforderlich
sein, um jede Kamera einmal pro Minute zu beobachten, sogar wenn
ein bekanntes Abfolgesystem eingesetzt wird, das geeignet ist zum Umschalten
von vier Monitoren pro Bedienungsperson, und dies alle zehn Sekunden.
In einem derartigen System, welches ein Bild pro Minute auf einem Anzeigemonitor
präsentiert,
ist es Bedienungspersonen nicht möglich, schnell auftretende
Vorgänge,
wie zum Beispiel ein Entreißen
einer Tasche festzustellen. Um 13 Überwachungspositionen über 24 Stunden
pro Tag zu betreiben, sind für
eine entsprechende Personalausstattung etwa 65 Personen erforderlich.
Auch wenn die sich ergebenden hohen Kosten für so viel Personal tragbar
sind, kann man nicht erwarten, dass das Überwachungspersonal praktisch einen
zufriedenstellend hohen Aufmerksamkeitsgrad für eine passende Vorkommnisbeobachtung
aufrecht erhält,
da diesem Personal auf den Bildschirmen mit etwa 11.250 einzelne
zu bewertende Bilder während jeder
Achtstundenschicht vorgelegt werden.
-
Ein
weiteres bekanntes Verfahren zum Handhaben großer Anzahlen von CCTV-Kameras besteht darin,
eine „Wand
von Bildschirmen" zu
bilden. Bei der Verwendung von etwa 300 Bildschirmen in einem CCTV-System,
wobei jeder Bildschirm ein 19 Zoll-Schirm ist, gestapelt von einem
Punkt drei Fuß über dem
Boden und bis zu einer Höhe
von 9 Fuß über dem
Boden, wobei eine Breite von etwa 137 Fuß eines linearen Wandraums
für die
Wand von Monitoren erforderlich ist. Oder wenn solche Monitore am
Umfang entlang der Wände
eines Raums angeordnet sind, würden
sie einen Raum mit den Maßen
14 Fuß mal
60 Fuß vollständig belegen.
Wenn Bedienungspersonen in einem Abstand von 20 Fuß entfernt
von der Wand (oder den Wänden)
positioniert werden würden,
könnten
alle Kameraansichten auf den Anzei gemonitoren von wenigstens 8 Überwachungspersonen
betrachtet werden. Wenn eine derartige Wand von Monitoren jedoch
in einer Länge von
137 Fuß eingesetzt
werden würde,
ist es unwahrscheinlich, dass irgendein Verbrechen oder ein anderes
Vorkommnis gesehen wird.
-
1 zeigt
einen Menschen männlichen
Geschlechts, 6 Fuß hoch,
welcher an einem Ende einer Reihe von 76 Equipment-Gerüsten, welche
304 Monitore enthalten steht, um das Erscheinungsbild und den relativen
Maßstab
einer sogenannten Wand von Monitoren zu simulieren, welche sich
aus dieser großen
Anzahl von CCTV-Überwachungsbildschirmen ergeben
würde.
Obwohl der Mensch nicht maßstäblich gezeichnet
ist, können
die Beobachtungssituation im Betrieb oder die Erfordernisse für eine solche Wand
von Monitoren einfach dargestellt werden, und es ist leicht nachzuvollziehen,
dass sie für
eine große Anzahl
von Bildschirmen nicht praktikabel ist. Kleinere Beobachtungsmonitore
erfordern weniger Platz. Das Überwachungspersonal
muss jedoch dann die kleineren Monitore von einer geringeren Distanz
aus betrachten, um jede Szene erkennen zu können.
-
Es
ist gewünscht,
dass die Anzahl von Überwachungspersonen
zum Beobachten von Display-Bildschirmen eines mit einer großen Menge
von CCTV-Einrichtungen versehenen Überwachungssystems, durch Verwendung
bekannter Videobewegungsdetektoren in Kombination mit einer Elektronik zur
Kontrolle des Umschaltens der CCTV-Einrichtung reduziert werden
kann. Bei einem bestimmten Bewegungswert in Garagen eines derart
großen Überwachungssystems,
welches bekannte Videobewegungserkennungstechniken einsetzt, werden
Kameras ohne eine gewisse feststellbare Bewegung in dem Video von
einer Umschaltsequenz ausgespart. Während eine Erkennung der Bewegung
sogar eines einzelnen Fahrzeugs in einer Kamera durch den Videobewegungsdetektor
veranlassen würde,
dass diese Kamera in der Sequenz eingeschlossen wird, kann dieser
selbe Wagen, welcher von einer Person, welche nach einem Parkplatz
Ausschau hält,
verschiedene Kameras passieren, wodurch veranlasst wird, dass die
Ansicht von jeder Kamera wiederum auf einem Abrufschirm einer Bedienungsperson
angezeigt wird.
-
Das
Zufügen
einer Bewegungserkennung zu jeder Kamera und in Folge eine passende
Software zur Begrenzung der Kameras auf solche mit einer Bewegung
könnte
die erforderlichen vom Personal überwachten
Kameras entscheidend reduzieren. Obwohl keine exakten Werte bekannt
sind, nimmt man an, dass Erfordernisse für die Aufmerksamkeit von Bedienungspersonen,
welche Bedienerbelastung genannt werden können, um einen Faktor von 2
abnehmen würden,
wenn nur die Kameras mit einer Bewegung den Bedienern des Systems
präsentiert
würden.
Eine abnehmende Bedienerbelastung um die Hälfte würde dennoch sechs während des
Tages stetig anwesende Bedienungspersonen erforderlich machen, das
heißt,
bei einer Schicht, dass hierfür
ein Gesamtbedienerpersonal von etwa 30 Personen erforderlich wäre. Sogar
dann, wenn das Überwachungsbudget
die Bezahlung von 30 Gehältern
für Überwachungspersonal
zulassen würde,
würde die Beobachtungsaufgabe
diese Bedienungspersonen zu extremen Aufmerksamkeitsermüdungserscheinungen
innerhalb einer vorgegebenen Schicht treiben.
-
Ein
oben vorgeschlagenes CCTV-System zur Verwendung in Flughafenparkgaragen
wurde so ausgestattet, dass es eine Videobewegungserkennung in jeder
Videokamera vorsieht, und eine Software zur Regelung einer elektronischen
Auswahl nur der Kameras, welche einen Videooutput mit einer Bewegung
bieten, eingesetzt, sodass sie vom Überwachungspersonal gesehen
werden. Da gefordert wurde, dass die Zahl der Kameras in dem vorgeschlagenen
System wachsen muss, könnte
die Schwäche
einer einfachen Bewegungserkennung zu Tage treten. Im Handel erhältliche
Bewegungsmelder für
ein solches System wurden derart beurteilt, dass sie ungeeignet
sind, eine Person von einem Fahrzeug zu unterscheiden. Dementsprechend
könnte
beispielsweise jedes Fahrzeug, welches an einer Kamera vorbeifährt, einen
Bewegungsmelder des Systems auslösen.
Wenn Fahrzeuge Fahrwege entlangfahren, würden sie verschiedene Kameras
passieren, und dies würde
eine Darstellung auf Beobachtungsmonitoren vieler Ansichten des
gleichen Fahrzeugs zur Folge haben. Etwa sechs Bedienungspersonen
wären während des
gesamten Tages erforderlich, und die wiederholte Darstellung von
Bildern, welche durch die Bewegung eines einzelnen Fahrzeugs nach
Passieren vieler Kameras verursacht werden, würde eine extreme Langeweile
verursachen und zu einem Verlust der Aufmerksamkeit führen.
-
Ein
bekanntes Verfahren zum Überwachen einer
Szene wird in dem
US-Patent Nr.
5,880,775 von Ross angeboten, in welchem Pixel individueller
Bilder verglichen werden, um einen Differenzwert zu erzeugen, wobei
der Wert, sofern er einen vorbestimmten Grenzwert überschreitet,
einen Videokassettenrecorder (VCR) zur Aufnahme aktiviert. Ein weiteres Verfahren
wird in dem
US-Patent Nr. 5,875,305 von Winter
et al. genannt, wobei Videodaten analysiert werden, um eine vorbestimmte
Charakteristik zu finden, welche auf Merkmalen eines Zieles, wie
zum Beispiel Größe, Geschwindigkeit,
Form oder Farbwechsel und einer folgenden Videokompressionsspeicherung.
Weitere Methoden von Bewegungserkennung, Feuererkennung und andere
eventbasierte Überwachung
mit folgender Systembetätigung
für Überwachungszwecke
sind zahlreich und auf diesem Gebiet gut bekannt. Der Stand der
Technik geht jedoch nicht vollständig
auf die Bedürfnisse
für eine
intelligente Kameraauswahl ein, welche auf einer Vielzahl von Eingangswerten
zur Verringerung einer Bedienerbelastung und einer Bedienermüdigkeit
basiert. Darüberhinaus
regelt der Stand der Technik kein CCTV-Umschalten für die Betrachtung
von Bedienern. Das
US-Patent
Nr. 4,943,854 von Shiota et al. nennt einen Multivideorecorder,
der eine Auswahl eines Signals aus einer Vielzahl von Kameras ermöglicht,
jedoch ohne irgendeine Bildanalyse und hauptsächlich auf Bewegungsmeldersensoren
basierend. Außerdem
verwenden die Überwachungsverfahren nach
dem Stand der Technik nicht die einzigarten Bildanalysetechniken
der vorliegenden Erfindung für eine
intelligente Kameraauswahl, welche im Folgenden in größerem Umfang
beschrieben wird.
-
Die
WO 98/56182 offenbart ein Überwachungssystem,
welches eine Vielzahl von Bildmerkmalen verwendet, welche für jedes
einzelne Bildsegment berechnet werden.
-
Dementsprechend
besteht ein Bedarf im Stand der Technik für Bildanalysetechniken, welche viel
mehr vereinfacht sind. Vereinfachte Bildanalysetechniken erlauben
darüber
hinaus eine Realzeitbildanalyse und ein robusteres Screening-System
für Überwachungskameras.
-
Videoaufnahmen
-
Der
aktuelle Stand der Technik für
Videoaufnahmen in Überwachungs-
und anderen Systemen ist eine Vollzeitdigitalvideoaufnahme auf Harddisk. Manche
Systeme sichern auch digitalisierte Videos auf Bänder für eine Langzeitspeicherung.
-
Ein
Grundproblem bei digitalen Videoaufnahmesystemen ist ein Zielkonflikt
zwischen Speicherplatz und Qualität des Videos. Ein unkomprimierter
Videodatenstrom in Farbe, VGA-Auflösung und einem Realzeitbildwert
erfordert etwa 93 Gigabyte (GB) Speicherplatz pro Videostunde. (Auf
diese Weise ergeben sich 3 Byte/Pixel·640 Pixel/Zeile/Bild·480 Pixel/Spalte/Bild·30 Bilder/Sekunde·60 Sekunden/Minuten·60 Minuten/Stunde).
-
Ein
typischer Bedarf für
mehrere Tage Videofilm auf einer PC-Festplatte ist kleiner als 93
Gigabyte. Um Plattenplatz zu sparen, wird die Raumauflösung reduziert,
der Bildwert wird reduziert und eine Kompression wird verwendet,
wie beispielsweise JPEG oder Wavelet.
-
Eine
Reduzierung der räumlichen
Auflösung verringert
den Speicherplatz mit der Quadratwurzel der Verringerung. Das heißt, eine
Reduzierung der Bildgröße von 640·480 um
einen Faktor 2 auf 320·240
verringert den erforderlichen Speicherplatz um einen Faktor 4.
-
Eine
Reduzierung der Bildrate verringert den Speicherplatz linear mit
der Reduzierung. Das heißt, eine
Reduktion der Bildrate von 30 FPS auf 5 FPS verringert den Speicherplatz
um einen Faktor 6. Wenn eine Bildrate schwindet, scheint das Video „ruckartig".
-
Eine
Reduzierung des Speicherplatzes durch Kompression verursacht einen
Verlust bei der Auflösung
bei höheren
Kompressionswerten. Beispielsweise führt eine Reduzierung um einen
Faktor 50 unter Verwendung von JPEGs zu einem verschwommenen, jedoch
verwendbaren Bild.
-
Die
unterschiedlichen Verfahren zur Speicherreduzierung können sich
ergänzen.
Eine Verwendung der Reduzierungen entsprechend der drei oben genannten
Beispiele reduziert den Speicherbedarf um einen Faktor 1200 (4·6·50) auf
78 MB/Stunde.
-
Auch
die Verwendung der Bewegungserkennung, um nur Bilder mit irgendeiner
Bewegung in dem Video zu sichern, ist bekannt. Der Grund für die Bewegung
wird nicht analysiert. Auf diese Weise muss jedes volle Bild bei
der voreingestellten Kompression gespeichert werden. Der Effekt
einer Bewegungsmeldung auf Speichererfordernisse hängt von der
Aktivität
in dem Video ab. Wenn in der Hälfte
der Zeit irgendeine Bewegung stattfindet, wird der Speicherbedarf
um einen Faktor 2 reduziert.
-
Gegenstand und Zusammenfassung der Erfindung
-
Unter
den verschiedenen Gegenständen, Merkmalen
und Vorteilen der Erfindung kann das Schaffen eines neuen und vorteilhaften Überwachungssystems
angegeben werden, unter der Verwendung von neuen, besonders vorteilhaften
Verfahren und Vorrichtungen für
ein automatisiertes Auswählen
der beschriebenen Überwachungskameras, und
insbesondere solche Verfahren und Vorrichtungen:
welche mehr
kosteneffektiv als alle vergleichbaren früheren CCV-Systeme sind,
welche
zum Einsatz in Verbindung mit großen konventionellen CCTV-Systemen,
welche bei voller Kapazität
arbeiten, geeignet sind,
welche eine markante Verringerung
der Bedienermüdigkeit
in einem CCTV-System erreichen,
welche die Sicherheit in Parkbereichen
und -garagen und anderen Gebäuden,
welche Fahrzeug- und/oder Fußgangverkehr
innerhalb der Gebäude
haben, verbessern,
welche als sogenannte intelligente elektronische Systeme
arbeiten, mit einer Eignung, Videokameraausgangswerte an einen oder
mehrere Videodisplaymonitore nur dann zu schicken, wenn Dinge von
logischer Relevanz vorliegen, sodass sie von einer Bedienungsperson
gesehen werden,
welche wirksam sind, um zu veranlassen, dass CCTV-Monitoransichten
der Bedienungsperson präsentiert
werden, wenn der Inhalt der Videokameraansicht von ausreichender
Relevanz ist, sodass eine Analyse eines Menschen erforderlich ist
durch Verwendung einer intelligenten elektronischen Auswahl von
Ansichten für
jeden der vielen CCTV-Displaymonitore,
welche eine Lösung der
zuvor genannten Probleme anbieten, nämlich der Verwendung von Displaymonitoren
durch Bedienungspersonen zum Überwachen der
Bilder von CCTV-Kameras für
ein Überwachungssystem,
welche
einen funktionalen Betriebsvorteil in einem CCTV-System dadurch
erreichen, dass eine Überwachung
von Displaymonitoren des Systems durch Bedienungspersonen wesentlich
weniger langweilig oder ermüdend
ist, als die bisher bekannten Merkmale von CCTV-Systemen,
welche
eine Zunahme in der Aufmerksamkeitsspanne der Bedienungsperson und
der Erkennung von Vorfällen
hervorrufen,
welche einen hohen Grad an Sicherheit für Gebäude bei
relativ niedrigen Kosten erreichen, und
welche einen hohen
Wert einer zuverlässigen
Abhängigkeit
von dem System in CCTV-Sicherheitssystemen und dessen Funktionieren
für seine
Kapazitäten in
einem bisher nicht erreichten Ausmaß erreichen.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine intelligente Kameraauswahl,
das heißt
eine automatische, elektronisch geregelte Auswahl zur Darstellung
auf einem Displaymonitor im Zusammenhang mit einem elektronischen
Logikprotokoll von einem integrierten Überwachungssystem mit einer
Vielfalt von CCTV-Kameras
ausgeführt,
welche eine andere Vielfalt von zugangskontrollierten Berei chen überdeckt.
Wenn ein Vorfall, oder ein Ereignis passiert, z. B. eine gefallene
Person, wird die Kamera, welche den Vorfall sieht, automatisch ausgewählt, das
heißt,
ihr Videoausgang wird ausgewählt,
um ein korrespondierendes Display oder einen Aufruf der Ansicht
dieser Kamera auf dem Displaymonitor eines Bedieners zu erzeugen.
Die Auswahl und der Aufruf der Kameraansicht kann auch ein Audiosignal
desselben einschließen.
Wenn festgestellt wird, dass kein Vorfall vorliegt, ist der Displaymonitor
schwarz. Da ein derartiger Aufruf der automatischen Kamera in Reaktion
auf ein vorgefallenes Ereignis funktioniert, hängt die Bedienerbelastung von
der Ereignisaktivität
ab, unabhängig
von der Anzahl der in dem System befindlichen Kameras.
-
Ein
Hauptziel, -merkmal und -vorteil der vorliegenden Erfindung besteht
darin, dass ein Überwachungssystem
gemäß der vorliegenden
Lehre, zum automatischen Ausführen
von Entscheidungen darüber
geeignet ist, welche Videokamera beobachtet werden sollte und welche
vernachlässigt
werden sollte, basierend auf einem Videogehalt jeder derartigen Kamera,
wie durch Verwendung von Videobewegungsmeldern in Kombination mit
anderen Merkmalen des vorliegenden erfindungsgemäßen elektronischen Subsystems,
welches ein prozessorgesteuertes Auswahl- und Kontrollsystem („PCS-System") darstellt, welches
als ein Schlüsselteil
des genannten Überwachungssystems
zum Regeln einer Auswahl der CCTV-Kameras dient. Das PCS-System
wird implementiert, um automatische Entscheidungen darüber zu treffen,
welche Kameraansicht auf einen Displaymonitor des CCTV-Systems abgebildet
werden soll und damit von Überwachungspersonal
beobachtet werden soll und welche Videokameraansichten ignoriert
werden, alle diese Vorgänge
basierend auf einer prozessorimplementierten Interpretation des
Inhaltes des Videos, welches von jeder, wenigstens einer Gruppe
von Videokameras, innerhalb des CCTV-Systems erhältlich ist.
-
Eingeschlossen
als Teil des PCS-Systems sind neue Bildanalysetechniken, welche
ermöglichen,
dass das System Entscheidungen darüber trifft, welche Kamera eine
Bedienungsperson ansehen soll, basierend auf dem Vorliegen und der
Aktivität
von Fahrzeugen und Fußgängern. Events
werden zugeordnet mit Fahrzeugen und Fußgängern und schließen ein,
sind jedoch nicht hierauf begrenzt, einzelne Fußgänger, mehrere Fußgänger, schnelle
Fußgänger, gefallene
Fußgänger, herumschleichende Fußgänger, verirrte
Fußgänger, zusammenlaufende Fußgänger, ein
einzelnes Fahrzeug, viele Fahrzeuge, schnelle Fahrzeuge und plötzlich anhaltende Fahrzeuge.
-
Die
Bildanalysistechniken sind ebenso geeignet, durch Ausfindigmachen
von Hintergrundbildern und Segmentieren von sich bewegenden Zielen Fahrzeugverkehr
von Fußgängerverkehr
zu unterscheiden. Fahrzeuge werden von Fußgängern auf der Basis vieler
Faktoren unterschieden, einschließlich der charakteristischen
Bewegung von Fußgängern im
Vergleich zu Fahrzeugen, das heißt Fußgänger bewegen ihre Arme und
Beine, wenn sie sich bewegen und Fahrzeuge behalten die gleiche
Form, wenn sie sich bewegen. Andere Faktoren schließen das
Größenverhältnis und
die Glattheit ein. Zum Beispiel sind Fußgänger größer als Fahrzeuge, und Fahrzeuge
sind glatter als Fußgänger.
-
Die
Hauptbildanalysetechnik der vorliegenden Erfindung ist geschieht
auf der Basis einer Analyse einer Geländekarte. Im Allgemeinen wird
eine Geländekarte
von einem Singlepass eines Videobildes erzeugt, was zu einer charakteristischen
Information betreffend den Inhalt des Videos führt. Die Geländekarte
erzeugt eine Datei mit der charakteristischen Information, basiert
auf jedem der 2×2
Kernel von Pixel in einem Eingangspuffer, welcher sechs Bytes von
Daten, welche das Verhältnis
jeder der 16 Pixel in einem 4×4
Kernel, welche den 2×2
Kernel umgeben, beschreiben.
-
Der
Informationsgehalt des Videos, welches durch die Geländekarte
generiert ist, ist die Basis für jede
Bildanalysetechnik der vorliegenden Erfindung und führt zur
Erzeugung verschiedener Parameter für eine weitere Bildanalyse.
Diese Parameter schließen
ein: (1) durchschnittliche Höhe,
(2) Neigungsgrad, (3) Neigungsrichtung, (4) horizontale Glätte, (5) vertikale
Glätte,
(6) Zackigkeit/Rissigkeit, (7) Farbgrad, und (8) Farbrichtung.
-
Durchschnittliche Höhe
-
Der
Parameter „durchschnittliche
Höhe" errechnet einen
Durchschnittswert von vier Pixel in dem mittleren 2×2 Kernel.
-
Neigungsgrad
-
Der „Neigungsgrad"-Parameter errechnet den
absoluten Unterschied in Prozent zwischen dem höchsten Durchschnittswert und
dem niedrigsten Durchschnittswert, welcher von der durchschnittlichen
Höhe berechnet
wird.
-
Neigungsrichtung
-
Der
Parameter „Neigungsrichtung" berechnet die Richtung
der Neigung, basiert auf dem höchsten
und niedrigsten Durchschnittswert, welcher von der durchschnittlichen
Höhe berechnet
wird.
-
Horizontale Glattheit
-
Die „horizontale
Glattheit" berechnet
die Beständigkeit
im Wechsel in horizontaler Richtung von dem niedrigsten Pixel zu
dem höchsten
Pixel.
-
Vertikale Glattheit
-
Ähnlich wie
die horizontale Glattheit berechnet die „vertikale Glattheit" die Beständigkeit
des Wechsels in vertikaler Richtung von dem niedrigsten Pixel zu
dem höchsten
Pixel.
-
Zackigkeit/Rissigkeit (Jaggyness)
-
Der „Zackigkeits"-Parameter misst
die Versetzung in Pixel zwischen ungeraden und geraden Feldern für ein vorgegebenes
Ziel, welches aus einem Bild eines Videos segmentiert ist. Der Versatz wird
dann verwendet, um die Bewegungsrichtung des Ziels zu bestimmen
und um zu bestimmen, wie schnell sich ein Ziel bewegt. Im Allgemeinen
ist die Zackigkeit ein Maß des
Umfangs einer Verzerrung einer Verknüpfung aufgrund einer Bewegung
zwischen ungeraden und geraden Feldern des Bildes des Videos.
-
Farbgrad
-
Der „Farbgrad" misst im Allgemeinen,
wie stark sich die Farbe von einer Grauskala unterscheidet. Null
ist ein Äquivalent
für vollständig weiß oder vollständig schwarz,
und 255 ist ein Äquivalent
für eine
vollständige
Farbe.
-
Farbrichtung
-
Die „Farbrichtung" berechnet einen
Farbraum, ähnlich
zu einem Farbton, basiert auf zweidimensionalen (B-R und G-R) Farbanalysen.
Die zweidimensionale Analyse reduziert die Zahl fließender Punktberechnungen über die
Zahl der Farbtonberechnungen oder dreidimensionalen RGB-Berechnungen
signifikant und ist ein Faktor beim Erreichen einer Echtzeitberechnung.
Im Allgemeinen ist die Farbrichtung ein Maß für den Grundton der Farbe.
-
Eine
zusätzliche
Bildanalysefunktion, nämlich „Aufrechterhalten
eines Hintergrunds" isoliert
den Hintergrund von sich bewegenden Zielen durch Ausmitteln von
Abschnitten von Bildern, welche keine sich bewegenden Ziele enthalten.
Das sich bewegende Ziel wird darüber
hinaus analysiert, um einen Fahrzeugverkehr (oder anderen Verkehr)
von einem Fußgängerverkehr
zu unterscheiden.
-
Das
PCS-System besteht aus sechs Softwarehauptkomponenten, alle konstruiert
unter Verwendung von Microsoft- und Inteltools, einschließlich einer
Kombination von Visual Basic und C++ Software programmierenden Sprachen.
Die sechs Komponenten schließen
folgende ein:
- (1) Analysearbeiter
- (2) Videosupervisor
- (3) Videoarbeiter
- (4) Knotenmanager
- (5) Gesetzte Regeln GUI (Grafische Benutzeroberfläche mit
gesetzten Re geln), und
- (6) Vermittler
-
Ein
Videoeingang von Überwachungskameras
wird zuerst an einen Videoarbeiter geschickt, welcher Bilder von
Videos (Frame grabber oder Bildfangschaltung) einfängt und
hat verschiedene Eigenschaften, Methoden und Maßnahmen, welche die Kommunikation
mit dem Videosupervisor vereinfachen. Es gibt einen Videosupervisor
für jeden
frame grabber. Die Analysearbeiter führen eine Bildanalyse an den
Videobildern durch, welche von dem Videoarbeiter eingefangen wurden
und berichten in Folge eine Aktivität an den Videosupervisor. In ähnlicher Weise
haben die Analysearbeiter verschiedene Eigenschaften, Methoden und
Maßnahmen,
welche eine Kommunikation mit dem Videosupervisor erleichtern. Der
Videosupervisor beobachtet, wenn Bilder von dem Videoarbeiter verfügbar sind
und wenn der Analysearbeiter für
weitere Bilder bereit ist und steuert den Datenfluss entsprechend.
Der Videosupervisor sendet dann Daten an den Knotenmanager, welcher
wiederum die Kommunikation mehrerer Videosupervisoren mit dem Vermittler
konzentriert, wodurch der Gesamtdatenfluss zu dem Vermittler gemanagt
und verringert wird.
-
Die
Set Rules GUI erlaubt ein Verändern
der Systemregeln dahingehend, welches Video an welchem Monitor präsentiert
wird; beispielsweise, Ändern
einer Verweilzeit von Szenen mit vielen Personen oder Ändern der
Bedienerkonsole, um Videos von einer Gruppe von Kameras zu empfangen.
Der Vermittler empfängt
dann Daten von Knotenmanagern, über
welche Aktivitäten
derzeit im System vorliegen und empfängt Regeln von der Set Rules
GUI darüber,
welche Aktivität
an welchem Monitor präsentiert
werden sollte und vermittelt korrespondierend Konflikte zwischen
verfügbaren
Monitoren und anhängiger
Aktivität.
Die Systemkameras können auch
von dem Bediener über
eine PTZ(Pan-Tilt-Zoom bzw. Schwenk-Neige-Zoom)-Regelung gesteigert
werden. Das PCS-System enthält auch
Vierfachverteiler, welche ein Analogvideo von einem zentralen CCTV-Schalter
empfangen und Vielfach-Videoszenen an eine Bedienerkonsole liefern.
-
Das
PCS-System steht über
eine Schnittstelle mit dem existierenden konventionellen CCTV-System über ein
Interface zwischen dem Vermittler und dem Portserver des CCTV-Systems
in Verbindung. Datenströme
von dem Vermittler zu dem Portserver laufen über einen seriellen Link und
Datenströme
von dem Portserver zu dem Vermittler laufen über ein Interprocess DCOM (Distributed
Component Object Model), ein Protokoll, welches ermöglicht,
dass Softwarekomponenten direkt über
ein Netzwerk kommunizieren. Zwischenprozessdaten von dem PCS-System
an den Portserver des CCTV-System enthalten die Nummer der als nächste auszuwählenden
Kamera, eine Ausgangsbestimmung einer nächsten Kameraauswahl, Befehle
um einen Weg von der Kamera zu einem Monitor einzustellen und eine
Nachrichtenreihung, welche zukünftige
Extensions erlaubt, ohne die Schnittstelle zu revidieren. Zwi schenprozessdaten
von dem Portserver des CCTV-Systems an das PCS-Systems enthalten
die Kameranummer, welche die Bedienungsperson zum Betrachten auf
einem anderen Monitor ausgewählt
hat, eine Kameranummer, welche die Bedienungsperson für Schwenkung,
Neigung oder Zoom (PTZ) ausgewählt
hat und eine Nachrichtenreihung, welche zukünftige Extensionen erlaubt,
ohne die Schnittstelle zu revidieren.
-
Datenströme zwischen
den Überwachungskameras
und dem Videoarbeiter sowie zwischen den Vierfachverteilern und
der Benutzerschnittstelle ist ein Analogvideo. Ein Datenstrom zwischen PCS-Systemkomponenten
ist dem Zwischenprozess-DCOM ähnlich,
wobei die Strömung
von dem Videoarbeiter zu dem Videosupervisor und die Strömung von
der Regeldatenbank zu dem Vermittler eine Intraprozess-COM (COM) ist, also
eine Softwarearchitektur, welche es ermöglicht, dass Anwendungen aus
Binärsoftwarekomponenten
geschaffen werden.
-
In
einem bekannten Ausführungsbeispiel
der vorliegenden Erfindung gibt es drei Knotenmanager, von denen
jeder Daten von einem Videosupervisor empfängt, welcher wiederum eine
Datenströmung zwischen
einem Videoarbeiter und vier Analysearbeitern steuert. Es gibt eine
Set Rules GUI, und es kann nur einen Vermittler pro System geben.
-
Dementsprechend
ist klar, dass gemäß der Erfindung
ein neues und vorteilhaftes Überwachungssystem
vorgeschlagen wird, welches ein Verbundüberwachungssystem genannt werden
kann, in dem es PCS- und CCTV-Subsysteme, welche synergetisch arbeiten
aufweist.
-
Es
liegt auch im Schutzbereich der Erfindung, als System an und für sich,
Merkmale der vorliegenden prozessorgesteuerten Auswahl und ein Kontrollsystem
(„PCS-System") vorzusehen, welches
in existierende CCTV-Systeme eingebaut werden und auf diese Weise
damit eingesetzt werden kann, und dass hiermit zu einem Hilfssystem
innerhalb eines solchen CCTV-Systems wird.
-
Zusätzliche
Gegenstände,
neue Merkmale und Vorteile der vorliegenden Erfindung werden in weiteren
Einzelheiten in der detaillierten Beschreibung, welche folgt, beispielhaft
beschrieben und für den
Fachmann klarer.
-
Kurze Beschreibung der Zeichnungen
-
Die
oben genannten und weitere Merkmale und Gegenstände der Erfindung und die Art
und Weise, diese zu erlangen, wird klarer und die Erfindung selbst
wird besser verstanden, unter die Bezugnahme auf die folgende Beschreibung
eines Ausführungsbeispiels
der Erfindung, welche in Verbindung mit den beiliegenden Zeichnungen
durchgeführt
wird.
-
1 zeigt
eine perspektivische Ansicht einer sogenannten Wand von CCTV-Displaymonitoren zusammen
mit der Darstellung einer menschlichen Figur, welche an einem Ende
der „Wand" gemäß dem Stand
der Technik positioniert ist. Die Zeichnung ist demnach mit „Stand
der Technik" beschriftet.
Die menschliche Figur ist nicht maßstabsgetreu gezeichnet.
-
2 zeigt
ein Blockdiagramm eines Überwachungssystems
entsprechend der vorliegenden Erfindung und verkörpert ein Ausführungsbeispiel der
vorliegenden Erfindung mit CCTV-Subsystemkomponenten und elektronischen
Subsystemmerkmalen, einschließlich
softwarebetriebener Komponenten, durch welche Videoausgänge von
Videokameras des Systems automatisch wahlweise an Displaymonitoren
des CCTV-Systems
zugänglich
gemacht werden, wobei die Kameraansichten von Überwachungspersonal angesehen
werden können, welches
die Displaymonitore durch Videos beobachten, welche wahlweise an
eine Videodisplaykonsole oder mehrere solche Konsolen geliefert
werden. In diesem Blockdiagramm ist nur eine typische Einheit von
möglichen
Positionen von Vielfachbedienerkonsolen gezeigt.
-
3 zeigt
eine Ansicht von Bildbereichen, welche für eine Bildanalyse gemäß der vorliegenden Erfindung
verwendet werden.
-
4 zeigt
eine Ansicht, welche Registrierungsmarkierungen zeigt, welche in
einem Drei-mal-Drei Gitter gemäß der vorliegenden
Erfindung hervorgehoben sind.
-
5 zeigt
eine Ansicht des Vier-mal-Vier Basiskernel mit vier Zwei-mal-Zwei-Quadranten und den
Pixelzahlen in jedem Quadranten zur Herstellung einer Geländekarte
gemäß der vorliegenden
Erfindung.
-
6 zeigt
eine Ansicht, welche die Bestimmung der Neigungsrichtung erläutert, wobei
sie ermöglicht,
dass 120 Grad in vier Bits gemäß der vorliegenden
Erfindung passen.
-
7 zeigt
ein Diagramm eines dreidimensionalen Farbraums, welcher für Bildanalyseberechnungen
gemäß dem Stand
der Technik Einsatz findet.
-
8 zeigt
ein Diagramm eines zweidimensionalen Farbraums, welcher für Bildanalyseberechnungen
gemäß der vorliegenden
Erfindung verwendet wird.
-
9 zeigt
eine Schwarz/Weißkarte,
welche den zweidimensionalen Farbraum gemäß der vorliegenden Erfindung
darstellt.
-
10 zeigt
eine Ansicht der Versetzung in Pixel zwischen den ungeraden und
geraden Feldern für
ein gegebenes Ziel, welches bereits von einem Videorahmen gemäß der vorliegenden
Erfindung segmentiert ist.
-
11 zeigt
eine Ansicht, welche schraffierte Bereiche zeigt, welche von einer
Bildanalysefunktion verwendet werden, um gemäß der vorliegenden Erfindung
Pixel zu zählen.
-
12 zeigt
eine Ansicht mit einem Bild von nur einem Ziel ohne Hintergrund,
welches gemäß der Erfindung
von Bildanalysefunktionen eingesetzt wird.
-
13 zeigt
ein Fließschema,
welches die Einfang- und Analysesynchronisation zwischen dem Supervisor
und dem Analysearbeiter gemäß der vorliegenden
Erfindung zeigt.
-
14 zeigt
ein Blockdiagramm der Hardware gemäß der vorliegenden Erfindung.
-
Korrespondierende
Bezugszeichen geben durch die einzelnen Ansichten hindurch korrespondierende
Teile an. Obwohl die Zeichnungen Ausführungsformen der vorliegenden
Erfindung darstellen, sind die Zeichnungen nicht notwendigerweise
maßstabsgetreu,
und bestimmte Merkmale können übertrieben
dargestellt sein, um die vorliegende Erfindung besser zu illustrieren
und zu erklären.
-
Detaillierte Beschreibung der vorliegenden
Erfindung
-
Gemäß den Zeichnungen
und insbesondere gemäß 2 sind
Softwarekomponenten eines prozessorgesteuerten Selektions- und Steuersystems (PCS) 10 in
Rahmen in der oberen rechten Ecke gezeigt, wie sie innerhalb der
Grenzen der durchgezogenen Linie enthalten sind. Weitere Komponenten
in der Zeichnung reflektieren das Blockdiagramm für ein CCTV-Subsystem 12,
welches in Verbindung mit elektronischen Merkmalen einschließlich der
softwarebetriebenen Komponenten gemäß der erfinderischen Systemkonfiguration
verwendet wird. Die softwarebetriebenen Komponenten des elektronischen Subsystems
verursachen, dass Videoausgänge
von Videokameras des CCTV-Subsystems automatisch und selektiv für Displaymonitore
des CCTV-Systems verfügbar
gemacht werden, wobei die Kameraansichten von Überwachungspersonal angesehen
werden können,
welches die Displaymonitore durch ein Video beobachtet, welches
für einen
Bediener selektiv an eine Videodisplaykonsole oder an mehrere solcher
Konsolen geliefert wird.
-
Existierendes CCTV-System
-
Zum
Zweck der Erklärung
des neuen Systems wird angenommen, dass es in dem oben gezeigten
Beispiel hunderte von CCTV-Kameras gibt, welche innerhalb einer
Parkgarage oder innerhalb von Reihen derartiger Garagen oder innerhalb
eines Garagenkomplexes angeordnet sind. Jede der CCTV-Garagenkameras 14 ist
direkt mit einem von drei CCTV-Schaltern verbunden (zwei dezentrale CCTV-Schalter 16 und
ein zentraler CCTV-Schalter 18). Dezentrale CCTV-Schalter 16 liefern
ein Video von CCTV-Garagenkameras 14 an einen zentralen CCTV-Schalter 18.
Der zentrale CCTV-Schalter 18 ist so konfiguriert, dass
er von der zentralen Schaltertastatur 20 nach bekannten
Techniken gesteuert wird, und leitet ein Video von CCTV- Garagenkameras 14 an
Bedienerkonsolen 22. Die dezentralen CCTV-Schalter 16 und
der zentrale CCTV-Schalter 18 empfangen von den CCTV-Garagenkameras 14 ein
analoges Video und senden in Folge ein analoges Video an die Bedienerkonsolen 22.
Die dezentralen Schalter 16 und der Zentralschalter 18 sind
Handelsware von der Stange (COTS). Der Fachmann weiß, dass
es andere als solche CCTV-Schalter
des Systems geben kann.
-
Verschiedene
mögliche
Typen von Videoeingängen
können
an dem zentralen CCTV-Schalter 18 vorgesehen sein. Solche
Eingänge
können
beispielsweise ein Video von einem dezentralen CCTV-Schalter 16,
anderen CCTV-Schaltern und ein Video von anderen CCTV-Garagenkameras 14 enthalten.
-
Der
zentrale CCTV-Schalter 18 ist so konfiguriert, dass er
von dem zentralen Schalterkeyboard 20 gemäß bekannter
Techniken gesteuert wird. Der zentrale CCTV-Schalter 18 leitet ein Video
von CCTV-Garagenkameras 14 zu den Bedienerkonsolen 22.
Die Bedienerkonsolen 22 sind Graphikschnittstellenarbeitsplätze 24,
welche mit einem Vierfachvideoverteiler 26 ausgerüstet sein
können.
Vierfachvideoverteiler 26 sind typisch bei solchen Verteilern, welche
Videobilder in ein 2×2-Format
aufteilen, wobei vier Videoszenen in einem einzelnen Displaymonitor
gezeigt werden. Bei dem vorliegenden dargestellten Systemausführungsbeispiel
sind zwei Bedienerkonsolen 22 mit Vierfach-Videosplittern 26 ausgerüstet, welche
zum Überwachen
von Garagenkameras und zur Auswahl von Kameraansichten, welche zu
dem einzelnen Displaymonitor übertragen
werden sollen, vorgesehen sind.
-
Der
analoge Videoausgang von dem Vierfachvideosplitter 26 ist
in Verbindung mit der GUI-Arbeitsstation 24 zur Illustration
der Art und Weise gezeigt, in welcher Kameraansichten zum Zweck
der Einstellung und/oder der Umstellung des Betriebs des Systems
verfügbar
gemacht werden können.
-
Prozessorgesteuertes Selektions- und Steuersystem (PCS)
-
Sechs
Software Module des PCS-Systems 10 sind in 2 gezeigt
und weisen folgende Einheiten auf: Analysearbeiter 30,
Videosupervisoren 32, Videoarbeiter 34, Knotenmanager 36,
Graphikschnittstellen mit eingestellten Regeln 38 und einen Vermittler 40.
Die Funktionen jedes der Softwaremodule und ihrer Interaktionen
werden im Folgenden beschrieben:
-
Analysearbeiter
-
Die
Analysearbeiter 30 sind ActiveX® EXE-Module,
welche für
die Bildanalyse verantwortlich sind. ActiveX®-Regler
gehören
zu den vielen Typen von Komponenten, welche COM-Technologien einsetzen,
um eine Verträglichkeit
mit anderen Typen von COM-Komponenten und -Diensten zu schaffen. Die
Analysearbeiter 30 analysieren das Video von einer Kamera
und berichten eine Aktivität
an den zugeordneten Videosupervisor 32. Neue Bilder werden gemäß einer
Verteilung durch den Videosupervisor 32 von einem gemeinsam
genutzten Speicher erhalten. Die Analysearbeiter 30 sind
auf Sichtbasis arbeitende Terminals (VB Shells), welche für die Kommunikation
mit den Videosupervisoren 32 verantwortlich sind und Oberwertbeschlüsse über Videoaktivitäten treffen.
Niedrig-Wert-Rufe zu den Bildprozessfunktionen werden von einer
DLL, Dynamic Link Library, bzw. einer dynamischen Verbindungsbibliothek,
einer Bibliothek ausführbarer
Funktionen oder Daten ausgeführt.
Alle Analysearbeiter 30 in dem PCS 10 teilen sich
die DLL und alle Rufe an die DLL werden von den Analysearbeitern 30 getätigt.
-
Die
Analysearbeiter 30 können
auch als Server für
den Videosupervisor 32 dienen. Jede Bilddatenmanipulation
wird in den C++-Funktionen der DLL durchgeführt. Innerhalb der DLL existieren
Funktionen, welche die Bildanalyseverfahren der vorliegenden Erfindung,
wie in weiteren Details im Folgenden beschrieben, unterstützen.
-
DLL der Bildanalyse:
-
Alle
Funktionen, welche Bilddaten manipulieren, sind in einer hochwertigen
DLL vorrätig,
welche das schnelle Schaffen von Bildanalyseprogrammen auf Sichtbasis
mit minimalem Aufwand, welcher auf Bilddaten verwendet wird, ermöglicht.
Die DLL verarbeitet Bilddaten und führt symbolische Daten zu einem
VB-rufenden Programm, nämlich,
einem lauffähigen
Analysearbeiter. Bei dem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung existieren die DLL-Funktionen in drei Quellcodemodulen:
- 1. Utilities Function (.Cpp) – enthält alle
Utilityfunktionen, wie sie von Dateien und zugeordnetem/freiem Speicher
gelesen wurden.
- 2. Image Processing Function (.Cpp) – enthält Bildverarbeitungsfunktionen,
wie beispielsweise den Hintergrund aufrechterhalten.
- 3. Image Analyses Function (.Cpp) – enthält Bildanalysefunktionen, welche
eine vorherige Segmentierung erfordern.
-
In
der DLL der vorliegenden Erfindung werden Matrizen engagiert, um
Ziele oder Objekte innerhalb des Videoinhalts zu verfolgen. Eine
Matrix enthält
Daten betreffend das Ziel (Zieldaten), und eine andere Matrix enthält Daten
betreffend die Geschichte des Ziels (Zielgeschichte). Wenn symbolische
Daten für
die Ziele gesammelt werden, werden die Daten in den Elementen von
zweidimensionalen Matrizen von Strukturen gespeichert. Eine Dimension dient
für die
Zahl zu verfolgender Bilder, und die andere Dimension dient für die Zahl
der Ziele in jedem Bild bis zu einem global variablen Maximum. Beispielsweise
ein Element „Name
[3] [9]" in der
Zielgeschichtenmatrix würde
Daten für
das neunte Objekt der Bilddaten, welche in Zeile 3 gespeichert sind
enthalten.
-
Symbolische
Daten, erforderlich, um eine Entscheidung darüber zu treffen, ob das Ziel
ein Auto oder eine Person ist, sind in der Zieldatenmatrix gespeichert.
Dementsprechend enthält
die Zieldatenmatrix eine Anzahl von Zeilen, welche im Allgemeinen
durch eine globale Variable repräsentiert
sind, welche erforderlich sind, um eine Entscheidung betreffend
die Natur des Ziels zu treffen. Das bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung verwendet zehn Zeilen in der Zieldatenmatrix.
-
In ähnlicher
Weise werden Symboldaten, welche erforderlich sind, um das Verhalten
eines Ziels über
eine Zeitdauer hinweg zu beurteilen in der Zielhistorienmatrix gespeichert.
Die Zielhistorienmatrix behält
die Spur des Ziels für
einige Sekunden und verwendet auch eine Anzahl von Zeilen, welche durch
eine globale Variable reprä sentiert
sind. Das bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung verwendet hundert Zeilen in der Zielhistorienmatrix.
-
Beide,
die Zieldaten- und die Zielhistorienmatrix haben dieselbe Anzahl
von Spalten und die gleiche Anzahl von Zielen in jedem Bild, wie
von der globalen Variablen für
die maximale Anzahl von Zielen definiert ist. Das bevorzugte Ausführungsbeispiel der
vorliegenden Erfindung verwendet vierundsechzig Spalten, um die
Anzahl von Zielen zu verfolgen.
-
Die
ersten vier Elemente der Zieldatenmatrix und der Zielhistorienmatrix
enthalten dieselben Elemente, und die Zielhistorienmatrix ist länger als
die Zieldatenmatrix. Beispielsweise sind die zehn verfolgten Ziele
in zehn Bildern der Zieldatenmatrix dieselben Ziele, welche in den
zehn aktuellsten Bildern der Zielhistorienmatrix verfolgt werden.
Im Ergebnis können
Daten in den zehn Zeilen der Zieldatenmatrix immer auf die zehn
aktuellsten Zeilen in der Zielhistorienmatrix abgebildet werden.
-
Die
erste Dimension der Zieldatenmatrix und der Zielhistorienmatrix
wird als Ring eingesetzt, sodass eine Variable für die aktuellen Datenzeile
auf die Zeile der Zieldatenmatrix zeigt, welche für das nächste Bild,
welches analysiert wird, verwendet werden soll. Die aktuelle Datenzeilenvariable
wird für
jedes analysierte Bild hochgezählt,
und wenn die globale Variable für
die maximale Anzahl von Zeilen erreicht ist, wird die aktuelle Datenzeilenvariable
auf 1 gesetzt.
-
In ähnlicher
Weise zeigt eine Variable für
die aktuelle Historienzeile auf die Zeile der Zielhistorienmatrix,
welche für
das nächste
Bild, welches analysiert werden soll, verwendet werden soll, und
die aktuelle Historienzeilenvariable wird für jedes analysierte Bild hochgezählt. Wenn
die globale Variable für
die maximale Anzahl von Historienzeilen erreicht ist, wird die aktuelle
Historienzeilenvariable auf 1 gesetzt.
-
Wenn
Ziele gezählt
und in jedem Bild bezeichnet werden, werden die Elemente der Zielhistorienmatrix
in dem korrespondierenden Element platziert. Beispielsweise hält Spalte
9 der Zielhistorienmatrix Daten über
das Ziel mit allen Pixel, welche auf 9 über eine Zielnamenfunktion
gesetzt sind, fest.
-
Eine
weitere Bildanalysefunktion ist die der Registrierungsmarken, welche
eine Angabe über eine
Kamerabewegung liefert. Die Registrierungsmarkenfunktion scannt
durch eine Geländekarte
auf Ecken mit hohen Neigungsgraden und unterschiedlicher Neigungsrichtung
gegenüber
Ecken in benachbarten Geländekartenstrukturen.
-
Das
Folgende ist eine weiter ins Detail gehende Beschreibung der weiteren
Funktionen in der Bildanalyse-DLL, welche die Bilddaten manipuliert:
- Vergeben eines Matrixspeichers: Eine Funktion zum Zuordnen eines
Speichers für
die Zieldatenmatrix und die Zielhistorienmatrix für die Größen, welche
in den globalen Variablen für
die maximale Anzahl von Zielen, Zieldatenzeilen und Zielhistorienzeilen
spezifiziert ist. Man erinnere sich, dass die Zahl von Spalten für beide
Matrizen immer gleich ist, jedoch die Zahl von Zeilen unterschiedlich
sein kann. Die Zahl von Spalten wird in der DLL durch eine Konstante
bestimmt und wird in der globalen Variablen für die Maximalzahl von Zielen
eingesetzt.
- Zuordnen eines Puffers: Eine Funktion zum Einschließen aller
erforderlichen Codes, um einen Puffer mit spezifizierter Größe unter
Verwendung eines spezifizierten Puffertyps anzuordnen.
- Zuordnung eines Puffers für
eine farbige Geländekarte:
Eine Funktion zum Einkapseln des zur Zuordnung eines farbigen Geländekartenpuffers
erforderlichen Codes. Pro Argument, welches Zeilen und Spalten abbildet,
wird ein roher Puffer zugeordnet.
- Zuordnen einer Liste für
Registrierungsmarken: Eine Funktion, um einen Speicher zuzuordnen
und einen Zeiger zu einer zweidimensionalen Matrix für die Registrierungsmarkenfunktion
zurückzuführen. Der
Typus der verwendeten Struktur wird durch eine globale Variable
für die
Anzahl von Bits pro Pixel bestimmt. Die Anzahl von Zeilen wird bestimmt
durch eine globale Variable für
die Anzahl von Markierungen, und die Anzahl von Spalten wird bestimmt
durch eine globale Variable für
die Anzahl von Elementen pro Markierung.
- Zuordnen eines Puffers für
eine Monogeländekarte: Ähnlich wie
bei der Funktion zur Zuordnung eines Puffers für die farbige Geländekarte,
wird eine Funktion zum Einkapseln des zum Zuordnen eines Puffers für eine Monochrome
Geländekarte
erforderlichen Codes verwendet.
- Zielanalyse: Eine Hauptfunktion für die Zielanalyse, welche symbolische
Daten für
die Elemente der Zielhistorienmatrix, spezifiziert durch verschiedene
Argumente, auswirft. Die Argumente gemäß dem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung enthalten, sind hierauf jedoch nicht
beschränkt, ob
das Ziel: einen Kopf hat, groß ist,
Arme hat, Beine hat, sich mit Geschwindigkeit bewegt, sich in einer besonderen
Richtung bewegt, Räder
hat, ein Fußgänger oder
ein Fahrzeug ist, und wann sich das Ziel zuletzt bewegt hat.
-
Um
festzustellen, ob das Ziel einen Kopf hat, wird der Prozentanteil
des oberen 1/5 eines umhüllenden
Rechtecks verglichen mit dem Prozentanteil des zweiten 1/5 des umhüllenden
Rechtecks von oben. Wenn die Werte dieselben sind, hat das Ziel keinen
Kopf. Wenn das oberste 1/5 kleiner als 25% des zweiten 1/5 ist,
dann hat das Ziel einen Kopf.
-
Um
festzustellen, ob das Ziel groß ist,
wird aus der Höhe
und Breite des Ziels ein Längen/Breitenverhältnis berechnet.
Wenn das Längen/Breitenverhältnis 3/1
ist, dann ist das Ziel groß.
-
Gemäß 3 umfasst
eine Bestimmung, ob das Ziel Arme hat, eine Reihe von Hüllrechtecken 48 um
das Ziel 49. Die zweite und dritte Zeile von fünf Bereichen
(von oben nach unten) eines umhüllenden Rechtecks
wird verglichen mit der zweiten und dritten Zeile des umhüllenden
Rechtecks des vorhergehenden Bildes des Ziels. Der Wert der Pixeländerung
von dem aktuellen Bild zu den vorhergehenden Bild bestimmt, ob das
Ziel einen Arm hat.
-
In ähnlicher
Weise umfasst eine Bestimmung, ob das Ziel Beine hat, einen Vergleich
der unteren 2/5 des aktuellen Umhüllungsrechtecks mit den oberen
2/5 des umhüllenden
Rechtecks des zuvorgehenden Bildes des Ziels.
-
Die
Geschwindigkeit wird bestimmt durch Messen der Geschwindigkeit in
Breiten pro Sekunde und Höhen
pro Sekunde von den Daten in der Zielhistorienmatrix.
-
Die
Richtung des Ziels wird bestimmt durch einfaches Vergleichen der Änderung
von Pixel zwischen dem letzten Bildes in dem das Ziel erkannt worden
ist, und dem aktuellen Bild.
-
Ein
Ziel wird als Fußgänger oder
als Fahrzeug auf der Basis von vielen Faktoren klassifiziert, einschließlich dem
Merkmal von Fußgängern im
Vergleich zu Fahrzeugen. Das heißt, Fußgänger bewegen ihre Arme und
Beine, wenn sie sich bewegen und Fahrzeuge behalten dieselbe Form
bei, wenn sie sich bewegen. Andere Faktoren schließen das
Höhen/Breitenverhältnis und
die Glattheit ein. Zum Beispiel sind Fußgänger höher als Fahrzeuge, und Fahrzeuge
sind glatter als Fußgänger. Um
zu bestimmen, wann sich ein Ziel das letzte Mal bewegt hat, wird
ein Grenzwert verwendet, um die Bewegung des Ziels zu vergleichen.
Wenn sich das Ziel seit dem letzten Bild mehr bewegt hat, als der
Grenzwert, dann wird eine globale Variable für die letzte Bewegung auf Null
gesetzt. Wenn sich das Ziel nicht bewegt hat, dann wird die globale
Variable hochgezählt.
-
Eine
weitere Funktion besteht in dem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung darin, zwei Ziele zu vergleichen, um eine Wahrscheinlichkeit
zu bekommen, ob die Ziele in unterschiedlichen Bildern dasselbe
Objekt sind. Die Argumente spezifizieren die Referenz und Testziele
und unterstützen
eine weitere Funktion, welche Ziele in benachbarten Bildern vergleicht,
um individuelle Ziele zu verfolgen. Darüberhinaus können die Argumente auf Ziele
in dem gleichen Bild oder auf Ziele in einer unbestimmten Anzahl
von entfernten Bildern zeigen. Das Argument gibt eine prozentuale
Wahrscheinlichkeit einer Übereinstimmung
zurück,
wobei ein Wert von 100% einer exakten Übereinstimmung Pixel pro Pixel
entspricht.
-
Eine
zusätzliche
Funktion, welche eine Monogeländekarte
vergleicht, wird ebenfalls eingesetzt, um eine Segmentierung durchzuführen, wie
sie durch den Vergleich von zwei Geländekarten erforderlich ist.
Eine Segmentierung ist erforderlich, um sich bewegende Objekte vom
Hintergrund zu unterscheiden. Es werden auch Argumente eingesetzt, welche
den Grenzwert im Unterschied zwischen den Höhen bestimmen, bevor ein 2×2 Kernel
segmentiert wird, unabhängig
von der Wahrscheinlichkeit anderer Geländemerkmale, und davon, wie
stark unterschiedlich andere Geländemerkmale
sein müssen, um
ein 2×2
Kernel zu segmentieren, sogar wenn der Hintergrund und Testhöhen dieselben
sind. Die absoluten Werte der Unterschiede der individuellen Geländemerkmale
werden summiert und mit dem Argument verglichen, welches bestimmt,
wie stark unterschiedlich die Geländemerkmale zu dem Segment sein
müssen.
Wenn fünf
Werte in einer Testkarte ausreichend unterschiedlich von fünf Werten
in einem Hintergrundpuffer sind, dann werden die zugeordneten Pixel
in dem resultierenden Puffer auf 255 gesetzt, was heißt, dass
der 2×2
Kernel segmentiert werden muss.
-
In ähnlicher
Weise wird bei der vorliegenden Erfindung eine Funktion zum Vergleichen
von farbigen Geländekarten
ebenfalls erwägt.
Das Argument führt
eine Segmentierung durch, durch Vergleichen von zwei Geländekarten ähnlich wie
das Argument, welches Monogeländekarten,
wie zuvor beschrieben, vergleicht und schließt darüber hinaus eine Farbrichtung
ein. Bei niedrigen Farbgraden wird der Richtung der Farbe ein Nullgewicht
gegeben.
-
Zusätzliche
Funktionen werden verwendet, um ein Wackeln der Kamera zu kompensieren.
Versetzungen in Pixel werden bestimmt, um die Anzahl von Geländekartenstrukturen
anzuzeigen, um welche die Rahmen voneinander versetzt sein müssen, um
die Hintergründe
wieder auszurichten.
-
Eine
Funktion, welche Registrierungsmarkierungen bestätigt, scannt durch die Geländekarte,
wobei sie Ecken sucht, welche von der Funktion gefunden wurden,
welche Registrierungsmarken lokalisiert. Grundsätzlich werden Registrierungsmarken auf
einem Hintergrundbild angeordnet und auf einem Testbild bestätigt. Wenn
die Kamera sich nicht bewegt hat, werden sich die Markierungen an
demselben Platz befinden. Wenn einige der Markierungen von Zielen
in dem Testbild bedeckt sind, werden andere noch sichtbar sein,
wenn eine ausreichende Anzahl erzeugt worden ist.
-
Wenn
sich die Kamera bewegt hat, sucht die Funktion, welche die Registrierungsmarkierungen bestätigt, von
dem Originalzustand in einem Spiralmuster nach außen nach
dem neuen Ort der Ecken solange, bis die Ecke gefunden worden ist
oder ein maximaler Grenzwert erreicht ist. Wenn eine oder mehrere
Ecken, welche die gleichen Versetzungen haben, lokalisiert werden
können,
dass werden diese Versetzungen in den globalen Variablen für x- und y-Versetzungen
eingesetzt, und die Anzahl von Ecken, welche bei solchen Versetzungen
gefunden wurden, wird zurückgesetzt.
Wenn keine der Ecken in der Liste lokalisiert werden kann, kehrt
die Funktion auf den Wert Null zurück. Der Wert der globalen Variablen
für eine
x- und y-Versetzung,
die zu der Richtung des aktuellen Puffers passen, muss eingestellt
werden, um den Hintergrundpuffer nach dem Wackeln der Kamera auszurichten.
Wenn zum Beispiel die x- und y-Versetzungen beide –3 betragen, dann
muss der aktuelle Puffer um drei Pixel nach unten und nach links
eingestellt werden, um den Rest des Bildes auszurichten.
-
Eine
weitere Matrix enthält
eine Liste von Registrierungsmarkierungen und ist eine zweidimensionale
Matrix von Strukturen, wobei eine Zeile für jede Registrierungsmarkierung
und eine Spalte für
jede Geländekartenstruktur
in der Markierung vorliegt. In Folge werden globale Variable für die Anzahl
von Markierungen und die Elemente pro Markierung eingesetzt. Die
Anzahl von Markierungen bestimmt die Anzahl von Registrierungsmarkierungen
zur Bestätigung
in der Geländekarte
und ist das Quadrat einer ganzen Zahl. Die Elemente pro Markierung
bestimmt die Anzahl von benachbarten Geländekartenstrukturen, um eine
Registrierungsmarkierung zu definieren. Darüber hinaus wird die Größe der Geländekarte durch
globale Größenvariablen
bestimmt.
-
Noch
eine weitere Funktion fragt Merkmale ab und liefert ein Mittel für den Abrufprozess,
um herauszufinden, ob ein bestimmtes Merkmal gestützt ist,
bevor es gerufen wird. Diese Funktion ist eine Schaltangabe, wobei
jeder Fall ein unterstütztes Merk mal
ist. Die Schaltangabe wird ausgeführt, wenn das Programm entwickelt
wird, um solche Merkmalsnamen wie zum Beispiel:
„Hat Arme"
„Hat Beine"
„Hat Kopf"
„Ist Groß"
„Prüfe Geschwindigkeit"
„Prüfe Richtung"
„Entferne
Blendung"
„Entferne
Schatten"
„Stopp
Wackeln"
„Prüfe Glattheit"
„Klassifizierung Übereinstimmung"
„Beurteile Übereinstimmung"
-
Ziele
werden unter Verwendung einer Funktion, welche durch ein Bild scannt,
welches in einen Binärzustand
konvertiert (hervorgehoben) ist mit Gegenständen mit EIN benannt und Hintergrund
mit AUS benannt. Verbundene Pixel werden in einem Ergebnispuffer
benannt, wobei alle verbundenen Pixel in dem ersten Ziel auf 1 und
in dem zweiten Ziel auf 2, und in ähnlicher Weise auf bis zu 255
Zielen gesetzt. Ziele mit weniger als einer Maximalanzahl von Pixel
oder mehr als einer Maximalanzahl von Pixel oder weniger als eine
Minimalhöhe
oder weniger als eine Minimalbreite werden gelöscht. Die Zielbenennungsfunktion
eliminiert Rauschen, verbindet jedoch Ziele nicht.
-
Registrierungsmarken
werden, unter einer Verwendung einer Funktion lokalisiert, welche
durch die Geländekarte
des Arguments scannt, wobei sie nach Ecken sucht, welche durch einen
hohen Neigungsgrad mit unterschiedlichen Neigungsrichtungen in benachbarten
Geländekartenstrukturen
angezeigt sind. Die Anzahl von Elementen pro Markierung ist ein
Quadrat einer ganzen Zahl und so niedrig wie möglich, um freie Ecken zu finden.
Jede Markierung besteht aus einem quadratischen Bereich der Karte, beispielsweise
ist ein 3×3-Bereich
für die
Anzahl von Markierungsargu menten ist gleich mit neun Markierungen.
Der Grenzwert für
den Neigungsgrad und den Unterschied in der Neigungsrichtung wird
durch Test bestimmt und mit einem festen Code versehen. Wie in 4 zu
sehen ist, sind neun Registrierungsmarkierungen 50 in einem
3×3-Gitter
hervorgehoben.
-
Für jede Registrierungsmarkierung 50,
welche durch die Lokalisierungsfunktion gefunden wurde, werden die
Werte der korrespondierenden Geländekartenstrukturen
zu den Elementen der Matrix kopiert, welche eine Liste von Registrierungsmarkierungen
hat und die zugeordnete Zeile und Spalte der Geländekarte wird in der Registrierungsmarkenstruktur
eingeschlossen.
-
Eine
Identifizierung von Zielübereinstimmungen
mit anderen Rahmen, wird mit einer Funktion durchgeführt, welche
die Schleife durch die Elemente der beiden Zeilen der Zieldatenmatrix
steuert. Die Funktion sucht nach Übereinstimmungen mit dem nächsten Bild,
von dem angenommen wird, dass es das letzte Bild ist, es könnte jedoch
ein weiteres Bild jedes vorherige Bild sein. Jedes Ziel in dem neueren Bild
wird auf eine Übereinstimmung
mit jedem Ziel in dem älteren
Bild geprüft,
wobei ein zweistufiger Vergleich verwendet wird. Zuerst wird ein
schneller Vergleich durchgeführt,
um zu sehen, ob die beiden Ziele ähnlich sind, und wenn sie ähnlich sind,
dann wird die Funktion, welche die Ziele vergleicht, aufgerufen.
Es wird dann ein aktuelles Ergebnis generiert und verglichen mit
einem Argument für
das erforderliche Ergebnis, welches angibt, ob eine Übereinstimmung gefunden
wurde.
-
Eine
Funktion, welche den Hintergrund aufrecht erhält, ist vorgesehen, welche
die Hintergrundbilddaten von den interessanten Zielen filtert. Grundsätzlich isoliert
die Funktion den Hintergrund von sich bewegenden Zielen über Durchschnittsabschnitte von
Rahmen, welche keine sich bewegende Ziele enthalten.
-
Wie
zuvor erwähnt
wurde, ist auch eine Funktion zum Erzeugen einer Monogeländekarte vorgesehen.
Für jeden
2×2 Kernel
von Pixel in dem Eingangspuffer wird eine Geländekarte mit sechs Bits von
Daten ausgefüllt,
welche die Verhältnisse der
16 Pixel in einen 4×4
Kernel, welcher den 2×2 Kernel
umgibt, beschreiben. Wie in 5 gezeigt
ist, werden in jedem Quadranten Quadranten wie Pixel nummeriert.
Das Fol gende sind Elemente, welche in der MakeTerrainMapMono-Funktion
Verwendung finden:
- Durchschnittshöhe: Durchschnittswert der vier
Pixel in der Mitte des 2×2
Kernel.
- Neigungsgrad: Absolute Differenz in Prozent zwischen dem höchsten Durchschnittswert
der vier 2×2 Quadranten
in dem 4×4
Kernel und dem Quadranten mit dem niedrigsten Durchschnittswert.
- Neigungsrichtung: Richtung der Neigung zwischen dem höchsten und
dem niedrigsten Quadranten, welche verwendet wird, um den Neigungsgrad
zu definieren. Die Richtung der Neigung wird bestimmt nach den Regeln
gemäß 6.
Die Werte sind 1/3 der Gradsumme um 120 Grad zu ermöglichen,
sodass sie in vier Bits passen, wobei 360 Grad acht Bits benötigen würden.
- Horizontale Glattheit: Ein Maß dafür, wie gleichmäßig die
Pixeländerung
in horizontaler Richtung von dem niedrigsten Pixel zu dem höchsten Pixel
ist.
- Vertikale Glattheit: Ein Maß dafür, wie regelmäßig die Pixeländerung
in vertikaler Richtung von dem niedrigsten Pixel zu dem höchsten Pixel
ist.
- Zackigkeit/Rissigkeit (Jaggyness): Ein Maß dafür, wie oft eine Knotenverzerrung
durch eine Bewegung zwischen den ungeraden und geraden Feldern des Bildes
verursacht wurde.
-
Die
sich ergebende Geländekarte
wird in einer einzelnen Ebene von Strukturen in Zeilen/Spaltenordnung
gespeichert. Der Strukturtyp ist eine Matrix für die Geländedaten und hat ein Element
für jedes
Geländemerkmal.
Ein Puffer für
den Geländekartenpuffer
enthält
eine GrößeX/2·GrößeY/2-Struktur und
die Größe des Puffers
ist eine GrößeX/2·Größe Y/2·Größe der Geländedaten.
Das erste Element des Geländekartenpuffers
enthält
Daten für
die ersten beiden Pixel in jeder der ersten beiden Zeilen des Eingangspuffers,
welches der erste gefundene 2×2 Kernel
ist. Der Geländekartenpuffer
ist roh, und dementsprechend gibt es keine Kopfzeile und die Größe anzugeben,
sodass die Funktion annimmt, dass die globalen Variablen GrößeX und
GrößeY anwendungsgemäß an die
Puffer geschickt wurden.
-
Da
die Pixel des Bildpuffers der oberen, unteren, linken und rechten
Grenze per definitionem nicht in der Mitte eines Kernel sein können, werden Daten
von dem ersten Durchgang auf der ersten Zeile für die obersten zwei Pixel verwendet,
nicht für
die Pixel der Mitte. Der zweite Durchgang ist eine Zeile unterhalb
des ersten Durchgangs, um die Pixel von Interesse in die Mitte des
Kernel zu setzen. In Folge werden rohe Durchgänge um zwei hochgezählt, um die
Vier-Pixel-Kernel von Interesse in der Mitte zu behalten bis zur
unteren Zeile, in der der Hochzähler
1 ist, und der letzte Zeilendurchgang wird verwendet, um Daten für die beiden
unteren Zeilen zu erhalten. Vom Eingangsabbildpuffer wird angenommen,
dass er der erforderlichen Größe zugeordnet
ist.
-
In ähnlicher
Weise ist in den Analysearbeitern eine Funktion vorgesehen, um die
farbige Geländekarte
herzustellen. Für
jeden 2×2
Kernel von Pixel in dem Eingangspuffer wird eine Geländekarte, sechs
Bits von Daten ausgefüllt,
welche die Verhältnisse
jeder der drei Farben für
die 16 Pixel in einem 4×4
Kernel, welcher den 2×2
Kernel umgibt, beschreiben. Quadranten und Pixel sind in der Funktion nummeriert,
welche eine Monogeländekarte
erzeugt. Die Farbkarte ist ähnlich
zu drei Monokarten, mit identischen Elementen und zusätzlichen
zwei Elementen für
Farbrichtung und Farbgrad, wie im Folgenden in weiteren Einzelheiten
beschrieben wird. Das Folgende sind Elemente, welche bei der Funktion
verwendet werden, welche eine Farbgeländekarte erzeugen:
- Durchschnittliche
Höhe: Ein
Durchschnittswert für
die vier Pixel in der Mitte des 2×2 Kernel.
- Neigungsgrad: Absoluter Unterschied in Prozent zwischen dem
höchsten
Durchschnittswert der vier 2×2 Quadranten
in dem 4×4
Kernel und dem Quadranten mit dem niedrigsten Durchschnittswert.
- Neigungsrichtung: Die Richtung der Neigung zwischen dem höchsten und
dem niedrigsten Quadranten, wird verwendet, um den Neigungsgrad
zu definieren. Die Neigungsrichtung wird bestimmt wie in 6 gezeigt
ist, wobei die Werte 1/3 des Gradbereichs darstellen um 120 Grad
zu ermöglichen,
welche in vier Bits passen, wobei 360 Grad acht Bits erfordern.
- Horizontale Glattheit: Ein Maß dafür, wie regelmäßig die
Pixelveränderung
in horizontaler Richtung von dem niedrigsten Pixel zu dem höchsten Pixel
reicht.
- Vertikale Glattheit: Ein Maß dafür, wie regelmäßig die Pixelveränderung
in Vertikalrichtung von dem niedrigsten Pixel zu dem höchsten Pixel
stattfindet.
- Zackigkeit: Ein Maß dafür, wie oft
eine Knotenverzerrung (Zackigkeit/Jaggyness) verursacht wurde durch eine
Bewegung zwischen den ungeraden und geraden Feldern des Bildes.
- Farbgrad: Ein Maß dafür, wie weit
die Farbe von einem Grauwert abweicht. Der Farbgrad ist Null für vollständig weiß oder vollständig schwarz
und 255 für jede
andere vollständige
Farbe.
- Farbrichtung: Ein Maß für den Ton
der Farbe. In einer Farbkarte aus dem Stand der Technik hat Gelb
Null Grad und fortschreitend gegen den Uhrzeigersinn hat Rot 45
Grad, Magenta liegt bei 90 Grad, Blau hat 180 Grad und Grün liegt
bei 270 Grad. Die Richtung wird intern als Null bis 127 gespeichert.
-
Farbraum
-
Die
Bildanalyse aus dem Stand der Technik, welche eine Segmentation
verwendet, auf der Basis von Farbunterschieden, erfordert eine Messung,
wobei Zahlen, welche unterschiedliche Farben repräsentieren
einen numerischen Unterschied haben, welcher proportional zu den
erhaltenen Unterschieden zwischen den Farben ist. Rohe RGB-(Rot
Grün Blau)Werte
können
für eine
Segmentation nicht verwendet werden, da es drei Zahlen für jedes
RGB-Set gibt und unterschiedliche Kombinationen für Rot, Grün und Blau
gemischt werden, um dieselbe Farbe zu erzeugen.
-
RGB-Werte
können
verglichen werden, durch Kartierung beider RGB-Sätze im dreidimensionalen Raum,
wobei die drei Achsen sind: Rot, Grün und Blau. Wie in 7 gezeigt
ist, ist der Ursprung des Würfels,
in dem alle Werte bei Null liegen, vollständig schwarz, und die diagonal
gegenüberliegende
Ecke, in der alle Werte bei 255 liegen, ist weiß. Die Linie zwischen der schwarzen
Ecke und der weißen Ecke
ist die neutrale Achse. Alle Grauwerte (von 0,0,0 bis 255, 255,
255) liegen auf der neutralen Achse.
-
Der
Abstand von der neutralen Achse ist das Maß für die Farbsättigung. Auf der neutralen
Achse sind R, G und B alle gleich, was zu einem Grauwert ohne Farbsättigung
führt.
An dem extremen Abstand von der neutralen Achse, (255, wie in 2 gezeigt ist),
ist wenigstens ein Wert des RGB-Satzes Null und wenigstens ein Wert
255, was eine vollständig gesättigte Farbe
ergibt.
-
Eine
Winkelverschiebung von der neutralen Achse ist das Maß für die Schattierung.
Gleiche Schattierungen sind definiert, als die Fläche, die
sich durch die neutrale Achse und jeden Punkt auf der Oberfläche des
Würfels
ergibt. Gleiche Schattierungen korrespondieren mit der Vorstellung
der „gleichen
Farbe" unter verschiedenen
Bedingungen. Die Bereiche am Nächsten
zur neutralen Achse sind eher ausgewaschen oder pastellfarben und
die Bereiche am Weitesten von der Achse entfernt sind mehr intensiv.
Bereiche, am Nächsten
zum schwarzen Ende der Achse werden empfunden wie unter gedimmtem Licht
und Bereiche am nächsten
zum weißen
Ende werden empfunden wie unter strahlendem Licht.
-
Bei
der Verwendung dieses RGB-Würfels
für eine
Segmentierung, liegen RGB-Sets, welche etwa die gleiche Winkelverschiebung
von der neutralen Achse haben, bei der gleichen Farbe, und RGB-Sets, welche
etwa im selben Abstand zur neutralen Achse liegen, haben annähernd die
gleiche Sättigung.
Dementsprechend sind die dreidimensionalen Berechnungen computertechnisch
aufwändig
und erzeugen mehr Ergebnisse als für die Segmentation durch Schattierung
und Sättigung
verwendet werden.
-
Im
Gegenstand zum Stand der Technik, der einen Farbraum in drei Dimensionen
berechnet, verwenden die Bildanalysetechniken der vorliegenden Erfindung
nur zwei Dimensionen, nämlich
Grün minus
Rot und Blau minus Rot. Jede Achse ist skaliert von –255 bis
+255. Da nur die Unterschiede aufgezeichnet werden, steht eine Position
in der Aufzeichnung für
jede Balance bei den Werten der Rot, Grün und Blau-Ergebnisse. Alle 256 Grauwerte in dem RGB-Würfel verbergen
sich in einen einzelnen Punkt, an dem 0,0-Ursprung der Aufzeichnung.
In ähnlicher
Weise wird jede Linie in dem RGB-Würfel, welche gleiche Schattierung
und gleiche Sättigung darstellt,
reduziert auf einen einzelnen Punkt. Als Ergebnis der Aufzeichnung
(oder Berechnung) nur der für
eine Segmentierung interessanten Werte zeichnet dieser neue zweidimensionale
Farbraum alle der 16,772,216 RGB-Kombinationen in nur 195,075 Stellungen
auf.
-
In
dem neuen Farbraum ist eine Farbrichtung äquivalent zur Schattierung
und wird gemessen über die
Winkelverschiebung um den Ursprungspunkt der Aufzeichnung. Ein Farbgrad
ist äquivalent
zur Sättigung
und wird gemessen durch einen Abstand vom Ursprung. Es ist zu beachten,
dass alle Grauwerte von vollständig
schwarz bis vollständig
weiß in
der gleichen Position in dem Farbraum aufgezeichnet sind, nämlich dem
Ursprung, wobei hier keine Farbinformation, für die Verwendung bei der Segmentierung
vorliegt.
-
Wie
in 8 gezeigt ist, werden zwei Punkte mit der gleichen
Farbbalance aufgezeichnet, wobei Blau auf dem halben Weg zwischen
Rot und Grün liegt.
Grün minus
Rot ist in einem Fall 100, in einem anderen Fall 200. Da beide Punkte
dieselbe Farbbalance haben, werden sie in dieselbe Farbrichtung
(27 Grad) gezeichnet. Da der Punkt, an dem Grün minus Rot bei 200 liegt,
mehr Unterschiede in den RGB-Komponenten
hat, hat er einen höheren
Farbgrad (223 im Vergleich zu 111).
-
In
dem Beispielfall von G – R
= 100 und B – R
= 50 gibt es 155 Helligkeitswerte, welche in dieselbe Position in
dem Farbraum als Grünvarianten
von 100 bis 255 gezeichnet sind. Alle diese Helligkeitswerte haben
die gleiche Schattierung und Sättigung. Helligkeit
wird im Farbraum einfach als (R + G + B)/3 behandelt.
-
In
der in 9 gezeigten Farbkarte fallen die beiden Beispielpunkte
auf eine Linie vom Ursprungspunkt zu einem Punkt am Umfang etwa
auf halben Weg zwischen Cyan und Grün. Durch Nachprüfung kann
man feststellen, dass jede Linie zwischen dem Ursprungspunkt und
jedem Punkt am Umfang durch viele Sättigungswerte dergleichen Schattierung
hindurch geht. Wenn sie für
eine Farbsegmentierung eingesetzt wird, ergibt die relativ einfache
2D-Berechnung dasselbe Ergebnis, wie die berechnungstechnisch teuereren
3D-Berechnungen.
-
Eine
weitere Funktion, welche in dem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung ausgeführt
wird, ist das Messen der Versetzung in Pixel zwischen den ungeraden
und geraden Feldern für
ein gegebenes Ziel, welches bereits aus einem Videobild segmentiert
wurde. Ein umhüllendes Rechteck
wird bestimmt, und eine Zielmaske wird erzeugt, wobei die Zielmaske
der Eingangswert für
diese Funktion ist. Eine zusätzliche
Funktion bestimmt, ob ein zackiges oder rissiges Muster existiert.
Wie in 10 gezeigt ist, ist die Zackigkeit
angegeben, dort wo die Versetzung in Pixel verwendet wird, um zu
bestimmen, wie schnell sich ein Ziel bewegt und die Richtung des
Ziels, wobei ungerade und gerade Felder verglichen werden. Zwei
Puffer werden zugeordnet und von der Zackigkeitsfunktion befreit,
einer für die
geraden Scannlinien und einer für
die ungeraden Scannlinien. Die beiden Puffer sind Vorlagen, welche übereinstimmend
geformt sind, um die beste Passung zu ergeben, und die erforderlichen
Versetzungen sind in Argumentzeigern platziert.
-
Noch
eine weitere Funktion der vorliegenden Erfindung entfernt Schatten
und Blendung durch Verwendung des umhüllenden Rechtecks des Testbildes,
welches durch die Argumentzeile und -spalte der Zieldatenmatrix
gegeben ist. Das umhüllende Rechteck
wird mit Kernel von 5×5
Pixel gescannt. Wenn alle Pixel in dem Kernel in dem segmentierten Puffer
als Zielpixel markiert sind, werden sie getestet, um zu sehen, ob
sie Schatten oder Blendwerte als eine Gruppe von 25 sind. Wenn der
Kernel als Schatten oder Blendung eingestuft wird, werden alle 25
Pixel in dem segmentierten Bild auf Null gesetzt. Das Folgende ist
der Test für
Schatten oder Blendung: Die Differenzmatrix von 25 Elementen (Hintergrund-Test) muss
vollständig,
entweder positiv (Schatten) oder negativ (Blendung) sein. Der Differenzkernel
(Hintergrund-Test)
muss glatter sein, als die korrespondierenden 25 Pixel entweder
im Hinter grund- oder im Testbild. Die Rauhheit wird durch Zufügen der
Unterschiede von einem Pixel zu dem nächsten berechnet. Nach Berechnung
der Rauheitszahl für
den Test, Hintergrund und Differenzkernel muss die Differenz, damit
sie als Schatten oder Blendung betrachtet wird, die niedrigste Rauhheits-(höchste Glattheits-)zahl haben.
Das umhüllende
Rechteck wird zurückgesetzt,
wenn Pixel aus dem segmentierten Bild entfernt worden sind. Die
Entfernung von Schatten- und Blendungsfunktion kann entweder mit
Farb- oder mit monochromen Dateien verwendet werden, welche von
den empfangenen Kopfzeilen abhängen.
-
Eine
weitere Funktion scannt Ziele in benannten Bildern durch Zeilen
und hebt Statistiken für jedes
Ziel für
jedes 1/5 der Höhe
des Ziels auf für:
- Glattheit: Für
jedes in dem Ziel gescannte Pixel, wird das korrespondierende Pixel
in dem Originalbild auf eine Veränderung
im Vergleich zu den benachbarten Pixel geprüft. Wenn sich jedes Pixel in
dem Originalbild von dem benachbarten Pixel unterscheidet, ist die
Glattheit Null Prozent. Wenn alle Pixel in dem Originalbild denselbten
Wert haben, beträgt
die Glattheit 100 Prozent. Eine Glattheitszahl wird für jedes
1/5 der Höhe
des Ziels festgehalten.
- Prozentlücke:
Zählt die
Pixel des Hintergrunds, welche zwischen Abschnitten des Ziels liegen.
Eine Zählung
wird festgehalten für
jedes 1/5 des umhüllenden Rechtecks
von oben bis unten und wird verwendet, um das Vorliegen von Füßen oder
Rädern
zu eruieren. Wie in 11 gezeigt ist, zählt die
Prozentlücke die
Zahl der Pixel in dem schraffierten Bereich.
- Prozentfüllgrad:
Die Prozent des umhüllenden Rechtecks,
welche benannte Pixel haben.
- Prozent Zackigkeit/Rissigkeit: Prozentsatz der Geländekartenstrukturen
des Ziels, welche eine Rissigkeit, Zackigkeit oberhalb eines Grenzwerts
haben.
-
Während jedes
Ziel gescannt wird, wird ein vollständig schwarzer Puffer gemäß der Größe des umhüllenden
Rechecks angeordnet. Beim Scannen werden alle korres pondierenden
Pixel von dem Originalbild übertragen,
welche innerhalb der Randlinie der Zielmaske liegen. Im Ergebnis
wird ein Bild von nur dem Ziel produziert, ohne den Hintergrund,
wie in 12 gezeigt ist. Wenn das Originalbild
farbig ist, werden nur die Helligkeitswerte (R + B + G/3) übertragen.
-
Jeder
Schritt der Analysearbeiter 30 wird von dem Videosupervisor 32 als
ein Objekt in einer Matrix behandelt. Es gibt keinen Vermittlergrenzwert
für die Anzahl
von Analysearbeitern 30, welche der Videosupervisor 32 handhaben
kann. Der Videosupervisor 32 muss sich in derselben Maschine
befinden wie die Analysearbeiter 30, da alle Analysearbeiter 30 an Bilddaten
arbeiten, welche in einem gemeinsam genutzten Speicher durch den
Videoarbeiter 34 platziert sind, welcher im selben Prozessraum
wie der Supervisor 32 läuft.
-
Alle
Kommunikationen zwischen dem Videosupervisor 32 und den
Analysearbeitern 30 werden von den Eigenschaften, Methoden
und Ereignissen der Analysearbeiter 30 gehandhabt. Zusätzliche Funktionen,
Eigenschaften, Verfahren und Maßnahmen
der Analysearbeiter können
zu der MotionSentry.DLL hinzugefügt
werden, um darüberhinaus
die Bildanalysetechniken, wie sie zuvor beschrieben sind und Kommunikationen
mit dem Videosupervisor, wie im Folgenden beschrieben werden wird,
zu unterstützen.
-
Videosupervisor
-
Videosupervisor 32 Module
sind ActiveX-DCOM-Komponenten, welche als Server für die Knotenmanager
arbeiten. Es gibt einen Videosupervisor 32 für jeden
Bildgreifer. Der Videoarbeiter 34 ist ein OCX-Regler, der
im Videosupervisor 32 eingesteckt ist und im selben Verfahren
arbeitet. Bei einem bekannten Ausführungsbeispiel werden die OCX-Regler
speziell für
eine Meteor II Bildgreiferkarte sein. Die Meteor II Bildgreiferkarte
hat vier Kameraeingänge,
welche mit dem gleichen Digitalisierer gebündelt sind. Das PCS-System
ist so konfiguriert, dass die Bildgreiferkarten untereinander ausgetauscht
werden können.
-
Der
Videoarbeiter 34 hat vier aktuelle Bilder in einem mehrfach
genutzten Speicher, eines für
jede Kamera. Der Videosupervisor 32 behält die Spur, wenn Bilder verfüg bar sind
und wenn die Analysearbeiter für
ein weiteres Bild 30 bereit sind und orientieren den Verkehr
entsprechend. Die Schnittstelle zwischen den Analysearbeitern 30 und
dem Videosupervisor 32 ist auswählbar. Wenn die Meteor II Bildgreiferkarte
ersetzt wird, muss nur die Regelung des Videoarbeiters 34 weiter
entwickelt werden. Analysearbeiter 30 werden als Matrix
von Objekten in dem Videosupervisor 32 behandelt. Es gibt
keinen Vermittlergrenzwert für
die Anzahl von Analysearbeitern 30, welche ein Videosupervisor 32 handhaben
kann.
-
Der
Videosupervisor 32 agiert als Server für den Knotenmanager 36.
Alle Aufrufe an eine Bildgreifer-DLL werden vom Videoarbeiter 34 getätigt, welcher
in dem Videosupervisor 32 steckt und laufen in demselben
Adressenraum läuft.
Alle Aufrufe um die Bildgreifer und die zugeordneten Videopuffer
zu handhaben laufen durch die Bildgreifer-DLL. Im Ergebnis können unterschiedliche
Bildgreiferkarten eingesetzt werden, wobei Änderungen nur in der DLL vorliegen.
-
Im
Allgemeinen enthält
die Bildgreifer-DLL Funktionen, welche Puffer für Videobilder zuordnen, den
aktiven Kanal verändern,
die Inhalte von einem Puffer zu einem andere kopieren, einen Bildspeicher zuordnen
und freimachen, verfügbare
Bilder besorgen, das nächste
Videobild greifen, die Videokarte initialisieren und die Anfangskonfiguration
und zugeordnete Steuereinstellungen festlegen.
-
Der
Videosupervisor 32 koordiniert das Greifen von Bildern
mit der Analyse von Bildern. Jeder Videosupervisor 32 steuert
einen Bildgreifer mit einem oder mehreren eingesetzten Eingängen und
so viele Instanzen von Analysearbeitern 30 wie Videoeingänge im Einsatz
sind. Das Greifen von Bildern zwischen den Eingängen muss synchronisiert sein,
aufgrund dessen, dass es nur einen Digitalisierer gibt. 13 zeigt
die Greifer/Analysesynchronisation zwischen dem Videosupervisor 32 und
dem Analysearbeiter 30. Die Analyse von Bildern kann asynchron
betrieben werden, da unterschiedliche Ansichten mit unterschiedlichen
Zielen unterschiedliche Verarbeitungszeit benötigen können.
-
Wenn
die Verarbeitung begonnen wird, startet der Supervisor 32 eine
Aktionsschleife, welche Bilder greift und Kanäle wechselt. Nur ein Thread
ist zum Greifen verfüg bar.
Wenn viele Bildgreifer in einem einzelnen Computer erforderlich
sind, dann werden viele Vorgänge
vom Videosupervisor 32 gestartet. Jeder Vorgang des Analysearbeiters 30 läuft in seinem
eigenen Thread, da jeder ein getrennter Prozess ist. Kommunikation
zwischen Analysearbeitern 30 und dem Videosupervisor 32 wird
durch Setzen von Eigenschaften in dem Analysearbeiter 30 und asynchrone
Rückrufe
zum Videosupervisor 22 gehandhabt. Kommunikation zwischen
den Greiferthreads und dem Prozessvorgang werden von globalen Matrizen
gehandhabt, welche grundsätzlich
angeboten werden, wenn ein Bild fertig ist, wenn ein Bild gewünscht wird
und wenn Analysearbeiter 30 beschäftigt sind.
-
Jeder
Vorgang des Videosupervisors 32 wird von einem Knotenmanager 36 als
ein Objekt in einer Matrix gehandhabt. Es gibt keinen Vermittlergrenzwert
für die
Anzahl von Videosupervisoren 32, welche der Knotenmanager 36 handhaben
kann. Der Videosupervisor 32 kann sich in derselben Maschine befinden
wie der Knotenmanager 36, die Programmstruktur geht jedoch
davon aus, dass er mit dem Netzwerk verbunden ist und nach DCOM-Standards kommuniziert.
-
Jede
Kommunikation zwischen den Videosupervisor 32 und einem
Knotenmanager 36 wird durch die Eigenschaften, Methoden
und Vorgänge
eines Super Control Class Moduls gehandhabt. Die Eigenschaften,
enthalten im Allgemeinen Befehle, um Arbeiter zu starten, Arbeiter
zu stoppen, den Prozessvorgang in Gang zu setzen, den Prozessvorgang
anzuhalten und zu beenden. Korrespondierende Verfahren des Super-Control-Class
Moduls fügen
Objektreferenzen von dem Knotenmanager 36 für asynchrone
Rückrufe
hinzu und lassen solche fallen.
-
Rückrufe zu
dem Videosupervisor 32 laufen über Eigenschaften und Verfahren
eines Arbeiter-Report-Class-Moduls. Die Verfahren des Arbeiter-Report-Class-Moduls
umfassen im Allgemeinen Regelungen für beschäftigte Blocks, um zu verifizieren, dass
Analysearbeiter 30 online bleiben, nachdem sie keine Beschäftigung
haben, und um dem Videosupervisor 32 mitzuteilen, wenn
Analysearbeiter 30 bereit sind, das nächste Bild zu verarbeiten.
-
Zusätzliche
Funktionen, Eigenschaften, Verfahren und Vorgänge des Videosupervisors 32 können an
die Bildgreifer-DLL hinzugefügt
werden, um die Bildgreiftechniken, wie sie zuvor beschrieben wurden
und Kommunikationen mit anderen PCS Systemkomponenten zu unterstützen.
-
Videoarbeiter
-
Der
Videoarbeiter 34 ist ein ActiveX-Regler (OCX), welcher
in dem Videosupervisor 32 eingesteckt ist. Alle Anrufe
an die C++ Funktionen in der Bildgreifer DLL werden in dem Videoarbeiter 34 deklariert
und durchgeführt.
Alle Kommunikationen zwischen dem Videosupervisor 32 und
dem Videoarbeiter 34 laufen über ein begrenztes Set von
hochwertigen Eigenschaften, Methoden und Vorgängen der ActiveX-Steuerung. Eigenschaften
des Videoworkers 34 schließen im Allgemeinen Regelungen
zum Bezeichnen von Speicherblocks, initialisieren die Videokarte,
setzen den aktiven Kanal der Bildgreiferkarte oder spielen diesen
zurück,
führen
Befehle aus, einschließlich
jedoch nicht hierauf beschränkt
folgende:
- Clean Up/Aufräumen – Führt alle
Aufräumoperationen
wie beispielsweise Freimachen mehrfach genutzter Speicher und Abschalten
des Bildgreifers durch.
- Grab/Greifen – Setzt
ein Greifen in Gang, wenn ein aktuelles Bild beendet ist.
- Grab Frame to Share/Bildgreifen zur Mehrfachnutzung – Greift
ein Bild und platziert es in dem mehrfach genutzten Speicher.
- Grab and Show/Greifen und Zeigen – Greift ein Bild und zeigt
es in einem Videoarbeiterformat.
- Hide Video Form/Videoformat verbergen – Verbirgt das Videoarbeiterformat.
- Show Video Form/Zeigen des Videoformats – Zeigt das Videoarbeiterformat.
- Start Video – Initialisiert
den Bildgreifer, ordnet fünf Bilder
an und setzt Anfangsbedingungen.
-
Knotenmanager
-
Knotenmanager 36 sind
ActiveX, DCOM-Komponenten, welche als Klienten für Videosupervisoren 32 arbeiten
und als Server für
den Vermittler 40 arbeiten. Der Hauptzweck der Knotenmanager 36 besteht
darin, die Kommunikation von vielen Videosupervisoren 32 zu
konzentrieren und den Gesamtverkehr, welchen der Vermittler 40 zu
handhaben hat, zu vermindern. Es gibt einen Knotenmanager 36 für jedes
Gestell von Computern mit Videosupervisoren 32. Knotenmanager 36 handhaben
Videosupervisoren 32 als eine Matrix von Objekten. Es gibt
keinen Vermittlungsgrenzwert für
die Anzahl von Videosupervisorservern 32. Knotenmanager 36 berechnen
Werte für
Kameras auf der Basis von Vorgängen,
welche von den Kameras gesehen werden und auch auf der Basis von
Werten, welche von der GUI mit gesetzten Regeln festgelegt sind.
-
Set Rules GUI/Grafikschnittstelle mit
gesetzten Regeln
-
Grafikschnittstellen
mit gesetzten Regeln 38 sind ActiveX, DCOM-Komponenten,
welche es ermöglichen,
dass die Systemregeln geändert
werden, welches Video welchem Monitor präsentiert wird. Die Systemregeln
werden in der Regeldatenbank 41 gespeichert, wie in 2 gezeigt.
Beispielsweise das Verändern
der Verweilzeit für
Szenen mit vielen Personen oder das Verändern der Bedienerkonsole zum Empfangen
von Videos von einer Gruppe von Kameras in einer Parkstruktur.
-
Vermittler
-
Der
Vermittler 40 ist der Klient für den Knotenmanager 36.
Der Vermittler 40 empfängt
Daten von den Knotenmanagern 36 darüber, welche Aktivitäten in dem
System laufen und liest die Datenbank betreffend den Umstand, welche
Aktivität
an welchem Monitor gezeigt werden soll. Konflikte zwischen verfügbaren Monitoren
und anhängige
Aktivität
werden auf der Basis von Prioritätsregeln
vermittelt, und Kameras werden auf der Basis von Zuordnungsregeln
von den Konsolen zu der Gruppe aufgerufen.
-
Zusätzliche
Systemkomponenten
-
Gemäß 14 schließt zusätzliche
Hardware über
die Standard CCTV-Systeme hinaus eine Videoaktivitätsprozessor
CPU ein, mit einem Bildgreifer für
jeweils vier Kameras, einen Knotenmanagercomputer für jeden
Computerort und einen Anschluss an das Local Area Network für jeden
der Videoaktivitätsprozessoren
und Knotenmanagerprozessoren. Der Vermittlerprozessor partizipiert
an dem Mastercomputer des CCTV-Systems, und eine Kopie der Set Rules
GUI liegt auf der GUI Arbeitsstation in jeder der drei CCTV-Konsolen.
-
Gemäß den Raumbeschränkungen
für neue Systeme
und sofern möglich,
aufgrund des verfügbaren
Raumes können
die Videoactivityprozessoren konventionell in Gehäuse montierte
Prozessoren sein. Für
diese Prozessoren kann das System Prozessoren der PentiumTM-Klasse verwenden, welche von der Intel
Corporation erhältlich
sind oder andere plattenmontierte Prozessoren mit hoher Performance einsetzen,
wobei jeder wenigstens acht Videokameras bedienen kann, das heißt, die
Aufnahme von Videoausgängen
für solche
Kameras steuern kann. Beispielsweise kann ein System mit Prozessoren zum
Bedienen von 197 Kameras unter Verwendung von Dual On-Board-Prozessoren
26 Prozessoren erforderlich machen, welche, wenn sie Gehäuse montiert
sind 7 Zoll in der Höhe
haben und 182 Zoll Gehäuseraum
(etwa 3 volle Gehäuse)
erfordern und muss einen Monitor aufweisen.
-
Bei
einer mehr verdichtet konfigurierten Installation können die
Videoactivityprozessoren statt dessen im Handel erhältliche
Einzelboardcomputer („SBC") sein, wie bisher
bei industriellen Anwendungen eingesetzt, sodass beispielsweise
acht Computer in einem Chassis 32 Kameras bedienen können. Andere
zweckmäßige Prozessorkonfigurationen
und -typen, entweder unter Verwendung von Complex Instruktion Sets
(CIS) oder Reduced Instructions Sets (RISC) Software können eingesetzt
werden.
-
Das
Schnittstellen-PCS-System 10 für ein CCTV-Subsystem 12 wird
ausgeführt
von einem einzelnen Prozessor, welcher eine Computerschnittstelle
mit einem anderen bereits existierenden CCTV-System bildet, und
ein SentryConnector wird verwendet, um einen Vermittler 40 mit
einem Portserver eines CCTV-Subsystems 12 zu verbin den.
Auf diese Weise werden, wie 2 zeigt,
Verbindungen geschaffen zwischen jeder der vier CCTV-Kameras 14 und
dem Videoarbeitermodul 34, welche wiederum mit dem Videosupervisor 32 verbunden
ist, welcher selbst mit einem Knotenmanager 36 in Verbindung
steht.
-
CCTV-Garagenkameras 14 sind
nur typisch für
mögliche
viele Videokameras von Überwachungssystemen
des CCTV-Subsystems 12. Hierbei können zum Beispiel, wie im vorhergehenden
Beispiel angegeben, Hunderte von Kameras vorliegen. Da das neue
System insbesondere zur Verwendung in CCTV-Systemen im großen Maßstab gut
geeignet ist, welche durch Hunderte von Videokameras gekennzeichnet
sind, kann es ebenso in CCTV-Systemen im kleineren Maßstab verwendet
werden, welche wesentlich weniger Videokameras haben, wo jedoch
eine elektronische Analyse und Supervision zur Steuerung der Kameravideopräsentation
muss über ein
PCS-System 10 ausgeführt
werden.
-
Videosignale,
welche die Ansicht jeder der CCTV-Garagenkameras 14 (sowie
andere Videokameras des Systems) repräsentieren, werden auch an das
CCTV-System 12 geliefert und werden auf diese Weise an
CCTV-Schalter 16 geliefert werden, welche so dargestellt
sind, dass sie mit Videos von anderen Kameras gespeist werden als
denen, als welche gezeigt sind. Es ist zu beachten, dass Videoausgänge von
allen Videokameras an das PCS-System und an das CCTV-Subsystem 12 simultan
geliefert werden.
-
Der
Begriff PCS-System wurde bei der Beschreibung der vorliegenden Erfindung
willkürlich
gewählt,
es können
jedoch auch andere Bezeichnungen verwendet werden. Indem Computer
zum Pre-Screening der Kameras eingesetzt werden, werden nur Bilder
mit Vorkommnissen, welche für
die Bedienungspersonen von Interesse sind, für die Call-up Monitore ausgewählt.
-
System-Betrieb
-
Die
Computerschnittstelle zwischen den beiden Systemen, das heißt, dem
PCS-System 10 und dem
CCTV-Subsystem 12 funktioniert gemäß 2 auf folgende
Weise: das PCS-System 10 verlangt einen Kameraanruf an
einen der Eingänge
des Vierfachverteilers 26, welcher unterhalb der GUI-Arbeitsstation 24 gezeigt
ist. (Der Schnittstellenpfeil zeigt nach unten)
-
Eine
Bildanalyse von dem PCS-System 10 hängt nicht davon ab, ob das
CCTV-Umschaltsystem zum
Pre-Screening der Kameras geeignet ist, da das Kameravideo an beide
Systeme unabhängig
geliefert wird. Das CCTV-Umschaltsystem hängt nicht davon ab, dass das
PCS-System 10 ein Video an die vier Quad-Monitore (16 Bilder)
präsentiert,
welche im unteren Bereich der Bedienerkonsole 20 gezeigt
sind.
-
Da
das CCTV-Subsystem 12 sogar ohne das PCS-System 10 konventionell
funktionieren kann, wenn das CCTV-Subsystem 12 für Normalbetrieb konfiguriert
und getestet ist, kann die Schnittstelle zwischen dem Vermittler 40 und
dem GSIS-Portserver
aktiviert werden, um den Betrieb des PCS-Systems 10 zu
testen. Wenn das CCTV-Umschaltsystem in Betrieb ist und das PCS 10 System
in Betrieb ist, erzeugen die automatischen Videoanrufe an die Videokameras,
wie solche, welche für
eine Garagenüberwachung
verwendet werden, Kamerabilder, welche auf den Quad-Monitoren, welche
in einem Videoeingang für
die GUI Arbeitsstation 24 gezeigt sind, dargestellt werden.
-
Das
PCS-System 10 liefert eine Videobildanalyse, um den Personalbedarf
zu verringern und (aufgrund der reduzierten Langeweile), die Sicherheit von
Gebäuden,
wie beispielsweise Garagen in denen das neue System installiert
ist, zu steigern. Das PCS-System 10 arbeitet auf Softwarebasis
mit der Fähigkeit
einer Bildanalyse, um zu ermöglichen,
dass Personen von Fahrzeugen unterschieden werden können. Mit
dem Wissen in dem System darüber,
wo jede Kamera angeordnet ist, und welchen Vorgang die Kamera sieht,
sind die Anrufe auf einem Satz von Prioritätsregeln gegründet. Beispielsweise
können diese
Regeln einen Betrieb für
ein Überwachungssystem
der vorliegenden Erfindung, wenn es in einem Garagenkomplex installiert
ist, einrichten wie folgt:
Jeder Kamera wird eine Kennung für einen
Ort zugeordnet, um eine Auswahl von Kameras für eine bestimmte Konsole zu
ermöglichen,
auf der Basis der Garage, in der sie montiert ist.
-
Jeder
Kamera wird eine logische Typengruppe, wie zum Beispiel ruhiger
Durchgang, Einfahrtsbereich oder Liftlobby zugeordnet.
-
Vorgangsprioritäten, wie
beispielsweise folgende Situationen werden jeder logischen Gruppe zugeordnet:
- Zwei oder mehr Personen zu sehen, welche von unterschiedlichen
Ausgangspunkten aufeinander zugehen.
- Eine oder mehr Personen zu sehen, welche sich schneller als
normal bewegen.
- Zwei oder mehr Personen zu sehen, welche nicht aufeinander zugehen.
- Eine Person, welche alleine geht.
-
Bei
Verwendung einer Kombination von Ortskennungen und logischen Gruppen,
können
die Kameraaufrufe an jeder Konsole angepasst werden, um eine Bedienerbelastung
zu regeln. Garagen können
während
der Tageszeit einzelnen Konsolen zugeordnet sein, während den
Nachtstunden können jedoch
alle Garagen einer einzigen Konsole zugeordnet werden. Fahrzeuge,
wie zum Beispiel Autos können
normalerweise während
einiger Betriebsstunden ignoriert werden, jedoch während einer
Schicht, welche besonders langweilig aufgrund des Fehlens von Videoschirmaktivität, können Fahrzeuge
der Prioritätsliste
hinzugefügt
werden, um die Frequenz von Monitoranrufen zu steigern.
-
Eine
Set Rules GUI 38 kann in jeder Bedienerkonsole 20 integriert
sein, um ein Setzen der Regeln für
den Kameraanruf zu ermöglichen.
Vorzugsweise wird ein Zugang an die Set Rules GUI (Graphikschnittstelle
zum Setzen von Regeln) 38 einer Passwortsicherung unterworfen.
-
Zusätzliche
Anrufvorgänge
können
für das PCS-System 10 vorgesehen
und als Upgrades geliefert werden. Wenn eine Information von einer
Bildanalyse verfügbar
ist, können
andere stärker
einbezogene Anlässe
verfügbar
sein, einschließlich
Situationen, wie zum Beispiel:
- Eine Person ist gefallen.
- Eine Person irrt umher, wie es vorkommen kann, wenn Fahrzeuge „eingeschlossen" oder verlorengegangen
sind.
- Eine Person braucht zu lange, um in ein Fahrzeug einzusteigen,
was einen Aufwand für
einen Einbruch darstellen kann.
- Ein Fahrzeug bewegt sich schneller als ein voreingestellter
Prozentsatz (zum Beispiel 95%) gegenüber anderen Fahrzeugen in derselben
Kameraansicht, während
eines kaum vergangenen Zeitintervalls.
-
Jede
Bedienerkonsole 20 hat vorzugsweise einen Anrufmonitor
mit vier dargestellten Kameras. Eine kleine „Thumbnail"-Version der vier Kamerabilder ist in
einer GUI-Arbeitsstation 24 abgebildet.
Kameraanrufe verlaufen automatisch. Jedes ausgewählte Kamerabild bleibt für eine Verweilzeitdauer, welche
von der Bedienungsperson ausgewählt
und in die Regeln eingegeben ist, auf der Konsole. Wenn eine Bedinungsperson
es wünscht,
sich eine spezifische Kameraansicht länger anzusehen, wird ein Klick
auf den Quadranten des Thumpnail-Bildes auf der GUI-Arbeitsstation 24 veranlassen,
dass die ausgewählte
Kamera auf einen anderen größeren Monitor
umgeschaltet wird. Beispielsweise kann eine Bedienungsperson die
Ansicht zweier laufender Personen zur Anzeige auf den großen Monitor
auswählen.
-
Aufnehmen von empfindlichen Inhalten
-
Da
das vorliegende System eine innere Kenntnis des symbolischen Inhalts
des Videos von diesen Kameras hat, ist es möglich einen höheren Kompressionsgrad
durch Speichern nur solcher Ziele in einem solchen Video zu erreichen,
welche einen höheren
Grad an Interesse bieten (zum Beispiel Personen gegenüber Fahrzeugen).
Bei dem Ausführungsbeispiel
des vorliegenden Systems ist eine Videospeicherung auf der Basis
symbolischer Vereinbarungen geregelt, wie zum Beispiel:
- Sichere
den Hintergrund nur einmal pro Minute bei einer 50:1 Kompression
(unscharf, jedoch brauchbar).
- Sichere Bilder von Autos mit einem 50:1 Kompressionsverhältnis (unscharf,
jedoch verwendbar).
- Sichere Bilder von Personen mit einem Kompressionsfaktor von
20:1 (gutes, klares Bild).
-
Bei
einem Wiederabspielen werden die Bilder von Autos und Personen,
in der Position, in der sie aufgenommen wurden vor den Hintergrund
gesetzt.
-
Die
Erfordernisse der Systemspeicherung hängen von der Aktivität an dem
Schauplatz ab. Als Beispiel für
eine typische Kamera in einem ruhigen Bereich einer Garage kann
ein Auto zehn Prozent der Zeit im Visier stehen und eine Person
im Bild zehn Prozent der Zeit im Visier stehen. Die Durchschnittliche
Größe einer
Person oder eines Fahrzeugs auf der Szene beträgt typischerweise ein Viertel
einer Bildhöhe
und ein Viertel einer Bildbreite.
-
Für dieses
Beispiel ergibt das Speichern von Videodaten von Autos und Personen
auf fünf
Bildern pro Sekunde:
- Hintergrund: 3·320·240·60·1/50 = 276.480 Bytes/Stunde
- Autos: 3·80·60·5·60·60·1/10·1/50 =
518.400 Bytes/Stunde
- Personen: 3·80·60·5·60·60·1/10·1/20 =
1.296.000 Bytes/Stunde
- Gesamtspeicherung: 2.090.880 Bytes/Stunde (2.04 MB/Stunde)
-
Bei
diesem Beispiel ist ein Video von Personen von größerem Interesse,
als ein Video von Fahrzeugen. Ein Speicherbedarf ist reduziert um
den Faktor 39 (verglichen mit 78 MB/Stunde) und damit besser als
eine konventionelle Kompression, während für Bilder von Personen eine
geringere Videokompression erforderlich ist und auf diese Weise
eine bessere Abspielauflösung
geschaffen wird.
-
Aufgrund
der vorhergehenden Beschreibung der vorliegenden Erfindung und praktischen
Ausführungsbeispiele
ist zu erkennen, dass die verschiedenen Objekte der Erfindung erreicht
werden und andere Vorteile erlangt werden. Die Ausführungsformen und
die Beispiele wurde ausgewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung optimal zu erklären,
um hierdurch den Fachmann in den Stand zu versetzen, die Erfindung
in verschiedenen Ausführungsformen
und mit verschiedenen Modifikationen, wie sie zu den einzelnen,
diskutierten Einsatzfällen
gehören,
optimal zu nutzen.
-
Da
bei den Konstruktionen und Verfahren, welche hierin beschrieben
und illustriert wurden, ohne vom Schutzbereich der Erfindung abzuweichen,
viele verschiedene Modifikationen gemacht werden können, wird
beabsichtigt das jede Information, welche in der vorhergehenden
Beschreibung enthalten oder in den beiliegenden Zeichnungen gezeigt ist,
eher als erläuternd
denn als beschränkend
zu interpretieren ist.
-
Die
Breite und der Schutzbereich der vorliegenden Erfindung sollen nicht
durch irgendeine zuvor beschriebene beispielhafte Ausführungsform
beschränkt
sein, sondern nur im Zusammenhang mit den Ansprüchen der Anmeldung definiert
sein.