كيف يعمل نظام الذكاء الاصطناعي للتعرف على الطعام: من الصورة إلى بيانات التغذية

دليل تقني مفصل لعملية التعرف على الطعام باستخدام الذكاء الاصطناعي: من إدخال الكاميرا إلى استخراج الميزات عبر الشبكات العصبية، وتصنيف الطعام، وتقدير الحصص، والبحث في قاعدة بيانات التغذية، وصولاً إلى حساب السعرات الحرارية النهائية.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

عندما تلتقط صورة لغذائك وترى تحليلًا كاملًا للمغذيات يظهر في أقل من ثانيتين، قد يكون من السهل اعتبار النتيجة أمرًا مفروغًا منه. لكن وراء هذه القراءة الفورية، يوجد نظام متعدد المراحل ينقل صورتك عبر مراحل التقاط الصورة، والمعالجة المسبقة، واستنتاج الشبكة العصبية، والتصنيف، وتقدير الحصص، والبحث في قاعدة البيانات، وحساب السعرات الحرارية النهائية قبل أن تصل أي معلومات إلى شاشتك. كل مرحلة تحل مشكلة محددة، وتعتمد على مجموعة من الخوارزميات الخاصة بها، وتقدم مخرجات معينة للمرحلة التالية.

تتبع هذه المقالة الرحلة الكاملة من الضغط على زر الغالق إلى الحصول على ملصق التغذية. على طول الطريق، سنذكر الهياكل والتقنيات والمفاضلات الهندسية التي تجعل كل مرحلة تعمل، وسنبرز أين قدمت Nutrola ابتكاراتها الخاصة لزيادة الدقة والسرعة بما يتجاوز المعايير الصناعية.

المرحلة 1: إدخال الكاميرا واكتساب الصورة

تبدأ كل شيء في اللحظة التي يفتح فيها المستخدم عدسة الكاميرا ويؤطر طبق الطعام. تلتقط الهواتف الذكية الحديثة الصور بدقة تتراوح بين 12 إلى 48 ميجابكسل، مما ينتج بيانات مستشعر خام تشفر قيم كثافة الألوان عبر مصفوفة Bayer. يقوم معالج إشارة الصورة (ISP) في الجهاز بفك تشفير هذه البيانات، وتطبيق توازن اللون الأبيض، وتقليل الضوضاء، وإخراج ملف JPEG أو HEIF قياسي في جزء من الثانية.

تؤثر ميزتان في الأجهزة بشكل متزايد على هذه المرحلة. أولاً، يمكن لمستشعرات LiDAR في iPhone Pro الحديثة وبعض هواتف Android الرائدة التقاط خريطة عمق مصاحبة إلى جانب الصورة RGB. تصبح هذه البيانات العميقة ذات قيمة في المراحل التالية أثناء تقدير الحصص. ثانيًا، توفر الأجهزة المزودة بمستشعرات زمن الرحلة معلومات عمق مشابهة ولكنها أقل دقة يمكن للنظام الاستفادة منها عند عدم توفر LiDAR.

يستقبل النظام الصورة RGB، وعند توفرها، خريطة العمق كمدخلات متزاوجة. إذا لم يكن الجهاز مزودًا بمستشعر عمق، يتقدم النظام باستخدام RGB فقط ويعوض لاحقًا باستخدام تقدير العمق الأحادي.

المخرجات الرئيسية لهذه المرحلة

صورة RGB عالية الدقة (وربما خريطة عمق) تمثل المشهد أمام المستخدم.

المرحلة 2: المعالجة المسبقة للصورة

لا تكون مخرجات الكاميرا الخام جاهزة لاستنتاج الشبكة العصبية. تقوم المعالجة المسبقة بتحويل الصورة إلى تنسور موحد يتوقعه النموذج.

تغيير الحجم والقص

تقبل معظم نماذج التعرف على الطعام المدخلات بدقة ثابتة، وعادة ما تكون 224x224 أو 384x384 أو 512x512 بكسل حسب الهيكل. يقوم النظام بتغيير حجم الصورة إلى هذه الدقة المستهدفة مع الحفاظ على نسبة العرض إلى الارتفاع، ويطبق تقنيات مثل إضافة حواف أو القص المركزي حسب الحاجة. تعتبر طريقة إعادة التعيين الثنائية المكعبة هي الطريقة القياسية لأنها تحافظ على تفاصيل القوام الدقيقة بشكل أفضل من البدائل الثنائية.

