FoodX-251: Набір даних для дрібнозернистої класифікації продуктів харчування

Парніт Каур Каран Сікка ∨ Вейджун Ван ‡ Серж Белонгі ⨿ Аджай Дівакаран ∨

∨ SRI International, Принстон, Нью-Джерсі
‡ Google, Лос-Анджелес, Каліфорнія
⨿ Cornell Tech, Нью-Йорк, Нью-Йорк
Частина роботи, виконаної під час стажування в SRI International. Автор-кореспондент, [email protected]

Анотація

Класифікація харчових продуктів є складною проблемою через велику кількість категорій, велику візуальну схожість між різними продуктами харчування, а також відсутність наборів даних для навчання найсучасніших глибоких моделей. Вирішення цієї проблеми вимагатиме вдосконалення як моделей комп'ютерного зору, так і наборів даних для оцінки цих моделей. У цій роботі ми зосередимось на другому аспекті і представляємо FoodX-251, набір даних з 251 дрібнозернистої категорії продуктів харчування, зібраних з Інтернету 158 тис. Зображень. Ми використовуємо 118 тис. Зображень як навчальний набір і надаємо перевірені людиною мітки для 40 тис. Зображень, які можна використовувати для перевірки та тестування. У цій роботі ми окреслюємо процедуру створення цього набору даних та пропонуємо відповідні базові лінії з моделями глибокого навчання. Набір даних FoodX-251 був використаний для організації виклику iFood-2019 1 1 1 https://www.kaggle.com/c/ifood-2019-fgvc6 у семінарі з детальної візуальної категоризації (FGVC6 на CVPR 2019) і є доступний для завантаження. 2 2 2 https://github.com/karansikka1/iFood_2019

1. Вступ

Значне збільшення використання смартфонів викликало інтерес до розробки інструментів для моніторингу споживання їжі та тенденцій [24, 28, 21]. Вміння оцінювати споживання калорій може допомогти користувачам змінити свої харчові звички та підтримувати здорове харчування. Сучасні програми ведення журналів їжі, такі як Fitbit App [1], MyFitnessPal [3] та My Diet Coach [2], вимагають від користувачів введення інформації про їжу вручну. Дослідження 141 учасника [11] повідомляє, що 25% учасників припинили ведення журналів про їжу через зусилля, в той час як 16% зупинились, оскільки вважали, що це вимагає багато часу. З іншого боку, розробка рішення на основі комп’ютерного зору для вимірювання калорій за натисканням зображень зробило б процес дуже зручним. Такий алгоритм, як правило, потрібен для вирішення кількох підзадач - класифікації, сегментування та оцінки обсягу 3D даних харчових продуктів. У цій роботі ми зосереджуємось на забезпеченні набору даних для полегшення першого завдання класифікації продуктів харчування на нерухомих зображеннях.

Класифікація продуктів є складним завданням із кількох причин: велика кількість категорій продуктів харчування, що мають дрібнозернистий характер, що призводить до високої мінливості між класами та низької мінливості між класами (наприклад, різні сорти макаронних виробів), поширеність -жорсткі предмети та велике перекриття складу харчових продуктів у багатьох харчових стравах. Крім того, у порівнянні зі стандартними проблемами комп'ютерного зору, такими як виявлення об'єктів [20] та класифікація сцен [29], набори даних для класифікації харчових продуктів обмежені як кількістю, так і якістю для навчання та оцінки глибоких нейронних мереж. У цій роботі ми підштовхуємо сучасне дослідження з класифікації харчових продуктів, представляючи новий набір даних з 251 дрібнозернистих класів із 158 тис. Зображень, який замінює попередні набори даних за кількістю класів та зразків даних.

2 Пов’язана робота

набір
Рисунок 2: Шум у веб-даних. Міждоменний шум: Поряд із зображеннями певного класу продуктів харчування, пошук веб-зображень також включає зображення оброблених та упакованих харчових продуктів та їх інгредієнтів. Шум між категоріями. На зображенні може бути кілька продуктів харчування, але лише одна етикетка як основна істина. Класи набору даних Всього зображень Джерело Тип харчування ETHZ Food-101 [7] UPMC Food-101 [26] Їжа50 [16] Харчування85 [15] CHO-Діабет [4] Беттадапура та ін. [5] UEC256 [18] ChineseFoodNet [10] Набір даних NutriNet [22] Харчування-251
101 101 000 foodpotting.com Різне.
101 90 840 Інтернет Різне.
50 5000 Інтернет Різне.
85 8500 Інтернет Різне.
6 5000 Інтернет Різне.
75 4350 Інтернет, смартфон Різне.
256 не менше 100 на клас Інтернет Японський
208 185 628 Інтернет Китайська
520 225 953 Інтернет Центральноєвропейська
251 158 846 Інтернет Різне.
Таблиця 1: Набори даних для розпізнавання продуктів харчування. У порівнянні з попередньою роботою, набір даних FoodX-251 (1) надає більше класів та зображень, ніж існуючі набори даних, і (2) містить різні класи на відміну від конкретного типу кухні/їжі.

