1. Trang chủ
  2. » Luận Văn - Báo Cáo

Deep learning based food calorie estimation

63 36 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 29,63 MB

Nội dung

Ước tính lượng calo thực phẩm dựa học tập sâu UNIVERSITÉ NATIONALE DU VIETNAM À HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL Frederic BANGADINGAR Deep Learning-Based Food Calorie Estimation Ước tính lượng calo thực phẩm dựa học tập sâu Spécialité : Systèmes Intelligents et Multimédia (SIM) Code : Programme pilote MEMOIRE DE FIN D’ETUDE DE MASTER EN INFORMATIQUE Sous la direction de : PhD NGUYEN Trong, enseignant chercheur l’université de transport de Hanoi et responsable du laboratoire de recherche et développement de IFI Solution HANOÏ-2019 ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La Source des informations citées dans ce mémoire a été bien précisée Signature de l’étudiant Frederic BANGADINGAR Remerciement Que soient ici remercie le DR Nguyen Trong Phuc pour son encadrement et ses conseils avisés qui m’ont permis d’évoluer et d’acquérir ainsi de nouvelles connaissances et compétences dans la conduite des projets de recherche Le DR HO Tuong Vinh qui m’a permis de postuler IFI Solution et M Dinh van Hoan qui a facilité notre intégration et a proposé le sujet de stage S’il est impossible de mentionner les nombreuses personnes ayant contribué la réalisation de cette étude, je me permets néanmoins d’exprimer toute ma gratitude Mr Bairia césar Dering, Mm Fidelia BANGADINGAR, ma maman Delphine Naimbaye, mes Frères et soeurs pour le soutien et les encouragements Enfin, je tiens remercier particulièrement titre posthume mon père BANGADINGAR NGARBE sans ses efforts mes études n’auront jamais été rendues possibles i Table des matières Introduction 1 Présentation du projet 1.1 Structure d’accueil 1.1.1 Contexte du projet 1.1.2 Problématique 1.1.3 Objectifs du stage 1.2 Limitation 1.3 Contributions État de l’art 2.1 Approche classique 2.2 Approche basée sur le deep-learning 2.2.1 Le CNN 2.2.2 R-CNN(Regions and Convolutional Neural Networks) 10 2.2.3 Fast R-CNN 11 2.2.4 Faster R-CNN 12 2.2.5 Mobilenet ssd 16 2.2.6 Single Shot Multibox Detector (SSD) 17 2.2.7 YOLO 18 2.2.8 Architecture de quelques reseau de neurones a convolutions 20 2.2.9 Revue de litterature 22 2.2.10 Tableau Récapitulatif des articles 27 ii Table des matières iii Solution proposée 29 3.1 Préparation du jeu de données 30 3.2 Modèles 31 3.2.1 Faster R-CNN 31 3.2.2 Mobilenet SSD 31 3.2.3 Optimisation des modèles 33 3.2.4 Intégration au mobile 33 3.2.5 Intégration l’application mobile 34 3.2.6 Evaluation de nos modèles 34 3.2.7 Intersection over Union (IoU) 35 3.2.8 mAP 36 Expérimentations et Résultats 37 4.1 Introduction 37 4.2 Résultats 37 4.2.1 La mAP 37 4.2.2 Scenario de test 40 4.2.3 Etude comparative 42 4.2.4 Bilan du stage 43 CONCLUSION ET PERSPECTIVES 44 Annexe 45 Table des figures 2.1 schema global du cnn [2] 2.2 illustration d’une operation de convolution [3] 2.3 illustration d’une operation de pooling [4] 2.4 illustration d’une operation de Relu [5] 10 2.5 illustration du fonctionnement du R-CNN [6] 11 2.6 illustration du fonctionnement du fast R-CNN [7] 12 2.7 illustration du fonctionnement du Faster R-CNN [8] 13 2.8 illustration du fonctionnement de la couche RPN [9] 14 2.9 illustration du fonctionnement de la couche RPN [10] 15 2.10 illustration du fonctionnement de la couche de classification [11] 16 2.11 couche de convolution mobilenet [12] 17 2.12 operation regression yolo [15] 19 2.13 operation regression yolo [15] 20 2.14 operation suppression max sur couche yolo [15] 20 2.15 architecture letnet-5 [16] 21 2.16 architecture de l’inception [17] 21 2.17 architecture alexnet [18] 22 2.18 architeture du modele utilise dans l’article1 [19] 23 2.19 architecture du modele article [20] 25 2.20 interprétation des valeurs IoU [21] 26 2.21 Resultat de lárticle3 [21] 27 3.1 29 Illustration de la solution proposée [21] iv Table des figures v 3.2 Illustration de l’operation de labelisation 30 3.3 Architecture de mobilenet ssd [22] 32 3.4 architecture de la solution proposee pour le mobile [24] 33 3.5 architecture de la solution proposee pour le mobile [24] 34 3.6 Calcul de l’IoU travers les cadres de prédictions [23] 35 4.1 Courbe de perte totale du modele Faster R-CNN 38 4.2 Courbe de perte totale du modele Faster R-CNN 39 4.3 Test thi kho tau sur ordinateur avec le modele mobilenet ssd 40 4.4 Test bo sur ordinateur avec le modele mobilenet ssd 41 4.5 Test thi kho tau sur ordinateur avec le modele mobilenet ssd 41 4.6 Test thi kho tau sur ordinateur avec le modele mobilenet ssd 42 4.7 A gauche le menu de l’application et a la droite detection de bun cha 45 4.8 A gauche detection et estimation du ban bao et a droite celui de trung op la 46 4.9 A gauche detection et estimation du mi xao et a droite celui de bo 47 4.10 A gauche page d’accueil web et a droite page de telechargement de l’image 47 4.11 Test thi kho tau sur ordinateur avec le modele mobilenet ssd 48 4.12 Test thi kho tau sur ordinateur avec le modele mobilenet ssd 48 4.13 A droite courbe de la perte de classification et gauche la perte de detection faster r-cnn 49 Resume Ce travail porte sur la détection et l’estimation des charges calorifiques travers les méthodes de deep-Learning Nous avons eu expérimenter deux algorithmes : faster r-cnn et mobilenet ssd De nos expérimentions il en sort que l’algorithme mobilenet ssd nous a donnés des meilleurs rộsultats Nous avons aussi conỗu deux applications : web et mobile pour rendre utilisable nos modèles par les utilisateurs Notre travail a été scinde en quatre grands chapitres : Le premier chapitre porte sur la présentation générale du projet et de la structure d’accueil, dans le deuxième nous avons réalisé l’art de l’art, ensuite dans le troisième chapitre fait une proposition de solution : algorithmes et technologie a utiliser et le dernier chapitre porte sur l’implémentation de la solution proposée Notre sujet a été proposé par IFI Solution et vise proposer une application qui permettra d’apprendre la culture vietnamienne dans le domaine culinaire Il vise aussi en outre de fournir aux usagers un outil d’évaluation de la charge calorifique de leur plat Mots clés : deep learning, développement mobile et web vi Abstract This work focuses on the detection and estimation of heat loads through deep-Learning methods We had to experiment with two algorithms : faster r-cnn and mobilenet ssd From our experiments it appears that the mobilenet ssd algorithm has given us better results We have also designed two applications : web and mobile to make our models usable by users Our work has been divided into three main phases : the first one concerns the study of the existing, in the second we have identified a solution proposal and the last one concerns the implementation of the proposed solution Our subject was proposed by IFI Solution and aims to propose an application that will allow you to learn about Vietnamese culture in the culinary field It also aims to provide users with a tool for assessing the heat load of their dish key words : deep learning,mobile and web development vii 38 Chapitre Expérimentations et Résultats Le cas de Faster R-CNN Classe Pho bo banh cha mi xao rau xao thi kho tau Trung op la bun cha Map@0,5IuO par classe 0,926 0,585 0,901 0,955 0,870 0,637 0,585 perte par classe 0,0156 0,0233 0,0237 0,0315 0,0210 0,0283 0,020 Table 4.1 – la valeur du Map au seuil de 0,5 de IuO et les pertes de chacunes des classes avec Faster R-CNN Interprétation : Sur le tableau ci-dessus est récapitulé la valeur de détection des différentes classes au seuil de 0,5 de l’IoU La valeur de l’IoU représente le rapport de l’intersection des aires et l’union des aires Pour le calcul de la la mean Average Précision (mAP) dans notre ce cas, chaque bte cible dont le IoU est egal a 0.5 avec une bte prédite sera considérée comme un vrai positif, les autres étant considérées comme des faux positifs Ce résultat représente le calcul de la métrique mAP avec le seuil de l’IoU de 0,5 Nous constatons que les classes banh cha et bun cha ont une precision moyene inferieure aux autres cela peut s’expliquer par le fait que ces images sont plus complexes et qu’elles necessiteront plus d’images Courbe de perte totale du modele Faster R-CNN Figure 4.1 – Courbe de perte totale du modele Faster R-CNN 4.2 Résultats 39 Interprétation : La courbe ci-dessus est appelée la courbe de la perte Sur l’axe des abscisses sont représentés sur les nombres d’itération et sur l’axe des ordonnées la valeur des pertes Notre courbe de perte est sinusoïdale, l’information principale que nous pouvons y tire est que : Avec nos paramètres actuels et nos données plus le nombre d’itération augmente moins est la perte A travers la courbe, nous pouvons déduire qu’il y a une relation entre la perte et le nombre d’itération Le cas de mobilenet ssd Classe Pho bo banh cha mi xao rau xao thi kho tau Trung op la bun cha Map@0,5IuO par classe 0,975 0,967 0,917 0,955 0,870 0,637 0,585 perte par classe 0,0156 0,0233 0,0237 0,0315 0,0210 0,0283 0,020 Table 4.2 – la valeur des pertes avec chacune des classes avec mobilenet ssd Interprétation : Sur le tableau ci-dessus est récapitulé la valeur de détection des différentes classes au seuil de 0,5 de l’IoU Les explications données pour le cas de notre premier algorithme sont valables dans ce cas également Courbe de perte totale du modele mobilenet ssd Figure 4.2 – Courbe de perte totale du modele Faster R-CNN 40 Chapitre Expérimentations et Résultats La valeur la moyenne des précisions moyenne de nos deux modeles est repertrorie dans le tableau suivant Total mAP Mobilenet ssd 0,974 Faster R-CNN 0,804 Table 4.3 – comparatif entre les valeurs de la precision pour chaque des deux modeles 4.2.2 Scenario de test Nous avons élaboré trois scenarios de tests sur nos deux algorithmes sur trois différents environnements Dans un premier temps, notre expérimentation était effectuée sur un ordinateur de 16 GB de RAM équipé d’une webcam A l’aide du Framework OpenCV, nous avons recueilli et transformé les flux d’images renvoyées par la caméra pour les transmettre aux algorithmes pour la détection Ensuite, nous avons réalisé nos expérimentations sur une application web et mobile A travers ces différentes expérimentations, nous cherchons éprouver le comportement de nos algorithmes en termes de détection et le temps de réponse sur ces diffộrents environnements Nous prộsentons ci-dessous de faỗon dộtaillộe le résultat de ces différentes Test sur l’ordinateur Cette méthode de test nos algorithmes nous a donne dans les deux cas des meilleures résultats par rapport aux deux autres scenarios Seulement ,le temps de réponse est inferieur a celui que nous avons obtenons sur le téléphone mais supérieur a l’application web, cela peut s’expliquer par la consommation de la mémoire de l’ordinateur quand on allume mais l’autre raison est la taille du Faster R-CNN Ci-dessous, nous présenterons quelques résultats avec le modèle mobilenet ssd et le reste sera mis en annexe Figure 4.3 – Test thi kho tau sur ordinateur avec le modele mobilenet ssd 4.2 Résultats 41 Test sur le tộlộphone Aprốs avoir conỗu lapplication sur Android studio, nous l’avons installée sur un téléphone portable Android (Samsung Galaxy S7) Nos tests ont été réalisés sur les mêmes images que celles utilisées lors test précédant Une fois l’application lancée, la camera du téléphone s’active et quand une image est détectée, il affiche son nom, sa charge calorifique et sa précision La détection est faite est en temps réel Pour le mobile, un seul algorithme est teste pour les raisons expliquées précédement Figure 4.4 – Test bo sur ordinateur avec le modele mobilenet ssd Ici, nous présentons le rendu visuel d’une deuxième classe de notre jeu de données avec le même modèle que celui-ci-haut Figure 4.5 – Test thi kho tau sur ordinateur avec le modele mobilenet ssd 42 Chapitre Expérimentations et Résultats Test application web L’application web est réalisée l’aide de flask, un Framework de python pour le web Elle supporte nos deux modèles Elle donne des résultats légèrement supérieurs l’application mobile sur certaines classes Mais elle a un temps de réponse inférieure l’application mobile Ce retard peut être du la capacite de l’ordinateur mais une fois déployer nous espérons un faible de temps de reponse En outre, nous envisageons d’améliorer afin d’avoir des meilleures précisons Figure 4.6 – Test thi kho tau sur ordinateur avec le modele mobilenet ssd 4.2.3 Etude comparative Nous avons fait une étude comparative de nos résultats et ceux publiés dans l’article intitulé « End-to-End Target Détection and Classification with Data Augmentation in SAR Images » publié par : Mingtao Dong, Yuanhao Cui, Xiaojun Jing enseignants chercheurs de l’université de poste et télécommunication de Being en chine et Xiaokang Liu, Jianquan Li Les résultats de leurs travaux sont consignes dans le tableau ci-dessous : Model expérimenté Mobilenet ssd Faster R-CNN Bath_size mAP 24 24 96.79% 99.04% Table 4.4 – récapitulat du resultat de lárticle Le premier constat que nous pouvons faire c’est qu’ils ont obtenu des résultats légèrement meilleurs aux nôtres en utilisant les mêmes algorithmes que nous : Faster R-CNN et Mobilenet SSD avec les mêmes paramètres que nous Cela peut s’expliquer par le fait qu’ils ont 4.2 Résultats 43 utilisés sur leur données la technique de régénération appelée data augmentation en anglais d’une part Et d’autre part, ils ont un jeu de données constituée des images recueillies par la Nasa Tandis que de l’autre cote notre jeu de données est constitué des images téléchargées sur les sites des restaurants et sur google image La principale critique de notre methode c’est qu’il y a risque d’utiliser les images qui ne représentent pas une image dans une de nos classes d’images ou d’inverser les classes 4.2.4 Bilan du stage Notre stage de six mois se déroule au sein du laboratoire de recherche et développement de IFI solution Notre travail avait débuté par la phase de revue de littérature ou nous avons explore une dizaine article traitant du problème de la classification et détection des objets Parmi les différents articles lus, nous avons résumé trois : Qui a notre avis globalise l’ensemble Apres cette phase nous avons proposé d’implémenter deux algorithmes de détection d’objets : Faster R-CNN et mobilenet ssd l’aide de Tensorflow Une fois nos algorithmes mis au point, nous les avons testés dans un premier avec la webcam sur l’ordinateur et nous avons entamé la phase des intégrations Dans un premier temps, nous avons conỗu une application web puis une application mobile Android Pour l’instant nous avons pu intégrer le modèle mobilenet ssd dans l’application mobile car le Faster R-CNN n’est pas supporté par les téléphones portables car il nécessite beaucoup plus de memoire que celles offertes actuellement par les telephones Par contre pour l’application web nous avons pu tester tous nos deux modèles Pour la réalisation de ce travail, nous avons aussi consacre un temps pour la constitution de notre jeu de données Il contient en tout sept classes d’images des différents plats Mais nous avons teste premièrement nos algorithmes pour un jeu de données consacre la recherche dénommé food-101 Au cours de notre stage, nous avons présenté nos résultats lors d’une conférence organisée par notre structure d’accueil et nous allons aussi participe un projet de conception d’une application mobile en react native CONCLUSION ET PERSPECTIVES Notre projet était porté sur la détection des plats et l’estimation de leur charge calorifique Nous nous sommes intéressés dans le cadre de ce travail exclusivement au plat vietnamien Nous avons implémenté nos algorithmes sur sept types de plats vietnamiens Les deux algorithmes implémentés : Faster R-CNN et mobilenet ssd Nous les avons intégrés dans une application web et mobile Faster R-CNN s’il faut le rappeler est un algorithme de détection d’objets bas sur le réseau de neurones convolution L’architecture du réseau de neurones utilisée dans le faster R-CNN est Inception -v2 Le mobilenet ssd est un algorithme de détection plus rapide que le premier et plus en plus utilise les systèmes embarques L’application web est développée en python via le Framework flask tandis que l’application mobile en java Android Pour la poursuite de ce travail d’autres pistes restées explorer Les perspectives suivantes seraient envisageables : L’implémentation de l’algorithme YOLO pour le comparer aux autres implémentés La constitution d’un jeu de données avec les images recueillies sur le terrain Le développement d’une application client- service en utilisant le service dédié de google : Firebase 44 Annexe Dans cette section de faỗon dộtaillộe nos résultats et les courbes d’évaluation de nos deux modèles cas de l’application mobile Figure 4.7 – A gauche le menu de l’application et a la droite detection de bun cha 45 46 Annexe Figure 4.8 – A gauche detection et estimation du ban bao et a droite celui de trung op la Annexe 47 Figure 4.9 – A gauche detection et estimation du mi xao et a droite celui de bo Figure 4.10 – A gauche page d’accueil web et a droite page de telechargement de l’image 48 Annexe Figure 4.11 – Test thi kho tau sur ordinateur avec le modele mobilenet ssd Figure 4.12 – Test thi kho tau sur ordinateur avec le modele mobilenet ssd Annexe 49 Figure 4.13 – A droite courbe de la perte de classification et gauche la perte de detection faster r-cnn Bibliographie 1.Fu-Chen Chen , Mohammad R, Jahanshahi NB-CNN : Deep Learning-Based Crack Detection Using Convolutional Neural Network and Naıve Bayes Data Fusion,IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL 65, NO 5, MAY 2018 https ://missinglink.ai/guides/tensorflow/tensorflow-image-classification/ ,accelerating AI adoption,consulté ke 06/04/2019 https ://www.cnblogs.com/gogoSandy/p/8684501.html Blog Park, consulté le 15/04/2019 https ://medium.com/@CharlesCrouspeyre/comment-les-r%C3%A9seaux-de-neurones%C3%A0-convolution-fonctionnent-b288519dbcf8 ,Charles Crouspeyre Charles Crouspeyre consulté le 22/04/2019 https ://openclassrooms.com/fr/courses/4470531-classez-et-segmentez-des-donneesvisuelles/5083336-decouvrez-les-differentes-couches-dun-cnn , DR Pascal Monasse et ing kimia nadjahi, consulté le 19/05/2019 Ross Girshick Jeff,Trevor Darrell Jitendra Malik Rich feature hierarchies for accurate object detection and semantic segmentation Tech report arXiv :1311.2524v5 [cs.CV] 22 Oct 2014 7.Ross Girshick,Microsoft Research Fast R-CNN IEEE International Conference on Computer Vision (ICCV) 2015 Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun,Faster R-CNN : Towards Real-Time Object Detection with Region Proposal Networks.arXiv :1506.01497v3 [cs.CV] Jan 2016 http ://www.infosec-wiki.com/ ?p=432458 ,consulté le 25/05/2019 50 Bibliographie 51 10.https ://nttuan8.com/bai-11-object-detection-voi-faster-r-cnn/ ,Tuan Nguyen, consulté le 24/05/2019 11 https ://deepsense.ai/region-of-interest-pooling-explained/ ,Tomasz Grel,consulté le 22/07/2019 12.Wei Liu,Dragomir Anguelov,Dumitru Erhan,Christian Szegedy,Scott Reed,Cheng-Yang Fu,Alexander C Berg SSD : Single Shot MultiBox Detector arXiv :1512.02325v5 [cs.CV] 29 Dec 2016 13.Navaneeth Bodla, Bharat Singh, Rama Chellappa,Larry S Davis Improving Object Detection With One Line of Code arXiv :1704.04503v2 [cs.CV] Aug 2017 14 Ronghang Hu1, Piotr Dollar, Kaiming He, Trevor Darrell,Ross Girshick,BAIR, UC Berkeley,Facebook AI Research Learning to Segment Every Thing arXiv :1711.10370v2 [cs.CV] 27 Mar 2018 15.https ://www.kdnuggets.com/2018/09/object-detection-image-classification-yolo.html , Michał Maj ,consulté le 13/06/2019 16.G Hinton, Y Bengio et Y LeCun,LeCun, Deep Learning NIPS’15 Tutorial,2015 17.A Krizhevsky,I Sutskever,et G Hinton,Imagenet classi cation with deep convolutional neural networks.NIPS,2012 18 Christian Szegedy,Vincent Vanhoucke,Sergey Ioffe,Jonathon Shlens ,Rethinking the Inception Architecture for Computer Vision,arXiv :1512.00567v3 [cs.CV] 11 Dec 2015 19.Trevor Standley,Ozan Sener,Dawn Chen,Silvio Savarese,image2mass : Estimating the Mass of an Object from Its Image,1st Conference on Robot Learning (CoRL 2017), Mountain View, United States 20 Jingjing Chen,Chong-Wah Ngo,Deep-based Ingredient Recognition for Cooking Recipe Retrieval , MM ’16 : Proceedings of the 24th ACM international conference on Multimedia, Octobre 2016 21.Georgia Gkioxari, Ross Girshick, Piotr Dollar,Kaiming He,Facebook AI Research Detecting and Recognizing Human-Object Interactions arXiv :1704.07333v3 [cs.CV] 27 Mar 2018 22.Fadwa Al-Azzo, Arwa Mohammed Taqi, Mariofanna Milanova,Human Related-Health Actions Detection using Android Camera based on TensorFlow Object Detection 52 Bibliographie API,International Journal of Advanced Computer Science and Applications, Vol 9, No 10, 2018 23.Jesse Davis, Mark Goadrich The Relationship Between Precision-Recall and ROC Curves,International Journal of Advanced Computer Science and Applications, Vol 9, No 10, 2018 24.Zhongjie Li,Rao Zhang,Object Detection and Its Implementation on Android Devices,IEEE Conference on Computer Vision ,2015 ... NATIONALE DU VIETNAM À HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL Frederic BANGADINGAR Deep Learning-Based Food Calorie Estimation Ước tính lượng calo thực phẩm dựa học tập sâu Spécialité : Systèmes... calorifique de leur plat Mots clés : deep learning, développement mobile et web vi Abstract This work focuses on the detection and estimation of heat loads through deep- Learning methods We had to... consacrés la détection de nourriture et l? ?estimation de leur charge calorifique Les grandes multinationales comme google, huawei,un projet de recherche au japon Deepfood se sont néanmoins intéressés

Ngày đăng: 06/09/2020, 18:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN