logo
OpenMV
Домашня камера
Додатки
Магазин
AI
Канали збуту
Підтримка
OpenMVOpenMV
ЩитиЩити
Об'єктивОб'єктив
РобототехнікаРобототехніка
книгаКнига
відеоВідео
ЗавантажитиЗавантажити
документиДокументи
ФорумФорум
OpenMV.ioOpenMV.io
GithubGithub

Виявлення цільових точок за допомогою нейронної мережі, навченої в OpenMV — розпізнавання дорожніх знаків у реальних умовах руху

У сфері комп’ютерного зору із застосуванням штучного інтелекту є дві дуже поширені задачі: класифікація та виявлення об’єктів.

Категорія:Визначити, до якої категорії належить зображення, наприклад, чи це кіт, чи собака.

Виявлення об’єктів:Використовується для визначення розташування, кількості та розмірів кількох різних об’єктів на зображенні.

У попередніх відеоуроках ми розглянули, як за допомогою OpenMV4 Plus здійснювати онлайн-навчання нейронної мережі для класифікації різних об’єктів. Це дозволяє в реальному часі визначати, чи є на зображенні, отриманому через OpenMV, певний об’єкт — наприклад, чи носить людина маску. Однак ця функція не забезпечує виведення координат розташування облич або масок, а також кількості облич.

Оскільки виявлення об’єктів є значно складнішим і ресурсоємним завданням порівняно з класифікацією, воно дуже рідко використовується в галузі мікроконтролерів. Основний мікроконтролер OpenMV — це STM32H7. Зараз у OpenMV додано нову функцію, яка дозволяє виконувати завдання, подібні до виявлення об’єктів, безпосередньо на мікроконтролерах, і її продуктивність є надзвичайно високою.

交通标志识别教程-多个目标的识别

Сьогодні ми розповімо вамНавчання демонструє виявлення дорожніх знаків у реальних умовах дорожнього руху, виявляючи дорожні знаки на наших справжніх дорогахнаприклад, заборона сигналізації, заборона стоянки, обмеження швидкості до 80 км/год тощо, а не лабораторне середовище без перешкод.

Ви можете переглянути весь вміст проекту за наступною адресою, у тому числі весь код і моделі: https://book.openmv.cc/project/traffic-sign.html

Як відомо, реальні умови є дуже складними, особливо дорожнє середовище, де наявна велика кількість перешкод. Ми зробили знімки дорожніх знаків у реальних умовах за допомогою смартфонів та інших пристроїв, а потім використали онлайн-платформу EdgeImpulse нашого партнера OpenMV для навчання моделі: було розмічено приблизно 270 зображень, а сам процес навчання тривав лише 10 хвилин. Точність отриманої моделі, виміряна за метрикою F1-score, становить 92 %, а частота кадрів під час її роботи на платформі OpenMV — 10 кадрів на секунду, що забезпечує дуже плавну й високоточну роботу.

Користувачі можуть навчати систему розпізнавання будь-яких об’єктів за відеоінструкціями: різних цифр, різних фруктів, різних маркувальних знаків, різних деталей або навіть будь-яких конкретних неправильних об’єктів тощо. У результаті навчання система здатна визначати кількість, координати та назви типів об’єктів.

Увага:У цьому відеоуроці розглядається функція виявлення цільових точок за допомогою нейронної мережі, яка підтримує як OpenMV4 H7 Plus, так і OpenMV4 H7. Це пояснюється тим, що навчені моделі виявлення цільових точок FOMO мають невеликий обсяг, забезпечують високу ефективність й займають лише кілька десятків кілобайт. Навіть при меншому обсязі оперативної пам’яті в OpenMV4 H7 порівняно з версією Plus ми можемо навчити трохи меншу модель для її використання на платформі OpenMV4.

Нижче наведено коротке пояснення принципу роботи:

Основним рішенням у проектуванні виявлення точок цілей FOMO на платформі OpenMV є ідея про те, що для багатьох завдань виявлення об’єктів фактично не потрібно знати розміри об’єктів, а лише їхнє розташування на зображенні. Як тільки ми визначаємо положення об’єктів, можемо виконувати подальші дії, наприклад керування автомобілем за допомогою OpenMV для руху до виявленої цілі, точкове приземлення дронів або керування маніпулятором для захоплення певного об’єкта.

