Projekte

Raspberry Video Camera – Teil 27: Was kostet der Spaß?

26 Artikel lang ging es um Hard- und Software – jetzt reden wir über Geld. Was kommt denn so zusammen, wenn wir uns eine Raspberry Video Cam bauen wollen. Ich sag es gleich, mit der kommerziellen Wildkamera, die ich unten beispielhaft mal ausgewählt habe, kann der Selbstbau preislich nicht konkurrieren. Und dazu kommt ein erheblicher Aufwand an mechanischen Arbeiten und zur Anpassung der Software. Aber im Gegensatz zum Kauf eines Fertigprodukts ist die Raspberry Video Kamera ein richtiges Do-It-Yourself Projekt und wir haben vollen Einfluss auf die Hardware und vor allem auf die Steuer-Software. Also Leute, die eine individuelle Lösung brauchen, sollten durchaus über den Eigenbau nachdenken. (mehr …)

Raspberry Video Camera – Teil 26: Optimierungen gegen Frame Drops

Wer kennt das? Die Raspberry Video Camera zeichnet ein Full-HD Video auf, aber wenn man es sich danach anschaut, gibt es gelegentlich einen Sprung im Filmablauf, als ob kurze Sequenzen fehlen würden. Kurze Sequenzen, das können einzelne Frames sein, die gar nicht auffallen oder auch einmal Aussetzer über mehrere Sekunden. Frame Drops also Bilder, die bei der Aufnahme verloren gegangen sind. Wer so etwas bei seinen Versuchen mit der Raspi Cam nicht beobachtet, der kann glücklich sein und diesen Artikel getrost überspringen. Für alle anderen teste und bewerte ich hier eine Anzahl von Tuningmaßnahmen, um die Frame Drops zu minimieren. (mehr …)

Raspberry Video Camera – Teil 25: Zweite Kamera

Seit den ersten Tagen der Raspberry Video Cam gibt es das Konzept der Multi-Kamera-Fähigkeit. Nun wird es Zeit, dass ich auch hier im Blog endlich vorstelle, wie sich eine zweite (und dritte und vierte) Kamera zuschalten lässt. Dabei geht es vor allen Dingen darum, dass eine Kamera das Triggern übernimmt und weitere abhängige Kameras auf dieses Auslösesignal reagieren. Damit wird erreicht, dass eine Szene gleichzeitig aus mehreren Blickwinkeln aufgenommen wird. Später kann dann ein Video aus dem Material von mehreren Kameras geschnitten werden. (mehr …)

Raspberry Video Camera – Teil 24: Anpassung von Programmparametern

Diesmal stelle ich keine neue Programmversion für die Raspberry Pi Video Cam vor, sondern gehe im Detail auf all die Konstanten ein, die sich inzwischen am Programmanfang angesammelt haben. Damit möchte ich all jene, die mein Python-Programm ausprobieren, ermutigen selbst Parameter zu verändern. Dadurch lassen sich Anpassungen an die eigenen Gegebenheiten vornehmen und an die Tiere, die erkannt und gefilmt werden sollen. Parameter-Tuning ist auch sinnvoll um die Erkennungsrate zu steigern um möglichst kein Tier zu verpassen. (mehr …)

Raspberry Video Camera – Teil 23: Verbesserung durch ROI und Aufnahmezeitbegrenzung

Auch ein gutes Programm lässt sich weiter verbessern und zwei solche Verbesserungen für die selbstlernende Farberkennung schlage ich hier vor: ROI steht hier nicht für „Return on Investment“ sondern für Region of Interest. Und das bedeutet, dass wir für die Farberkennung nicht mehr das gesamte Bild verwenden, sondern nur eine bestimmte Region, in der wir das Auftauchen eines Objekts vermuten. Das ist Thema 1 und die zweite Verbesserung führt eine generelle Aufnahmezeitbegrenzung für Videos ein um endlos lange Recordings zu vermeiden. Beide Verbesserungen können hilfreich sein, sind aber sicher nicht in jeder Umgebung sinnvoll. (mehr …)

Raspberry Video Camera – Teil 22: SW selbstlernende Farberkennung in Python

