Test di precisione · ottobre 2026
Abbiamo testato le stime dei carboidrati di Soba su 400 foto di pasti
Le foto vengono da due dataset di ricerca pubblici, in cui i carboidrati di ogni pasto erano stati pesati o registrati. Qui sotto trovi i risultati, il metodo e i pasti in cui Soba ha sbagliato.
68,5%dei pasti entro 10 g dai carboidrati reali, da una sola foto
+4punti in più entro 10 g quando un suggerimento indicava gli alimenti esattamente come li aveva registrati lo studio
5,2 gerrore mediano da una sola foto
Cosa abbiamo trovato
I numeri di questa sezione sono le prime stime di Soba dalla sola foto, prima che qualcuno correggesse un peso o aggiungesse un suggerimento. Il 49% delle stime era entro 5 g dai carboidrati reali. L'intervallo di confidenza al 95% per la quota entro 10 g va dal 64,0% al 72,9%.
I pasti piccoli e medi hanno avuto le stime più vicine. Per i pasti sotto i 15 g di carboidrati, l'89% delle stime era entro 10 g.
I pasti grandi sono stati di solito sottostimati. In 38 dei 42 pasti con 60 g di carboidrati o più, la stima di Soba era troppo bassa. La stima mediana era il 64% della quantità reale. La causa principale è il peso della porzione: in 30 di questi 38 pasti, Soba ha giudicato il cibo più leggero di almeno il 15%, mentre i suoi carboidrati per 100 g erano di solito vicini al valore reale.
Cosa significa quando usi Soba
- Per un piatto grande di pane, riso, pasta, patate o pizza, se puoi pesa l'alimento principale ricco di carboidrati. Le stime da 40 g in su sbagliavano in entrambe le direzioni: su 84 pasti, 32 erano più alte di oltre 10 g e 23 più basse.
- I singoli alimenti piccoli, come un biscotto o una fetta di pizza, a volte risultano più pesanti di quanto sono.
- Lo zucchero sciolto in una bevanda non si vede in una foto. Nel test, un tè freddo zuccherato è stato letto come non zuccherato. Aggiungi un breve suggerimento come “tè zuccherato”, oppure scansiona il codice a barre.
- Per i prodotti confezionati, il codice a barre ti dà i valori dell'etichetta.
Cosa puoi aggiungere nell'app
I risultati qui sopra vengono da una sola foto e da nient'altro. Nell'app puoi aggiungere qualche parola sul pasto, e sugli iPhone con fotocamera di profondità Soba misura anche la distanza dal cibo. Abbiamo ripetuto il test con ciascuna delle due aggiunte.
Tutte le 400 foto
200 foto di mensa con dati di profondità
Un suggerimento di testo
Qualche parola come “tè zuccherato” o “grano saraceno” aggiunge ciò che una foto non può mostrare. Per il test, ognuna delle 400 foto ha ricevuto un suggerimento con i nomi degli alimenti principali presi dal registro del dataset, senza quantità, ad esempio “Coffee, brewed; Coffee creamer, liquid, fat free”. La quota entro 10 g è salita dal 68,5% al 72,8% (intervallo al 95% per il guadagno: da 0,7 a 7,9 punti), e l'errore mediano è sceso da 5,2 a 4,5 g.
Il suggerimento ha aiutato di più dove la foto si poteva leggere in più modi. Senza suggerimento, Soba ha scambiato quel caffè con crema da caffè per salsa al caramello e ha stimato 162 g di carboidrati. Con il suggerimento ha stimato 5,5 g, e il registro alimentare riporta 2,7 g. Sulle foto SNAPMe che le persone hanno scattato ai propri pasti, la quota entro 10 g è salita dal 59,5% al 67,5%. Sulle foto di mensa, dove gli alimenti si vedono bene, è cambiata appena: dal 77,5% al 78,0%.
Un suggerimento dà il nome del cibo, ma Soba giudica comunque la quantità dalla foto. I pasti grandi sono stati sottostimati in 37 casi su 42 con il suggerimento, e in 38 senza. I suggerimenti del test copiavano esattamente i registri dei dataset. La maggior parte del guadagno è venuta dal primo gruppo di 200 pasti, 8,0 punti; nel secondo è stato di 0,5. Un suggerimento che scrivi tu probabilmente aggiungerà meno.
La distanza dalla fotocamera di profondità
Quando scatti la foto con la fotocamera di Soba su un iPhone con scanner LiDAR o con due o più fotocamere posteriori, Soba misura la distanza dal cibo e comunica al modello quanto è larga l'inquadratura in centimetri. Nutrition5k include una registrazione della fotocamera di profondità per ogni foto, quindi abbiamo ripetuto i suoi 200 pasti aggiungendo questa misura. La quota entro 10 g è salita dal 77,5% all'82,0% (intervallo al 95% per il guadagno: da 1,0 a 8,3 punti), e l'errore mediano è sceso da 3,9 a 3,1 g. I pasti grandi sono stati comunque sottostimati, in 12 casi su 13. Queste foto erano scattate dall'alto, da un'altezza fissa. Le foto scattate in obliquo non sono ancora state misurate.
Con la misura di profondità e il suggerimento insieme, il risultato è stato 78,5%. Su queste foto di mensa il suggerimento aveva poco da aggiungere, e l'intervallo al 95% per la differenza rispetto alla sola profondità, da −8,8 a +1,5 punti, comprende lo zero.
Le tue correzioni
Se conosci il peso della porzione, inseriscilo e tutti i numeri si ricalcolano. In questo test il peso della porzione è stato la causa principale degli errori grandi.
Soba mostra un intervallo di peso accanto a ogni stima. Sui 200 piatti pesati di Nutrition5k, il peso reale del piatto è rientrato in quell'intervallo in 97 casi, circa la metà. L'intervallo mostra dove il modello si aspetta che sia il peso. Una bilancia da cucina è il controllo più sicuro.
Risultati per dimensione del pasto
| Carboidrati reali | Pasti | Entro 10 g | Entro 20 g | Errore mediano |
|---|---|---|---|---|
| Sotto 15 g | 167 | 88,6% | 98,8% | 2,0 g |
| Da 15 a 30 g | 94 | 69,1% | 88,3% | 6,2 g |
| Da 30 a 60 g | 97 | 54,6% | 84,5% | 8,4 g |
| 60 g o più | 42 | 19,0% | 38,1% | 25,4 g |
Il risultato complessivo dipende da questo mix: il 42% dei pasti del test aveva meno di 15 g di carboidrati. Se di solito mangi pasti più grandi, aspettati un errore tipico più grande.
Questi gruppi usano i carboidrati reali, che l'app non conosce quando scansioni. Raggruppando per la stima di Soba, 84 pasti risultavano da 40 g in su, e 55 di questi sbagliavano di oltre 10 g: 32 troppo alti e 23 troppo bassi. Per questo l'app suggerisce di pesare l'alimento principale ricco di carboidrati quando una stima arriva a 40 g.
Quattro pasti del test
Due stime vicine e due errori. I nomi degli alimenti e i pesi di Soba sono presi dalle sue risposte.
Foto: dataset Nutrition5k, Google Research, CC BY 4.0. Ridimensionate per questa pagina.
Due dataset, due tipi di foto
| Dataset, 200 pasti ciascuno | Entro 10 g | Errore mediano | Errore medio |
|---|---|---|---|
| Nutrition5k | 77,5% | 3,9 g | 6,8 g |
| SNAPMe | 59,5% | 6,8 g | 12,2 g |
I piatti di Nutrition5k vengono dalle mense di Google. Ogni ingrediente è stato pesato, e una fotocamera fissa ha scattato ogni foto dall'alto. Sono condizioni pulite, e qui Soba ha ottenuto il risultato migliore.
SNAPMe è uno studio del Dipartimento dell'Agricoltura degli Stati Uniti e di UC Davis. 95 persone negli Stati Uniti hanno fotografato i propri pasti prima di mangiare e hanno tenuto un registro alimentare in ASA24, uno strumento di valutazione della dieta. Le foto somigliano a quelle che le persone scattano con Soba. I valori di riferimento vengono dai registri alimentari dei partecipanti, che hanno errori propri. Una parte della differenza tra i due dataset dipende dalle foto, una parte dai valori di riferimento.
Confronto con uno studio pubblicato
Rodríguez-Jiménez e colleghi (Nutrients, 2025) hanno testato ChatGPT-5 su 74 pasti SNAPMe usando solo le foto. Riportano un errore assoluto medio di 12,99 g di carboidrati e un errore mediano di 8,75 g.
| Solo foto | Pasti | Errore medio | Errore mediano |
|---|---|---|---|
| ChatGPT-5 (pubblicato) | 74 | 12,99 g | 8,75 g |
| Soba | 200 | 12,2 g | 6,8 g |
Gli autori hanno scelto i pasti in modo diverso e hanno corretto a mano alcuni valori di riferimento, quindi le due righe si possono confrontare solo a grandi linee. Mostrano un livello di errore simile. Nello stesso studio, una breve nota su grassi, zuccheri e carne del pasto ha abbassato l'errore medio a 11,29 g. In Soba, un suggerimento con i nomi degli alimenti ha abbassato l'errore medio sui suoi 200 pasti SNAPMe da 12,2 a 10,2 g.
Quale modello usa Soba
Abbiamo provato otto modelli sui primi 200 pasti con le istruzioni di Soba.
| Modello | Entro 10 g | Tempo mediano |
|---|---|---|
| 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 |
Una prova per modello tramite OpenRouter, con le impostazioni di richiesta che Soba usava prima di ottobre 2026. Claude Sonnet 5.5 ha restituito un alimento vuoto per 41 delle 200 foto attraverso il provider scelto da OpenRouter. Sulle altre foto ha raggiunto il 66,7%. GPT-6.1 Sol ha sovrastimato i carboidrati di 10 g in media.
Gemini 3.7 Flash è risultato primo su questi 200 pasti. Un modello che vince un confronto su otto spesso sembra migliore di quanto sia, quindi lo abbiamo verificato sul secondo gruppo di 200 pasti. Lì ha ottenuto lo stesso risultato di Gemini 3.6 Flash, 70,5% ciascuno, a un prezzo più alto. Soba resta su Gemini 3.6 Flash.
Abbiamo anche provato a dare a Gemini 3.6 Flash più tempo per ragionare. Su 400 pasti la quota entro 10 g è salita di 4,1 punti, mentre la quota entro 5 g e il numero di errori sopra i 30 g sono rimasti uguali. Ogni scansione richiedeva il doppio del tempo, 6,6 secondi invece di 3,5. Abbiamo mantenuto l'impostazione più veloce.
Il confronto completo, con intervalli al 95%, dati per pasto e uno script che ricalcola ogni tabella: otto modelli di IA su foto di pasti (in inglese).
Come abbiamo svolto il test
La scelta dei pasti
Il punto di partenza erano 505 piatti di Nutrition5k, dalla suddivisione di test ufficiale del dataset per le foto dall'alto, e 1.457 foto SNAPMe scattate prima di mangiare. Prima ancora abbiamo rimosso 22 voci: piatti e pasti con valori non validi, e foto SNAPMe che non si potevano abbinare a un solo registro alimentare.
Uno script con un seme casuale fisso ha preso 100 pasti da ciascun dataset: 25 da ogni quarto dell'intervallo dei carboidrati. I piatti di mensa fotografati negli stessi dieci minuti spesso si somigliano, quindi lo script ha limitato quanti piatti prendere da una stessa finestra di dieci minuti. Poi ha scelto allo stesso modo un secondo gruppo di 200 pasti, senza foto né pasti in comune con il primo.
Due gruppi
Abbiamo studiato gli errori e provato modifiche alle istruzioni di Soba solo sui primi 200 pasti. I secondi 200 sono serviti a verificare se un risultato reggeva. È così che abbiamo scoperto il caso di Gemini 3.7 Flash descritto sopra.
L'esecuzione di Soba
Ogni foto è passata per lo stesso codice server che usa l'app, con le stesse istruzioni, lo stesso modello e le stesse impostazioni. Le foto sono state ridotte a 1024 pixel sul lato più lungo, come fa l'app prima dell'invio. La prova principale era senza suggerimento di testo, senza dati della fotocamera di profondità e senza correzioni successive. Le prove con suggerimento o con dati di profondità usavano lo stesso codice e cambiavano solo quell'input. La lingua dell'app era impostata sul russo.
La misura dell'errore
Soba riporta i carboidrati netti (senza fibre) e le fibre a parte. I dataset danno i carboidrati totali, quindi abbiamo confrontato i carboidrati netti più le fibre di Soba con il totale. La misura principale è la quota di pasti in cui la differenza è di 10 g o meno. Una scansione fallita conterebbe come errore; non ce ne sono state. L'intervallo al 95% viene da un bootstrap con 10.000 ricampionamenti che tiene insieme i pasti di uno stesso partecipante SNAPMe o di una stessa finestra di dieci minuti in mensa.
Limiti di questo test
- Tutti i pasti vengono dagli Stati Uniti. I piatti di Nutrition5k sono stati fotografati dall'alto con un'unica configurazione della fotocamera.
- I valori di riferimento contengono errori. I valori di SNAPMe vengono da registri alimentari compilati dai partecipanti. Alcuni piatti di Nutrition5k hanno etichette in cui manca del cibo visibile.
- Abbiamo testato il riconoscimento dalle foto. Descrizioni di testo, ricerca con codice a barre e inserimento manuale erano fuori dal test.
- I suggerimenti del test indicavano gli alimenti esattamente come li avevano registrati i dataset, e il loro guadagno è stato molto diverso tra i due gruppi di pasti (vedi “Un suggerimento di testo”).
- Il risultato con la profondità riguarda solo le 200 foto di Nutrition5k, tutte scattate dall'alto.
- Abbiamo misurato i carboidrati. Proteine, grassi e calorie sono fuori dall'ambito di questa pagina.
- I fornitori aggiornano i loro modelli. I risultati descrivono Soba a ottobre 2026.
Soba non è un dispositivo medico. I suoi numeri sono stime. Confrontali con il cibo nel tuo piatto e con le etichette dei prodotti, e segui il tuo piano di cura del diabete.
Modifiche dopo il test
- Il modello di riserva di Soba, di OpenAI, non poteva funzionare. Un'impostazione della richiesta, la temperatura, non è accettata dai modelli OpenAI, e la richiesta ammetteva solo provider che accettano tutte le impostazioni. Abbiamo rimosso l'impostazione. Il modello principale ha ottenuto il 68,9% con l'impostazione e il 68,5% senza, una differenza che rientra nella normale variazione tra prove ripetute. Ora i modelli di riserva sono Gemini 3.7 Flash e GPT-6 Luna.
- In 9 richieste di test su 3.614 (0,25%), Gemini ha ripetuto una frase più e più volte, e la scansione ha richiesto da 35 a 87 secondi. Ora Soba limita la lunghezza della risposta, così un ciclo del genere si ferma prima.
Dati e fonti
Risultati di ogni pasto (CSV, 400 righe, in inglese): ID nel dataset, carboidrati di riferimento, stima di Soba dalla sola foto, testo del suggerimento e stime con il suggerimento e con i dati di profondità. Il file segue la licenza di 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. Dati: 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.