OpenMV Cam to mała, energooszczędna płytka mikrokontrolera, która umożliwia łatwą implementację aplikacji wykorzystujących widzenie maszynowe w świecie rzeczywistym. Programowanie OpenMV Cam odbywa się za pomocą skryptów w języku Python wysokiego poziomu (dzięki systemowi operacyjnemu MicroPython), a nie w C/C++. Ułatwia to obsługę złożonych wyników algorytmów widzenia maszynowego i pracę z zaawansowanymi strukturami danych. Mimo to nadal masz pełną kontrolę nad swoim OpenMV Cam i jego pinami I/O w języku Python. Możesz łatwo wyzwalać robienie zdjęć i nagrywanie filmów w odpowiedzi na zdarzenia zewnętrzne lub uruchamiać algorytmy widzenia maszynowego, aby określić sposób sterowania pinami I/O.
Kamera OpenMV oferuje:
- STM32H743VIProcesor ARM Cortex M7 pracujący z częstotliwością 480 MHz, wyposażony w 1 MB pamięci SRAM oraz 2 MB pamięci flash. Wszystkie piny wejścia/wyjścia generują napięcie 3,3 V i są odporne na napięcie 5 V. Procesor posiada następujące interfejsy wejścia/wyjścia:
- Pełnoprzędnościowy interfejs USB (12 Mb/s) do komputera. Po podłączeniu kamera OpenMV Cam będzie widoczna jako wirtualny port COM oraz pamięć USB.
- Gniazdo karty μSD umożliwiające odczyt i zapis z prędkością 100 Mb/s, co pozwala Twojej kamerze OpenMV na robienie zdjęć i łatwe pobieranie zasobów wizji maszynowej z karty μSD.
- Szyna SPI, która może działać z prędkością do 80 Mb/s, umożliwiając łatwe przesyłanie danych obrazu z systemu do tarczy LCD, tarczy WiFi lub innego mikrokontrolera.
- Szyna I2C (do 1 Mb/s), szyna CAN (do 1 Mb/s) oraz asynchroniczna szyna szeregowa (TX/RX, do 7,5 Mb/s) do komunikacji z innymi mikrokontrolerami i czujnikami.
- 12-bitowy przetwornik analogowo-cyfrowy i 12-bitowy przetwornik cyfrowo-analogowy.
- Trzy piny wejścia/wyjścia do sterowania serwomechanizmami.
- Przerwania i PWM na wszystkich pinach wejścia/wyjścia (na płytce znajduje się 10 pinów wejścia/wyjścia).
- Oraz dioda LED RGB i dwie diody IR o dużej mocy 850 nm.
- System modułu kamery wymiennego, z obsługą 8-bitowego interfejsu równoległego, umożliwiający kamerze OpenMV Cam H7 współpracę z różnymi czujnikami:
- Kamera OpenMV Cam H7 jest wyposażona w SingTown.MT9M114Czujnik obrazu jest zdolny do rejestrowania obrazów w skali szarości 8-bitowej o rozdzielczości 640x480 lub obrazów BAYER 8-bitowych o rozdzielczości 640x480 z prędkością 40 klatek na sekundę, gdy rozdzielczość przekracza 320x240, oraz 80 klatek na sekundę, gdy jest niższa. Większość prostych algorytmów będzie działać z prędkością 40-80 klatek na sekundę przy rozdzielczościach QVGA (320x240) i niższych. Twój czujnik obrazu jest wyposażony w obiektyw 2,1 mm na standardowym mocowaniu obiektywu M12. Jeśli chcesz używać bardziej wyspecjalizowanych obiektywów z czujnikiem obrazu, możesz je łatwo zakupić i samodzielnie zamontować.
- Do profesjonalnych zastosowań wizji maszynowej możesz zakupić naszemoduł kamery global shutter mt9V034SingTown
- W przypadku zastosowań wizji maszynowej z wykorzystaniem termografii w podczerwieni, możesz zakupić naszFLIR Lepton moduł termowizyjnySingTown
- Interfejs baterii litowo-jonowej 3,7 V, możesz zakupić nasz SingTown3,7 V – 1000 mAh akumulator litowo-jonowy
Aby uzyskać więcej informacji na temat kamery OpenMV, odwiedź:https://singtown.com/openmv/
Aplikacje
Obecnie kamera OpenMV może być wykorzystywana do następujących celów (z kolejnymi w planach):
- Wykrywanie obiektów za pomocą sieci neuronowych
- Możesz używać OpenMV do trenowania sieci neuronowych w celu wykrywania obiektów, ucząc się dowolnego celu, który chcesz wykryć. Na przykład, różne liczby, różne owoce, różne znaczniki, różne części lub dowolne specyficzne nieregularne cele mogą być trenowane w celu identyfikacji liczby, współrzędnych oraz nazwy typu obiektu dla konkretnych celów.
- Możesz wykrywać znaki drogowe na naszych rzeczywistych drogach na podstawie naszych samouczków wideo, takich jak zakaz trąbienia, zakaz parkowania, ograniczenie prędkości do 80 km/h itp./learn/50918
- Klasyfikacja Sieci Neuronowej
- Możesz używać OpenMV do trenowania sieci neuronowych w celu wykrywania obiektów, ucząc dowolny cel, który chcesz wykryć. Na przykład, różne liczby, różne owoce, różne znaczniki, różne części lub dowolne specyficzne nieregularne cele mogą być trenowane w celu identyfikacji liczby, współrzędnych i nazwy typu obiektu dla konkretnych celów.
- Może sklasyfikować, czy dana osoba nosi maskę, na podstawie naszego samouczka wideo./learn/50872
- TensorFlow Lite dla Mikrokontrolerów
- Wsparcie TensorFlow Lite umożliwia uruchamianie niestandardowych modeli klasyfikacji i segmentacji obrazów na kamerze OpenMV. Dzięki TensorFlow Lite można łatwo klasyfikować złożone obszary na obrazie i sterować pinami 1/0 w oparciu o to, co widzi SingTown.

