Soba

Genauigkeitstest · Oktober 2026

Wir haben Sobas Kohlenhydrat-Schätzungen an 400 Essensfotos getestet

Die Fotos stammen aus zwei öffentlichen Forschungsdatensätzen, in denen die Kohlenhydrate jeder Mahlzeit gewogen oder protokolliert wurden. Unten findest du die Ergebnisse, die Methode und die Mahlzeiten, bei denen Soba danebenlag.

68,5 %der Mahlzeiten innerhalb von 10 g der tatsächlichen Kohlenhydrate, allein anhand des Fotos

+4Prozentpunkte mehr, wenn ein Hinweis die Lebensmittel genau wie im Studienprotokoll nannte

5,2 gMedian-Fehler allein anhand des Fotos

400 Fotos, jedes einmal mit Hinweis und einmal ohne gescannt. Der Hinweis nannte die wichtigsten Lebensmittel ohne Mengen, zum Beispiel „steak; cauliflower; chicken“ (auf Englisch, wie in den Datensätzen). Keine fehlgeschlagenen Scans. Im Median 3,1 Sekunden pro Foto.

Was wir festgestellt haben

Die Zahlen in diesem Abschnitt sind Sobas erste Schätzungen allein anhand des Fotos, ohne Hinweis und bevor jemand ein Gewicht korrigiert hat. 49 % der Schätzungen lagen höchstens 5 g neben den tatsächlichen Kohlenhydraten. Das 95-%-Konfidenzintervall für den Anteil innerhalb von 10 g reicht von 64,0 bis 72,9 %.

Am genauesten waren kleine und mittlere Mahlzeiten. Bei Mahlzeiten unter 15 g Kohlenhydraten lagen 89 % der Schätzungen innerhalb von 10 g.

Große Mahlzeiten wurden meist unterschätzt. Bei 38 von 42 Mahlzeiten mit 60 g Kohlenhydraten oder mehr lag Sobas Schätzung zu niedrig, im Median bei 64 % der tatsächlichen Menge. Hauptursache ist das Portionsgewicht: Bei 30 dieser 38 Mahlzeiten schätzte Soba das Gewicht mindestens 15 % zu niedrig, während die Kohlenhydrate pro 100 g meist nah dran waren.

Was das für die Nutzung von Soba bedeutet

Was die App zusätzlich nutzt

Die Ergebnisse oben beruhen auf einem Foto und sonst nichts. In der App kannst du ein paar Worte zur Mahlzeit hinzufügen, und auf iPhones mit Tiefenkamera misst Soba zusätzlich die Entfernung zum Essen. Wir haben den Test mit jedem davon wiederholt.

Anteil der Mahlzeiten innerhalb von 10 g der tatsächlichen Kohlenhydrate

Alle 400 Fotos

Nur Foto68,5 %
Foto und Hinweis72,8 %

200 Kantinenfotos mit Tiefendaten

Nur Foto77,5 %
Foto und Tiefe82,0 %
Foto, Tiefe und Hinweis78,5 %

Ein Texthinweis

Ein paar Worte wie „gesüßter Tee“ oder „das ist Buchweizen“ ergänzen, was ein Foto nicht zeigen kann. Für den Test bekam jedes der 400 Fotos einen Hinweis mit den Namen der wichtigsten Lebensmittel aus dem Protokoll des Datensatzes, ohne Mengen, zum Beispiel „Coffee, brewed; Coffee creamer, liquid, fat free“. Der Anteil innerhalb von 10 g stieg von 68,5 auf 72,8 % (95-%-Intervall für den Zuwachs: 0,7 bis 7,9 Prozentpunkte), der Median-Fehler sank von 5,2 auf 4,5 g.

Am meisten half der Hinweis dort, wo sich das Foto unterschiedlich deuten lässt. Ohne Hinweis hielt Soba diesen Kaffee mit Kaffeesahne für Karamellsauce und schätzte 162 g Kohlenhydrate. Mit dem Hinweis waren es 5,5 g, laut Ernährungsprotokoll 2,7 g. Bei den SNAPMe-Fotos, die Menschen von ihren eigenen Mahlzeiten gemacht haben, stieg der Anteil innerhalb von 10 g von 59,5 auf 67,5 %. Bei den Kantinenfotos, auf denen die Lebensmittel gut zu erkennen sind, änderte er sich kaum: von 77,5 auf 78,0 %.

