Farberkennung

Die HuskyLens ist eine KI-Kamera , die sieben verschiedene Computer Vision Algorithmen beinhaltet. Die Kamera wurde von DFRobots entwickelt und bietet einen einfachen Einstieg in die komplexe Thematik der künstlichen Intelligenz.

Kategorie Erweiterung
Schulstufe SEK1
Material HuskyLens,
Micro-USB-Kabel, Grove 4-Pin-Stecker, optional USB-Powerbank, ggf. M3-Schrauben und Muttern zum Befestigen
Schwerpunkte Variablen, Listen, Schleifen, Erweiterungen, KI
+Los geht's

Vorbereitung

Bevor es mit der HuskyLens losgeht, müssen ein paar Dinge vorbereitet werden und die Firmware auf den neuesten Stand gebracht werden.

Verkabelung:

  1. Verbinde die HuskyLens mithilfe des Micro-USB-Kabels (1) mit dem Computer, um im nächsten Schritt die Firmware zu aktualisieren.
  2. Der Calliope mini wird über den Grove-Konnektor A0 mit dem Grove-Port (2) verbunden.
  3. Um die HuskyLens transportabel zu machen, kann sie sowohl über den USB- als auch dem Grove-Port mit 3,3 - 5 V versorgt werden. Es empfiehlt sich, eine USB-Powerbank zu verwenden, um die HuskyLens möglichst lange zu betreiben.

Ein automatischer Schaltkreis sorgt dafür, dass bei gleichzeitiger Grove und USB-Verbindung allerdings nur die Stromversorgung über den USB-Port verwendet wird.

Firmware installieren:

  1. Die neueste Firmware kann mit dem Firmwareuploader auf die HuskyLens geladen werden. Hier klicken zum Herunterladen.

  2. Lade den USB - UART Gerätetreiber herunter, damit die HuskyLens mit dem USB-Kabel verbunden werden kann.
    Hier klicken, um den Treiber herunterzuladen.
    Öffne den Gerätemanager und klicke mit Rechtsklick auf den "SiliconLabs CP210x" USB-Port.

    Klicke auf "Treiber aktualisieren", anschließend auf "auf meinem Computer nach Treiber suchen" und wähle den Downloadpfad des Treibers aus.
  1. Lade die neueste Firmware herunter und öffne den HuskyLens-Uploader.
    Download Firmware

Wähle die Datei aus und klicke auf "Upload".
Nach einer kurzen Zeit ist die Firmware auf die HuskyLens geladen. Jetzt ist sie einsatzbereit!

Alle einzelnen Schritte können in dem Wiki (Englisch) von DFRobots nachgelesen werden.


Farben merken/anlernen

  1. Im ersten Schritt werden bestimmte Farben gemerkt und identifiziert. Drücke dazu auf das Rädchen (1) an der HuskyLens und drehe es zur Seite, bis der Algorithmus Color Recognition auftaucht. Drücke das Rädchen (1) erneut, um die Farberkennung auszuwählen.
  1. Alles, was die Kamera als Farbe identifiziert, wird jetzt mit einem weißen Rechteck gekennzeichnet. Um mehrere Farben gleichzeitig zu erkennen, halte das Rädchen etwas länger gedrückt, bis das zweite Menü auftaucht. Wähle dort Multiple Select aus und speichere die Einstellungen mit Save & Return.
  1. Indem eine Farbe fokussiert wird und der rechte "Lern-Knopf" (2) gedrückt wird, merkt sich die KI die Farbe. Wenn der Knopf länger gedrückt wird, kann die Farbe aus verschiedenen Winkeln und Entfernungen gelernt werden. Anschließend sollten die gleichen Farben in einem farbigen Kasten mit einer zugeordneten ID betitelt und wiedererkannt werden. Drücke erneut auf den "Lern-Knopf" (2) bevor der Countdown abläuft, um eine weitere Farbe zu lernen oder den Funktions-Knopf/das Rädchen um abzubrechen.

Male mit Buntstiften oder Wasserfarben verschiedene Formen oder Gegenstände in unterschiedlichen Farben. Male z.B. ein Eis mit verschiedenen Sorten und lerne diese Farben mit HuskyLens an. Beschrifte jeweils das farbige Objekt mit der ID, welche die HuskyLens der Farbe zugeordnet hat. Diese Zuordnung benötigst du für die Programmierung.


Programm entwickeln

Schaue in den Programmablaufplan und entwickle ein Programm, das…

  • ...eine Liste mit den Farben beinhaltet, die zuvor von der HuskyLens gelernt und notiert wurden.
  • ...eine Schleife beinhaltet, die alle Farben abruft und in der...
  • ...eine Abfrage ist, die prüft, ob die Farbe auf dem Bildschirm auftaucht. Falls ja, soll die RGB-LED in der Farbe angeschaltet werden.
+Tipps und Hilfestellungen

Die grafische Darstellung in Form eines PAP dient als Grundlage der Entwicklung eines Programms. Ein PAP beschreibt den Ablauf und die Zusammenhänge von einzelnen Operationen zur Lösung einer Aufgabe.

PDF

Als erstes muss die HuskyLens-Bibliothek importiert werden. Dazu muss in MakeCode auf die fortgeschrittenen Blöcke Erweiterungen geklickt und der folgende Link in die Suchzeile eingegeben werden: https://github.com/calliope-edu/pxt-huskylens

Link kopieren

Jetzt stehen die HuskyLens-Blöcke (orange) in der Bibliothek zur Verfügung.

  1. Um zu starten, muss die HuskyLens erst im Startblock initialisiert und der jeweilige Algorithmus ausgewählt werden - in diesem Fall "Farberkennung".

  2. Um die Daten der HuskyLens für die trainierten Farben (IDs) dauerhaft abzurufen, wird der Block "HuskyLens Daten abrufen und in 'Ergebnis' speichern" verwendet.

  3. Um zu überprüfen, ob die ID auf dem Bildschirm der HuskyLens zu sehen ist, kann der folgende Block verwendet werden:

Denke daran, dass der Index einer Liste immer bei 0 anfängt. Die ID der HuskyLens allerdings immer bei 1!

+Ausprobieren und Weiterentwickeln
  • Sind die HuskyLens und der Calliope mini mit Strom versorgt und richtig mit dem Grove-Kabel verbunden? Ist die Firmware der HuskyLens auf dem neuesten Stand (siehe Los geht's)?
  • Wurde der richtige Algorithmus ausgewählt und konnte mit dem ausgewählten Algorithmus im Editor die Einstellung auf die HuskyLens übertragen werden?
  • Konnten IDs trainiert und abgerufen werden?
  • Wurde der richtige Index ausgewählt, wenn Namen aus Listen über die IDs abgerufen werden? Listen starten bei 0, HuskyLens IDs bei 1
  • Teste die Kamera aus. Welcher Winkel, welche Belichtung, Distanz und Einstellungen funktionieren gut, welche nicht?
  • Welche Farben werden besonders gut erkannt und welche nicht?

Alternativ kann auch nur eine Farbe, die sich in der Mitte des Bildschirmes befindet, abgerufen werden

Weiter geht's mit dem nächsten Projekt:

Objekterkennung