Soba

Test dokładności · październik 2026

Przetestowaliśmy szacunki węglowodanów Soba na 400 zdjęciach posiłków

Zdjęcia pochodzą z dwóch publicznych zbiorów danych badawczych, w których węglowodany każdego posiłku ustalono przez ważenie lub zapis. Poniżej są wyniki, metoda i posiłki, przy których Soba się pomyliła.

68,5%posiłków w granicach 10 g od rzeczywistej ilości węglowodanów, z jednego zdjęcia

+4punkty procentowe więcej w granicach 10 g, gdy podpowiedź nazywała produkty dokładnie tak, jak zapisano je w badaniu

5,2 gmediana błędu z jednego zdjęcia

400 zdjęć, każde zeskanowane raz z podpowiedzią i raz bez niej. Podpowiedź wymieniała główne produkty bez ilości, na przykład „steak; cauliflower; chicken” (po angielsku, jak w zbiorach danych). Wszystkie skany zakończyły się wynikiem. Mediana czasu: 3,1 sekundy na zdjęcie.

Co ustaliliśmy

Liczby w tej części to pierwsze szacunki Soba z samego zdjęcia, zanim ktokolwiek poprawił wagę lub dodał podpowiedź. 49% szacunków mieściło się w granicach 5 g od rzeczywistej ilości węglowodanów. Przedział ufności 95% dla odsetka w granicach 10 g wynosi od 64,0% do 72,9%.

Najbliżej rzeczywistości były małe i średnie posiłki. Dla posiłków poniżej 15 g węglowodanów 89% szacunków mieściło się w granicach 10 g.

Duże posiłki były zwykle niedoszacowane. W 38 z 42 posiłków z 60 g węglowodanów lub więcej szacunek Soba był za niski. Mediana szacunku wyniosła 64% rzeczywistej ilości. Główną przyczyną jest waga porcji: w 30 z tych 38 posiłków Soba oceniła wagę jedzenia na co najmniej 15% mniejszą od rzeczywistej, a węglowodany na 100 g podawała zwykle blisko prawdy.

Co to oznacza, gdy korzystasz z Soba

Co możesz dodać w aplikacji

Powyższe wyniki pochodzą wyłącznie z jednego zdjęcia. W aplikacji możesz dodać kilka słów o posiłku, a na iPhone’ach z aparatem głębi Soba mierzy też odległość do jedzenia. Powtórzyliśmy test z każdą z tych opcji.

Odsetek posiłków w granicach 10 g od rzeczywistej ilości węglowodanów

Wszystkie 400 zdjęć

Samo zdjęcie68,5%
Zdjęcie i podpowiedź72,8%

200 zdjęć ze stołówki z danymi o głębi

Samo zdjęcie77,5%
Zdjęcie i głębia82,0%
Zdjęcie, głębia i podpowiedź78,5%

Podpowiedź tekstowa

Kilka słów, takich jak „słodka herbata” albo „kasza gryczana”, dodaje to, czego zdjęcie nie pokaże. W teście każde z 400 zdjęć dostało podpowiedź z nazwami głównych produktów z zapisu w zbiorze danych, bez ilości, na przykład „Coffee, brewed; Coffee creamer, liquid, fat free”. Odsetek w granicach 10 g wzrósł z 68,5% do 72,8% (przedział 95% dla przyrostu: od 0,7 do 7,9 punktu), a mediana błędu spadła z 5,2 do 4,5 g.

Podpowiedź pomogła najbardziej tam, gdzie zdjęcie dało się odczytać na więcej niż jeden sposób. Bez niej Soba wzięła tę kawę z zabielaczem za sos karmelowy i oszacowała 162 g węglowodanów. Z podpowiedzią oszacowała 5,5 g, a zapis żywieniowy podaje 2,7 g. Na zdjęciach SNAPMe, które ludzie robili własnym posiłkom, odsetek w granicach 10 g wzrósł z 59,5% do 67,5%. Na zdjęciach ze stołówki, gdzie produkty łatwo rozpoznać, prawie się nie zmienił: z 77,5% do 78,0%.