التطبيع

تتحول قيم البكسل من نطاق الأعداد الصحيحة 0-255 إلى أعداد عشرية، ثم يتم تطبيعها باستخدام المتوسط والانحراف المعياري لكل قناة من مجموعة بيانات التدريب. بالنسبة للنماذج المدربة مسبقًا على ImageNet، يتم تطبيق قيم التطبيع القياسية (متوسط [0.485، 0.456، 0.406] والانحراف المعياري [0.229، 0.224، 0.225] لقنوات R وG وB على التوالي). يركز هذا التطبيع توزيع المدخلات حول الصفر ويقوم بتعديلها إلى تباين موحد، مما ي stabilizes تدفق التدرجات أثناء التدريب ويضمن سلوك استنتاج متسق.

مساحة اللون وعيوب التوسيع

أثناء التدريب، يطبق النظام توسيع بيانات شاملة: دوران عشوائي، تقلبات أفقية، اهتزازات لونية، ضباب غاوسي، وقطع. في وقت الاستنتاج، يتم تعطيل هذه التوسعات، لكن النموذج تعلم أن يكون غير حساس لأنواع الضوضاء البصرية التي تحاكيها. وهذا يعني أن صورة تم التقاطها تحت إضاءة دافئة في مطعم وصورة تم التقاطها تحت إضاءة فلورية باردة في المكتب ستنتج كلاهما تمثيلات موثوقة للميزات.

المخرجات الرئيسية لهذه المرحلة

تنسور عائم موحد بأبعاد مكانية ثابتة، جاهز لهيكل الشبكة العصبية.

المرحلة 3: استخراج ميزات الشبكة العصبية التلافيفية

هذه هي القلب الحسابي للنظام. تعالج شبكة عصبية تلافيفية عميقة (أو بشكل متزايد محول بصري) التنسور المعالج مسبقًا وتنتج متجه ميزات كثيف يشفر المحتوى البصري للصورة بشكل يمكن رؤيته من قبل رؤوس التصنيف والكشف في المراحل التالية.

هياكل العمود الفقري

لقد أثبتت عدة هياكل عمود فقري فعاليتها في التعرف على الطعام:

EfficientNet يستخدم التوسع المركب لتحقيق توازن بين عمق الشبكة وعرضها ودقة المدخلات. تعتبر EfficientNet-B4 وB5 خيارات شائعة لأنها تقدم دقة قوية بتكلفة حسابية معقولة على الأجهزة المحمولة عند دمجها مع التكميم. تستخدم Nutrola عمود فقري مشتق من EfficientNet تم تحسينه على مجموعة بيانات صور الطعام الخاصة بها، محققة توازنًا ملائمًا بين زمن الاستجابة والدقة العليا.

محولات الرؤية (ViT) تقسم الصورة إلى قطع ثابتة الحجم (عادة 16x16 بكسل)، وتقوم بإسقاط كل قطعة في تمثيل، وتعالج تسلسل التمثيلات عبر طبقات الانتباه الذاتي متعددة الرؤوس. تتفوق ViTs في التقاط العلاقات المكانية بعيدة المدى، على سبيل المثال فهم أن القرص البني بجانب الأوراق الخضراء هو شريحة لحم برغر وليس بسكويت شوكولاتة، لأن السياق المحيط يتضمن خبزًا وخسًا. لقد قللت النماذج الهجينة مثل DeiT (محول الصورة الفعال من حيث البيانات) وSwin Transformer من متطلبات البيانات والتكلفة الحسابية للنماذج النقية، مما يجعلها قابلة للتطبيق في أنظمة التعرف على الطعام الإنتاجية.

MobileNetV3 مُحسَّنة للاستنتاج على الجهاز باستخدام التلافيف القابلة للفصل والبحث عن هيكل الشبكة العصبية المدرك للأجهزة. إنها تعمل كعمود فقري في المسارات الحساسة للزمن حيث يجب أن تعمل النموذج بالكامل على الجهاز دون الحاجة إلى جولة عبر الشبكة.

شبكات هرم الميزات

نظرًا لأن العناصر الغذائية يمكن أن تختلف بشكل كبير في الحجم الظاهر ضمن صورة واحدة (بيتزا كبيرة بجانب كوب صغير من الصلصة)، يستخدم النظام شبكة هرم الميزات (FPN) لاستخراج الميزات على مقاييس مكانية متعددة. تبني FPN مسارًا من أعلى إلى أسفل مع اتصالات جانبية من خرائط الميزات الوسيطة للعمود الفقري، مما ينتج مجموعة من خرائط الميزات متعددة المقاييس التي تعبر عن اكتشاف الزينة الصغيرة والأطباق الكبيرة على حد سواء.

