Parneet Kaur Karan Sikka ∨ Weijun Wang ‡ Serge Belongie ⨿ Ajay Divakaran ∨

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

Резюме

Класификацията на храните е предизвикателен проблем поради големия брой категории, голямото визуално сходство между различните храни, както и липсата на набори от данни за обучение на модерни дълбоки модели. Решаването на този проблем ще изисква напредък както в моделите на компютърното зрение, така и в наборите от данни за оценка на тези модели. В тази статия се фокусираме върху втория аспект и представяме FoodX-251, набор от 251 финозърнести категории храни със 158 k изображения, събрани от мрежата. Използваме 118 k изображения като комплект за обучение и предоставяме проверени от човека етикети за 40 k изображения, които могат да се използват за валидиране и тестване. В тази работа ние очертаваме процедурата за създаване на този набор от данни и предоставяме подходящи базови линии с модели за задълбочено обучение. Наборът данни 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 k изображения, които заместват предишни набори от данни в брой класове и проби от данни.

2 Свързана работа

класификация
Фигура 2: Шум в уеб данните. Междудомеен шум: Заедно с изображенията на конкретен клас храни, търсенето на изображения в мрежата включва и изображения на преработени и опаковани хранителни продукти и техните съставки. Междушумерен шум: Изображението може да има множество хранителни продукти, но само един етикет като основна истина. Класове от данни Общо изображения Източник Хранителен тип ETHZ Храна-101 [7] UPMC Food-101 [26] Храна50 [16] Храна85 [15] CHO-Диабет [4] Bettadapura et al. [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. Ние наричаме този шум като междудомеен шум, тъй като той е въведен от пристрастието поради специфични маркери за търсачки и потребители. В допълнение, уеб данните могат да включват и изображения с множество хранителни продукти, като същевременно са етикетирани за една категория храни (шум от различни категории). Например, в изображения, обозначени като гуакамоле, Nachos може да бъде преобладаващ (Фигура 2). Освен това, уеб резултатите могат също да включват изображения, които не принадлежат към нито един определен клас.

Таблица 1 изброява предишни набори от данни за класификация на храните. ETHZ Food-101 [7] се състои от 101 000 изображения от 101 категории. Изображенията се изтеглят от уебсайт за споделяне на снимки за хранителни продукти (foodspotting.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 k изображения, събрани от мрежата. Осигуряваме комплект за обучение от 118 k изображения и проверени от човека етикети както за валидиращия набор от 12 k изображения, така и за тестовия набор от 28 k изображения. Класовете са фино зърнени и визуално сходни, например различни видове торти, сандвичи, пудинги, супи и тестени изделия.

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“ и „кюфте“ имат голям брой тренировъчни изображения, докато хранителни продукти като „lobster bisque“ и „steak-tartare“ имат относително по-малко тренировъчни изображения. Метод ResNet-101 (финетун последен слой) 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) в Таблица 2 .

Забелязваме, че моделът ResNet-101 за фина настройка само на последния слой показва значително по-ниска производителност в сравнение с модела с фина настройка на всички слоеве (съответно 0,37 срещу 0,17). Ние вярваме, че това се случва, тъй като оригиналните предварително обучени филтри не са подходящи за задачата за класификация на храните. В резултат на това фината настройка на цялата мрежа спомага за подобряване на производителността на задачата за фина класификация със забележим марж.

4 iFood Challenge в семинара на 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 k тренировъчни изображения, 10 k валидиращи изображения и 24 k тестови изображения.

5 Заключения

В тази работа ние съставихме нов набор от изображения на храни с 251 класа и 158 k изображения. Ние също така предоставяме проверени от човека етикети за 40 k изображения. Базовите резултати, използващи най-съвременния класификатор ResNet-101, показват 17% степен на грешка в топ 3. Изследователската общност има възможност да използва по-сложни подходи за този набор от данни, за да подобри допълнително работата на класификатора. Надяваме се, че този набор от данни ще предостави възможност за разработване на методи за автоматизирана класификация на храните, както и ще служи като уникален набор от данни за общността за изследване на компютърното зрение за изследване на фино зрителна категоризация.

6 Благодарности

Благодарим на организаторите на семинара на FGVC за възможността да бъдем домакин на iFood състезанието. Благодарим на SRI International за предоставяне на ресурси за събиране на данни и на Google за предоставяне на ресурси за етикетиране на данните. Също така сме благодарни на Tsung-Yi Lin и CVDF за помощта при качването на данните, както и на Маги Демкин, Елизабет Парк и Уенди Кан от Kaggle, че ни помогнаха да поставим предизвикателството.