Podpowiedź nazywa produkt, a ilość Soba nadal ocenia ze zdjęcia. Duże posiłki były niedoszacowane w 37 z 42 przypadków z podpowiedzią i w 38 bez niej. Podpowiedzi testowe dokładnie kopiowały zapisy ze zbiorów danych. Większość przyrostu przypadła na pierwszy zestaw 200 posiłków, 8,0 punktu; w drugim zestawie było to 0,5. Podpowiedź wpisana przez ciebie prawdopodobnie doda mniej.

Odległość z aparatu głębi

Gdy robisz zdjęcie aparatem w Soba na iPhonie ze skanerem LiDAR lub co najmniej dwoma tylnymi aparatami, Soba mierzy odległość do jedzenia i przekazuje modelowi szerokość kadru w centymetrach. Nutrition5k zawiera nagranie z kamery głębi dla każdego zdjęcia, więc powtórzyliśmy jego 200 posiłków z tym pomiarem. Odsetek w granicach 10 g wzrósł z 77,5% do 82,0% (przedział 95% dla przyrostu: od 1,0 do 8,3 punktu), a mediana błędu spadła z 3,9 do 3,1 g. Duże posiłki nadal były niedoszacowane, w 12 z 13 przypadków. Te zdjęcia zrobiono prosto z góry, ze stałej wysokości. Zdjęć robionych pod kątem jeszcze nie mierzyliśmy.

Z pomiarem głębi i podpowiedzią jednocześnie wynik wyniósł 78,5%. Na tych zdjęciach ze stołówki podpowiedź miała niewiele do dodania, a przedział 95% dla różnicy względem samej głębi, od −8,8 do +1,5 punktu, obejmuje zero.

Twoje poprawki

Jeśli znasz wagę porcji, wpisz ją, a wszystkie liczby się przeliczą. W tym teście waga porcji była główną przyczyną dużych błędów.

Soba pokazuje zakres wagi przy każdym szacunku. Na 200 zważonych talerzach z Nutrition5k prawdziwa waga talerza mieściła się w tym zakresie w 97 przypadkach, czyli mniej więcej w połowie. Zakres pokazuje, gdzie według modelu powinna być waga. Najpewniej sprawdzisz ją wagą kuchenną.

Wyniki według wielkości posiłku

Rzeczywiste węglowodanyPosiłkiW granicach 10 gW granicach 20 gMediana błędu
Poniżej 15 g16788,6%98,8%2,0 g
Od 15 do 30 g9469,1%88,3%6,2 g
Od 30 do 60 g9754,6%84,5%8,4 g
60 g lub więcej4219,0%38,1%25,4 g

Wynik ogólny zależy od tego składu: 42% posiłków w teście miało mniej niż 15 g węglowodanów. Jeśli zwykle jesz większe posiłki, spodziewaj się większego typowego błędu.

Te grupy opierają się na rzeczywistych węglowodanach, których aplikacja w chwili skanu nie zna. W grupach według szacunku Soba 84 posiłki wyszły na 40 g lub więcej, a 55 z nich różniło się o ponad 10 g: 32 za wysoko i 23 za nisko. Dlatego aplikacja proponuje zważenie głównego produktu z węglowodanami, gdy szacunek osiąga 40 g.

Wykres punktowy 400 posiłków: rzeczywiste węglowodany na osi poziomej, szacunek Soba na osi pionowej. Do około 50 g większość punktów leży w pasie ±10 g. Powyżej 60 g większość punktów leży pod pasem.
Każdy posiłek z testu. Punkty w zacienionym pasie mieszczą się w granicach 10 g. Punkty pod linią przerywaną to szacunki zaniżone. Jeden napój, kawa z zabielaczem odczytana jako sos karmelowy, wyszedł na 162 g i jest narysowany przy górnej krawędzi.

Cztery posiłki z testu

Dwa bliskie szacunki i dwa chybione. Nazwy produktów i wagi pochodzą z odpowiedzi Soba.

