Wykrywanie obiektów TensorFlow i śledzenie przez Bluetooth dla projektów Arduino

Ostatnia Wersja

Wersja
Aktualizuj
22 lut 2020
Deweloper
Kategoria
Instalacje
10 000+

App APKs

Arduino Object Detection Track APP

Ta aplikacja jest specjalnie zaprojektowana dla studentów i inżynierów elektroników oraz hobbystów pracujących z mikrokontrolerami Arduino i Raspberry Pi. Korzysta z bibliotek OpenCV do wykrywania i klasyfikacji obrazu komputerowego, w tym uczenia maszynowego Google Tensorflow Lite.

Aplikacja może wykrywać i śledzić różne typy obiektów z kamery telefonu, takie jak linie, kolorowe plamy, koła, prostokąty i ludzie. Wykryte typy obiektów i pozycje ekranów można następnie przesłać do odbiornika Bluetooth, takiego jak HC-05.

Jeśli używasz odpowiedniego mikrokontrolera, np. Użytkownicy Arduino lub Raspberry Pi mogą analizować wykryte obiekty pod kątem dalszych projektów opartych na robotyce. Typowym przykładem może być podłączenie telefonu do zestawu robota 2 lub 4W, który może następnie śledzić / podążać za piłką lub osobą.

Kluczowe funkcje aplikacji:
1. Color Blob Detect and Track
2. Circle Detect and Track
3. Wykrywanie linii
4. Ludzie wykrywają i śledzą za pomocą histogramu gradientów (HoG)
5. Wykrywanie obiektów etykiet Coco TensorFlow Lite (np. Osób, kotów, samochodów, telewizji itp.)
6. Użyj niestandardowych modeli Tensorflow.
7. Wyślij parametry wykrytego obiektu przez Bluetooth.

Pamiętaj, że wszystkie operacje przetwarzania obrazu działają najlepiej w dobrych warunkach oświetleniowych. Jeśli nie możesz wykryć obiektów, spróbuj zmienić niektóre ustawienia konfiguracji. Należy również pamiętać, że zaimplementowane algorytmy śledzenia są uproszczone i dlatego nie będą działać niezawodnie, gdy wiele obiektów będzie się nakładać.

Aby użyć niestandardowych modeli Tensorflow, załaduj zgodny model pliku mobilenet. Przykładem tego jest pet_detect.tflite i pet_labels.txt. Musisz jednak zmienić ich nazwy na custom.tflite i custom.txt i umieścić je w folderze dokumentów publicznych pamięci wewnętrznej telefonu. Upewnij się również, że włączono uprawnienia aplikacji na Androida do dostępu do pamięci.

Formaty przesyłania danych Bluetooth:

Cała transmisja danych jest wysyłana jako tekst ASCII w następującym formacie:

„Typ obiektu”: „ID”: „XPos”, „YPos”, „Szerokość”, „Wysokość”
  
  Przykładowy obiekt Blob Color: „CO: 0: -40,60,0,0”
  Gdzie ID to liczba od 0 do 4 bez śledzenia lub dowolny unikalny numer identyfikowany przez liczbę całkowitą z opcją śledzenia.
  Pozycje xiy odnoszą się do środka plamki koloru, przy czym 0,0 znajduje się na środku ekranu podglądu kamery.
   
  Przykład koła bez śledzenia: „CC: 0: -40,60,20,0”
  Gdzie pozycje x, y dają środek okręgu, a szerokość daje promień koła.
  W trybie śledzenia x, y, w, h zapewniają wewnętrzny prostokąt okręgu.

  Przykładowy obiekt kołowy z filtrem według koloru: „FC: 0: -40,60,20,0”
  Gdzie pozycje x, y dają środek okręgu, a szerokość daje promień koła.
  
  Przykładowy obiekt liniowy: „LO: 0: -40,60,20,200”
  Gdzie pozycje x, y dają punkt pierwszej linii, a w, h daje punkt drugiej linii.
  
  Przykład obiektu People No Tracking: „PO: 0: -40,60,20,0”
  Gdzie pozycje x, y dają lewy górny róg prostokąta, a w, h daje szerokość i wysokość.
  
  Przykładowe obiekty osób z filtrem według koloru: „FP: 0: -40,60,20,0”
  Gdzie pozycje x, y dają lewy górny róg prostokąta, a w, h daje szerokość i wysokość prostokąta.

Wszystkie śledzone obiekty: „DO: 0: -40,60,20,40”.
gdzie pozycje x, y dają środek prostokąta, a w, h daje szerokość i wysokość od środka prostokąta. Zauważ, że jeśli filtrujesz według koła i osób, identyfikatory śledzonych obiektów zostaną zresetowane do zera dla nakładających się obiektów kolorowych.

Obiekty TensorFlow: „ObjectTitle: 0: -40,60,20,40”
Gdzie ObjectTitle to dowolny sklasyfikowany obiekt TensorFlow, np. „Osoba”, „Miseczka”, „Butelka” itd. Pozycje X, Y dają środek prostokąta, a w, h daje szerokość i wysokość od środka prostokąta. Zauważ, że jeśli filtrujesz na przecięciu kropli koloru, upewnij się, że śledzenie kropli koloru jest włączone.

Format filtru w TensorFlow: „FTF: Osoba: -40,60,20,40”. Gdzie „Osoba” może być dowolnym spośród dostępnych wykrytych typów obiektów TensorFlow zdefiniowanych w coco_labels_list.txt (patrz Google TensorFlowLite).
 
Pełna pomoc online w Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking

Prawa autorskie Gemcode Studios 2019
Więcej informacji

Reklama