Comment fonctionne le pipeline d'IA de reconnaissance alimentaire : de la photo aux données nutritionnelles

Un guide technique détaillé du pipeline complet d'IA de reconnaissance alimentaire : de l'entrée caméra à l'extraction de caractéristiques CNN, la classification des aliments, l'estimation des portions et la recherche dans la base de données nutritionnelle jusqu'au calcul final des calories.

Lorsque vous prenez une photo de votre déjeuner et voyez une répartition complète des macronutriments apparaître en moins de deux secondes, il est facile de tenir le résultat pour acquis. Derrière cette lecture apparemment instantanée se cache cependant un pipeline à plusieurs étapes qui fait passer votre image par la capture caméra, le prétraitement, l'inférence du réseau neuronal, la classification, l'estimation des portions, la recherche en base de données et le calcul final des calories avant que quoi que ce soit n'atteigne votre écran. Chaque étape résout un problème distinct, s'appuie sur son propre ensemble d'algorithmes et transmet une sortie spécifique à l'étape suivante.

Cet article retrace l'intégralité de ce parcours, de l'appui sur le déclencheur à l'étiquette nutritionnelle. Tout au long du chemin, nous nommerons les architectures, techniques et compromis d'ingénierie qui font fonctionner chaque étape, et nous soulignerons où Nutrola a introduit ses propres innovations pour pousser la précision et la vitesse au-delà des normes de l'industrie.

Étape 1 : Entrée caméra et acquisition d'image

Tout commence au moment où un utilisateur ouvre le viseur de la caméra et cadre une assiette de nourriture. Les smartphones modernes capturent des images avec des résolutions de 12 à 48 mégapixels, produisant des données brutes du capteur qui encodent les valeurs d'intensité de couleur à travers une mosaïque de filtre de Bayer. Le processeur de signal d'image (ISP) de l'appareil démosaïque ces données, applique la balance des blancs, réduit le bruit et produit un fichier JPEG ou HEIF standard en une fraction de seconde.

Deux caractéristiques matérielles influencent de plus en plus cette étape. Premièrement, les capteurs LiDAR sur les iPhone Pro récents et certains modèles Android haut de gamme peuvent capturer une carte de profondeur complémentaire en plus de l'image RGB. Ces données de profondeur deviennent précieuses plus tard lors de l'estimation des portions. Deuxièmement, les appareils équipés de capteurs à temps de vol fournissent des informations de profondeur similaires mais plus grossières que le pipeline peut tout de même exploiter lorsque le LiDAR n'est pas disponible.

Le pipeline ingère l'image RGB et, lorsqu'elle est disponible, la carte de profondeur comme entrée appariée. Si l'appareil n'offre pas de capteur de profondeur, le pipeline continue avec le RGB seul et compense ultérieurement en utilisant l'estimation de profondeur monoculaire.

Sortie clé de cette étape

Une image RGB haute résolution (et optionnellement une carte de profondeur) représentant la scène devant l'utilisateur.

Étape 2 : Prétraitement de l'image

La sortie brute de la caméra n'est pas prête pour l'inférence du réseau neuronal. Le prétraitement transforme l'image en un tenseur standardisé que le modèle attend.

Redimensionnement et recadrage

La plupart des modèles de reconnaissance alimentaire acceptent une entrée à une résolution fixe, généralement 224x224, 384x384 ou 512x512 pixels selon l'architecture. Le pipeline redimensionne l'image à cette résolution cible tout en préservant le rapport d'aspect, en appliquant du letterboxing ou un recadrage central selon les besoins. L'interpolation bicubique est la méthode de rééchantillonnage standard car elle préserve les détails fins de texture mieux que les alternatives bilinéaires.

Normalisation

Les valeurs de pixels sont converties de la plage entière 0-255 en nombres à virgule flottante puis normalisées en utilisant la moyenne et l'écart type par canal du jeu de données d'entraînement. Pour les modèles préentraînés sur ImageNet, les valeurs de normalisation canoniques (moyenne de [0,485, 0,456, 0,406] et écart type de [0,229, 0,224, 0,225] pour les canaux R, G et B respectivement) sont appliquées. Cette normalisation centre la distribution d'entrée autour de zéro et la met à l'échelle de la variance unitaire, ce qui stabilise le flux de gradients pendant l'entraînement et assure un comportement d'inférence cohérent.

