-
HINTERGRUND
-
1. Gebiet:
-
Die Offenbarung betrifft allgemein das überwachen von Objekten und spezifischer das überwachen von Objekten in der Nähe von Eisenbahngleisen. Insbesondere betrifft die vorliegende Offenbarung das Verringern einer Anzahl falscher Positivmeldungen beim Erkennen von Schienenkreuzungsereignissen.
-
2. Beschreibung des Standes der Technik:
-
Wie dem Fachmann bekannt ist, können zum Erkennen von Objekten, die Eisenbahngleise überqueren, Videodaten verwendet werden. Das überwachen von Objekten in der Nähe von Eisenbahngleisen kann zur Verbesserung der Sicherheit und auch der Sicherheitsmaßnahmen für den Eisenbahntransport hilfreich sein. Objekte in einem Sensorbereich können überwacht werden, um zu erkennen, ob und wann sich das Objekt auf Eisenbahngleise bewegt. Zum Beispiel kann der Sensor eine Überwachung durchführen, um eine Position und eine Geschwindigkeit eines Objekts zu ermitteln. Herkömmliche Systeme können die Position und Geschwindigkeit mit bekannten Informationen über die Position von Eisenbahngleisen vergleichen, um zu ermitteln, ob und wann sich das Objekt auf das Eisenbahngleis bewegt hat. Wenn sich das Objekt auf das Eisenbahngleis bewegt hat, kann das System eine Warnung erzeugen, um zuständige Personen über das Auftreten des Kreuzungsereignisses zu benachrichtigen.
-
Bei der Überwachung von Objekten kommen unterschiedliche Sensoren zum Einsatz. Auf Sicht beruhende Lösungen können beispielsweise eine Kamera verwenden. Auf Sicht beruhende Lösungen können aufeinanderfolgende Bilder vergleichen, um Bewegungen von Objekten relativ zum Eisenbahngleis zu erkennen. Zu herkömmlichen Systeme können auch nichtvisuelle Lösungen zählen, die Sensoren wie beispielsweise Infrarotsensoren oder Bewegungssensoren verwenden. Die nichtvisuellen Lösungen können Bewegungen von Objekten in Gebieten in der Nähe der Sensoren erkennen.
-
Herkömmliche Systeme weisen jedoch Nachteile auf, die Warnungen über Kreuzungsereignisse hervorrufen können, bei denen es sich um falsche Positivmeldungen handelt. Der Begriff „falsche Positivmeldung” wird hierin als Erkennung eines Auftretens eines Ereignisses bezeichnet, das in Wirklichkeit nicht aufgetreten ist. Nichtvisuelle Lösungen sind möglicherweise zum Beispiel nicht in der Lage, zwischen Objekten, die sich nicht auf dem Eisenbahngleis befinden sollten, und einem Zug, der sich auf dem Eisenbahngleis befinden sollte, zu unterscheiden. In einem anderen Beispiel ist eine auf Sicht beruhende Lösung möglicherweise nicht in der Lage sein, Objekte, die sich im Sichtbereich der Kamera bewegen, von Objekten im Hintergrund zu unterscheiden. Zudem können näher an der Kamera befindliche Objekte größer erscheinen als weiter von der Kamera entfernte Objekte. Ein Objekt kann sich scheinbar auf das Eisenbahngleis bewegt haben, wenn sich das Objekt lediglich näher an der Kamera befindet als das Eisenbahngleis.
-
Die Anzahl der erzeugten falschen Positivmeldungen verringert die Zuverlässigkeit beim Erkennen von Schienenkreuzungsereignissen. Mit sinkender Zuverlässigkeit nimmt auch die Nützlichkeit und Bedeutung von durch herkömmliche Systeme erzeugten Warnungen ab. Demzufolge wäre es vorteilhaft, über ein Verfahren und eine Vorrichtung zu verfügen, die einen oder mehrere der oben erläuterten Punkte sowie möglicherweise weitere Punkte berücksichtigen.
-
ZUSAMMENFASSUNG
-
Die unterschiedlichen veranschaulichenden Ausführungsformen stellen ein Verfahren, ein Datenverarbeitungssystem und ein Computerprogrammprodukt zum Überwachen von Objekten bereit. Es wird eine Vielzahl von Bildern eines Gebietes empfangen. Ein Objekt in dem Gebiet wird aus der Vielzahl von Bildern erkannt. Eine Vielzahl von Punkten in einem Bereich innerhalb des Gebiets wird aus einem ersten Bild in einer Vielzahl von Bildern ermittelt. Die Punkte der Vielzahl von Punkten weisen eine feste Beziehung zueinander und zu dem Bereich auf. Das Objekt in dem Gebiet wird überwacht, um zu festzustellen, ob sich das Objekt in den Bereich bewegt hat. Eine Feststellung, dass das Objektiv nicht in den Bereich eingedrungen ist, erfolgt als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern.
-
In einem Aspekt betrifft die Erfindung ein Verfahren zum Überwachen von Objekten, wobei das Verfahren Folgendes umfasst: Empfangen einer Vielzahl von Bildern eines Gebietes; Erkennen eines Objekts in dem Gebiet aus der Vielzahl von Bildern; Ermitteln einer Vielzahl von Punkten in einem Bereich innerhalb des Gebietes aus einem ersten Bild in der Vielzahl von Bildern, wobei die Punkte der Vielzahl von Punkten eine feste Beziehung zueinander und zu dem Bereich aufweisen; Überwachen des Objekts in dem Gebiet, um zu ermitteln, ob sich das Objekt in den Bereich bewegt hat; und als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern Feststellen mithilfe einer Prozessoreinheit, dass sich das Objekt nicht in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung umfasst das Erkennen der Vielzahl von Punkten im Bereich innerhalb des Gebietes aus dem ersten Bild in der Vielzahl von Bildern Folgendes: Ermitteln eines Wertes für die Textur bei einer Vielzahl von Segmenten im ersten Bild; Ermitteln einer Kontrastmenge in der Textur zwischen einem ersten Segment und einem zweiten, dem ersten Segment benachbarten Segment im ersten Bild; und als Reaktion darauf, dass die Kontrastmenge in der Textur zwischen dem ersten Segment und dem zweiten Segment eine Schwellenmenge überschreitet, Erkennen eines dem ersten oder aber dem zweiten Segment zugehörigen Punktes als einen der Vielzahl von Punkten in dem Bereich.
-
Nach einer Ausführungsform der Erfindung handelt es sich bei dem Bereich um einen Zughalteort, wobei der Bereich einen Abschnitt eines Satzes von Eisenbahngleisen beinhaltet, und wobei die Vielzahl von Punkten eine Vielzahl von Punkten entlang einer Schiene eines Gleises im Satz von im ersten Bild abgebildeten Eisenbahngleisen enthält.
-
Nach einer Ausführungsform der Erfindung bildet die Vielzahl von Punkten eine Kurve entlang einer Kante der im ersten Bild abgebildeten Schiene, und wobei die Vielzahl von Punkten dadurch ermittelt wird, dass die Kante der Schiene im ersten Bild erkannt wird.
-
In einem weiteren Aspekt betrifft die Erfindung eine Vorrichtung zum Überwachen von Objekten, wobei die Vorrichtung Folgendes umfasst: ein Objektüberwachungssystem, das funktionsmäßig mit einer Kamera verbunden ist, wobei das Objektüberwachungssystem so eingerichtet ist, dass es ein Objekt in einem Gebiet aus der Vielzahl von durch die Kamera erzeugten Bildern des Gebiets erkennen und das Objekt in dem Gebiet überwachen kann, um zu ermitteln, ob sich das Objekt in einen Bereich innerhalb des Gebietes bewegt hat, wobei der Bereich einen Abschnitt eines Satzes von Eisenbahngleisen beinhaltet; und ein Zugerkennungssystem, das eine Verarbeitungseinheit aufweist und funktionsmäßig mit dem Objektüberwachungssystem verbunden ist, wobei das Zugerkennungssystem so eingerichtet ist, dass es eine Vielzahl von Punkten in einem Bereich innerhalb des Gebietes aus einem ersten Bild in der Vielzahl von Bildern ermitteln und als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich ein Zug und nicht das Objekt in den Bereich bewegt hat, wobei die Vielzahl von Punkten eine feste Beziehung zueinander und zu dem Bereich aufweist.
-
Nach einer Ausführungsform der Erfindung ist das Zugerkennungssystem so eingerichtet, dass es feststellen kann, dass sich der Zug in den Bereich bewegt hat, indem ermittelt wird, ob ein erstes, durch die Anzahl von im zweiten Bild fehlenden Punkten der Vielzahl von Punkten gebildetes Muster mit einem zweiten Muster übereinstimmt, dass durch den Zug gebildet wird, der sich auf dem Satz von Eisenbahngleisen in das Gebiet bewegt.
-
In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt zum Überwachen von Objekten, wobei das Computerprogrammprodukt Folgendes umfasst: einen Satz von computerlesbaren Speichereinheiten; auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er eine Vielzahl von Bildern eines Gebietes empfangen kann; auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er ein Objekt im Gebiet aus der Vielzahl von Bildern erkennen kann; auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er eine Vielzahl von Punkten in einem Bereich innerhalb des Gebietes aus einem ersten Bild in der Vielzahl von Bildern ermitteln kann, wobei die Punkte der Vielzahl von Punkten eine feste Beziehung zueinander und zu dem Bereich aufweisen; auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er das Objekt im Gebiet überwachen kann, um zu ermitteln, ob sich das Objekt in den Bereich bewegt hat; und auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich das Objekt nicht in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung umfasst der Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen des Fehlens der Anzahl von Punkten der Vielzahl von Punkten im zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich das Objekt nicht in den Bereich bewegt hat, Folgendes: auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er ermitteln kann, ob die Anzahl der im zweiten Bild fehlenden Punkte der Vielzahl von Punkten eine Schwellenanzahl überschreitet; und auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen, dass die Anzahl der im zweiten Bild fehlenden Punkte der Vielzahl von Punkten den Schwellenwert überschreitet, feststellen kann, dass sich das Objekt nicht in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung beinhaltet der Bereich einen Abschnitt eines Satzes von Eisenbahngleisen und wobei der Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen des Fehlens der Anzahl von Punkten der Vielzahl von Punkten im zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich das Objekt nicht in den Bereich bewegt hat, Folgendes umfasst: auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er ermitteln kann, ob ein erstes, durch die Anzahl von im zweiten Bild fehlenden Punkten der Vielzahl von Punkten gebildetes Muster mit einem zweiten Muster übereinstimmt, das durch einen Zug gebildet wird, der sich auf dem Satz von Eisenbahngleisen in das Gebiet bewegt; und auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen, dass das erste Muster mit dem zweiten Muster übereinstimmt, feststellen kann, dass sich der Zug und nicht das Objekt in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung umfasst der Programmcode, der so eingerichtet ist, dass er feststellen kann, dass das Objekt den Bereich nicht betreten hat, Folgendes: auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er als Reaktion auf das Erkennen des Fehlens der Anzahl von Punkten der Vielzahl von Punkten im zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich ein Zug und nicht das Objekt in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung umfasst der Programmcode, der so eingerichtet ist, dass er die Vielzahl von Punkten im Bereich innerhalb des Gebietes aus dem ersten Bild in der Vielzahl von Bildern ermitteln kann, Folgendes: auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er einen Wert für die Textur bei einer Vielzahl von Segmenten innerhalb des ersten Bildes ermitteln kann; auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, dass er eine Kontrastmenge in der Textur zwischen einem ersten Segment und einem dem ersten Segment benachbarten zweiten Segment im ersten Bild ermitteln kann; und auf einer Speichereinheit des Satzes computerlesbarer Speichereinheiten gespeicherten Programmcode, der so eingerichtet ist, das er als Reaktion darauf, dass die Kontrastmenge in der Textur zwischen dem ersten Segment und dem zweiten Segment eine Schwellenmenge überschreitet, einen dem ersten oder aber dem zweiten Segment zugehörigen Punkt als einen der Vielzahl von Punkte im Bereich kennzeichnen kann.
-
In einem weiteren Aspekt betrifft die Erfindung ein Datenverarbeitungssystem zum Überwachen von Objekten, wobei das Datenverarbeitungssystem Folgendes umfasst: ein Bussystem; eine mit dem Bussystem verbundene Speichereinheit, wobei die Speichereinheit Programmcode enthält; und eine mit dem Bussystem verbundene Prozessoreinheit, wobei die Prozessoreinheit so eingerichtet ist, dass sie den Programmcode ausführen kann, um eine Vielzahl von Bildern eines Gebietes zu empfangen, ein Objekt in dem Gebiet aus der Vielzahl von Bildern zu erkennen, eine Vielzahl von Punkten in einem Bereich innerhalb des Gebietes aus einem ersten Bild in der Vielzahl von Bildern zu ermitteln, wobei die Punkte der Vielzahl von Punkten eine feste Beziehung zueinander und zu dem Bereich aufweisen, das Objekt in dem Gebiet zu überwachen, um zu ermitteln, ob sich das Objekt in den Bereich bewegt hat, und um als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern festzustellen, dass sich das Objekt nicht in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung beinhaltet der Bereich einen Abschnitt eines Satzes von Eisenbahngleisen, und wobei beim Ausführen des Programmcodes, um als Reaktion auf das Erkennen des Fehlens der Anzahl von Punkten der Vielzahl von Punkten im zweiten Bild in der Vielzahl von Bildern festzustellen, dass sich das Objekt nicht in den Bereich bewegt hat, die Prozessoreinheit weiterhin so eingerichtet ist, dass sie ermitteln kann, ob ein erstes, durch die Vielzahl von im zweiten Bild fehlenden Punkten der Vielzahl von Punkten gebildetes Muster mit einem zweiten Muster übereinstimmt, das durch einen Zug gebildet wird, der sich auf dem Satz von Eisenbahngleisen in den Bereich bewegt, und als Reaktion auf das Erkennen, dass das erste Muster mit dem zweiten Muster übereinstimmt, feststellen kann, dass sich der Zug und nicht das Objekt in den Bereich bewegt hat.
-
Nach einer Ausführungsform der Erfindung ist beim Ausführen des Programmcodes, um festzustellen, dass sich das Objekt nicht in den Bereich bewegt hat, die Prozessoreinheit weiterhin so eingerichtet, dass sie als Reaktion auf das Erkennen des Fehlens der Anzahl von Punkten der Vielzahl von Punkten im zweiten Bild in der Vielzahl von Bildern feststellen kann, dass sich ein Zug und nicht das Objekt in den Bereich bewegt hat.
-
KURZE BESCHREIBUNG DER MEHREREN ZEICHNUNGSANSICHTEN
-
1 zeigt eine Darstellung einer Objektüberwachungsumgebung gemäß einer veranschaulichenden Ausführungsform;
-
2 zeigt ein Blockschaubild einer Objektüberwachungsumgebung gemäß einer veranschaulichenden Ausführungsform;
-
3 zeigt ein Blockschaubild eines Bereichsüberwachungssystems gemäß einer veranschaulichenden Ausführungsform;
-
4 zeigt ein Blockschaubild eines Objektüberwachungssystems gemäß einer veranschaulichenden Ausführungsform;
-
5 zeigt eine Darstellung eines Bildes einer Vielzahl von interessierenden Punkten, die auf einem Gleissatz ermittelt wurden, gemäß einer Ausführungsform der Erfindung;
-
6 zeigt eine Darstellung eines Bildes eines Zuges, der auf dem in 5 dargestellten Gleissatz erkannt wurde, gemäß einer Ausführungsform der Erfindung;
-
7 zeigt einen Ablaufplan eines Prozesses zur Überwachung eines Objekts gemäß einer veranschaulichenden Ausführungsform;
-
8 zeigt einen Ablaufplan eines Prozesses zur Ermittlung interessierender Punkte in einem interessierenden Bereich gemäß einer veranschaulichenden Ausführungsform;
-
9 zeigt einen Ablaufplan eines Prozesses zur Erkennung des Vorhandenseins eines Zuges in einem interessierenden Bereich gemäß einer veranschaulichenden Ausführungsform;
-
10 zeigt einen Ablaufplan eines Prozesses zum Verbessern der Zuverlässigkeit beim Erkennen von Kreuzungsereignissen gemäß einer veranschaulichenden Ausführungsform;
-
11 zeigt ein Blockschaubild eines Datenverarbeitungssystems gemäß einer veranschaulichenden Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG
-
Wie für den Fachmann ersichtlich, können Aspekte der vorliegenden Erfindung als System, Verfahren, oder Computerprogrammprodukt ausgebildet sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform ausgebildet sein, die Software- und Hardware-Aspekte kombiniert, was hierin sämtlich allgemein als „Schaltkreis”, „Modul” oder „System” bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts ausgebildet sein, das in einem oder mehreren computerlesbaren Datenträgern mit darauf befindlichem computerlesbarem Programmcode enthalten sein kann.
-
Jede Kombination aus einem oder mehreren computerlesbaren Datenträger(n) kann verwendet werden. Bei dem computerlesbaren Datenträger kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer oder Infrarot oder Halbleiter verwendender Art sowie eine beliebige geeignete Kombination des zuvor Genannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium können folgende gehören (nicht erschöpfende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein schreibgeschützter Speicher (read-only memory (ROM)), ein löschbarer programmierbarer schreibgeschützter Speicher (erasable programmable read-only memory EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler schreibgeschützter Compact-Disk-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des zuvor Genannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes physisch greifbare Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen beinhalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein Ausbreitungsdatensignal beinhalten, das den computerlesbaren Programmcode zum Beispiel in einem Basissignal (baseband) oder als Teil eines Trägersignals (carrier wave) enthält. Solch ein Ausbreitungssignal kann in jeder beliebigen einer Vielfalt von Formen ausgebildet sein, unter anderem, jedoch nicht darauf beschränkt, elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen übertragen, verbreiten oder transportieren kann.
-
Der in einem computerlesbaren Datenträger enthaltene Programmcode kann mittels eines beliebigen geeigneten Mediums, darunter, ohne darauf beschränkt zu sein, kabellose, kabelgebundene, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder einer beliebigen geeigneten Kombination des zuvor Genannten übertragen werden.
-
Computerprogrammcode zur Ausführung von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmliche verfahrensorientierte Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten (remote) Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, darunter ein Nahbereichsnetzwerk (local area network (LAN)) oder ein Weitbereichsnetzwerk (wide area network (WAN)), oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
-
Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen der Ablaufpläne und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Abbildungen der Ablaufpläne und/oder den Blockschaubildern durch Computerprogrammanweisungen ausgeführt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen erzeugen.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Datenträger gespeichert sein, der einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Datenträger gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Handlungen ausführen.
-
Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer ausgeführten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zur Ausführung der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen bereitstellen.
-
Den unterschiedlichen Ausführungsformen liegen die Erkenntnis und die Berücksichtigung einer Anzahl verschiedener Überlegungen zugrunde. Den unterschiedlichen veranschaulichenden Ausführungsformen liegt zum Beispiel die Erkenntnis zugrunde und sie berücksichtigen, dass es wünschenswert ist, Schienenkreuzungsereignisse zuverlässig zu erkennen. Ein Schienenkreuzungsereignis ist ein Ereignis, bei dem sich Objekte, die sich nicht auf einem Eisenbahngleis befinden sollten, auf das Eisenbahngleis bewegt haben. Den unterschiedlichen veranschaulichenden Ausführungsformen liegt ebenso die Erkenntnis zugrunde, dass es wünschenswert ist, eine Warnung über das zuverlässig erkannte Schienenkreuzungsereignis zu erzeugen.
-
Den unterschiedlichen veranschaulichenden Ausführungsformen liegt die Erkenntnis zugrunde, dass zu einer Lösung eine Modellierung eines Gebiets um die Eisenbahngleise gehören kann. Zum Beispiel können Bilder des Gebiets so verarbeitet werden, dass Objekte im Hintergrund, die sich nicht bewegen, und Objekte im Vordergrund, die sich bewegen können, erkannt werden. Systeme, die Kameras oder Bewegungssensoren verwenden, können die Objekte im Vordergrund verfolgen, um zu erkennen, ob und wann sich das Objekt auf das Eisenbahngleis bewegt hat.
-
Den unterschiedlichen veranschaulichenden Ausführungsformen liegt jedoch die Erkenntnis zugrunde und sie berücksichtigen, dass Änderungen der Lichtverhältnisse im Gebiet um das Eisenbahngleis die Verfolgung von Objekten beeinflussen können. Zum Beispiel können bei Situationen mit wenig Licht Objekte, die sich bewegen können, fälschlicherweise als Hintergrundobjekte erkannt und nicht verfolgt werden. In weiteren Beispielen kann eine Lichtverschiebung im Gebiet um das Eisenbahngleis Hintergrundobjekte beweglich erscheinen lassen. Zum Beispiel können Wolkenbewegungen oder Lichter, die eingeschaltet werden, dazu führen, dass Hintergrundobjekte als Vordergrundobjekte verfolgt werden. Die Lichtverschiebung kann das System zu Ungenauigkeiten bei der Erkennung, dass sich ein Objekt auf das Eisenbahngleis bewegt hat, veranlassen.
-
Den unterschiedlichen veranschaulichenden Ausführungsformen liegt die Erkenntnis zugrunde und sie berücksichtigen, dass der Zug, der sich auf dem Eisenbahngleis bewegt, zu einer inkorrekten Feststellung führen kann, dass sich ein Objekt auf das Eisenbahngleis bewegt hat. Die Bewegung des Zugs kann ein System zur Hintergrundmodellierung veranlassen, den Zug als Vordergrundobjekt zu verfolgen. Der Zug bewegt sich auf dem Gleis. Somit kann eine Warnung über ein Schienenkreuzungsereignis erzeugt werden, wenn sich tatsächlich der Zug auf dem Gleis befindet und kein Schienenkreuzungsereignis stattgefunden hat.
-
Die unterschiedlichen veranschaulichenden Ausführungsformen stellen somit ein Verfahren, ein Datenverarbeitungssystem und ein Computerprogrammprodukt zum Überwachen von Objekten bereit. Es wird eine Vielzahl von Bildern eines Gebietes empfangen. Ein Objekt in dem Gebiet wird aus der Vielzahl von Bildern erkannt. Eine Vielzahl von Punkten in einem Bereich innerhalb des Gebiets wird aus einem ersten Bild in einer Vielzahl von Bildern ermittelt. Die Punkte der Vielzahl von Punkten weisen eine feste Beziehung zueinander und zu dem Bereich auf. Das Objekt in dem Gebiet wird überwacht, um zu festzustellen, ob sich das Objekt in den Bereich bewegt hat. Eine Feststellung, dass das Objekt nicht in den Bereich eingedrungen ist, erfolgt als Reaktion auf das Erkennen des Fehlens einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern. Der hierin in Bezug auf ein Element verwendete Begriff „Anzahl” bedeutet ein oder mehrere Elemente.
-
Unter Bezugnahme auf die Figuren und insbesondere auf 1 wird eine Darstellung einer Objektüberwachungsumgebung gemäß einer veranschaulichenden Ausführungsform gezeigt. Bei der Objektüberwachungsumgebung 100 handelt es sich um eine Umgebung, in der veranschaulichende Ausführungsformen ausgebildet sein können. Zum Beispiel können Systeme und Verfahren zur Verbesserung der Zuverlässigkeit der Erkennung von Schienenkreuzungsereignissen in der Objektüberwachungsumgebung 100 ausgebildet sein.
-
In diesem veranschaulichenden Beispiel beinhaltet die Objektüberwachungsumgebung 100 einen Sensor 102 und ein Datenverarbeitungssystem 104. Der Sensor 102 erkennt Objekte 106 und einen Zug 108 in der Objektüberwachungsumgebung 100. Beim Sensor 102 kann es sich zum Beispiel um eine Kamera, einen Infrarotsensor, einen Bewegungssensor, einen Lichtschnittsensor, eine Radareinheit, eine Schallmesseinheit und/oder jeden beliebigen anderen Sensor handeln, der zum Erkennen von Objekten in der Objektüberwachungsumgebung 100 geeignet ist. Der Sensor 102 kann mehrere Sensoren enthalten, die an mehreren Stellen in der Objektüberwachungsumgebung 100 angeordnet sein können. Beim Zug 108 handelt es sich um ein Fahrzeug oder einen Satz von Fahrzeugen, das bzw. der sich entlang des Eisenbahngleises 110 bewegt. Der hierin in Bezug auf ein Element verwendete Begriff „Satz” bedeutet eines oder mehrere Elemente. Beim Zug 108 kann es sich um eine Untergrundbahn, einen Personenzug, einen Güterzug, eine Straßenbahn einen Triebwagen und/oder jede beliebige andere Art von Fahrzeug handeln, das sich entlang des Eisenbahngleises 110 bewegt.
-
Das Datenverarbeitungssystem 104 verarbeitet vom Sensor 102 empfangene Daten, um zu ermitteln, ob sich Objekte 106 auf das Eisenbahngleis 110 bewegt haben. In diesen Beispielen sind Objekte 106 Objekte, die sich nicht auf dem Eisenbahngleis 110 befinden sollten. Bei Objekten 106 kann es sich zum Beispiel um Menschen, Fahrzeuge, Tiere und/oder andere Objekte handeln, die sich nicht auf dem Eisenbahngleis 110 befinden sollten. Das Datenverarbeitungssystem 104 beinhaltet Systeme und Verfahren, um zuverlässig zwischen Objekten 106, die sich nicht auf dem Eisenbahngleis 110 befinden sollten, und dem Zug 108 zu unterscheiden.
-
Unter Bezugnahme auf 2 ist ein Blockschaubild einer Objektüberwachungsumgebung gemäß einer veranschaulichenden Ausführungsform abgebildet. Bei der Objektüberwachungsumgebung 100 in 1 handelt es sich um ein Beispiel einer Ausführung einer Objektüberwachungsumgebung 200 in 2.
-
In diesen veranschaulichenden Beispielen beinhaltet die Objektüberwachungsumgebung 200 sowohl ein Objektüberwachungssystem 202 als auch ein Bereichsüberwachungssystem 204. Das Objektüberwachungssystem 202 überwacht ein Objekt 206 in einem Gebiet 208. Das Objektüberwachungssystem 202 überwacht das Objekt 206 mittels einer Kamera 210. Zum Beispiel erzeugt die Kamera 210 eine Vielzahl von Bildern 212 des Gebiets 208. Das Objektüberwachungssystem 202 empfängt die Vielzahl von Bildern 212. Der Objektüberwachungsprozess 214 im Objektüberwachungssystem 202 verarbeitet die Vielzahl von Bildern 212. Zum Beispiel kann der Objektüberwachungsprozess 214 aufeinanderfolgende Bilder vergleichen, um Folgendes zu ermitteln: die Position des Objekts 206, ob sich das Objekt 206 bewegt hat oder eine Richtung hat, in die sich das Objekt 206 bewegt.
-
Das Bereichsüberwachungssystem 204 überwacht einen Bereich 216 im Gebiet 208. In diesen veranschaulichenden Beispielen handelt es sich bei dem Bereich 216 um einen Bereich, der einen Abschnitt eines Gleissatzes 218 umgibt. Der Bereich 216 kann zum Beispiel den Gleissatz und den Raum zwischen den Schienen des Gleissatzes 218 enthalten. In weiteren Beispielen enthält der Bereich 216 einen zuvor festgelegten Raumumfang auf jeder Seite des Gleissatzes 218. Der Bereich 216 enthält den Abschnitt des Gleissatzes 218, der sich innerhalb des Gebiets 208 befindet. Zum Beispiel kann es sich bei dem Gebiet 208, ohne darauf beschränkt zu sein, um einen Halteort oder einen Bahnübergang handeln. Somit kann es sich bei dem Bereich 216 um den Bereich handeln, der den Abschnitt des Gleissatzes 218 innerhalb eines Halteorts oder eines Bahnübergangs umgibt. In weiteren Beispielen kann es sich bei dem Bereich 216 um einen Bereich jenseits eines Bahnsteigs an einem Halteort oder um einen Bereich zwischen Schildern oder Schranken an einem Bahnübergang handeln.
-
Das Bereichsüberwachungssystem 204 beinhaltet einen Bereichsüberwachungsprozess 220 zum Erkennen des Bereichs 216 im Gebiet 208. Der Bereichsüberwachungsprozess 220 empfängt die Vielzahl von Bildern 212 des Gebiets 208, die durch die Kamera 210 erzeugt wurden. Der Bereichsüberwachungsprozess 220 verarbeitet die Vielzahl von Bildern 212, um den Bereich 216 im Gebiet 208 zu erkennen. In diesen Beispielen handelt es sich beim Bereich 216 um einen interessierenden Bereich im Gebiet 208, in dem sich das Objekt 206 nicht befinden sollte. Zum Beispiel erkennt der Bereichsüberwachungsprozess 220 den Gleissatz 218 in einem ersten Bild 224 in der Vielzahl von Bildern 212 als den Bereich 216. Der Bereichsüberwachungsprozess 220 kann auch weiteren Raum erkennen, der den Gleissatz 218 als Bereich 216 umgibt.
-
Der Bereichsüberwachungsprozess 220 ermittelt dann eine Vielzahl von Punkten 222 im Bereich 216. In diesen Beispielen handelt es sich bei der Vielzahl von Punkten 222 um Punkte innerhalb des Bereichs 216 im ersten Bild 224, die einen hohen Kontrastgrad mit umgebenden Punkten im ersten Bild 224 aufweisen. Zum Beispiel beinhaltet die Vielzahl von Punkten 222 interessierende Punkte im Bereich 216. Herkömmliche Eisenbahnen beinhalten auf Eisenbahnschwellen positionierte Schienen und Schotter, der üblicherweise aus zerkleinerten Steinen besteht. Diese Oberflächenarten weisen scharfe Konturen auf und führen zu hohen Kontrastgraden zwischen Punkten in Bildern des Schienenwegs. Der Bereichsüberwachungsprozess 220 kann einen Punktesatz entlang des Gleissatzes 218 im ersten Bild 224 als die Vielzahl von Punkten 222 erkennen. Der Bereichsüberwachungsprozess 220 kann ebenso auch einen Punktesatz entlang einer Kante des Gleissatzes 218 oder anderer Kontraststellen im Bereich erkennen, wie beispielsweise Punkte entlang der Schwellen oder des Schotters.
-
Der Bereichsüberwachungsprozess 220 verarbeitet auch andere Bilder in der Vielzahl von Bildern 212, um zu ermitteln, ob die Vielzahl von Punkten 222 noch vorhanden ist. Zum Beispiel empfangt der Bereichsüberwachungsprozess 220 ein zweites Bild 226 des Gebiets 208. Der Bereichsüberwachungsprozess 220 ermittelt aus dem zweiten Bild 226, ob alle Punkte der Vielzahl von Punkten 222 vorhanden sind. Wenn der Bereichsüberwachungsprozess 220 das Fehlen 228 einer bestimmten Anzahl der Punkte in der Vielzahl von Punkten 222 erkennt, erzeugt der Bereichsüberwachungsprozess 220 eine Benachrichtigung 230. In diesen Beispielen handelt es sich bei der Benachrichtigung 230 nicht um eine Warnung, dass sich das Objekt 206 in den Bereich 216 bewegt hat; vielmehr handelt es sich bei der Benachrichtigung 230 um eine Benachrichtigung, dass sich ein Zug in den Bereich bewegt hat 216. Der Zug befindet sich im Bereich und hat Punkte in der Vielzahl von Punkten 222 vor der Kamera 210 verborgen.
-
Der Bereichsüberwachungsprozess 220 sendet eine Benachrichtigung 230 an den Objektüberwachungsprozess 214. Wenn der Objektüberwachungsprozess 214 die Benachrichtigung 230 empfängt, weiß der Objektüberwachungsprozess 214, dass sich ein Zug in den Bereich 216 bewegt hat. Anstelle der Erzeugung einer Warnung über ein Schienenkreuzungsereignis wird der Objektüberwachungsprozess 214 benachrichtigt, dass sich ein Zug in den Bereich 216 bewegt hat. Somit verringert der Bereichsüberwachungsprozess 220 die Menge falscher Positivmeldungen, die durch das Objektüberwachungssystem 202 erzeugt werden. Der Bereichsüberwachungsprozess 220 verbessert die Zuverlässigkeit beim Erkennen von Schienenkreuzungsereignissen.
-
Die Abbildung der Objektüberwachungsumgebung 200 in 2 ist nicht als physische oder architektonische Einschränkung der Art und Weise mit sich bringend gedacht, in der unterschiedliche veranschaulichende Ausführungsformen ausgebildet sein können. Zusätzlich und/oder anstelle der abgebildeten können auch andere Komponenten verwendet werden. Einige Komponenten können in einigen veranschaulichenden Ausführungsformen unnötig sein. Zudem werden die Blöcke zur Veranschaulichung einiger funktioneller Komponenten gezeigt. Einer oder mehrere dieser Blöcke können kombiniert und/oder in verschiedene Blöcke aufgeteilt werden, wenn sie in unterschiedlichen veranschaulichenden Ausführungsformen ausgebildet sind.
-
Zum Beispiel können in einigen veranschaulichenden Ausführungsformen das Objektüberwachungssystem 202 und das Bereichsüberwachungssystem 204 dieselben Hardware-Ressourcen verwenden, während sie getrennte Prozesse zur Durchführung der Funktionen der jeweiligen Systeme aufweisen. In anderen Beispielen kann es sich bei dem Objektüberwachungssystem 202 und dem Bereichsüberwachungssystem 204 um dasselbe System und denselben Prozess für beide Überwachungselemente handeln, bei denen die Zuverlässigkeit bei der Erkennung von Schienenkreuzungsereignissen verbessert wird.
-
In anderen veranschaulichenden Ausführungsformen können zusätzlich oder anstelle der Kamera 210 weitere Sensoren im Überwachungsgebiet 208 verwendet werden. Das Objektüberwachungssystem 202 kann zum Beispiel, ohne darauf beschränkt zu sein, einen Infrarotsensor, einen Bewegungssensor, einen Lichtschnittsensor, eine Radareinheit, eine Schallmesseinheit und/oder jeden beliebigen anderen Sensor beinhalten, der zum Überwachen des Gebiets 208 in der Objektüberwachungsumgebung 200 geeignet ist.
-
Unter Bezugnahme auf 3 wird ein Blockschaubild eines Bereichsüberwachungssystems gemäß einer veranschaulichenden Ausführungsform gezeigt. In diesen Beispielen handelt es sich bei einem Bereichsüberwachungssystem 300 um ein Beispiel einer Ausführungsform des Bereichsüberwachungssystems 204 in 2. Das Bereichsüberwachungssystem 300 stellt nähere Einzelheiten einer Ausführungsform des Bereichsüberwachungssystems 204 in 2 bereit.
-
Der Bereichsüberwachungsprozess 301 im Bereichsüberwachungssystem 300 verarbeitet eine Vielzahl von Bildern 302 des Bereichs 306. Das Bereichsüberwachungssystem 300 empfängt zum Beispiel ein erstes Bild 308. Das erste Bild 308 enthält ein Bild des Bereichs 306. Der Bereichsüberwachungsprozess 301 teilt das erste Bild 308 in eine Vielzahl von Segmenten 310 auf. Die Vielzahl von Segmenten 310 stellt eine Gruppierung von Pixeln im ersten Bild 308 dar. Der Bereichsüberwachungsprozess 301 teilt unterschiedliche Abschnitte des ersten Bildes 308 in eine Vielzahl von Segmenten 310 auf. Die Segmente in der Vielzahl von Segmenten 310 können zum Beispiel auf der Grundlage von Pixeln im ersten Bild 308 mit ähnlichen Farb-, Kontrast-, Textur-, oder Helligkeitswerten in Gruppen eingeteilt werden. Der Bereichsüberwachungsprozess 301 ermittelt auch einen Texturwert 318 für Segmente in der Vielzahl von Segmenten 310.
-
Der Bereichsüberwachungsprozess 301 vergleicht Segmente in der Vielzahl von Segmenten 310, um eine Vielzahl von Punkten 304 zu ermitteln. Zum Beispiel vergleicht der Bereichsüberwachungsprozess 301 das erste Segment 312 mit dem zweiten Segment 314. Der Bereichsüberwachungsprozess 301 erkennt die Kontrastmenge (amount of contrast) 316 in der Textur zwischen dem ersten Segment 312 und dem zweiten Segment 314. In diesem Beispiel handelt es sich bei dem ersten Segment 312 und dem zweiten Segment 314 um benachbarte Segmente. Der Bereichsüberwachungsprozess 301 vergleicht das erste Segment 312 mit dem zweiten Segment 314 um zu ermitteln, ob ein hohes Kontrastniveau zwischen dem ersten Segment 312 und dem zweiten Segment 314 besteht. Zum Beispiel kann der Bereichsüberwachungsprozess 301 die Kontrastmenge 316 mit einer Schwellenmenge (threshold mount) 320 vergleichen. Wenn die Kontrastmenge 316 zwischen dem ersten Segment 312 und dem zweiten Segment 314 die Schwellenmenge 320 überschreitet, erkennt der Bereichsüberwachungsprozess 301 einen Punkt 322 als einen der Vielzahl von Punkten 304.
-
Der Bereichsüberwachungsprozess 301 ermittelt Entfernungs- 332 und Kennzeichnungsinformationen 334. Bei der Entfernung 332 handelt es sich um eine Entfernung zwischen dem Punkt 322 und anderen Punkten in der Vielzahl von Punkten 304. Bei den Kennzeichnungsinformationen 334 handelt es sich um Informationen, die zum Auffinden des Punkts 322 in späteren Bildern dienen. Zum Beispiel können die Kennzeichnungsinformationen (identification information) 334 Koordinaten von einem oder mehreren in Punkt 322 im ersten Bild enthaltenen Pixeln enthalten. Die Kennzeichnungsinformationen 334 können ebenfalls beschreibende Informationen von Punkt 322 enthalten, wie zum Beispiel den Unterschied in der Kontrastmenge 316 zwischen Punkt 322 und umgebenden Punkten im ersten Bild 308. Weiterhin können die Kennzeichnungsinformationen 334 Farb-, Kontrast-, Textur- oder Helligkeitswerte eines oder mehrerer Pixel in Punkt 322 enthalten. In diesen Beispielen weist die Vielzahl von Punkten 304 im ersten Bild 308 eine feste Beziehung zueinander auf. Die feste Beziehung zwischen Punkten innerhalb der Vielzahl von Punkten 304 ermöglicht es, die Vielzahl von Punkten 304 auf anderen Bildern der Vielzahl von Bildern 302 aufzufinden. Die feste Beziehung beruht auf den Kennzeichnungsinformationen 334.
-
In diesen Beispielen handelt es sich bei Punkt 322 um einen Punkt, an dem im ersten Bild 308 ein hohes Kontrastniveau besteht. Punkte im ersten Bild 308, die den Punkt 322 umgeben, besitzen viel höhere oder niedrigere Texturwerte. Die Schwellenmenge 320 des Kontrastunterschieds kann von einem Administrator auf der Grundlage von Lichtverhältnissen im Bereich 306 ausgewählt werden. Zum Beispiel können Änderungen der Lichtverhältnisse im Bereich 306 Auswirkungen darauf haben, ob Punkte in der Vielzahl von Punkten 304 erkannt werden können. Wenn zum Beispiel Wolken Teile des Bereichs 306 abdecken, kann es für den Bereichsüberwachungsprozess 301 schwieriger werden, die Vielzahl von Punkten 304 in nachfolgenden Bildern zu erkennen. Daher wird ein Schwellenwert 320 ausgewählt, um Änderungen der Lichtverhältnisse zuzulassen und dabei noch in der Lage zu sein, die Vielzahl von Punkten 304 im Bereich 306 zu erkennen.
-
Der Bereichsüberwachungsprozess 301 kann diesen Vorgang wiederholen, bis eine ausreichende Anzahl 328 von Punkten für die Vielzahl von Punkten 304 ermittelt wurde. Die Vielzahl von Punkten 304 kann zum Beispiel so ausgewählt werden, dass sie eine Linie entlang einer Strecke von einer oder mehreren Schienen im Gleissatz 324 bildet. Die Vielzahl von Punkten 304 kann auch so ausgewählt werden, dass sie eine Kurve entlang oder um einen Gleissatz 324 bildet. Ein Administrator kann die ausreichende Anzahl 328 so auswählen, dass der Bereichsüberwachungsprozess 301 erkennen kann, dass sich ein Zug 326 im Bereich 306 befindet. Die ausreichende Anzahl 328 kann zum Beispiel so ausgewählt werden, dass sich die Vielzahl von Punkten 304 über eine Strecke erstreckt, die länger als eine Person oder ein Fahrzeug ist, die oder das sich nicht im Bereich 306 befinden sollte. Somit deutet das Fehlen 330 einer Anzahl von Punkten der Vielzahl von Punkten 304 darauf hin, dass sich der Zug 326 und nicht eine Person oder ein Fahrzeug im Bereich 306 befindet.
-
Zudem kann der Bereichsüberwachungsprozess 301 eine Anzahl verschiedener Verfahren und Algorithmen zur Ermittlung der Vielzahl von Punkten 304 im Bereich 306 verwenden. Zum Beispiel kann der Bereichsüberwachungsprozess 301 eine Eckenerkennung oder Kantenerkennung nutzen, um Ecken und Kanten zu erkennen, die durch den Gleissatz 324 gebildet werden. Der Bereichsüberwachungsprozess 301 kann ebenso eine Erkennung von Flecken (blob detection) und beliebige zugeordnete Algorithmen verwenden, um Gebiete oder hohen Kontrast zu erkennen.
-
Sobald die Vielzahl von Punkten 304 erkannt wurde, verarbeitet der Bereichsüberwachungsprozess 301 nachfolgende empfangene Bilder, um zu ermitteln, ob die Vielzahl von Punkten 304 in den nachfolgenden Bildern vorhanden ist. Zum Beispiel kann der Bereichsüberwachungsprozess 301 das zweite Bild 336 mithilfe von Kennzeichnungsinformationen 334 durchsuchen, um zu versuchen, die Vielzahl von Punkten 304 im zweiten Bild 336 aufzufinden. Wenn der Bereichsüberwachungsprozess 301 nicht alle Punkte der Vielzahl von Punkten 304 im zweiten Bild 336 auffinden kann, stellt der Bereichsüberwachungsprozess 301 das Fehlen 330 einer Anzahl von Punkten aus dem zweiten Bild 336 fest und bildet fehlende Punkte 337. Auf der Grundlage des Fehlens 330 kann der Bereichsüberwachungsprozess 301 feststellen, dass sich ein Zug 326 im Bereich 306 befindet.
-
Der Bereichsüberwachungsprozess 301 ermittelt zum Beispiel, ob die Anzahl der fehlenden Punkte 337 eine Schwellenanzahl (threshold number) 338 überschreitet. In diesen Beispielen wird die Schwellenanzahl 338 so ausgewählt, dass sich im Falle, dass die fehlenden Punkte 337 die Schwellenanzahl 338 überschreiten, der Zug 326 im Bereich 306 befindet. Die Schwellenanzahl 338 wird auf der Grundlage der Entfernung 332 zwischen Punkten in der Vielzahl von Punkten 304 und einem Ort von Punkten in der Vielzahl von Punkten 304 ausgewählt. Zum Beispiel ist der Bereichsüberwachungsprozess 301 in der Lage, auf der Grundlage der Entfernung und der fehlenden Punkte 337 zu erkennen, dass die Größe des Elements, das die fehlenden Punkte 337 verbirgt, derjenigen eines Zuges 326 und nicht einer Person oder eines Fahrzeugs entspricht.
-
Zudem kann der Bereichsüberwachungsprozess 301 ein erstes Muster 340 fehlender Punkte 337 berücksichtigen, um zu ermitteln, ob sich der Zug 326 im Bereich 306 befindet. Zum Beispiel kann das durch einen sich in den Bereich 306 bewegenden Zug 326 gebildete zweite Muster 342 aus einem Bild eines Zuges 326, der sich zuvor in den Bereich 306 bewegt hat, oder auf der Grundlage bekannter Abmessungen des Zuges 326 erhalten werden. Der Bereichsüberwachungsprozess 301 kann das erste Muster 340 mit dem zweiten Muster 342 vergleichen. Wenn die Muster übereinstimmen, stellt der Bereichsüberwachungsprozess 301 fest, dass sich der Zug 326 in den Bereich 306 bewegt hat. Auf diese Weise kann das Bereichsüberwachungssystem 300 ein Beispiel für ein Zugerkennungssystem 344 darstellen.
-
Unter Bezugnahme auf 4 ist ein Blockschaubild eines Objektüberwachungssystems gemäß einer veranschaulichenden Ausführungsform abgebildet. In diesen Beispielen stellt ein Objektüberwachungssystem 400 ein Beispiel einer Ausführungsform des Objektüberwachungssystems 202 in 2 dar. Das Objektüberwachungssystem 400 stellt nähere Einzelheiten einer Ausführungsform des Bereichsüberwachungssystems 202 in 2 bereit.
-
Das Objektüberwachungssystem 400 überwacht ein Objekt 402 in einem Gebiet 404 mithilfe einer Vielzahl von Bildern 406. Zum Beispiel kann das Objektüberwachungssystem 400 Hintergrundmodellierung bei der Verfolgung des Objekts 402 im Gebiet 404 verwenden. Das Objektüberwachungssystem 400 empfängt die Vielzahl von Bildern 406. Der Objektüberwachungsprozess 408 im Objektüberwachungssystem 400 vergleicht Bilder 410, um Ähnlichkeiten 412 zwischen den Bildern 410 zu erkennen. Ähnlichkeiten 412 können zum Beispiel das Ergebnis von Elementen in den Bildern 410 sein, die über einen Zeitraum unbeweglich geblieben sind. Der Objektüberwachungsprozess 408 stellt Elemente in den Bildern 410, die über einen Zeitraum unbeweglich geblieben sind, als Satz von Hintergrundobjekten 414 fest. Möglicherweise muss der Objektüberwachungsprozess 408 keinen Satz von Hintergrundobjekten 414 in den Bildern 410 überwachen. Andererseits werden Elemente in den Bildern 410, die Anzeichen von Bewegung oder Veränderungen zwischen den Bildern 410 zeigen, als Satz von Vordergrundobjekten 416 erkannt. Der Objektüberwachungsprozess 408 überwacht die Bewegung des Satzes von Vordergrundobjekten 416 im Gebiet 404.
-
Der Objektüberwachungsprozess 408 erkennt auch den Bereich 418 im Gebiet 404 aus den Bildern 410. Beim Bereich 418 handelt es sich um einen Bereich, in dem sich der Satz von Vordergrundobjekten 416 nicht befinden sollte. Der Objektüberwachungsprozess 408 erkennt auch die Begrenzung 420, die den Bereich 418 in den Bildern 410 umgibt. Bei der Begrenzung 420 kann es sich zum Beispiel um eine virtuelle Begrenzung im Gebiet 404 handeln, die bei Eindringen eines Objekts 402 die Erzeugung einer Kreuzungsereignis-Warnung 422 hervorrufen kann. Der Objektüberwachungsprozess 408 überwacht das Objekt 402, um festzustellen, ob und wann das Objekt 402 die Begrenzung 420 überschritten hat. Die Begrenzung 420 kann auch eine Breite 424 beinhalten. Die Breite 424 ist eine Schwellenlänge, um die der das Objekt 402 die Begrenzung 420 überschreiten kann, ohne dass der Objektüberwachungsprozess 408 feststellt, dass sich das Objekt 402 den Bereich 418 bewegt hat. Die Breite 424 kann durch einen Administrator festgelegt werden, um falsche Positivmeldungen zu verringern. Die Breite 424 kann zum Beispiel dazu führen, dass für den Fuß einer Person an der Kante eines Bahnsteigs keine Kreuzungsereignis-Warnung 422 erzeugt wird.
-
Der Objektüberwachungsprozess 408 empfängt auch Benachrichtigungen darüber, ob sich ein Zug im Bereich 418 befindet. Für gewöhnlich wird ein sich bewegender Zug als eines aus dem Satz von Vordergrundobjekten 416 behandelt. Wenn sich der Zug in den Bereich 418 bewegt hat, kann der Objektüberwachungsprozess 408 eine Kreuzungsereignis-Warnung 422 erzeugen. Wenn der Objektüberwachungsprozess 408 jedoch darüber benachrichtigt wurde, dass sich ein Zug im Bereich 418 befindet, stellt der Objektüberwachungsprozess 408 fest, dass sich im Bereich 418 ein Zug und nicht das Objekt befindet. Wenn der Zug darüber hinaus für einen Zeitraum unbeweglich war, kann der Objektüberwachungsprozess 408 den Zug als eines aus dem Satz von Hintergrundobjekten 414 behandeln. Ein Bereichsüberwachungsprozess wie der Bereichsüberwachungsprozess 301 in 3 ist jedoch noch in der Lage, wie oben erläutert die Anwesenheit des Zugs aufgrund fehlender interessierender Punkte zu erkennen. Der Objektüberwachungsprozess 408 wird darüber benachrichtigt, dass der Zug anwesend ist, und ist in der Lage, den Satz von Vordergrundobjekten 416 im Gebiet 404 besser zu verfolgen.
-
In diesen veranschaulichenden Beispielen kann der Objektüberwachungsprozess 408 auch Größe 426 und Art 428 des Objekts 402 ermitteln. Der Objektüberwachungsprozess 408 sendet Informationen bezüglich der Größe 426 und der Art 428 an einen Bereichsüberwachungsprozess wie den Bereichsüberwachungsprozess 301 in 3. Der Bereichsüberwachungsprozess kann dann die Größe 426 und die Art 428 zum Auswählen einer Schwellenanzahl der Punkte verwenden, die in einem Bild fehlen dürfen, indem ermittelt wird, ob ein Zug anwesend ist. Zum Beispiel kann die Schwellenanzahl so ausgewählt werden, dass Objekte der Größe 426 und der Art 428 im Bereich 418 nicht als Zug erkannt werden.
-
Unter Bezugnahme auf 5 wird eine Darstellung eines Bildes einer Vielzahl von interessierenden Punkten, die auf einem Gleissatz ermittelt wurden, gemäß einer Ausführungsform der Erfindung gezeigt. In diesem veranschaulichenden Beispiel handelt es sich bei einem Bild 500 um ein Bild eines Gleissatzes 502. Das Bild 500 stellt ein Beispiel des ersten Bildes 308 in 3 dar. Das Bild 500 enthält die Begrenzung 504. Bei der Begrenzung 504 handelt es sich um eine in Bild 500 festgelegte virtuelle Begrenzung. Zum Beispiel umgibt die Begrenzung 504 den interessierenden Bereich 506, der einen Abschnitt des Gleissatzes 502 beinhaltet.
-
In diesem Beispiel handelt es sich bei der Vielzahl interessierender Punkte 508 und der Vielzahl interessierender Punkte 509 um interessierende Punkte, die in Bild 500 erkannt wurden. In diesem Beispiel ist die Vielzahl interessierender Punkte 508 entlang des Gleissatzes 502 angeordnet. In anderen Beispielen kann die Vielzahl interessierender Punkte 508 die Form einer Linie oder einer Kurve annehmen. Zum Beispiel kann die Vielzahl interessierender Punkte 508 eine Linie 510 entlang des Gleissatzes 502 bilden.
-
6 zeigt eine Darstellung eines Zuges, der auf dem in 5 abgebildeten Gleissatz erkannt wurde, gemäß einer veranschaulichenden Ausführungsform der Erfindung. In diesem veranschaulichenden Beispiel handelt es sich bei einem Bild 600 um ein Bild des Gleissatzes 502, das zu einem anderen Zeitpunkt als das Bild 500 in 5 erzeugt wurde. In diesem Beispiel befindet sich ein Zug 602 auf dem Gleissatz 502. Der Zug 602 kann mithilfe der Vielzahl interessierender Punkte 508 als Zug erkannt werden.
-
Wie in Bild 600 gezeigt, ist die Vielzahl interessierender Punkte 509 in 5 im Bild 600 nicht mehr sichtbar. Der Zug 602 hat im Bild 600 die Sicht auf die Vielzahl interessierender Punkte 509 verdeckt. Wenn zum Beispiel eine Anzahl interessierender Punkte 508 und 509 im Bild 600 fehlt, kann ein Zugerkennungssystem wie das Zugerkennungssystem 344 in 3 erkennen, dass sich der Zug 602 und kein Objekt in die Begrenzung 504 durchquert hat. Wenn in einem weiteren Beispiel ein Muster interessierender Punkte in der Vielzahl interessierender Punkte 508 und 509, das im Bild 600 fehlt, mit einem Muster eines die Begrenzung 504 überschreitenden Zuges übereinstimmt, kann das Zugerkennungssystem erkennen, dass der Zug 602 und kein Objekt die Begrenzung 504 durchquert hat.
-
Wie zudem 6 veranschaulicht, wird ein Abschnitt der Linie 510 ebenfalls durch den Zug 602 verdeckt und ist im Bild 600 nicht sichtbar. Wenn zum Beispiel eine Länge des Abschnitts der Linie 510, die im Bild 600 fehlt, eine zuvor festgelegte Länge überschreitet, kann ein Zugerkennungssystem wie das Zugerkennungssystem 344 in 3 erkennen, dass der Zug 602 und kein Objekt die Begrenzung 504 überschritten hat.
-
Unter Bezugnahme auf 7 wird eine Abbildung eines Ablaufplans eines Prozesses zum Überwachen eines Objektes gemäß einer veranschaulichenden Ausführungsform gezeigt. Der in 7 abgebildete Prozess kann in einem Datenverarbeitungssystem 104 ausgeführt werden, das in der Objektüberwachungsumgebung in 1 arbeitet.
-
Der Prozess beginnt mit dem Empfangen einer Vielzahl von Bildern eines Gebiets (Schritt 702). In Schritt 702 kann es sich bei dem Gebiet zum Beispiel um ein Gebiet nahe eines Gleissatzes handeln. Der Prozess erkennt dann ein Objekt im Gebiet aus der Vielzahl von Bildern (Schritt 704). Danach ermittelt der Prozess eine Vielzahl von Punkten in einem Bereich innerhalb des Gebiets aus einem ersten Bild (Schritt 706). Der Prozess überwacht dann das Objekt im Gebiet, um zu ermitteln, ob sich das Objekt in den Bereich bewegt hat (Schritt 708). In Schritt 708 handelt es sich bei dem Objekt um ein Objekt, das sich nicht in dem Bereich befinden sollte. Das Objekt kann mittels Hintergrundmodellierung überwachtwerden.
-
Danach erkennt der Prozess das Fehlen einer Anzahl von Punkten der Vielzahl von Punkten in einem zweiten Bild in der Vielzahl von Bildern (Schritt 710). Der Prozess stellt dann fest, dass sich das Objekt nicht in den Bereich bewegt hat, wobei der Prozess im Anschluss endet (Schritt 712). In Schritt 712 deutet gewöhnlich ein Fehlen der Anzahl der Vielzahl von Punkten darauf hin, dass sich etwas im Bereich befindet, und somit kann eine Warnung erzeugt werden. In Schritt 712 kann der Prozess jedoch feststellen, dass das Fehlen bedeutet, dass sich ein Zug im Bereich befindet. Daher erzeugt der Prozess dann keine Warnung und verringert dadurch wirksam eine Anzahl falscher Positivmeldungen und verbessert die Zuverlässigkeit beim Erkennen von Kreuzungsereignissen.
-
Unter Bezugnahme auf 8 wird eine Abbildung eines Ablaufplans eines Prozesses zum Ermitteln interessierender Punkte in einem interessierenden Bereich gemäß einer veranschaulichenden Ausführungsform gezeigt. Der in 8 abgebildete Prozess kann durch einen Bereichsüberwachungsprozess 301 im Bereichsüberwachungssystem 300 in 3 ausgebildet sein.
-
Der Prozess beginnt mit dem Ermitteln eines Bereichs in einem empfangenen Bild (Schritt 802). Danach teilt der Prozess den Bereich in eine Vielzahl von Segmenten auf (Schritt 804). Der Prozess ermittelt dann eine Kontrastmenge in der Textur zwischen Segmenten (Schritt 806). Danach ermittelt der Prozess, ob die Kontrastmenge eine Schwellenmenge überschreitet (Schritt 808). Wenn der Prozess feststellt, dass die Kontrastmenge die Schwellenmenge nicht überschreitet, kehrt der Prozess zu Schritt 806 zurück und ermittelt eine Kontrastmenge in der Textur zwischen anderen Segmenten. Der Prozess versucht, andere Segmente zu ermitteln, die eine Kontrastmenge aufweisen, die größer als die Schwellenmenge ist.
-
Wenn der Prozess feststellt, dass die Kontrastmenge die Schwellenmenge überschreitet, kennzeichnet der Prozess einen Punkt in den Segmenten (Schritt 810). In Schritt 810 kann es sich bei dem Punkt um einen Punkt zwischen den Segmenten handeln. In einem anderen Beispiel kann es sich bei dem Punkt um einen im ersten oder aber im zweiten Segment angeordneten Punkt handeln, der unter anderen Punkten im ersten und zweiten Segment den größten Kontrastwert zu umgebenden Punkten aufweist.
-
Danach ermittelt der Prozess, ob eine ausreichende Anzahl von Punkten im Bild erkannt wurde (Schritt 812). In Schritt 812 wurde dann eine ausreichende Anzahl von Punkten erkannt, wenn ein Zugerkennungssystem zwischen Zügen im Bereich und Objekten im Bereich unterscheiden kann. Wenn der Prozess feststellt, dass keine ausreichende Anzahl von Punkten erkannt wurde, kehrt der Prozess zu Schritt 806 zurück und ermittelt eine Kontrastmenge in der Textur zwischen anderen Segmenten. Wenn der Prozess feststellt, dass eine ausreichende Anzahl von Punkten ermittelt wurde, erzeugt der Prozess Kennzeichnungsinformationen für die Vielzahl von Punkten im Bereich, und danach endet der Prozess (Schritt 814). In Schritt 814 werden die Kennzeichnungsinformationen dazu verwendet, die Vielzahl von Punkten später in anderen Bildern des Gebietes zu erkennen.
-
Unter Bezugnahme auf 9 wird eine Abbildung eines Ablaufplans eines Prozesses zum Ermitteln, wann sich ein Zug in einem interessierenden Bereich befindet, gemäß einer veranschaulichenden Ausführungsform gezeigt. Der in 9 abgebildete Prozess kann durch einen Bereichsüberwachungsprozess 220 im Bereichsüberwachungssystem 204 in 2 ausgebildet sein. Der Prozess kann auch im Zugerkennungssystem 344 in 3 ausgebildet sein.
-
Der Prozess beginnt mit dem Empfangen eines Bildes eines Gebiets (Schritt 902). Der Prozess ermittelt dann, ob alle Punkte der Vielzahl von Punkten im Bild vorhanden sind (Schritt 904). Wenn der Prozess ermittelt, dass alle der Vielzahl von Punkten im Bild vorhanden sind, stellt der Prozess fest, dass kein Zug anwesend ist (Schritt 906). Danach kehrt der Prozess zu Schritt 902 zurück und empfängt ein anderes Bild des Gebiets.
-
Wenn der Prozess jedoch feststellt, dass eine Anzahl der Vielzahl von Punkten im Bild fehlt, ermittelt der Prozess, ob die im Bild fehlende Anzahl von Punkten eine Schwellenanzahl überschreitet (Schritt 908). Wenn der Prozess ermittelt, dass die im Bild fehlende Anzahl von Punkten die Schwellenanzahl nicht überschreitet, kehrt der Prozess zu Schritt 906 zurück und stellt fest, dass kein Zug anwesend ist.
-
Wenn der Prozess jedoch feststellt, dass die im Bild fehlende Anzahl von Punkten die Schwellenanzahl überschreitet, ermittelt der Prozess, ob ein Muster der fehlenden Punkte mit einem Muster eines sich in den Bereich bewegenden Zuges übereinstimmt (Schritt 910). Wenn der Prozess ermittelt, dass das Muster der im Bild fehlenden Anzahl von Punkten nicht mit einem Muster eines sich in den Bereich bewegenden Zuges übereinstimmt, kehrt der Prozess zu Schritt 906 zurück und stellt fest, dass kein Zug anwesend ist.
-
Wenn der Prozess jedoch feststellt, dass das Muster der im Bild fehlenden Anzahl von Punkten mit einem Muster eines sich in den Bereich bewegenden Zuges übereinstimmt, stellt der Prozess fest, dass ein Zug anwesend ist (Schritt 912). Danach sendet der Prozess eine Benachrichtigung an das Objektverfolgungssystem, und danach endet der Prozess (Schritt 914).
-
Unter Bezugnahme auf 10 wird eine Abbildung eines Ablaufplans eines Prozesses zum Verbessern der Zuverlässigkeit beim Erkennen von Kreuzungsereignissen gemäß einer veranschaulichenden Ausführungsform gezeigt. Der in 10 abgebildete Prozess kann durch einen Objektüberwachungsprozess 408 in 4 in Verbindung mit dem im Bereichsüberwachungsprozess 301 in 3 ausgebildet sein.
-
Der Prozess beginnt mit dem Festlegen einer Begrenzung eines Bereichs in einem Gebiet auf einem Bild (Schritt 1002). In Schritt 1002, kann die Begrenzung zudem eine Breite aufweisen, so dass keine Warnung erzeugt wird bis ein Objekt die Breite der Begrenzung durchquert hat. Danach überwacht der Prozess ein Objekt im Gebiet (Schritt 1004). Der Prozess ermittelt dann, ob das Objekt die Begrenzung des Bereichs durchquert hat (Schritt 1006). Wenn der Prozess feststellt, dass das Objekt die Begrenzung des Bereichs nicht durchquert hat, kehrt der Prozess zu Schritt 1004 zurück und fährt fort, das Objekt im Gebiet zu überwachen.
-
Wenn der Prozess feststellt, dass das Objekt die Begrenzung des Bereichs durchquert hat, ermittelt der Prozess, ob sich ein Zug im Bereich befindet (Schritt 1008). In Schritt 1008 kann der Prozess von einem Zugerkennungssystem wie dem Zugerkennungssystem 344 in 3 eine Benachrichtigung darüber empfangen, ob und wann sich ein Zug im Bereich befindet. Wenn der Prozess feststellt, dass sich ein Zug im Bereich befindet, kehrt der Prozess zu Schritt 1004 zurück und überwacht das Objekt im Gebiet. Die Anwesenheit des Zugs zeigt an, dass sich Objekte durch die Begrenzung bewegen können, um in den Zug einzusteigen. Die Anwesenheit des Zuges kann auch anzeigen, dass eine Bewegung im Gebiet durch den Zug verursacht worden sein kann. Somit erzeugt der Prozess keine Warnung, wenn nicht tatsächlich ein Kreuzungsereignis aufgetreten ist. Der Prozess verbessert die Zuverlässigkeit beim Erkennen von Schienenkreuzungsereignissen. Wenn der Prozess feststellt, dass sich ein Zug im Bereich befindet, erzeugt der Prozess eine Warnung über ein Kreuzungsereignis, und danach endet der Prozess (Schritt 1010).
-
Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß vielfältiger veranschaulichender Ausführungsformen. In dieser Hinsicht kann jeder Block in den Ablaufplänen und den Blockschaubildern für ein Modul, ein Segment, eine Funktion und/oder einen Abschnitt einer Operation oder eines Schritts stehen. Zum Beispiel können einer oder mehrere der Blöcke als Programmcode, als Hardware oder einer Kombination von Programmcode und Hardware ausgebildet sein. Bei Ausführung als Hardware kann die Hardware zum Beispiel in Form integrierter Schaltungen ausgebildet sein, die so hergestellt oder eingerichtet sind, dass sie eine oder mehrere Operationen in den Ablaufplänen oder Blockschaubildern durchführen können.
-
In einigen alternativen Ausbildungen können die Funktion oder die Funktionen, die im Block angegeben sind, in einer anderen als der in den Figuren angegebenen Reihenfolge auftreten. Zum Beispiel können in einigen Fallen zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Zudem können weitere Blöcke zusätzlich zu den in einem Ablaufplan oder Blockschaubild abgebildeten Blöcken hinzugefügt werden.
-
In 11 wird ein Blockschaubild eines Datenverarbeitungssystems gemäß einer veranschaulichenden Ausführungsform gezeigt. In diesem veranschaulichenden Beispiel beinhaltet das Datenverarbeitungssystem 1100 ein Datenübertragungsnetz (communication fabric) 1102, das die Datenübertragung zwischen einer Prozessoreinheit 1104, einem Arbeitsspeicher 1106, einem dauerhaften Speicher 1108, einer Datenübertragungseinheit 1110, einer Eingabe/Ausgabe(E/A)-Einheit 1112 und einer Anzeige 1114 bereitstellt. In diesen veranschaulichenden Beispielen stellt ein Datenverarbeitungssystem 1100 ein Beispiel einer Ausführung des Datenverarbeitungssystems in 1 dar. Das Datenverarbeitungssystem 1100 stellt auch ein Beispiel für das Zugerkennungssystem 334 in 3 dar.
-
Die Prozessoreinheit 1104 dient zum Verarbeiten von Anweisungen für Software, die in den Arbeitsspeicher 1106 geladen werden kann. Bei der Prozessoreinheit 1104 kann es sich abhängig von der bestimmten Ausführung um eine Anzahl von Prozessoren, einen Mehrfachprozessorkern oder eine andere Art von Prozessor handeln. Weiterhin kann die Prozessoreinheit 1104 so ausgebildet sein, dass eine Anzahl heterogener Prozessorsysteme verwendet wird, bei der sich ein Hauptprozessor mit sekundären Prozessoren auf einem einzigen Chip befindet. In einem weiteren veranschaulichenden Beispiel kann es sich bei der Prozessoreinheit 1104 um ein symmetrisches Mehrfachprozessorsystem handeln, das mehrere Prozessoren desselben Typs beinhaltet.
-
Der Arbeitsspeicher 1106 und der dauerhafte Speicher 1108 stellen Beispiele für Speichereinheiten 1116 dar. Eine Speichereinheit ist jede Hardwareeinheit, die in der Lage ist, Informationen zu speichern, wie beispielsweise, jedoch ohne darauf beschränkt zu sein, Daten, Programmcode in funktioneller Form und/oder andere geeignete Informationen, entweder auf vorübergehender und/oder auf dauerhafter Grundlage. Bei dem Arbeitsspeicher 1106 kann es sich in diesen Beispielen beispielsweise um einen Speicher mit wahlfreiem Zugriff oder jede andere geeignete flüchtige oder nichtflüchtige Speichereinheit handeln. Der dauerhafte Speicher 1108 kann je nach bestimmter Ausführung vielfältige Formen aufweisen.
-
Zum Beispiel kann der dauerhafte Speicher 1108 eine oder mehrere Komponenten oder Einheiten beinhalten. Bei dem dauerhaften Speicher 1108 kann es sich zum Beispiel um ein Festplattenlaufwerk, einen Flash-Speicher, eine wiederbeschreibbare optische Festplatte, ein wiederbeschreibbares Magnetband oder eine Kombination der oben Genannten handeln. Bei den durch den dauerhaften Speicher 1108 verwendeten Datenträgern kann es sich auch um Wechseldatenträger handeln. Zum Beispiel kann für den dauerhaften Speicher 1108 ein Wechselfestplattenlaufwerk verwendet werden.
-
Eine Datenübertragungseinheit 1110 stellt in diesen Beispielen den Datenaustausch mit anderen Datenverarbeitungssystemen oder Einheiten bereit. In diesen Beispielen handelt es sich bei der Datenübertragungseinheit 1110 um eine Netzwerkschnittstellenkarte. Die Datenübertragungseinheit 1110 kann den Datenaustausch durch die Verwendung von physischen oder aber kabellosen Datenübertragungsverbindungen oder beidem bereitstellen.
-
Eine Eingabe/Ausgabe-Einheit 1112 ermöglicht die Eingabe und Ausgabe von Daten in/zu andere(n) Einheiten, die mit dem Datenverarbeitungssystem 1100 verbunden sind. Die Eingabe/Ausgabe-Einheit 1112 kann zum Beispiel eine Verbindung für Benutzereingaben über eine Tastatur, eine Maus und/oder eine andere geeignete Eingabeeinheit bereitstellen. Weiterhin kann die Eingabe/Ausgabe-Einheit 1112 Ausgaben an einen Drucker senden. Die Anzeige 1114 stellt eine Einrichtung bereit, um einem Benutzer Informationen anzuzeigen.
-
Anweisungen für das Betriebssystem, Anwendungen und/oder Programme können sich in Speichereinheiten 1116 befinden, die über das Datenübertragungsnetz 1102 mit der Prozessoreinheit 1104 Daten austauschen. In diesen veranschaulichenden Beispielen befinden sich die Anweisungen in funktioneller Form auf dem dauerhaften Speicher 1108. Diese Anweisungen können zur Verarbeitung durch die Prozessoreinheit 1104 in den Arbeitsspeicher 1106 geladen werden. Die Prozesse der unterschiedlichen Ausführungsformen können durch die Prozessoreinheit 1104 unter Verwendung von durch einen Computer ausgeführten Anweisungen durchgeführt werden, die sich in einem Speicher wie dem Arbeitsspeicher 1106 befinden können.
-
Diese Anweisungen werden als Programmcode, von Computern verwendbarer Programmcode oder computerlesbarer Programmcode bezeichnet, der durch einen Prozessor in der Prozessoreinheit 1104 gelesen und verarbeitet werden kann. Der Programmcode in den unterschiedlichen Ausführungsformen kann auf unterschiedlichen physischen oder materiellen computerlesbaren Datenträgern wie dem Arbeitsspeicher 1106 oder dem dauerhaften Speicher 1108 ausgebildet sein.
-
Der Programmcode 1118 befindet sich in funktioneller Form auf einem computerlesbaren Datenträger 1120, bei dem es sich wahlweise um einen Wechseldatenträger handeln und der zur Verarbeitung durch die Prozessoreinheit 1104 auf das Datenverarbeitungssystem 1100 geladen oder zu diesem übertragen werden kann. Der Programmcode 1118 und der computerlesbare Datenträger 1120 bilden in diesen Beispielen ein Computerprogrammprodukt 1122. In einem Beispiel kann es sich bei dem computerlesbaren Datenträger 1120 um ein computerlesbares Speichermedium 1124 oder ein computerlesbares Signalmedium 1126 handeln. Zu computerlesbaren Datenträgern 1124 kann beispielsweise eine optische oder magnetische Festplatte gehören, die in ein Laufwerk oder in eine andere Einheit eingelegt oder dort angeordnet wird, die Teil des dauerhaften Speichers 1108 ist, zur Datenübertragung an eine Speichereinheit, die Teil des dauerhaften Speichers 1108 ist. Das computerlesbare Speichermedium 1124 kann auch in Form eines dauerhaften Speichers, z. B. ein mit dem Datenverarbeitungssystem 1100 verbundenes Festplattenlaufwerk, ein USB-Stick oder ein Flash-Speicher, ausgebildet sein. In einigen Beispielen kann das computerlesbare Speichermedium 1124 nicht aus dem Datenverarbeitungssystem 1100 entnehmbar sein. In diesen veranschaulichenden Beispielen handelt es sich bei dem computerlesbaren Speichermedium 1124 um ein nicht vorübergehendes computerlesbares Speichermedium.
-
Alternativ dazu kann der Programmcode 1118 mithilfe eines computerlesbaren Signalmediums 1126 an das Datenverarbeitungssystem 1100 übertragen werden. Bei dem computerlesbaren Signalmedium 1126 kann es sich zum Beispiel um ein Ausbreitungsdatensignal handeln, das den Programmcode 1118 enthält. Bei dem computerlesbaren Signalmedium 1126 kann es sich zum Beispiel um ein elektromagnetisches Signal, ein optisches Signal und/oder jede andere geeignete Art von Signal handeln. Diese Signale können über Datenübertragungsverbindungen wie kabellose Datenübertragungsverbindungen, Lichtwellenleiterkabel, Koaxialkabel, eine Leitung und/oder jede andere geeignete Art von Datenübertragungsverbindung übertragen werden. In anderen Worten: Die Datenübertragungsverbindung und/oder die Verbindung in den veranschaulichenden Beispielen kann materiell oder kabellos sein.
-
In einigen veranschaulichenden Ausführungsformen kann der Programmcode 1118 über ein Netzwerk von einer anderen Einheit oder einem anderen Datenverarbeitungssystem zur Verwendung innerhalb des Datenverarbeitungssystems 1100 über das computerlesbare Signalmedium 1126 auf den dauerhaften Speicher 1108 heruntergeladen werden. Zum Beispiel kann in einem computerlesbaren Speichermedium in einem Server-Datenverarbeitungssystem gespeicherter Programmcode über ein Netzwerk vom Server auf das Datenverarbeitungssystem 1100 heruntergeladen werden. Bei dem Datenverarbeitungssystem, das den Programmcode 1118 bereitstellt, kann es sich um einen Server-Computer, einen Client-Computer oder eine andere Einheit handeln, die in der Lage ist, den Programmcode 1118 zu speichern und zu übertragen.
-
Der Programmcode 1118 kann Programmcode zum Überwachen eines Objekts wie beispielsweise den Objektüberwachungsprozess 214 in 2 enthalten. Der Programmcode 1118 kann Programmcode zum Überwachen eines Bereichs wie beispielsweise den Bereichsüberwachungsprozess 220 in 2 enthalten.
-
Die unterschiedlichen erläuterten Komponenten für das Datenverarbeitungssystem 1100 sollen keine architektonischen Einschränkungen für die Art und Weise darstellen, in der unterschiedliche Ausführungsformen ausgebildet sein können. Die unterschiedlichen veranschaulichenden Ausführungsformen können in einem Datenverarbeitungssystem ausgebildet sein, das zusätzlich zu den oder anstelle der für das Datenverarbeitungssystem 1100 erläuterten noch weitere Komponenten beinhaltet. Weitere in 11 gezeigte Komponenten können ausgehend von den gezeigten veranschaulichenden Beispielen abgeändert werden. Die unterschiedlichen Ausführungsformen können unter Verwendung beliebiger Hardware-Einheiten oder jedes Systems ausgeführt werden, das in der Lage ist, Programmcode auszuführen. In einem Beispiel kann das Datenverarbeitungssystem organische Komponenten zusammen mit anorganischen Komponenten beinhalten und/oder vollständig aus organischen Komponenten, Menschen ausgenommen, aufgebaut sein. Die Speichereinheit kann zum Beispiel aus einem organischen Halbleiter aufgebaut sein.
-
In einem weiteren veranschaulichenden Beispiel kann die Prozessoreinheit 1104 in Form einer Hardware-Einheit ausgeführt sein, die Schaltkreise aufweist, die für eine bestimmte Verwendung hergestellt oder eingerichtet sind. Diese Art von Hardware kann Vorgänge durchführen, ohne dass Programmcode von einer Speichereinheit in einen Speicher geladen werden muss, um dafür eingerichtet zu werden, die Vorgänge ausführen zu können.
-
Wenn zum Beispiel die Prozessoreinheit 1104 in Form einer Hardware-Einheit ausgebildet ist, kann es sich bei der Prozessoreinheit 1104 um ein Schaltkreissystem, eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit ASIC), eine programmierbare Logikeinheit oder eine andere geeignete Art von Hardware handeln, die so eingerichtet ist, dass sie eine Anzahl von Vorgängen durchführen kann. Bei einer programmierbaren Logikeinheit ist die Einheit so eingerichtet, dass sie die Anzahl von Vorgängen durchführen kann. Die Einheit kann zu einem späteren Zeitpunkt neu eingerichtet werden oder dauerhaft so eingerichtet sein, dass sie die Anzahl von Vorgängen ausführen kann. Zu Beispielen programmierbarer Logikeinheiten gehören beispielsweise eine programmierbare Logik-Anordnung (programmable logic array), eine programmierbare Anordnungslogik, eine vor Ort programmierbare Logik-Anordnung, eine vor Ort programmierbare Gatter-Anordnung (gate array) und weitere geeignete Hardware-Einheiten. Bei dieser Ausbildungsart kann auf den Programmcode 1118 verzichtet werden, da die Prozesse für die unterschiedlichen Ausführungsformen in der Hardware-Einheit ausgebildet sind.
-
In einem weiteren veranschaulichenden Beispiel kann die Prozessoreinheit 1104 unter Verwendung einer Kombination von in Computern und Hardware-Einheiten anzutreffenden Prozessoren ausgebildet sein. Die Prozessoreinheit 1104 kann eine Anzahl von Hardware-Einheiten und eine Anzahl von Prozessoren aufweisen, die so eingerichtet sind, dass sie den Programmcode 1118 ausführen können. Bei diesem gezeigten Beispiel können einige der Prozessoren in der Anzahl von Hardware-Einheiten ausgebildet sein, während andere Prozesse in der Anzahl von Prozessoren ausgebildet sein können.
-
In einem weiteren Beispiel handelt es sich bei einer Speichereinheit im Datenverarbeitungssystem 1100 um eine beliebige Hardware-Vorrichtung, die Daten speichern kann. Der Arbeitsspeicher 1106, der dauerhafte Speicher 1108 und der computerlesbare Datenträger 1120 zählen zu Beispielen für Speichereinheiten in einer materiellen Form.
-
In einem weiteren Beispiel kann ein Bussystem zur Ausbildung des Datenübertragungsnetzes 1102 verwendet werden und aus einem oder mehreren Bussen wie beispielsweise einem Systembus oder einem Eingabe/Ausgabe-Bus aufgebaut sein. Selbstverständlich kann das Bussystem mittels jedes geeigneten Architekturtyps ausgeführt sein, der eine Übertragung von Daten zwischen unterschiedlichen Komponenten oder Einheiten bereitstellt, die an das Bussystem angebunden sind. Zudem kann eine Datenübertragungseinheit eine oder mehrere Einheiten beinhalten, die zum Senden und Empfangen von Daten verwendet werden, wie beispielsweise ein Modem oder ein Netzwerkadapter. Weiterhin kann es sich bei einem Speicher zum Beispiel um den Arbeitsspeicher 1106 oder einen Cachespeicher handeln, wie er in einem Schnittstellen- und Speichersteuerungs-Knotenpunkt (interface and memory controller hub) anzutreffen ist, der im Datenübertragungsnetz 1102 vorhanden sein kann.
-
In einem weiteren Beispiel handelt es sich bei einer Speichereinheit im Datenverarbeitungssystem 1100 um eine beliebige Hardware-Vorrichtung, die Daten speichern kann. Der Arbeitsspeicher 1106, der dauerhafte Speicher 1108 und der computerlesbare Datenträger 1120 zählen zu Beispielen für Speichereinheiten in einer materiellen Form.
-
Die hierin verwendete Terminologie dient lediglich dem Zwecke der Beschreibung bestimmter Ausführungsformen und ist nicht als die Erfindung einschränkend aufzufassen. Die hierin verwendeten Singularformen „ein”, „eine” und „der”, „die”, „das” sowie deren Deklinationen sollen ebenso die Pluralformen einschließen, es sei denn, dies ist im Kontext deutlich anderweitig angegeben. Es versteht sich weiterhin, dass die Begriffe „umfassen” und/oder „umfassend” in diesem Dokument das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder Hinzufügen eines oder mehrerer Merkmale, ganzer Zahlen, Schritte, Vorgänge, Elementkomponenten und/oder Gruppen davon ausschließen.
-
Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritte sowie Funktionselemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Handlungen zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie im Einzelnen beansprucht werden, einschließen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt, ist jedoch nicht als erschöpfend oder auf die Erfindung in der beschriebenen Form beschränkt aufzufassen. Viele Änderungen und Variationen sind für den Fachmann naheliegend, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu beschreiben und anderen Fachleuten das Verständnis der Erfindung für vielfältige Ausführungsformen mit vielfältigen Änderungen, wie sie für den bestimmten Gebrauch geeignet sind, zu ermöglichen.