У попередніх роботах намагалися вирішити проблему обмежених наборів даних для класифікації харчових продуктів шляхом збору навчальних даних за допомогою людських анотаторів або платформ для краудсорсингу [13, 8, 18, 28, 21]. Така курація даних є дорогою і обмежує масштабованість з точки зору кількості навчальних категорій, а також кількості навчальних зразків для кожної категорії. Більше того, складним є позначення зображень для завдань класифікації харчових продуктів, оскільки вони часто мають спільні харчові продукти, частково закупорені харчові продукти та велику мінливість у масштабі та точках зору. Для точної анотації цих зображень потрібні обмежувальні рамки, що робить курацію даних ще більше часу та вартості. Таким чином, важливо побудувати набори даних про їжу з мінімальним вибором даних, щоб їх можна було масштабувати до нових категорій на основі остаточної заявки. Наше рішення мотивоване недавніми досягненнями у використанні знань, доступних у веб-пошукових системах, та використання їх для збору великомасштабного набору даних з мінімальним наглядом [17] .

На відміну від даних, отриманих під наглядом людини, веб-даних є у вільному доступі в достатку, але вони містять різні типи шуму [9, 27, 25]. Веб-зображення, зібрані за допомогою пошукових систем, можуть включати зображення оброблених та упакованих харчових продуктів, а також інгредієнти, необхідні для приготування харчових продуктів, як показано на малюнку 2. Ми позначаємо цей шум як міждоменний шум, оскільки він вводиться через упередження через специфічну пошукову систему та теги користувачів. Окрім того, веб-дані можуть також включати зображення з декількома продуктами харчування, при цьому вони мають маркування для однієї категорії продуктів (шум між категоріями). Наприклад, на зображеннях, позначених як гуакамоле, начос може переважати (рисунок 2). Крім того, веб-результати можуть також включати зображення, що не належать до певного класу.

У таблиці 1 наведено попередні набори даних для класифікації продуктів харчування. ETHZ Food-101 [7] складається з 101 000 зображень 101 категорії. Зображення завантажуються з веб-сайту для обміну фотографіями продуктів харчування (Foodpotting.com). Дані тестів були очищені авторами вручну, тоді як дані тренувань складаються із шуму між категоріями, тобто зображень із кількома продуктами харчування, позначених одним класом. UPMC Food-101 [26] складається з 90 840 зображень для тих самих 101 категорій, що й ETHZ Food-101, але зображення завантажуються за допомогою веб-пошукової системи. Деякі інші набори даних про розпізнавання продуктів із меншою кількістю категорій продуктів харчування [16, 15, 4, 5] також перераховані в таблиці 1. У порівнянні з цими наборами даних, наш набір даних складається з більшої кількості класів (251) та зображень (158 k) .

UEC256 [18] складається з 256 категорій із обмежувальним полем, що вказує місце розташування мітки його категорії. Однак здебільшого він містить японські продукти харчування. ChineseFoodNet [10] складається із 185 628 зображень із 208 категорій, але обмежено лише китайськими продуктами харчування. Набір даних NutriNet [22] містить 225 953 зображення з 520 класів продуктів харчування та напоїв, але обмежений продуктами харчування в Центральній Європі. Порівняно з цими наборами даних, набір даних складається з різноманітних продуктів харчування різних кухонь.

3 Набір даних FoodX-251

Ми представляємо новий набір даних з 251 дрібнозернистої (готової) категорії продуктів харчування, зібраних з Інтернету 158 тис. Зображень. Ми пропонуємо навчальний набір із 118 тис. Зображень та перевірені людиною мітки як для набору перевірки з 12 тис. Зображень, так і для набору для тестування із 28 тис. Зображень. Класи дрібнозернисті та візуально схожі, наприклад, різні види тортів, бутербродів, пудингів, супів та макаронних виробів.

3.1 Збір даних

Ми починаємо з 101 категорії продуктів у наборі даних Food-101 [7] і витягуємо їх категорії братів та сестер із WordNet [23, 6]. Спочатку ми вручну фільтруємо та видаляємо всі непродовольчі та неоднозначні класи. 3 3 3 Неоднозначно ми маємо на увазі ті класи харчування, де люди, здається, не мають візуального консенсусу. Оскільки наша головна мета - завдання класифікації дрібнозернистих продуктів, ми також усуваємо загальні класи продуктів. Наприклад, різні типи макаронних виробів та тістечок включені, але “макарони” та “пиріг” вилучаються зі списку. Це дає нам 251 клас харчування.

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

