Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Engineering

छवि आधारित आहार मूल्यांकन के लिए गहरी तंत्रिका नेटवर्क

Published: March 13, 2021 doi: 10.3791/61906

Summary

इस लेख में प्रस्तुत काम का लक्ष्य मोबाइल उपकरणों द्वारा ली गई छवियों से खाद्य और पेय पदार्थों की स्वचालित मान्यता के लिए प्रौद्योगिकी विकसित करना है। प्रौद्योगिकी में दो अलग-अलग दृष्टिकोण शामिल हैं - पहला खाद्य छवि मान्यता करता है जबकि दूसरा खाद्य छवि विभाजन करता है।

Abstract

मैन्युअल आहार मूल्यांकन दृष्टिकोणों से जुड़े मुद्दों और लागतों के कारण, काम को कम करने और गति देने और इसकी गुणवत्ता बढ़ाने के लिए स्वचालित समाधानों की आवश्यकता होती है। आज, स्वचालित समाधान एक व्यक्ति के आहार का सेवन बहुत सरल तरीके से रिकॉर्ड करने में सक्षम हैं, जैसे कि स्मार्टफोन कैमरे के साथ एक छवि लेना। इस लेख में, हम आहार मूल्यांकन के लिए इस तरह के छवि आधारित दृष्टिकोण पर ध्यान केंद्रित करेंगे । खाद्य छवि मान्यता समस्या के लिए, गहरे तंत्रिका नेटवर्क ने हाल के वर्षों में कला की स्थिति हासिल की है, और हम इस क्षेत्र में अपना काम पेश करते हैं। विशेष रूप से, हम पहली बार एक गहरे तंत्रिका नेटवर्क वास्तुकला का उपयोग करके खाद्य और पेय छवि मान्यता के लिए विधि का वर्णन करते हैं, जिसे न्यूट्रीनेट कहा जाता है। यह विधि, गहरे सीखने-आधारित खाद्य छवि मान्यता के शुरुआती दिनों में किए गए अधिकांश शोध की तरह, प्रति छवि एक उत्पादन तक सीमित है, और इसलिए कई खाद्य या पेय पदार्थों वाली छवियों के लिए अनुपयुक्त है। यही कारण है कि खाद्य छवि विभाजन करने वाले दृष्टिकोण काफी अधिक मजबूत होते हैं, क्योंकि वे छवि में किसी भी संख्या में खाद्य या पेय पदार्थों की पहचान करने में सक्षम होते हैं। इसलिए हम खाद्य छवि विभाजन के लिए दो तरीके भी पेश करते हैं - एक पूरी तरह से कन्वोल्युशनल नेटवर्क (एफसीएन) पर आधारित है, और दूसरा गहरे अवशिष्ट नेटवर्क (ResNet) पर।

Introduction

आहार मूल्यांकन एक व्यक्ति के आहार के कार्रवाई योग्य क्षेत्रों का निर्धारण करने में एक महत्वपूर्ण कदम है। हालांकि, पारंपरिक रूप से मैनुअल दृष्टिकोण का उपयोग करके आहार मूल्यांकन करना काफी लागतों से जुड़ा हुआ है। ये दृष्टिकोण त्रुटियों से भी ग्रस्त होते हैं क्योंकि वे अक्सर व्यक्ति द्वारा आत्म-रिपोर्टिंग पर भरोसा करते हैं। स्वचालित आहार मूल्यांकन भोजन के सेवन की मात्रा निर्धारित करने और अर्हता प्राप्त करने के लिए एक सरल तरीका प्रदान करके इन मुद्दों को संबोधित करता है। इस तरह के दृष्टिकोण से मैनुअल दृष्टिकोणों में मौजूद कुछ त्रुटियों को भी कम किया जा सकता है, जैसे छूटे हुए भोजन, भोजन की मात्रा का सही आकलन करने में असमर्थता आदि। इसलिए, विभिन्न खाद्य पदार्थों और पेय पदार्थों की पहचान करने वाले समाधानों को विकसित करके आहार मूल्यांकन को स्वचालित करने के लिए स्पष्ट लाभ हैं और भोजन के सेवन की मात्रा निर्धारित करते हैं1। इन समाधानों का उपयोग खाद्य और पेय पदार्थों (अब से 'खाद्य वस्तुओं' के पोषण मूल्यों का अनुमान लगाने में सक्षम बनाने के लिए भी किया जा सकता है।) नतीजतन, स्वचालित आहार मूल्यांकन कई अनुप्रयोगों के लिए उपयोगी है - कड़ाई से चिकित्सा उपयोगों से, जैसे आहार विशेषज्ञों को सामान्य आबादी पर लक्षित अच्छी तरह से किए गए ऐप्स के अंदर उपयोग करने के लिए अधिक आसानी से और सटीक रूप से ट्रैक करने और उनके रोगियों के आहार का विश्लेषण करने की अनुमति देना।

स्वचालित रूप से छवियों से खाद्य पदार्थों को पहचानने एक चुनौतीपूर्ण कंप्यूटर दृष्टि समस्या है । यह खाद्य पदार्थों के आम तौर पर विकृत वस्तुओं के कारण होता है, और इस तथ्य के कारण कि इसकी तैयारी के दौरान बड़ी मात्रा में खाद्य पदार्थ की दृश्य जानकारी खो सकती है। इसके अतिरिक्त, विभिन्न खाद्य पदार्थ एक दूसरे के समान दिखाई दे सकते हैं, और एक ही भोजन कई छवियों पर काफी अलग दिखाई दे सकता है2। इसके अलावा, मान्यता सटीकता कई और कारकों पर निर्भर करती है, जैसे कि छवि की गुणवत्ता, चाहे खाद्य पदार्थ किसी अन्य आइटम द्वारा बाधित हो, जिस दूरी से छवि ली गई थी, आदि। पेय पदार्थों को पहचानना चुनौतियों का अपना सेट प्रस्तुत करता है, मुख्य एक छवि में उपलब्ध दृश्य जानकारी की सीमित मात्रा में होता है। यह जानकारी पेय रंग, पेय कंटेनर रंग और संरचना हो सकती है, और, इष्टतम छवि स्थितियों के तहत, पेय घनत्व2।

छवियों से खाद्य पदार्थों को सफलतापूर्वक पहचानने के लिए, प्रत्येक खाद्य और पेय वर्ग की विशेषताओं को सीखना आवश्यक है। यह पारंपरिक रूप से मैन्युअल रूप सेपरिभाषित फीचर एक्सट्रैक्टर्स3,4,5, 6का उपयोग करके कियाजाता था जो विशिष्ट आइटम सुविधाओं जैसे रंग, बनावट, आकार, आदि या इन सुविधाओं के संयोजन के आधार पर मान्यता देते हैं। इन फीचर एक्सट्रैक्टर्स के उदाहरणों में मल्टीपल गिरी लर्निंग4,पेयरवाइज लोकल फीचर्स5 और बैग-ऑफ-फीचर्स मॉडल6शामिल हैं । खाद्य छवियों की जटिलता के कारण, इन दृष्टिकोणों ने ज्यादातर कम वर्गीकरण सटीकता हासिल की - 10% और 40%3,4,5केबीच। इसका कारण यह है कि मैन्युअल दृष्टिकोण पर्याप्त रूप से सटीक होने के लिए पर्याप्त मजबूत नहीं है। क्योंकि एक खाद्य पदार्थ दिखने में काफी भिन्न हो सकता है, इसलिए इन सभी विचरणों को मैन्युअल रूप से शामिल करना संभव नहीं है। उच्च वर्गीकरण सटीकता मैन्युअल रूप से परिभाषित सुविधा चिमटा के साथ प्राप्त किया जा सकता है जब या तो खाद्य वर्गों की संख्या5कम हो जाती है, या विभिन्न छवि सुविधाओं को 6 संयुक्त कियाजाताहै, इस प्रकार यह दर्शाता है कि इस समस्या के अधिक जटिल समाधानों की आवश्यकता है।

यही कारण है कि डीप लर्निंग फूड इमेज रिकग्निशन प्रॉब्लम के लिए इतनी कारगर साबित हुई । डीप लर्निंग, या डीप न्यूरल नेटवर्क, जैविक दिमाग से प्रेरित थे, और कई प्रसंस्करण परतों से बने कम्प्यूटेशनल मॉडल को इनपुट छवियों7, 8के एक सेट पर प्रशिक्षण के माध्यम से स्वचालित रूप से सुविधाओं को सीखने की अनुमतिदेताहै। इस वजह से, गहरी शिक्षा ने विभिन्न प्रकार के अनुसंधान क्षेत्रों में कला की स्थिति में काफी सुधार कियाहै,कंप्यूटर दृष्टि के साथ, और बाद में खाद्य छवि मान्यता, उनमें से एक होने के नाते2।