Espace colorimétrique et artefacts d'augmentation

Pendant l'entraînement, le pipeline applique une augmentation de données extensive : rotations aléatoires, retournements horizontaux, variation de couleur, flou gaussien et patchs de découpe. Au moment de l'inférence, ces augmentations sont désactivées, mais le modèle a appris à être invariant aux types de bruit visuel qu'elles simulent. Cela signifie qu'une photo prise sous l'éclairage chaud d'un restaurant et une photo prise sous l'éclairage fluorescent froid d'un bureau produiront toutes deux des représentations de caractéristiques fiables.

Sortie clé de cette étape

Un tenseur à virgule flottante normalisé de dimensions spatiales fixes, prêt pour le backbone du réseau neuronal.

Étape 3 : Extraction de caractéristiques CNN

C'est le cœur computationnel du pipeline. Un réseau neuronal convolutif profond (ou de plus en plus un Vision Transformer) traite le tenseur prétraité et produit un vecteur de caractéristiques dense qui encode le contenu visuel de l'image sous une forme que les têtes de classification et de détection en aval peuvent interpréter.

Architectures backbone

Plusieurs architectures backbone se sont avérées efficaces pour la reconnaissance alimentaire :

EfficientNet utilise une mise à l'échelle composée pour équilibrer la profondeur, la largeur et la résolution d'entrée du réseau. EfficientNet-B4 et B5 sont des choix populaires car ils offrent une forte précision à un coût computationnel réalisable sur du matériel mobile lorsqu'ils sont combinés avec la quantification. Nutrola emploie un backbone dérivé d'EfficientNet qui a été affiné sur un jeu de données propriétaire d'images alimentaires, atteignant un compromis favorable entre latence et précision top-1.

Vision Transformers (ViT) divisent l'image en patchs de taille fixe (typiquement 16x16 pixels), projettent chaque patch en un embedding et traitent la séquence d'embeddings à travers des couches d'auto-attention multi-têtes. Les ViTs excellent dans la capture de relations spatiales à longue portée, par exemple comprendre que le disque brun à côté des feuilles vertes est un steak haché et non un cookie au chocolat, car le contexte environnant inclut un pain et de la laitue. Les modèles hybrides comme DeiT (Data-efficient Image Transformer) et Swin Transformer ont réduit les besoins en données et le coût computationnel des ViTs purs, les rendant viables pour les systèmes de reconnaissance alimentaire en production.

MobileNetV3 est optimisé pour l'inférence sur l'appareil avec des convolutions séparables en profondeur et une recherche d'architecture neuronale consciente du matériel. Il sert de backbone dans les chemins critiques en latence où le modèle doit s'exécuter entièrement sur l'appareil sans aller-retour réseau.

Feature Pyramid Networks

Comme les aliments peuvent varier énormément en taille apparente au sein d'une seule image (une grande pizza à côté d'un petit pot de sauce), le pipeline utilise un Feature Pyramid Network (FPN) pour extraire des caractéristiques à plusieurs échelles spatiales. Le FPN construit un chemin descendant avec des connexions latérales depuis les cartes de caractéristiques intermédiaires du backbone, produisant un ensemble de cartes de caractéristiques multi-échelles qui sont également expressives pour détecter de petites garnitures et de grands plats principaux.

Sortie clé de cette étape

Un ensemble de cartes de caractéristiques multi-échelles (ou un unique vecteur de caractéristiques regroupé pour les tâches de classification seule) encodant la sémantique visuelle de chaque région de l'image.

Étape 4 : Classification et détection alimentaire multi-étiquettes

Les vrais repas contiennent rarement un seul aliment. Une assiette de dîner typique pourrait contenir du saumon grillé, du brocoli cuit à la vapeur, du riz complet et un quartier de citron. Le pipeline doit détecter, localiser et classifier chaque aliment distinct dans le cadre.

Détection d'objets avec YOLO et DETR

Le pipeline applique une tête de détection d'objets au-dessus des cartes de caractéristiques extraites. Deux familles de détecteurs dominent cet espace :

