Selbstentwickeltes Verkehrszählsystem STC (Teil 1)

2011 begann ich ein eigenes, einfaches Verkehrszählsystem zu entwickeln, welches auf einer simplen IP Kamera aufbaut. In losen Abständen berichte ich nun etwas detaillierter wie diese ’simple‘ Lösung funktioniert.

STC Simple Traffic Count System

Bereits seit dem 1. August 2012 werden die Verkehrsdaten erfasst und auf meiner Info Webseite „Lufingen Info“ grafisch angezeigt.

Ausgangslage

STC ist ein einfaches Messsystem welches Fahrzeuge ab der grösse eines Töffs bis zu LKW’s vollautomatisch während 24 Std. und 7 Tagen in der Woche zählt. Die Lösung soll besonders für Privatanwender zahlbar und selbst realisierbar sein. Das Messsystem muss auf privatem Grund installierbar sein, weil man an öffentlichen Strassen kaum eine Bewilligung zur Montage bekommen würde.

Lösungsansatz

Nach intensiver Recherche wurde mir klar, dass nur ein optisches System mittels Webkamera oder ähnlichem in Frage kommt. Klassische Messungen mittels Induktionsleitungen, Druckmessleitungen oder gar Radar schlossen sich, nur schon wegen der grossen Distanz von 75 Metern zur Strasse, aus.

Grobschema

Zu Beginn zeige ich das ganze Konstrukt als Blockschema:STC Verkehrszählung Blockschema

(1) Ein Fahrzeug (40 Tönner) fährt über die Birchrainstrasse in Richtung Lufinger Deponie
(2) Die IP Kamera nimmt den LKW auf und leitet das Bild über das Netzwerk weiter
(3) Der Windows Server empfängt das IP Videosignal und übergibt dieses an die Erkennungssoftware
(4) Die Software erkennt Bewegungen und kickt je nach Fahrtrichtung ein PHP Script an
(5) Die beiden PHP Scripts haben die Aufgabe die erfasste Bewegung, Richtung und Messzeit in eine mySQL Datenbank zu schreiben
(6) Auf dem mySQL Server wird pro Bewegung ein Eintrag erstellt. Ein weiteres Script konsolidiert die Daten in einer separaten Datenbank auf Tageswerte
(7) Auf der Homepage ruft ein PHP Script die notwendigen Daten ab und liefert dieses an das Google Chart Tool weiter. Die interaktive Grafik gibt die Messdaten aus.

Das ‚Auge‘ des STC Systems: Die IP Kamera

Zu Beginn des Projektes verwendete ich eine W-LAN IP Kamera Axis 207W. Die Kamera hat eine Auflösung von 640*480 Pixeln bei max. 30 Bildern pro Sekunde. Das funktionierte erstaunlich gut. Leider ertrug die Indoor Kamera das Aussenklima irgendwann nicht mehr so gut und gab ihren Geist auf.

Als Nachfolger übernahm eine Vivotek IP8332 die Aufgabe. Die Kamera hat eine Auflösung von 1280*800 bei max. 25 Bildern pro Sekunde. Diese Outdoor Kamera erfasst auch aktuell noch den Verkehr auf der Birchrainstrasse. Die Speisung erfolgt über einen PoE Switch (Power over Ethernet) und ist somit per Netzwerkkabel verbunden. Durch den Wegfall von W-LAN wurde die Gefahr von Ausfällen durch Funkstörungen gänzlich eliminiert.

Wegen der höheren Auflösung hat die Kamera eine tiefere Bilderrate. Die Auswertungssoftware benötigt jedoch eher eine höhere Bildwiederholrate als eine hohe Auflösung.

Irgend wann möchte ich noch die wesentlich schnellere Vivotek IP8330 ausprobieren. Die Kamera hat ’nur‘ eine VGA (640*480) Auflösung, liefert dafür bis zu 60 Bilder pro Sekunde! Früher war diese Kamera doppelt so teuer wie jetzt. Darum kaufte ich mir die IP8332. Zudem habe ich schon fünf dieser Kameras im Dauereinsatz.
Alternativ könnte ich mir auch eine Kamera mit einem Zoom Objektiv vorstellen. Denn der überwachte Bildbereich beträgt weniger als ein Viertel des abgelieferten Kamerabildes. Das kommt daher, weil die meisten Kameras eher weit-winklige Objektive besitzen.

So ’sieht‘ die Kamera den Verkehr:

LKW auf dem Weg zur Deponie Lufingen
STC - LKW fährt nach oben

Grauer PKW auf grauer Strasse. Kein Problem für die Erkennungssoftware.
STC - PKW fährt nach oben

Dunkler PKW in Richtung Lufinger Hauptstrasse
STC - PKW fährt nach unten

Datenschutz

Die Kamera filmt zwar eine öffentliche Strasse und einen Teil unserer Nachbarschaft. Da die Bilder jedoch nicht veröffentlicht werden liegt keine Datenschutz-Verletzung vor. Die hier im Blog gezeigten Bilder enthalten keine Personen und keine erkennbaren Fahrzeuge. Das Videobild wird einzig für die Fahrzeugerkennung benutzt. Es wird kein Livestream ins Internet publiziert und die Filmsequenzen werden nicht aufgezeichnet.

Im zweiten Teil verrate ich, welche Software die Bewegungserkennung übernimmt und wo die grössten Schwächen dieser Lösung liegen. Weitere Berichte werden den Aufbau der mySQL Datenbank dokumentieren. Auch über Google Chart gibt es noch einiges zu berichten.