المخرجات الرئيسية لهذه المرحلة

مجموعة من خرائط الميزات متعددة المقاييس (أو متجه ميزات مجمع لمهام التصنيف فقط) التي تشفر الدلالات البصرية لكل منطقة في الصورة.

المرحلة 4: تصنيف الطعام متعدد التسميات والكشف

نادراً ما تحتوي الوجبات الحقيقية على عنصر غذائي واحد. قد تحتوي لوحة العشاء النموذجية على سمك السلمون المشوي، وبروكلي مطبوخ على البخار، وأرز بني، وقطعة ليمون. يجب على النظام الكشف عن كل عنصر غذائي متميز في الإطار وتحديد موقعه وتصنيفه.

كشف الكائنات باستخدام YOLO وDETR

يطبق النظام رأس كشف الكائنات فوق خرائط الميزات المستخرجة. تهيمن عائلتان من الكاشفات على هذا المجال:

YOLO (You Only Look Once) يقوم بالكشف في تمريرة واحدة من خلال تقسيم الصورة إلى شبكة وتوقع صناديق الحدود واحتمالات الفئة لكل خلية في الشبكة في وقت واحد. تعتبر YOLOv8 ونسخها اللاحقة مناسبة بشكل خاص للنشر على الهواتف المحمولة لأنها تعالج الصورة بالكامل في لقطة واحدة بدلاً من اقتراح ثم تحسين المناطق. تستخدم Nutrola رأس كشف مشتق من YOLO تم ضبطه على أكثر من 15,000 فئة غذائية تغطي المأكولات العالمية.

DETR (محول الكشف) يعامل كشف الكائنات كمشكلة توقع مجموعة، باستخدام هيكل محول مشفر-مفكك لإخراج مجموعة من الاكتشافات مباشرة دون الحاجة إلى صناديق مرجعية أو تقليل غير الأقصى. يتعامل DETR مع الأطعمة المتداخلة بشكل أكثر سلاسة من الطرق المعتمدة على المراسي لأن خسارته المعتمدة على المجموعة تتجنب بشكل طبيعي التوقعات المكررة.

التقسيم الدلالي للأطباق المختلطة

بالنسبة للأطباق المركبة مثل السلطات، والأطباق المقلية، وأوعية الحبوب حيث تتداخل المكونات المتميزة، تكون صناديق الحدود خشنة جدًا. ينتقل النظام إلى فرع التقسيم الدلالي، غالبًا بناءً على هيكل U-Net أو DeepLabv3+، الذي يصنف كل بكسل في الصورة. يسمح هذا التصنيف على مستوى البكسل للنظام بتقدير نسبة كل مكون في طبق مختلط حتى عندما لا تفصلها حدود واضحة.

تسجيل الثقة وترتيب المرشحين

تأتي كل اكتشاف مع درجة ثقة. يطبق النظام عتبة (عادةً من 0.5 إلى 0.7 حسب التطبيق) لتصفية التوقعات ذات الثقة المنخفضة. عندما تكون التوقعات العليا غير مؤكدة، يمكن للنظام تقديم من ثلاثة إلى خمسة مرشحين للمستخدم للتأكيد، مما يقلل من معدلات الخطأ دون الحاجة إلى إدخال يدوي.

تدمج محرك تصنيف Nutrola وحدة سياق المستخدم التي تأخذ في الاعتبار وجبات المستخدم السابقة، وتفضيلات المأكولات، والموقع الجغرافي، ووقت اليوم. إذا كان المستخدم يسجل غالبًا المأكولات المكسيكية وكان النموذج غير متأكد بين تورتيلا دقيق ونان، فإن وحدة السياق تدفع الاحتمالية نحو التورتيلا. تقلل هذه الطبقة الشخصية بشكل ملحوظ من معدلات التصنيف الخاطئ بمرور الوقت.

المخرجات الرئيسية لهذه المرحلة

قائمة بالعناصر الغذائية المكتشفة، كل منها مع تسمية فئة، وصندوق حدود أو قناع بكسل، ودرجة ثقة.

المرحلة 5: تقدير حجم الحصة