YOLO (You Only Look Once) effectue la détection en un seul passage avant en divisant l'image en une grille et en prédisant simultanément les boîtes englobantes et les probabilités de classe pour chaque cellule de la grille. YOLOv8 et ses successeurs sont particulièrement bien adaptés au déploiement mobile car ils traitent l'image entière en une seule fois plutôt que de proposer puis d'affiner des régions. Nutrola utilise une tête de détection dérivée de YOLO ajustée sur plus de 15 000 classes alimentaires couvrant les cuisines mondiales.

DETR (Detection Transformer) traite la détection d'objets comme un problème de prédiction d'ensemble, utilisant une architecture encodeur-décodeur transformer pour produire directement un ensemble de détections sans avoir besoin de boîtes d'ancrage ou de suppression des non-maximums. DETR gère les aliments qui se chevauchent plus élégamment que les méthodes basées sur des ancres car sa perte basée sur les ensembles évite naturellement les prédictions en double.

Segmentation sémantique pour les plats mixtes

Pour les plats composites comme les salades, les sautés et les bols de céréales où les ingrédients distincts se chevauchent et se mélangent, les boîtes englobantes sont trop grossières. Le pipeline bascule vers une branche de segmentation sémantique, souvent basée sur une architecture U-Net ou DeepLabv3+, qui classifie chaque pixel de l'image. Cette classification au niveau du pixel permet au système d'estimer la proportion de chaque ingrédient dans un plat mixte même lorsqu'aucune frontière claire ne les sépare.

Score de confiance et classement des candidats

Chaque détection est accompagnée d'un score de confiance. Le pipeline applique un seuil (typiquement de 0,5 à 0,7 selon l'application) pour filtrer les prédictions à faible confiance. Lorsque la prédiction principale est incertaine, le système peut présenter les trois à cinq meilleurs candidats à l'utilisateur pour confirmation, réduisant les taux d'erreur sans nécessiter de saisie manuelle.

Le moteur de classification de Nutrola intègre un module de contexte utilisateur qui prend en compte les repas passés de l'utilisateur, ses préférences culinaires, sa localisation géographique et l'heure de la journée. Si un utilisateur enregistre fréquemment de la cuisine mexicaine et que le modèle hésite entre une tortilla de farine et un naan, le module de contexte oriente la probabilité vers la tortilla. Cette couche de personnalisation réduit de manière mesurable les taux de mauvaise classification au fil du temps.

Sortie clé de cette étape

Une liste d'aliments détectés, chacun avec une étiquette de classe, une boîte englobante ou un masque de pixels et un score de confiance.

Étape 5 : Estimation de la taille des portions

Savoir qu'une assiette contient du poulet grillé et du riz ne suffit pas. Le pipeline doit estimer la quantité de chaque aliment présent, car 100 grammes de blanc de poulet et 300 grammes de blanc de poulet diffèrent de plus de 300 calories.

Estimation de profondeur monoculaire

Lorsqu'aucun capteur de profondeur matériel n'est disponible, le pipeline utilise un modèle d'estimation de profondeur monoculaire (généralement basé sur l'architecture MiDaS ou DPT) pour déduire une carte de profondeur à partir de l'image RGB seule. Ces modèles apprennent à prédire la profondeur à partir d'indices contextuels tels que le chevauchement d'objets, la taille relative, les gradients de texture et les points de fuite. La carte de profondeur déduite, bien que moins précise que les données LiDAR, est suffisante pour approximer la forme tridimensionnelle des aliments dans une assiette.

Mise à l'échelle par objet de référence

Une photographie ne contient pas d'échelle inhérente. Le pipeline résout ce problème en détectant des objets de référence de dimensions connues dans le cadre. Les assiettes (typiquement de 25 à 27 cm de diamètre), les couverts standard, les bols et même les bords de smartphones peuvent ancrer l'échelle. En ajustant une ellipse au bord de l'assiette détectée et en appliquant la géométrie projective pour déduire l'angle de vue, le pipeline reconstruit les distances réelles à partir des mesures en pixels.

Conversion volume-poids

