Die OpenMV Cam ist wie ein superstarkes Arduino Board mit einer Kamera. Dieses Kameraboard kannst du in Python programmieren. Es vereinfacht es dir, Machine-Vision-Algorithmen zu testen, so dass du unter anderem z.B. Farben verfolgen, Gesichter erkennen, Objekte detektieren kannst. Auch ist es Möglich über I/O-Pins wie beim physical Computing andere elektrische Teile anzusteuern. So du kannst du einen Mikrokontroller mit einem visuellen Sensor nutzen.

Prolog

Die OpenMV Cam ist eine Machinevision Kamera die es erlaubt einen visuellen Sensor selber zu trainieren. In diesem Recipie gehen wir durch was für Software du brauchst um deine Cam zu Programmieren, schauen uns einige Beispiele aus der IDE an.

Was ist Machine Vision?

Machine Vision / Computer Vision versucht die von Kameras aufgenommenen Bilder auf unterschiedlichste Art und Weise zu verarbeiten und zu analysieren. In einfachen Worten: Man versucht dem Computer über Kameras das «sehen» beizubringen oder zumindest etwas visuelles zu erkennen. Je nach Programm, dass auf dieser Kamera genutzt wird, kann sie «erkennen» ob sich in ihrem Blickfeld zum Beispiel ein Objekt, eine bestimmte Farbe, ein Gesicht oder ein QR oder Bar Code befindet. Basierend auf dieser Analyse des Bildes kann dann etwas ausgelöst werden, z.B. könnte ein Gesicht erkannt werden, ein QR Code gelesen werden usw. Diese Technologie wird häufig ganz unterschiedlich genutzt, um einige Beispiele zu nennen:

  • zu Messen:
    • Qualitätskontrollen in Produktionen durchführen (sind alle Bauteile an diesem Produkt angebracht / enthalten, hat es die richtigen Dimensionen ect.)
    • Welche Farbe hat ein Objekt vor der Kamera
  • zu Zählen:
    • Lagerbestände überprüfen (wieviele Kisten stehen im Regal),
    • Personen oder Autos zu zählen (wieviele Personen / Autos passieren einen Blickwinkel)
  • zu Detektieren / Lokalisieren:
    • Ist eine Person, ein Tier oder ein Objekt im Bild wenn ja wo?
    • Auch zur Identifikation von Personen werden solche wenn auch weitaus komplexere Algorhitmen eingesetzt.
  • zu Dekodieren:
    • Barcode, QR Code, Analoge Ziffern z.B. Stromzähler auslesen

Anwendungsbeispiele

Um dir ein paar wenige Beispiele für die Anwendung von Machine Vision Algorithmen konkrete Beispiele zu geben: Befindet sich ein vorher festgelegtes und trainiertes Objekt im Blickwinkel einer Kamera kann unterschiedliches ausgelöst werden. z.B. könnten Erntemaschinen Früchte an Pflanzen lokalisieren und Pflücken, ein Legodetektor, der das richtige Teil in einem Haufen Legos finden, Vögel beim Grenzüberflug zu detektieren oder illegal eingesetzte Munition in Kriegsgebieten auf Bildern zu detektieren.

OpenMV Cam

Die Einsatzgebiete für Machine Vision sind sehr breit und können in die unterschiedlichsten Richtungen genutzt werden. Das Tolle an der OpenMV Cam ist, dass sie dir einen relativ einfachen Einstieg in solch eine Technologie ermöglicht.

Hardware

Die OpenMV Cam eine Kamera die je nach Modell ausgetauscht werden kann im MediaDock haben wir die Standard Kamera und eine FLIR Infrarotkamera die du nutzen kannst. An der Seite siehst du die Pins der Kamera diese können genutzt werden um wie bei einem Arduino Board oder einem Raspberry Pi um eine Kommunikation mit externen Komponenten (z.B. Motoren, andere Sensoren ect.) herzustellen.

Spezifikationen

Die detaillierten Spezifikationen zu den Kameras die wir im MediaDock haben findest du hier:

OpenMV Cam H7 Plus

Software

OpenMV IDE

In der OpenMV IDE kannst du die Programme schreiben und testen. Die Programmiersprache die für die Cam genutzt wird ist Python 3. In der IDE stehen dir wie auch in der Arduino Library verschiedene Beispiele zur Verfügung. Die IDE kann hier kostenlos herunter geladen werden:

Erste Versuche

Dieses Video bietet einen guten Startpunkt um erste versuche mit der OpenMV Cam zu starten.

Beispiele in der IDE

Die Meisten Beispiele findest du direkt in der IDE im Menupunkt: Datei > Examples.

Die OpenMV Cam kann unter anderem für die folgenden Dinge verwendet werden (mehr in Zukunft). Detailliertere Infos und Videos findest du auf dieser Seite unter Applications: https://openmv.io/products/openmv-cam-h7-plus

Micropython Dokumentation

Die Dokumentation findest du hier:

https://docs.openmv.io/library/omv.tf.html

Autor: teammediadock