Анотація зображень для машинного навчання
Анотація зображень — невіддільна частина розробки штучного інтелекту, одне з базових завдань у технології комп'ютерного зору. Анотовані зображення потрібні для тренування алгоритмів машинного навчання розпізнавати об'єкти на візуальних матеріалах і надавати комп'ютерам здатність «бачити» майже так, як це робимо ми, люди.
Анотація зображень — невіддільна частина розробки штучного інтелекту, одне з базових завдань у технології комп'ютерного зору. Анотовані зображення потрібні для тренування алгоритмів машинного навчання розпізнавати об'єкти на візуальних матеріалах і надавати комп'ютерам здатність «бачити» майже так, як це робимо ми, люди.
Ручна анотація зображень може бути тривалою й досить дорогою, особливо коли набір зображень, що потребують анотації, надзвичайно великий. Для техно-гіків нижче наведено опис деяких з цих завдань.
Ручна анотація зображень
Ручна анотація зображень — це виконувана людиною задача додавання міток до зображення (анотування) для створення тренувальних датасетів для алгоритмів комп'ютерного зору. AI-інженери зазвичай визначають ці мітки вручну за допомогою спеціального програмного забезпечення чи інструментів для анотації зображень: вони визначають ділянки на зображенні та створюють текстові описи до них.
Послуги анотації зображень включають:
- Обмежувальні рамки (bounding boxes) — малювання 2D векторних рамок навколо об'єктів, що потребують анотації в зображенні;
- 3D-паралелепіпеди — майже те саме, що й 2D-рамки, лише вони показують приблизну глибину цільових об'єктів;
- Лінії та сплайни — це маркування прямих чи вигнутих ліній на зображеннях: доріжки, тротуари, дороги тощо. Ця техніка використовується для розпізнавання смуг руху та меж, а також планування траєкторії для автономних автомобілів, дронів, складських роботів та в багатьох інших випадках;
- Семантична сегментація — усі об'єкти на зображенні анотуються згідно зі списком міток сегментів;
- Пікселева/попіксельна сегментація;
- Полігональна сегментація — використовується для сегментації об'єктів неправильної форми та захоплення всіх точних країв об'єкта;
- Класифікація зображень — процес присвоєння всьому зображенню однієї мітки.
Автоматична анотація зображень
Автоматична анотація зображень (AIA, також відома як автоматичне тегування зображень) — це процес, у якому комп'ютер автоматично присвоює метадані цифровому зображенню (підписи чи мітки), використовуючи релевантні ключові слова для опису його візуального вмісту. Детальніше про автоматичне генерування підписів до зображень можна прочитати в нашій статті.
Наявні алгоритми анотації зображень можна поділити на дві категорії:
- Методи навчання на основі моделей — вони досліджують кореляцію між візуальними ознаками та їх семантичним значенням, щоб знайти функцію відображення через машинне навчання або моделі знань для анотації зображень;
- Моделі на основі бази даних — вони безпосередньо надають послідовність правдоподібних міток на основі вже анотованих зображень у базі даних.
AI-інструменти анотації дозволяють користувачам маркувати більше зображень за коротший час і з більшою ефективністю, автоматизуючи більшість ручних завдань, а також можуть бути додатково натреновані «перекладати» нові зображення точніше.
Інструменти анотації з відкритим кодом
Ми обрали кілька рішень з відкритим кодом, які можуть полегшити процес анотації даних або можуть бути використані як основа для розробки кастомних AI-інструментів анотації.
LabelImg
Це безкоштовний графічний інструмент анотації зображень з відкритим кодом, написаний на Python, що використовується для маркування об'єктів на зображеннях. Анотації можна зберігати як XML-файли у форматі PASCAL VOC/YOLO. LabelImg дозволяє створювати обмежувальні рамки для анотації об'єктів, використовуючи графічний інтерфейс Qt. Ми в Evergreen використовували це рішення для підготовки датасетів для тренування нейронних мереж у кількох розроблених нами проєктах.
CVAT
CVAT — безкоштовний інструмент анотації зображень і відео з відкритим кодом, що забезпечує просте маркування датасетів для комп'ютерного зору. Він дозволяє користувачам анотувати дані для кількох завдань машинного навчання, включно з розпізнаванням об'єктів, класифікацією зображень та сегментацією зображень. CVAT підтримує додаткові опціональні компоненти: Deep Learning Deployment Toolkit (елемент Intel Distribution of OpenVINO toolkit), NVIDIA CUDA Toolkit, TensorFlow Object Detection API та інші.
Auto Annotate
Це рішення з відкритим кодом для автоматичної анотації зображень. Python-клас під назвою «generate XML» анотує зображення через інференс попередньо натренованої моделі, щоб отримати позиції обмежувальних рамок. Скрипт також використовує репозиторій TensorFlow для тренування. Отримані зображення (з обмежувальними рамками) та XML пізніше можна відкрити в LabelImg.
Комерційні інструменти анотації зображень
На ринку вже існує кілька цікавих рішень, розроблених для полегшення процесу анотації зображень для подальшого застосування в комерційних та академічних проєктах. Ось деякі з наших виборів.
Hasty.ai
Платформа надає кілька AI-інструментів анотації (DEXTR, Classification Predictor, Object Detection Assistant та Instance Segmentation Assistant) поряд з інструментами ручної анотації. Автоматично згенеровані анотації можна вручну коригувати для кращої точності та якості. Можна тренувати розпізнавання об'єктів, семантичну сегментацію та сегментацію екземплярів на власних датасетах.
V7 Darwin
Це автоматизований AI-інструмент анотації, що працює з усіма типами даних і автоматично генерує полігональні та попіксельні маски. Можна визначити ділянку інтересу, де присутній об'єкт, і алгоритм глибокого навчання виявить найпомітніший об'єкт чи видиму частину та сегментує її. Auto-Annotate AI від Darwin може генерувати дуже точні маски вже за першою спробою.
Dataloop
Хмарна платформа анотації, що складається з кількох застосунків для автоматизації процесів підготовки даних для роздрібної торгівлі, робототехніки, автономних транспортних засобів, точного землеробства та інших сфер. Інструменти анотації Dataloop можна використовувати для всіх поширених типів візуальних медіа (зображення, відео). Можна інтегрувати моделі глибокого навчання та запускати автоматичну анотацію, використовуючи попередньо натреновані класи. Люди-анотатори потім лише виправляють або перевіряють мічені дані, щоб пришвидшити процес анотації.
Досвід Evergreen у сфері анотації зображень
Наша команда в Evergreen успішно впроваджує TensorFlow — фреймворк машинного навчання з відкритим кодом — для тренування глибоких нейронних мереж у наших проєктах, і ми маємо досвід впровадження рішень візуального пошуку та розпізнавання об'єктів для наших клієнтів. Хочете дізнатися більше про наші бізнес-кейси? Зв'яжіться з нами просто зараз.
Підсумок
Маркування даних на зображеннях, у тексті чи відео необхідне для тренування алгоритмів глибокого навчання, «підживлюючи» модель інформацією про те, що зображено на картинці, і роблячи об'єкти розпізнаваними для комп'ютерів і машин.
Спеціалісти Evergreen мають багаторічний досвід використання технологій машинного навчання та штучного інтелекту для розробки проєктів у сфері візуального пошуку, розпізнавання облич та об'єктів для різних бізнесів. Ми можемо розробити, підтримувати та вдосконалювати індивідуальне рішення для клієнта: побудувати MVP на основі рішень з відкритим кодом швидко й економічно вигідно, підтримувати та обслуговувати проєкт на кожному етапі зростання, і закласти основу для майбутнього розвитку від самого початку.
Якщо ви зацікавлені у створенні персоналізованого рішення на базі AI для вашого бізнесу чи eCommerce-проєкту з елементами розпізнавання об'єктів, не соромтеся звертатися до нас. Ми будемо раді запропонувати вам унікальний продукт, що використовує інноваційну технологію машинного навчання — почнімо вже сьогодні!