Avec la forme tridimensionnelle de l'aliment estimée, le pipeline calcule le volume en intégrant le profil de profondeur sur le masque de pixels de l'aliment. Il convertit ensuite le volume en poids à l'aide de tables de densité spécifiques à chaque aliment. Une tasse d'épinards en feuilles pèse bien moins qu'une tasse de houmous, la recherche de densité est donc essentielle pour la précision.

Nutrola maintient une base de données de densité propriétaire couvrant des milliers d'aliments dans divers états de préparation (cru, cuit, mixé, surgelé) et l'utilise pour convertir les volumes estimés en poids en grammes avec une fidélité supérieure aux tables de densité génériques.

Sortie clé de cette étape

Un poids estimé en grammes pour chaque aliment détecté.

Étape 6 : Recherche dans la base de données nutritionnelle

Chaque aliment étant classifié et pesé, le pipeline interroge une base de données nutritionnelle pour récupérer le profil de macronutriments et micronutriments pour 100 grammes de cet aliment.

Architecture de la base de données

Les bases de données nutritionnelles de haute qualité s'appuient sur des sources gouvernementales comme le USDA FoodData Central, le UK Nutrient Databank et les équivalents nationaux de dizaines de pays. Ces sources fournissent des valeurs nutritives analysées en laboratoire pour des milliers d'aliments sous forme standardisée.

La base de données de Nutrola va au-delà de ces sources gouvernementales en intégrant des données fournies par les fabricants pour plus de 1,2 million de produits de marque, des éléments de menu de restaurants avec des informations nutritionnelles vérifiées par des partenariats, et des entrées soumises par la communauté qui passent par un pipeline de vérification multicouche incluant le recoupement, la détection des valeurs aberrantes et la révision par des diététiciens. Le résultat est une base de données unifiée de plus de 2 millions d'entrées alimentaires avec des données nutritionnelles normalisées selon un schéma cohérent.

Correspondance floue et résolution d'entités

Le modèle de classification produit une étiquette alimentaire comme « cuisse de poulet grillée avec peau » qui doit être associée à l'entrée correcte de la base de données. C'est un problème non trivial de résolution d'entités car le même aliment peut avoir des dizaines de noms selon les régions et les langues. Le pipeline utilise une recherche sémantique basée sur les embeddings pour trouver l'entrée de base de données la plus proche. Un encodeur de texte affiné projette à la fois l'étiquette alimentaire prédite et chaque nom d'entrée de base de données dans le même espace vectoriel, et le plus proche voisin (mesuré par la similarité cosinus) est sélectionné.

Lorsque plusieurs correspondances proches existent (par exemple « cuisse de poulet, grillée, avec peau » versus « cuisse de poulet, rôtie, peau mangée »), le système choisit l'entrée dont la méthode de préparation correspond le mieux aux indices visuels détectés dans l'image.

Sortie clé de cette étape

Un profil nutritionnel complet (calories, protéines, glucides, lipides, fibres et micronutriments) pour 100 grammes de chaque aliment détecté.

Étape 7 : Calcul des macros et des calories

L'étape computationnelle finale est une arithmétique simple, mais c'est là que les erreurs de chaque étape en amont se cumulent. Le pipeline multiplie les valeurs nutritionnelles pour 100 grammes par le poids estimé de chaque aliment, puis additionne les résultats pour tous les éléments afin de produire un bilan total du repas.

Le calcul

Pour chaque aliment :

  • Calories = (grammes estimés / 100) x calories pour 100 g
  • Protéines = (grammes estimés / 100) x protéines pour 100 g
  • Glucides = (grammes estimés / 100) x glucides pour 100 g
  • Lipides = (grammes estimés / 100) x lipides pour 100 g

Ces valeurs par élément sont additionnées pour produire le total du repas.

Propagation des erreurs et intervalles de confiance

Comme chaque étape en amont introduit une certaine incertitude, Nutrola ne présente pas une estimation ponctuelle unique comme parole d'évangile. Le système calcule des intervalles de confiance en propageant le score de confiance de classification et l'incertitude de l'estimation de portion à travers le calcul. Si la confiance de classification est élevée mais l'estimation de portion est incertaine (par exemple, la nourriture est empilée dans un bol profond qui masque le volume), le système reflète cela en élargissant la plage de confiance et peut inviter l'utilisateur à confirmer la portion.

