Prueba de precisión · octubre de 2026
Probamos las estimaciones de carbohidratos de Soba con 400 fotos de comidas
Las fotos vienen de dos conjuntos de datos públicos de investigación en los que se pesaron o registraron los carbohidratos de cada comida. Abajo están los resultados, el método y las comidas en las que Soba se equivocó.
68,5 %de las comidas a 10 g o menos de los carbohidratos reales, con una sola foto
+4puntos más a 10 g o menos cuando una pista nombraba los alimentos tal como los registró el estudio
5,2 gde error mediano con una sola foto
Qué encontramos
Las cifras de esta sección son las primeras estimaciones de Soba solo con la foto, antes de corregir ningún peso o añadir una pista. El 49 % de las estimaciones quedó a 5 g o menos de los carbohidratos reales. El intervalo de confianza del 95 % para la proporción a 10 g o menos va del 64,0 % al 72,9 %.
Las comidas pequeñas y medianas fueron las más cercanas. En las comidas con menos de 15 g de carbohidratos, el 89 % de las estimaciones quedó a 10 g o menos.
Las comidas grandes se subestimaron por lo general. En 38 de 42 comidas con 60 g de carbohidratos o más, la estimación de Soba fue demasiado baja. La estimación mediana fue el 64 % de la cantidad real. La causa principal es el peso de la porción: en 30 de esas 38 comidas, Soba calculó que la comida pesaba al menos un 15 % menos de lo que pesaba, mientras que sus carbohidratos por 100 g solían estar cerca.
Qué significa esto cuando usas Soba
- En un plato grande de pan, arroz, pasta, patatas o pizza, pesa el alimento principal con carbohidratos si puedes. Las estimaciones de 40 g o más fallaron en las dos direcciones: de 84 comidas, 32 salieron más de 10 g por encima y 23 por debajo.
- Los alimentos pequeños y sueltos, como una galleta o una porción de pizza, a veces salen más pesados de lo que son.
- El azúcar disuelto en una bebida no se ve en una foto. En la prueba, un té helado dulce se leyó como té sin azúcar. Añade una pista corta, como “té dulce”, o escanea el código de barras.
- En los productos envasados, el código de barras te da los valores de la etiqueta.
Qué puedes añadir en la app
Los resultados de arriba salen de una sola foto y nada más. En la app puedes añadir unas palabras sobre la comida, y en los iPhone con cámara de profundidad Soba también mide la distancia a la comida. Repetimos la prueba con cada una de estas opciones.
Las 400 fotos
200 fotos de comedor con datos de profundidad
Una pista de texto
Unas palabras como “té dulce” o “trigo sarraceno” añaden lo que una foto no puede mostrar. Para la prueba, cada una de las 400 fotos recibió una pista con los nombres de los alimentos principales del registro del conjunto de datos y sin cantidades, por ejemplo “Coffee, brewed; Coffee creamer, liquid, fat free” (café; crema para café líquida sin grasa). La proporción a 10 g o menos subió del 68,5 % al 72,8 % (intervalo del 95 % para la mejora: de 0,7 a 7,9 puntos), y el error mediano bajó de 5,2 a 4,5 g.
La pista ayudó más donde la foto se podía interpretar de más de una forma. Sin ella, Soba tomó ese café con crema por salsa de caramelo y estimó 162 g de carbohidratos. Con la pista estimó 5,5 g, y el registro de alimentos indica 2,7 g. En las fotos de SNAPMe, que las personas tomaron de sus propias comidas, la proporción a 10 g o menos subió del 59,5 % al 67,5 %. En las fotos de comedor, donde los alimentos se ven con facilidad, apenas cambió: del 77,5 % al 78,0 %.
Una pista nombra el alimento, pero Soba sigue calculando la cantidad a partir de la foto. Las comidas grandes se subestimaron en 37 de 42 casos con pista, y en 38 sin ella. Las pistas de la prueba copiaban exactamente los registros del conjunto de datos. Casi toda la mejora vino del primer grupo de 200 comidas, 8,0 puntos; en el segundo grupo fue de 0,5. Es probable que una pista que escribas tú añada menos.
Distancia medida con la cámara de profundidad
Cuando tomas la foto con la cámara de Soba en un iPhone con escáner LiDAR o con dos o más cámaras traseras, Soba mide la distancia a la comida y le indica al modelo cuántos centímetros de ancho tiene el encuadre. Nutrition5k incluye una grabación de cámara de profundidad para cada foto, así que repetimos sus 200 comidas con esta medida. La proporción a 10 g o menos subió del 77,5 % al 82,0 % (intervalo del 95 % para la mejora: de 1,0 a 8,3 puntos), y el error mediano bajó de 3,9 a 3,1 g. Las comidas grandes se siguieron subestimando, en 12 de 13 casos. Estas fotos se tomaron desde arriba, en vertical y a una altura fija. Todavía no hemos medido fotos tomadas en ángulo.
Con la medida de profundidad y una pista a la vez, el resultado fue del 78,5 %. En estas fotos de comedor la pista aportó poco, y el intervalo del 95 % para la diferencia con la profundidad sola, de −8,8 a +1,5 puntos, incluye el cero.
Tus correcciones
Si sabes el peso de la porción, introdúcelo y todas las cifras se recalculan. El peso de la porción fue la causa principal de los errores grandes en esta prueba.
Soba muestra un rango de peso junto a cada estimación. En los 200 platos pesados de Nutrition5k, el peso real del plato quedó dentro de ese rango en 97 casos, cerca de la mitad. El rango muestra dónde espera el modelo que esté el peso. Una báscula de cocina es la comprobación más segura.
Resultados por tamaño de la comida
| Carbohidratos reales | Comidas | A 10 g o menos | A 20 g o menos | Error mediano |
|---|---|---|---|---|
| Menos de 15 g | 167 | 88,6 % | 98,8 % | 2,0 g |
| De 15 a 30 g | 94 | 69,1 % | 88,3 % | 6,2 g |
| De 30 a 60 g | 97 | 54,6 % | 84,5 % | 8,4 g |
| 60 g o más | 42 | 19,0 % | 38,1 % | 25,4 g |
El resultado global depende de esta mezcla: el 42 % de las comidas de la prueba tenía menos de 15 g de carbohidratos. Si sueles comer platos más grandes, espera un error típico mayor.
Estos grupos usan los carbohidratos reales, que la app desconoce cuando escaneas. Agrupadas según la propia estimación de Soba, 84 comidas salieron con 40 g o más, y 55 de ellas se desviaron más de 10 g: 32 por encima y 23 por debajo. Por eso la app sugiere pesar el alimento principal con carbohidratos cuando una estimación llega a 40 g.
Cuatro comidas de la prueba
Dos estimaciones cercanas y dos errores. Los nombres de los alimentos y los pesos de Soba están tomados de sus respuestas.
Fotos: conjunto de datos Nutrition5k, Google Research, CC BY 4.0. Redimensionadas para esta página.
Dos conjuntos de datos, dos tipos de fotos
| Conjunto de datos, 200 comidas cada uno | A 10 g o menos | Error mediano | Error medio |
|---|---|---|---|
| Nutrition5k | 77,5 % | 3,9 g | 6,8 g |
| SNAPMe | 59,5 % | 6,8 g | 12,2 g |
Los platos de Nutrition5k vienen de comedores de Google. Cada ingrediente se pesó, y una cámara fija tomó cada foto desde arriba. Son condiciones limpias, y aquí Soba obtuvo su mejor resultado.
SNAPMe es un estudio del Departamento de Agricultura de EE. UU. y UC Davis. 95 personas en EE. UU. fotografiaron sus propias comidas antes de comer y llevaron un registro de alimentos en ASA24, una herramienta de evaluación de la dieta. Las fotos se parecen a las que la gente toma con Soba. Los valores de referencia salen de los registros de alimentos de los participantes, que también tienen errores. Parte de la diferencia entre los dos conjuntos de datos se debe a las fotos y parte a los valores de referencia.
Comparación con un estudio publicado
Rodríguez-Jiménez y sus colegas (Nutrients, 2025) probaron ChatGPT-5 con 74 comidas de SNAPMe usando solo fotos. Indican un error absoluto medio de 12,99 g de carbohidratos y una mediana de 8,75 g.
| Solo foto | Comidas | Error medio | Error mediano |
|---|---|---|---|
| ChatGPT-5 (publicado) | 74 | 12,99 g | 8,75 g |
| Soba | 200 | 12,2 g | 6,8 g |
Los autores eligieron sus comidas de otra manera y corrigieron a mano algunos valores de referencia, así que las dos filas solo se pueden comparar de forma aproximada. Muestran un nivel de error parecido. En el mismo estudio, una nota breve sobre la grasa, el azúcar y la carne de la comida bajó el error medio a 11,29 g. En Soba, una pista que nombraba los alimentos bajó el error medio en sus 200 comidas de SNAPMe de 12,2 a 10,2 g.
Qué modelo usa Soba
Probamos ocho modelos con las primeras 200 comidas y las instrucciones de Soba.
| Modelo | A 10 g o menos | Tiempo 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 ejecución por modelo a través de OpenRouter, con la configuración de solicitud que Soba usaba antes de octubre de 2026. Claude Sonnet 5.5 devolvió un alimento vacío en 41 de las 200 fotos con el proveedor que eligió OpenRouter. En las demás fotos llegó al 66,7 %. GPT-6.1 Sol sobrestimó los carbohidratos en 10 g de media.
Gemini 3.7 Flash quedó primero en estas 200 comidas. Un modelo que gana una comparación entre ocho suele parecer mejor de lo que es, así que lo comprobamos con el segundo grupo de 200 comidas. Allí obtuvo lo mismo que Gemini 3.6 Flash, un 70,5 % cada uno, a un precio más alto. Soba sigue con Gemini 3.6 Flash.
También probamos a dar a Gemini 3.6 Flash más tiempo para razonar. En 400 comidas, la proporción a 10 g o menos subió 4,1 puntos, mientras que la proporción a 5 g o menos y el número de errores de más de 30 g se mantuvieron igual. Cada escaneo tardó el doble, 6,6 segundos en lugar de 3,5. Nos quedamos con la configuración más rápida.
La comparación completa, con intervalos del 95 %, datos por comida y un script que recalcula cada tabla: ocho modelos de IA con fotos de comidas (en inglés).
Cómo hicimos la prueba
Selección de las comidas
El conjunto de partida fueron 505 platos de Nutrition5k de la partición de prueba oficial del conjunto de datos para fotos cenitales y 1457 fotos de SNAPMe tomadas antes de comer. Antes de eso, quitamos 22 entradas: platos y comidas con valores no válidos, y fotos de SNAPMe que no se podían asociar a un único registro de alimentos.
Un script con una semilla aleatoria fija tomó 100 comidas de cada conjunto de datos: 25 de cada cuartil del rango de carbohidratos. Los platos de comedor fotografiados dentro de los mismos diez minutos suelen parecerse, así que el script limitó cuántos platos tomaba de una misma ventana de diez minutos. Después eligió de la misma forma un segundo grupo de 200 comidas, sin fotos ni comidas en común con el primero.
Dos grupos
Estudiamos los errores y probamos cambios en las instrucciones de Soba solo con las primeras 200 comidas. Las otras 200 sirvieron para comprobar si un resultado se mantenía. Así detectamos el resultado de Gemini 3.7 Flash descrito arriba.
Cómo se ejecutó Soba
Cada foto pasó por el mismo código de servidor que usa la app: las mismas instrucciones, el mismo modelo y la misma configuración. Las fotos se redujeron a 1024 píxeles en el lado más largo, como hace la app antes de enviarlas. La ejecución principal no tuvo pista de texto, datos de la cámara de profundidad ni corrección posterior. Las ejecuciones con pista o con datos de profundidad usaron el mismo código y cambiaron solo esa entrada. El idioma de la app estaba en ruso.
Cómo medimos el error
Soba indica los carbohidratos netos (sin fibra) y la fibra por separado. Los conjuntos de datos dan los carbohidratos totales, así que comparamos los carbohidratos netos de Soba más la fibra con el total. La medida principal es la proporción de comidas en las que la diferencia es de 10 g o menos. Un escaneo fallido contaría como error; no hubo ninguno. El intervalo del 95 % sale de un bootstrap con 10 000 remuestreos que mantiene juntas las comidas de un mismo participante de SNAPMe o de una misma ventana de diez minutos del comedor.
Límites de esta prueba
- Todas las comidas son de EE. UU. Los platos de Nutrition5k se fotografiaron desde arriba con una sola configuración de cámara.
- Los valores de referencia contienen errores. Los valores de SNAPMe salen de registros de alimentos hechos por los propios participantes. Algunos platos de Nutrition5k tienen etiquetas a las que les falta comida visible.
- Probamos el reconocimiento a partir de fotos. Las descripciones de texto, la búsqueda por código de barras y la entrada manual quedaron fuera de la prueba.
- Las pistas de la prueba nombraban los alimentos tal como los registraron los conjuntos de datos, y su mejora varió mucho entre los dos grupos de comidas (ver “Una pista de texto”).
- El resultado con profundidad cubre solo las 200 fotos de Nutrition5k, todas tomadas desde arriba.
- Medimos los carbohidratos. Las proteínas, las grasas y las calorías quedan fuera del alcance de esta página.
- Los proveedores actualizan sus modelos. Los resultados describen Soba en octubre de 2026.
Soba no es un dispositivo médico. Sus cifras son estimaciones. Compruébalas con la comida de tu plato y con las etiquetas de los productos, y sigue tu plan de tratamiento de la diabetes.
Cambios después de la prueba
- El modelo de reserva de OpenAI que usa Soba no podía ejecutarse. Los modelos de OpenAI rechazan un parámetro de la solicitud, la temperatura, y la solicitud solo permitía proveedores que aceptaran todos los parámetros. Quitamos ese parámetro. El modelo principal obtuvo un 68,9 % con él y un 68,5 % sin él, una diferencia dentro de la variación normal entre ejecuciones repetidas. Ahora los modelos de reserva son Gemini 3.7 Flash y GPT-6 Luna.
- En 9 de 3614 solicitudes de prueba (0,25 %), Gemini repitió una frase una y otra vez, y el escaneo tardó de 35 a 87 segundos. Ahora Soba limita la longitud de la respuesta, lo que corta antes ese bucle.
Datos y fuentes
Resultados por comida (CSV, 400 filas, en inglés): ID en el conjunto de datos, carbohidratos de referencia, estimación de Soba solo con la foto, texto de la pista y estimaciones con pista y con datos de profundidad. El archivo sigue la licencia de 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. Conjunto de datos: 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. Datos: 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.