Der Hinweis nennt das Lebensmittel, die Menge schätzt Soba weiterhin anhand des Fotos. Große Mahlzeiten wurden mit Hinweis in 37 von 42 Fällen unterschätzt, ohne Hinweis in 38. Die Hinweise im Test gaben die Protokolle der Datensätze genau wieder. Fast der ganze Zuwachs kam aus dem ersten Satz mit 200 Mahlzeiten, 8,0 Prozentpunkte; beim zweiten waren es 0,5. Ein Hinweis, den du selbst eintippst, bringt wahrscheinlich weniger.

Entfernung von der Tiefenkamera

Wenn du das Foto mit der Kamera von Soba auf einem iPhone mit LiDAR-Scanner oder mit zwei oder mehr Rückkameras aufnimmst, misst Soba die Entfernung zum Essen und teilt dem Modell mit, wie breit das Bild in Zentimetern ist. Nutrition5k enthält zu jedem Foto eine Aufnahme der Tiefenkamera, deshalb haben wir die 200 Mahlzeiten von Nutrition5k mit dieser Messung wiederholt. Der Anteil innerhalb von 10 g stieg von 77,5 auf 82,0 % (95-%-Intervall für den Zuwachs: 1,0 bis 8,3 Prozentpunkte), der Median-Fehler sank von 3,9 auf 3,1 g. Große Mahlzeiten wurden weiterhin unterschätzt, in 12 von 13 Fällen. Diese Fotos wurden senkrecht von oben aus fester Höhe aufgenommen. Fotos aus schrägem Winkel haben wir noch nicht gemessen.

Mit Tiefenmessung und Hinweis zusammen lag der Anteil bei 78,5 %. Auf diesen Kantinenfotos konnte der Hinweis wenig ergänzen, und das 95-%-Intervall für den Unterschied zur Tiefenmessung allein, −8,8 bis +1,5 Prozentpunkte, schließt null ein.

Deine Korrekturen

Wenn du das Gewicht der Portion kennst, gib es ein, und alle Werte werden neu berechnet. In diesem Test war das Portionsgewicht die Hauptursache großer Fehler.

Soba zeigt neben jeder Schätzung eine Gewichtsspanne. Bei den 200 gewogenen Tellern von Nutrition5k lag das echte Gewicht des Tellers in 97 Fällen innerhalb dieser Spanne, also etwa bei der Hälfte. Die Spanne zeigt, wo das Modell das Gewicht erwartet. Am sichersten prüfst du mit einer Küchenwaage.

Ergebnisse nach Größe der Mahlzeit

Tatsächliche KHMahlzeitenInnerhalb 10 gInnerhalb 20 gMedian-Fehler
Unter 15 g16788,6 %98,8 %2,0 g
15 bis 30 g9469,1 %88,3 %6,2 g
30 bis 60 g9754,6 %84,5 %8,4 g
60 g und mehr4219,0 %38,1 %25,4 g

Das Gesamtergebnis hängt von dieser Mischung ab: 42 % der Testmahlzeiten hatten weniger als 15 g Kohlenhydrate. Wenn du meist größere Mahlzeiten isst, ist ein größerer typischer Fehler zu erwarten.

Diese Gruppen beruhen auf den tatsächlichen Kohlenhydraten, die die App beim Scannen nicht kennt. Nach Sobas eigener Schätzung gruppiert, lagen 84 Mahlzeiten bei 40 g oder mehr, und 55 davon wichen um mehr als 10 g ab: 32 zu hoch, 23 zu niedrig. Deshalb empfiehlt die App ab einer Schätzung von 40 g, das kohlenhydratreichste Lebensmittel zu wiegen.

Streudiagramm mit 400 Mahlzeiten: tatsächliche Kohlenhydrate auf der horizontalen Achse, Sobas Schätzung auf der vertikalen. Bis etwa 50 g liegen die meisten Punkte im Band von ±10 g. Über 60 g liegen die meisten Punkte unter dem Band.
Alle Mahlzeiten des Tests. Punkte im schattierten Band liegen innerhalb von 10 g. Punkte unter der gestrichelten Linie sind Unterschätzungen. Ein Getränk, Kaffee mit Kaffeesahne, wurde als Karamellsauce erkannt, kam auf 162 g und ist am oberen Rand eingezeichnet.

Vier Mahlzeiten aus dem Test

Zwei genaue Schätzungen und zwei Fehlschätzungen. Lebensmittelnamen und Gewichte stammen aus Sobas Antworten.