معرفة أن الطبق يحتوي على دجاج مشوي وأرز ليست كافية. يجب على النظام تقدير كمية كل طعام موجود، لأن 100 جرام من صدور الدجاج و300 جرام منها تختلف بأكثر من 300 سعرة حرارية.

تقدير العمق الأحادي

عندما لا يتوفر مستشعر عمق للأجهزة، يستخدم النظام نموذج تقدير العمق الأحادي (عادةً بناءً على هيكل MiDaS أو DPT) لاستنتاج خريطة عمق من الصورة RGB فقط. تتعلم هذه النماذج توقع العمق من الإشارات السياقية مثل تداخل الكائنات، والحجم النسبي، وتدرجات القوام، ونقاط التلاشي. تكون خريطة العمق المستنتجة، على الرغم من أنها أقل دقة من بيانات LiDAR، كافية لتقريب الشكل ثلاثي الأبعاد للطعام على الطبق.

قياس الأجسام المرجعية

لا تحتوي الصورة على مقياس داخلي. يحل النظام هذه المشكلة من خلال اكتشاف الأجسام المرجعية ذات الأبعاد المعروفة في الإطار. يمكن أن تكون الأطباق (عادةً 25 إلى 27 سم في القطر)، والأدوات القياسية، والأوعية، وحتى حواف الهواتف الذكية نقاط مرجعية. من خلال ملاءمة بيضاوي إلى حافة الطبق المكتشفة وتطبيق الهندسة الإسقاطية لاستنتاج زاوية الرؤية، يعيد النظام بناء المسافات الحقيقية من قياسات البكسل.

تحويل الحجم إلى الوزن

مع تقدير الشكل ثلاثي الأبعاد للطعام، يقوم النظام بحساب الحجم من خلال دمج ملف العمق على قناع بكسل الطعام. ثم يقوم بتحويل الحجم إلى وزن باستخدام جداول كثافة خاصة بالطعام. كوب من السبانخ الورقية يزن أقل بكثير من كوب من الحمص، لذا فإن البحث عن الكثافة ضروري للدقة.

تحافظ Nutrola على قاعدة بيانات كثافة خاصة تغطي آلاف الأطعمة في حالات تحضير مختلفة (خام، مطبوخ، مخلوط، مجمد) وتستخدمها لتحويل الأحجام المقدرة إلى أوزان بالجرام بدقة أعلى من جداول الكثافة العامة.

المخرجات الرئيسية لهذه المرحلة

وزن مقدر بالجرام لكل عنصر غذائي مكتشف.

المرحلة 6: البحث في قاعدة بيانات التغذية

مع تصنيف كل عنصر غذائي ووزنه، يستعلم النظام عن قاعدة بيانات التغذية لاسترجاع ملف المغذيات الكلي والجزئي لكل 100 جرام من ذلك الطعام.

هيكل قاعدة البيانات

تستمد قواعد بيانات التغذية عالية الجودة من مصادر حكومية مثل USDA FoodData Central، وUK Nutrient Databank، والمعادلات الوطنية من عشرات البلدان. توفر هذه المصادر قيم مغذية تم تحليلها في المختبر لآلاف العناصر الغذائية بشكل موحد.

تتجاوز قاعدة بيانات Nutrola هذه المصادر الحكومية من خلال دمج البيانات المقدمة من الشركات المصنعة لأكثر من 1.2 مليون منتج علامة تجارية، وعناصر قائمة المطاعم مع معلومات التغذية التي تم التحقق منها من خلال شراكات، وإدخالات مقدمة من المجتمع التي تمر عبر نظام تحقق متعدد الطبقات بما في ذلك مراجعة الأطباء. النتيجة هي قاعدة بيانات موحدة تضم أكثر من 2 مليون إدخال غذائي مع بيانات مغذية موحدة وفقًا لمخطط متسق.

المطابقة الضبابية وحل الكيانات

تخرج نموذج التصنيف تسمية غذائية مثل "فخذ دجاج مشوي مع الجلد" يجب مطابقتها مع الإدخال الصحيح في قاعدة البيانات. هذه مشكلة حل كيان غير تافهة لأن نفس الطعام يمكن أن يحمل عشرات الأسماء عبر المناطق واللغات. يستخدم النظام بحثًا دلاليًا قائمًا على التضمين للعثور على أقرب إدخال في قاعدة البيانات. يقوم مشفر النص المحسن بتمثيل كل من تسمية الطعام المتوقعة وكل اسم إدخال في قاعدة البيانات في نفس فضاء المتجهات، ويتم اختيار أقرب جار (يتم قياسه بواسطة تشابه الزاوية) .