विशेष रूप से, गहरे जटिल तंत्रिका नेटवर्क (डीसीएनएनएस) खाद्य छवि मान्यता के लिए सबसे लोकप्रिय हैं - ये नेटवर्क जानवरों की दृश्य प्रणाली से प्रेरित हैं, जहां व्यक्तिगत न्यूरॉन्स दृश्य क्षेत्र9में ओवरलैपिंग क्षेत्रों पर प्रतिक्रिया देकर दृश्य इनपुट की समझ हासिल करने की कोशिश करते हैं। एक जटिल तंत्रिका नेटवर्क इनपुट छवि लेता है और नेटवर्क परतों में से प्रत्येक में संचालन की एक श्रृंखला करता है, जिनमें से सबसे आम जटिल, पूरी तरह से जुड़े और पूलिंग परतें हैं। कन्वोलुशनल लेयर्स में सीखने योग्य फिल्टर होते हैं जो इनपुट डेटा में कुछ सुविधाओं का जवाब देते हैं, जबकि पूरी तरह से कनेक्टेड परतें इससे उच्च स्तरीय ज्ञान हासिल करने के लिए अन्य परतों से आउटपुट डेटा की रचना करती हैं। परतों को पूल करने का लक्ष्य इनपुट डेटा2को डाउन-सैंपल करना है। डीप लर्निंग मॉडल का उपयोग करने के दो दृष्टिकोण हैं जो लोकप्रिय साबित हुए: मौजूदा गहरे तंत्रिका नेटवर्क परिभाषा10,11को लेना, जिसे इस लेख में एक गहरी सीखने की वास्तुकला के रूप में जाना जाता है, या एक नई गहरी सीखने की वास्तुकला12,13को परिभाषित करना, और इनमें से किसी एक को खाद्य छवि डेटासेट पर प्रशिक्षण देना। दोनों दृष्टिकोणों के लिए ताकत और कमजोरियां हैं - मौजूदा डीप लर्निंग आर्किटेक्चर का उपयोग करते समय, एक वास्तुकला जो अन्य समस्याओं के लिए अच्छा प्रदर्शन करती है, को वांछित समस्या के लिए चुना और ठीक-ठाक किया जा सकता है, इस प्रकार समय की बचत होती है और यह सुनिश्चित करता है कि एक मान्य वास्तुकला चुना गया है। दूसरी ओर, एक नई गहरी सीखने की वास्तुकला को परिभाषित करना अधिक समय-गहन है, लेकिन वास्तुकला के विकास की अनुमति देता है जो विशेष रूप से किसी समस्या की बारीकियों को ध्यान में रखने के लिए बनाए जाते हैं और इस प्रकार सैद्धांतिक रूप से उस समस्या के लिए बेहतर प्रदर्शन करते हैं।

इस लेख में, हम दोनों दृष्टिकोण प्रस्तुत करते हैं। खाद्य छवि मान्यता समस्या के लिए, हमने न्यूट्रीनेट2नामक एक उपन्यास डीसीएनएन आर्किटेक्चर विकसित किया, जो प्रसिद्ध एलेक्सनेट आर्किटेक्चर14का संशोधन है। एलेक्सनेट की तुलना में दो मुख्य अंतर हैं: न्यूट्रीनेट इनपुट के रूप में 512x512-पिक्सेल छवियों को स्वीकार करता है (एलेक्सनेट के लिए 256x256-पिक्सेल छवियों के विपरीत), और न्यूट्रीनेट में तंत्रिका नेटवर्क की शुरुआत में एक अतिरिक्त कॉन्वोलुशनल परत है। इन दो परिवर्तनों को यथासंभव मान्यता डेटासेट छवियों से अधिक जानकारी निकालने के लिए पेश किया गया था। उच्च-रिज़ॉल्यूशन छवियों का मतलब था कि छवियों पर अधिक जानकारी मौजूद है और अधिक जटिल परतें होने का मतलब है कि छवियों से अतिरिक्त ज्ञान निकाला जा सकता है। एलेक्सनेट के लगभग 60 मिलियन मापदंडों की तुलना में, न्यूट्रीनेट में कम पैरामीटर हैं: लगभग 33 मिलियन। यह अतिरिक्त जटिल परत2के कारण पहली पूरी तरह से जुड़ी परत पर आयामीता में अंतर के कारण है। चित्रा 1 में न्यूट्रीनेट वास्तुकला का एक चित्र शामिल है। न्यूट्रीनेट मॉडल को प्रशिक्षित करने के लिए उपयोग की जाने वाली खाद्य छवियां इंटरनेट से एकत्र की गई थीं - प्रक्रिया प्रोटोकॉल पाठ में वर्णित है।

खाद्य छवि विभाजन समस्या के लिए, हमने दो अलग-अलग मौजूदा आर्किटेक्चर का उपयोग किया: पूरी तरह से कन्वोल्यूशनल नेटवर्क (एफसीएन)15 और डीप अवशिष्ट नेटवर्क (ResNet)16,जिनमें से दोनों ने छवि विभाजन के लिए कला की स्थिति का प्रतिनिधित्व किया जब हमने उनके संबंधित खाद्य छवि विभाजन समाधान विकसित करने के लिए उनका उपयोग किया। कई एफसीएन वेरिएंट हैं जिन्हें लॉन्ग एट अल द्वारा पेश किया गया था। FCN-32s FCN की अंतिम परत द्वारा भविष्यवाणियों के आधार पर एक पिक्सेल नक्शा आउटपुट, जबकि FCN-16s संस्करण एक पहले परत द्वारा उन लोगों के साथ इन भविष्यवाणियों को जोड़ती है । FCN-8s अभी तक एक और परत की भविष्यवाणियों पर विचार करता है और इसलिए बेहतरीन अनाज है, यही वजह है कि यह खाद्य छवि मांयता के लिए उपयुक्त है पर भविष्यवाणियों बनाने में सक्षम है । एफसीएन-8एस जिसका हमने उपयोग किया था, वह पास्कल विजुअल ऑब्जेक्ट क्लासेज (पास्कल वीओसी) डेटासेट17 पर पूर्व-प्रशिक्षित था और वास्तविक भोजन के लिए उनके दृश्य समानता केकारण और पिक्सेल स्तर पर वास्तविक भोजन की एनोटेटेड छवियों की कमी के कारण भोजन प्रतिकृतियों (अब से ' नकली भोजन ') की छवियों पर प्रशिक्षित और परीक्षण किया गया था। नकली भोजन का उपयोग विभिन्न व्यवहार अध्ययनों में किया जाता है और सभी अध्ययन प्रतिभागियों से सभी व्यंजनों के लिए छवियां ली जाती हैं। क्योंकि इन छवियों के खाद्य सामग्री जाना जाता है, यह छवि डेटासेट गहरी सीखने मॉडल प्रशिक्षण के लिए उपयोगी बनाता है । प्रोटोकॉल टेक्स्ट में डेटासेट प्रोसेसिंग स्टेप्स बताए गए हैं।

ResNet आधारित समाधान खाद्य मान्यता चैलेंज (FRC)19के दायरे में विकसित किया गया था । यह एक ResNet-१०११६ रीढ़ के साथ हाइब्रिड टास्क झरना (HTC)20 विधि का उपयोग करता है । यह छवि विभाजन समस्या के लिए एक अत्याधुनिक दृष्टिकोण है जो विभिन्न फीचर चिमटा, या बैकबोन का उपयोग कर सकता है। हम अन्य बैकबोन नेटवर्क को भी मानते हैं, विशेष रूप से अन्य रेसनेट वेरिएंट जैसे रेसनेट-5016,लेकिन रेसनेट-101 इसकी गहराई और जटिल पर्याप्त तरीके से इनपुट छवियों का प्रतिनिधित्व करने की क्षमता के कारण सबसे उपयुक्त था। एचटीसी रेसनेट-101 मॉडल को प्रशिक्षण देने के लिए इस्तेमाल किया जाने वाला डेटासेट अतिरिक्त संवर्धित छवियों के साथ एफआरसी डेटासेट था। इन वृद्धि प्रोटोकॉल पाठ में प्रस्तुत कर रहे हैं।

यह लेख मशीन लर्निंग विशेषज्ञों के लिए एक संसाधन के रूप में जानकारी की तलाश में है जिसके बारे में गहरी सीखने वास्तुकला और डेटा वृद्धि कदम खाद्य छवि मान्यता और विभाजन की समस्याओं के लिए अच्छा प्रदर्शन करते हैं, साथ ही पोषण शोधकर्ताओं के लिए आहार मूल्यांकन में उपयोग के लिए खाद्य छवि मान्यता को स्वचालित करने के लिए हमारे दृष्टिकोण का उपयोग करना चाहते हैं। नीचे दिए गए पैराग्राफ में, खाद्य छवि मान्यता क्षेत्र से डीप लर्निंग समाधान और डेटासेट प्रस्तुत किए गए हैं। प्रोटोकॉल पाठ में, हम विस्तार कैसे तीन दृष्टिकोणों में से प्रत्येक का उपयोग गहरे तंत्रिका नेटवर्क मॉडल को प्रशिक्षित करने के लिए किया गया था जिसका उपयोग स्वचालित आहार मूल्यांकन के लिए किया जा सकता है। इसके अतिरिक्त, प्रत्येक प्रोटोकॉल अनुभाग में इस बात का विवरण होता है कि प्रशिक्षण और परीक्षण के लिए उपयोग किए जाने वाले खाद्य छवि डेटासेट कैसे प्राप्त किए गए और संसाधित किए गए थे।

DCNNs आम तौर पर खाद्य छवि मांयता और विभाजन के लिए अंय तरीकों की तुलना में काफी बेहतर परिणाम हासिल किया है, यही वजह है कि क्षेत्र में हाल के अनुसंधान के विशाल बहुमत इन नेटवर्कों पर आधारित है । कावानो एट अल ने21 मैनुअल दृष्टिकोणों को पूरक करने के लिए DCNNs का उपयोग किया और यूईसी-FOOD100 डेटासेट 22 पर72.26%की वर्गीकरण सटीकता हासिल की। क्रिस्टोडोलिडिस एट अल ने उन्हें विशेष रूप से स्वयं-अधिग्रहीत डेटासेट23पर 84.90% की उच्च सटीकता प्राप्त करने के लिए उपयोग किया। टैनो एट अल विकसित DeepFoodCam -खाद्य छवि मांयता के लिए एक स्मार्टफोन एप्लिकेशन है कि DCNNs24का उपयोग करता है । लियू एट अल एक प्रणाली है कि चीजों के एक इंटरनेट आधारित आहार मूल्यांकन DCNNs25का उपयोग कर प्रदर्शन प्रस्तुत किया । मार्टिनेल एट अल ने एक डीसीएनएन-आधारित दृष्टिकोण पेश किया जो खाद्य छवियों की बारीकियों का शोषण करता है26 और खाद्य-101 डेटासेट 27 पर 90.27% की सटीकता की सूचना दी। झोउ एट अल खाद्य डोमेन28में गहरी सीखने के समाधान की समीक्षा लेखक .

