Die OpenMV Cam ist eine kleine, energieeffiziente Mikrocontroller-Platine, die es ermöglicht, Anwendungen mit maschinellem Sehen in der realen Welt einfach umzusetzen. Sie programmieren die OpenMV Cam in hochwertigen Python-Skripten (dank des MicroPython-Betriebssystems) anstelle von C/C++. Dies erleichtert den Umgang mit den komplexen Ausgaben von Maschinensehen-Algorithmen und das Arbeiten mit hochwertigen Datenstrukturen. Dennoch behalten Sie die vollständige Kontrolle über Ihre OpenMV Cam und deren I/O-Pins in Python. Sie können problemlos das Aufnehmen von Bildern und Videos durch externe Ereignisse auslösen oder Maschinensehen-Algorithmen ausführen, um zu bestimmen, wie Ihre I/O-Pins gesteuert werden sollen.
Die OpenMV Cam bietet folgende Funktionen:
- STM32H743VIARM Cortex M7 Prozessor mit 480 MHz Taktfrequenz, 1 MB SRAM und 2 MB Flash-Speicher. Alle I/O-Pins liefern 3,3 V und sind 5 V tolerant. Der Prozessor verfügt über folgende I/O-Schnittstellen:
- Eine vollständige USB-Schnittstelle (12 Mbit/s) zu Ihrem Computer. Ihre OpenMV-Kamera erscheint als virtueller COM-Port und als USB-Speicherstick, wenn sie angeschlossen wird.
- Ein μSD-Kartensteckplatz mit Lese-/Schreibgeschwindigkeiten von bis zu 100 Mbit/s, der es Ihrer OpenMV-Kamera ermöglicht, Bilder aufzunehmen und maschinelle Bildverarbeitungsdaten mühelos von der μSD-Karte zu laden.
- Ein SPI-Bus, der mit bis zu 80 Mbit/s betrieben werden kann, ermöglicht es Ihnen, Bilddaten problemlos vom System zum LCD-Shield, zum WiFi-Shield oder zu einem anderen Mikrocontroller zu streamen.
- Ein I2C-Bus (bis zu 1 Mb/s), ein CAN-Bus (bis zu 1 Mb/s) und ein asynchroner serieller Bus (TX/RX, bis zu 7,5 Mb/s) zur Verbindung mit anderen Mikrocontrollern und Sensoren.
- Ein 12-Bit-ADC und ein 12-Bit-DAC.
- Drei I/O-Pins für Servosteuerung.
- Unterbrechungen und PWM auf allen I/O-Pins (das Board verfügt über 10 I/O-Pins).
- Und eine RGB-LED sowie zwei Hochleistungs-850-nm-IR-LEDs.
- Ein abnehmbares Kameramodulsystem mit Unterstützung für 8-Bit-Parallelschnittstelle, das es der OpenMV Cam H7 ermöglicht, mit verschiedenen Sensoren zu kommunizieren:
- Die OpenMV Cam H7 wird mit einemMT9M114Der Bildsensor ist in der Lage, 640x480 8-Bit-Graustufenbilder oder 640x480 8-Bit-BAYER-Bilder mit 40 FPS aufzunehmen, wenn die Auflösung über 320x240 liegt, und mit 80 FPS, wenn sie darunter liegt. Die meisten einfachen Algorithmen laufen bei QVGA-Auflösungen (320x240) und darunter mit 40–80 FPS. Ihr Bildsensor wird mit einem 2,1-mm-Objektiv an einem standardmässigen M12-Objektivgewinde geliefert. Wenn Sie speziellere Objektive mit Ihrem Bildsensor verwenden möchten, können Sie diese problemlos selbst kaufen und anbringen.
- Für professionelle Machine-Vision-Anwendungen können Sie unserGlobal Shutter Kamera-Modul MT9V034SingTown.
- Für Infrarot-Thermografie-Anwendungen im Bereich der maschinellen Bildverarbeitung können Sie unserFLIR Lepton WärmebildmodulSingTown.
- 3.7-V-Lithium-Ionen-Batterieanschluss, Sie können unseren SingTown erwerben3.7V-1000MAH Lithium-Ionen-Akku
Für weitere Informationen zur OpenMV Cam besuchen Sie bitte:https://singtown.com/openmv/
Anwendungen
Derzeit kann die OpenMV-Kamera für Folgendes eingesetzt werden (weitere Anwendungen folgen):
- Neuronales Netzwerk Objekterkennung
- Mit OpenMV können Sie neuronale Netze für die Objekterkennung trainieren, um beliebige Ziele zu detektieren. Beispielsweise können verschiedene Zahlen, Früchte, Markierungen, Bauteile oder spezifische unregelmässige Objekte trainiert werden, um die Anzahl, Koordinaten und Objekttypbezeichnung spezifischer Ziele zu identifizieren.
- Sie können Verkehrsschilder auf unseren tatsächlichen Strassen anhand unserer Videoanleitungen erkennen, wie beispielsweise Hupverbot, Parkverbot, Geschwindigkeitsbegrenzung 80 usw./learn/50918
- Neuronales Netzwerk Klassifikation
- Mit OpenMV können Sie neuronale Netze für die Objekterkennung trainieren, um beliebige Ziele zu detektieren. Beispielsweise können verschiedene Zahlen, Früchte, Markierungen, Bauteile oder spezifische unregelmässige Objekte trainiert werden, um die Anzahl, Koordinaten und Objekttypbezeichnung spezifischer Ziele zu identifizieren.
- Es kann basierend auf unserem Video-Tutorial klassifizieren, ob eine Person eine Maske trägt./learn/50872
- TensorFlow Lite für Mikrocontroller
- TensorFlow Lite-Unterstützung ermöglicht es Ihnen, benutzerdefinierte Bildklassifizierungs- und Segmentierungsmodelle auf der OpenMV Cam auszuführen. Mit TensorFlow Lite können Sie komplexe Bereiche im Bild mühelos klassifizieren und die 1/0-Pins basierend auf dem, was Sie sehen, steuern.
- Frame Differencing
- Sie können den Frame-Differencing-Algorithmus auf der OpenMV Cam verwenden, um Bewegung in einer Szene zu erkennen. Frame-Differencing kann für Sicherheitsanwendungen eingesetzt werden.
- Farbverfolgung
- Mit OpenMV können Sie bis zu 16 Farben gleichzeitig in einem Bild erkennen (obwohl Sie nie mehr als 4 Farben finden möchten), und jede Farbe kann eine beliebige Anzahl verschiedener Blobs aufweisen. OpenMV informiert Sie über die Position, Grösse, Mitte und Ausrichtung jedes Blobs. Mithilfe der Farbverfolgung kann Ihre OpenMV-Kamera programmiert werden, um die Sonne zu verfolgen, Linien zu folgen, Ziele zu verfolgen und mehr. Videodemo:/learn/49993
- Marker Tracking
- Mit OpenMV Cam können Sie Farbgruppen anstelle einzelner Farben erkennen. Dies ermöglicht es, Farbmarkierungen (Etiketten mit zwei oder mehr Farben) auf Objekten anzubringen, und OpenMV erfasst den Inhalt der markierten Objekte.
- Gesichtserkennung
- Sie können die OpenMV-Kamera zur Gesichtserkennung (oder zur Erkennung beliebiger Objekte) verwenden. Ihre OpenMV-Kamera kann Haar-Vorlagen zur allgemeinen Objekterkennung verarbeiten und verfügt über integrierte Frontalgesichts- und Augen-Haar-Vorlagen zur Erkennung von Gesichtern und Augen./learn/50013
- Eye Tracking
- Mit Eye Tracking können Sie die Blickrichtung einer Person erfassen. Sie können es zur Steuerung von Robotern einsetzen. Eye Tracking erfasst die Pupillenposition, während es prüft, ob Augen im Bild vorhanden sind.
- Personenerkennung
- Sie können den integrierten Personendetektor (TensorFlow Lite-Modell) verwenden, um festzustellen, ob sich Personen im Sichtfeld befinden.
- Optical Flow
- Sie können optischen Fluss verwenden, um Bewegungen vor Ihrer OpenMV-Kamera zu erfassen. Beispielsweise lässt sich optischer Fluss bei einem Quadrocopter zur Stabilisierung in der Luft einsetzen.
- QR-Code-Erkennung/-Decodierung
- Mit der OpenMV-Kamera können Sie QR-Codes in ihrem Sichtfeld lesen. Durch die QR-Code-Erkennung und -Entschlüsselung ermöglichen Sie intelligenten Robotern, Etiketten in ihrer Umgebung zu lesen.
- Data Matrix Erkennung/Dekodierung
- OpenMV Cam kann auch Data-Matrix-Codes (2D-Barcodes) erkennen und dekodieren. Sehen Sie sich hier unser Video an.
- Lineare Strichcode-Entschlüsselung
- Die OpenMV Cam kann auch 1D-Barcodes verarbeiten. Sie dekodiert EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 und CODE128. Sehen Sie sich hier unser Video an:/learn/50017
- AprilTag-Verfolgung
- Noch besser als die oben genannten QR-Codes kann die OpenMV-Kamera auch AprilTags verfolgen. AprilTags sind hochmoderne Referenzmarkierungen, die rotationsinvariant, skalierungsinvariant, scherungsinvariant und beleuchtungsinvariant sind. Sehen Sie sich hier unser Video an:/learn/49590
- Linien-Erkennung
- OpenMV Cam kann unendliche Linien in nahezu voller Bildrate schnell erkennen. Es findet auch nicht unendliche Liniensegmente. Sehen Sie unser Video hier:/learn/50009
- Kreiserkennung
- Mit OpenMV können Sie problemlos Kreise in Bildern erkennen.
- Rechteckerkennung
- OpenMV kann auch Rechtecke erkennen, indem es den Quadrat-Erkennungscode aus der AprilTag-Bibliothek verwendet.
- Template Matching
- Mit OpenMV-Vorlagenabgleich können Sie feststellen, ob sich vorlagenähnliche Bilder im Sichtfeld befinden. Beispielsweise lässt sich Vorlagenabgleich nutzen, um Markierungen auf Leiterplatten zu finden oder bekannte Zahlen auf Displays auszulesen.
- Bildaufnahme
- Sie können OpenMV verwenden, um RGB565/Graustufen-BMP/JPG/PPM/PGM-Bilder aufzunehmen. Sie können direkt in Python-Skripten steuern, wie Bilder erfasst werden. Am wichtigsten ist, dass Sie maschinelle Bildverarbeitungsalgorithmen nutzen können, um Linien zu zeichnen, Zeichen darzustellen und anschliessend zu speichern.
- Video-Aufzeichnung
- Mit der OpenMV-Kamera können Sie RGB565/Graustufen-MJPEG-Videos oder GIF-Bilder (oder RAW-Videos) aufnehmen. Sie können in Python-Skripten direkt steuern, wie jedes Videobild aufgezeichnet wird, und haben volle Kontrolle darüber, wann die Videoaufnahme beginnt und endet. Zudem können Sie, ähnlich wie beim Fotografieren, Maschinenseh-Algorithmen verwenden, um Linien und Zeichen zu zeichnen und diese dann zu speichern.
Schliesslich können alle oben genannten Funktionen mit der IO-Pin-Steuerung kombiniert werden, um mit Ihren eigenen benutzerdefinierten Anwendungen zusammenzuarbeiten und mit der realen Welt zu interagieren.