Ми в Evergreen вже не перший рік створюємо продукти по розпізнаванню на основі нейронних мереж. У нас є напрацювання в області систем розпізнавання і візуального пошуку для різних видів бізнесу. Якщо ви цікавитеся розпізнаванням облич або хочете використовувати його в вашому проєкті, можемо запропонувати вам готовий продукт — систему розпізнавання і порівняння облич по фото Face ID.

Для того, щоб нейронна мережа вміла розпізнавати об'єкти і образи на зображенні, потрібно їй для початку "показати", що саме там знаходиться. Для цього і призначена розмітка.

Розмітка зображень (Image Annotation, анотування зображень, анотація зображень) є невід'ємною частиною розробки штучного інтелекту, і це одна з основних задач у технології комп'ютерного зору. Анотовані зображення потрібні в якості початкових даних для навчання нейронних мереж: розпізнавання об'єктів на зображеннях дозволяє комп'ютерам "бачити" навколишній світ подібно до людини.

Ручна розмітка об'єктів на зображеннях - трудомістке і досить витратне завдання, особливо якщо потрібно зробити розмітку великих наборів даних. Для тих, хто детально цікавиться технологією, ми помістили опис деяких завдань під кат.

Розмітка зображень (натисніть, щоб розгорнути)

- завдання, що виконується людиною, полягає в додаванні міток до зображення для створення навчальних вибірок для алгоритмів комп'ютерного зору (анотування). Розробники штучного інтелекту, як правило, анотують зображення вручну з використанням спеціальних програм або інструментів для розмітки - виділяють кордони об'єктів і створюють до них текстові підписи.

Послуги з розмітки зображень включають:

  • bounding boxes - навколо об'єктів, що потрібно розмітити, малюють векторні 2D-прямокутники;
  • 3D-кубоід - майже те саме, що і 2D-прямокутники, проте вони додатково показують приблизну глибину об'єктів;
  • лінії і сплайни - це позначення прямих або кривих на зображеннях: шляхи, тротуари, дороги тощо. Ця техніка використовується для розпізнавання смуг руху і кордонів, а також планування траєкторій безпілотних автомобілів, дронів, складських роботів і в багатьох інших випадках;
  • семантична сегментація - всі об'єкти на зображенні анотує згідно зі списком семантичних міток;
  • попіксельна сегментація;
  • полігональная сегментація - використовується для сегментації об'єктів неправильної форми і щоб точно окреслити всі контури об'єкта;
  • класифікація зображень - процес присвоєння єдиною мітки цілого зображення.

Автоматична анотація зображень (Automatic Image Annotation, також відома як автоматичне маркування зображень) - це процес, в якому комп'ютер автоматично привласнює метадані цифровому зображенню (підписи або мітки), використовуючи відповідні ключові слова для опису його візуального змісту. Детальніше про автоматичний опис зображень ви можете прочитати у нашій статті.

Наявні алгоритми розмітки зображень можна розділити на дві категорії:

  • методи навчання на основі моделей - вони досліджують кореляцію між візуальними характеристиками та їхніми семантичним значенням для виявлення функції відображення за допомогою машинного навчання або моделей представлення знань для розмітки зображень;
  • моделі на основі бази даних - вони відразу видають послідовність ймовірних міток (лейблів) відповідно до вже анотованими зображеннями у базі даних.

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

Приклад анотування

Джерело: https://github.com/

Open source інструменти для розмітки зображень.

Ми підібрали кілька рішень із відкритим вихідним кодом, що можуть полегшити життя розмітників даних. Їх також можна використовувати в якості бази для розробки кастомних інструментів.

LabelImg - базовий інструмент анотування

Безкоштовний опенсорсний графічний інструмент для розмітки зображень, написаний на Python, який використовується для виділення об'єктів на зображенні. Анотації можна зберегти як XML-файли у форматі PASCAL VOC/YOLO. LabelImg дозволяє створювати прямокутники (bounding boxes) для розмітки об'єктів у графічному інтерфейсі Qt. Ми в Evergreen використовували це рішення при підготовці датасета для навчання нейронних мереж у декількох наших проектах із розпізнавання.