عندما توجد مطابقة قريبة متعددة (على سبيل المثال "فخذ دجاج، مشوي، مع الجلد" مقابل "فخذ دجاج، مشوي، الجلد مأكول")، يختار النظام الإدخال الذي تتطابق فيه طريقة التحضير بشكل أفضل مع الإشارات البصرية المكتشفة في الصورة.

المخرجات الرئيسية لهذه المرحلة

ملف مغذي كامل (سعرات حرارية، بروتين، كربوهيدرات، دهون، ألياف، ومعادن دقيقة) لكل 100 جرام لكل عنصر غذائي مكتشف.

المرحلة 7: حساب المغذيات والسعرات الحرارية

المرحلة الحسابية النهائية هي حساب بسيط، لكنها المكان الذي تتراكم فيه الأخطاء من كل مرحلة سابقة. يقوم النظام بضرب قيم المغذيات لكل 100 جرام في الوزن المقدر لكل عنصر غذائي، ثم يجمع النتائج عبر جميع العناصر لإنتاج تحليل إجمالي للوجبة.

الحساب

لكل عنصر غذائي:

  • السعرات الحرارية = (الجرامات المقدرة / 100) × السعرات الحرارية لكل 100 جرام
  • البروتين = (الجرامات المقدرة / 100) × البروتين لكل 100 جرام
  • الكربوهيدرات = (الجرامات المقدرة / 100) × الكربوهيدرات لكل 100 جرام
  • الدهون = (الجرامات المقدرة / 100) × الدهون لكل 100 جرام

تجمع هذه القيم لكل عنصر لإنتاج إجمالي الوجبة.

انتشار الخطأ وفواصل الثقة

نظرًا لأن كل مرحلة سابقة تقدم بعض عدم اليقين، لا تقدم Nutrola تقديرًا نقطيًا واحدًا كحقيقة مطلقة. يقوم النظام بحساب فواصل الثقة من خلال تمرير درجة ثقة التصنيف وعدم اليقين في تقدير الحصة عبر الحساب. إذا كانت درجة ثقة التصنيف عالية ولكن تقدير الحصة غير مؤكد (على سبيل المثال، الطعام مكدس في وعاء عميق يحجب الحجم)، يعكس النظام ذلك من خلال توسيع نطاق الثقة وقد يطلب من المستخدم تأكيد الحصة.

تعتبر هذه الشفافية خيار تصميم متعمد. بدلاً من تقديم إحساس زائف بالدقة، تعرض Nutrola نطاقًا (على سبيل المثال، "420 إلى 510 كيلو كالوري") عندما تبرر التقديرات الأساسية ذلك، مما يساعد المستخدمين على تطوير فهم واقعي لمدخولهم.

المخرجات الرئيسية لهذه المرحلة

إجمالي السعرات الحرارية وتحليل المغذيات للوجبة، مع فواصل ثقة اختيارية.

المرحلة 8: عرض المستخدم والتسجيل

تقوم المرحلة النهائية بعرض النتائج في واجهة المستخدم. يتم سرد العناصر الغذائية المكتشفة مع قيم السعرات الحرارية والمغذيات الفردية، ويتم عرض إجمالي الوجبة بشكل بارز. يمكن للمستخدم النقر على أي عنصر لتصحيحه أو ضبط الحصة، وتساهم هذه التصحيحات في نماذج التخصيص لتحسين التوقعات المستقبلية.

على Nutrola، يتضمن العرض تراكبًا بصريًا على الصورة الأصلية يظهر صناديق الحدود أو تسليط الضوء على كل طعام مكتشف، مما يجعل من الواضح على الفور ما الذي حددته الذكاء الاصطناعي وأين. تعزز هذه التغذية الراجعة البصرية الثقة وتسهّل اكتشاف الأخطاء وتصحيحها.

يتم تخزين الوجبة المسجلة في دفتر يوميات التغذية اليومي للمستخدم وتساهم في الإجماليات الجارية للسعرات الحرارية والبروتين والكربوهيدرات والدهون والمعادن الدقيقة المتعقبة. تتزامن البيانات مع Apple Health وGoogle Fit وغيرها من المنصات المتصلة من خلال واجهات برمجة التطبيقات الصحية القياسية.

المخرجات الرئيسية لهذه المرحلة

