-
HINTERGRUND
-
Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Programm zur Schätzung des Zustands von Objekten in einem Raum.
-
Beschreibung der verwandten Technik
-
Es wurde kürzlich eine Technik vorgeschlagen zum Aufnehmen eines Bilds von einem vorbestimmten Gebiet durch eine Kamera, Zählen der Anzahl von Objekten, wie etwa Menschen, in dem Bild durch Analysieren des aufgenommenen Bilds und Analysieren eines Stroms bzw. einer Strömung/Bewegung der Objekte. Es wird erwartet, dass eine solche Technik zum Beispiel zur Detektion einer Stauung von Menschen in einem öffentlichen Raum, Auflösung der Stauung während eines Ereignisses durch Verständnis des Stroms von Menschen in einer Menge und Entwicklung einer Evakuierungsanleitung im Fall eines Unglücks genutzt werden kann.
-
Als eine Methode zum Zählen der Anzahl von Menschen in einem Bild ist eine Methode zum Schätzen der Anzahl von Objekten in einem Bild durch Verwendung eines neuronalen Netzwerks bekannt, das durch maschinelles Lernen erhalten wird, siehe z.B. Wang et al. „Deep People Counting in Extremely Dense Crowds“, Proceedings of the 23rd ACM International Conference on Multimedia, 2015.
-
Außerdem wird in der
japanischen Patentanmeldungsoffenlegungsschrift Nr. 2015-103104 eine Methode zum Schätzen des Grads einer Stauung bzw. Verstopfung in einem großen Umfang durch Verwendung von Objektanzahlschätzergebnissen erörtert, die aus einer Überwachung bzw. Beobachtung von durch eine Vielzahl von Kameras aufgenommenen Bildern erhalten werden. Weiterhin ist, als eine Methode zum Analysieren des Stroms von Objekten in einem Bild, eine Methode zum Bestimmen eines nichtstationären Zustands einer Menschen-/Menge durch Zählung von Attributen von optischen Strömen bekannt (siehe japanische Patentanmeldungsoffenlegungsschrift Nr. 2012-22370).
-
Die vorstehend beschriebenen Techniken, die in der
japanischen Patentanmeldungsoffenlegungsschrift Nr. 2015-103104 und Wang et al. erörtert sind, werden jedoch verwendet, um die Anzahl von Objekten in einem Bild zu zählen und sind somit nicht ausreichend, um den Strom von Objekten zu verstehen. Dementsprechend kann zum Beispiel eine Unregelmäßigkeit bzw. Anomalität oder dergleichen in dem fraglichen Raum nicht vollständig erfasst werden. Im Gegensatz dazu ist es in der in der
japanischen Patentanmeldungsoffenlegungsschrift Nr. 2012-22370 erörterten Technik möglich, ein Verständnis des Stroms von Objekten zu erhalten, aber ist es unmöglich, gleichzeitig ein Verständnis der Anzahl von Objekten zu erhalten. Daher kann der nichtstationäre Zustand nicht vollkommen präzise bestimmt werden. Wie es vorstehend beschrieben ist, kann in den Techniken des Stands der Technik der Zustand von Objekten und dergleichen in dem Raum innerhalb eines Bildaufnahmebereichs nicht vollständig verstanden werden.
-
KURZFASSUNG
-
Verschiedene Ausführungsbeispiele der vorliegenden Offenbarung sind auf eine Technik zum Ermöglichen einer genauen Schätzung des Zustands von Objekten in einem Raum gerichtet.
-
Gemäß verschiedenen Ausführungsbeispielen umfasst eine Informationsverarbeitungsvorrichtung eine erste Schätzeinheit, die konfiguriert ist zum Schätzen, für jedes von einer Vielzahl von Bildern, die in einer Zeitreihe aufeinanderfolgen, der Anzahl von Objekten, die in jedem von einer Vielzahl von eingestellten Bereichen vorhanden sind, und eine zweite Schätzeinheit, die konfiguriert ist zum Schätzen eines Stroms der Objekte, die in jedem von der Vielzahl von Bereichen vorhanden sind, basierend auf einem Ergebnis der Schätzung für jedes von der Vielzahl von Bildern durch die erste Schätzeinheit.
-
Weitere Merkmale werden aus der folgenden Beschreibung von beispielhaften Ausführungsbeispielen unter Bezugnahme auf die angefügten Zeichnungen deutlich.
-
Figurenliste
-
- 1 ist ein Blockschaltbild, das ein Beispiel einer Hardwarekonfiguration einer Informationsverarbeitungsvorrichtung gemäß einem Ausführungsbeispiel veranschaulicht.
- 2 ist ein Blockschaltbild, das eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung gemäß einem Ausführungsbeispiel veranschaulicht.
- 3 ist ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung veranschaulicht, die durch die Informationsverarbeitungsvorrichtung gemäß dem einen Ausführungsbeispiel durchzuführen ist.
- 4 veranschaulicht ein Beispiel eines zu verarbeitenden Bilds.
- 5 veranschaulicht ein Beispiel einer Bildunterteilung gemäß einem Ausführungsbeispiel.
- 6 veranschaulicht ein Beispiel eines neuronalen Netzwerks gemäß einem Ausführungsbeispiel.
- 7 ist ein Blockschaltbild, das ein Beispiel einer Detailkonfiguration einer Merkmalsextraktionseinheit gemäß einem Ausführungsbeispiel veranschaulicht.
- 8 ist ein Blockschaltbild, das ein Beispiel einer Detailkonfiguration einer Stromschätzeinheit gemäß einem Ausführungsbeispiel veranschaulicht.
- 9 ist ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung veranschaulicht, die durch die Stromschätzeinheit gemäß einem Ausführungsbeispiel durchzuführen ist.
- 10 veranschaulicht ein Beispiel eines Objektanzahlschätzergebnisses gemäß einem Ausführungsbeispiel.
- 11 veranschaulicht ein Beispiel eines Stromschätzergebnisses gemäß einem Ausführungsbeispiel.
- 12 veranschaulicht ein Beispiel eines Unregelmäßigkeitsbestimmungsergebnisses gemäß einem Ausführungsbeispiel.
- 13 veranschaulicht ein Beispiel des Stromschätzergebnisses gemäß einem Ausführungsbeispiel.
-
BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
-
Nachstehend werden beispielhafte Ausführungsbeispiele unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
1 ist ein Blockschaltbild, das ein Beispiel einer Hardwarekonfiguration einer Informationsverarbeitungsvorrichtung 100 gemäß einem ersten beispielhaften Ausführungsbeispiel veranschaulicht. Die Informationsverarbeitungsvorrichtung 100 umfasst eine Arithmetikverarbeitungseinheit 110, eine Speichereinrichtung 120, eine Eingabeeinrichtung 130 und eine Ausgabeeinrichtung 140. Die Komponenten sind so konfiguriert, dass sie miteinander kommunikationsfähig und über einen Bus oder dergleichen miteinander verbunden sind.
-
Die Arithmetikverarbeitungseinheit 110 steuert den Betrieb der Informationsverarbeitungsvorrichtung 100, um zum Beispiel in der Speichereinrichtung 120 gespeicherte Programme auszuführen. Die Arithmetikverarbeitungseinheit 110 ist aus einer Zentralverarbeitungseinheit (CPU), einer Graphikverarbeitungseinheit (GPU) oder dergleichen aufgebaut. Die Speichereinrichtung 120 ist eine Speichereinrichtung, zum Beispiel eine Magnetspeichereinrichtung oder ein Halbleiterspeicher. Die Speichereinrichtung 120 speichert zum Beispiel Programme, die basierend auf dem Betrieb der Arithmetikverarbeitungseinheit 110 geladen werden, und Daten, die für einen langen Zeitraum zu speichern sind. Bei dem vorliegenden beispielhaften Ausführungsbeispiel führt die Arithmetikverarbeitungseinheit 110 eine Verarbeitung gemäß Vorgängen bzw. Prozessen von in der Speichereinrichtung 120 gespeicherten Programmen durch, wodurch Funktionen der Informationsverarbeitungsvorrichtung 100, wie sie nachstehend unter Bezugnahme auf 2 beschrieben sind, eine Verarbeitung von Ablaufdiagrammen, wie sie nachstehend unter Bezugnahme auf 3 und 9 beschrieben sind, und dergleichen implementiert werden. Die Speichereinrichtung 120 speichert auch durch die Informationsverarbeitungsvorrichtung 100 zu verarbeitende Bilder, Detektionsergebnisse und dergleichen.
-
Die Eingabeeinrichtung 130 ist zum Beispiel eine Maus, eine Tastatur, eine Berührungsfeldeinrichtung oder eine Taste bzw. Schaltfläche und wird zum Eingeben von verschiedenen Arten von Anweisungen verwendet. Die Eingabeeinrichtung 130 kann eine Bildaufnahmeeinrichtung wie etwa eine Kamera umfassen. In diesem Fall kann die Arithmetikverarbeitungseinheit 110 Bilder erfassen, die durch die in der Eingabeeinrichtung 130 umfasste Bildaufnahmeeinrichtung aufgenommen werden. Die Ausgabeeinrichtung 140 ist zum Beispiel ein Flüssigkristallfeld oder ein externer Monitor und gibt verschiedene Arten von Informationen aus.
-
Die Hardwarekonfiguration der Informationsverarbeitungsvorrichtung 100 ist nicht auf die in 1 veranschaulichte Konfiguration beschränkt. Zum Beispiel kann die Informationsverarbeitungsvorrichtung 100 eine Eingabe/Ausgabe-(E/A-)Einrichtung zur Kommunikation mit einer externen Informationsverarbeitungsvorrichtung und verschiedene Einrichtungen wie etwa eine Netzwerkkamera umfassen. Die E/A-Einrichtung ist zum Beispiel eine Speicherkarte, eine Eingabe-/Ausgabeeinheit, wie etwa ein Universal-Serial-Bus-(USB-)Kabel, oder eine Sende-/Empfangseinheit, die eine drahtgebundene oder drahtlose Kommunikation verwendet.
-
2 veranschaulicht ein Beispiel der funktionalen Konfiguration der Informationsverarbeitungsvorrichtung 100. Wie es in 2 veranschaulicht ist, umfasst die Informationsverarbeitungsvorrichtung 100 eine Bilderfassungseinheit 210, eine Unterteilungseinheit 220, eine Objektanzahlschätzeinheit 230, eine Merkmalsextraktionseinheit 240, eine Integrationseinheit 250, eine Stromschätzeinheit 260, eine Bestimmungseinheit 270 und eine Anzeigeeinheit 280.
-
Die Bilderfassungseinheit 210 erfasst Bilddaten, die durch eine in der Eingabeeinrichtung 130 umfasste Kamera aufgenommen werden, von der Kamera. Die Bilddaten sind Daten bezüglich Zeitreihenbilder, wobei die Zeitreihenbilder eine Vielzahl von Bildern umfassen, die in einer Zeitreihe aufeinanderfolgen bzw. in einer zeitlichen Folge hintereinanderkommen, wie etwa ein Bewegtbild oder ein Livebild.
-
Die Unterteilungseinheit 220 unterteilt Rahmenbilder bzw. Vollbilder der durch die Bilderfassungseinheit 210 erfassten Zeitreihenbilder in eine Vielzahl von lokalen Bereichen. Jeder der lokalen Bereiche, die durch Unterteilung durch die Unterteilungseinheit 220 erhalten werden, wird hierin nachstehend als ein unterteilter Bereich bezeichnet.
-
Die Objektanzahlschätzeinheit 230 schätzt, für jedes in den Zeitreihenbildern umfasste Rahmenbild bzw. Vollbild, die Anzahl von Objekten, die in jedem unterteilten Bereich vorhanden sind.
-
Die Merkmalsextraktionseinheit 240 extrahiert ein Bewegungsmerkmal aus jedem unterteilten Bereich in den Rahmenbildern bzw. Vollbildern der durch die Bilderfassungseinheit 210 erfassten Zeitreihenbilder.
-
Die Integrationseinheit 250 integriert die Schätzergebnisse der Anzahl von Objekten in einer Vielzahl von unterteilten Bereichen, die durch die Objektanzahlschätzeinheit 230 geschätzt wird, mit den Bewegungsmerkmalen, die durch die Merkmalsextraktionseinheit 240 extrahiert werden.
-
Die Stromschätzeinheit 260 empfängt, als Eingabe, sequenziell die Ergebnisse, die durch die Integrationseinheit 250 für jedes Rahmenbild bzw. Vollbild integriert werden, das in den durch die Bilderfassungseinheit 210 erfassten Zeitreihenbildern umfasst ist, und schätzt den Strom bzw. die Strömung/Bewegung von Objekten in jedem der unterteilten Bereiche basierend auf der empfangenen Eingabe.
-
Die Bestimmungseinheit 270 bestimmt, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist, basierend auf einer Veränderung in dem Strom von Objekten in der Vielzahl von unterteilten Bereichen, der durch die Stromschätzeinheit 260 geschätzt wird.
-
Die Anzeigeeinheit 280 zeigt, auf der Ausgabeeinrichtung 140 oder dergleichen, Informationen an, die die durch die Objektanzahlschätzeinheit 230 und die Stromschätzeinheit 260 erhaltenen Schätzergebnisse und die durch die Bestimmungseinheit 270 erhaltenen Bestimmungsergebnisse bezeichnen/zeigen.
-
3 ist ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung veranschaulicht, die durch die Informationsverarbeitungsvorrichtung 100 durchzuführen ist. Die Verarbeitung, die durch die Informationsverarbeitungsvorrichtung 100 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel durchzuführen ist, wird nachstehend unter Bezugnahme auf 3 beschrieben. Nachstehend wird ein Beispiel beschrieben, in dem eine Verarbeitung des Analysierens einer Menschen-/Menge in einem Bild auf dem Bild einer Szene durchgeführt wird, die in 4 veranschaulicht und durch eine in der Eingabeeinrichtung 130 umfasste Überwachungskamera aufgenommen ist. Bei dem vorliegenden beispielhaften Ausführungsbeispiel sind die Objekte, deren Anzahl und Strom geschätzt werden, menschliche Körper. Die Objekte, deren Anzahl und Strom geschätzt werden, können jedoch andere Objekte als menschliche Körper sein, wie etwa Tiere, Fahrzeuge oder Fracht- bzw. Transportgüter.
-
In Schritt S310 erfasst die Bilderfassungseinheit 210 Bilddaten, die durch die in der Eingabeeinrichtung 130 umfasste Überwachungskamera aufgenommen werden. Die Bilderfassungseinheit 210 erfasst, in einer Zeitreihe bzw. zeitlichen Folge, sequenziell die Bilddaten eines zweidimensionalen Datenformats, das aus 8-Bit-RGB-Pixeln aufgebaut ist, von der in der Eingabeeinrichtung 130 umfassten Überwachungskamera. Die Bilderfassungseinheit 210 kann Bilddaten anderer Formate, wie etwa eines JPEG-Formats, von der in der Eingabeeinrichtung 130 umfassten Überwachungskamera erfassen.
-
In Schritt S230 unterteilt die Unterteilungseinheit 220 die durch die Bilderfassungseinheit 210 erfassten Bilddaten in eine Vielzahl von unterteilten Bereichen. 5 veranschaulicht ein Beispiel eines Bilds, das durch die Unterteilungseinheit 220 in eine Vielzahl von unterteilten Bereichen unterteilt ist. Wie es in 5 veranschaulicht ist, kann die Unterteilungseinheit 220 die Bilddaten in eine Vielzahl von rechteckigen unterteilten Bereichen der gleichen Größe unterteilen, oder kann sie die Bilddaten in eine Vielzahl von unterteilten Bereichen unterschiedlicher Größen unterteilen. Alternativ kann die Unterteilungseinheit 220 die Bilddaten in unterteilte Bereiche unterteilen, sodass sie sich gegenseitig überlappen, oder kann sie die Bilddaten in andere unterteilte Bereiche als rechteckig unterteilte Bereiche unterteilen, wie etwa dreieckige oder kreisförmige unterteilte Bereiche.
-
In Schritt S330 schätzt die Objektanzahlschätzeinheit 230 die Anzahl von Objekten in jedem der unterteilten Bereiche in dem in Schritt S230 unterteilten Bild. Bei dem vorliegenden beispielhaften Ausführungsbeispiel schätzt die Objektanzahlschätzeinheit 230 die Anzahl von Menschen in dem Bild für jeden unterteilten Bereich. Die Objektanzahlschätzeinheit 230 verwendet, als Schätzmethode, ein tiefes neuronales Netzwerk, das in dem von Wang et al. geschriebenen Artikel erörtert ist, wie er vorstehend beschrieben ist.
-
6 veranschaulicht ein Beispiel des neuronalen Netzwerks. In diesem neuronalen Netzwerk wird eine Neuronale-Netzwerk-Convolutional-Operation einer fünfschichtigen Konfiguration unter Verwendung von RGB-Bildern in jedem lokalen Bereich mit einer Auflösung von HxW als Eingabe durchgeführt. Eine Neuronale-Netzwerk-Fully-Connected-Operation für eine sechste und eine siebte Schicht werden auf dem Operationsergebnis durchgeführt, wodurch eine Ausgabe erhalten wird. In 6 stellen f1 bis f5 Filtergrößen von Convolutional-Operationen in der ersten bis fünften Schicht dar, und stellen d1 bis d7 Ausgabekanalzahlen in der ersten bis siebten Schicht dar. Eine letzte Schicht erfasst den Anzahl-von-Menschen-Schätzwert aus der Ausgabe der siebten Schicht. Die Objektanzahlschätzeinheit 230 kann die Anzahl von Menschen schätzen, indem sie einen Merkmalsbetrag von jedem Bereich des Bilds durch eine andere Methode als das neuronale Netzwerk erhält. Die Objektanzahlschätzeinheit 230 kann die Anzahl von Objekten schätzen, die in jedem unterteilten Bereich vorhanden sind, indem sie Objekte von jedem unterteilten Bereich zum Beispiel unter Verwendung von vorab gelernten Klassifikatoren detektiert und die Anzahl der detektierten Objekte zählt.
-
In Schritt S340 extrahiert die Merkmalsextraktionseinheit 240, für zwei Rahmenbilder bzw. Vollbilder, die in Zeitreihe aufeinanderfolgen, ein Bewegungsmerkmal aus jedem unterteilten Bereich, der durch die Unterteilung in Schritt S320 erhalten wird.
-
7 veranschaulicht ein Beispiel der Detailkonfiguration der Merkmalsextraktionseinheit 240 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel. Wie es in 7 veranschaulicht ist, umfasst die Merkmalsextraktionseinheit 240 eine Bewegungsvektorextraktionseinheit 710 und ein tiefes neuronales Netzwerk 720. Die Bewegungsvektorextraktionseinheit 710 extrahiert einen Bewegungsvektor für jedes Pixel aus den unterteilten Bereichen der zwei Rahmenbilder bzw. Vollbilder, die in Zeitreihe aufeinanderfolgen. Das tiefe neuronale Netzwerk 720 hat eine Konfiguration, die ähnlich zu derjenigen des in 6 veranschaulichten neuronalen Netzwerks ist. Die Eingabe des neuronalen Netzwerks umfasst Horizontal- und Vertikalkomponenten des Bewegungsvektors in jedem unterteilten Bereich mit einer Auflösung von H×W, und die siebte Schicht gibt das Bewegungsmerkmal aus.
-
Ausgabewerte von der Objektanzahlschätzeinheit 230 und der Merkmalsextraktionseinheit 240 sind Werte, die durch Normierung von Werten in einem vorbestimmten Wertebereich auf einen Wertebereich [-1,1] erhalten werden.
-
Die Verarbeitung von Schritten S330 und S340 wird auf jedem der unterteilten Bereiche, die durch die Unterteilung in Schritt S320 erhalten werden, wiederholt durchgeführt. Als Ergebnis werden das Schätzergebnis der Anzahl von Objekten und das Bewegungsmerkmal für jeden von der Vielzahl von unterteilten Bereichen erhalten. Es kommt nicht darauf an, welcher von Schritten S330 und S340 zuerst durchgeführt wird.
-
In Schritt S350 integriert die Integrationseinheit 250 die Schätzergebnisse von der Anzahl von Objekten in der Vielzahl von unterteilten Bereichen, die in Schritt S330 geschätzt werden, mit den Bewegungsmerkmalen, die in Schritt S340 extrahiert werden. Bei dem vorliegenden beispielhaften Ausführungsbeispiel integriert die Integrationseinheit 250 das Schätzergebnis von der Anzahl von Objekten, das in Schritt S330 geschätzt wird, mit dem Ausgabeergebnis der siebten Schicht in dem tiefen neuronalen Netzwerk der Objektanzahlschätzeinheit 230 als den Merkmalsbetrag, der zur Stromschätzung in Schritt S360 verwendet wird. Die Integrationseinheit 250 verbindet die Objektanzahlschätzergebnisse, die Ausgabeergebnisse der siebten Schicht und die Bewegungsmerkmale (Ausgabeergebnisse der siebten Schicht in dem tiefen neuronalen Netzwerk der Merkmalsextraktionseinheit 240), die der Anzahl von unterteilten Bereichen entsprechen, in einen Merkmalsvektor. Der Merkmalsvektor ist ein Beispiel von integrierten Informationen, die durch Integration der Ergebnisse des Schätzens der Anzahl von Objekten für jeden von der Vielzahl von unterteilten Bereichen erhalten werden. Weiterhin gibt die Integrationseinheit 250 den Merkmalsvektor an die Stromschätzeinheit 230 aus.
-
Die Integrationseinheit 250 kann jedoch nur die Schätzergebnisse von der Anzahl von Objekten in der Vielzahl von unterteilten Bereichen, die in Schritt S330 geschätzt werden, in einen Merkmalsvektor integrieren und den Merkmalsvektor an die Stromschätzeinheit 260 ausgeben.
-
In Schritt S360 empfängt die Stromschätzeinheit 260, als Eingabe, sequenziell den durch die Integration in Schritt S350 erhaltenen Merkmalsvektor für jedes Rahmenbild bzw. Vollbild der in Schritt S310 erfassten Zeitreihenbilder, und schätzt sie den Strom der Objekte in jedem unterteilten Bereich basierend auf der empfangenen Eingabe.
-
8 veranschaulicht ein Beispiel der Detailkonfiguration der Stromschätzeinheit 260 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel. Wie es in 8 veranschaulicht ist, umfasst die Stromschätzeinheit 260 eine Interner-Zustand-Verwaltungseinheit 810, eine Interner-Zustand-Aktualisierungseinheit 820 und eine Ausgabewertberechnungseinheit 830. Die Interner-Zustand-Verwaltungseinheit 810 verwaltet letzte bzw. frühere interne Zustände, die in der Speichereinrichtung 120 gespeichert werden, und letzte bzw. frühere Ausgabewerte, die von der Stromschätzeinheit 260 ausgegeben werden. Die Interner-Zustand-Aktualisierungseinheit 820 empfängt, als Eingabe, sequenziell den Merkmalsvektor, der durch die Integration in Schritt S350 erhalten wird, für jedes Rahmenbild bzw. Vollbild der in Schritt S310 erfassten Zeitreihenbilder. Weiterhin aktualisiert die Interner-Zustand-Aktualisierungseinheit 820 den internen Zustand basierend auf den letzten bzw. früheren internen Zuständen und Ausgabewerten, die durch die Interner-Zustand-Verwaltungseinheit 810 verwaltet werden. Die Ausgabewertberechnungseinheit 830 berechnet den Ausgabewert durch Umwandlung des durch die Interner-Zustand-Aktualisierungseinheit 820 aktualisierten internen Zustand.
-
Die Stromschätzeinheit 260 kann die Funktionen, wie sie in 8 veranschaulicht sind, durch Verwendung eines langen Kurzzeitspeichers bzw. -gedächtnisses (LSTM) implementieren, der erörtert ist in Sepp Hochreiter und Jürgen Schmidhuber „Long Short-term Memory“, Neural Computation, 1997. Bei dem vorliegenden beispielhaften Ausführungsbeispiel gibt die Stromschätzeinheit 260 den durch die Ausgabewertberechnungseinheit 830 berechneten Ausgabewert als repräsentativen Bewegungsvektor für jeden unterteilten Bereich aus, der durch die Unterteilung in Schritt S320 erhalten wird. Die Stromschätzeinheit 260 stellt, als den Ausgabewert, den Wert ein, der durch Normierung eines Werts in dem vorbestimmen Wertebereich auf den Wertebereich [-1,1] erhalten wird.
-
9 ist ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung veranschaulicht, die durch die Stromschätzeinheit 260 durchzuführen ist. Die Verarbeitung, die durch die Stromschätzeinheit 260 gemäß dem vorliegenden beispielhaften Ausführungsbeispiel durchzuführen ist, wird nachstehend unter Bezugnahme auf 9 ausführlich beschrieben.
-
In Schritt S910 erzeugt die Interner-Zustand-Aktualisierungseinheit
820 einen neuen internen Zustand basierend auf dem von der Integrationseinheit
250 empfangenen Merkmalsvektor und den durch die Interner-Zustand-Verwaltungseinheit 810 verwalteten letzten bzw. früheren Ausgabewerten. Die Interner-Zustand-Aktualisierungseinheit 820 erhält einen neuen internen Zustand C' durch die folgende Formel (1) unter der Annahme, dass der von der Integrationseinheit 250 empfangene Merkmalsvektor zur Zeit t durch X
t dargestellt wird und der Ausgabewert zur letzten bzw. früheren Zeit (t-1) durch Y
t-1 dargestellt wird.
-
In Schritt S920 aktualisiert die Interner-Zustand-Aktualisierungseinheit
820 den internen Zustand basierend auf dem empfangenen Merkmalsvektor und den durch die Interner-Zustand-Verwaltungseinheit
810 verwalteten letzten bzw. früheren Ausgabewerten. Die Interner-Zustand-Aktualisierungseinheit
820 erfasst einen internen Zustand C
t durch die folgenden Formeln (
2) und (
3) unter der Annahme, dass der letzte bzw. frühere interne Zustand zur Zeit (t-1) durch C
t-1 dargestellt wird. In Formeln (
2) und (
3) stellt f
t einen Koeffizienten zur Steuerung des Vergessens bzw. Verlernens des letzten bzw. früheren internen Zustands dar, und nimmt f
t einen Wert in dem Wertebereich [0,1] an.
-
In Schritt S930 bestimmt die Interner-Zustand-Aktualisierungseinheit
820, wieviel bzw. in welchem Umfang/Maß der neue Zustand, der in Schritt S910 erhalten wird, zu speichern ist, basierend auf dem in Schritt S350 empfangenen Merkmalsvektor und dem durch die Interner-Zustand-Verwaltungseinheit
810 verwalteten letzten bzw. früheren Ausgabewert, und aktualisiert sie den internen Zustand. Der interne Zustand C
t wird durch die folgenden Formeln (
4) und (
5) aktualisiert. In den Formeln stellt i
t einen Koeffizienten zur Steuerung der Speicherung eines neuen internen Zustands dar, und nimmt i
t einen Wert in dem Wertebereich [0,1] an.
-
In Schritt S940 wandelt die Ausgabewertberechnungseinheit
830 den internen Zustand basierend auf dem empfangenen Merkmalsvektor und dem durch die Interner-Zustand-Verwaltungseinheit 810 verwalteten letzten bzw. früheren Ausgabewert in einen Ausgabewert um. Die Ausgabewertberechnungseinheit
830 berechnet einen Ausgabewert Y
t zur Zeit t durch die folgenden Formeln (
6) und (7). In den Formeln (
6) und (
7) stellt o
t einen Koeffizienten zur Steuerung der Ausgabe des aktualisierten internen Zustands dar, und nimmt o
t einen Wert in dem Wertebereich [0,1] an.
-
In den Formeln (1) bis (7) stellt [..,..] eine Kopplung bzw. Paarung von Merkmalsvektoren dar, stellt φ eine hyperbolische Tangensfunktion dar, und stellt σ eine sigmoidale Funktion dar. Außerdem sind wc, bc, wf, bf, wi, bi, wo und bo Parameter, die durch Vorablernen erhalten werden.
-
Wie es vorstehend erörtert ist, empfängt die Stromschätzeinheit 260, als Eingabe, sequenziell die Anzahl von Objekten in einer Vielzahl von unterteilten Bereichen von Zeitreihenbildern für jedes Rahmenbild bzw. Vollbild, und schätzt sie den Strom bzw. die Strömung/Bewegung von Objekten. Bei dem vorliegenden beispielhaften Ausführungsbeispiel verwendet die Stromschätzeinheit 260 nicht nur das Schätzergebnis der Anzahl von Objekten in jedem der unterteilten Bereiche, sondern auch Bewegungsmerkmale für jeden unterteilten Bereich, die aus den Zeitreihenbildern extrahiert werden, wodurch eine genaue Schätzung des Stroms bzw. der Strömung/Bewegung von Objekten ermöglicht wird.
-
Wie es in der Formel (5) gezeigt ist, umfasst der interne Zustand Ct das Element, das dem Merkmalsvektor Xt entspricht. Dementsprechend kann die Ausgabewertberechnungseinheit 830 das dem Merkmalsvektor entsprechende Element aus dem internen Zustand extrahieren und das Objektanzahlschätzergebnis in Schritt S330 aktualisieren. Das aktualisierte Objektanzahlschätzergebnis ist äquivalent zu dem Schätzergebnis, das durch Integration der Schätzergebnisse der Objektanzahlschätzeinheit 230 in einer Zeitreihe bzw. zeitlichen Folge erhalten wird, und somit kann ein genaueres und stabileres Schätzergebnis erhalten werden.
-
In Schritt S370 bestimmt die Bestimmungseinheit
270, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist, basierend auf einer Veränderung in dem Strom von Objekten in der Vielzahl von unterteilten Bereichen, der in Schritt S360 geschätzt wird. Bei dem vorliegenden beispielhaften Ausführungsbeispiel sei angenommen, dass eine Unregelmäßigkeit bzw. Anomalität auftritt, falls sich der Strom von Menschen schnell verändert hat. Zum Beispiel, wenn eine Person in einer Menschen-/Menge hingefallen ist, kann der Strom von Menschen in einer bestimmten Richtung in einem Bild nur in einem Bereich verzögert werden/sein, in dem die Person hingefallen ist, oder kann die Richtung des Stroms von Menschen verändert werden/sein. Die Bestimmungseinheit
270 erhält die Richtung des Stroms von Objekten aus den Horizontal- und Vertikalkomponenten des repräsentativen Bewegungsvektors, der von der Stromschätzeinheit
260 ausgegeben wird, und erhält auch eine Veränderung in der Richtung für jeden unterteilten Bereich. Eine Variation bzw. Schwankung Δθ
r,t in der Richtung, die zu erhalten ist, wird durch die folgende Formel (8) unter der Annahme ausgedrückt, dass repräsentative Bewegungsvektoren in einem Bereich r zur Zeit t und Zeit (t-1) durch (Vx
r,t, Vy
r,t) und (Vx
r,t-1, Vy
r,t-1) dargestellt werden.
-
In der Formel (8) stellt Atan eine Arkustangensfunktion dar.
-
Die Bestimmungseinheit 270 erhält die Variation bzw. Schwankung in der Richtung für jeden unterteilten Bereich durch die Formel (8) und bestimmt, ob die erhaltene Variation bzw. Schwankung einen vorbestimmten Schwellenwert überschreitet. Wenn die Bestimmungseinheit 270 bestimmt, dass die erhaltene Variation bzw. Schwankung den vorbestimmten Schwellenwert überschreitet, bestimmt die Bestimmungseinheit 270, dass eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist. Wenn die Bestimmungseinheit 270 bestimmt, dass die erhaltene Variation bzw. Schwankung den vorbestimmten Schwellenwert nicht überschreitet, bestimmt die Bestimmungseinheit 270, dass keine Unregelmäßigkeit bzw. Anomalität aufgetreten ist.
-
Bei dem vorliegenden beispielhaften Ausführungsbeispiel bestimmt die Bestimmungseinheit 270, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist, basierend auf einer Veränderung in der Richtung des Stroms von Objekten. Alternativ kann die Bestimmungseinheit 270 basierend auf einer Veränderung in der Richtung des Stroms von Objekten und einer Veränderung in der Größe bzw. dem Betrag/Maß des Stroms von Objekten bestimmen, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist. Ferner kann die Bestimmungseinheit 270 basierend auf einer Veränderung in der Richtung des Stroms von Objekten und der Anzahl von Objekten, die von der Objektanzahlschätzeinheit 230 ausgegeben wird, oder einer Veränderung in der Anzahl von Objekten bestimmen, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist. Außerdem kann die Bestimmungseinheit 270 die Verarbeitung zum Bestimmen, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist, gemäß einer vorbestimmten Regel oder durch Verwendung von einem vorab gelernten neuronalen Netzwerk oder LSTM durchführen.
-
In Schritt S380 zeigt die Anzeigeeinheit 280 die Verarbeitungsergebnisse von Schritten S330, S360 und S370 auf der Ausgabeeinrichtung 140 an. 10, 11 und 12 veranschaulichen jeweils ein Anzeigebeispiel von beispielhaften Verarbeitungsergebnissen von Schritten S330, S360 und S370. Die Anzeigeeinheit 280 führt eine Umschaltung bzw. einen Wechsel der in 10 bis 12 veranschaulichten Bildschirme gemäß einer Bedienung durch die Eingabeeinrichtung 130 durch. In 10 bezeichnet eine höhere Dichte bzw. Schwärzung in jedem unterteilten Bereich einen Bereich mit einer größeren Anzahl von Menschen. Jeder Pfeil in 11 stellt die Anzahl von Menschen in jedem unterteilten Bereich und die Richtung und Geschwindigkeit des Stroms von Menschen dar. Ein Pfeil mit einer breiteren Breite in 11 bezeichnet eine größere Anzahl von Menschen. Die Richtung von jedem Pfeil in 11 bezeichnet die Richtung des Stroms von Objekten. Ein Pfeil mit einer längeren Länge in 11 bezeichnet eine höhere Geschwindigkeit des Stroms von Objekten. Somit werden bei dem vorliegenden beispielhaften Ausführungsbeispiel die Anzahl von Objekten und der Strom von Objekten durch die Form eines Pfeils dargestellt. Anstelle der Verwendung eines Pfeils kann die Form einer anderen Graphik, wie etwa eines Segments, eines Dreiecks oder eines Rechtecks, verwendet werden, um die Anzahl von Objekten und den Strom von Objekten darzustellen. Ein Gebiet bzw. eine Fläche, das bzw. die durch eine gestrichelte Linie umgeben ist, in 12 stellt einen unterteilten Bereich dar, der als der Bereich identifiziert wird, wo bestimmt wird, dass eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist.
-
Wie es vorstehend beschrieben ist, schätzt bei dem vorliegenden beispielhaften Ausführungsbeispiel die Informationsverarbeitungsvorrichtung 100 die Anzahl von Objekten, die in jedem von einer Vielzahl von unterteilten Bereichen von Zeitreihenbildern umfasst sind, integriert sie die Schätzergebnisse für die Vielzahl von unterteilten Bereichen, und gibt sie die integrierten Schätzergebnisse sequenziell für jedes Rahmenbild bzw. Vollbild an die Stromschätzeinheit 260 aus, wodurch der Strom der Objekte geschätzt wird. Demzufolge kann die Informationsverarbeitungsvorrichtung 100 nicht nur die Anzahl von Objekten in den Zeitreihenbildern schätzen, sondern auch den Strom bzw. die Strömung/Bewegung von Objekten, indem sie die Informationen über die Anzahl von Objekten verwendet, und kann sie somit den Zustand von Objekten in dem Raum präzise erfassen.
-
Ferner kann die Informationsverarbeitungsvorrichtung 100 basierend auf einer Veränderung in dem Strom von Objekten bestimmen, ob eine Unregelmäßigkeit bzw. Anomalität aufgetreten ist.
-
Bei dem vorliegenden beispielhaften Ausführungsbeispiel sind die Objektanzahlschätzeinheit 230 und die Merkmalsextraktionseinheit 240 unter Verwendung eines neuronalen Netzwerks konfiguriert. Die Konfiguration der Objektanzahlschätzeinheit 230 und der Merkmalsextraktionseinheit 240 ist jedoch nicht darauf beschränkt. Zum Beispiel kann die Objektanzahlschätzeinheit 230 eine Methode zum Zählen der Anzahl von Menschen verwenden, die unter Verwendung eines Klassifikators zur Detektion einer Person detektiert werden. Die Merkmalsextraktionseinheit 240 kann einen Bewegungsvektor selbst als Bewegungsmerkmal extrahieren.
-
Ferner kann die Stromschätzeinheit 260 eine andere Methode verwenden, solange eine Methode verwendet wird, die den Strom von Objekten durch sequenzielles Eingeben, in einer Zeitreihe bzw. zeitlichen Folge, von Schätzergebnissen der Anzahl von Objekten in einer Vielzahl von unterteilten Bereichen schätzt. Bei dem vorliegenden beispielhaften Ausführungsbeispiel gibt die Stromschätzeinheit 260 den repräsentativen Bewegungsvektor für jeden unterteilten Bereich aus, aber kann sie stattdessen eine Wahrscheinlichkeit ausgeben, dass der Strom von Objekten, der für jeden unterteilten Bereich geschätzt wird, in jede Richtung gerichtet ist. Zum Beispiel kann die Stromschätzeinheit 260 die Richtung des Stroms von Objekten in acht Richtungen unterteilen und, an die Bestimmungseinheit 270, die Wahrscheinlichkeit ausgeben, dass der Strom von Objekten in eine jeweilige der acht Richtungen gerichtet ist, wodurch detailliertere Informationen bereitgestellt werden. In diesem Fall zeigt die Anzeigeeinheit 280, auf der Ausgabeeinrichtung 140, das durch die Stromschätzeinheit 260 erhaltene Schätzergebnis in einem Anzeigemodus an, wie er in 13 veranschaulicht ist. Die Anzeigeeinheit 280 kann die Wahrscheinlichkeit anzeigen, dass der Strom von Objekten in jede Richtung gerichtet ist, wie es in 13 veranschaulicht ist, wenn ein bestimmter Bereich in dem in 10 veranschaulichten Bildschirm, der das durch die Objektanzahlschätzeinheit 230 erhaltene Schätzergebnis bezeichnet, durch die Eingabeeinrichtung 130 bestimmt bzw. nominiert wird. In 13 stellt eine graue Fläche eine geschätzte Wahrscheinlichkeit in jeder Richtung dar.
-
Bei dem vorliegenden beispielhaften Ausführungsbeispiel gibt die Stromschätzeinheit 260 das Schätzergebnis aus, indem sie das Schätzergebnis auf der Ausgabeeinrichtung 140 durch die Anzeigeeinheit 280 anzeigt. Alternativ kann die Stromschätzeinheit 260 das Schätzergebnis ausgeben, indem sie das Schätzergebnis als Datei oder dergleichen in der Speichereinrichtung 120 speichert. Ferner kann die Stromschätzeinheit 260 das Schätzergebnis ausgeben, indem sie das Schätzergebnis an ein eingestelltes Benachrichtigungsziel überträgt.
-
Vorstehend wurde ein Beispiel beschrieben, in dem die Verarbeitung gemäß dem vorliegenden beispielhaften Ausführungsbeispiel für den Fall eingesetzt wird, dass eine Person aus einem Bild detektiert wird. Die Informationsverarbeitungsvorrichtung 100 kann jedoch auch die Anzahl von anderen Objekten als eine Person für jeden unterteilten Bereich schätzen und den Strom bzw. die Strömung/Bewegung der Objekte schätzen.
-
Während vorstehend beispielhafte Ausführungsbeispiele ausführlich beschrieben wurden, ist die vorliegende Offenbarung nicht auf spezielle beispielhafte Ausführungsbeispiele beschränkt. Ferner können die vorstehend beschriebenen beispielhaften Ausführungsbeispiele beliebig kombiniert werden.
-
Weitere Ausführungsbeispiele
-
Ausführungsbeispiele der vorliegenden Offenbarung können auch verwirklicht werden durch einen Computer eines Systems oder einer Vorrichtung, der computerausführbare Anweisungen (z.B. ein oder mehr Programme), die auf einem Speichermedium (das vollständiger auch als ein „nicht-vorübergehendes computerlesbares Speichermedium“ bezeichnet werden kann) aufgezeichnet sind, ausliest und ausführt, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, und/oder ein oder mehr Schaltungen (z.B. eine anwendungsspezifische integrierte Schaltung (ASIC)) zur Durchführung der Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele umfasst, sowie durch ein Verfahren, das durch den Computer des Systems oder der Vorrichtung durchgeführt wird, indem dieser zum Beispiel die computerausführbaren Anweisungen von dem Speichermedium ausliest und ausführt, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, und/oder die ein oder mehr Schaltungen steuert, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen. Der Computer kann ein oder mehr Prozessoren (z.B. Zentralverarbeitungseinheit (CPU), Mikroverarbeitungseinheit (MPU)) aufweisen und kann ein Netzwerk separater Computer oder separater Prozessoren umfassen, um die computerausführbaren Anweisungen auszulesen und auszuführen. Die computerausführbaren Anweisungen können an den Computer zum Beispiel von einem Netzwerk oder dem Speichermedium bereitgestellt werden. Das Speichermedium kann zum Beispiel ein oder mehr von einer Festplatte, einem Direktzugriffsspeicher (RAM), einem Festwertspeicher (ROM), einem Speicher verteilter Rechensysteme, einer optischen Platte (wie etwa einer Compact Disc (CD), einer Digital Versatile Disc (DVD) oder einer Blu-ray Disc (BD)™), einer Flashspeichervorrichtung, einer Speicherkarte und dergleichen umfassen.
-
Während beispielhafte Ausführungsbeispiele beschrieben wurden, ist es selbstverständlich, dass die vorliegende Offenbarung nicht auf die offenbarten beispielhaften Ausführungsbeispiele beschränkt ist. Dem Umfang der folgenden Patentansprüche ist die breiteste Auslegung zuzugestehen, so dass alle derartigen Modifikationen und äquivalente Strukturen und Funktionen umfasst sind.
-
Eine Informationsverarbeitungsvorrichtung umfasst eine erste Schätzeinheit, die konfiguriert ist zum Schätzen der Anzahl von Objekten, die in jedem von einer Vielzahl von eingestellten Bereichen vorhanden sind, für jedes von einer Vielzahl von Bildern, die in einer Zeitreihe aufeinanderfolgen, und eine zweite Schätzeinheit, die konfiguriert ist zum Schätzen eines Stroms der Objekte, die in jedem von der Vielzahl von Bereichen vorhanden sind, basierend auf einem Ergebnis der Schätzung für jedes von der Vielzahl von Bildern durch die erste Schätzeinheit.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2015103104 [0004, 0005]
- JP 201222370 [0005]