{"id":297,"date":"2022-04-30T16:50:05","date_gmt":"2022-04-30T20:50:05","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/?p=297"},"modified":"2022-04-30T16:51:49","modified_gmt":"2022-04-30T20:51:49","slug":"30-apr-22-samuels-status-report","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/2022\/04\/30\/30-apr-22-samuels-status-report\/","title":{"rendered":"30 Apr 22 \u2013 Samuel\u2019s Status Report"},"content":{"rendered":"<p>Since I had completed quantity detection last week, I had nothing much left to do for the CV side of the project, besides testing and experimenting with model training\/data collection, which I did. I also helped out with the installation of the system onto an actual fridge:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-298\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/IMG_20220430_142830095_HDR-e1651350804548-730x1024.jpg\" alt=\"\" width=\"309\" height=\"433\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/IMG_20220430_142830095_HDR-e1651350804548-730x1024.jpg 730w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/IMG_20220430_142830095_HDR-e1651350804548-214x300.jpg 214w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/IMG_20220430_142830095_HDR-e1651350804548-768x1077.jpg 768w\" sizes=\"(max-width: 309px) 100vw, 309px\" \/><\/p>\n<p>During testing, I found some edge and potential failure cases, and added more robustness checks. In particular, by using my white background detection, I fixed an issue where the FSM will move into the wrong state if the user tries to remove fruit one-by-one off the fridge, or tries to add more fruit once a prediction is done. The final FSM is shown in the Figure below:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-299\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/CVFSM.jpg\" alt=\"\" width=\"840\" height=\"788\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/CVFSM.jpg 840w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/CVFSM-300x281.jpg 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/CVFSM-768x720.jpg 768w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>I also trained the model again with some new fake fruits but the validation accuracy was still poor (although training accuracy was good). From the graph shown below, it seemed that the CNN was not learning the underlying model of the fruits, but was instead overfitting to the model. Most likely, this was the result of not having enough data to learn from for the new classes, thus creating confusion between fruits.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-301 alignnone\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_losses.jpg\" alt=\"\" width=\"297\" height=\"223\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_losses.jpg 640w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_losses-300x225.jpg 300w\" sizes=\"(max-width: 297px) 100vw, 297px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"wp-image-300 alignnone\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_accuracies.jpg\" alt=\"\" width=\"291\" height=\"218\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_accuracies.jpg 640w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-content\/uploads\/sites\/184\/2022\/04\/ft_accuracies-300x225.jpg 300w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/p>\n<p>Next week, the focus will be on final testing on the integrated system (although we have actually tested quite a bit already, and the system seems to be fairly robust), and preparation for the final video and demo. CV wise, we are definitely ahead of schedule (basically done), since increasing the number of known fruits\/vegetable classes was somewhat of a reach goal anyway.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since I had completed quantity detection last week, I had nothing much left to do for the CV side of the project, besides testing and experimenting with model training\/data collection, which I did. I also helped out with the installation of the system onto an actual fridge: During testing, I found some edge and potential &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/2022\/04\/30\/30-apr-22-samuels-status-report\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;30 Apr 22 \u2013 Samuel\u2019s Status Report&#8221;<\/span><\/a><\/p>\n","protected":false},"author":535,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12,7],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/posts\/297"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/users\/535"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/comments?post=297"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/posts\/297\/revisions"}],"predecessor-version":[{"id":302,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/posts\/297\/revisions\/302"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/media?parent=297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/categories?post=297"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teamb3\/wp-json\/wp\/v2\/tags?post=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}