Betrachten wir einige gemeinsame Lösungen des russischen Integrators Larga Group und der Entwickler von Objektvideoanalysesystemen , ComBox Technology .
Aufgabe:
- Implementierung von Fahrgastschaltern in Bussen, um die Anzahl der verkauften Fahrkarten zu kontrollieren und Statistiken über Verkehrsstaus im Kontext der Strecke zu erhalten.
- Fahrerkontrolle (Raucherkennung und Nutzung von Mobiltelefonen).
Bedingungen:
- Rückschluss auf neuronale Netze und Durchführung von Analysen "am Rande" zur Minimierung des Datenverkehrs und aufgrund der Instabilität und der hohen Kosten von Kommunikationskanälen.
- Möglichkeit der gemeinsamen und getrennten Verwendung verschiedener Detektoren (Skalierbarkeit).
- Datenübertragung zur Weiterverarbeitung über Mobilfunkkanäle.
Als Lösung haben wir uns für AAEON VPC-3350S entschieden, da dieses Gerät die folgenden Eigenschaften aufweist, die für uns wichtig sind:
- Eingebautes LTE-Modul.
- VPU erweiterbar mit Intel MyriadX Accelerator.
- Integrierte Intel HD Graphics 500, die Hardware-Decoder und -Codierer zur Verarbeitung von Videostreams verwenden kann.
- Mehrere LAN-Ports für den direkten Anschluss von Netzwerkkameras, ohne dass ein Switch installiert werden muss.
- Breiter Betriebstemperaturbereich (-20 + 70).
AAEON VPC-3350S
Betrachten wir den ersten Fall einer separaten Anwendung von Detektoren. Im Bereich Carsharing gibt es bereits Strafen in Form von Geldstrafen für das Rauchen in den Salons von Mietwagen. Die Höhe der Geldbuße variiert je nach Unternehmen zwischen 5 und 15 Tausend Rubel. Im Vergleich zu Objektvideoanalysen und Raucherkennungssensoren nehmen die Sensoren keine Dämpfe und andere Geräte für Rauchmischungen auf und sind auch bei geöffneten Autofenstern praktisch unempfindlich. Dies negiert jedoch nicht die Tatsache des Verstoßes und dementsprechend die rechtliche Bestrafung in Form einer vertraglichen Geldbuße.
Darüber hinaus können beim Transport mehrere neuronale Netze (nacheinander) kaskadiert werden, z. B. die Raucherkennung und die Erkennung der Tatsache / Zeit der Verwendung eines Mobiltelefons. Es ist klar, dass weitere derartige Systeme skaliert werden sollten, beispielsweise durch die Integration von Telematik und die Verbindung zum CAN-Bus des Autos, um die Verwendung von Telefonen nur zu verfolgen, wenn sich das Fahrzeug bewegt, aber dies sind bereits Integrationsdetails.
Ein anschauliches Beispiel dafür, was wir spezifisch erkennen und was wir als Ergebnis erhalten:
Demonstration an Bots im Telegramm (Eingabe - ein Bild von einer Smartphone-Kamera oder von einer Galerie, Ausgabe - Wahrscheinlichkeit):
Insbesondere ist unsere Version des AAEON VPC-3350S mit einem Intel Atom x5 E3940-Prozessor ausgestattet. Bei Bedarf können Sie zusätzlich Erweiterungskarten mit Intel MyriadX installieren und die Inferenz neuronaler Netze ohne wesentliche Änderungen an VPU übertragen, da das Intel OpenVINO-Framework verwendet wird.
Betrachten wir die Inferenzgeschwindigkeit (FP16) auf verschiedenen Geräten, einschließlich CPU, iGPU (Intel HD) AAEON VPC-3350, VPU Intel Movidius und Lösungen anderer Hersteller:
Inferenzgeschwindigkeit (FP16) auf verschiedenen Geräten, einschließlich CPU, iGPU (Intel HD) AAEON VPC -3350, VPU Intel Movidius und Lösungen von Drittanbietern
Auf der iGPU-Grafik des Intel Atom x5 E3940-Prozessors erhalten wir 54 FPS und ergänzen das Intel Movidius VPU-Gerät - weitere 45 FPS. Für die Raucherkennung reichen 15 FPS / Kamera aus, sodass bis zu 3 Threads auf einer Prozessorgrafik verarbeitet werden können. Es sollte auch berücksichtigt werden, dass zusätzlich zur Zuweisung und Verwendung von Ressourcen für Inferenzen der eingehende RTSP-Stream dekodiert werden muss.
Schauen wir uns die Decodertests an: AAEON VPC 3350-Decodertest
Bei maximaler CPU- und Grafiklast decodieren wir 30 720p-Streams mit 15 FPS, dh wir erhalten 450 Frames für 720p. Für 1080p sind das ungefähr 150 Frames.
Betrachten wir die Zusammensetzung des Kits für Carsharing und die Hauptschritte der Datenverarbeitung:
- Das Auto ist mit IP-Kameras ausgestattet, die mit Ethernet und PoE betrieben werden (eine für den Fahrer oder zwei: Fahrer, Beifahrer).
- , AAEON NVR 3350.
- .
- .
- ( ). . , , 50%, ( ).
- /.
- (10 ), . :
- ,
- .
- Fahrzeugkennung (statische GUID)
- Kameranummer (0, 1)
- Ereignistyp
- Ereignisdaten zur Verfügbarkeit von 3G / LTE werden mit Integration in das vorhandene Carsharing-Informationssystem für Abrechnungsvorgänge an den zentralen Datenverarbeitungsserver übertragen.
Kehren wir zum zweiten Fall der Verwendung von AAEON VPC-3350S zurück - Erkennung und Zählung von Fahrgästen in Bussen:
Arbeitsschritte:
- Vorbereitende Arbeiten (Testen von Kameras, Auswahl einer Brennweite, Festlegen der Randbedingungen des Problems):
- Markieren von 600 Bildern von mehreren Kameras mit unterschiedlichen Brennweiten
- Neuronales Netzwerktraining auf nVidia GPU, 10.000 Schritte
- Testen eines Modells anhand eines Validierungsdatensatzes
- Konvertieren eines Modells in Intel OpenVINO
- Testen des resultierenden Modells in Intel OpenVINO mithilfe eines Validierungsdatensatzes, Vergleichen von Qualität und Geschwindigkeit mit dem Modell vor der Konvertierung
- , (, CPU, VPU)
- ( + )
- , 20 .
- nVidia GPU
- OpenVINO
- :
- gstreamer/ffserver
- (, , , )
- mongoDB/PostgreSQL
- REST API
- « »
Direkt der Lernprozess:
Schnittstelle des persönlichen Kontos der Larga Group für Kunden mit Anzeige von Berichten über den Passagierverkehr:
Schnittstelle des persönlichen Kontos der Larga Group für Kunden mit Anzeige von Berichten über den Passagierverkehr
Persönliches Konto für Kunden mit Anzeigen von Berichten zum Passagierverkehr
Der Prozess der Erkennung von Personen im Buseingangsbereich und der Markierung der Zonen
Der Algorithmus des Zählers:
- Schneiden eines RTSP-Streams in Frames
- Kopferkennung auf jedem Bild
- Trajektorienanalyse (Halten Sie den Kopf während der Bewegung im Rahmen)
- Analyse der Bewegungsrichtung anhand der Schnittfolge von 3 vormarkierten Zonen
- Aufzeichnen von Ereignissen in der lokalen Datenbank unter Berücksichtigung der Bewegungsrichtung (Ein- / Ausstieg)
- Bereitstellung des Zugriffs über die REST-API auf Informationssysteme und Berichtssysteme von Drittanbietern
Da zunächst eine hybride Lösung für die Inferenz neuronaler Netze (Rand und Verarbeitung eines Teils der Daten im Rechenzentrum) angenommen wurde, werden wir die Vor- und Nachteile beider Ansätze berücksichtigen:
So erhalten wir die minimalen Kosten des Flusses im Rechenzentrum mit zentraler Verarbeitung, aber hohen Anforderungen an die Verfügbarkeit hochwertiger und schneller Kanäle Kommunikation. Für Edge-Lösungen - höhere Kosten, aber minimale Anforderungen an Kommunikationskanäle und keine Anforderungen an deren Reservierung.