Talerz z dwoma kawałkami kolby kukurydzy, białym ryżem, kalafiorem i jabłkiem.
Rzeczywiste 49,7 g · Soba 49,7 gKukurydza, ryż, kalafior i jabłko. Soba oceniła jabłko na 130 g (ważyło 117 g), a kukurydzę na 60 g (74 g). Błędy wagi się zniosły.
Pieczone ziemniaki z komosą ryżową i warzywami na białym talerzu.
Rzeczywiste 46,0 g · Soba 40,8 gPieczone ziemniaki z komosą ryżową. Soba wzięła komosę za kuskus. Oba produkty mają podobną ilość węglowodanów, więc suma wyszła bliska.
Kawałek pizzy z serem i ciastko czekoladowe na białym talerzu.
Rzeczywiste 33,3 g · Soba 46,6 gKawałek pizzy i ciastko. Soba oceniła oba jako cięższe, niż były: pizza 85 g (w rzeczywistości 47 g), ciastko 35 g (w rzeczywistości 27 g).
Cztery kawałki pizzy z ananasem, kurczakiem w kostkę i pomidorkami koktajlowymi na białym talerzu.
Rzeczywiste 85,1 g · Soba 59,8 gPizza z kurczakiem, ananasem i pomidorami. Pizza ważyła 233 g, Soba oszacowała 180 g. 16 z 23 błędów powyżej 30 g wystąpiło w posiłkach z 60 g węglowodanów lub więcej.

Zdjęcia: zbiór danych Nutrition5k, Google Research, CC BY 4.0. Zmniejszone na potrzeby tej strony.

Dwa zbiory danych, dwa rodzaje zdjęć

Zbiór danych, po 200 posiłkówW granicach 10 gMediana błęduŚredni błąd
Nutrition5k77,5%3,9 g6,8 g
SNAPMe59,5%6,8 g12,2 g

Talerze z Nutrition5k pochodzą ze stołówek Google. Każdy składnik zważono, a każde zdjęcie zrobił nieruchomy aparat prosto z góry. To czyste warunki i tutaj Soba wypadła najlepiej.

SNAPMe to badanie Departamentu Rolnictwa USA i UC Davis. 95 osób w USA fotografowało własne posiłki przed jedzeniem i prowadziło dziennik żywieniowy w ASA24, narzędziu do oceny sposobu żywienia. Zdjęcia wyglądają jak te, które ludzie robią w Soba. Wartości referencyjne pochodzą z dzienników żywieniowych uczestników, które same zawierają błędy. Część różnicy między zbiorami wynika ze zdjęć, a część z wartości referencyjnych.

Porównanie z opublikowanym badaniem

Rodríguez-Jiménez i współpracownicy (Nutrients, 2025) przetestowali ChatGPT-5 na 74 posiłkach z SNAPMe, używając wyłącznie zdjęć. Podają średni błąd bezwzględny 12,99 g węglowodanów i medianę 8,75 g.

Tylko zdjęciePosiłkiŚredni błądMediana błędu
ChatGPT-5 (opublikowane)7412,99 g8,75 g
Soba20012,2 g6,8 g

Autorzy wybrali posiłki inaczej i część wartości referencyjnych poprawili ręcznie, więc oba wiersze można porównywać tylko w przybliżeniu. Pokazują podobny poziom błędu. W tym samym badaniu krótka notatka o tłuszczu, cukrze i mięsie w posiłku obniżyła średni błąd do 11,29 g. W Soba podpowiedź z nazwami produktów obniżyła średni błąd na 200 posiłkach z SNAPMe z 12,2 do 10,2 g.

Jakiego modelu używa Soba

Uruchomiliśmy osiem modeli na pierwszych 200 posiłkach z instrukcjami Soba.

ModelW granicach 10 gMediana czasu
Google Gemini 3.7 Flash73,0%3,7 s
Google Gemini 3.8 Flash71,5%4,8 s
Google Gemini 3.5 Flash-Lite69,0%2,1 s
Google Gemini 3.6 Flash67,5%3,3 s
OpenAI GPT-6 Luna65,0%6,9 s
OpenAI GPT-6 Luna Pro63,0%11,7 s
OpenAI GPT-6.1 Sol58,0%13,1 s
Anthropic Claude Sonnet 5.553,0%6,0 s

Jeden przebieg na model przez OpenRouter, z ustawieniami zapytań, których Soba używała przed październikiem 2026. Claude Sonnet 5.5 zwrócił pusty produkt dla 41 z 200 zdjęć u dostawcy wybranego przez OpenRouter. Na pozostałych zdjęciach osiągnął 66,7%. GPT-6.1 Sol zawyżał węglowodany średnio o 10 g.

