Noggrannhetstest · oktober 2026
Vi testade Sobas kolhydratuppskattningar på 400 måltidsbilder
Bilderna kommer från två offentliga forskningsdataset där kolhydraterna i varje måltid vägdes eller registrerades. Nedan finns resultaten, metoden och de måltider där Soba hade fel.
68,5 %av måltiderna inom 10 g från den faktiska mängden kolhydrater, utifrån en bild
+4procentenheter fler inom 10 g när en ledtråd namngav livsmedlen exakt så som studien registrerade dem
5,2 gmedianfel utifrån en bild
Vad vi kom fram till
Siffrorna i det här avsnittet är Sobas första uppskattningar utifrån enbart bilden, innan någon rättade en vikt eller lade till en ledtråd. 49 % av uppskattningarna låg inom 5 g från den faktiska mängden kolhydrater. Konfidensintervallet på 95 % för andelen inom 10 g är 64,0 % till 72,9 %.
Små och medelstora måltider hamnade närmast. För måltider under 15 g kolhydrater låg 89 % av uppskattningarna inom 10 g.
Stora måltider underskattades oftast. I 38 av 42 måltider med 60 g kolhydrater eller mer var Sobas uppskattning för låg. Medianuppskattningen var 64 % av den faktiska mängden. Den främsta orsaken är portionens vikt: i 30 av dessa 38 måltider bedömde Soba att maten vägde minst 15 % mindre än den gjorde, medan kolhydraterna per 100 g oftast låg nära.
Vad det här betyder när du använder Soba
- Har du en stor tallrik med bröd, ris, pasta, potatis eller pizza, väg det viktigaste kolhydratlivsmedlet om du kan. Uppskattningar på 40 g eller mer slog fel åt båda hållen: av 84 måltider hamnade 32 mer än 10 g för högt och 23 för lågt.
- Enstaka små saker, som en småkaka eller en pizzabit, blir ibland tyngre än de är.
- Socker som är upplöst i en dryck syns inte på en bild. I testet lästes ett sött iste som osötat. Lägg till en kort ledtråd som ”sött te” eller skanna streckkoden.
- För förpackad mat ger streckkoden dig värdena från etiketten.
Vad du kan lägga till i appen
Resultaten ovan bygger enbart på en bild. I appen kan du skriva några ord om måltiden, och på iPhone med djupkamera mäter Soba också avståndet till maten. Vi upprepade testet med vart och ett av dem.
Alla 400 bilder
200 bilder från personalmatsal med djupdata
En ledtråd i text
Några ord som ”sött te” eller ”bovete” tillför det som en bild inte kan visa. I testet fick var och en av de 400 bilderna en ledtråd med namnen på de viktigaste livsmedlen från datasetets registrering och utan mängder, till exempel ”Coffee, brewed; Coffee creamer, liquid, fat free”. Andelen inom 10 g steg från 68,5 % till 72,8 % (intervall på 95 % för ökningen: 0,7 till 7,9 procentenheter), och medianfelet sjönk från 5,2 till 4,5 g.
Ledtråden hjälpte mest där bilden kunde tolkas på mer än ett sätt. Utan den tog Soba kaffet med gräddersättning för kolasås och uppskattade 162 g kolhydrater. Med ledtråden uppskattade den 5,5 g, och matregistreringen anger 2,7 g. På SNAPMe-bilderna, som deltagarna tog av sina egna måltider, steg andelen inom 10 g från 59,5 % till 67,5 %. På bilderna från personalmatsalen, där livsmedlen syns tydligt, ändrades den knappt: från 77,5 % till 78,0 %.
En ledtråd namnger maten, men Soba bedömer fortfarande mängden från bilden. Stora måltider underskattades i 37 av 42 fall med ledtråd och i 38 utan. Testledtrådarna kopierade datasetets registreringar exakt. Största delen av ökningen kom från den första uppsättningen på 200 måltider, 8,0 procentenheter. I den andra var den 0,5. En ledtråd som du skriver själv ger troligen mindre.
Avstånd från djupkameran
När du tar bilden med Sobas kamera på en iPhone med LiDAR-skanner eller två eller fler bakre kameror mäter Soba avståndet till maten och talar om för modellen hur bred bilden är i centimeter. Nutrition5k har en inspelning från en djupkamera för varje bild, så vi upprepade datasetets 200 måltider med den här mätningen. Andelen inom 10 g steg från 77,5 % till 82,0 % (intervall på 95 % för ökningen: 1,0 till 8,3 procentenheter), och medianfelet sjönk från 3,9 till 3,1 g. Stora måltider underskattades fortfarande, i 12 av 13 fall. Bilderna togs rakt ovanifrån från en fast höjd. Bilder tagna snett har vi ännu inte mätt.
Med både djupmätning och ledtråd blev resultatet 78,5 %. På de här bilderna från personalmatsalen hade ledtråden lite att tillföra, och intervallet på 95 % för skillnaden mot enbart djup, −8,8 till +1,5 procentenheter, innehåller noll.
Dina rättelser
Om du vet portionens vikt anger du den, och alla siffror räknas om. Portionens vikt var den främsta orsaken till stora fel i det här testet.
Soba visar ett viktintervall bredvid varje uppskattning. På de 200 vägda tallrikarna i Nutrition5k låg tallrikens verkliga vikt inom intervallet i 97 fall, ungefär hälften. Intervallet visar var modellen förväntar sig att vikten ligger. En köksvåg är den säkraste kontrollen.
Resultat efter måltidens storlek
| Faktiska kolhydrater | Måltider | Inom 10 g | Inom 20 g | Medianfel |
|---|---|---|---|---|
| Under 15 g | 167 | 88,6 % | 98,8 % | 2,0 g |
| 15 till 30 g | 94 | 69,1 % | 88,3 % | 6,2 g |
| 30 till 60 g | 97 | 54,6 % | 84,5 % | 8,4 g |
| 60 g eller mer | 42 | 19,0 % | 38,1 % | 25,4 g |
Det samlade resultatet beror på den här fördelningen: 42 % av testmåltiderna hade mindre än 15 g kolhydrater. Om du brukar äta större måltider kan du räkna med ett större typiskt fel.
Grupperna bygger på de faktiska kolhydraterna, som appen inte känner till när du skannar. Grupperat efter Sobas egen uppskattning hamnade 84 måltider på 40 g eller mer, och 55 av dem slog fel med mer än 10 g: 32 för högt och 23 för lågt. Därför föreslår appen att du väger det viktigaste kolhydratlivsmedlet när en uppskattning når 40 g.
Fyra måltider från testet
Två nära uppskattningar och två missar. Sobas namn på livsmedlen och vikterna är hämtade från dess svar.
Bilder: Nutrition5k-datasetet, Google Research, CC BY 4.0. Storleken har ändrats för den här sidan.
Två dataset, två sorters bilder
| Dataset, 200 måltider vardera | Inom 10 g | Medianfel | Medelfel |
|---|---|---|---|
| Nutrition5k | 77,5 % | 3,9 g | 6,8 g |
| SNAPMe | 59,5 % | 6,8 g | 12,2 g |
Tallrikarna i Nutrition5k kommer från Googles personalmatsalar. Varje ingrediens vägdes, och en fast kamera tog varje bild rakt ovanifrån. Förhållandena är rena, och här lyckades Soba bäst.
SNAPMe är en studie från USA:s jordbruksdepartement och UC Davis. 95 personer i USA fotograferade sina egna måltider innan de åt och förde matregistrering i ASA24, ett verktyg för kostbedömning. Bilderna liknar dem som folk tar med Soba. Referensvärdena kommer från deltagarnas matregistreringar, som har egna fel. En del av skillnaden mellan de två dataseten beror på bilderna och en del på referensvärdena.
Jämfört med en publicerad studie
Rodríguez-Jiménez med kollegor (Nutrients, 2025) testade ChatGPT-5 på 74 måltider från SNAPMe med enbart bilder. De rapporterar ett genomsnittligt absolut fel på 12,99 g kolhydrater och en median på 8,75 g.
| Enbart bild | Måltider | Medelfel | Medianfel |
|---|---|---|---|
| ChatGPT-5 (publicerat) | 74 | 12,99 g | 8,75 g |
| Soba | 200 | 12,2 g | 6,8 g |
Författarna valde sina måltider på ett annat sätt och rättade vissa referensvärden för hand, så de två raderna kan bara jämföras ungefärligt. De visar en liknande felnivå. I samma studie sänkte en kort anteckning om måltidens fett, socker och kött medelfelet till 11,29 g. I Soba sänkte en ledtråd som namngav livsmedlen medelfelet på de 200 SNAPMe-måltiderna från 12,2 till 10,2 g.
Vilken modell Soba använder
Vi körde åtta modeller på de första 200 måltiderna med Sobas instruktioner.
| Modell | Inom 10 g | Mediantid |
|---|---|---|
| Google Gemini 3.7 Flash | 73,0 % | 3,7 s |
| Google Gemini 3.8 Flash | 71,5 % | 4,8 s |
| Google Gemini 3.5 Flash-Lite | 69,0 % | 2,1 s |
| Google Gemini 3.6 Flash | 67,5 % | 3,3 s |
| OpenAI GPT-6 Luna | 65,0 % | 6,9 s |
| OpenAI GPT-6 Luna Pro | 63,0 % | 11,7 s |
| OpenAI GPT-6.1 Sol | 58,0 % | 13,1 s |
| Anthropic Claude Sonnet 5.5 | 53,0 % | 6,0 s |
En körning per modell via OpenRouter, med de inställningar för förfrågningar som Soba använde före oktober 2026. Claude Sonnet 5.5 returnerade ett tomt livsmedel för 41 av de 200 bilderna via den leverantör som OpenRouter valde. På övriga bilder nådde den 66,7 %. GPT-6.1 Sol överskattade kolhydraterna med i genomsnitt 10 g.
Gemini 3.7 Flash ledde på de här 200 måltiderna. En modell som vinner en jämförelse av åtta ser ofta bättre ut än den är, så vi kontrollerade den på den andra uppsättningen med 200 måltider. Där fick den samma resultat som Gemini 3.6 Flash, 70,5 % vardera, till ett högre pris. Soba fortsätter med Gemini 3.6 Flash.
Vi testade också att ge Gemini 3.6 Flash mer tid att resonera. På 400 måltider steg andelen inom 10 g med 4,1 procentenheter, medan andelen inom 5 g och antalet fel över 30 g förblev desamma. Varje skanning tog dubbelt så lång tid, 6,6 sekunder i stället för 3,5. Vi behöll den snabbare inställningen.
Hela jämförelsen, med 95-procentiga intervall, data per måltid och ett skript som räknar om varje tabell: åtta AI-modeller på måltidsfoton (på engelska).
Så genomförde vi testet
Urval av måltider
Utgångspunkten var 505 tallrikar från Nutrition5k ur datasetets officiella testdel för bilder ovanifrån och 1 457 bilder från SNAPMe tagna före måltiden. Dessförinnan tog vi bort 22 poster: tallrikar och måltider med ogiltiga värden samt SNAPMe-bilder som inte gick att koppla till exakt en matregistrering.
Ett skript med ett fast slumpfrö tog 100 måltider från varje dataset: 25 från varje fjärdedel av kolhydratspannet. Tallrikar från personalmatsalen som fotograferats inom samma tio minuter ser ofta likadana ut, så skriptet begränsade hur många tallrikar det tog från ett och samma tiominutersfönster. Sedan valde det en andra uppsättning på 200 måltider på samma sätt, utan bilder eller måltider gemensamma med den första.
Två uppsättningar
Vi analyserade fel och provade ändringar i Sobas instruktioner enbart på de första 200 måltiderna. De andra 200 användes för att kontrollera om ett resultat höll. Det var så vi upptäckte resultatet för Gemini 3.7 Flash ovan.
Så körde vi Soba
Varje bild gick genom samma serverkod som appen använder: samma instruktioner, modell och inställningar. Bilderna förminskades till 1 024 pixlar på den längsta sidan, som appen gör före sändning. Huvudkörningen hade ingen ledtråd i text, inga data från djupkameran och ingen rättelse i efterhand. Körningarna med ledtråd eller djupdata använde samma kod och ändrade bara den indatan. Appens språk var inställt på ryska.
Så mätte vi felet
Soba anger kolhydrater exklusive fiber och fiber separat. Dataseten anger totala kolhydrater, så vi jämförde Sobas kolhydrater exklusive fiber plus fiber med totalen. Huvudmåttet är andelen måltider där skillnaden är 10 g eller mindre. En misslyckad skanning skulle räknas som en miss. Det fanns inga. Intervallet på 95 % kommer från en bootstrap med 10 000 omsamplingar som håller ihop måltider från samma SNAPMe-deltagare eller samma tiominutersfönster i personalmatsalen.
Testets begränsningar
- Alla måltider kommer från USA. Tallrikarna i Nutrition5k fotograferades rakt ovanifrån med en och samma kamerauppställning.
- Referensvärdena innehåller fel. Värdena i SNAPMe kommer från självrapporterade matregistreringar. En del tallrikar i Nutrition5k har etiketter som missar synlig mat.
- Vi testade igenkänning från bilder. Textbeskrivningar, streckkodssökning och manuell inmatning låg utanför testet.
- Testledtrådarna namngav livsmedlen exakt så som dataseten registrerade dem, och vad de tillförde skilde sig mycket mellan de två uppsättningarna måltider (se ”En ledtråd i text”).
- Djupresultatet gäller bara de 200 bilderna från Nutrition5k, alla tagna rakt ovanifrån.
- Vi mätte kolhydrater. Protein, fett och kalorier ligger utanför den här sidan.
- Leverantörerna uppdaterar sina modeller. Resultaten beskriver Soba i oktober 2026.
Soba är inte en medicinteknisk produkt. Siffrorna är uppskattningar. Jämför dem med maten på tallriken och med produktetiketter och följ din vårdplan för diabetes.
Ändringar efter testet
- Sobas reservmodell från OpenAI kunde inte köras. En inställning i förfrågan, temperature, accepteras inte av OpenAI:s modeller, och förfrågan tillät bara leverantörer som accepterar alla inställningar. Vi tog bort inställningen. Huvudmodellen fick 68,9 % med den och 68,5 % utan den, vilket ligger inom den normala variationen mellan upprepade körningar. Gemini 3.7 Flash och GPT-6 Luna är nu reservmodeller.
- I 9 av 3 614 testförfrågningar (0,25 %) upprepade Gemini en och samma fras om och om igen, och skanningen tog 35 till 87 sekunder. Soba begränsar nu svarets längd, vilket stoppar en sådan loop tidigare.
Data och källor
Resultat per måltid (CSV, 400 rader, på engelska): datasetets ID, referensvärde för kolhydrater, Sobas uppskattning utifrån enbart bilden, ledtrådens text samt uppskattningarna med ledtråd och med djupdata. Filen följer licensen för SNAPMe, CC BY-SA 4.0.
- Thames Q, Karpur A, Norris W, et al. Nutrition5k: Towards Automatic Nutritional Understanding of Generic Food. CVPR 2021. arXiv:2103.03375. Dataset: github.com/google-research-datasets/Nutrition5k, CC BY 4.0.
- Larke JA, Chin EL, Bouzid YY, et al. Surveying Nutrient Assessment with Photographs of Meals (SNAPMe): A Benchmark Dataset of Food Photos for Dietary Assessment. Nutrients. 2023;15(23):4972. PMC10708545. Data: USDA Ag Data Commons, CC BY-SA 4.0.
- Rodríguez-Jiménez et al. Image-Based Dietary Energy and Macronutrients Estimation with ChatGPT-5: Cross-Source Evaluation Across Escalating Context Scenarios. Nutrients. 2025;17(22):3613. PMC12655113.