mittlerweile befasse ich mich sehr lange mit den Arduinos und hab auch Dank dem Forum schon einige Projekte umgesetzt.
Vor ein paar Wochen wurde ich neugierig und hab mir den neuen Arduino Q mit Qualcomm Prozessor zugelegt und das Teil kostet mich echt meinen letzten Nerv.
Ich möchte eine Objekterkennung damit durchführen und habe das zuerst über Ultralyrics mit OpenCV versucht, was aber einfach zu heavy für das kleine Board war.
Dann ging ich auf den Workflow über Edge Impulse mit App Lab, dieser ist Standartmäßig ja für den Arduino vorgesehen. Also Arduino mit Edge Impulse verknüpft, mein Modell geteacht und es taucht im Object erkennungs Brick auf wie es sein sollte.
Also das Example kopiert mein Modell geladen und angewählt und es passiert immer das selbe, das er nur das Standartmodell verwendet welches als Beispiel auf dem Arduno drauf ist. Die app.yaml ist korrekt mit meinem Projekt ausgwiesen, doch es wird immer das Standartbeispiel mit Hund, Katze, Tastatur usw. geladen.
Ich bin langsam echt am verzweifeln. Habe schon versucht über VS Code die app.yampl anzupassen und die Modelle in den Ordnern verschoben aber es nützt alles nichts. Ich bekomme mein Modell trotz offiziellem Arduino Workflow nicht zum laufen.
Aus diesem Grund wende ich mich nun an das Forum. Kann mir zufällig jemand sagen wie ich das Problem lösen kann?
Du könntest versuchen Dein Problem im UNO Q - Arduino Forum auf englisch zu pubblizieren ( mit einem Verweis hier zum neuen Tread) . Dort behandeln sie explizit Problem des UNO Q. Ich weiß nicht ob hier im deutschen Teil schon jemand das Teil gesehen haben.
Ja er ist wohl noch nicht so weit verbreitet. Ich habe gleichzeitig im Edge Impulse Forum mein Problem geschildert, ein Mitarbeiter von Edge impulse möchte das Problem mit den Arduino Kollegen erörtern. Bin gespannt was dabei raus kommt.
Wenn man den o.a. Auszug aus Deinem Post bei einer gängigen KI ein (z.B. Gemini von Google) eingibt, erscheinen ein paar Hinweise... Wie immer, muss man dann genau prüfen, inwieweit die Ergebnisse zutreffen und nicht nur "glaubhaft" zusammengebaut sind.
Mit etwas Glück und gezieltem Nachhaken kommst Du damit vielleicht auch so schon weiter.
Meiner bisherigen Erfahrung nach sind die KIs gut geeignet schnell interessante Hinweise zu finden, auch wenn deren (Schnell-)Sch(l)üsse nicht immer zielführend sind.
Die KI-Antwort ohne weitere Nachprüfung sah so aus:
Zusammenfassung
Das Problem, dass die App trotz Anpassung der app.yaml immer wieder auf das Standardmodell (Hund, Katze, Tastatur) zurückgreift, ist ein bekannter Fehler im Arduino App Lab. Dieser tritt häufig nach Software-Updates oder durch geänderte Ordnerstrukturen auf. [1, 2]
Da das Standard-Objekterkennungsmodell über Docker-Container im Hintergrund läuft, ignoriert das System die manuelle Zuweisung, wenn die Pfade oder Umgebungsvariablen nicht exakt mit der Container-Konfiguration übereinstimmen. [1, 3]
So löst du das Problem Schritt für Schritt:
1. Den neuen Modell-Pfad korrigieren
Mit der Einführung von App Lab Version 0.5 wurde das Verzeichnis für eigene Edge Impulse-Modelle (.eim-Dateien) verschoben. [1, 4]
Alter Pfad: /home/arduino/.arduino-bricks/ei-models/
Stelle sicher, dass deine exportierte .eim-Datei im neuen Verzeichnis liegt. [1]
2. Die app.yaml exakt definieren
Manchmal reicht es nicht, das Modell nur in der UI anzuwählen, da die Variable im Hintergrund fehlerhaft übergeben wird. Öffne deine app.yaml via VS Code und prüfe, ob der Eintrag für den Brick exakt so aufgebaut ist: [2, 5]
(Ersetze DEIN_MODELL_NAME.eim mit dem exakten Namen deiner Datei).
3. Den App Lab-Cache und Docker-Container zurücksetzen
Wenn der Hintergrund-Container den alten Pfad oder das Standardmodell blockiert, hilft ein Neustart der Laufzeitumgebung:
Schließe das Arduino App Lab komplett.
Verbinde dich per Terminal/SSH mit deinem Arduino UNO Q.
Starte die App einmal direkt über das CLI neu, um zu erzwingen, dass die app.yaml frisch eingelesen wird:
arduino-app-cli app start user:DEIN_PROJEKT_NAME
[4, 6, 7, 8, 9]
4. Der sauberste Weg über die neue UI
Um Konfigurationsfehler in Textdateien zu vermeiden, nutzt man am besten den nativen Weg der aktuellen App Lab-Version: [4]
Gehe im App Lab auf den Video Object Detection Brick.
Klicke auf den Reiter AI Models.
Falls noch nicht geschehen, melde dich dort mit deinem Arduino-Konto an (dies verbindet sich direkt mit Edge Impulse).
Dein Modell sollte dort gelistet sein. Klicke explizit auf Download / Install.
Wähle es in der Brick Configuration aus und klicke auf Save. Dadurch überschreibt das App Lab die Pfade im Hintergrund fehlerfrei selbst. [10, 11, 12, 13]
Falls du diese Schritte ausprobierst: Welche Fehlermeldung zeigt die Python-Konsole im App Lab an, wenn du die App startest? (Z. B. "Model not found" oder ein Berechtigungsproblem?)
ja das hatte ich schon probiert und mir mir diversen KI-Systemen die Abende um die Ohren geschlagen. Die app.yaml verändert, über vs-code Ordnerverweise eingefügt und die Modelle hin und her kopiert. Leider hatte ich mit all dem kein Glück und mich praktisch nur im Kreis gedreht. Es gibt eine Menge Foreneinträge wo ein ähnliches Problem behandelt wird, allerdings beziehen sich diese fast immer auf das Problem dass ab App Lab 0.5.0 manuell eingefügte Modelle nicht mehr funktionieren da sich die Struktur auf dem Arduino geändert hat.
Da ich mein Modell allerdings über den aktuellen Edge Impulse Workflow geladen habe, passt sich die Struktur automatisch an und die app.yaml datei mit den verweisen auf mein Modell auch.
Nur leider geht es bei mir trotzdem nicht.