OpenMV Cam — це невелика плата з мікроконтролером та низьким енергоспоживанням, яка дозволяє легко впроваджувати застосунки з використанням машинного зору в реальному світі. Ви програмуєте OpenMV Cam за допомогою скриптів мовою Python високого рівня (завдяки операційній системі MicroPython), а не на C/C++. Це спрощує роботу зі складними результатами алгоритмів машинного зору та роботу з високорівневими структурами даних. Однак у Python ви все ще маєте повний контроль над вашим OpenMV Cam та його вхідно-вихідними контактами. Ви можете легко ініціювати зйомку фотографій та відео за зовнішніми подіями або виконувати алгоритми машинного зору, щоб визначити, як керувати вашими вхідно-вихідними контактами.
OpenMV Cam має такі особливості:
- STM32H743IIПроцесор ARM Cortex M7 з тактовою частотою 480 МГц, оснащений 32 МБ SDRAM + 1 МБ SRAM та 32 МБ зовнішньої флеш-пам'яті + 2 МБ внутрішньої флеш-пам'яті. Усі вхідно-вихідні контакти видають напругу 3,3 В і сумісні з 5 В. Процесор має такі інтерфейси введення-виведення:
- Повношвидкісний USB (12 Мбіт/с) інтерфейс для підключення до комп'ютера. Ваша камера OpenMV Cam при підключенні з'являтиметься як віртуальний COM-порт та USB-накопичувач.
- Роз'єм для карти μSD зі здатністю читання/запису 100 Мбіт/с, що дозволяє вашій камері OpenMV робити знімки та легко отримувати ресурси машинного зору з карти μSD.
- Шина SPI, що може працювати зі швидкістю до 80 Мбіт/с, дозволяє легко передавати дані зображення з системи на LCD Shield, WiFi Shield або інший мікроконтролер.
- Шина I2C (до 1 Мб/с), шина CAN (до 1 Мб/с) та асинхронна послідовна шина (TX/RX, до 7,5 Мб/с) для взаємодії з іншими мікроконтролерами та датчиками.
- 12-розрядний АЦП та 12-розрядний ЦАП.
- Два вхідно-вихідних контакти для керування сервоприводами.
- Переривання та ШІМ на всіх входах/виходах (на платі є 10 контактів вводу/виводу).
- А також, світлодіод RGB та два потужні інфрачервоні світлодіоди з довжиною хвилі 850 нм.
- 32 МБ зовнішньої 32-бітної SDRAM з тактовою частотою 100 МГц для пропускної здатності 400 МБ/с.
- 32 МБ зовнішньої квад-SPI флеш-пам'яті з тактовою частотою 100 МГц у 4-бітному DDR-режимі для пропускної здатності 100 МБ/с (швидкість читання).
- Система знімного модуля камери з підтримкою 8-бітного паралельного інтерфейсу, що дозволяє OpenMV Cam H7 взаємодіяти з різними сенсорами:
- OpenMV Cam H7 Plus постачається зOV5640Матриця здатна знімати зображення розміром 2592x1944 (5 Мп). Більшість простих алгоритмів працюватимуть зі швидкістю 25-50 кадрів/с у роздільній здатності QVGA (320x240) та нижче. Ваша матриця постачається з об'єктивом 2,8 мм на стандартному кріпленні M12. Якщо ви бажаєте використовувати спеціалізованіші об'єктиви з вашою матрицею, ви можете легко придбати та встановити їх самостійно.
- Для професійних застосувань машинного зору ви можете придбати наш SingTownглобальний затвор камери модуль mt9V034SingTown
- Для інфрачервоних термографічних застосувань машинного зору ви можете придбати нашFLIR Lepton модуль тепловізійної зйомки.
- 3.7V інтерфейс літій-іонного акумулятора, ви можете придбати наш3.7V-1000MAH літій-іонний акумулятор
Документація:https://singtown.com/openmv/
Застосунки
Наразі камера OpenMV може виконувати такі функції (із планами на розширення):
- Нейронна мережа для виявлення об'єктів
- Ви можете використовувати OpenMV для навчання нейронних мереж для розпізнавання об'єктів, навчаючи будь-яку ціль, яку ви хочете виявити. Наприклад, різні цифри, різні фрукти, різні маркери, різні деталі або будь-які конкретні нерегулярні цілі можуть бути навчені для ідентифікації номера, координат та назви типу об'єкта конкретних цілей.
- Ви можете виявляти дорожні знаки на наших реальних дорогах за допомогою наших відеоуроків, наприклад, "гудіння заборонено", "стоянка заборонена", "обмеження швидкості 80" тощо./learn/50918
- Класифікація нейронних мереж
- Ви можете використовувати OpenMV для навчання нейронних мереж для розпізнавання об'єктів, навчаючи будь-яку ціль, яку ви хочете виявити. Наприклад, різні цифри, різні фрукти, різні маркери, різні деталі або будь-які конкретні нерегулярні цілі можна навчити ідентифікувати номер, координати та назву типу об'єкта конкретних цілей.
- Він може класифікувати, чи носить людина маску, на основі нашого відеоуроку./learn/50872
- TensorFlow Lite для мікроконтролерів
- Підтримка TensorFlow Lite дозволяє запускати власні моделі класифікації зображень та сегментації на камері OpenMV. За допомогою TensorFlow Lite ви можете легко класифікувати складні ділянки на зображенні та керувати контактами 1/0 на основі того, що бачите.