हाल ही में, झाओ एट अल मोबाइल अनुप्रयोगों में खाद्य छवि मान्यता के लिए विशेष रूप से एक नेटवर्क का प्रस्ताव29. यह दृष्टिकोण एक छोटे 'छात्र' नेटवर्क का उपयोग करता है जो एक बड़े 'शिक्षक' नेटवर्क से सीखता है। इसके साथ, वे UEC-FOOD25630 पर 84% की सटीकता और फूड-101 डेटासेट 27 पर 91.2% की सटीकता प्राप्त करने में कामयाब रहे। हाफिज एट अल एक पेय केवल छवि पहचान समाधान विकसित करने के लिए DCNNs का इस्तेमाल किया और ९८.५१%31की एक बहुत ही उच्च सटीकता की सूचना दी । शिमोडा एट अल. पिक्सेल वार एनोटेशन३२के उपयोग के बिना खाद्य छवियों में प्लेट क्षेत्रों का पता लगाने के लिए एक उपन्यास विधि का वर्णन किया । Ciocca एट अल 11 विभिन्न राज्यों (ठोस, कटा हुआ, मलाईदार पेस्ट, आदि) में 20 विभिन्न खाद्य वर्गों से खाद्य पदार्थों से युक्त एक नया डेटासेट पेश किया और प्रशिक्षण मान्यता मॉडल है कि खाद्य राज्य को पहचानने में सक्षम हैं के लिए अपने दृष्टिकोण प्रस्तुत किया, खाद्य वर्ग३३के अलावा । Knez एट अल मोबाइल उपकरणों के लिए खाद्य छवि मांयता समाधान का मूल्यांकन३४। अंत में, फर्टाडो एट अल ने एक अध्ययन किया कि मानव दृश्य प्रणाली डीसीएनएनएस के प्रदर्शन की तुलना कैसे करती है और पाया कि मानव मान्यता अभी भी 80% बनाम 74.5%35की सटीकता के साथ डीसीएनएन को मात देती है। लेखकों ने कहा कि खाद्य वर्गों की एक छोटी संख्या के साथ, DCNNs अच्छा प्रदर्शन करते हैं, लेकिन सैकड़ों वर्गों के साथ एक डेटासेट पर, मानव मान्यता सटीकता35अधिक है, जो समस्या की जटिलता को उजागर करता है।

इसके अत्याधुनिक परिणामों के बावजूद, डीप लर्निंग में एक बड़ी खामी है - मॉडल को प्रशिक्षित करने के लिए एक बड़े इनपुट डेटासेट की आवश्यकता होती है। खाद्य छवि मान्यता के मामले में, एक बड़े खाद्य छवि डेटासेट की आवश्यकता होती है, और इस डेटासेट को यथासंभव कई अलग-अलग वास्तविक दुनिया परिदृश्यों को शामिल करने की आवश्यकता होती है। व्यवहार में इसका मतलब यह है कि प्रत्येक व्यक्ति के भोजन या पेय पदार्थ के लिए, छवियों का एक बड़ा संग्रह आवश्यक है, और डेटासेट में मौजूद होने की आवश्यकता के रूप में कई अलग-अलग वस्तुओं की आवश्यकता होती है। यदि डेटासेट में किसी विशिष्ट आइटम के लिए पर्याप्त छवियां नहीं हैं, तो उस आइटम को सफलतापूर्वक पहचाने जाने की संभावना नहीं है। दूसरी ओर, यदि केवल कम संख्या में वस्तुएं डेटासेट द्वारा कवर की जाती हैं, तो समाधान दायरे में सीमित होगा, और केवल मुट्ठी भर विभिन्न खाद्य पदार्थों और पेय पदार्थों को पहचानने में सक्षम होगा।

पूर्व में कई डेटासेट उपलब्ध कराए गए थे । पिट्सबर्ग फास्ट फूड इमेज डेटासेट (PFID)3 खाद्य छवि मांयता के क्षेत्र में और अधिक अनुसंधान को प्रोत्साहित करने के लिए पेश किया गया था । इलेक्ट्रो-कम्युनिकेशंस फूड १०० विश्वविद्यालय (UEC-FOOD100)22 और इलेक्ट्रो संचार खाद्य विश्वविद्यालय २५६ (UEC-FOOD256)30 डेटासेट जापानी व्यंजन होते हैं, UEC-FOOD256 डेटासेट के मामले में कुछ अंतरराष्ट्रीय व्यंजनों के साथ विस्तारित । फूड-१०१ डेटासेट में एक वेबसाइट27से प्राप्त लोकप्रिय व्यंजन शामिल हैं । फूड-५०३६ और वीडियो रिट्रीवल ग्रुप फूड १७२ (VireoFood-१७२)३७ डेटासेट खाद्य छवियों के चीनी आधारित संग्रह हैं । मिलानो-बिकोका विश्वविद्यालय 2016 (UNIMIB2016) डेटासेट एक इतालवी कैंटीन38से खाद्य ट्रे की छवियों से बना है। Recipe1M खाना पकाने के व्यंजनों और खाद्य छवियों39का एक बड़े पैमाने पर डेटासेट है। फूड-475 डेटासेट40 पहले प्रकाशित चार खाद्य छवि डेटासेट27,30,36,37 को एक में एकत्र करता है। बीजिंग टेक्नोलॉजी एंड बिजनेस यूनिवर्सिटी फूड ६० (BTBUFood-६०) फूड डिटेक्शन४१के लिए बनी छवियों का एक डेटासेट है । हाल ही में आइसीआइएस फूड-500 डाटासेट42 विविध खाद्य चित्र उपलब्ध कराए गए थे। अन्य सार्वजनिक रूप से उपलब्ध खाद्य छवि डेटासेट की तुलना में, इसमें बड़ी संख्या में छवियां शामिल हैं, जिन्हें 500 खाद्य कक्षाओं में विभाजित किया गया है, और मल्टीमीडिया खाद्य मान्यता समाधान42के विकास को आगे बढ़ाने के लिए है।

Protocol

