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:
- STM32H743IIProcesor ARM Cortex M7 pracujący z częstotliwością 480 MHz, wyposażony w 32 MB pamięci SDRAM, 1 MB pamięci SRAM oraz 32 MB zewnętrznej pamięci flash i 2 MB wewnętrznej 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.
- Dwa piny I/O do sterowania serwomechanizmami.
- Przerwania i PWM na wszystkich pinach I/O (na płytce znajduje się 10 pinów I/O).
- Oraz dioda LED RGB i dwie diody IR o dużej mocy 850 nm.
- 32 MB zewnętrznej 32-bitowej pamięci SDRAM taktowanej z częstotliwością 100 MHz, zapewniającej przepustowość 400 MB/s.
- 32 MB zewnętrznej pamięci flash quadspi taktowanej z częstotliwością 100 MHz w trybie 4-bit DDR, zapewniającej przepustowość 100 MB/s (prędkość odczytu).
- 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:
- OpenMV Cam H7 Plus jest wyposażony wOV5640Czujnik obrazu jest zdolny do wykonywania obrazów o rozdzielczości 2592x1944 (5MP). Większość prostych algorytmów będzie działać z prędkością 25-50 klatek na sekundę w rozdzielczościach QVGA (320x240) i niższych. Twój czujnik obrazu jest wyposażony w obiektyw 2,8 mm na standardowym mocowaniu obiektywu M12. Jeśli chcesz używać bardziej specjalistycznych obiektywów z czujnikiem obrazu, możesz je łatwo zakupić i zamontować samodzielnie. Aby używać bardziej specjalistycznych obiektywów, możesz je łatwo zainstalować.
- Do profesjonalnych zastosowań wizji maszynowej możesz zakupić naszemoduł kamery global shutter mt9V034SingTown
- W przypadku zastosowań wizji maszynowej z wykorzystaniem obrazowania termicznego w podczerwieni, możesz zakupić naszModuł termowizyjny FLIR Lepton.
- Interfejs akumulatora litowo-jonowego 3,7 V, możesz zakupić nasz SingTown3.7V-1000MAH bateria litowo-jonowa
Dokumentacja:https://singtown.com/openmv/
Aplikacje
Obecnie kamera OpenMV może wykonywać następujące czynności (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 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ż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.

- Frame Differencing
- Możesz zastosować algorytm różnicowania klatek na swoim OpenMV Cam, aby wykrywać ruch w scenie. Różnicowanie klatek umożliwia wykorzystanie Twojego OpenMV w zastosowaniach związanych z bezpieczeństwem.
- Śledzenie koloru
- Możesz użyć OpenMV do jednoczesnego wykrywania 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 plam. OpenMV poinformuje Cię o lokalizacji, rozmiarze, środku i orientacji każdej plamy. Używając śledzenia kolorów, Twój OpenMV Cam może zostać zaprogramowany do śledzenia słońca, podążania za liniami, śledzenia celów i nie tylko. Demo wideo:/learn/49993

- Śledzenie znaczników
- Możesz użyć swojego OpenMV Cam do wykrywania grup kolorów zamiast pojedynczych kolorów. Pozwala to na umieszczenie znaczników kolorów (2 lub więcej etykiet kolorystycznych) na obiektach, a OpenMV odczyta zawartość oznaczonych obiektów.
- Wykrywanie twarzy
- Możesz użyć swojej 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, w którym ktoś patrzy. Możesz to wykorzystać 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.
- Optical Flow
- 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ć swojego kamery OpenMV do odczytywania kodów QR w 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 kodu kreskowego liniowego
- 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.
- Dopasowywanie 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 znalezienia znaczników na płytkach drukowanych lub odczytania 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, wykorzystuj 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 rozpoczęciem i zakończeniem nagrywania. 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.