Модель FOMO — це спеціально розроблена для середовища мікроконтролерів модель від компанії EdgeImpulse, яка на відміну від традиційних моделей виявлення об’єктів здатна визначати лише положення та кількість об’єктів, але не їхні точні розміри.

Основний принцип моделі FOMO дуже простий і гнучкий. Спочатку зображення розбивається на блоки розміром 8×8 пікселів. У разі зображення з роздільною здатністю 96×96 отримуємо сітку 12×12 клітинок. У разі зображення з роздільною здатністю 360×360 отримуємо сітку 40×40 клітинок. Потім до кожної клітинки незалежно застосовується класифікація зображень.

Порівняно з YOLO V5 або MobileNet SSD, FOMO демонструє значно кращі результати при виявленні великої кількості малих об’єктів. Виявлення точок цілей за допомогою FOMO є в 30 разів швидшим, ніж у MobileNet SSD.

Якщо об’єкти, які потрібно виявити, мають приблизно однакові розміри — наприклад, розміри маркерів, що підлягають розпізнаванню, практично не відрізняються між собою, а не є одночасно надзвичайно великими й надзвичайно малими, — ефективність FOMO буде вищою.

OpenMV використовує онлайн-тренування нейронної мережі для виявлення цільових точок у EdgeImpulse, що здійснюється у кілька основних етапів: збір та завантаження набору зображень, розмітка цілей, тренування, тестування моделі та її розгортання.

* Збирання набору зображень: фотографування конкретних об’єктів у середовищі, в якому їх потрібно розпізнавати. Ми збираємо реальні зображення в тому самому середовищі, де здійснюється розпізнавання; фактичне середовище навчання й фактичне середовище виявлення практично ідентичні, що забезпечує кращі результати.

* Позначте ціль: виділіть прямокутником кожен об’єкт, який потрібно виявити в нашому наборі даних, і зв’яжіть його з відповідною назвою, щоб спростити подальше навчання, визначення розташування об’єктів та їхніх назв.

* Навчання моделі: після завершення розмітки модель навчається згідно з параметрами згорткової нейронної мережі, розробленими нами.

* Тестування моделі: ми проводимо тестування на основі навченої моделі; якщо результати є недостатніми, відповідним чином збільшуємо навчальний набір даних або коригуємо параметри навчання й продовжуємо процес навчання до отримання задовільної моделі.

*Розгортання: Ми розміщуємо навчені файли моделі на вбудований USB-накопичувач OpenMV, і їх можна відразу запускати.

Нижче наведено демонстрацію конкретного процесу:

01. Збирання та завантаження набору зображень

1. По-перше, увійдіть на веб-сайт edgeimpulse.com, виберіть «Увійти», введіть назву нового проекту та виберіть «Зображення» → «Класифікувати кілька об’єктів»

交通标志识别教程-新建项目.

Другий крок. Виберіть зображення для завантаження. Існує кілька способів отримання набору даних із зображень:

1. Здійснюйте реальний збір зображень за допомогою OpenMV IDE. За допомогою інструменту «Редактор набору даних», що входить до складу OpenMV IDE, створіть новий набір даних для реального збору зображень. Детальніше це описано у нашому попередньому відеопідручнику з класифікації об’єктів та розпізнавання масок.

交通标志识别教程-.实时采集图像

2. Зображення, завантажені з інтернету, або фотографії, зроблені за допомогою мобільного телефону. Бажано, щоб вони відповідали реальному середовищу, у якому проводиться виявлення. Ми підготували чотири-п’ятсот зображень дорожніх знаків, що забороняють стоянку, забороняють сигналізацію та встановлюють обмеження швидкості 80 км/год. Кожне зображення отримано на справжніх дорогах. Цей набір даних доступний для завантаження на нашому GitHub та навчальному веб-сайті.

02. Позначення цільових об’єктів

Для кожної категорії завантажується приблизно 100 зображень; після завантаження зображень необхідно виконати їх розмітку, вказавши положення та категорію об’єктів, які потрібно розпізнати.

交通标志识别教程-上传图片
交通标志识别教程-标记物体

03. Навчання моделі