- Різниця кадрів
- Ви можете використовувати алгоритм порівняння кадрів на вашій камері OpenMV для виявлення руху в сцені. Порівняння кадрів дозволяє використовувати ваш OpenMV для застосувань у сфері безпеки.
- Відстеження кольору
- Ви можете використовувати OpenMV для одночасного виявлення до 16 кольорів на зображенні (хоча вам навряд чи знадобиться знаходити більше 4 кольорів), і кожен колір може мати будь-яку кількість різних плям. OpenMV повідомить вам місце розташування, розмір, центр та орієнтацію кожної плями. Використовуючи відстеження кольору, ваш OpenMV Cam можна запрограмувати для відстеження сонця, слідування лініям, відстеження цілей тощо. Відеодемонстрація:/learn/49993

- Відстеження маркерів
- Ви можете використовувати свою камеру OpenMV для виявлення груп кольорів замість окремих кольорів. Це дозволяє розміщувати кольорові мітки (2 або більше кольорових позначок) на об'єктах, і OpenMV отримає вміст позначених об'єктів.
- Виявлення обличчя
- Ви можете використовувати свою камеру OpenMV для виявлення облич (або будь-яких загальних об'єктів). Ваша камера OpenMV здатна обробляти шаблони Haar для загального виявлення об'єктів і має вбудовані шаблони Haar для фронтальних облич та очей для розпізнавання облич та очей./learn/50013
- Відстеження погляду
- Ви можете використовувати відстеження погляду для визначення напрямку, у який дивиться людина. Це можна застосовувати для керування роботами. Відстеження погляду визначає положення зіниці, одночасно перевіряючи наявність очей на зображенні.
- Виявлення осіб
- Ви можете використовувати вбудований детектор осіб (модель TensorFlow Lite), щоб визначити, чи є люди в полі зору.
- Optical Flow
- Ви можете використовувати оптичний потік для виявлення руху перед вашою камерою OpenMV. Наприклад, ви можете застосувати оптичний потік на квадрокоптері для підтримки стабільності у повітрі.
- Виявлення/декодування QR-коду
- Ви можете використовувати свою камеру OpenMV для зчитування QR-кодів у полі зору. За допомогою виявлення/декодування QR-кодів ви можете налаштувати розумних роботів на зчитування міток у їхньому середовищі.
- Виявлення/декодування Data Matrix
- OpenMV Cam також може виявляти та декодувати коди Data Matrix (двовимірні штрих-коди). Ви можете переглянути наше відео тут.
- Декодування лінійних штрих-кодів
- OpenMV Cam також може обробляти 1D штрих-коди. Він може декодувати EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 та CODE128. Перегляньте наше відео тут:/learn/50017
- Відстеження AprilTag
- Ще краще, ніж QR-коди вище, OpenMV Cam також може відстежувати AprilTags. AprilTags — це передові маркери-орієнтири, які є інваріантними до обертання, масштабу, зсуву та освітлення. Перегляньте наше відео тут:/learn/49590
- Визначення лінії
- OpenMV Cam може швидко виконувати виявлення нескінченних ліній, працюючи майже на повній частоті кадрів. Також він може знаходити відрізки не нескінченних ліній. Ви можете переглянути наше відео тут:/learn/50009
- Виявлення кіл
- Ви можете легко використовувати OpenMV для виявлення кіл на зображеннях.
- Виявлення прямокутників
- OpenMV також може виявляти прямокутники, використовуючи код виявлення квадратів з бібліотеки AprilTag.
- Шаблонне співставлення
- Ви можете використовувати шаблонне співставлення OpenMV для виявлення наявності зображень, схожих на шаблон, у полі зору. Наприклад, шаблонне співставлення можна застосовувати для пошуку маркерів на друкованих платах або зчитування відомих цифр на дисплеях.
- Захоплення зображення
- Ви можете використовувати OpenMV для захоплення зображень у форматах RGB565/відтінки сірого BMP/JPG/PPM/PGM. Ви можете безпосередньо керувати процесом захоплення зображень у скриптах Python. Найважливіше — застосовувати алгоритми машинного зору для малювання ліній, символів та подальшого збереження.
- Запис відео
- Ви можете використовувати камеру OpenMV для запису RGB565/відтінків сірого відео MJPEG або зображень GIF (або RAW відео). Ви можете безпосередньо керувати тим, як записується кожен кадр відео у скриптах Python, і мати повний контроль над початком і завершенням запису відео. Також, як і при фотографуванні, ви можете використовувати алгоритми машинного зору для малювання ліній, символів, а потім зберегти.
Нарешті, усі перелічені функції можна поєднати з керуванням через ввід-вивідні контакти для роботи з вашими власними застосунками, що взаємодіють із реальним світом.