Gemini 3.7 Flash prowadził na tych 200 posiłkach. Model, który wygrywa jedno porównanie z ośmiu, często wygląda lepiej, niż jest naprawdę, więc sprawdziliśmy go na drugim zestawie 200 posiłków. Tam uzyskał ten sam wynik co Gemini 3.6 Flash, po 70,5%, przy wyższej cenie. Soba zostaje przy Gemini 3.6 Flash.

Sprawdziliśmy też wariant, w którym Gemini 3.6 Flash ma więcej czasu na rozumowanie. Na 400 posiłkach odsetek w granicach 10 g wzrósł o 4,1 punktu, a odsetek w granicach 5 g i liczba błędów powyżej 30 g pozostały takie same. Każdy skan trwał dwa razy dłużej, 6,6 sekundy zamiast 3,5. Zostawiliśmy szybsze ustawienie.

Pełne porównanie z przedziałami 95%, danymi dla każdego posiłku i skryptem, który przelicza każdą tabelę: osiem modeli AI na zdjęciach posiłków (po angielsku).

Jak przeprowadziliśmy test

Wybór posiłków

Pula początkowa obejmowała 505 talerzy Nutrition5k z oficjalnego podziału testowego zbioru dla zdjęć z góry i 1457 zdjęć SNAPMe zrobionych przed jedzeniem. Wcześniej usunęliśmy 22 pozycje: talerze i posiłki z błędnymi wartościami oraz zdjęcia SNAPMe, których nie dało się przypisać do dokładnie jednego zapisu żywieniowego.

Skrypt ze stałym ziarnem losowania wybrał po 100 posiłków z każdego zbioru: po 25 z każdej ćwiartki zakresu węglowodanów. Talerze ze stołówki sfotografowane w ciągu tych samych dziesięciu minut często wyglądają podobnie, więc skrypt ograniczał liczbę talerzy z jednego dziesięciominutowego okna. Potem w ten sam sposób wybrał drugi zestaw 200 posiłków, bez zdjęć i posiłków wspólnych z pierwszym zestawem.

Dwa zestawy

Błędy analizowaliśmy i zmiany w instrukcjach Soba testowaliśmy tylko na pierwszych 200 posiłkach. Drugie 200 służyło do sprawdzenia, czy wynik się utrzymuje. W ten sposób wyłapaliśmy opisany wyżej wynik Gemini 3.7 Flash.

Uruchomienie Soba

Każde zdjęcie przeszło przez ten sam kod serwera, którego używa aplikacja: te same instrukcje, model i ustawienia. Zdjęcia zmniejszono do 1024 pikseli na dłuższym boku, tak jak robi to aplikacja przed wysłaniem. Główny przebieg odbył się bez podpowiedzi tekstowej, bez danych z aparatu głębi i bez późniejszych poprawek. Przebiegi z podpowiedzią lub danymi o głębi używały tego samego kodu i zmieniały tylko te dane wejściowe. Język aplikacji był ustawiony na rosyjski.

Pomiar błędu

Soba podaje węglowodany netto (bez błonnika) i osobno błonnik. Zbiory danych podają węglowodany ogółem, więc porównaliśmy sumę węglowodanów netto i błonnika z Soba z wartością ogólną. Główną miarą jest odsetek posiłków, w których różnica wynosi 10 g lub mniej. Nieudany skan liczyłby się jako chybiony; takich skanów nie było. Przedział 95% pochodzi z metody bootstrap z 10 000 powtórzeń losowania, która trzyma razem posiłki jednego uczestnika SNAPMe lub jednego dziesięciominutowego okna stołówki.

Ograniczenia tego testu

Soba nie jest wyrobem medycznym. Jej liczby to szacunki. Porównuj je z jedzeniem na talerzu i z etykietami produktów oraz stosuj się do swojego planu leczenia cukrzycy.

Zmiany po teście

Dane i źródła

Wyniki dla każdego posiłku (CSV, 400 wierszy): identyfikator w zbiorze danych, węglowodany referencyjne, szacunek Soba z samego zdjęcia, tekst podpowiedzi oraz szacunki z podpowiedzią i z danymi o głębi. Plik jest udostępniony na licencji SNAPMe, CC BY-SA 4.0.