إدخال سجل وجبة مكتمل مع بيانات التغذية لكل عنصر وإجمالي، وتراكبات بصرية، وتزامن مع منصات الصحة.

جدول ملخص النظام

المرحلة التكنولوجيا الأساسية المدخلات المخرجات
1. إدخال الكاميرا ISP الجهاز، مستشعرات LiDAR/ToF الضوء من المشهد صورة RGB + خريطة عمق اختيارية
2. المعالجة المسبقة للصورة تغيير الحجم الثنائي المكعب، تطبيع القنوات الصورة الخام تنسور موحد (مثل 384x384x3)
3. استخراج الميزات EfficientNet، ViT، Swin Transformer، FPN تنسور موحد خرائط ميزات متعددة المقاييس
4. تصنيف الطعام YOLOv8، DETR، DeepLabv3+، سياق المستخدم خرائط الميزات عناصر غذائية موسومة مع صناديق حدود/أقنعة
5. تقدير الحصة تقدير العمق باستخدام MiDaS، قياس الأجسام المرجعية، جداول الكثافة RGB + عمق + أقنعة الطعام الوزن بالجرامات لكل عنصر غذائي
6. البحث في قاعدة البيانات بحث دلالي قائم على التضمين، قواعد بيانات USDA/العلامات التجارية تسميات الطعام + إشارات التحضير ملفات مغذية لكل 100 جرام
7. حساب السعرات الحرارية حسابات موزونة، انتشار عدم اليقين تقديرات الجرام + ملفات المغذيات إجمالي السعرات الحرارية والمغذيات مع فواصل الثقة
8. عرض المستخدم عرض واجهة المستخدم، واجهات برمجة التطبيقات لتزامن البيانات الصحية بيانات التغذية المحسوبة إدخال سجل وجبة مع تراكب بصري

أين تتناسب ابتكارات Nutrola

تتضمن عدة مراحل من المراحل الموضحة أعلاه ابتكارات خاصة بتنفيذ Nutrola:

سياق التصنيف الشخصي. تستخدم وحدة سياق المستخدم في المرحلة 4 بيانات الوجبات التاريخية، وتفضيلات المأكولات، والموقع، ووقت اليوم لتوضيح التوقعات غير المؤكدة. هذا ليس شائعًا في معظم أنظمة التعرف على الطعام ويحقق تحسينات ملحوظة في الدقة الواقعية مقارنة بالنماذج التي لا تأخذ السياق في الاعتبار.

قاعدة بيانات الكثافة الخاصة. يعتمد تحويل الحجم إلى الوزن في المرحلة 5 على قاعدة بيانات كثافة تغطي الأطعمة عبر حالات التحضير المتعددة. غالبًا ما تستخدم الأنظمة العامة كثافة متوسطة واحدة لكل طعام، مما يقدم خطأ منهجي للعناصر مثل الخضروات المطبوخة مقابل النيئة أو المعلبة المصفاة مقابل غير المصفاة.

عرض مدرك للثقة. بدلاً من عرض رقم سعرات حرارية واحد، تعرض Nutrola عدم اليقين عندما يكون موجودًا. يقلل هذا النهج الصادق من إحباط المستخدم عندما تبدو التقديرات غير دقيقة، لأن النطاق نفسه يوصل أن النظام أقل يقينًا بشأن عنصر معين.

قاعدة بيانات تغذية موحدة متعددة المصادر. تدمج قاعدة البيانات التي تحتوي على مليوني إدخال في المرحلة 6 بيانات المختبر الحكومية، وبيانات المنتجات المميزة، وإدخالات المجتمع الموثوقة في مخطط موحد واحد، مما يمنح النظام الوصول إلى عدد أكبر بكثير من إدخالات الطعام مقارنة بأي مصدر واحد.

التعلم المستمر من التصحيحات. كل تصحيح من المستخدم في المرحلة 8 يعود إلى نماذج التصنيف والحصة خلال دورات إعادة التدريب الدورية، مما يخلق دورة حيث تتحسن الدقة مع نمو قاعدة المستخدمين.

اعتبارات زمن الاستجابة والأجهزة

تعتبر زمن الاستجابة من النهاية إلى النهاية أمرًا بالغ الأهمية لتجربة المستخدم. إذا استغرق النظام أكثر من ثانيتين إلى ثلاث ثوانٍ، فإن المستخدمين يعتبرونه بطيئًا وقد يعودون إلى التسجيل اليدوي. تحافظ عدة استراتيجيات هندسية على زمن الاستجابة منخفضًا:

