بسبب القضايا والتكاليف المرتبطة نهج التقييم الغذائية دليل الحلول الآلية مطلوبة لتسهيل وتسريع العمل وزيادة جودته. اليوم، الحلول الآلية قادرة على تسجيل المداواة الغذائية للشخص بطريقة أبسط بكثير، مثل التقاط صورة مع كاميرا الهاتف الذكي. في هذه المقالة ، سوف نركز على مثل هذه النهج القائمة على الصور للتقييم الغذائي باستخدام الشبكات العصبية العميقة ، والتي تمثل أحدث ما في هذا المجال.
على وجه الخصوص، سوف نقدم ثلاثة حلول، واحد للتعرف على صورة الغذاء، واحد لتجزئة صورة من النسخ المتماثلة الغذاء، أو الغذاء وهمية، واحد لتجزئة الصورة من الغذاء الحقيقي. جمع قائمة من الأطعمة والمشروبات المختلفة التي ستكون مخرجات نموذج التعرف على صورة الطعام. احفظ قائمة الطعام والمشروبات في ملف نصي، مثل TXT أو CSV.
لاحظ أن الملف النصي المستخدم من قبل مؤلفي هذه المقالة يمكن العثور عليه في الملفات التكميلية تحت العناصر الغذائية TXT ويتضمن قائمة من 520 المواد الغذائية السلوفينية. اكتب أو قم بتنزيل برنامج بايثون النصي الذي يستخدم واجهة برمجة تطبيقات بحث Google المخصصة لتنزيل صور كل عنصر غذائي من القائمة وحفظها في مجلد منفصل لكل عنصر غذائي. لاحظ أن البرنامج النصي Python المستخدمة من قبل مؤلفي هذه المقالة يمكن العثور عليها في الملفات التكميلية تحت تحميل الصور نقطة pi.
إذا تم استخدام هذا البرنامج النصي المطور مفتاح متغير المطور سطر ثمانية في رمز البرنامج النصي بيثون ومخصص محرك البحث معرف معرف خط CX 28 في رمز البرنامج النصي بيثون تحتاج إلى استبداله مع القيم الخاصة بحساب جوجل المستخدمة. تشغيل البرنامج النصي Python من الخطوة 1.1.3. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق تدويرها بمقدار 90 درجة، وذلك باستخدام مكتبة CLoDSA.
لاحظ أن البرنامج النصي Python يحتوي على كافة الأوامر CLoDSA المستخدمة من قبل مؤلفي هذه المقالة يمكن العثور عليها في ملف مضمن في الملفات التكميلية ضمن نقطة زيادة زيد اتشيل NutriNet pi. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق تدويرها بمقدار 180 درجة، وذلك باستخدام مكتبة CLoDSA. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق تدويرها بمقدار 270 درجة، وذلك باستخدام مكتبة CLoDSA.
إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق التقليب أفقيا، وذلك باستخدام مكتبة CLoDSA. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الغذاء عن طريق إضافة الضوضاء اللون عشوائي إليها، وذلك باستخدام مكتبة CLoDSA. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق التكبير إليها بنسبة 25٪ باستخدام مكتبة CLoDSA.
حفظ الصور من الخطوات 1.3.1 إلى 1.3.6 جنبا إلى جنب مع الصور الأصلية في مجموعة بيانات جديدة صورة الغذاء. في المجموع، سبعة متغيرات لكل صورة الغذاء. استيراد مجموعة بيانات صورة الطعام من الخطوة 1.3.7 إلى بيئة أرقام NVIDI، وتقسيم مجموعة البيانات إلى مجموعات فرعية للتدريب والتحقق والاختبار.
نسخ ولصق نص تعريف هندسة NutriNet في NVIDIA الأرقام. لاحظ أنه يمكن العثور على تعريف هندسة NutriNet في الملفات التكميلية ضمن NutriNet نقطة بروتو TXT. اختياريًا، قم بتعريف معلمات فرط التدريب في أرقام NVIDIA أو استخدم القيم الافتراضية.
يمكن العثور على فرط المعلمات المستخدمة من قبل الكتاب من هذه المادة في ملف المدرجة في الملفات التكميلية تحت NutriNet تسطير تسطير فرط المعلمات نقطة بروتو TXT. تشغيل التدريب من طراز NutriNet. بعد اكتمال التدريب ، واتخاذ أفضل أداء NutriNet تكرار نموذج.
ثم يتم استخدام هذا النموذج لاختبار أداء هذا الأسلوب. لاحظ أن هناك عدة طرق لتحديد أفضل أداء نموذج التكرار. راجع نصوص المقالة لمزيد من التفاصيل.
الحصول على مجموعة بيانات من الصور الغذائية وهمية. لاحظ أن مؤلفي هذه المقالة تلقوا صورًا لطعام مزيف تم جمعها في بيئة معملية. إضافة تعليقات توضيحية إلى كل صورة غذائية يدويًا على مستوى البكسل.
يجب أن يحتوي كل بكسل في الصورة على معلومات حول أي فئة طعام تنتمي إليها. لاحظ أن هناك العديد من الأدوات لتحقيق ذلك. استخدم مؤلفو هذه المقالة تعليقات مقطع جافا سكريبت.
نتيجة هذه الخطوة هي صورة توضيحية واحدة لكل صورة من مجموعة بيانات صور الطعام، حيث يمثل كل بكسل أحد فئات الطعام. تنفيذ نفس الخطوات كما هو الحال في القسم 1.3، ولكن فقط على الصور من مجموعة التدريب الفرعية لمجموعة بيانات صورة الطعام. لاحظ أنه باستثناء الخطوة 1.3.5، يجب تنفيذ كافة خطوات زيادة البيانات على صور التعليق التوضيحي المقابلة أيضًا.
تنفيذ نفس الخطوات كما في المقطع 1.4 باستثناء الخطوة 1.4.2. بدلاً من تلك الخطوة تنفيذ الخطوات 2.3.2 و 2.3.3. لاحظ أن التدريب فرط المعلمات المستخدمة من قبل الكتاب من هذه المادة يمكن العثور عليها في الملف المتضمن في الملفات التكميلية تحت FCN-8S تسطير تسطير فرط المعلمات نقطة بروتو TXT.
نسخ ولصق نص تعريف هندسة FCN-8S في أرقام NVIDIA. أدخل أوزان طراز FCN-8S المدربة مسبقًا في أرقام NVIDIA. لاحظ أن هذه الأوزان نموذج تم تدريب مسبق على باسكال البصرية فئات الكائنات مجموعة البيانات ويمكن العثور على الإنترنت.
قم بتنزيل مجموعة بيانات صورة الطعام من موقع تحدي التعرف على الغذاء. تنفيذ الخطوات 1.3.1 إلى 1.3.4. لاحظ أن البرنامج النصي Python يحتوي على كافة الأوامر CLoDSA المستخدمة من قبل مؤلفي هذه المقالة يمكن العثور عليها في الملف المتضمن في الملفات التكميلية ضمن FRC زيادة نقطة زيادة pi.
إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الغذاء عن طريق إضافة طمس غاوسية إليها ، وذلك باستخدام مكتبة CLoDSA. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق توضيح ذلك، وذلك باستخدام مكتبة CLoDSA. إنشاء نسخة جديدة من كل صورة من مجموعة بيانات صورة الطعام عن طريق تطبيق تصحيح غاما عليه، وذلك باستخدام مكتبة CLoDSA.
حفظ الصور من الخطوات 3.2.1 إلى 3.2.4 جنبا إلى جنب مع الصور الأصلية في مجموعة بيانات جديدة صورة الغذاء. في المجموع، ثمانية متغيرات لكل صورة الغذاء. حفظ الصور من الخطوات 3.2.2 إلى 3.2.4 جنبا إلى جنب مع الصور الأصلية في مجموعة بيانات جديدة صورة الغذاء.
في المجموع، أربعة متغيرات لكل صورة الغذاء. تعديل تعريف هندسة HTC ResNet 101 الموجودة من مكتبة الكشف MM بحيث تقبل مجموعات بيانات الصورة الغذائية من الخطوات 3.1.1 و 3.2.5 و 3.2.6. اختياريًا، قم بتعديل تعريف بنية HTC ResNet 101 من الخطوة 3.3.1 لتعريف معلمات فرط التدريب أو استخدام القيم الافتراضية.
لاحظ أنه يمكن العثور على تعريف بنية HTC ResNet 101 المعدلة في الملفات التكميلية ضمن HTC تسطير سفلية ResNet 101 نقطة pi. تشغيل التدريب من طراز HTC ResNet 101 على مجموعات بيانات صورة الطعام من الخطوة 3.1.1 باستخدام مكتبة الكشف MM. بعد اكتمال التدريب من الخطوة 3.3.3 ، خذ أفضل أداء HTC ResNet 101 نموذج التكرار وصقله عن طريق تشغيل المرحلة التالية من التدريب على مجموعة بيانات صورة الغذاء من الخطوة 3.2.5.
لاحظ أن هناك عدة طرق لتحديد أفضل أداء نموذج التكرار. راجع نصوص المقالة لمزيد من التفاصيل. وهذا أمر ذو صلة بالخطوات التالية أيضاً.
بعد اكتمال التدريب من الخطوة 3.3.4 ، خذ أفضل أداء HTC ResNet 101 نموذج التكرار وصقله عن طريق تشغيل المرحلة التالية من التدريب على مجموعة بيانات صورة الغذاء من الخطوة 3.2.6. بعد اكتمال التدريب من الخطوة 3.3.5 ، خذ أفضل أداء HTC ResNet 101 نموذج التكرار وصقله من خلال تشغيل مرة أخرى المرحلة التالية من التدريب على مجموعة بيانات صورة الغذاء من الخطوة 3.2.5. بعد اكتمال التدريب من الخطوة 3.3.6، خذ أفضل أداء HTC ResNet 101 تكرار نموذج.
ثم يتم استخدام هذا النموذج لاختبار أداء هذا الأسلوب. لاحظ أن الخطوات 3.3.3 إلى 3.3.7 حققت أفضل النتائج للأغراض التي تم تعريفها من قبل مؤلفي هذه المقالة. ويتعين إجراء تجارب لكل مجموعة بيانات للعثور على التسلسل الأمثل للتدريب وخطوات زيادة البيانات.
بعد اختبار نموذج الاتجاه NutriNet حققت دقة تصنيف 86.72٪ على مجموعة بيانات الاعتراف، والتي كانت أعلى من 2٪ من AlexNet وأعلى قليلا من GoogLeNet، والتي كانت شعبية العمارات الشبكة العصبية العميقة في ذلك الوقت. لقياس دقة نموذج تجزئة صورة الطعام المزيف FCN-8S، تم استخدام مقياس دقة البكسل. وكانت دقة نموذج FCN-8S المدربين 92.18٪ تم تقييم الحل القائم على ResNet لتجزئة صورة الطعام باستخدام المقياس الدقيق المحدد في تحدي التعرف على الأغذية.
باستخدام هذا المقياس حقق نموذج القطار دقة متوسطة قدرها 59.2٪ والتي احتلت المرتبة الثانية في تحدي التعرف على الأغذية. في السنوات الأخيرة، تم التحقق من الشبكات العصبية العميقة عدة مرات كحل مناسب للاعتراف بصور الطعام. وعملنا المعروض في هذه المقالة يفيد في زيادة إثبات ذلك.
نهج التعرف على صورة الأغذية الناتجة الواحدة هو واضح ويمكن استخدامه لتطبيقات بسيطة. في حين أن نهج تجزئة صورة الطعام يتطلب المزيد من العمل في إعداد الصور المشروحة ، ولكنه أكثر قابلية للتطبيق على صور العالم الحقيقي. وفي المستقبل، سيكون هدفنا هو مواصلة تقييم الإجراءات المتقدمة بشأن صور العالم الحقيقي.
وقد تم توفير الخطوة الأولى نحو التحقق من الصحة في العالم الحقيقي من خلال تحدي التعرف على الأغذية، الذي تضمن مجموعة بيانات من صور الغذاء الحقيقية في العالم. ولكن، لا بد من القيام بمزيد من العمل للتحقق من صحة هذا النهج بشأن الصور الغذائية من جميع أنحاء العالم وبالتعاون مع أخصائيي التغذية.