AI patrzy na Twój talerz i wie, co jesz

Wyobraź sobie, że robisz zdjęcie obiadu, a sztuczna inteligencja w ułamku sekundy rozpoznaje danie i podaje przybliżoną liczbę kalorii. Brzmi jak science fiction? To już działa, i to bezpośrednio w Twojej przeglądarce. Stworzyłem narzędzie do rozpoznawania jedzenia z kamery, które robi dokładnie to. Oto jak działa technologia, która za tym stoi.

Food-101: baza danych, na której uczą się modele

Fundamentem rozpoznawania jedzenia jest zbiór danych Food-101, stworzony na ETH Zurich w 2014 roku. Zawiera 101 000 zdjęć podzielonych na 101 kategorii potraw: od pizzy i sushi, przez pad thai, po tiramisu i steki. Zdjęcia pochodzą z serwisów z recenzjami restauracji, więc wyglądają jak prawdziwe fotografie robione telefonem przy stole, a nie sterylne ujęcia studyjne. Właśnie dlatego Food-101 stał się standardowym benchmarkiem do oceny modeli rozpoznających jedzenie.

Swin Transformer: architektura, która widzi jak człowiek

Klasyczne modele wizyjne (jak ViT) dzielą obraz na małe fragmenty i analizują je wszystkie jednocześnie. To działa, ale jest kosztowne obliczeniowo i traci kontekst lokalny. Swin Transformer rozwiązuje ten problem za pomocą przesuwanych okien (shifted windows). Model najpierw analizuje małe fragmenty obrazu, potem łączy je w coraz większe grupy, tworząc hierarchiczną mapę cech. Dzięki temu rozpoznaje zarówno drobne tekstury (ziarna ryżu, pęcherzyki na pizzy), jak i ogólny kształt dania. To podejście przypomina sposób, w jaki ludzkie oko skanuje talerz: od detali do całości.

92% dokładności: co to oznacza w praktyce

Model Swin Transformer osiąga około 92% dokładności na zbiorze Food-101. Niektóre dania rozpoznaje niemal bezbłędnie: pizza, sushi czy frytki mają bardzo charakterystyczny wygląd. Trudniej jest z potrawami, które wyglądają podobnie. Zupy mogą być mylone ze sobą, a różne rodzaje makaronów z sosem bywają klasyfikowane zamiennie. Mimo to 92% to wynik lepszy niż większość ludzi osiągnęłaby, próbując rozpoznać 101 różnych dań ze zdjęcia.

Szacowanie kalorii: najtrudniejsza część

Rozpoznanie dania to dopiero połowa zadania. Model klasyfikuje potrawę, ale nie widzi wielkości porcji, proporcji składników ani sposobu przygotowania. Dlatego szacowanie kaloryczności opiera się na tabeli średnich wartości odżywczych dla typowej porcji danego dania. Carbonara na zdjęciu może mieć 200 g lub 400 g, a model tego nie rozróżni. To narzędzie daje orientacyjny wynik, przydatny do ogólnej kontroli diety, ale nie zastępuje precyzyjnego ważenia posiłków ani konsultacji z dietetykiem.

58 MB modelu w Twojej przeglądarce

Całe przetwarzanie odbywa się lokalnie, na Twoim urządzeniu. Model w formacie ONNX (58 MB) jest pobierany przy pierwszym użyciu i uruchamiany przez bibliotekę Transformers.js. Żadne zdjęcie nie opuszcza Twojego telefonu czy komputera. Nie ma serwera, nie ma przesyłania danych, nie ma kwestii prywatności. To ten sam model, który działałby na potężnym serwerze, tylko skompresowany i zoptymalizowany do pracy w przeglądarce.

Zdjęcie czy kamera: kiedy co wybrać

Narzędzie oferuje dwa tryby: wgranie zdjęcia z galerii lub zrobienie zdjęcia kamerą. Wgranie istniejącego zdjęcia daje lepszą jakość, bo możesz wybrać najlepsze ujęcie. Tryb kamery jest wygodniejszy, gdy siedzisz przy stole i chcesz szybko sprawdzić, co masz na talerzu. Oba tryby korzystają z tego samego modelu i dają porównywalną dokładność, o ile zdjęcie jest dobrze oświetlone i danie jest wyraźnie widoczne.

Jeśli interesuje Cię, jak AI analizuje nie tylko jedzenie, ale też mimikę twarzy, przeczytaj wpis o rozpoznawaniu emocji z kamery. Mechanizm jest podobny: model wizyjny, przetwarzanie w przeglądarce, zero przesyłania danych.

Sprawdź sam

Zrób zdjęcie swojego obiadu i zobacz, jak AI go rozpozna. Otwórz narzędzie do rozpoznawania jedzenia i przetestuj na własnym talerzu. Działa na telefonie i komputerze, bez instalacji, bez rejestracji.

Chcesz lepiej rozumieć, jak komunikować się ze sztuczną inteligencją i wykorzystywać ją w codziennej pracy? Sprawdź kurs Skuteczne Prompty.