Funkcje
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:
- RT1062Procesor ARM Cortex M7 pracujący z częstotliwością 600 MHz, wyposażony w 32 MB pamięci SDRAM, 1 MB SRAM oraz 16 MB pamięci flash na program i dane. Wszystkie piny wejścia/wyjścia generują napięcie 3,3 V i są odporne na napięcie 3,3 V. Procesor posiada następujące interfejsy wejścia/wyjścia:
- Wysokoprędkościowy interfejs USB-C (480 Mb/s) do komputera. Po podłączeniu kamera OpenMV Cam będzie widoczna jako wirtualny port COM oraz dysk USB.
- Limit prądu 1.5A.
- Z filtrowaniem EMI i ochroną TVS.
- Gniazdo karty μSD umożliwiające odczyt i zapis z prędkością 25 MB/s, co pozwala Twojej kamerze OpenMV na robienie zdjęć oraz łatwe pobieranie zasobów wizji maszynowej z karty μSD.
- Z filtrowaniem EMI i ochroną TVS.
- Szyna SPI, która może działać z prędkością do 60 Mb/s, umożliwiając łatwe przesyłanie danych obrazu z systemu do tarczy LCD lub innego mikrokontrolera.
- Szyna I2C (do 1 Mb/s), szyna CAN (do 1 Mb/s) oraz asynchroniczna szyna szeregowa (TX/RX, do 20 Mb/s) do komunikacji z innymi mikrokontrolerami i czujnikami.
- 12-bitowy przetwornik analogowo-cyfrowy (tolerancja 3,3 V).
- Trzy piny I/O do sterowania serwomechanizmami.
- Jeden pin I/O do synchronizacji ramki/uruchamiania (lub sterowania serwomechanizmem).
- Jeden pin I/O do wybudzania w trybie niskiego poboru mocy.
- Istnieje również pin obsługujący włączanie/wyłączanie przycisku zasilania urządzenia.
- Przerwania na wszystkich pinach wejścia/wyjścia (na płytce znajduje się 14 pinów wejścia/wyjścia).
- Wbudowany zegar czasu rzeczywistego (RTC), który działa, gdy system jest w trybie niskiego poboru mocy (system pobiera mniej niż30 μAw trybie oszczędzania energii).
- Sterowalne przez użytkownika/adjustowalne diody LED RGB.
- Kolejna dioda LED RGB do wskazywania ładowania, zasilania USB i zasilania VIN.
- 32 MB zewnętrznej 16-bitowej pamięci SDRAM taktowanej z częstotliwością 160 MHz, zapewniającej przepustowość 320 MB/s.
- 16 MB pamięci programowej/przechowywania quadspi flash taktowanej na 133 MHz w trybie 4-bit SDR dla przepustowości 66 MB/s (prędkość odczytu).
- 12-bitowy akcelerometr X/Y/Z (2/4/8g) umieszczony centralnie pod modułem kamery.
- Moduł WiFi (a/b/g/n - 11/54/65 Mb/s) i Bluetooth (v5.1 - BR/EDR/BLE) z anteną chipową.
- Opcja użycia anteny U.FL zamiast niej.
- Wbudowany 10/100 Mb/s Ethernet.
- Gniazdo Ethernet z obsługą PoE poprzez zewnętrzną osłonę.
- Silne kryptograficzne uwierzytelnianie z obsługą elementu bezpieczeństwa poprzez SE050C1HQ1.
- System modułu kamery umożliwiający interfejsowanie kamery OpenMV Cam RT1062 z różnymi czujnikami:
- TheOpenMV Cam RT1062wraz zOV5640Czujnik 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ą około 40 klatek na sekundę w rozdzielczościach QVGA (320x240) i niższych. Jeśli chcesz używać bardziej specjalistycznych obiektywów z czujnikiem obrazu SingTown, możesz je łatwo kupić i samodzielnie zamontować.
- W profesjonalnych zastosowaniach wizji maszynowej możesz zakupić nasze SingTown.MT9V034 Global Shutter Moduł KamerySingTown
- Do zastosowań termowizyjnych w maszynach wizyjnych możesz zakupić nasze SingTown.FLIR Lepton moduł termowizyjny w podczerwieniSingTown
- Interfejs akumulatora litowo-jonowego 3,7 V, obsługujący ładowanie przez USB. Możesz zakupić nasz3.7V-1000MAH bateria litowo-jonowaSingTown
- 100 mA Prąd Szybkiego Ładowania
- Z ochroną TVS.
- 10-pinowe złącze JTAG zgodne z ARM, kompatybilne z urządzeniami SEGGER J-Link, przeznaczone do debugowania i programowania.
- Z filtrem EMI i ochroną TVS.
- Zewnętrzne zasilanie 5V VIN z ochroną przed zasilaniem wstecznym.
Aby uzyskać więcej informacji, odwiedź: SingTownhttps://singtown.com/openmv/
Aplikacje
Obecnie kamera OpenMV może być wykorzystywana do następujących zadań (więcej w przyszłości):
- 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 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.