CVAT — універсальний редактор для розмітки даних

CVAT - безкоштовний інструмент із відкритим вихідним кодом для розмітки цифрових зображень і відео, а також легко підготувати наборів даних для алгоритмів комп'ютерного зору. Він дозволяє розмічати дані для декількох завдань машинного навчання: розпізнавання об'єктів, класифікації та сегментації зображень. CVAT підтримує ряд додаткових компонентів: Deep Learning Deployment Toolkit (компонент в складі OpenVINO), NVIDIA CUDA Toolkit, TensorFlow Object Detection API та інші.

Інструмент CVAT

Джерело: https://github.com/opencv/cvat

Auto_Annotate — 2D-розмітка за допомогою нейронки

Це рішення з відкритим вихідним кодом для автоматизованої розмітки зображень. Клас Python під назвою 'generate XML' розмічає зображення через умовивід попередньо навченої моделі, щоб визначити позиції обмежують прямокутників. Скрипт також використовує репозиторій TensorFlow для навчання. Отримані у результаті зображення (з розміткою у формі bounding boxes) і XML можна після цього відкрити в LabelImg.

Автоматична розмітка зображень

Джерело: https://medium.com/

Комерційні утиліти для розмітки зображень

Ми склали для вас добірку з декількох цікавих платних рішень, створених для полегшення процесу анотування зображень у комерційних, наукових та інших проектах.

Hasty.ai — автоматична розмітка даних з AI

Платформа пропонує кілька інструментів анотування на основі АІ (DEXTR, прогнозування класифікації, помічник із виявлення об'єктів і сегментації тощо) на рівні з інструментами ручної розмітки. Автоматично нанесені контури об'єктів можна підкоригувати вручну для підвищення точності й якості розмітки. Ви також можете використовувати власні набори даних для подальшого навчання алгоритмів із виявлення об'єктів і сегментації.

V7 Darwin — піксельна розмітка зображень на базі нейромереж

Автоматизований інструмент розмітки на основі AI, що працює з усіма даними і автоматично генерує полігональні і піксельні маски. Можна задати область для розпізнавання - алгоритм глибокого навчання визначить найбільш помітний об'єкт або його видиму частину і завдасть розмітку. Завдяки використанню штучного інтелекту Darwin може генерувати дуже точні маски з першого разу.

Dataloop — розмітка великих масивів даних

Хмарна платформа для анотування, що складається з безлічі додатків для автоматизації процесу підготовки даних для рітейлу, робототехніки, автономних транспортних засобів, точного землеробства і не тільки. Інструменти розмітки Dataloop працюють з усіма видами зображень (картинки, відео). Ви можете інтегрувати моделі deep learning і автоматизувати процес розмітки, використовуючи попередньо навчені класи. Спеціаліст із розмітки даних потім тільки перевіряє точність контурів і вносить необхідні зміни, що прискорює процес анотації.

Наша команда в Evergreen успішно використовує TensorFlow - систему машинного навчання з відкритим вихідним кодом - для навчання глибоких нейронних мереж в наших розробках, наприклад, щоб інтегрувати візуальний пошук і розпізнавання об'єктів у системи клієнтів. Хочете дізнатися більше цікавого про кейсах Evergreen? Зв'яжіться з нами прямо зараз.

Замість висновків

Розмітка даних на зображеннях або відео необхідна для "згодовування" моделям глибинного навчання інформації про те, що зображено на картинці. Так комп'ютери і машини вчаться краще пізнавати та розпізнавати об'єкти.

Фахівці Evergreen давно працюють із технологіями машинного навчання і штучного інтелекту. Можемо створити, підтримувати та вдосконалювати індивідуальне рішення для клієнта: швидко побудувати MVP на базі опенсорсного рішення, розвивати проєкт у міру зростання, з вигодою для замовника і можливістю масштабування в майбутньому.

Якщо ви шукаєте рішення для вашого бізнесу або онлайн-проєкту на базі штучного інтелекту - не соромтеся звертатися до нас. Будемо раді запропонувати вам продукт, що використовує передові технології машинного навчання - просто зателефонуйте або заповніть форму.

22.07.2020
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.