Згорткова нейронна мережа, СНС, CNN – основний інструмент для класифікації та розпізнавання об'єктів, облич на фотографіях, розпізнавання мови. Є безліч варіантів застосування CNN, такі як Deep Convolutional Neural Network (DCNN), Region-CNN (R-CNN), Fully Convolutional Neural Networks (FCNN), Mask R-CNN та інші.

Ми будемо говорити в першу чергу про CNN для зображень, але "згортка" – універсальна операція. Її можна застосувати для будь-якого сигналу, чи то дані з датчиків, чи аудіосигнал, чи картинка.

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

Отже, у нас стоїть завдання виділити на зображенні якийсь об'єкт, наприклад, автомобіль. Людина легко розуміє що перед нею автомобіль і розпізнає його за тисячею дрібних ознак. Але як навчити машину що "цей набір точок на зображенні – автомобіль"? Відповідь на це питання лежить не в понятті згорткової мережі - з цим завданням може впоратися і найстаріша нейронна мережа на персептроні.

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

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

CNN распознавание изображений

Для чого застосовують згорткові нейронні мережі?

Згорткові нейронні мережі застосовуються досить широко і в різних областях. Нижче ми розглянемо прості прикладні приклади того, як можна застосовувати GAN і CNN в бізнесі.

Класифікація зображень і сигналів за допомогою нейронних мереж

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

Классификация изображений CNN

Класифікації за допомогою CNN активно застосовуються в медицині: можна навчити нейронну мережу класифікації хвороб або симптомів, наприклад, для МРТ-діагностики.

CNN в диагностике заболеваний

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

CNN прогнозирование урожайности

Розпізнавання об'єктів – object detection – за допомогою нейронних мереж

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

CNN в беспилотном транспорте

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

CNN распознавание контуров

Визначення марки та моделі конкретної техніки за допомогою машинного навчання

Визначити конкретну моделіь і марку об'єкта серед кількох візуально дуже схожих? Можливо. Більш того, ми в Evergreen вже вирішили це завдання машинного навчання в кейсі визначення моделі пульта за фото. Кейс втілювався за допомогою нейронних мереж із використанням фреймворку Tensorflow.

Нейронні мережі для розпізнавання облич і людей

Розпізнавання облич означає можливість виділяти обличчя на зображеннях. А потім, за допомогою нейромереж CNN, розпізнавати обличчя конкретної людини. Відеодемонстрацію того, як працює розпізнавання облич на базі нейронних мереж, зроблене в Evergreen, можна подивитися тут.

CNN Распознавание лиц

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

CNN поиск людей и их частей тела на фото\видео

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

На даний момент існує кілька конкуруючих моделей, що дозволяють отримати тривимірні моделі особи (3DMM) всього по одній фотографії. Крім реконструкції облич згорткові мережі застосовують також для реконструкції інших тривимірних об'єктів по фото.

CNN трехмерная реконструкция лиц

Розпізнавання мови й аналіз емоційної тональності тексту

Згорткові нейронні мережі можна застосовувати не тільки для вирішення завдань комп'ютерного зору. Наприклад, недавно Facebook AI Research виклала у відкритий доступ wav2letter ++ – свою технологію розпізнавання мови, засновану на CNN.

Також існують статті та дослідження фахівців AI-сфери, в яких пропонується застосовувати CNN для аналізу емоційної тональності тексту, тобто області, взагалі далекої від сигналів і зображень.

Замість висновку: що можна реально розробити, використовуючи згорткові нейронні мережі CNN

CNN на сьогодні – "робоча конячка" в області нейронних мереж. Використовується переважно для вирішення завдань комп'ютерного зору, хоча може застосовуватися також для роботи з аудіо і будь-якими даними, які можна представити у вигляді матриць.

У нас в Evergreen вже є цілий ряд кейсів з використанням цієї технології: і розпізнавання техпаспортів, а також закордонних паспортів, і пошук точної моделі техніки по фотографії в базі інтернет-магазину. Ми також активно просуваємо ідею використовувати розпізнавання та класифікацію документів по фото разом із RPA для підвищення ефективності бізнес-процесів.

Є ідея, яку рутинну роботу по розпізнаванню або класифікації ви хочете перекласти на машину? Поділіться нею з нами. Ми будемо раді знайти відповідний метод вирішення.

01.02.2019
Рейтинг: 0 / 5 (0)