- Różnicowanie klatek
- Możesz użyć algorytmu różnicowania klatek na kamerze OpenMV do wykrywania ruchu w scenie. Różnicowanie klatek może być stosowane w aplikacjach bezpieczeństwa.
- Śledzenie koloru
- Możesz użyć OpenMV do wykrywania jednocześnie do 16 kolorów na obrazie (choć nigdy nie będziesz chciał znaleźć więcej niż 4 kolory), a każdy kolor może mieć dowolną liczbę różnych obszarów. OpenMV poinformuje Cię o pozycji, rozmiarze, środku i orientacji każdego obszaru. Używając śledzenia kolorów, Twój OpenMV Cam może być zaprogramowany do śledzenia słońca, podążania za liniami, śledzenia celów i więcej. Pokaz wideo:/learn/49993

- Śledzenie znaczników
- Możesz użyć kamery OpenMV do wykrywania grup kolorów zamiast pojedynczych kolorów. Pozwala to na umieszczanie znaczników kolorów (etykiet z 2 lub więcej kolorami) na obiektach, a OpenMV przechwyci zawartość oznaczonych obiektów.
- Wykrywanie twarzy
- Możesz użyć kamery OpenMV do wykrywania twarzy (lub dowolnych ogólnych obiektów). Twoja kamera OpenMV może przetwarzać szablony Haar do ogólnego wykrywania obiektów i posiada wbudowane szablony Haar do wykrywania twarzy i oczu./learn/50013
- Śledzenie wzroku
- Możesz użyć śledzenia wzroku do wykrywania kierunku spojrzenia danej osoby. Możesz go używać do sterowania robotami. Śledzenie wzroku wykrywa pozycję źrenicy, jednocześnie sprawdzając, czy oczy są obecne na obrazie.
- Wykrywanie osób
- Możesz użyć wbudowanego detektora osób (model TensorFlow Lite) do wykrycia, czy w polu widzenia znajdują się ludzie.
- Przepływ Optyczny
- Możesz wykorzystać przepływ optyczny do wykrywania ruchu przed kamerą OpenMV. Na przykład, możesz zastosować przepływ optyczny w dronie czterowirnikowym, aby kontrolować stabilność w powietrzu.
- Wykrywanie/Odczyt Kodu QR
- Możesz użyć kamery OpenMV do odczytywania kodów QR w jej polu widzenia. Dzięki wykrywaniu/odczytywaniu kodów QR możesz umożliwić inteligentnym robotom odczytywanie etykiet w ich otoczeniu.
- Wykrywanie/odczytywanie kodu Data Matrix
- OpenMV Cam może również wykrywać i dekodować kody Data Matrix (dwuwymiarowe kody kreskowe). Możesz obejrzeć nasz film tutaj.
- Dekodowanie kodów kreskowych liniowych
- OpenMV Cam może również przetwarzać kody kreskowe 1D. Potrafi dekodować EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 oraz CODE128. Obejrzyj nasz film tutaj:/learn/50017
- Śledzenie AprilTag
- Jeszcze lepiej niż kody QR powyżej, kamera OpenMV może również śledzić znaczniki AprilTags. AprilTags to najnowocześniejsze znaczniki fiducjalne, które są niezmiennicze względem obrotu, skali, ścinania i oświetlenia. Obejrzyj nasz film tutaj:/learn/49590
- Wykrywanie linii
- OpenMV Cam może szybko wykrywać nieskończone linie, działając z niemal pełną częstotliwością klatek. Potrafi również znaleźć skończone odcinki linii. Film można obejrzeć tutaj:/learn/50009
- Wykrywanie Okręgów
- Możesz łatwo używać OpenMV do wykrywania okręgów na obrazach.
- Wykrywanie Prostokątów
- OpenMV może również wykrywać prostokąty, wykorzystując kod wykrywania kwadratów z biblioteki AprilTag.
- Dopasowanie szablonu
- Możesz użyć dopasowania szablonu OpenMV do wykrycia, czy w polu widzenia znajdują się obrazy podobne do szablonu. Na przykład, dopasowanie szablonu może być wykorzystane do znajdowania znaczników na płytkach drukowanych lub odczytywania znanych liczb na wyświetlaczach.
- Przechwytywanie Obrazu
- Możesz używać OpenMV do przechwytywania obrazów w formatach RGB565/skala szarości BMP/JPG/PPM/PGM. Możesz bezpośrednio kontrolować sposób przechwytywania obrazów w skryptach Pythona. Co najważniejsze, możesz wykorzystywać algorytmy wizji maszynowej do rysowania linii, znaków, a następnie zapisywania.

- Nagrywanie wideo
- Możesz używać kamery OpenMV do nagrywania filmów MJPEG w formacie RGB565/skali szarości lub obrazów GIF (lub filmów RAW). Możesz bezpośrednio kontrolować sposób nagrywania każdej klatki wideo w skryptach Pythona i mieć pełną kontrolę nad tym, kiedy rozpocząć i zakończyć nagrywanie. Ponadto, podobnie jak przy robieniu zdjęć, możesz używać algorytmów wizji maszynowej do rysowania linii, znaków, a następnie zapisywania.
Wreszcie wszystkie powyższe funkcje można połączyć z kontrolą pinów wejścia/wyjścia, aby współpracować z własnymi niestandardowymi aplikacjami w interakcji z rzeczywistym światem.