Konzeptionell habe ich die selbstlernende Farberkennung zur Kameraauslösung im letzten Artikel bereits besprochen. Nun geht es um die Realisierung in Form eines Python-Programms für den Raspberry Pi. Dabei baue ich auf dem zuletzt besprochenen Kombinationstrigger-Programm auf und erweitere es um ein paar zusätzliche Komponenten. Damit ist es künftig nicht mehr nötig, Farbbereiche für die Erkennung von Hand zu definieren. Das Programm wird die Farben selbständig anhand von Beispielbildern lernen und diese dann verwenden um die Kamera zu triggern. (mehr …)

Raspberry Video Camera – Teil 21: Konzept einer selbstlernenden Farberkennung

Damit ein Programm die Farben eines Objekts in den Videobildern erkennen kann, muss das Programm erst mal wissen, nach welchen Farben es suchen soll. Bisher hatten wir das von Hand gemacht und die typischen Farben der Eichhörnchen aus den Histogrammen von Beispielbildern abgelesen. Wie wäre es nun, wenn das Trigger-Programm das selbst erledigt und anhand einiger bereitgestellter Beispielbilder die Objektfarben erlernt? Und wie wäre es weiterhin, wenn das Programm laufend den Bildhintergrund analysiert, der sich über den Tag sonnenlichtbedingt ändert, und dessen aktuelle Farben in die Auswertung mit einbezieht? In diesem Artikel stelle ich ein paar Konzepte für eine selbstlernende Farberkennung vor, im nächsten folgt dann das entsprechende Python-Programm. (mehr …)

Raspberry Video Camera – Teil 20: Exkurs – Farbdarstellung per 2D-Histogramm

Farbhistogramme helfen bei der Beurteilung, welche Farben wie häufig in einem Bild vertreten sind. Vereinfacht ausgedrückt zumindest. Eindimensionale Histogramme haben wir bei der Farbkalibrierung des Python-Kamera-Triggerprogramms bereits verwendet. Für die drei HSV-Farbkanäle Hue, Saturation und Value, hatten wir zu diesem Zweck drei Histogramme generiert und daraus die Grenzen der Eichhörnchenfarben abgelesen. Nun stelle ich das 2D-Histogramm vor, mit dem wir zwei Kanäle gleichzeitig berechnen und visualisieren können – typischerweise Hue und Saturation. (mehr …)

Raspberry Video Camera – Teil 19: SW Kombinationstrigger

Das automatische Auslösen der Raspberry Video Camera bleibt weiterhin das Thema. In den vorangegangenen Artikeln hatte ich die Kamerasteuerung per Bewegungssensor vorgestellt und dann die Farberkennung aus dem Videobild heraus. Beides sind brauchbare Trigger, wenn es darum geht, ein Objekt vor der Kamera zu erkennen, aber sie haben auch ihre spezifischen Nachteile. Wie wäre es nun, wenn wir die beiden Methoden kombinieren, von den jeweiligen Vorteilen profitieren, Nachteile ausgleichen und so die Objekterkennung noch treffsicherer machen? In diesem Artikel kombiniere ich die Farbauswertung mit den Signalen des PIR-Bewegungssensors. (mehr …)

Raspberry Video Camera – Teil 18: SW Farbkalibrierung

Die Raspberry Video Camera soll genau dann ein Video aufzeichnen, wenn ein Eichhörnchen ins Bild kommt. Und das soll ein Python-Programm anhand der typischen Farben der Eichhörnchen erkennen. Das Münchner Oachkatzl ist entweder rotbraun, wie der Kamerad hier im Titelbild, oder dunkelbraun. Beide haben weißes Brust- und Bauchfell. Darauf muss das Programm, das den Videodatenstrom analysiert, natürlich eingehen und ständig das Videobild auf die Eichhörnchenfarben hin untersuchen. Wie das softwaretechnisch funktioniert, haben wir im entsprechenden Python-Programm bereits gesehen. Aber woher bekommen wir die Zahlen für die Farbwerte? Genau diese Frage wird in diesem Artikel beantwortet. (mehr …)