Soba

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

400 fotos, cada una escaneada una vez con pista y otra sin ella. La pista enumeraba los alimentos principales sin cantidades, por ejemplo “steak; cauliflower; chicken” (bistec, coliflor, pollo). Ningún escaneo falló. Tiempo mediano: 3,1 segundos por 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

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.

Proporción de comidas a 10 g o menos de los carbohidratos reales

Las 400 fotos

Solo la foto68,5 %
Foto y pista72,8 %

200 fotos de comedor con datos de profundidad

Solo la foto77,5 %
Foto y profundidad82,0 %
Foto, profundidad y pista78,5 %

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 realesComidasA 10 g o menosA 20 g o menosError mediano
Menos de 15 g16788,6 %98,8 %2,0 g
De 15 a 30 g9469,1 %88,3 %6,2 g
De 30 a 60 g9754,6 %84,5 %8,4 g
60 g o más4219,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.

Gráfico de dispersión de 400 comidas: carbohidratos reales en el eje horizontal y estimación de Soba en el eje vertical. Hasta unos 50 g, la mayoría de los puntos están dentro de la franja de ±10 g. Por encima de 60 g, la mayoría de los puntos quedan por debajo de la franja.
Todas las comidas de la prueba. Los puntos dentro de la franja sombreada están a 10 g o menos. Los puntos por debajo de la línea discontinua son subestimaciones. Una bebida, café con crema leído como salsa de caramelo, salió con 162 g y aparece en el borde superior.

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.

Plato con dos trozos de mazorca de maíz, arroz blanco, coliflor y una manzana.
Real 49,7 g · Soba 49,7 gMaíz, arroz, coliflor y una manzana. Soba calculó 130 g para la manzana (pesaba 117 g) y 60 g para el maíz (74 g). Los errores de peso se compensaron.
Patatas asadas con quinoa y verduras en un plato blanco.
Real 46,0 g · Soba 40,8 gPatatas asadas con quinoa. Soba tomó la quinoa por cuscús. Los dos tienen carbohidratos parecidos, así que el total quedó cerca.
Una porción de pizza de queso y una galleta de chocolate en un plato blanco.
Real 33,3 g · Soba 46,6 gUna porción de pizza y una galleta. Soba estimó las dos más pesadas de lo que eran: pizza 85 g (real 47 g), galleta 35 g (real 27 g).
Cuatro porciones de pizza con piña, pollo en dados y tomates cherry en un plato blanco.
Real 85,1 g · Soba 59,8 gPizza con pollo, piña y tomates. La pizza pesaba 233 g y Soba estimó 180 g. 16 de los 23 errores de más de 30 g se dieron en comidas con 60 g de carbohidratos o más.

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 unoA 10 g o menosError medianoError medio
Nutrition5k77,5 %3,9 g6,8 g
SNAPMe59,5 %6,8 g12,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 fotoComidasError medioError mediano
ChatGPT-5 (publicado)7412,99 g8,75 g
Soba20012,2 g6,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.

ModeloA 10 g o menosTiempo mediano
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

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

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

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.