- Algorytm Różnicowania Klatek
- Możesz zastosować algorytm różnicowania klatek na kamerze OpenMV, aby obserwować ruch w scenie. Algorytm różnicowania klatek może być wykorzystywany w zastosowaniach związanych z bezpieczeństwem.
- Śledzenie koloru
- Możesz użyć OpenMV do jednoczesnego wykrywania do 16 kolorów na obrazie (nigdy nie będziesz potrzebował wykrywać więcej niż 4 kolory), a każdy kolor może mieć dowolną liczbę różnych obszarów kolorystycznych. OpenMV poinformuje Cię o pozycji, rozmiarze, środku i kierunku każdego obszaru kolorystycznego. Dzięki śledzeniu kolorów, Twój OpenMV Cam może być zaprogramowany do śledzenia słońca, linii, celów i wielu innych zastosowań. Demonstracja 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 kolorowych (znaczników z 2 lub więcej kolorami) na obiektach, a OpenMV odczyta zawartość obiektu znacznika.

- Wykrywanie twarzy
- Możesz użyć kamery OpenMV (lub dowolnego ogólnego obiektu) do wykrywania twarzy. Twoja kamera OpenMV może przetwarzać szablony Haar do ogólnego wykrywania obiektów i posiada wbudowane szablony Haar do twarzy frontalnych oraz oczu, aby wykrywać twarze i oczy./learn/50013
- Śledzenie wzroku
- Możesz użyć śledzenia wzroku, aby wykryć kierunek spojrzenia danej osoby. Możesz go użyć do sterowania robotami. Śledzenie wzroku wykrywa pozycję źrenicy, jednocześnie sprawdzając, czy na obrazie znajdują się oczy.
- Wykrywanie osób
- Możesz użyć wbudowanego detektora osób (model TensorFlow Lite), aby wykryć, czy w polu widzenia znajdują się ludzie.
- Optical Flow
- Możesz wykorzystać przepływ optyczny do wykrywania sceny przed kamerą OpenMV. Na przykład, możesz zastosować przepływ optyczny w quadkopterze do kontroli stabilności 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 znaczników w otoczeniu.
- Wykrywanie/odczytywanie kodu Data Matrix
- Kamera OpenMV może również wykrywać i dekodować kody Data Matrix (dwuwymiarowe kody kreskowe). Możesz obejrzeć nasz film tutaj.
- Dekodowanie kodu kreskowego liniowego
- Kamera OpenMV może również obsługiwać kody kreskowe 1D. Potrafi dekodować EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DATABAR_EXP, CODABAR, CODE39, CODE93 oraz CODE128. Obejrzyj nasz film tutaj:/learn/50017
- Śledzenie AprilTag
- Jeszcze lepiej niż powyższy kod QR, 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
- Kamera OpenMV może szybko wykrywać linie nieskończonej długości z niemal pełną częstotliwością klatek. Potrafi również odnajdywać odcinki linii o skończonej długości. Obejrzyj nasz film tutaj:/learn/50009
- Wykrywanie Okręgów
- Możesz łatwo wykryć okręgi na obrazie za pomocą OpenMV.
- 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 znajdowania oznaczeń 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, korzystając z algorytmów wizji maszynowej, możesz rysować linie, dodawać znaki, a następnie zapisywać je.
- 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 filmu. Ponadto, podobnie jak przy przechwytywaniu obrazów, możesz używać algorytmów wizji maszynowej do rysowania linii, znaków, a następnie ich zapisywania.
Wreszcie wszystkie powyższe funkcje można połączyć z kontrolą pinów wejścia/wyjścia, aby dopasować je do niestandardowych aplikacji i interakcji z rzeczywistym światem.