Cette transparence est un choix de conception délibéré. Plutôt que de présenter un faux sentiment de précision, Nutrola affiche une plage (par exemple, « 420 à 510 kcal ») lorsque les estimations sous-jacentes le justifient, aidant les utilisateurs à développer une compréhension réaliste de leur apport.

Sortie clé de cette étape

Calories totales et répartition des macronutriments pour le repas, avec des intervalles de confiance optionnels.

Étape 8 : Affichage et enregistrement utilisateur

L'étape finale rend les résultats dans l'interface utilisateur. Les aliments détectés sont listés avec leurs valeurs individuelles de calories et de macros, et le total du repas est affiché de manière proéminente. L'utilisateur peut toucher n'importe quel élément pour le corriger ou ajuster la portion, et ces corrections alimentent les modèles de personnalisation pour améliorer les prédictions futures.

Sur Nutrola, l'affichage inclut une superposition visuelle sur la photo originale montrant des boîtes englobantes ou des surbrillances de segments pour chaque aliment détecté, rendant immédiatement clair ce que l'IA a identifié et où. Ce retour visuel inspire confiance et rend les erreurs faciles à repérer et à corriger.

Le repas enregistré est stocké dans le journal nutritionnel quotidien de l'utilisateur et contribue aux totaux cumulés pour les calories, protéines, glucides, lipides et micronutriments suivis. Les données se synchronisent avec Apple Health, Google Fit et d'autres plateformes connectées via des API standardisées de données de santé.

Sortie clé de cette étape

Une entrée de journal de repas entièrement rendue avec des données nutritionnelles par élément et totales, des superpositions visuelles et une synchronisation avec les plateformes de santé.

Tableau récapitulatif du pipeline

Étape Technologie principale Entrée Sortie
1. Entrée caméra ISP de l'appareil, capteurs LiDAR/ToF Lumière de la scène Image RGB + carte de profondeur optionnelle
2. Prétraitement d'image Redimensionnement bicubique, normalisation par canal Image brute Tenseur normalisé (ex., 384x384x3)
3. Extraction de caractéristiques EfficientNet, ViT, Swin Transformer, FPN Tenseur normalisé Cartes de caractéristiques multi-échelles
4. Classification alimentaire YOLOv8, DETR, DeepLabv3+, contexte utilisateur Cartes de caractéristiques Aliments étiquetés avec boîtes englobantes/masques
5. Estimation de portion Estimation de profondeur MiDaS, mise à l'échelle de référence, tables de densité RGB + profondeur + masques alimentaires Poids en grammes par aliment
6. Recherche en base de données Recherche sémantique basée sur les embeddings, bases de données USDA/marques Étiquettes alimentaires + indices de préparation Profils nutritionnels pour 100 g
7. Calcul des calories Arithmétique pondérée, propagation de l'incertitude Estimations en grammes + profils nutritionnels Calories totales et macros avec intervalles de confiance
8. Affichage utilisateur Rendu UI, API de synchronisation de données de santé Données nutritionnelles calculées Entrée de journal de repas avec superposition visuelle

Où s'inscrivent les innovations de Nutrola

Plusieurs des étapes décrites ci-dessus incluent des innovations spécifiques à l'implémentation de Nutrola :

Contexte de classification personnalisé. Le module de contexte utilisateur à l'Étape 4 utilise les données historiques de repas, les préférences culinaires, la localisation et l'heure de la journée pour désambiguïser les prédictions incertaines. Ce n'est pas standard dans la plupart des pipelines de reconnaissance alimentaire et produit des améliorations mesurables de la précision en conditions réelles par rapport aux modèles sans contexte.

Base de données de densité propriétaire. La conversion volume-poids à l'Étape 5 s'appuie sur une base de données de densité qui couvre les aliments dans de multiples états de préparation. Les systèmes génériques utilisent souvent une seule densité moyenne par aliment, ce qui introduit une erreur systématique pour des éléments comme les légumes cuits versus crus ou les conserves égouttées versus non égouttées.

Affichage conscient de la confiance. Plutôt que d'afficher un seul nombre de calories, Nutrola révèle l'incertitude lorsqu'elle existe. Cette approche honnête réduit la frustration de l'utilisateur lorsque les estimations semblent erronées, car la plage elle-même communique que le système est moins certain d'un élément particulier.

