Wie finden Sie diesen Artikel? Helfen Sie uns, bessere Inhalte für Sie bereitzustellen.
Vielen Dank! Ihr Feedback ist eingegangen.
There was a problem submitting your feedback, please try again later.
Was denken Sie über diesen Artikel?
Legen Sie mit dem OKdo Nano C100 Developer Kit los und lernen Sie, wie Sie die KI-Video-Gesichtserkennung mit einer Dual-CSI-Kamera-Konfiguration mit Python und OpenCV einrichten.
Autor: Peter Milne, Ingenieur und Linux-Befürworter mit mehr SBCs als ein Landungsboot der Apollo 11.
Das OKdo Nano C100 Developer Kit (252-0055) basiert auf dem NVIDIA® Jetson Nano™-Modul, das auf einer benutzerdefinierten Entwicklungsplatine montiert ist.
Dieser kleine, leistungsstarke Einplatinencomputer macht KI für Macher, Lernende und Embedded-Entwickler zugänglich. Er ermöglicht die parallele Ausführung mehrerer neuronaler Netze für Anwendungen wie Bildklassifizierung, Objekterkennung, Segmentierung und Sprachverarbeitung.
Zu den Hauptmerkmalen gehören eine Quad-Core-ARM-A57-CPU, eine 128-Kern-NVIDIA-Maxwell-GPU, 4 GB 64-Bit-LPDDR4-RAM, 16 GB integrierter eMMC-Speicher, zwei MIPI-CSI-Kameraanschlüsse, Gigabit-Ethernet und ein 40-poliger GPIO-Header sowie ein M.2-E-Key-Steckplatz für optionale WLAN-Unterstützung.
OKdo bietet einen offiziellen Download des Betriebssystem-Images über den OKdo Software & Downloads Hub an, der auf Ubuntu 18.04 LTS mit NVIDIA Jetpack Version 4.6 basiert.
Diese Anleitung für den Einstieg führt Sie durch die Einrichtung Ihres OKdo Nano C100 (252-0055) und demonstriert die Verarbeitung der KI-Video-Gesichtserkennung mit einer Dual-CSI-Kamera-Konfiguration mit Python und OpenCV.
Los geht's!
Difficulty: Medium | Time: 2 Hrs | Steps: 9 | Credits: None | License: None |
Alle Teile, die für den Einstieg benötigt werden:
- OKdo Nano C100 Developer Kit (252-0055)
- Offizielle Raspberry Pi Camera V2.1 (913-2664)
- M.2 Wireless Module A8 (256-3901)
- OKdo Multihead Plug-in AC/DC Adapter (202-3769)
- 32 GB MicroSDHC-Karte Klasse 10 A1
- Host-Computer Windows/Mac/Linux
- HDMI-Monitor
- USB-Tastatur
- USB-Maus
- HDMI-Kabel
- Ethernet-Kabel
- Internetverbindung und Router
Schritt 1: Einrichtung der Platine
Packen Sie das OKdo C100 Nano Developer Kit aus und schließen Sie die folgenden Kabel und Zubehörteile an. Kabel, SD-Karte und Netzteil sind nicht im Lieferumfang des Kits enthalten.
- Schließen Sie einen HDMI-Monitor (Vollformat-Anschluss), eine USB-Tastatur und eine Maus an
- Ethernet ist erforderlich, wenn Sie das Betriebssystem aktualisieren möchten
- Optional können Sie ein M.2 E-Schlüssel-Funkmodul einbauen, indem Sie das Nvidia Jetson-Modul entfernen und das WLAN-Modul auf der Basisplatine anbringen, bevor Sie das Jetson-Modul wieder anbringen
- Schließen Sie eine USB-Maus und -Tastatur an
- Schließen Sie ein hochwertiges 5 V/4 A (20 W) Netzteil an die Hohlbuchse (5,5 mm x 2,1 mm) an, aber schalten Sie es noch nicht ein. Das empfohlene Netzteil ist das OKdo Multihead Plug-in AC/DC Adapter Universal Power Supply (PSU) (202-3769)
- Der Micro-USB-Anschluss ist nur für eine serielle Konsole vorgesehen
Warnung: KEINEN Jumper auf die 2-polige Stiftleiste neben der Fassbuchse setzen
Schritt 2: Kameras
Das Nano C100 verfügt über 2 MIPI-CSI-Kameraports und die Software unterstützt Kameras, die auf imx219- (Raspberry Pi V2-Kamera) und imx477-Sensoren
-
Wir verwenden zwei Pi V2-Kameramodule, um die Fähigkeiten der Platine zu demonstrieren, aber Sie benötigen nur eines, um mitzumachen.
- Öffnen Sie die Verriegelung des CSI-Steckers, indem Sie die Lasche anheben.
- Schieben Sie das Flachbandkabel in den Stecker, wobei die blaue Markierung vom Kühlkörper weg zeigen muss. Drücken Sie die Verriegelung vorsichtig nach unten, um sie zu sichern.
Fügen Sie eine zweite Kamera hinzu, falls Sie eine haben
-
Hier ist die Dual-Kamera-Konfiguration, die für die nachfolgenden Demos verwendet wird:
Schritt 3: Flash-SD-Karte
Die C100 verwendet das NVIDIA Jetson Nano-Modul, das mit 16 GB Onboard-eMMC-Speicher ausgestattet ist. Zu Entwicklungszwecken werden wir das System-Image jedoch auf eine microSD-Karte flashen und von dieser booten. Dadurch erhöht sich die Speicherkapazität für die Software zur Anwendungsentwicklung.
Sie benötigen einen Host-PC (Mac/Windows oder Linux) mit einem Kartenlesegerät oder Adapter, um das Image herunterzuladen und zu flashen. Verwenden Sie eine hochwertige microSD-Karte mit 32 GB oder mehr, Geschwindigkeitsklasse 10, A1-bewertet. Wir haben mit einer 32 GB SanDisk Ultra getestet.
BalenaEtcher, Das Programm läuft auf Linux-/Mac-/Windows-PCs und wird zum Flashen und Überprüfen des SD-Karten-Images empfohlen.
- Das offizielle Image hier herunterladen OKdo Software & Downloads hub
- Der Dateiname des Downloads lautet c100.img.xz
- Legen Sie die microSD-Karte in den Kartenleser des Hosts ein
- Starten Sie balenaEtcher, wählen Sie das C100-Bild und die SD-Karte aus
- Wählen Sie Flash und warten Sie, bis das Bild geschrieben und verifiziert wurde – dies ist ein Befehl für die Kaffeepause!
- Werfen Sie die SD-Karte aus dem Host aus und legen Sie sie in den C100-Kartensteckplatz unter dem Jetson Nano-Modul ein
Wählen Sie das richtige Drive!
Schritt 4: Erster Start
Beim ersten Start werden Sie durch die Einrichtungssequenz geführt, die die Annahme der NVIDIA-Endbenutzerlizenz (EULA) umfasst. Folgen Sie einfach den Anweisungen auf dem Bildschirm und akzeptieren Sie die Standardeinstellungen. Dadurch erhalten Sie die maximale Software-Partitionsgröße und konfigurieren das Modul im MAX-Stromversorgungsmodus.
- Schließen Sie das Netzteil an
- Die grüne LED neben dem Micro-USB-Anschluss leuchtet auf
- Überprüfen und akzeptieren Sie die EULA der NVIDIA Jetson-Software
- Wählen Sie die Systemsprache, das Tastaturlayout und die Zeitzone aus
- Erstellen Sie einen Benutzernamen, ein Passwort und einen Computernamen
- Akzeptieren Sie die Größe der APP-Partition. Es wird empfohlen, die vorgeschlagene Maximalgröße zu verwenden
- Akzeptieren Sie die MAX-Energieeinstellung
Nach einigen Sekunden erscheint der Bionic-Desktop. Wenn Sie die Monitoreinstellungen anpassen müssen, klicken Sie auf das Symbol „Einstellungen“ in der Seitenleiste und ändern Sie die Anzeigeeinstellungen nach Ihren Wünschen.
Schritt 5: NVIDIA Jetpack
Das Bild wird mit NVIDIAs Jetpack Version 4.6 geliefert, das eine Reihe nützlicher Anwendungen für die Entwicklung von KI-Anwendungen installiert. Sie sind maßgeschneidert und für die Ausführung auf dem Jetson Nano-Modul optimiert und umfassen:
Jetson Linux - Bootloader, Linux-Kernel, Ubuntu-Desktop-Umgebung und ein kompletter Satz von Bibliotheken zur Beschleunigung von GPU-Computing, Multimedia, Grafik und Computer Vision.
TensorRT – eine hochleistungsfähige Deep-Learning-Inferenz-Laufzeitumgebung für neuronale Netze zur Bildklassifizierung, Segmentierung und Objekterkennung.
CUDA Toolkit – bietet eine umfassende Entwicklungsumgebung für C- und C++-Entwickler, die GPU-beschleunigte Anwendungen erstellen.
Jetson Multimedia API-Paket – stellt Low-Level-APIs für eine flexible Anwendungsentwicklung bereit.
Ausführliche Informationen zum NVIDIA Jetpack finden Sie auf der Jetpack-Seite auf der NVIDIA-Website.
Tip: If you upgrade with the package manager you may experience nvidia-l4t-bootloader errors, check out this NVIDIA forum post for fixes.
Sie können die aktuelle Version des Jetpacks mit dem folgenden Befehl überprüfen:
sudo apt-cache show nvidia-jetpack
Schritt 6: Kameratest
Im nächsten Abschnitt werden einige grundlegende Tests an Ihrer Kameraeinrichtung durchgeführt, um zu überprüfen, ob alles wie erwartet funktioniert.
Testen Sie jede Kamera mit dieser Gstreamer-Pipeline im Terminal. Setzen Sie die sensor_id für die erste Kamera auf 0 und für eine zweite Kamera auf 1 – dieser einzelne Befehl ist auf mehrere Zeilen verteilt:
gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! \
'video/x-raw(memory:NVMM), \
width=3280, height=2464, framerate=21/1, format=NV12' ! \
nvvidconv flip-method=2 ! 'video/x-raw, \
width=816, height=616' ! \
nvvidconv ! nvegltransform ! nveglglessink -e
Je nach Ausrichtung Ihrer Kamera müssen Sie möglicherweise den Flip-Index in der Befehlszeile oben anpassen. Hier sind die Einstellungen:
flip-method: video flip methods
- (0): none – Identity (no rotation)
- (1): counterclockwise – Rotate counter-clockwise 90 degrees
- (2): rotate-180 – Rotate 180 degrees
- (3): clockwise – Rotate clockwise 90 degrees
- (4): horizontal-flip – Flip horizontally
- (5): upper-right-diagonal – Flip across upper right/lower-left diagonal
- (6): vertical-flip – Flip vertically
- (7): upper-left-diagonal – Flip across upper left/lower-right diagonal
Die Kamera sollte ein Videobild in einem neuen Fenster anzeigen. Drücken Sie zum Beenden Strg + C.
Schritt 7: Python-Bildverarbeitung
JetsonHacks.com hat nützliche Skripte bereitgestellt, die KI-Videoverarbeitungsfunktionen in Python und C++ demonstrieren. Die meisten der benötigten Tools sind bereits im Image installiert, wie Python3, der C++-Compiler und OpenCV, sodass für die Ausführung beeindruckender KI-Apps nicht viel eingerichtet werden muss.
Öffnen Sie ein Terminal über das Desktop-Symbol und führen Sie die folgenden Befehle aus:
Klonen Sie das CSI-Camera-Repository
git clone https://github.com/LetsOKdo/csi-camera.git
Directory ändern zu csi-camera
cd csi-camera
Installieren Sie libcanberra
sudo apt install libcanberra-gtk-module
Schritt 8: Gesichtserkennung
Dieses KI-Skript verwendet Python3- und OpenCV-Bibliotheken sowie ein trainiertes Modell, um Gesichter und Augenbewegungen in Live-Videostreams zu erkennen und zu verfolgen.
Es erstellt eine Gstreamer-Pipeline, die der oben genannten ähnelt, und leitet den Videostream an ein Gesichtserkennungsmodell weiter, das Gesichter und Augen erkennen kann und die Tracking-Boxen im Videostream rendert.
Führen Sie das Skript face_detect.py aus. In diesem Beispiel übergeben wir sensor_id=0 und flip_method=2
python3 face_detect.py 0 2
Öffnen Sie ein zweites Terminal und führen Sie eine weitere Instanz des Skripts aus, diesmal mit der Übergabe von sensor_id=1 für die zweite Kamera.
python3 face_detect.py 1 2
Sie sollten zwei Videobilder erhalten, die sowohl Flächen als auch Augenbewegungen aus verschiedenen Blickwinkeln in Echtzeit verfolgen!
CTRL+C für Exit
Schritt 9: Sicheres Herunterfahren
Vermeiden Sie eine Beschädigung des SD-Karten-Images, indem Sie das System ordnungsgemäß herunterfahren.
- Klicken Sie auf das Zahnradsymbol oben rechts auf dem Desktop und wählen Sie „Herunterfahren“ aus.
- Nach einigen Sekunden erlischt die grüne Betriebs-LED am C100 und der Stromanschluss kann entfernt werden.
- Das System ist jetzt ausgeschaltet.
Fazit
Herzlichen Glückwunsch! Sie sollten Ihr OKdo Nano C100 Developer Kit erfolgreich eingerichtet und konfiguriert haben. Wir haben auch gezeigt, wie Sie mit der im NVIDIA Jetpack enthaltenen Software, die mit dem System-Image installiert wurde, mit der Entwicklung leistungsstarker Bildverarbeitungsanwendungen mit CSI-Kameramodulen beginnen können.
NVIDIA erstellt sehr hochwertige Dokumentationen für seine Produkte und Sie finden Links zu Tutorials, Anleitungen und einer aktiven Entwickler-Community, um Ihre nächsten Schritte zu unternehmen:
Wenn Sie die Funktionsweise der Gesichtserkennungs-App im Detail verstehen möchten, sehen Sie sich diese Videoserie mit dem Titel „OpenCV 101“ an.
Möglicherweise ist auch das OKdo C100-Datenblatt hilfreich.
Jetzt ist alles bereit, um die KI-Bildverarbeitungsfunktionen des C100 zu erkunden.
Kommentare