تكميم النموذج يحول الأوزان العائمة 32 بت إلى أعداد صحيحة 8 بت، مما يقلل حجم النموذج بحوالي 4 مرات ويعجل الاستنتاج على وحدات معالجة الشبكة العصبية المحمولة (NPUs) مع فقدان دقة ضئيل. تطبق Nutrola التكميم بعد التدريب على كل من العمود الفقري لاستخراج الميزات ورأس الكشف.

الاستنتاج على الجهاز يلغي جولة الشبكة تمامًا للمراحل الحسابية المكثفة (استخراج الميزات والكشف). توفر تقنيات Apple Core ML وAndroid NNAPI مسارات استنتاج معززة بالأجهزة تستهدفها النظام. تتطلب فقط مراحل البحث في قاعدة البيانات وحساب السعرات الحرارية الخفيفة اتصالاً بالخادم، وحتى هذه يمكن أن تعود إلى ذاكرة التخزين المؤقت المحلية للتشغيل دون اتصال.

التنفيذ التخميني يبدأ المعالجة المسبقة واستخراج الميزات بينما لا تزال معاينة الكاميرا نشطة، لذا بحلول الوقت الذي يضغط فيه المستخدم على زر الغالق، يكون النظام قد عالج الإطار جزئيًا. تقلل هذه التقنية من زمن الاستجابة المدرك بمئات المللي ثانية.

معايير الدقة والأداء في العالم الحقيقي

على المعايير الأكاديمية القياسية مثل Food-101 وISIA Food-500 وNutrition5k، تحقق الأنظمة الحديثة دقة تصنيف أعلى تصل إلى 85 إلى 92 بالمئة وأخطاء تقدير الحصص ضمن 15 إلى 25 بالمئة من الوزن الحقيقي. يختلف الأداء في العالم الحقيقي لأن الصور المقدمة من المستخدمين تكون أكثر ضوضاءً من مجموعات البيانات المنسقة: الإضاءة السيئة، والتداخل الجزئي، والزوايا غير المعتادة، والأطباق الإقليمية غير الشائعة جميعها تؤثر على الدقة.

تظهر اختبارات Nutrola الداخلية على مجموعة مكونة من 50,000 صورة مستخدم حقيقية دقة تصنيف تصل إلى 89 بالمئة وأخطاء تقدير الحصص المتوسطة تصل إلى 18 بالمئة. عندما تؤخذ أعلى ثلاثة مرشحين في الاعتبار، ترتفع دقة التصنيف إلى 96 بالمئة، ولهذا السبب تعرض واجهة التصحيح اقتراحات بديلة بشكل بارز.

تستمر هذه الأرقام في التحسن مع كل دورة إعادة تدريب حيث تتراكم حلقة التغذية الراجعة للتصحيح المزيد من البيانات الموصوفة من الاستخدام الواقعي.

الأسئلة الشائعة

كم من الوقت يستغرق النظام بالكامل من الصورة إلى بيانات التغذية؟

على الهواتف الذكية الحديثة التي تحتوي على أجهزة معالجة عصبية مخصصة، يكمل النظام من النهاية إلى النهاية عادةً في 1.0 إلى 2.5 ثانية. يقضي معظم هذا الوقت في استخراج الميزات وكشف الكائنات في المرحلتين 3 و4. تكون المعالجة المسبقة وحساب السعرات الحرارية شبه فورية، ويضيف البحث في قاعدة البيانات 50 إلى 150 مللي ثانية حسب ظروف الشبكة أو ما إذا كانت ذاكرة التخزين المؤقت المحلية مستخدمة. يمكن أن يقلل نظام التنفيذ التخميني الخاص بـ Nutrola، الذي يبدأ في معالجة معاينة الكاميرا قبل أن يضغط المستخدم على زر الغالق، من زمن الاستجابة المدرك إلى أقل من ثانية في العديد من الحالات.

ما مدى دقة تصنيف الطعام باستخدام الذكاء الاصطناعي مقارنة بالتسجيل اليدوي؟