Base de données nutritionnelle unifiée multi-sources. La base de données de 2 millions d'entrées à l'Étape 6 fusionne des données de laboratoire gouvernementales, des données de produits de marque et des soumissions communautaires vérifiées dans un schéma normalisé unique, donnant au pipeline accès à beaucoup plus d'entrées alimentaires que n'importe quelle source unique ne le permet.

Apprentissage continu à partir des corrections. Chaque correction utilisateur à l'Étape 8 alimente les modèles de classification et de portion lors des cycles de réentraînement périodiques, créant un effet de volant d'inertie où la précision s'améliore à mesure que la base d'utilisateurs grandit.

Latence et considérations sur l'appareil

La latence de bout en bout compte énormément pour l'expérience utilisateur. Si le pipeline prend plus de deux à trois secondes, les utilisateurs le perçoivent comme lent et peuvent revenir à l'enregistrement manuel. Plusieurs stratégies d'ingénierie maintiennent la latence basse :

Quantification du modèle convertit les poids à virgule flottante 32 bits en entiers 8 bits, réduisant la taille du modèle d'environ 4x et accélérant l'inférence sur les unités de traitement neuronal (NPU) mobiles avec une perte de précision minimale. Nutrola applique la quantification post-entraînement à la fois au backbone d'extraction de caractéristiques et à la tête de détection.

Inférence sur l'appareil élimine complètement l'aller-retour réseau pour les étapes à forte intensité de calcul (extraction de caractéristiques et détection). Core ML d'Apple et NNAPI d'Android fournissent des chemins d'inférence accélérés par le matériel que le pipeline cible. Seules les étapes légères de recherche en base de données et de calcul des calories nécessitent un appel serveur, et même celles-ci peuvent se rabattre sur un cache local pour le fonctionnement hors ligne.

Exécution spéculative commence le prétraitement et l'extraction de caractéristiques pendant que l'aperçu de la caméra est encore actif, de sorte qu'au moment où l'utilisateur appuie sur le déclencheur, le pipeline a déjà partiellement traité l'image. Cette technique réduit de plusieurs centaines de millisecondes la latence perçue.

Benchmarks de précision et performances en conditions réelles

Sur les benchmarks académiques standards comme Food-101, ISIA Food-500 et Nutrition5k, les pipelines modernes atteignent une précision de classification top-1 entre 85 et 92 pour cent et des erreurs d'estimation de portion de 15 à 25 pour cent du poids réel. Les performances en conditions réelles varient car les photos soumises par les utilisateurs sont plus bruitées que les jeux de données curatés : mauvais éclairage, occlusion partielle, angles inhabituels et plats régionaux peu courants dégradent tous la précision.

Les tests internes de Nutrola sur un ensemble réservé de 50 000 photos réelles d'utilisateurs montrent une précision de classification top-1 de 89 pour cent et une erreur médiane d'estimation de portion de 18 pour cent. Lorsque les 3 meilleurs candidats sont considérés, la précision de classification monte à 96 pour cent, ce qui explique pourquoi l'interface de correction affiche de manière proéminente des suggestions alternatives.

Ces chiffres continuent de s'améliorer à chaque cycle de réentraînement à mesure que la boucle de rétroaction des corrections accumule plus de données étiquetées issues de l'utilisation réelle.

Questions fréquemment posées

Combien de temps prend le pipeline complet de la photo aux données nutritionnelles ?

Sur les smartphones modernes dotés de matériel de traitement neuronal dédié, le pipeline de bout en bout se termine typiquement en 1,0 à 2,5 secondes. La majorité de ce temps est consacrée à l'extraction de caractéristiques et à la détection d'objets aux Étapes 3 et 4. Le prétraitement et le calcul des calories sont quasi instantanés, et la recherche en base de données n'ajoute que 50 à 150 millisecondes selon les conditions réseau ou l'utilisation d'un cache local. Le système d'exécution spéculative de Nutrola, qui commence à traiter l'aperçu de la caméra avant que l'utilisateur n'appuie sur le déclencheur, peut réduire la latence perçue à moins d'une seconde dans de nombreux cas.