Встановіть параметри навчання: змініть роздільну здатність на 128 × 128; усі інші параметри залиште за замовчуванням і натисніть «Зберегти».

交通标志识别教程-训练模型1.

Створення ознак: три кольори відповідають трьом позначкам.

交通标志识别教程-训练模型2

Налаштування параметрів навчання для виявлення цілей. Кількість епох навчання за замовчуванням — 60, швидкість навчання — 0,001, частка набору даних для перевірки — 20 %. Увімкніть аугментацію даних. Для перенесення навчання можна обрати модель MobileNetV2 0,35 або MobileNetV2 0,1 за замовчуванням. (Увага: не використовуйте SSD, оскільки SSD не працює на платформі OpenMV.)

Виберіть «Почати навчання». Після завершення навчання значення F1-показника отриманої нейронної мережі становить 91,2 %; поточну версію можна зберегти.

交通标志识别教程-训练模型3

Виберіть сховище, введіть опис і натисніть «Зберегти».

交通标志识别教程-训练模型4

04. Розгортання моделі

Експортуйте файл навченого моделі. Достатньо експортувати лише бібліотеку: виберіть OpenMV і натисніть Build, щоб розпочати розгортання та експорт моделі.

交通标志识别教程-部署模型1

Він автоматично завантажить модель, яку ми експортували; тут розташована модель, навчена на 300 зображеннях, і таким чином весь процес навчання завершено.

交通标志识别教程-部署模型2

05. Запуск моделі

Запуск моделі на OpenMV:

Підключіть OpenMV Plus, скопіюйте три навчені файли до вбудованого USB-накопичувача OpenMV та відкрийте файл ei_object_detection.py у середовищі розробки OpenMV IDE. Натисніть кнопку «Запустити». Результати виконання відобразяться у послідовному терміналі.

交通标志识别教程-运行模型1
交通标志识别教程-运行模型2

Ця функція також працює на OpenMV4. Оскільки OpenMV4 не має зовнішньої SDRAM, обсяг пам’яті менший, і ми можемо зменшити розмір моделі, щоб забезпечити її роботу на OpenMV4.

Існує два способи зменшення обсягу моделі:

1. Зменшити роздільну здатність навчання, змінивши її з 128×128 на 96×96.

Друга. Змінити використовувану модель перенесеного навчання: замінити MobileNetV2 0.35 на MobileNetV2 0.1.

Нарешті, розмістіть навчений новий файл у OpenMV4 для виконання.

Вище наведено навчальний посібник із виявлення цільових точок. Очікуємо на ваші результати!

Схожі статті

机房/配电房/单元门敞开识别

AI-охоронець на основі OpenMV: автоматичне сповіщення про незакриті об’єкти в ключових місцях

Автоматично визначає, чи двері важливих приміщень залишаються відкритими протягом тривалого часу, і негайно надсилає сповіщення.

越界识别

Попередження про виходу осіб за межі: OpenMV забезпечує відчуття безпечної зони

Виявлення поведінки виходу осіб або обладнання за межі віртуальної охоронної лінії.

占道经营识别

З’явився «AI-інспектор з муніципального нагляду»: автоматизована система розпізнавання незаконної торгівлі на вулиці, побудована на базі OpenMV

Автоматичне розпізнавання порушень правил ведення підприємницької діяльності на проїзній частині для підтримки повсякденної міської управління.

煤气罐违规摆放识别

Неправильне розміщення газових балонів? Використовуйте OpenMV для автоматичного спрацьовування попередження про небезпеку

Автоматичне виявлення неправильного розташування газових балонів та попереднє виявлення потенційних небезпек, пов’язаних із газом.

绝缘手套佩戴识别

Виконання робіт під напругою без діелектричних рукавиць? OpenMV негайно подасть сигнал тривоги!

Автоматичне розпізнавання того, чи одягнуто ізоляційні рукавиці на працівників, що виконують роботу, для забезпечення безпеки.

铝板缺陷识别

Використання інтелектуальної камери OpenMV для реального часу виявлення дефектів на поверхні алюмінієвої пластини

Онлайн-виявлення дефектів на поверхні алюмінієвих листів, таких як подряпини та вмятини, для підтримки контролю якості.

Популярні категорії

Мова та регіон
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号