تحقق تصنيفات الطعام باستخدام الذكاء الاصطناعي دقة تصل إلى 85 إلى 92 بالمئة في أعلى تصنيف على المعايير القياسية، ودقة أعلى من 95 بالمئة في أعلى ثلاثة. بينما يعتبر التسجيل اليدوي دقيقًا نظريًا عند القيام به بدقة، فإنه يعاني من تقليل منهجي يتراوح بين 10 إلى 45 بالمئة وفقًا للأبحاث الغذائية المنشورة. في الممارسة العملية، يميل تصنيف الذكاء الاصطناعي المدمج مع خطوة تأكيد سريعة من المستخدم إلى إنتاج نتائج أكثر اتساقًا وأقل تحيزًا من الإدخال اليدوي البحت، لا سيما بالنسبة للمستخدمين الذين يسجلون عدة وجبات في اليوم ويعانون من إرهاق الإدخال.

ماذا يحدث عندما لا يستطيع الذكاء الاصطناعي تحديد عنصر غذائي؟

عندما تكون أعلى توقعات الثقة أقل من عتبة النظام، يتخذ النظام نهجًا احتياطيًا سلسًا. يقدم أعلى ثلاثة إلى خمسة مرشحين للتعرف ويطلب من المستخدم اختيار الصحيح، أو كتابة اسم يدويًا. يتم تسجيل هذا التصحيح ويعود إلى خط أنابيب التدريب خلال دورة إعادة التدريب التالية، مما يعني أن كل فشل يصبح إشارة تدريب تحسن التوقعات المستقبلية. بمرور الوقت، مع تراكم هذه التصحيحات، يتوسع نطاق النظام ليشمل الأطعمة غير الشائعة والإقليمية.

هل يعمل النظام بشكل مختلف للأطباق المختلطة مثل السلطات أو الكاري؟

نعم. بالنسبة للأطباق المختلطة حيث لا يمكن فصل المكونات الفردية مكانيًا، ينتقل النظام من كشف صناديق الحدود إلى التقسيم الدلالي باستخدام هياكل مثل DeepLabv3+. يقدر هذا التصنيف على مستوى البكسل نسبة كل مكون داخل المنطقة المختلطة. بالنسبة للأطباق المختلطة بشكل كبير مثل العصائر أو الحساء المهروس حيث يكون الفصل البصري مستحيلاً، يعتمد النظام على تحليل الوصفة: يحدد نوع الطبق ثم يستخدم نموذج الوصفة لتقدير النسب المحتملة للمكونات وملفها الغذائي المشترك.

كيف يعمل تقدير الحصة بدون مستشعر عمق؟

عندما لا يتوفر مستشعر LiDAR أو زمن الرحلة، يستخدم النظام نموذج تقدير العمق الأحادي (مثل MiDaS أو DPT) لاستنتاج العمق التقريبي من الصورة RGB فقط. تم تدريب هذه النماذج على ملايين أزواج الصور والعمق ويمكنها تقدير الشكل ثلاثي الأبعاد للطعام من الإشارات السياقية مثل هندسة الطبق، وأنماط الظل، وتدرجات القوام. كما يكتشف النظام الأجسام المرجعية ذات الحجم المعروف، وخاصة الأطباق والأدوات، لتثبيت المقياس. بينما يكون التقدير الأحادي أقل دقة من استشعار العمق بالأجهزة، فإن الجمع بين الإشارات العمقية المكتسبة وتثبيت المقياس يحافظ على تقديرات الحصص ضمن نطاق دقة عملي لتتبع التغذية.

هل يمكن للنظام التعامل مع عدة أطباق أو وجبات في صورة واحدة؟

تم تصميم مرحلة كشف الكائنات للتعامل مع عدد غير محدد من العناصر الغذائية بغض النظر عما إذا كانت موجودة على طبق واحد أو عدة أطباق. تقوم رؤوس الكشف YOLO وDETR بمسح الصورة بالكامل وتخرج اكتشافات مستقلة لكل عنصر غذائي موجود، سواء كانت على طبق عشاء واحد، أو منتشرة عبر طاولة مع عدة أطباق، أو مرتبة على صينية. تتم معالجة كل عنصر مكتشف بشكل مستقل عبر مراحل تقدير الحصة وحساب السعرات الحرارية. للحصول على أفضل دقة، توصي Nutrola بالتقاط صورة لكل طبق أو وعاء بشكل فردي حتى يمكن ضبط تثبيت المقياس لكل طبق، لكن النظام يتعامل مع مشاهد متعددة الأطباق بسلاسة عندما لا يكون ذلك عمليًا.

مستعد لتحويل تتبع تغذيتك؟

انضم إلى الآلاف الذين حولوا رحلتهم الصحية مع Nutrola!