Teller mit zwei Stücken Maiskolben, weißem Reis, Blumenkohl und einem Apfel.
Tatsächlich 49,7 g · Soba 49,7 gMais, Reis, Blumenkohl und ein Apfel. Soba schätzte den Apfel auf 130 g (gewogen 117 g) und den Mais auf 60 g (gewogen 74 g). Die Gewichtsfehler glichen sich aus.
Ofenkartoffeln mit Quinoa und Gemüse auf einem weißen Teller.
Tatsächlich 46,0 g · Soba 40,8 gOfenkartoffeln mit Quinoa. Soba hielt die Quinoa für Couscous. Beide haben ähnlich viele Kohlenhydrate, deshalb blieb die Summe nah dran.
Ein Stück Käsepizza und ein Schokoladenkeks auf einem weißen Teller.
Tatsächlich 33,3 g · Soba 46,6 gEin Stück Pizza und ein Keks. Soba schätzte beide schwerer, als sie waren: Pizza 85 g (gewogen 47 g), Keks 35 g (gewogen 27 g).
Vier Stücke Pizza mit Ananas, gewürfeltes Hähnchen und Kirschtomaten auf einem weißen Teller.
Tatsächlich 85,1 g · Soba 59,8 gPizza mit Hähnchen, Ananas und Tomaten. Die Pizza wog 233 g, Soba schätzte 180 g. 16 der 23 Fehler über 30 g betrafen Mahlzeiten mit 60 g Kohlenhydraten oder mehr.

Fotos: Nutrition5k-Datensatz, Google Research, CC BY 4.0. Für diese Seite verkleinert.

Zwei Datensätze, zwei Arten von Fotos

Datensatz, je 200 MahlzeitenInnerhalb 10 gMedian-FehlerMittlerer Fehler
Nutrition5k77,5 %3,9 g6,8 g
SNAPMe59,5 %6,8 g12,2 g

Die Teller von Nutrition5k stammen aus Kantinen von Google. Jede Zutat wurde gewogen, und eine fest montierte Kamera fotografierte jeden Teller senkrecht von oben. Das sind saubere Bedingungen, und hier schnitt Soba am besten ab.

SNAPMe ist eine Studie des US-Landwirtschaftsministeriums und der UC Davis. 95 Personen in den USA fotografierten ihre Mahlzeiten vor dem Essen und führten ein Ernährungsprotokoll in ASA24, einem Werkzeug zur Erfassung der Ernährung. Die Fotos ähneln denen, die man mit Soba macht. Die Referenzwerte stammen aus den Protokollen der Teilnehmenden, und diese enthalten eigene Fehler. Der Unterschied zwischen den Datensätzen kommt teils von den Fotos und teils von den Referenzwerten.

Vergleich mit einer veröffentlichten Studie

Rodríguez-Jiménez und Kollegen (Nutrients, 2025) testeten ChatGPT-5 an 74 SNAPMe-Mahlzeiten nur mit Fotos. Sie berichten einen mittleren absoluten Fehler von 12,99 g Kohlenhydraten und einen Median von 8,75 g.

Nur FotoMahlzeitenMittlerer FehlerMedian-Fehler
ChatGPT-5 (veröffentlicht)7412,99 g8,75 g
Soba20012,2 g6,8 g

Die Autoren wählten ihre Mahlzeiten anders aus und korrigierten einige Referenzwerte von Hand, daher lassen sich die beiden Zeilen nur grob vergleichen. Sie zeigen einen ähnlichen Fehlerbereich. In derselben Studie senkte eine kurze Notiz zu Fett, Zucker und Fleisch der Mahlzeit den mittleren Fehler auf 11,29 g. In Soba senkte ein Hinweis mit den Namen der Lebensmittel den mittleren Fehler bei den 200 SNAPMe-Mahlzeiten unseres Tests von 12,2 auf 10,2 g.

Welches Modell Soba nutzt

Wir haben acht Modelle mit Sobas Anweisungen an den ersten 200 Mahlzeiten getestet.

ModellInnerhalb 10 gMedian-Zeit
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

Ein Durchlauf pro Modell über OpenRouter, mit den Anfrageeinstellungen, die Soba vor Oktober 2026 nutzte. Claude Sonnet 5.5 lieferte beim von OpenRouter gewählten Anbieter für 41 der 200 Fotos ein leeres Lebensmittel. Bei den übrigen Fotos erreichte es 66,7 %. GPT-6.1 Sol überschätzte die Kohlenhydrate im Schnitt um 10 g.