Далі ми фільтруємо точні, а також майже точні дублікати зображень із набору даних. Потім ми випадковим чином відібрали 200 зображень з кожного класу, і люди, які оцінюють кількість людей (3 копії), перевіряють цей набір. З перевіреного набору ми випадковим чином відбираємо 70% зображень для тестування та 30% для перевірки. Всі інші зображення ми використовуємо як навчальний набір. Крок перевірки людини гарантує, що перевірка та набір тестів очищені від будь-якого міждоменного або міжкатегорійного шуму. Прикладом категорій з великою кількістю зразків є, як правило, популярні харчові продукти, такі як “churro” або “фрикаделька”, тоді як приклади категорій з меншою кількістю зразків - менш популярні предмети, такі як “мармуровий пиріг”, “біск з омарів” та “стейк” -tartare "(рисунок 3).

3.2 Метрика оцінки

Ми дотримуємося подібної метрики для завдань класифікації ILSVRC [12]. Для кожного зображення i алгоритм видасть 3 мітки l i j, j = 1, 2, 3 і має одну основну мітку істини g i. Помилка цього зображення:

Загальний показник помилок для алгоритму - це середня помилка для всіх N тестових зображень:

s c o r e = 1 N ∑ i e i . (3)

Рисунок 3: [Зліва] Розподіл навчальних зображень за класами. [Вправо] Репрезентативні зображення для 4 класів з вибірки. Такі харчові продукти, як «churro» та «фрикаделька», мають велику кількість навчальних зображень, тоді як такі продукти, як «омари бісквітні» та «тартар із стейків», мають порівняно менше навчальних зображень. Метод ResNet-101 (finetune останній шар) ResNet-101 (фінетуне всі шари)
Топ-3 помилок%
Валь. Тест
Громадський Приватна
0,36 0,37 0,37
0,16 0,17 0,17
Таблиця 2: Таблиця повідомляє базову ефективність набору даних FoodX-251 щодо перевірки та набору тестів.

3.3 Базова ефективність

Ми впроваджуємо наївну базову лінію, використовуючи попередньо навчену мережу ResNet-101 [14]. Ми тренуємо модель за допомогою оптимізатора ADAM [19] зі швидкістю навчання 5 e - 5, яка знижується в 10 разів через кожні 10 епох. Модель тренується максимум 50 епох з критеріями ранньої зупинки на основі результатів на наборі перевірки. Ми використовуємо випадкові горизонтальні перевертання та посіви для збільшення даних. Ми використовуємо контрольну точку моделі з найкращими показниками набору перевірки для продуктивності обчислювального набору тестів. Ми показали результати для розвірок перевірки та випробувань (відповідно до сторінки Kaggle challenge) у Таблиці 2 .

Ми спостерігаємо, що модель ResNet-101 з точним налаштуванням лише останнього шару демонструє значно нижчу продуктивність у порівнянні з моделлю з точним налаштуванням усіх шарів (0,37 проти 0,17 відповідно). Ми вважаємо, що це відбувається, оскільки оригінальні попередньо навчені фільтри не дуже підходять для завдання класифікації харчових продуктів. Як результат, точне налаштування всієї мережі допомагає покращити ефективність завдання детальної класифікації із помітним відривом.

4 Виклик iFood на семінарі FGVC

Набір даних FoodX-211 був використаний у завданні iFood-2019 4 4 4 https://www.kaggle.com/c/ifood-2019-fgvc6 у семінарі з детальної візуальної категоризації на CVPR 2019 (FGVC6). 5 5 5 https://sites.google.com/view/fgvc6 Набір даних також доступний для завантаження. 6 6 6 https://github.com/karansikka1/iFood_2019

Цей набір даних є розширенням набору даних FoodX-211, який був використаний для проведення виклику iFood-2018 7 7 7 https://github.com/karansikka1/Foodx на FGCV5 (CVPR 2018). FoodX-211 мав 211 класів із 101 тис. Навчальних зображень, 10 тис. Зображень для перевірки та 24 тис. Тестових зображень.

5 Висновки

У цій роботі ми склали новий набір зображень продуктів харчування з 251 класом та 158 тис. Зображень. Ми також надаємо перевірені людиною ярлики для зображень 40 к. Базові результати з використанням найсучаснішого класифікатора ResNet-101 показують 17% коефіцієнтів помилок топ-3. Існує можливість для дослідницького співтовариства використовувати більш складні підходи до цього набору даних для подальшого покращення роботи класифікатора. Ми сподіваємось, що цей набір даних надасть можливість розробити методи автоматизованої класифікації харчових продуктів, а також послужить унікальним набором даних для спільноти дослідників комп'ютерного зору для вивчення детальної візуальної категоризації.

6 Подяка

Ми вдячні організаторам семінару FGVC за можливість провести конкурс iFood. Ми вдячні компанії SRI International за надання ресурсів для збору даних та Google за надання ресурсів для маркування даних. Ми також вдячні Цунг-І Ліну та CVDF за допомогу у завантаженні даних, а також Меггі Демкін, Елізабет Парк та Венді Кан із Kaggle за допомогу у постановці завдання.