Quelle est la précision de la classification alimentaire par IA comparée à l'enregistrement manuel ?

La classification alimentaire par IA atteint une précision top-1 entre 85 et 92 pour cent sur les benchmarks standards, et une précision top-3 supérieure à 95 pour cent. L'enregistrement manuel, bien que théoriquement précis lorsqu'il est fait avec soin, souffre d'une sous-déclaration systématique de 10 à 45 pour cent selon les recherches diététiques publiées. En pratique, la classification par IA combinée à une étape rapide de confirmation par l'utilisateur tend à produire des résultats plus cohérents et moins biaisés que la saisie purement manuelle, en particulier pour les utilisateurs qui enregistrent plusieurs repas par jour et ressentent une fatigue de saisie.

Que se passe-t-il lorsque l'IA ne peut pas identifier un aliment ?

Lorsque la prédiction de confiance la plus élevée tombe en dessous du seuil du système, le pipeline adopte une approche de repli élégante. Il présente les trois à cinq meilleures identifications candidates et demande à l'utilisateur de sélectionner la bonne, ou de saisir un nom manuellement. Cette correction utilisateur est enregistrée et réinjectée dans le pipeline d'entraînement lors du prochain cycle de réentraînement, ce qui signifie que chaque échec devient un signal d'entraînement qui améliore les prédictions futures. Au fil du temps, à mesure que ces corrections s'accumulent, la couverture du système pour les aliments inhabituels et régionaux s'élargit régulièrement.

Le pipeline fonctionne-t-il différemment pour les plats mixtes comme les salades ou les currys ?

Oui. Pour les plats mixtes où les ingrédients individuels ne sont pas séparables spatialement, le pipeline passe de la détection par boîte englobante à la segmentation sémantique en utilisant des architectures comme DeepLabv3+. Cette classification au niveau du pixel estime la proportion de chaque ingrédient dans la zone mixte. Pour les plats fortement mélangés comme les smoothies ou les soupes en purée où la séparation visuelle est impossible, le pipeline s'appuie sur la décomposition basée sur les recettes : il identifie le type de plat puis utilise un modèle de recette pour estimer les proportions probables d'ingrédients et leur profil nutritionnel combiné.

Comment fonctionne l'estimation des portions sans capteur de profondeur ?

Lorsqu'aucun capteur LiDAR ou à temps de vol n'est disponible, le pipeline utilise un modèle d'estimation de profondeur monoculaire (tel que MiDaS ou DPT) pour déduire une profondeur approximative à partir de l'image RGB seule. Ces modèles ont été entraînés sur des millions de paires image-profondeur et peuvent estimer la forme tridimensionnelle des aliments à partir d'indices contextuels comme la géométrie de l'assiette, les motifs d'ombre et les gradients de texture. Le système détecte également des objets de référence de taille connue, en particulier les assiettes et les couverts, pour ancrer l'échelle. Bien que l'estimation monoculaire soit moins précise que la détection de profondeur matérielle, la combinaison d'indices de profondeur appris et de mise à l'échelle de référence maintient les estimations de portion dans une plage de précision pratique pour le suivi nutritionnel.

Le pipeline peut-il gérer plusieurs assiettes ou repas dans une seule photo ?

L'étape de détection d'objets est conçue pour gérer un nombre arbitraire d'aliments, qu'ils soient sur une ou plusieurs assiettes. Les têtes de détection YOLO et DETR balaient l'image entière et produisent des détections indépendantes pour chaque aliment trouvé, qu'ils soient sur une seule assiette, répartis sur une table avec plusieurs plats ou disposés sur un plateau. Chaque élément détecté est traité indépendamment à travers les étapes d'estimation de portion et de calcul des calories. Pour la meilleure précision, Nutrola recommande de photographier chaque assiette ou bol individuellement afin que la mise à l'échelle de référence puisse être calibrée par assiette, mais le système gère avec élégance les scènes à plusieurs assiettes lorsque cela n'est pas pratique.

Prêt à transformer votre suivi nutritionnel ?

Rejoignez des milliers de personnes qui ont transformé leur parcours santé avec Nutrola !

Pipeline d'IA de reconnaissance alimentaire : de la photo aux données nutritionnelles expliqué | Nutrola