24 KiB
Навчання детектора запасів
Скетчнот від Nitya Narasimhan. Натисніть на зображення для перегляду у більшому розмірі.
Це відео дає огляд розпізнавання об'єктів за допомогою сервісу Azure Custom Vision, який буде розглянуто в цьому уроці.
🎥 Натисніть на зображення вище, щоб переглянути відео
Тест перед лекцією
Вступ
У попередньому проєкті ви використовували штучний інтелект для навчання класифікатора зображень — моделі, яка може визначити, чи містить зображення щось, наприклад, стиглі чи нестиглі фрукти. Інший тип моделі штучного інтелекту, який можна використовувати із зображеннями, — це розпізнавання об'єктів. Ці моделі не класифікують зображення за тегами, натомість вони навчаються розпізнавати об'єкти та знаходити їх на зображеннях, не лише визначаючи, що об'єкт присутній, але й де саме він знаходиться. Це дозволяє рахувати об'єкти на зображеннях.
У цьому уроці ви дізнаєтеся про розпізнавання об'єктів, включаючи те, як його можна використовувати в роздрібній торгівлі. Ви також навчитеся тренувати детектор об'єктів у хмарі.
У цьому уроці ми розглянемо:
- Розпізнавання об'єктів
- Використання розпізнавання об'єктів у роздрібній торгівлі
- Навчання детектора об'єктів
- Тестування вашого детектора об'єктів
- Перенавчання вашого детектора об'єктів
Розпізнавання об'єктів
Розпізнавання об'єктів включає виявлення об'єктів на зображеннях за допомогою штучного інтелекту. На відміну від класифікатора зображень, який ви тренували в попередньому проєкті, розпізнавання об'єктів не передбачає вибір найкращого тегу для всього зображення, а знаходить один або кілька об'єктів на зображенні.
Розпізнавання об'єктів vs класифікація зображень
Класифікація зображень передбачає класифікацію всього зображення — які ймовірності того, що все зображення відповідає кожному тегу. Ви отримуєте ймовірності для кожного тегу, використаного для навчання моделі.
У наведеному вище прикладі два зображення класифікуються за допомогою моделі, навченої класифікувати банки кеш'ю або томатної пасти. Перше зображення — це банка кеш'ю, і має два результати від класифікатора зображень:
Тег | Ймовірність |
---|---|
кеш'ю |
98.4% |
томатна паста |
1.6% |
Друге зображення — це банка томатної пасти, і результати такі:
Тег | Ймовірність |
---|---|
кеш'ю |
0.7% |
томатна паста |
99.3% |
Ви могли б використовувати ці значення з пороговим відсотком, щоб передбачити, що знаходиться на зображенні. Але що, якщо на зображенні є кілька банок томатної пасти або і кеш'ю, і томатна паста? Результати, ймовірно, не дадуть вам бажаного результату. Тут на допомогу приходить розпізнавання об'єктів.
Розпізнавання об'єктів передбачає навчання моделі розпізнавати об'єкти. Замість того, щоб давати їй зображення, що містять об'єкт, і говорити, що кожне зображення має один тег або інший, ви виділяєте частину зображення, яка містить конкретний об'єкт, і позначаєте її. Ви можете позначити один об'єкт на зображенні або кілька. Таким чином, модель навчається розпізнавати сам об'єкт, а не лише те, як виглядають зображення, що містять об'єкт.
Коли ви використовуєте її для прогнозування зображень, замість списку тегів і відсотків ви отримуєте список виявлених об'єктів із їх рамками та ймовірністю того, що рамка відповідає призначеному тегу.
🎓 Рамки — це прямокутники навколо об'єкта.
На зображенні вище є і банка кеш'ю, і три банки томатної пасти. Детектор об'єктів виявив кеш'ю, повернувши рамку, яка містить кеш'ю, з ймовірністю 97.6%. Детектор також виявив три банки томатної пасти, і надав три окремі рамки, одну для кожної виявленої банки, кожна з яких має ймовірність того, що рамка містить банку томатної пасти.
✅ Подумайте про різні сценарії, для яких ви могли б використовувати моделі штучного інтелекту на основі зображень. Які з них потребують класифікації, а які — розпізнавання об'єктів?
Як працює розпізнавання об'єктів
Розпізнавання об'єктів використовує складні моделі машинного навчання. Ці моделі працюють, розділяючи зображення на кілька клітинок, а потім перевіряють, чи центр рамки є центром зображення, яке відповідає одному з зображень, використаних для навчання моделі. Ви можете уявити це як запуск класифікатора зображень на різних частинах зображення для пошуку збігів.
💁 Це значне спрощення. Існує багато технік для розпізнавання об'єктів, і ви можете дізнатися більше про них на сторінці розпізнавання об'єктів у Вікіпедії.
Існує кілька різних моделей, які можуть виконувати розпізнавання об'єктів. Одна з особливо відомих моделей — YOLO (You only look once), яка є надзвичайно швидкою і може розпізнавати 20 різних класів об'єктів, таких як люди, собаки, пляшки та автомобілі.
✅ Ознайомтеся з моделлю YOLO на pjreddie.com/darknet/yolo/
Моделі розпізнавання об'єктів можна перенавчати за допомогою перенесення навчання для розпізнавання власних об'єктів.
Використання розпізнавання об'єктів у роздрібній торгівлі
Розпізнавання об'єктів має багато застосувань у роздрібній торгівлі. Деякі з них включають:
- Перевірка запасів і підрахунок — розпізнавання, коли запаси на полицях низькі. Якщо запаси занадто низькі, можна надсилати сповіщення персоналу або роботам для поповнення полиць.
- Розпізнавання масок — у магазинах із політикою носіння масок під час громадських заходів з охорони здоров'я розпізнавання об'єктів може визначати людей із масками та без них.
- Автоматизоване виставлення рахунків — виявлення предметів, взятих із полиць у автоматизованих магазинах, і правильне виставлення рахунків клієнтам.
- Виявлення небезпеки — розпізнавання розбитих предметів на підлозі або розлитих рідин, сповіщення прибиральників.
✅ Проведіть дослідження: Які ще випадки використання розпізнавання об'єктів у роздрібній торгівлі ви можете знайти?
Навчання детектора об'єктів
Ви можете навчити детектор об'єктів за допомогою Custom Vision, аналогічно до того, як ви навчали класифікатор зображень.
Завдання — створення детектора об'єктів
-
Створіть групу ресурсів для цього проєкту під назвою
stock-detector
. -
Створіть безкоштовний ресурс для навчання Custom Vision і безкоштовний ресурс для прогнозування Custom Vision у групі ресурсів
stock-detector
. Назвіть їхstock-detector-training
іstock-detector-prediction
.💁 Ви можете мати лише один безкоштовний ресурс для навчання та прогнозування, тому переконайтеся, що ви очистили свій проєкт із попередніх уроків.
⚠️ Ви можете звернутися до інструкцій зі створення ресурсів для навчання та прогнозування з проєкту 4, уроку 1, якщо це необхідно.
-
Запустіть портал Custom Vision на CustomVision.ai і увійдіть за допомогою облікового запису Microsoft, який ви використовували для свого облікового запису Azure.
-
Дотримуйтесь розділу "Створення нового проєкту" у швидкому старті "Створення детектора об'єктів" на Microsoft Docs, щоб створити новий проєкт Custom Vision. Інтерфейс може змінюватися, і ці документи завжди є найактуальнішим джерелом.
Назвіть свій проєкт
stock-detector
.Під час створення проєкту переконайтеся, що ви використовуєте ресурс
stock-detector-training
, створений раніше. Використовуйте тип проєкту Object Detection і домен Products on Shelves.✅ Домен "Products on Shelves" спеціально призначений для виявлення запасів на полицях магазинів. Дізнайтеся більше про різні домени в документації "Вибір домену" на Microsoft Docs.
✅ Виділіть час для ознайомлення з інтерфейсом Custom Vision для вашого детектора об'єктів.
Завдання — навчання вашого детектора об'єктів
Для навчання вашої моделі вам знадобиться набір зображень, що містять об'єкти, які ви хочете розпізнавати.
-
Зберіть зображення, що містять об'єкт для розпізнавання. Вам знадобиться щонайменше 15 зображень, що містять кожен об'єкт для розпізнавання з різних ракурсів і в різних умовах освітлення, але чим більше, тим краще. Цей детектор об'єктів використовує домен Products on Shelves, тому спробуйте розташувати об'єкти так, ніби вони знаходяться на полиці магазину. Вам також знадобиться кілька зображень для тестування моделі. Якщо ви розпізнаєте більше одного об'єкта, вам знадобляться тестові зображення, що містять усі об'єкти.
💁 Зображення з кількома різними об'єктами враховуються в мінімум 15 зображень для всіх об'єктів на зображенні.
Ваші зображення повинні бути у форматі png або jpeg, менше ніж 6 МБ. Якщо ви створюєте їх за допомогою iPhone, наприклад, вони можуть бути високоякісними зображеннями HEIC, тому їх потрібно буде конвертувати і, можливо, зменшити. Чим більше зображень, тим краще, і у вас має бути схожа кількість стиглих і нестиглих.
Модель призначена для продуктів на полицях, тому спробуйте фотографувати об'єкти на полицях.
Ви можете знайти деякі приклади зображень, які можна використовувати, у папці images з кеш'ю та томатною пастою.
-
Дотримуйтесь розділу "Завантаження та позначення зображень" у швидкому старті "Створення детектора об'єктів" на Microsoft Docs, щоб завантажити ваші навчальні зображення. Створіть відповідні теги залежно від типів об'єктів, які ви хочете розпізнавати.
Коли ви малюєте рамки для об'єктів, тримайте їх щільно навколо об'єкта. Це може зайняти деякий час, щоб окреслити всі зображення, але інструмент виявить те, що він вважає рамками, що зробить процес швидшим.
💁 Якщо у вас є більше 15 зображень для кожного об'єкта, ви можете тренувати після 15, а потім використовувати функцію Suggested tags. Це дозволить навченої моделі розпізнавати об'єкти на непозначених зображеннях. Ви можете підтвердити виявлені об'єкти або відхилити і перемалювати рамки. Це може значно заощадити час.
-
Дотримуйтесь розділу "Навчання детектора" у швидкому старті "Створення детектора об'єктів" на Microsoft Docs, щоб навчити детектор об'єктів на ваших позначених зображеннях.
Вам буде запропоновано вибір типу навчання. Виберіть Quick Training.
Детектор об'єктів почне навчання. Це займе кілька хвилин.
Тестування вашого детектора об'єктів
Після того, як ваш детектор об'єктів навчений, ви можете протестувати його, надавши йому нові зображення для розпізнавання об'єктів.
Завдання — тестування вашого детектора об'єктів
-
Використовуйте кнопку Quick Test, щоб завантажити тестові зображення і перевірити, чи об'єкти розпізнані. Використовуйте тестові зображення, створені раніше, а не ті, які використовувалися для навчання.
-
Спробуйте всі тестові зображення, які у вас є, і спостерігайте за ймовірностями.
Перенавчання вашого детектора об'єктів
Коли ви тестуєте ваш детектор об'єктів, він може не давати очікуваних результатів, так само як і класифікат Тест після лекції
Огляд і самостійне навчання
- Під час тренування вашого детектора об'єктів ви могли бачити значення Precision, Recall і mAP, які оцінюють створену модель. Ознайомтеся з тим, що означають ці значення, використовуючи розділ "Оцінка детектора" у швидкому старті зі створення детектора об'єктів на Microsoft Docs
- Дізнайтеся більше про детекцію об'єктів на сторінці "Детекція об'єктів" у Вікіпедії
Завдання
Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.