Spisu treści:
- Krok 1: Oprogramowanie Flash Micropython
- Krok 2: Połącz się z MaiX Bit
- Krok 3: Uruchom wersje demonstracyjne
Wideo: Demonstracje Sipeed MaiX Bit OpenMV - Wizja komputerowa: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Jest to drugi artykuł z serii o Sipeed AI na platformie mikrokontrolerów Edge. Tym razem będę pisał o MaiX Bit (link do sklepu Seeed Studio), mniejszej, gotowej do pracy na płytce prototypowej. Jego specyfikacje są bardzo podobne do MaiX Dock, płyty, której użyłem w ostatnim samouczku, ponieważ używają tego samego chipa, Kendryte K210.
Będziemy używać oprogramowania układowego micropython, aby wypróbować niektóre wersje demonstracyjne OpenMV. Oto opis ze strony głównej OpenMV:
Projekt OpenMV polega na tworzeniu tanich, rozszerzalnych, opartych na języku Python modułów widzenia maszynowego i ma na celu stanie się „Arduino wizji maszynowej”.… Python znacznie ułatwia pracę z algorytmami wizji maszynowej. Na przykład metoda find_blobs() w kodzie wyszukuje kolorowe obiekty blob i zwraca listę 8-wartościowych obiektów reprezentujących każdy znaleziony kolor blob. W Pythonie iterowanie po liście obiektów zwracanych przez find_blobs() i rysowanie prostokąta wokół każdego koloru blob jest łatwe do wykonania w zaledwie dwóch wierszach kodu.
Tak więc, pomimo tego, że MaiX Bit oferuje dedykowany akcelerator sieci neuronowych, czasami może być łatwiej po prostu użyć zakodowanych na sztywno algorytmów OpenMV do wykonania zadania lub użyć ich razem.
Niektóre przypadki użycia, które przychodzą mi do głowy, to:
1) Wykrywanie linii dla bota podążającego za linią
2) Wykrywanie sygnalizacji świetlnej z wykrywaniem okręgów i kolorów
3) Korzystanie z wykrywania twarzy, aby znaleźć twarze do rozpoznawania twarzy (z DNN)
Repozytorium Github dla tego artykułu
Krok 1: Oprogramowanie Flash Micropython
Przede wszystkim będziemy musieli sflashować oprogramowanie micropython na naszą płytę. Prekompilowany plik binarny znajduje się w repozytorium github dla tego artykułu, wraz z kflash.py (narzędziem flash). Jeśli chcesz skompilować oprogramowanie układowe z kodu źródłowego, po prostu pobierz kod źródłowy z https://github.com/sipeed/MaixPy, zainstaluj toolchain i skompiluj kod źródłowy do pliku maixpy.bin. Szczegółowe instrukcje budowania można znaleźć tutaj.
Flashuj plik binarny za pomocą
sudo python3 kflash.py kpu.bin
Po pomyślnym flashowaniu przejdź do następnego kroku.
Krok 2: Połącz się z MaiX Bit
Teraz nasz Bit MaiX powinien być dostępny przez połączenie szeregowe USB z szybkością transmisji 115200. Możesz użyć swojego ulubionego oprogramowania do komunikacji szeregowej lub po prostu poleceń cat and echo, cokolwiek odpowiada Twoim potrzebom. Używałem ekranu do komunikacji szeregowej i uważam, że jest to bardzo wygodne.
Polecenie nawiązania sesji komunikacji szeregowej z ekranem to:
ekran sudo /dev/ttyUSB0 115200
gdzie /dev/ttyUSB0 to adres twojego urządzenia.
Może być konieczne naciśnięcie przycisku resetowania na mikrokontrolerze, aby zobaczyć powitanie i monit interpretera Pythona.
Krok 3: Uruchom wersje demonstracyjne
Teraz możesz uzyskać dostęp do trybu kopiowania, naciskając Ctrl + E i skopiuj i wklej kody demonstracyjne. Aby je uruchomić, naciśnij Ctrl+D w trybie kopiowania.
Jeśli nie chcesz nagrywać filmów, musisz skomentować linie nagrywania wideo. W przeciwnym razie kod zgłosi wyjątek, jeśli nie ma włożonej karty SD
Oto krótkie opisy każdego demo:
Znajdź kręgi - używa funkcji find_circles z OpenMV. Potrzebuje więcej poprawek dla konkretnej aplikacji, w szczególności progu (kontroluje, jakie okręgi są wykrywane z transformacji hough. Zwracane są tylko okręgi o wielkości większej lub równej wartości progowej) oraz wartości r_min, r_max.
Znajdź prostokąty - używa funkcji find_rects z OpenMV. Możesz bawić się wartością progową, ale wartość, którą mam w demie, działa całkiem dobrze przy znajdowaniu prostokątów.
Znajdź twarze, znajdź oczy - wykorzystuje funkcję find_features z kaskadami Haar do wykrywania oczu i twarzy na obrazie. Możesz bawić się wartościami progowymi i skalowymi, aby uzyskać odpowiedni kompromis między prędkością a dokładnością.
Znajdź nieskończone linie - używa funkcji find_lines, aby znaleźć wszystkie nieskończone linie na obrazie za pomocą przekształcenia hough.
Wykryj kolor - używa funkcji get_statistics do uzyskania obiektu percentyla, a następnie konwertuje średnie wartości krotki LAB na krotkę wartości RGB. Sam napisałem ten przykład i działa on całkiem dobrze, ale pamiętaj, że na wyniki wykrywania kolorów będą miały wpływ warunki oświetlenia otoczenia.
W repozytorium OpenMV na githubie znajdziesz o wiele więcej ciekawych dem! Są one w większości kompatybilne z micropythonem MaiX Bit, jedyne, o czym musisz pamiętać, to dodać sensor.run(1) po ustawieniu formatu pikseli i rozmiaru ramki.
Miłego eksperymentowania z kodem OpenMV. Jeśli masz jakieś pytania lub chcesz podzielić się swoimi interesującymi wynikami, nie wahaj się skontaktować ze mną na Youtube lub LinkedIn. A teraz przepraszam, zrobię roboty!
Zalecana:
Wykrywanie obiektów za pomocą płyt Sipeed MaiX (Kendryte K210): 6 kroków
Wykrywanie obiektów za pomocą płyt Sipeed MaiX (Kendryte K210): Kontynuując mój poprzedni artykuł o rozpoznawaniu obrazów za pomocą płyt Sipeed MaiX, postanowiłem napisać kolejny samouczek, skupiając się na wykrywaniu obiektów. Ostatnio pojawiło się trochę interesującego sprzętu z chipem Kendryte K210, w tym S
Obwód ultradźwiękowego czujnika odległości TinkerCAD (ostateczna wersja komputerowa): 4 kroki
TinkerCAD Ultrasonic Distance Sensor Circuit (Komputer Eng Final): Stworzymy kolejny zabawny obwód TinkerCAD do wykonania podczas kwarantanny! Dzisiaj pojawił się dodatek ciekawego komponentu, czy możesz się domyślić? Cóż, będziemy używać ultradźwiękowego czujnika odległości! Ponadto zakodujemy 3 diody LED
Mysz komputerowa Cyborg: 4 kroki (ze zdjęciami)
Cyborg Computer Mouse: Wiele badań sugeruje, że postawa przy użyciu konwencjonalnej myszy komputerowej może być niebezpieczna. Mysz jest standardowym elementem sprzętu komputerowego. Użytkownicy komputerów używają myszy prawie trzy razy częściej niż klawiatury. Ponieważ wskaźniki ekspozycji są wysokie, ja
Mysz komputerowa Smart Glove: 4 kroki (ze zdjęciami)
Mysz komputerowa Smart Glove: To jest „Smart Glove” mysz komputerowa, której można używać z dowolnym komputerem PC, Mac lub Linux. Jest on wykonany przy użyciu wieloprotokołowego adaptera hosta USB Binho Nova, który umożliwia podłączenie czujników i innych komponentów do komputera, a następnie
Ostateczna gra komputerowa Simon mówi, że gra: 3 kroki
Finał inżynierii komputerowej Gra Simon Mówi: Mój pomysł: Mój projekt to gra Simon Mówi. W tej grze są cztery diody LED i cztery przyciski. Muzyka będzie odtwarzana z brzęczyka, a diody LED zaświecą się dopasowując się do muzyki. Wtedy rozpocznie się gra. Zaświeci się dioda LED i trzeba kliknąć tyłek