1. न्यूट्रीनेट के साथ खाद्य छवि मान्यता

  1. खाद्य छवि डेटासेट प्राप्त करना
    1. विभिन्न खाद्य पदार्थों और पेय पदार्थों की एक सूची इकट्ठा करें जो खाद्य छवि मान्यता मॉडल के आउटफिट्स होंगे। लोकप्रिय खाद्य पदार्थों और पेय पदार्थों की एक विविध सूची पसंद की जाती है, क्योंकि यह एक मजबूत खाद्य छवि मान्यता मॉडल के प्रशिक्षण की अनुमति देगा।
    2. एक टेक्स्ट फाइल (जैसे, 'txt' या 'csv' में खाद्य और पेय सूची को सहेजें)।
      नोट: इस लेख के लेखकों द्वारा उपयोग की जाने वाली टेक्स्ट फ़ाइल पूरक फ़ाइलों ('food_items.txt') में पाई जा सकती है और इसमें 520 स्लोवेनियाई खाद्य पदार्थों की सूची शामिल है।
    3. एक पायथन43 स्क्रिप्ट लिखें या डाउनलोड करें जो सूची से प्रत्येक खाद्य पदार्थ की छवियों को डाउनलोड करने के लिए Google कस्टम सर्च एपीआई44 का उपयोग करता है और उन्हें प्रत्येक खाद्य पदार्थ के लिए एक अलग फ़ोल्डर में बचाता है।
      नोट: इस लेख के लेखकों द्वारा उपयोग की जाने वाली पायथन स्क्रिप्ट पूरक फ़ाइलों (''download_images.py') में पाई जा सकती है। यदि इस स्क्रिप्ट का उपयोग किया जाता है, तो डेवलपर कुंजी (चर 'डेवलपरकी', पाइथन स्क्रिप्ट कोड में लाइन 8) और कस्टम सर्च इंजन आईडी (वेरिएबल 'सीएक्स', पाइथन स्क्रिप्ट कोड में लाइन 28) को Google खाते के उपयोग किए जाने के लिए विशिष्ट मूल्यों के साथ प्रतिस्थापित किया जाना चाहिए।
    4. स्टेप 1.1.3 से अजगर स्क्रिप्ट चलाएं (उदाहरण के लिए, आदेश के साथ: 'अजगर download_images.py')।
  2. (वैकल्पिक) खाद्य छवि डेटासेट की सफाई
    1. एक खाद्य छवि का पता लगाने मॉडल को उसी तरह प्रशिक्षित करें जैसे धारा 1.4 में, केवल दो आउटपुट (भोजन, गैर-भोजन) का उपयोग करने के अलावा, चरण 1.1.1 से आउटपुट की सूची के विपरीत।
      नोट: इस लेख के लेखकों ने खाद्य छवि का पता लगाने मॉडल को प्रशिक्षित करने के लिए नुस्खा वेबसाइटों और इमेजनेट डेटासेट45 से संयुक्त छवियों का उपयोग किया। चूंकि यहां ध्यान खाद्य छवि मान्यता पर है और यह मान्यता डेटासेट की सफाई के लिए एक वैकल्पिक कदम है, इसलिए अधिक जानकारी छोड़ दी जाती है। इसके बजाय, इस दृष्टिकोण के बारे में अधिक जानकारी Mezgec एट अल2में पाया जा सकता है ।
    2. स्टेप 1.1.4 का परिणाम है कि खाद्य छवि डेटासेट पर कदम 1.2.1 से पता लगाने मॉडल चलाएं।
    3. चरण 1.2.1 से डिटेक्शन मॉडल द्वारा गैर-भोजन के रूप में टैग की गई हर छवि को हटा दें।
    4. मैन्युअल रूप से अन्य गलत या कम गुणवत्ता वाली छवियों के लिए और छवि डुप्लिकेट के लिए खाद्य छवि डेटासेट की जांच करें।
    5. चरण 1.2.4 में पाए गए चित्रों को हटाएं।
  3. खाद्य छवि डेटासेट को बढ़ाना
    1. CLoDSA पुस्तकालय46 (शामिल पायथन स्क्रिप्ट में 19 से 21 लाइनों) का उपयोग करके इसे 90 डिग्री तक घुमाकर खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
      नोट: इस लेख के लेखकों द्वारा उपयोग किए जाने वाले सभी CLoDSA आदेशों वाली पायथन स्क्रिप्ट पूरक फ़ाइलों (''nutrinet_augmentation.py') में शामिल फ़ाइल में पाई जा सकती है। यदि इस स्क्रिप्ट का उपयोग किया जाता है, तो इनपुट पाथ (वेरिएबल 'INPUT_PATH', पाइथन स्क्रिप्ट कोड में लाइन 8) और आउटपुट पाथ (वेरिएबल 'OUTPUT_PATH', पाइथन स्क्रिप्ट कोड में लाइन 11) को वांछित फ़ोल्डर्स के रास्तों के साथ प्रतिस्थापित करने की आवश्यकता है।
    2. CLoDSA पुस्तकालय (शामिल अजगर स्क्रिप्ट में 19 से 21 लाइनों) का उपयोग करके इसे 180 ° द्वारा घुमाकर खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    3. CLoDSA पुस्तकालय (शामिल अजगर स्क्रिप्ट में 19 से 21 लाइनों) का उपयोग करके इसे 270 ° द्वारा घुमाकर खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    4. सीएलओडीएसए लाइब्रेरी (शामिल पायथन स्क्रिप्ट में लाइन23 और 24) का उपयोग करके इसे क्षैतिज रूप से फ्लिप करके खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    5. CLoDSA पुस्तकालय (शामिल पायथन स्क्रिप्ट में लाइन26 और 27) का उपयोग करके यादृच्छिक रंग शोर जोड़कर खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    6. CLoDSA पुस्तकालय (लाइनों 29 और 30 शामिल अजगर स्क्रिप्ट) का उपयोग कर 25% तक इसे ज़ूम करके खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    7. चरण 1.3.1-1.3.6 से छवियों को सहेजें, मूल छवियों के साथ (शामिल पायथन स्क्रिप्ट में लाइनें 16 और 17), एक नए खाद्य छवि डेटासेट में (कुल में, प्रति खाद्य छवि 7 वेरिएंट)। यह शामिल पायथन स्क्रिप्ट के लाइन 32 में कमांड को निष्पादित करके किया जाता है।
  4. खाद्य छवि मान्यता प्रदर्शन
    1. एनवीडिया डिजिट्स एनवायरमेंट47में स्टेप 1.3.7 से फूड इमेज डेटासेट आयात करें, डेटासेट को एनवीडिया डिजिट्स यूजर इंटरफेस में ट्रेनिंग, वेरीफिकेशन और टेस्टिंग सबसेट में बांटें।
    2. एक कस्टम नेटवर्क के रूप में एनवीडिया अंकों में न्यूट्रीनेट आर्किटेक्चर2 की परिभाषा पाठ को कॉपी और पेस्ट करें।
      नोट: न्यूट्रीनेट आर्किटेक्चर परिभाषा पाठ पूरक फ़ाइलों ('न्यूट्रीनेट.प्रोटोटेक्स) में पाया जा सकता है।
    3. (वैकल्पिक) एनवीडिया डिजिट यूजर इंटरफेस में प्रशिक्षण हाइपरपैरामीटर को परिभाषित करें।
      नोट: हाइपरपैरामीटर ऐसे पैरामीटर हैं जिनका उपयोग शुरू होने से पहले प्रशिक्षण प्रक्रिया को परिभाषित करने के लिए किया जाता है। इस लेख के लेखकों द्वारा उपयोग किए जाने वाले हाइपरपैरामीटर पूरक फ़ाइलों (''nutrinet_hyperparameters प्रोटोटेक्स' में शामिल फ़ाइल में पाए जा सकते हैं।) हालांकि इष्टतम हाइपरपैरामीटर खोजने के लिए प्रत्येक डेटासेट के लिए प्रयोग की आवश्यकता होती है, फ़ाइल में एक हाइपरपैरामीटर कॉन्फ़िगरेशन होता है जिसे एनवीडिया डिजिट्स यूजर इंटरफेस में कॉपी किया जा सकता है। इसके अलावा, एनवीडिया अंक डिफ़ॉल्ट मूल्यों के साथ हाइपरपैरामीटर को पॉप्युलेट करते हैं जिन्हें बेसलाइन के रूप में इस्तेमाल किया जा सकता है। इसलिए यह कदम वैकल्पिक है ।
    4. न्यूट्रीनेट मॉडल की ट्रेनिंग चलाते हैं।
    5. प्रशिक्षण पूरा होने के बाद, सबसे अच्छा प्रदर्शन करने वाले न्यूट्रीनेट मॉडल पुनरावृत्ति लें। इसके बाद इस मॉडल का उपयोग इस दृष्टिकोण के प्रदर्शन का परीक्षण करने के लिए किया जाता है।
      नोट: सबसे अच्छा प्रदर्शन करने वाले मॉडल पुनरावृत्ति को निर्धारित करने के कई तरीके हैं। ऐसा करने का सीधा तरीका इस प्रकार है। एनवीडिया अंक प्रत्येक प्रशिक्षण युग के लिए सटीकता उपायों का ग्राफ आउटपुट करते हैं। चेक करें कि किस युग ने खाद्य छवि डेटासेट के सत्यापन सबसेट के लिए सबसे कम नुकसान मूल्य हासिल किया - उस मॉडल पुनरावृत्ति को सबसे अच्छा प्रदर्शन माना जा सकता है। सबसे अच्छा प्रदर्शन करने वाले मॉडल पुनरावृत्ति का निर्धारण करने में एक वैकल्पिक कदम यह देखना है कि प्रशिक्षण सबसेट के लिए हानि मूल्य युग से युग में कैसे बदलता है और यदि यह लगातार छोड़ना शुरू करता है, जबकि सत्यापन सबसेट के लिए हानि मूल्य समान रहता है या लगातार बढ़ता है, तो प्रशिक्षण हानि मूल्य में इस गिरावट से पहले युग लें, क्योंकि यह संकेत दे सकता है कि मॉडल प्रशिक्षण छवियों पर ओवरफिटिंग शुरू कर दें।

2. एफसीएन के साथ खाद्य छवि विभाजन

  1. नकली खाद्य छवि डेटासेट प्राप्त करना
    1. नकली भोजन छवियों का एक डेटासेट प्राप्त करें। नकली खाद्य छवियों को खाद्य प्रतिकृतियों का उपयोग कर व्यवहार अध्ययन का आयोजन शोधकर्ताओं द्वारा इकट्ठा कर रहे हैं ।
      नोट: इस लेख के लेखकों नकली भोजन है कि एक प्रयोगशाला वातावरण में एकत्र किए गए थे की छवियों को प्राप्त18
    2. मैन्युअल रूप से पिक्सेल स्तर पर हर खाद्य छवि को एनोटेट करें - छवि में प्रत्येक पिक्सेल में यह जानकारी होनी चाहिए कि यह किस खाद्य वर्ग से संबंधित है। इस चरण का परिणाम खाद्य छवि डेटासेट से प्रत्येक छवि के लिए एक एनोटेशन छवि है, जहां प्रत्येक पिक्सेल खाद्य कक्षाओं में से एक का प्रतिनिधित्व करता है।
      नोट: इसे प्राप्त करने के लिए कई उपकरण हैं - इस लेख के लेखकों ने जावास्क्रिप्ट सेगमेंट एनोटेटर48का उपयोग किया।
  2. नकली खाद्य छवि डेटासेट को बढ़ाने
    1. धारा 1.3 के समान चरणों का प्रदर्शन करें, लेकिन केवल खाद्य छवि डेटासेट के प्रशिक्षण सबसेट से छवियों पर।
      नोट: चरण 1.3.5 के अपवाद के साथ, सभी डेटा वृद्धि चरणों को संबंधित एनोटेशन छवियों पर भी किए जाने की आवश्यकता है। यदि धारा 1.3 से स्क्रिप्ट का उपयोग किया जाता है, तो इनपुट पाथ (वेरिएबल 'INPUT_PATH', पाइथन43 स्क्रिप्ट कोड में लाइन 8) और आउटपुट पाथ (वेरिएबल 'OUTPUT_PATH', पाइथन स्क्रिप्ट कोड में लाइन 11) को वांछित फ़ोल्डरों के रास्तों के साथ प्रतिस्थापित करने की आवश्यकता है। इसके अलावा, समस्या (चर 'समस्या', पाइथन स्क्रिप्ट कोड में लाइन 6) को 'instance_segmentation' और एनोटेशन मोड (वेरिएबल 'ANNOTATION_MODE', पाइथन स्क्रिप्ट कोड में लाइन 7) और आउटपुट मोड (वेरिएबल 'OUTPUT_MODE', स्क्रिप्ट पायथन कोड में लाइन 10) को 'कोको' में सेट करें।
  3. नकली खाद्य छवि विभाजन प्रदर्शन
    1. चरण 1.4.2 के अपवाद के साथ धारा 1.4 के समान चरणों को करें। उस चरण के स्थान पर, चरण 2.3.2 और 2.3.3 करें।
      नोट: हाइपरपैरामीटर ऐसे पैरामीटर हैं जिनका उपयोग शुरू होने से पहले प्रशिक्षण प्रक्रिया को परिभाषित करने के लिए किया जाता है। वैकल्पिक चरण 1.4.3 के लिए इस लेख के लेखकों द्वारा उपयोग किए जाने वाले प्रशिक्षण हाइपरपैरामीटर पूरक फ़ाइलों ('एफसीएन-8s_hyperparameters.प्रोटोटेक्स' में शामिल फ़ाइल में पाए जा सकते हैं। हालांकि हाइपरपैरामीटर के इष्टतम सेट को खोजने के लिए प्रत्येक डेटासेट के लिए प्रयोग की आवश्यकता होती है, फ़ाइल में एक हाइपरपैरामीटर कॉन्फ़िगरेशन होता है जिसे एनवीडिया डिजिट47 यूजर इंटरफेस में कॉपी किया जा सकता है। इसके अलावा, एनवीडिया अंक डिफ़ॉल्ट मूल्यों के साथ हाइपरपैरामीटर को पॉप्युलेट करते हैं जिन्हें बेसलाइन के रूप में इस्तेमाल किया जा सकता है।
    2. एफसीएन-8एस आर्किटेक्चर15 के परिभाषा पाठ को कस्टम नेटवर्क के रूप में एनवीडिया अंकों के वातावरण में कॉपी और पेस्ट करें।
      नोट: एफसीएन-8एस आर्किटेक्चर परिभाषा पाठ गिटहब49पर सार्वजनिक रूप से उपलब्ध है।
    3. एनवीडिया डिजिट यूजर इंटरफेस में पूर्व प्रशिक्षित एफसीएन-8एस मॉडल वजन के लिए पथ दर्ज करें।
      नोट: ये मॉडल वजन पास्कल वीओसी डेटासेट17 पर पूर्व-प्रशिक्षित थे और इंटरनेट49पर पाए जा सकते हैं।

3. एचटीसी रेसनेट के साथ खाद्य छवि विभाजन

  1. खाद्य छवि डेटासेट प्राप्त करना
    1. एफआरसी वेबसाइट19से फूड इमेज डेटासेट डाउनलोड करें ।
  2. खाद्य छवि डेटासेट को बढ़ाना
    1. चरण 1.3.1-1.3.4 करें।
      नोट: इस लेख के लेखकों द्वारा उपयोग किए जाने वाले सभी CLoDSA46 आदेशों वाली पायथन43 स्क्रिप्ट पूरक फ़ाइलों ('frc_augmentation.py) में शामिल फ़ाइल में पाई जा सकती है। यदि इस स्क्रिप्ट का उपयोग किया जाता है, तो इनपुट पाथ (वेरिएबल 'INPUT_PATH', पाइथन स्क्रिप्ट कोड में लाइन 8) और आउटपुट पाथ (वेरिएबल 'OUTPUT_PATH', पाइथन स्क्रिप्ट कोड में लाइन 11) को वांछित फ़ोल्डर्स के रास्तों के साथ प्रतिस्थापित करने की आवश्यकता है।
    2. CLoDSA पुस्तकालय (शामिल अजगर स्क्रिप्ट में लाइनें 26 और 27) का उपयोग करके गॉसियन धुंधला जोड़कर खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    3. CLoDSA पुस्तकालय (शामिल पायथन स्क्रिप्ट में लाइन29 और 30) का उपयोग करके इसे तेज करके खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    4. CLoDSA पुस्तकालय (लाइनों 32 और 33 शामिल अजगर स्क्रिप्ट) का उपयोग कर इसे करने के लिए गामा सुधार लागू करके खाद्य छवि डेटासेट से प्रत्येक छवि का एक नया संस्करण बनाएं।
    5. चरण 3.2.1-3.2.4 से छवियों को सहेजें, मूल छवियों (लाइनों 16 और 17 शामिल पायथन स्क्रिप्ट में), एक नए खाद्य छवि डेटासेट में (कुल में, प्रति खाद्य छवि 8 वेरिएंट)। यह शामिल पायथन स्क्रिप्ट के लाइन 35 में कमांड को निष्पादित करके किया जाता है।
    6. चरण 3.2.2-3.2.4 से छवियों को सहेजें, मूल छवियों (लाइनों 16 और 17 शामिल पायथन स्क्रिप्ट में), एक नए खाद्य छवि डेटासेट में (कुल में, 4 वेरिएंट प्रति खाद्य छवि)। यह शामिल पायथन स्क्रिप्ट की 19 से 24 लाइनों को हटाकर और लाइन 35 में कमांड निष्पादित करके किया जाता है।
  3. खाद्य छवि विभाजन प्रदर्शन
    1. मौजूदा HTC20 ResNet-101 आर्किटेक्चर16 परिभाषा को एमएमडेटेक्शन लाइब्रेरी50 से सेक्शन 'मॉडल सेटिंग्स' और आर्किटेक्चर डेफिनेशन फाइल के 'डेटासेट सेटिंग्स' में संशोधित करें ताकि यह 3.1.1, 3.2.5 और 3.2.6 चरणों से खाद्य छवि डेटासेट को स्वीकार कर सके।
    2. (वैकल्पिक) प्रशिक्षण हाइपरपैरामीटर को परिभाषित करने के लिए चरण 3.3.1 से एचटीसी रेसनेट-101 आर्किटेक्चर परिभाषा को संशोधित करें: सेक्शन 'डेटासेट सेटिंग्स', सेक्शन 'डेटासेट सेटिंग्स' में बैच आकार, सेक्शन 'ऑप्टिमाइज़र' में सॉल्वर प्रकार और सीखने की दर, सेक्शन 'लर्निंग पॉलिसी' में सीखने की नीति और आर्किटेक्चर परिभाषा फ़ाइल के सेक्शन 'रनटाइम सेटिंग्स' में प्रशिक्षण युगों की संख्या।
      नोट: संशोधित HTC ResNet-101 वास्तुकला परिभाषा फ़ाइल पूरक फ़ाइलों (''htc_resnet 101.py') में पाया जा सकता है। हाइपरपैरामीटर पैरामीटर हैं जिनका उपयोग प्रशिक्षण प्रक्रिया को शुरू करने से पहले परिभाषित करने के लिए किया जाता है। हालांकि हाइपरपैरामीटर के इष्टतम सेट को खोजने के लिए प्रत्येक डेटासेट के लिए प्रयोग की आवश्यकता होती है, फ़ाइल में पहले से ही एक हाइपरपैरामीटर विन्यास होता है जिसका उपयोग बिना संशोधन के किया जा सकता है। इसलिए यह कदम वैकल्पिक है ।
    3. एमएमडेटेक्शन लाइब्रेरी (उदाहरण के साथ, कमांड के साथ: 'पायथन एमएमडेटेक्शन/टूल/ट्रेन.py htc_resnet-101.py') का उपयोग करके स्टेप 3.1.1 से खाद्य छवि डेटासेट पर एचटीसी रेसनेट-101 मॉडल का प्रशिक्षण चलाएं।
    4. चरण 3.3.3 से प्रशिक्षण पूरा होने के बाद, सबसे अच्छा प्रदर्शन करने वाले एचटीसी रेसनेट-101 मॉडल पुनरावृत्ति लें और चरण 3.2.5 से खाद्य छवि डेटासेट पर प्रशिक्षण के अगले चरण को चलाकर इसे ठीक करें।
      नोट: सबसे अच्छा प्रदर्शन करने वाले मॉडल पुनरावृत्ति को निर्धारित करने के कई तरीके हैं। ऐसा करने का सीधा तरीका इस प्रकार है। एमएमडेटेक्शन लाइब्रेरी कमांड लाइन इंटरफेस में प्रत्येक प्रशिक्षण युग के लिए सटीकता उपायों के मूल्यों को आउटपुट करती है। चेक करें कि किस युग ने खाद्य छवि डेटासेट के सत्यापन सबसेट के लिए सबसे कम नुकसान मूल्य हासिल किया - उस मॉडल पुनरावृत्ति को सबसे अच्छा प्रदर्शन माना जा सकता है। सबसे अच्छा प्रदर्शन करने वाले मॉडल पुनरावृत्ति का निर्धारण करने में एक वैकल्पिक कदम यह देखना है कि प्रशिक्षण सबसेट के लिए हानि मूल्य युग से युग में कैसे बदलता है और यदि यह लगातार छोड़ना शुरू करता है, जबकि सत्यापन सबसेट के लिए हानि मूल्य समान रहता है या लगातार बढ़ता है, तो प्रशिक्षण हानि मूल्य में इस गिरावट से पहले युग लें, क्योंकि यह संकेत दे सकता है कि मॉडल प्रशिक्षण छवियों पर ओवरफिटिंग शुरू कर दें।
    5. चरण 3.3.4 से प्रशिक्षण पूरा होने के बाद, सबसे अच्छा प्रदर्शन करने वाले एचटीसी रेसनेट-101 मॉडल पुनरावृत्ति लें और चरण 3.2.6 से खाद्य छवि डेटासेट पर प्रशिक्षण के अगले चरण को चलाकर इसे ठीक करें।
      नोट: चरण 3.3.4 के लिए नोट देखें।
    6. चरण 3.3.5 से प्रशिक्षण पूरा होने के बाद, सबसे अच्छा प्रदर्शन करने वाले एचटीसी रेसनेट-101 मॉडल पुनरावृत्ति और इसे फिर से चरण 3.2.5 से खाद्य छवि डेटासेट पर प्रशिक्षण के अगले चरण को चलाकर ठीक-ठाक करें।
      नोट: चरण 3.3.4 के लिए नोट देखें।
    7. चरण 3.3.6 से प्रशिक्षण पूरा होने के बाद, सबसे अच्छा प्रदर्शन करने वाले एचटीसी रेसनेट-101 मॉडल पुनरावृत्ति लें। इसके बाद इस मॉडल का उपयोग इस दृष्टिकोण के प्रदर्शन का परीक्षण करने के लिए किया जाता है।
      नोट: चरण 3.3.4 के लिए नोट देखें। कदम 3.3.3-3.3.7 इस लेख के लेखकों द्वारा परिभाषित प्रयोजनों के लिए सबसे अच्छा परिणाम मिले । प्रशिक्षण और डेटा वृद्धि चरणों के इष्टतम अनुक्रम को खोजने के लिए प्रत्येक डेटासेट के लिए प्रयोग की आवश्यकता होती है।

Representative Results

न्यूट्रीनेट का परीक्षण उस समय के तीन लोकप्रिय डीप लर्निंग आर्किटेक्चर के खिलाफ किया गया था: एलेक्सनेट14,गूगलनेट51 और रेसनेट16। इष्टतम मूल्यों को परिभाषित करने के लिए सभी आर्किटेक्चर के लिए कई प्रशिक्षण मापदंडों का भी परीक्षण किया गया2. इनमें से सॉल्वर प्रकार का विकल्प है, जो यह निर्धारित करता है कि नुकसान फ़ंक्शन को कैसे कम किया जाता है। यह फ़ंक्शन तंत्रिका नेटवर्क के प्रशिक्षण के लिए प्राथमिक गुणवत्ता उपाय है क्योंकि यह वर्गीकरण सटीकता की तुलना में प्रशिक्षण के दौरान अनुकूलन के लिए बेहतर अनुकूल है। हमने तीन सॉल्वरों का परीक्षण किया: स्टोचस्टिक रेडिएंट वंश (एसजीडी)52,नेस्तेरोव का त्वरित ढाल (एनएजी)53 और अनुकूली ग्रेडिएंट एल्गोरिदम (एडीएग्रैड)54। दूसरा पैरामीटर बैच आकार है, जो एक ही समय में संसाधित छवियों की संख्या को परिभाषित करता है। गहरी सीखने की वास्तुकला की गहराई ने इस पैरामीटर के मूल्य को निर्धारित किया, क्योंकि गहरे आर्किटेक्चर को जीपीयू मेमोरी में अधिक स्थान की आवश्यकता होती है - इस दृष्टिकोण का परिणाम यह था कि स्मृति गहराई की परवाह किए बिना सभी आर्किटेक्चर के लिए छवियों से पूरी तरह से भर गई थी। तीसरा पैरामीटर लर्निंग रेट है, जो प्रशिक्षण के दौरान तंत्रिका नेटवर्क मापदंडों को बदलने की गति को परिभाषित करता है। यह पैरामीटर बैच आकार के साथ एक सुर में स्थापित किया गया था, क्योंकि समवर्ती संसाधित छवियों की संख्या अभिसरण दर तय करती है। एलेक्सनेट मॉडल को 256 छवियों के बैच आकार और 0.02 की आधार सीखने की दर का उपयोग करके प्रशिक्षित किया गया था; न्यूट्रीनेट ने 128 छवियों के बैच आकार और 0.01 की दर का उपयोग किया; GoogLeNet 64 छवियों और 0.005 की दर; और ResNet 16 छवियों और 0.00125 की दर। सभी आर्किटेक्चर के लिए तीन अन्य पैरामीटर तय किए गए थे: लर्निंग रेट पॉलिसी (स्टेप-डाउन), स्टेप साइज (30%) और गामा (0.1)। ये पैरामीटर संयुक्त रूप से वर्णन करते हैं कि हर युग में सीखने की दर कैसे बदल रही है। इस दृष्टिकोण के पीछे विचार यह है कि सीखने की दर धीरे से ठीक करने के लिए कम किया जा रहा है मॉडल धुन करीब यह इष्टतम नुकसान मूल्य के लिए हो जाता है । अंत में, सभी डीप लर्निंग आर्किटेक्चर2के लिए प्रशिक्षण युगों की संख्या भी 150 तक तय की गई थी।

न्यूट्रीनेट ने जो भी मापदंडों को हासिल किया, उनमें सबसे अच्छा परिणाम मान्यता डेटासेट पर 86.72% की वर्गीकरण सटीकता थी, जो एलेक्सनेट के लिए सबसे अच्छे परिणाम से लगभग 2% अधिक थी और गूगलनेट के सर्वश्रेष्ठ परिणाम से थोड़ा अधिक थी। कुल मिलाकर सबसे अच्छा प्रदर्शन करने वाला आर्किटेक्चर रेसनेट (लगभग 1%) था, हालांकि रेनेट के लिए प्रशिक्षण का समय न्यूट्रीनेट (लगभग पांच के कारक) की तुलना में काफी अधिक है, जो महत्वपूर्ण है यदि मॉडल सटीकता और पहचानने योग्य खाद्य पदार्थों की संख्या में सुधार करने के लिए लगातार प्रशिक्षित किए जाते हैं। न्यूट्रीनेट, एलेक्सनेट और गूगलनेट ने एडाग्राद सॉल्वर का उपयोग करके अपना सर्वश्रेष्ठ परिणाम हासिल किया, जबकि रेसनेट के सर्वश्रेष्ठ मॉडल ने नाग सॉल्वर का इस्तेमाल किया। न्यूट्रीनेट का सार्वजनिक रूप से उपलब्ध UNIMIB2016 फूड इमेज डेटासेट38पर भी परीक्षण किया गया था। इस डेटासेट में 73 विभिन्न खाद्य पदार्थों की 3,616 छवियां हैं। न्यूट्रीनेट ने इस डेटासेट पर 86.39% की मान्यता सटीकता हासिल की, जो डेटासेट के लेखकों के आधारभूत मान्यता परिणाम को थोड़ा बेहतर बनाता है, जो 85.80% था। इसके अतिरिक्त, न्यूट्रीनेट का परीक्षण 115 विभिन्न खाद्य और पेय वस्तुओं की 200 वास्तविक दुनिया छवियों के एक छोटे डेटासेट पर किया गया था, जहां न्यूट्रीनेट ने 55% की शीर्ष-5 सटीकता हासिल की थी।

एफसीएन-8एस नकली-खाद्य छवि विभाजन मॉडल को प्रशिक्षित करने के लिए, हमने एडम55 को सॉल्वर प्रकार के रूप में उपयोग किया, जैसा कि हमने पाया कि इस कार्य के लिए बेहतर प्रदर्शन किया। बेस लर्निंग रेट बहुत कम सेट किया गया था - 0.0001 तक। कम संख्या का कारण यह तथ्य है कि एक समय में केवल एक छवि को संसाधित किया जा सकता है, जो पिक्सेल-स्तर वर्गीकरण प्रक्रिया का परिणाम है। इस दृष्टिकोण के लिए जीपीयू मेमोरी आवश्यकताएं छवि-स्तर वर्गीकरण से काफी अधिक हैं। इस प्रकार सीखने की दर को कम सेट करना पड़ा ताकि मापदंडों को बहुत तेजी से नहीं बदला जा रहा था और कम इष्टतम मूल्यों के लिए एकाग्र हो रहा था । प्रशिक्षण युगों की संख्या १०० के लिए निर्धारित किया गया था, जबकि सीखने की दर नीति, कदम आकार और गामा को क्रमशः ३४% और ०.१, कदम नीचे सेट किया गया था, के रूप में इन मापदंडों सबसे सटीक मॉडल का उत्पादन किया ।

एफसीएन-8एस मॉडल के सटीकता माप पिक्सेल सटीकता उपाय15का उपयोग करके किए गए थे, जो पारंपरिक गहरे सीखने के नेटवर्क की वर्गीकरण सटीकता के अनुरूप है, मुख्य अंतर यह है कि सटीकता की गणना छवि स्तर के बजाय पिक्सेल स्तर पर की जाती है:

Equation 1

जहां पीए पिक्सेल सटीकता उपाय है, एनij कक्षा से पिक्सल की संख्या है मैं कक्षा जे और टीमैं = Σजे एनij से संबंधित की भविष्यवाणी की जमीन में वर्ग से पिक्सेल की कुल संख्या-सत्य लेबल1है । दूसरे शब्दों में, पिक्सेल सटीकता उपाय पिक्सल की कुल संख्या से सही ढंग से भविष्यवाणी पिक्सेल विभाजित करके गणना की है । प्रशिक्षित एफसीएन-8एस मॉडल की अंतिम सटीकता 92.18% थी। चित्रा 2 नकली-खाद्य छवि डेटासेट (प्रशिक्षण, सत्यापन और परीक्षण सबसेट में से प्रत्येक से एक) से तीन उदाहरण छवियों को दिखाता है, साथ ही इसी जमीन-सत्य और मॉडल भविष्यवाणी लेबल के साथ।

खाद्य छवि विभाजन के लिए HTC20 ResNet-101 मॉडल को प्रशिक्षित करने के मापदंडों को इस प्रकार निर्धारित किया गया था: इस्तेमाल किया जाने वाला सॉल्वर प्रकार एसजीडी था क्योंकि इसने अन्य सॉल्वर प्रकारों से बेहतर प्रदर्शन किया था। बेस लर्निंग रेट ०.००१२५ और बैच साइज को 2 इमेजेज सेट किया गया था । प्रशिक्षण युगों की संख्या प्रति प्रशिक्षण चरण 40 तक सेट की गई थी, और कई प्रशिक्षण चरणों का प्रदर्शन किया गया था - पहले संवर्धित छवियों के बिना मूल एफआरसी डेटासेट पर, फिर 8x-संवर्धित और 4x-संवर्धित एफआरसी डेटासेट पर एक बारी फैशन में कई बार, हर बार सबसे अच्छा प्रदर्शन मॉडल लेने और अगले प्रशिक्षण चरण में ठीक ट्यूनिंग। प्रशिक्षण चरणों के बारे में अधिक जानकारी प्रोटोकॉल पाठ की धारा 3.3 में पाया जा सकता है। अंत में, स्टेप-डाउन लर्निंग पॉलिसी का उपयोग किया गया था, जिसमें निश्चित युगों के लिए जब सीखने की दर में कमी आई (पहले प्रशिक्षण चरण के लिए युग 28 और 35)। ध्यान देने वाली एक महत्वपूर्ण बात यह है कि प्रशिक्षण चरणों के इस अनुक्रम ने एफआरसी के दायरे में हमारे परीक्षण में सबसे अच्छे परिणाम का उत्पादन किया, एक और डेटासेट का उपयोग करके इष्टतम परिणाम देने के लिए एक अलग अनुक्रम की आवश्यकता हो सकती है।

खाद्य छवि विभाजन के लिए इस ResNet आधारित समाधान निम्नलिखित सटीक उपाय19का उपयोग करके मूल्यांकन किया गया था:

Equation 2

जहां पी सटीक है, टीपी खाद्य छवि विभाजन मॉडल द्वारा सच्चे सकारात्मक भविष्यवाणियों की संख्या है, एफपी झूठी सकारात्मक भविष्यवाणियों की संख्या है और IoU संघ पर चौराहा है, जो इस समीकरण के साथ गणना की जाती है:

Equation 3

जहां ओवरलैप का क्षेत्र मॉडल द्वारा भविष्यवाणियों की संख्या का प्रतिनिधित्व करता है जो जमीनी सच्चाई के साथ ओवरलैप करता है, और संघ का क्षेत्र मॉडल द्वारा जमीनी सच्चाई के साथ भविष्यवाणियों की कुल संख्या का प्रतिनिधित्व करता है, दोनों पिक्सेल स्तर पर और प्रत्येक व्यक्तिगत खाद्य वर्ग के लिए। रिकॉल का उपयोग एक माध्यमिक उपाय के रूप में किया जाता है और इसकी गणना इसी तरह से की जाती है, निम्नलिखित सूत्र19का उपयोग करके:

Equation 4

जहां आर याद है और एफएन खाद्य छवि विभाजन मॉडल द्वारा झूठी नकारात्मक भविष्यवाणियों की संख्या है । सटीक और याद उपाय तो जमीनी सच्चाई में सभी वर्गों में औसत रहे हैं । इन उपायों का उपयोग करते हुए, हमारे मॉडल ने ५९.२% की औसत परिशुद्धता और ८२.१% की औसत याद हासिल की, जो खाद्य मान्यता चैलेंज19के दूसरे दौर में दूसरे स्थान पर रही । यह परिणाम पहले स्थान के पीछे ४.२% और औसत परिशुद्धता उपाय के मामले में तीसरे स्थान से ५.३% आगे था । तालिका 1 में प्रतियोगिता में शीर्ष-4 प्रतिभागियों के लिए परिणाम शामिल हैं।

Figure 1
चित्रा 1:न्यूट्रीनेट डीप न्यूरल नेटवर्क आर्किटेक्चर का आरेख। यह आंकड़ा Mezgec एट अल2में प्रकाशित किया गया है । कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Figure 2
चित्रा 2:नकली-खाद्य छवि डेटासेट से छवियां। मूल छवियां (बाएं), मैन्युअल रूप से लेबल जमीन-सत्य लेबल (मध्य) और FCN-8s मॉडल (दाएं) से भविष्यवाणियों । यह आंकड़ा Mezgec एट अल1में प्रकाशित किया गया है । कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

टीम का नाम प्लेसमेंट औसत परिशुद्धता औसत रिकॉल
आरएसएसफेट 1 63.4% 88.6%
simon_mezgec 2 59.2% 82.1%
अरिम्बॉक्स 3 53.9% 73.5%
अव्यक्तव्य 4 48.7% 71.1%

तालिका 1: खाद्य मान्यता चैलेंज के दूसरे दौर से शीर्ष-4 परिणाम। औसत परिशुद्धता प्राथमिक प्रदर्शन उपाय और एक माध्यमिक उपाय के रूप में औसत याद के रूप में लिया जाता है । परिणाम आधिकारिक प्रतियोगिता लीडरबोर्ड19से लिए जाते हैं ।

पूरक फाइलें। कृपया इस फ़ाइल को डाउनलोड करने के लिए यहां क्लिक करें ।

Discussion

हाल के वर्षों में, खाद्य छवियों 10 ,11, 12, 21, 23,25,26,29,31,33को पहचानने के लिए एक उपयुक्त समाधान के रूप में गहरे तंत्रिका नेटवर्क को कई बार मान्य किया गया है। इस लेख में प्रस्तुत हमारा कार्य इस1,2को और साबित करने का कार्य करता है । एकल-आउटपुट खाद्य छवि मान्यता दृष्टिकोण सीधा है और इसका उपयोग सरल अनुप्रयोगों के लिए किया जा सकता है जहां केवल एक खाद्य या पेय पदार्थ वाली छवियां2की उम्मीद हैं।

खाद्य छवि विभाजन दृष्टिकोण सामान्य रूप से खाद्य छवियों को पहचानने के लिए विशेष रूप से उपयुक्त लगता है, खाद्य पदार्थों की संख्या पर किसी भी प्रतिबंध के बिना1। क्योंकि यह छवि के प्रत्येक व्यक्तिगत पिक्सेल को वर्गीकृत करके काम करता है, यह न केवल छवि में खाद्य पदार्थों की किसी भी संख्या को पहचानने में सक्षम है, बल्कि यह भी निर्दिष्ट करता है कि एक खाद्य पदार्थ कहां स्थित है, साथ ही यह कितना बड़ा है। उत्तरार्द्ध का उपयोग खाद्य वजन अनुमान लगाने के लिए किया जा सकता है, खासकर यदि या तो संदर्भ वस्तु या एक निश्चित दूरी के कैमरे के साथ उपयोग किया जाता है।

खाद्य छवि डेटासेट 3,22, 27,30, 36,37,38,39,40,41,42कीउपलब्धता के संबंध में कुछ काम किया गया है, और हमें उम्मीद है कि भविष्य में और अधिक किया जाएगा, खासकर जब यह दुनिया भर के विभिन्न क्षेत्रों से खाद्य छवि डेटासेट एकत्र करने के लिए आता है, जो और अधिक मजबूत समाधान विकसित करने में सक्षम होगा। वर्तमान में, स्वचालित खाद्य छवि मान्यता समाधानों की सटीकता अभी तक मानव स्तर की सटीकता35तक नहीं पहुंची है, और अपर्याप्त आकार और गुणवत्ता के खाद्य छवि डेटासेट के उपयोग के कारण बड़े हिस्से में यह संभावना है।

भविष्य में, हमारा लक्ष्य वास्तविक दुनिया की छवियों पर विकसित प्रक्रियाओं का मूल्यांकन करना होगा। सामान्य तौर पर, इस फ़ील्ड में डेटासेट में अक्सर नियंत्रित वातावरण या छवियों में ली गई छवियां होती हैं जिन्हें मान्यता के लिए मैन्युअल रूप से अनुकूलित किया जाता था। यही कारण है कि सभी विभिन्न खाद्य और पेय वस्तुओं को शामिल करने के लिए एक बड़ी और विविध वास्तविक दुनिया खाद्य छवि डेटासेट इकट्ठा करना महत्वपूर्ण है जिसे व्यक्ति पहचानना चाहते हैं। इस दिशा में पहला कदम खाद्य मान्यता चैलेंज द्वारा प्रदान किया गया था, जिसमें वास्तविक दुनिया की खाद्य छवियों19का एक डेटासेट शामिल था, लेकिन दुनिया भर से और आहार विशेषज्ञों के सहयोग से खाद्य छवियों पर इस दृष्टिकोण को मान्य करने के लिए आगे काम करने की जरूरत है ।

Disclosures

लेखकों के पास खुलासा करने के लिए कुछ नहीं है ।

Acknowledgments

लेखक नकली-खाद्य छवि डेटासेट प्रदान करने के लिए ऑस्ट्रेलिया के न्यूकैसल विश्वविद्यालय से तमारा बुचर का शुक्रिया अदा करना चाहते हैं । इस काम को यूरोपीय संघ के क्षितिज 2020 अनुसंधान और नवाचार कार्यक्रमों (अनुदान संख्या 863059 - एफएनएस-क्लाउड, 769661 - एसएएएम) द्वारा समर्थित किया गया था; और स्लोवेनियाई अनुसंधान एजेंसी (अनुदान संख्या P2-0098) । यूरोपीय संघ और स्लोवेनियाई अनुसंधान एजेंसी के डिजाइन, विश्लेषण या इस लेख के लेखन में कोई भूमिका नहीं थी ।

Materials

Name Company Catalog Number Comments
HARDWARE
NVIDIA GPU NVIDIA N/A An NVIDIA GPU is needed as some of the software frameworks below will not work otherwise. https://www.nvidia.com
SOFTWARE
Caffe Berkeley AI Research N/A Caffe is a deep learning framework. https://caffe.berkeleyvision.org
CLoDSA Jónathan Heras N/A CLoDSA is a Python image augmentation library. https://github.com/joheras/CLoDSA
Google API Client Google N/A Google API Client is a Python client library for Google's discovery-based APIs. https://github.com/googleapis/google-api-python-client
JavaScript Segment Annotator Kota Yamaguchi N/A JavaScript Segment Annotator is a JavaScript image annotation tool. https://github.com/kyamagu/js-segment-annotator
MMDetection Multimedia Laboratory, CUHK N/A MMDetection is an object detection toolbox based on PyTorch. https://github.com/open-mmlab/mmdetection
NVIDIA DIGITS NVIDIA N/A NVIDIA DIGITS is a wrapper for Caffe that provides a graphical web interface. https://developer.nvidia.com/digits
OpenCV Intel N/A OpenCV is a library for computer vision. https://opencv.org
Python Python Software Foundation N/A Python is a programming language. https://www.python.org
PyTorch Facebook AI Research N/A PyTorch is a machine learning framework. https://pytorch.org
Ubuntu OS Canonical N/A Ubuntu 14.04 is the OS used by the authors and offers compatibility with all of the software frameworks and tools above. https://ubuntu.com

DOWNLOAD MATERIALS LIST

References

  1. Mezgec, S., Eftimov, T., Bucher, T., Koroušić Seljak, B. Mixed Deep Learning and Natural Language Processing Method for Fake-Food Image Recognition and Standardization to Help Automated Dietary Assessment. Public Health Nutrition. 22 (7), 1193-1202 (2019).
  2. Mezgec, S., Koroušić Seljak, B. NutriNet: A Deep Learning Food and Drink Image Recognition System for Dietary Assessment. Nutrients. 9 (7), 657 (2017).
  3. Chen, M., et al. PFID: Pittsburgh Fast-Food Image Dataset. Proceedings of the ICIP 2009. , 289-292 (2009).
  4. Joutou, T., Yanai, K. A Food Image Recognition System with Multiple Kernel Learning. Proceedings of the ICIP 2009. , 285-288 (2009).
  5. Yang, S., Chen, M., Pomerlau, D., Sukthankar, R. Food Recognition using Statistics of Pairwise Local Features. Proceedings of the CVPR 2010. , 2249-2256 (2010).
  6. Anthimopoulos, M. M., Gianola, L., Scarnato, L., Diem, P., Mougiakakou, S. G. A Food Recognition System for Diabetic Patients Based on an Optimized Bag-of-Features Model. IEEE Journal of Biomedical and Health Informatics. 18 (4), 1261-1271 (2014).
  7. LeCun, Y., Bengio, Y., Hinton, G. Deep Learning. Nature. 521, 436-444 (2015).
  8. Deng, L., Yu, D. Deep Learning: Methods and Applications. Foundations and Trends in Signal Processing. 7 (3-4), 197 (2014).
  9. Hubel, D. H., Wiesel, T. N. Receptive Fields, Binocular Interaction and Functional Architecture in the Cat's Visual Cortex. The Journal of Physiology. 160 (1), 106-154 (1962).
  10. Singla, A., Yuan, L., Ebrahimi, T. Food/Non-Food Image Classification and Food Categorization using Pre-Trained GoogLeNet Model. Proceedings of the MADiMa'16. , 3-11 (2016).
  11. Yanai, K., Kawano, Y. Food Image Recognition using Deep Convolutional Network with Pre-Training and Fine-Tuning. Proceedings of the ICMEW 2015. , 1-6 (2015).
  12. Liu, C., et al. DeepFood: Deep Learning-Based Food Image Recognition for Computer-Aided Dietary Assessment. Proceedings of the ICOST 2016. , 37-48 (2016).
  13. De Sousa Ribeiro, F., et al. An End-to-End Deep Neural Architecture for Optical Character Verification and Recognition in Retail Food Packaging. Proceedings of the ICIP 2018. , 2376-2380 (2018).
  14. Krizhevsky, A., Sutskever, I., Hinton, G. ImageNet Classification with Deep Convolutional Neural Networks. Proceedings of the NIPS'12. , 1097-1105 (2012).
  15. Long, J., Shelhamer, E., Darrell, T. Fully Convolutional Networks for Semantic Segmentation. Proceedings of the CVPR 2015. , 3431-3440 (2015).
  16. He, K., Zhang, X., Ren, S., Sun, J. Deep Residual Learning for Image Recognition. Proceedings of the CVPR 2016. , 770-778 (2016).
  17. PASCAL VOC Project. PASCAL Visual Object Classes. , Available from: http://host.robots.ox.ac.uk/pascal/VOC (2020).
  18. Bucher, T., vander Horst, K., Siegrist, M. Fruit for Dessert. How People Compose Healthier Meals. Appetite. 60 (1), 74-80 (2013).
  19. Food Recognition Challenge. AICrowd. , Available from: https://www.aicrowd.com/challenges/food-recognition-challenge (2020).
  20. Chen, K., et al. Hybrid Task Cascade for Instance Segmentation. Proceedings of the CVPR 2019. , 4974-4983 (2019).
  21. Kawano, Y., Yanai, K. Food Image Recognition with Deep Convolutional Features. Proceedings of the UbiComp 2014. , 589-593 (2014).
  22. Matsuda, Y., Hoashi, H., Yanai, K. Recognition of Multiple-Food Images by Detecting Candidate Regions. Proceedings of the ICME 2012. , 25-30 (2012).
  23. Christodoulidis, S., Anthimopoulos, M. M., Mougiakakou, S. G. Food Recognition for Dietary Assessment using Deep Convolutional Neural Networks. Proceedings of the ICIAP 2015. , 458-465 (2015).
  24. Tanno, R., Okamoto, K., Yanai, K. DeepFoodCam: A DCNN-Based Real-Time Mobile Food Recognition System. Proceedings of the MADiMa'16. , 89-89 (2016).
  25. Liu, C., et al. A New Deep Learning-Based Food Recognition System for Dietary Assessment on An Edge Computing Service Infrastructure. IEEE Transactions on Services Computing. 11 (2), 249-261 (2017).
  26. Martinel, N., Foresti, G. L., Micheloni, C. Wide-Slice Residual Networks for Food Recognition. Proceedings of the IEEE WACV 2018. , 567-576 (2018).
  27. Bossard, L., Guillaumin, M., Van Gool, L. Food-101-Mining Discriminative Components with Random Forests. Proceedings of the ECCV'14. , 446-461 (2014).
  28. Zhou, L., Zhang, C., Liu, F., Qiu, Z., He, Y. Application of Deep Learning in Food: A Review. Comprehensive Reviews in Food Science and Food Safety. 18, 1793-1811 (2019).
  29. Zhao, H., Yap, K. -H., Kot, A. C., Duan, L. JDNet: A Joint-Learning Distilled Network for Mobile Visual Food Recognition. IEEE Journal of Selected Topics in Signal Processing. 14 (4), 665-675 (2020).
  30. Kawano, Y., Yanai, K. Automatic Expansion of a Food Image Dataset Leveraging Existing Categories with Domain Adaptation. Proceedings of the ECCV'14. , 3-17 (2014).
  31. Hafiz, R., Haque, M. R., Rakshit, A., Uddin, M. S. Image-Based Soft Drink Type Classification and Dietary Assessment System using Deep Convolutional Neural Network with Transfer Learning. Journal of King Saud University - Computer and Information Sciences. , (2020).
  32. Shimoda, W., Yanai, K. Weakly-Supervised Plate and Food Region Segmentation. Proceedings of the ICME 2020. , 1-6 (2020).
  33. Ciocca, G., Micali, G., Napoletano, P. State Recognition of Food Images using Deep Features. IEEE Access. 8, 32003-32017 (2020).
  34. Knez, S., Šajn, L. Food Object Recognition using a Mobile Device: Evaluation of Currently Implemented Systems. Trends in Food Science & Technology. 99, 460-471 (2020).
  35. Furtado, P., Caldeira, M., Martins, P. Human Visual System vs Convolution Neural Networks in Food Recognition Task: An Empirical Comparison. Computer Vision and Image Understanding. 191, 102878 (2020).
  36. Chen, M. -Y., et al. Automatic Chinese Food Identification and Quantity Estimation. SA'12 Technical Briefs. , 1-4 (2012).
  37. Chen, J., Ngo, C. -W. Deep-Based Ingredient Recognition for Cooking Recipe Retrieval. Proceedings of the MM'16. , 32-41 (2016).
  38. Ciocca, G., Napoletano, P., Schettini, R. Food Recognition: A New Dataset, Experiments, and Results. IEEE Journal of Biomedical and Health Informatics. 21 (3), 588-598 (2017).
  39. Salvador, A., et al. Learning Cross-Modal Embeddings for Cooking Recipes and Food Images. Proceedings of the IEEE CVPR 2017. , 3020-3028 (2017).
  40. Ciocca, G., Napoletano, P., Schettini, R. CNN-Based Features for Retrieval and Classification of Food Images. Computer Vision and Image Understanding. 176-177, 70-77 (2018).
  41. Cai, Q., Li, J., Li, H., Weng, Y. BTBUFood-60: Dataset for Object Detection in Food Field. Proceedings of the IEEE BigComp 2019. , 1-4 (2019).
  42. Min, W., et al. ISIA Food-500: A Dataset for Large-Scale Food Recognition via Stacked Global-Local Attention Network. Proceedings of the MM'20. , 393-401 (2020).
  43. Python Software Foundation. Python. , Available from: https://www.python.org (2020).
  44. Google Custom Search API. Google. , Available from: https://developers.google.com/resources/api-libraries/documentation/customsearch/v1/python/latest/customsearch_v1.cse.html (2020).
  45. Stanford Vision Lab. ImageNet. , Available from: http://www.image-net.org (2020).
  46. Heras, J. CLoDSA. , Available from: https://github.com/joheras/CLoDSA (2020).
  47. NVIDIA DIGITS. NVIDIA. , Available from: https://developer.nvidia.com/digits (2020).
  48. Yamaguchi, K. JavaScript Segment Annotator. , Available from: https://github.com/kyamagu/js-segment-annotator (2020).
  49. Shelhamer, E. Fully Convolutional Networks for Semantic Segmentation. , Available from: https://github.com/shelhamer/fcn.berkeleyvision.org (2020).
  50. Multimedia Laboratory, CUHK. MMDetection. , Available from: https://github.com/open-mmlab/mmdetection (2020).
  51. Szegedy, C., et al. Going Deeper with Convolutions. Proceedings of the CVPR 2015. , 1-9 (2015).
  52. Bottou, L. Large-Scale Machine Learning with Stochastic Gradient Descent. Proceedings of the COMPSTAT'2010. , 177-186 (2010).
  53. Nesterov, Y. A Method of Solving a Convex Programming Problem with Convergence Rate O(1/k2). Doklady Akademii Nauk SSSR. 27, 372-376 (1983).
  54. Duchi, J., Hazan, E., Singer, Y. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. Journal of Machine Learning Research. 12, 2121-2159 (2011).
  55. Kingma, D. P., Ba, J. Adam: A Method for Stochastic Optimization. arXiv Preprint. , (2017).

Tags

इंजीनियरिंग अंक 169 खाद्य छवि मान्यता खाद्य छवि विभाजन गहरी तंत्रिका नेटवर्क गहरी सीखने जटिल तंत्रिका नेटवर्क आहार मूल्यांकन
छवि आधारित आहार मूल्यांकन के लिए गहरी तंत्रिका नेटवर्क
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Mezgec, S., KoroušićMore

Mezgec, S., Koroušić Seljak, B. Deep Neural Networks for Image-Based Dietary Assessment. J. Vis. Exp. (169), e61906, doi:10.3791/61906 (2021).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter