Od Laboratorium do Twojego Telefonu: Wizja Komputerowa za Nowoczesnym Rozpoznawaniem Żywności
Sztuczna inteligencja, która identyfikuje Twój lunch, zaczęła jako praca badawcza. Oto podróż od akademickich przełomów w wizji komputerowej do technologii rozpoznawania żywności w Twojej kieszeni.
Technologia, która pozwala Ci zrobić zdjęcie kolacji i natychmiast zobaczyć jej kaloryczność, nie pojawiła się znikąd. To efekt dziesięcioleci badań akademickich, niezliczonych opublikowanych prac oraz stałego strumienia przełomów w dziedzinie wizji komputerowej i głębokiego uczenia. To, co zaczęło się jako niszowy problem badawczy w uniwersyteckich laboratoriach, stało się funkcją, z której korzystają miliony ludzi każdego dnia, nie zastanawiając się nad tym.
Artykuł ten śledzi pełną podróż sztucznej inteligencji rozpoznającej żywność, od jej korzeni w podstawowych badaniach wizji komputerowej po identyfikację żywności w czasie rzeczywistym, działającą na Twoim telefonie. Po drodze przyjrzymy się kluczowym publikacjom, zestawom danych, trwałym wyzwaniom oraz inżynierii potrzebnej do przekształcenia wyników laboratoryjnych w niezawodny produkt konsumencki.
Iskra, która zmieniła wszystko: ImageNet i rewolucja głębokiego uczenia
Aby zrozumieć, jak działa dzisiejsze rozpoznawanie żywności, trzeba zacząć od konkursu, który nie miał nic wspólnego z jedzeniem.
ImageNet Large Scale Visual Recognition Challenge
W 2009 roku Fei-Fei Li i jej zespół z Uniwersytetu Stanforda opublikowali ImageNet, zestaw danych zawierający ponad 14 milionów obrazów zorganizowanych w ponad 20 000 kategorii. Powiązany z tym konkurs ImageNet Large Scale Visual Recognition Challenge (ILSVRC) zachęcał badaczy do budowy systemów, które potrafiłyby klasyfikować obrazy w 1 000 kategorii obiektów, od samolotów po zebry. Przez kilka lat najlepsze systemy korzystały z ręcznie opracowanych cech i tradycyjnych technik uczenia maszynowego, osiągając wskaźniki błędów top-5 na poziomie około 25 do 28 procent.
Aż nastał rok 2012.
Alex Krizhevsky, Ilya Sutskever i Geoffrey Hinton zaprezentowali głęboką sieć neuronową konwolucyjną, którą nazwali AlexNet. Osiągnęła ona wskaźnik błędów top-5 na poziomie 15,3 procent, bijąc na głowę drugie miejsce o ponad 10 punktów procentowych. To nie była tylko stopniowa poprawa. To był przełom, który zapoczątkował dominację głębokiego uczenia w dziedzinie wizji komputerowej.
Artykuł „Klasyfikacja ImageNet z użyciem głębokich sieci neuronowych konwolucyjnych” (Krizhevsky i in., 2012) jest jednym z najczęściej cytowanych tekstów w całej informatyce. Jego wpływ wykraczał daleko poza wyzwanie ImageNet. Badacze w każdej poddziedzinie wizji komputerowej, w tym rozpoznawania żywności, natychmiast zaczęli badać, jak głębokie sieci neuronowe konwolucyjne można zastosować do ich specyficznych problemów.
Dlaczego ImageNet 2012 miało znaczenie dla żywności
Przed AlexNet systemy rozpoznawania żywności opierały się na ręcznie zaprojektowanych cechach: histogramach kolorów, opisach tekstur takich jak lokalne wzory binarne (LBP) oraz cechach opartych na kształcie wyodrębnionych za pomocą algorytmów takich jak SIFT (Scale-Invariant Feature Transform). Podejścia te miały trudności z generalizacją. System wytrenowany do rozpoznawania pizzy na podstawie cech kolorów i tekstur zawodził, gdy prezentowano mu pizzę z nieznanym dodatkiem lub w nietypowym oświetleniu.
Głębokie sieci neuronowe zmieniły tę sytuację fundamentalnie. Zamiast wymagać od badaczy ręcznego definiowania, które cechy wizualne są istotne, sieć uczyła się cech dyskryminacyjnych bezpośrednio z danych. Oznaczało to, że przy wystarczającej liczbie obrazów treningowych, CNN mogła nauczyć się rozpoznawać jedzenie w szerokim zakresie warunków, radząc sobie z różnicami w oświetleniu, kącie, podaniu i przygotowaniu, które zniechęcałyby podejścia oparte na ręcznie opracowanych cechach.
Kaskada ulepszeń: 2013-2020
Lata po AlexNet przyniosły szybki rozwój innowacji architektonicznych, z każdą nową poprawiającą dokładność i ułatwiającą wdrożenie:
| Rok | Architektura | Kluczowy wkład | Błąd top-5 w ImageNet |
|---|---|---|---|
| 2012 | AlexNet | Udowodnił skalowalność głębokich CNN | 15.3% |
| 2014 | VGGNet | Pokazał, że głębokość (16-19 warstw) poprawia dokładność | 7.3% |
| 2014 | GoogLeNet (Inception) | Ekstrakcja cech wieloskaliowych z efektywnym obliczeniem | 6.7% |
| 2015 | ResNet | Połączenia rezydualnych umożliwiające sieci 152-warstwowe | 3.6% |
| 2017 | SENet | Mechanizmy uwagi kanałowej | 2.3% |
| 2019 | EfficientNet | Kompozytowe skalowanie dla optymalnego kompromisu między dokładnością a efektywnością | 2.0% |
| 2020 | Vision Transformer (ViT) | Samo-uwaga zastosowana do fragmentów obrazów | 1.8% |
Każda z tych architektur została szybko przyjęta przez badaczy zajmujących się rozpoznawaniem żywności, którzy wykorzystali je jako podstawy dla modeli specyficznych dla żywności.
Zestaw danych Food-101: Wspólny punkt odniesienia dla badaczy
Ogólne klasyfikatory obrazów wytrenowane na ImageNet potrafiły odróżnić pizzę od samochodu, ale rozróżnienie pizzy margherita od pizzy bianca wymaga znacznie dokładniejszej analizy wizualnej. Społeczność badawcza zajmująca się rozpoznawaniem żywności potrzebowała własnego zestawu danych o dużej skali.
Bossard i in. oraz narodziny Food-101
W 2014 roku Lukas Bossard, Matthieu Guillaumin i Luc Van Gool z ETH Zurich opublikowali pracę „Food-101 -- Mining Discriminative Components with Random Forests” na Europejskiej Konferencji Wizji Komputerowej (ECCV). Wprowadzili zestaw danych Food-101: 101 000 obrazów obejmujących 101 kategorii żywności, z 1 000 obrazów na kategorię. Obrazy zostały celowo zebrane z rzeczywistych źródeł (Foodspotting, platforma społecznościowa do dzielenia się jedzeniem), a nie w kontrolowanych warunkach laboratoryjnych, co oznacza, że zawierały szum, różnorodność i niedoskonałości typowe dla prawdziwych zdjęć jedzenia.
Food-101 ustanowiło wspólny punkt odniesienia, który pozwolił badaczom bezpośrednio porównywać swoje podejścia. Oryginalny artykuł osiągnął 50,76 procent dokładności top-1, stosując podejście lasu losowego z ręcznie opracowanymi cechami. W ciągu roku podejścia oparte na głębokim uczeniu zaczęły przekraczać 70 procent. Do 2018 roku modele oparte na architekturach takich jak Inception i ResNet przekraczały 90 procent dokładności top-1 w Food-101.
Inne ważne zestawy danych dotyczące żywności
Food-101 był najczęściej używanym punktem odniesienia, ale społeczność badawcza stworzyła kilka innych zestawów danych, które przyczyniły się do postępu w tej dziedzinie:
UEC-Food100 i UEC-Food256 (2012, 2014): Opracowane przez Uniwersytet Elektro-Komunikacji w Japonii, te zestawy danych koncentrowały się na kuchni japońskiej i wprowadziły adnotacje dotyczące ramki dla wykrywania wielu potraw. UEC-Food256 rozszerzyło zakres na 256 kategorii obejmujących różne kuchnie azjatyckie.
VIREO Food-172 (2016): Stworzony przez City University of Hong Kong, ten zestaw danych zawierał 172 kategorie potraw chińskich wraz z adnotacjami składników, umożliwiając badania nad rozpoznawaniem na poziomie składników.
Nutrition5k (2021): Opracowany przez Google Research, ten zestaw danych połączył zdjęcia żywności z precyzyjnymi pomiarami wartości odżywczych uzyskanymi za pomocą kalorymetrii. Z 5 006 realistycznymi talerzami posiłków i zweryfikowanymi w laboratoriach wartościami kalorycznymi, Nutrition5k dostarczył zestaw danych do szkolenia i oceny systemów szacowania porcji.
Food2K (2021): Duży zestaw referencyjny zawierający 2 000 kategorii żywności i ponad milion obrazów, zaprojektowany w celu przyspieszenia rozpoznawania żywności do skali ogólnego rozpoznawania obiektów.
MAFood-121 (2019): Skoncentrowany na rozpoznawaniu żywności z wieloma atrybutami, w tym typem kuchni i metodą przygotowania obok kategorii żywności, odzwierciedlający rzeczywistą potrzebę zrozumienia nie tylko tego, co to jest żywność, ale także jak została przygotowana.
Dostępność tych zestawów danych była kluczowa. W uczeniu maszynowym jakość i skala danych treningowych często mają większe znaczenie niż architektura modelu. Każdy nowy zestaw danych rozszerzał zakres żywności, kuchni i warunków wizualnych, z których modele mogły się uczyć.
Dlaczego żywność jest trudniejsza do rozpoznania niż „zwykłe” obiekty
Badacze zajmujący się rozpoznawaniem żywności szybko odkryli, że żywność stawia unikalne wyzwania, które nie występują w ogólnym rozpoznawaniu obiektów. Zrozumienie tych wyzwań wyjaśnia, dlaczego system, który może niezawodnie identyfikować samochody, psy i budynki, może mieć trudności z talerzem jedzenia.
Problem różnorodności wewnątrzklasowej
Złoty retriever wygląda jak złoty retriever, niezależnie od tego, czy siedzi, biegnie, czy śpi. Ale sałatka może wyglądać niemal jak cokolwiek. Sałatka grecka, sałatka cezar, sałatka Waldorfa i sałatka z jarmużu i komosy ryżowej mają tę samą etykietę „sałatka”, ale prawie nic ze sobą nie mają wspólnego wizualnie. Ta różnorodność wewnątrzklasowa jest ekstremalna w przypadku kategorii żywności i znacznie przekracza to, co można znaleźć w większości zadań rozpoznawania obiektów.
Z drugiej strony, podobieństwo między klasami jest również wysokie. Miska z zupą pomidorową i miska z czerwoną curry mogą wyglądać niemal identycznie z góry. Smażony ryż i pilaw mają wspólne cechy wizualne. Baton białkowy i brownie mogą być nieodróżnialne na zdjęciu. Granice wizualne między kategoriami żywności są często nieostre w sposób, w jaki granice między samochodami a ciężarówkami nie są.
Deformowalna natura żywności
Większość obiektów, które systemy wizji komputerowej są szkolone do rozpoznawania, ma stałą strukturę geometryczną. Krzesło ma nogi, siedzisko i oparcie. Żywność, w przeciwieństwie do tego, jest deformowalna, amorficzna i nieprzewidywalna w swoim wizualnym przedstawieniu. Porcja puree ziemniaczanego nie ma stałego kształtu. Makaron można podać w nieskończonej liczbie konfiguracji. Nawet ten sam przepis przygotowany przez dwie różne osoby może wyglądać znacznie inaczej.
Ta deformowalność oznacza, że cechy oparte na kształcie, które są skuteczne w wykrywaniu sztywnych obiektów, mają stosunkowo mały wkład w rozpoznawanie żywności. Modele muszą bardziej polegać na kolorze, teksturze i kontekstowych wskazówkach.
Nakładanie się i potrawy mieszane
Na typowym zdjęciu posiłku potrawy nachodzą na siebie i zasłaniają się nawzajem. Sos pokrywa mięso. Ser topnieje na warzywach. Ryż leży pod gulaszem. Te wzory nakładania się nie są tylko powszechne; są normą. System rozpoznawania żywności musi być odporny na częściową widoczność w sposób znacznie bardziej wymagający niż, na przykład, wykrywanie pieszych w scenie ulicznej.
Potrawy mieszane stanowią jeszcze większy problem. Burrito zawija swoje składniki w tortillę, czyniąc je niewidocznymi. Smoothie łączy owoce i inne składniki w jednorodną ciecz. Zapiekanka łączy wiele składników w jedną wizualną masę. W przypadku tych potraw rozpoznawanie musi opierać się na holistycznym wyglądzie i nauczonych skojarzeniach, a nie na identyfikacji poszczególnych komponentów.
Oświetlenie i zmienność środowiskowa
Zdjęcia żywności są robione w skrajnie zmiennych warunkach. Oświetlenie w restauracjach waha się od jasnego fluorescencyjnego do przytłumionego światła świec. Kuchnie domowe mają niespójną temperaturę kolorów. Fotografowanie z lampą błyskową zmienia postrzeganą barwę jedzenia. Zdjęcia robione na zewnątrz w słoneczny dzień wyglądają zupełnie inaczej niż zdjęcia robione w przyciemnionym biurze. Ta zmienność warunków obrazowania dramatycznie wpływa na cechy oparte na kolorze, a ponieważ kolor jest jednym z najsilniejszych wskaźników identyfikacji żywności, stwarza to znaczne wyzwanie.
Problem szacowania porcji: Gdzie badania stają się naprawdę trudne
Identyfikacja, co znajduje się na talerzu, to tylko połowa problemu. Aby być użytecznym w śledzeniu wartości odżywczych, system musi również oszacować, ile każdego jedzenia jest obecne. To problem szacowania porcji, który pozostaje jednym z najbardziej aktywnych i trudnych obszarów badań w dziedzinie technologii żywności.
Dlaczego szacowanie porcji jest fundamentalnie trudne
Jedno zdjęcie 2D odrzuca informacje o głębokości. Bez znajomości odległości od kamery do talerza, rozmiaru talerza czy wysokości stosu jedzenia, niemożliwe jest odzyskanie rzeczywistej objętości jedzenia z pomiarów pikseli. To nie jest ograniczenie obecnej AI. To matematyczna rzeczywistość geometrii rzutowej. Mała miska blisko kamery i duża miska daleko od niej produkują identyczne obrazy.
Badacze zbadali kilka podejść, aby obejść to ograniczenie:
Metody obiektów odniesienia: Niektóre systemy proszą użytkownika o uwzględnienie znanego obiektu odniesienia (monety, karty kredytowej, konkretnego talerza) w kadrze. Mierząc wymiary pikseli znanego obiektu w porównaniu do jego rzeczywistego rozmiaru, system może oszacować skalę. System TADA (Three-Dimensional Automatic Dietary Assessment) opracowany na Uniwersytecie Purdue używał znacznika fiducjalnego (wzór szachownicy) w tym celu. Choć dokładne, podejście to wprowadza dodatkowe trudności, które czynią je niepraktycznym w codziennym użytkowaniu.
Szacowanie głębokości z obrazów monokularnych: Sieci neuronowe mogą oszacować mapy głębokości z pojedynczych obrazów, wykorzystując nauczone priory do typowych scen. Badania grup z Uniwersytetu w Pittsburghu i Georgia Tech zastosowały oszacowanie głębokości monokularnej do obrazów żywności, osiągając oszacowania objętości w granicach 15 do 25 procent rzeczywistej wartości w kontrolowanych warunkach.
Rekonstrukcja z wielu widoków: Niektóre systemy badawcze proszą użytkowników o uchwycenie jedzenia z różnych kątów, co umożliwia rekonstrukcję 3D. Choć dokładniejsze, to również wprowadza dodatkowe trudności. Badania Fang et al. (2019) wykazały, że nawet dwa widoki mogą znacznie poprawić dokładność oszacowania objętości.
Nauczone priory szacowania porcji: Zamiast próbować odzyskać dokładną fizyczną objętość, niektóre systemy uczą się statystycznych rozkładów typowych rozmiarów porcji dla każdej kategorii żywności. Jeśli system wie, że mediana porcji ugotowanego białego ryżu wynosi około 158 gramów, może wykorzystać ten priorytet w połączeniu z wizualnymi wskazówkami dotyczącymi względnego rozmiaru jedzenia na obrazie, aby uzyskać rozsądne oszacowanie.
Kluczowe publikacje dotyczące szacowania porcji
Kilka prac przyczyniło się do postępu w dziedzinie szacowania porcji:
- Meyers et al. (2015), „Im2Calories: W kierunku zautomatyzowanego mobilnego dziennika żywności”, z Google Research, zaproponowali użycie CNN do oszacowania zawartości kalorii bezpośrednio z obrazów żywności, omijając wyraźne oszacowanie objętości.
- Fang et al. (2019), „Technika automatycznego oszacowania energii żywności na podstawie obrazów z wykorzystaniem nauczonych map rozkładu energii”, wprowadzili mapy rozkładu energii, które przewidują gęstość kalorii na piksel.
- Thames et al. (2021), „Nutrition5k: W kierunku automatycznego zrozumienia wartości odżywczych ogólnej żywności”, dostarczyli pierwszego dużego zestawu danych z weryfikowanymi kalorymetrią wartościami odżywczymi, umożliwiając bardziej rygorystyczną ocenę systemów szacowania porcji.
- Lu et al. (2020) wykazali, że połączenie segmentacji żywności z oszacowaniem głębokości daje oszacowania porcji z średnim błędem bezwzględnym poniżej 20 procent dla popularnych kategorii żywności.
Luka między dokładnością badań a wydajnością w rzeczywistych warunkach
Jednym z najważniejszych i najmniej omawianych tematów w AI rozpoznawania żywności jest luka między wydajnością benchmarków a wydajnością w rzeczywistych warunkach. Zrozumienie tej luki jest kluczowe dla ustalenia realistycznych oczekiwań dotyczących tego, co technologia rozpoznawania żywności może, a czego nie może zrobić.
Warunki benchmarkowe a rzeczywistość
Prace badawcze zazwyczaj raportują dokładność na starannie dobranych zestawach testowych pochodzących z tej samej dystrybucji co dane treningowe. Dokładność 93 procent w Food-101 brzmi imponująco, ale oznacza, że model był testowany na obrazach pochodzących z tego samego źródła i w podobnych warunkach jak jego obrazy treningowe. Po wdrożeniu w rzeczywistych warunkach dokładność spada z kilku powodów:
Przesunięcie dystrybucji: Użytkownicy robią zdjęcia różnymi aparatami, w różnych warunkach oświetleniowych, pod różnymi kątami i w różnych kompozycjach niż te reprezentowane w danych treningowych. Model wytrenowany głównie na zdjęciach jedzenia z góry z blogów kulinarnych będzie działał gorzej, gdy użytkownik zrobi zdjęcie pod kątem z lampą błyskową w słabo oświetlonej restauracji.
Rzadkie potrawy: Zestawy danych benchmarkowych obejmują ograniczony zestaw kategorii. Food-101 ma 101 kategorii; Food2K ma 2 000. Ale prawdziwy globalny system rozpoznawania żywności musi radzić sobie z dziesiątkami tysięcy potraw. Wydajność w przypadku rzadkich lub kulturowo specyficznych potraw jest zazwyczaj znacznie niższa niż średnie raportowane.
Złożone posiłki: Większość benchmarków ocenia klasyfikację pojedynczych potraw. Rzeczywiste posiłki zawierają wiele potraw na jednym talerzu, co wymaga jednoczesnego wykrywania, segmentacji i klasyfikacji. Dokładność w przypadku wielu potraw jest konsekwentnie niższa niż w przypadku pojedynczej potrawy.
Kumulacja błędów w szacowaniu porcji: Nawet niewielkie błędy w identyfikacji żywności kumulują się, gdy są łączone z oszacowaniem porcji. Jeśli system pomyli komosę ryżową z kuskusem (co jest możliwe wizualnie), zastosuje niewłaściwą gęstość odżywczą do swojego oszacowania objętości, co skutkuje błędami zarówno w rozkładzie makroskładników, jak i w liczbie kalorii.
Ilość luki
Opublikowane badania sugerują następujące przybliżone zakresy wydajności:
| Zadanie | Dokładność benchmarkowa | Dokładność w rzeczywistych warunkach |
|---|---|---|
| Klasyfikacja pojedynczej potrawy (top-1) | 88-93% | 70-82% |
| Klasyfikacja pojedynczej potrawy (top-5) | 96-99% | 88-94% |
| Wykrywanie wielu potraw na sztukę | 75-85% | 60-75% |
| Szacowanie porcji (w granicach 20% od rzeczywistej) | 65-75% | 45-60% |
| Szacowanie kalorii od początku do końca (w granicach 20%) | 55-65% | 35-50% |
Te liczby podkreślają ważną prawdę: AI rozpoznawania żywności jest dobra i staje się coraz lepsza, ale wciąż nie zastępuje starannego pomiaru. To narzędzie, które dramatycznie redukuje trudności, akceptując znaną marżę błędu.
Oś czasu kluczowych przełomów
Poniższa oś czasu podsumowuje główne osiągnięcia w drodze od ogólnych badań wizji komputerowej do technologii rozpoznawania żywności w Twoim telefonie:
2009 -- Wydanie zestawu danych ImageNet. Fei-Fei Li i zespół z Uniwersytetu Stanforda publikują zestaw danych ImageNet, dostarczając dużą skalę punktu odniesienia, która napędzi rewolucję głębokiego uczenia.
2012 -- AlexNet wygrywa ILSVRC. Krizhevsky, Sutskever i Hinton pokazują, że głębokie sieci neuronowe konwolucyjne znacznie przewyższają tradycyjne podejścia w klasyfikacji obrazów. Era głębokiego uczenia się zaczyna się.
2012 -- Publikacja UEC-Food100. Jeden z pierwszych dużych zestawów danych obrazów żywności, skoncentrowany na kuchni japońskiej, ustanawia rozpoznawanie żywności jako odrębny problem badawczy.
2014 -- Wydanie zestawu danych Food-101. Bossard i in. z ETH Zurich publikują punkt odniesienia, który stanie się standardowym zestawem danych do oceny badań w dziedzinie rozpoznawania żywności.
2014 -- GoogLeNet i VGGNet. Dwie wpływowe architektury pokazują, że głębsze i bardziej zaawansowane projekty sieci znacznie poprawiają dokładność klasyfikacji. Obie szybko zostają przyjęte przez badaczy zajmujących się rozpoznawaniem żywności.
2015 -- Wprowadzenie ResNet. He i in. z Microsoft Research wprowadzają połączenia rezydualnych, umożliwiające sieciom z ponad 100 warstw. ResNet staje się najczęściej używaną podstawą w systemach rozpoznawania żywności przez następne kilka lat.
2015 -- Publikacja pracy Im2Calories. Google Research demonstruje oszacowanie kalorii od obrazu żywności, ustanawiając bezpośredni pipeline obraz-nutrition jako realny kierunek badań.
2016 -- Dojrzałość wykrywania obiektów w czasie rzeczywistym. YOLO (Redmon et al., 2016) i SSD (Liu et al., 2016) umożliwiają wykrywanie wielu obiektów w czasie rzeczywistym, co sprawia, że wykrywanie wielu potraw na talerzu w mniej niż jedną sekundę staje się wykonalne.
2017 -- Transfer learning staje się standardową praktyką. Społeczność badawcza koncentruje się na wspólnej metodologii: wstępne szkolenie na ImageNet, dostosowanie do zestawów danych żywnościowych. To podejście osiąga dokładność Food-101 powyżej 88 procent.
2019 -- Publikacja EfficientNet. Tan i Le z Google wprowadzają kompozytowe skalowanie, produkując modele, które są zarówno bardziej dokładne, jak i bardziej efektywne niż ich poprzednicy. To sprawia, że rozpoznawanie żywności o wysokiej dokładności jest wykonalne na sprzęcie mobilnym bez przetwarzania w chmurze.
2020 -- Publikacja Vision Transformers (ViT). Dosovitskiy i in. z Google pokazują, że architektury transformatorów, pierwotnie opracowane do przetwarzania języka naturalnego, mogą dorównać lub przewyższać CNN w klasyfikacji obrazów. To otwiera nowe możliwości dla badań nad rozpoznawaniem żywności.
2021 -- Wydanie zestawu danych Nutrition5k. Google Research publikuje zestaw danych z weryfikowanymi kalorymetrią wartościami odżywczymi, dostarczając pierwszego rygorystycznego punktu odniesienia do oceny szacowania wartości odżywczych od początku do końca.
2022-2024 -- Pojawienie się modeli podstawowych. Duże, wstępnie wytrenowane modele wizji i języka, takie jak CLIP (Radford et al., 2021) i kolejne modele, umożliwiają rozpoznawanie żywności w trybie zero-shot i few-shot, pozwalając systemom identyfikować kategorie żywności, których nigdy nie były explicite trenowane.
2025-2026 -- Wykonywanie w urządzeniach staje się standardem. Postępy w kompresji modeli, kwantyzacji i mobilnych jednostkach przetwarzania neuronowego (NPU) pozwalają modelom rozpoznawania żywności działać całkowicie w urządzeniach, eliminując opóźnienia i obawy dotyczące prywatności związane z przetwarzaniem w chmurze.
Jak Nutrola łączy badania z praktyką
Badania akademickie opisane powyżej są niezbędne, ale niewystarczające do zbudowania systemu rozpoznawania żywności, który działa niezawodnie dla realnych ludzi w rzeczywistych warunkach. Luka między opublikowaniem pracy z dokładnością 93 procent w Food-101 a wprowadzeniem produktu, któremu użytkownicy ufają w codziennym śledzeniu wartości odżywczych, jest ogromna. To tutaj inżynieria, strategia danych i projektowanie zorientowane na użytkownika stają się równie ważne jak architektura modelu.
Szkolenie na rzeczywistych rozkładach danych użytkowników
Akademickie zestawy danych są starannie dobierane z blogów kulinarnych, mediów społecznościowych i kontrolowanych sesji fotograficznych. Rzeczywiste zdjęcia użytkowników są bardziej chaotyczne: częściowo zjedzone posiłki, zagracone tła, słabe oświetlenie, nietypowe kąty, wiele talerzy w kadrze. Nutrola szkoli swoje modele na rozkładach danych, które odzwierciedlają rzeczywiste wzorce użytkowania, w tym niedoskonałe, rzeczywiste obrazy, które użytkownicy faktycznie rejestrują. To zamyka znaczną część luki przesunięcia dystrybucji.
Ciągłe uczenie się i pętle informacji zwrotnej
Statyczny model wytrenowany raz i wdrożony będzie się pogarszać w miarę zmiany zachowań użytkowników i trendów żywnościowych. Nutrola wdraża ciągłe procesy uczenia się, które uwzględniają poprawki i opinie użytkowników. Gdy użytkownik poprawia błędną identyfikację, ten sygnał jest zbierany (z zachowaniem prywatności) i wykorzystywany do poprawy wydajności modelu w przypadku konkretnych potraw i warunków, w których błędy są najczęstsze.
Łączenie wielu sygnałów
Zamiast polegać wyłącznie na klasyfikacji wizualnej, Nutrola łączy rozpoznawanie oparte na obrazach z sygnałami kontekstowymi, aby poprawić dokładność. Czas dnia, region geograficzny, historia ostatnich posiłków i preferencje użytkownika pełnią rolę priorytetów, które pomagają rozróżnić wizualnie podobne potrawy. Miska z czerwoną cieczą sfotografowana na śniadanie w Ameryce Północnej jest bardziej prawdopodobna, aby była sokiem pomidorowym niż gazpacho, a system może wykorzystać ten kontekst do lepszych prognoz.
Uczciwa komunikacja pewności
Jedną z najważniejszych decyzji projektowych jest sposób komunikacji niepewności. Gdy model jest pewny, Nutrola przedstawia swoją identyfikację bezpośrednio. Gdy pewność jest niższa, system przedstawia kilka opcji i prosi użytkownika o potwierdzenie. Taki wzór interakcji szanuje inherentne ograniczenia technologii, jednocześnie redukując trudności w porównaniu do ręcznego rejestrowania. Zamiast udawać, że jest doskonały, system jest przejrzysty, gdy potrzebuje pomocy.
Optymalizacja pod kątem dokładności wartości odżywczych, a nie tylko dokładności klasyfikacji
Akademickie benchmarki mierzą dokładność klasyfikacji: czy model prawidłowo zidentyfikował żywność? Ale w przypadku śledzenia wartości odżywczych odpowiednią miarą jest dokładność wartości odżywczych: jak blisko oszacowana zawartość kalorii i makroskładników jest do prawdziwych wartości? Nutrola optymalizuje pod kątem tego wskaźnika końcowego. Pomyłka między dwiema wizualnie podobnymi potrawami o podobnych profilach odżywczych (biały ryż a ryż jaśminowy) ma znacznie mniejsze znaczenie niż pomyłka między dwiema wizualnie podobnymi potrawami o bardzo różnych profilach odżywczych (zwykły muffin a muffin białkowy). System jest dostosowany do minimalizacji błędów, które mają największy wpływ na oszacowania wartości odżywczych.
Granica badań: Co dalej
Badania nad rozpoznawaniem żywności nadal się rozwijają. Kilka aktywnych kierunków badań ma potencjał, aby jeszcze bardziej zbliżyć dokładność laboratoryjną do wydajności w rzeczywistych warunkach:
Rozpoznawanie na poziomie składników: Przechodzenie od klasyfikacji na poziomie potraw do identyfikacji poszczególnych składników w potrawie. To umożliwia dokładniejsze oszacowanie wartości odżywczych dla potraw złożonych i wspiera sprawdzanie ograniczeń dietetycznych (wykrywanie alergenów, na przykład).
Rekonstrukcja 3D żywności z pojedynczych obrazów: Postępy w polach radiancji neuronowych (NeRF) i monokularnej rekonstrukcji 3D sugerują, że wkrótce będzie możliwe odtworzenie dość dokładnego modelu 3D posiłku z pojedynczego zdjęcia, co znacznie poprawi szacowanie porcji.
Personalizowane modele żywności: Szkolenie modeli, które dostosowują się do typowych posiłków użytkowników, preferowanych restauracji i stylów gotowania. Model, który wie, że jesz to samo śniadanie w każdy dzień roboczy, może osiągnąć niemal doskonałą dokładność dzięki personalizacji.
Rozumowanie multimodalne: Łączenie rozpoznawania wizualnego z tekstem (opisy menu, nazwy przepisów) i dźwiękiem (opis posiłków głosowo) w celu zbudowania bardziej solidnych systemów zrozumienia żywności.
Uczenie federacyjne dla żywności: Szkolenie modeli rozpoznawania żywności na urządzeniach wielu użytkowników bez centralizacji surowych danych, zachowując prywatność, a jednocześnie korzystając z różnorodnych danych treningowych z rzeczywistego świata.
Najczęściej zadawane pytania
Jak dokładne jest rozpoznawanie żywności AI w porównaniu do ludzkiego dietetyka?
Dla powszechnie występujących potraw fotografowanych w dobrych warunkach, AI rozpoznawania żywności dorównuje lub przewyższa szybkość ludzkiego dietetyka i osiąga porównywalną dokładność identyfikacji. Zarejestrowany dietetyk zazwyczaj potrafi zidentyfikować potrawę na podstawie zdjęcia z dokładnością 85 do 95 procent. Obecne systemy AI osiągają podobne wskaźniki dla dobrze reprezentowanych kategorii żywności. Jednak dietetycy wciąż przewyższają AI w przypadku rzadkich lub niejednoznacznych potraw, kulturowo specyficznych dań oraz szacowania porcji. Praktyczną zaletą AI jest szybkość i dostępność: zapewnia natychmiastowe oszacowanie 24/7, podczas gdy konsultacje z dietetykiem są ograniczone i kosztowne.
Czym jest zestaw danych Food-101 i dlaczego ma znaczenie?
Food-101 to zestaw danych referencyjnych zawierający 101 000 obrazów obejmujących 101 kategorii żywności, opublikowany przez badaczy z ETH Zurich w 2014 roku. Ma znaczenie, ponieważ dostarczył pierwszego szeroko przyjętego standardu do oceny modeli rozpoznawania żywności. Przed Food-101 badacze testowali swoje systemy na prywatnych lub małoskalowych zestawach danych, co uniemożliwiało porównywanie wyników. Food-101 umożliwiło powtarzalne badania i przyspieszyło postęp w dokładności klasyfikacji żywności, z około 50 procent w 2014 roku do ponad 93 procent do 2020 roku.
Dlaczego żywność jest trudniejsza do rozpoznania niż inne obiekty?
Żywność stawia kilka wyzwań, które są rzadkie w ogólnym rozpoznawaniu obiektów: ekstremalna różnorodność wizualna w obrębie tej samej kategorii żywności (pomyśl o wszystkich rzeczach nazywanych „sałatką”), wysokie podobieństwo wizualne między różnymi kategoriami żywności (zupa pomidorowa a czerwona curry), deformowalne i amorficzne kształty, częste nakładanie się sosów i dodatków oraz szeroka różnorodność stylów przygotowania w różnych kulturach. Ponadto żywność musi być zarówno identyfikowana, jak i kwantyfikowana (szacowanie porcji), co dodaje wymiar, którego większość zadań rozpoznawania obiektów nie wymaga.
Jak transfer learning pomaga w rozpoznawaniu żywności?
Transfer learning polega na wzięciu sieci neuronowej wstępnie wytrenowanej na dużym ogólnym zestawie danych (zwykle ImageNet) i dostosowaniu jej do mniejszego zestawu danych specyficznego dla żywności. Działa to, ponieważ cechy wizualne niskiego poziomu wyuczone z ImageNet (krawędzie, tekstury, kolory, kształty) są ogólnie użyteczne i dobrze przenoszą się na obrazy żywności. Tylko cechy wyższego poziomu, specyficzne dla żywności, muszą być nauczone od podstaw. Transfer learning dramatycznie redukuje ilość danych treningowych specyficznych dla żywności potrzebnych do szkolenia i zazwyczaj poprawia dokładność o 10 do 20 punktów procentowych w porównaniu do szkolenia od podstaw.
Czy AI może oszacować rozmiary porcji na podstawie jednego zdjęcia?
AI może oszacować rozmiary porcji na podstawie jednego zdjęcia, ale z istotną niepewnością. Bez informacji o głębokości, zdjęcie 2D nie może precyzyjnie określić objętości jedzenia. Nowoczesne systemy łączą nauczone priory szacowania porcji (statystyczna wiedza o typowych rozmiarach porcji), wskazówki dotyczące względnego rozmiaru (porównując jedzenie do talerza lub innych obiektów) oraz oszacowanie głębokości monokularnej, aby uzyskać oszacowania, które zazwyczaj mieszczą się w granicach 15 do 30 procent rzeczywistego rozmiaru porcji. To wystarczająco dokładne, aby być użytecznym w codziennym śledzeniu, ale nie wystarczająco precyzyjne do klinicznej oceny dietetycznej.
Jaka jest różnica między klasyfikacją żywności a wykrywaniem żywności?
Klasyfikacja żywności przypisuje jedną etykietę całemu obrazowi (ten obraz zawiera pizzę). Wykrywanie żywności identyfikuje i lokalizuje wiele przedmiotów żywnościowych w obrębie obrazu, rysując ramki wokół każdego przedmiotu i klasyfikując je niezależnie (ten obraz zawiera pizzę w lewym górnym rogu, sałatkę w prawym dolnym rogu i paluszek wzdłuż góry). Wykrywanie jest trudniejszym zadaniem, ale niezbędnym dla rzeczywistych zdjęć posiłków, które prawie zawsze zawierają wiele potraw.
Jak Nutrola wykorzystuje te badania?
Nutrola opiera się na całym ciele akademickich badań nad rozpoznawaniem żywności opisanych w tym artykule, włączając w to najnowocześniejsze architektury, szkolenie na różnorodnych danych z rzeczywistego świata oraz optymalizację pod kątem dokładności wartości odżywczych, a nie tylko dokładności klasyfikacji. System łączy rozpoznawanie wizualne z sygnałami kontekstowymi i informacjami zwrotnymi od użytkowników, aby dostarczyć dokładność, która przewyższa to, co osiąga jakakolwiek pojedyncza praca badawcza w izolacji. Nutrola również wnosi wkład do społeczności badawczej, publikując wyniki dotyczące wydajności rozpoznawania żywności w rzeczywistych warunkach oraz wyzwań związanych z wdrażaniem tych systemów na dużą skalę.
Czy AI rozpoznawania żywności kiedykolwiek osiągnie 100 procent dokładności?
Idealna dokładność jest mało prawdopodobna z kilku powodów. Niektóre potrawy są naprawdę wizualnie nieodróżnialne (biały cukier i sól, na przykład). Szacowanie porcji z obrazów 2D ma fundamentalne ograniczenia matematyczne. A różnorodność globalnych kuchni oznacza, że zawsze będą istniały rzadkie potrawy z ograniczonymi danymi treningowymi. Jednak istotne pytanie nie brzmi, czy technologia jest doskonała, ale czy jest użyteczna. Na obecnych poziomach dokładności AI rozpoznawania żywności już redukuje trudności związane z rejestrowaniem żywności o 70 do 80 procent w porównaniu do ręcznego wprowadzania, a dokładność nadal poprawia się z każdą generacją modeli i danych treningowych.
Podsumowanie
AI rozpoznawania żywności w Twoim telefonie jest efektem badawczej podróży, która trwa ponad dekadę. Zaczęła się od przełomu w klasyfikacji obrazów na wyzwaniu ImageNet w 2012 roku, zyskała na znaczeniu dzięki zestawom danych specyficznym dla żywności, takim jak Food-101, zmierzyła się z unikalnymi wyzwaniami żywności jako domeny wizualnej i stopniowo zbliżyła się do luki między akademickimi benchmarkami a wydajnością w rzeczywistych warunkach.
Ta podróż jest daleka od zakończenia. Szacowanie porcji pozostaje otwartym problemem badawczym. Kategorii żywności o długim ogonie potrzeba lepszego pokrycia. Dokładność w rzeczywistych warunkach nadal pozostaje w tyle za dokładnością benchmarkową o znaczną marżę. Ale trajektoria jest jasna: każdy rok przynosi lepsze modele, bogatsze dane treningowe i bardziej wyrafinowane podejścia do trudnych problemów.
Nutrola istnieje na styku tych badań i praktycznych potrzeb ludzi starających się zrozumieć, co jedzą. Poprzez bliskie śledzenie najnowszych osiągnięć badań akademickich, zachowując jednocześnie nieustanne skupienie na wydajności w rzeczywistych warunkach, pracujemy nad tym, aby obietnica bezproblemowego i dokładnego śledzenia wartości odżywczych stała się rzeczywistością dla każdego.
Gotowy, aby przeksztalcic sledzenie zywienia?
Dolacz do tysiecy osob, ktore przeksztalcily swoja podroz zdrowotna z Nutrola!