Gemini 3.7 Flash lag bei diesen 200 Mahlzeiten vorn. Wenn acht Modelle an denselben Mahlzeiten verglichen werden, ist das beste Ergebnis zum Teil Glück. Deshalb haben wir es am zweiten Satz von 200 Mahlzeiten geprüft. Dort erreichte es genauso viel wie Gemini 3.6 Flash, jeweils 70,5 %, bei höherem Preis. Soba bleibt bei Gemini 3.6 Flash.

Außerdem haben wir Gemini 3.6 Flash mehr Zeit zum Nachdenken gegeben. Über 400 Mahlzeiten stieg der Anteil innerhalb von 10 g um 4,1 Prozentpunkte, während der Anteil innerhalb von 5 g und die Zahl der Fehler über 30 g gleich blieben. Jeder Scan dauerte doppelt so lange, 6,6 statt 3,5 Sekunden. Wir sind bei der schnelleren Einstellung geblieben.

So haben wir getestet

Auswahl der Mahlzeiten

Ausgangspunkt waren 505 Teller aus dem offiziellen Testsplit von Nutrition5k mit Fotos von oben und 1.457 SNAPMe-Fotos, die vor dem Essen aufgenommen wurden. Vorher haben wir 22 Einträge entfernt: Teller und Mahlzeiten mit ungültigen Werten sowie SNAPMe-Fotos, die sich keinem einzelnen Protokolleintrag eindeutig zuordnen ließen.

Ein Skript mit festem Zufallswert wählte aus jedem Datensatz 100 Mahlzeiten, 25 aus jedem Viertel des Kohlenhydratbereichs. Teller, die in der Kantine innerhalb derselben zehn Minuten fotografiert wurden, sehen sich oft ähnlich, deshalb begrenzte das Skript die Zahl der Teller aus einem Zehn-Minuten-Fenster. Danach wählte es auf dieselbe Weise einen zweiten Satz von 200 Mahlzeiten, ohne gemeinsame Fotos oder Mahlzeiten mit dem ersten.

Zwei Sätze

Fehler haben wir nur an den ersten 200 Mahlzeiten untersucht, und nur dort haben wir Änderungen an Sobas Anweisungen ausprobiert. Die zweiten 200 dienten dazu, zu prüfen, ob ein Ergebnis hält. So ist das Ergebnis von Gemini 3.7 Flash oben aufgefallen.

Soba ausführen

Jedes Foto lief durch denselben Servercode wie in der App: dieselben Anweisungen, dasselbe Modell, dieselben Einstellungen. Die Fotos wurden auf 1.024 Pixel an der längsten Seite verkleinert, wie es die App vor dem Senden tut. Der Hauptlauf hatte keinen Texthinweis, keine Daten der Tiefenkamera und keine nachträgliche Korrektur. Die Läufe mit Hinweis oder Tiefendaten nutzten denselben Code und änderten nur diese Eingabe. Als App-Sprache war Russisch eingestellt.

Messung des Fehlers

Soba gibt verwertbare Kohlenhydrate (ohne Ballaststoffe) und Ballaststoffe getrennt an. Die Datensätze enthalten Gesamtkohlenhydrate, deshalb haben wir Sobas verwertbare Kohlenhydrate plus Ballaststoffe mit dem Gesamtwert verglichen. Das Hauptmaß ist der Anteil der Mahlzeiten mit einer Abweichung von höchstens 10 g. Ein fehlgeschlagener Scan würde als Fehltreffer zählen, es gab keinen. Das 95-%-Intervall stammt aus einem Bootstrap mit 10.000 Wiederholungen, bei dem Mahlzeiten derselben SNAPMe-Person oder desselben Zehn-Minuten-Fensters zusammenbleiben.

Grenzen dieses Tests

Soba ist kein Medizinprodukt. Die Werte sind Schätzungen. Gleiche sie mit dem Essen auf deinem Teller und den Produktetiketten ab und folge deinem Diabetes-Behandlungsplan.

Änderungen nach dem Test

Daten und Quellen

Ergebnisse pro Mahlzeit (CSV, 400 Zeilen): Datensatz-ID, Referenzwert, Sobas Schätzung allein anhand des Fotos, der Hinweistext und die Schätzungen mit Hinweis und mit Tiefendaten. Die Datei steht wie SNAPMe unter CC BY-SA 4.0.