{"id":147,"date":"2024-03-17T03:44:21","date_gmt":"2024-03-17T03:44:21","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/?p=147"},"modified":"2024-03-17T03:48:29","modified_gmt":"2024-03-17T03:48:29","slug":"brians-status-report-for-3-16","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/2024\/03\/17\/brians-status-report-for-3-16\/","title":{"rendered":"Brian&#8217;s Status Report for 3\/16"},"content":{"rendered":"<p><b>Accomplishments<\/b><\/p>\n<p><span style=\"font-weight: 400\">This week, I didn\u2019t complete as much as I had hoped. I wanted to finish my implementation of the throughput calculating module and testing but I spent a lot of time this week trying to use YOLOv3 to accomplish it. Much of my time was spent trying to figure out how to train a model from the Freiburg grocery store dataset available online (<\/span><a href=\"http:\/\/aisdatasets.informatik.uni-freiburg.de\/freiburg_groceries_dataset\/\"><span style=\"font-weight: 400\">http:\/\/aisdatasets.informatik.uni-freiburg.de\/freiburg_groceries_dataset\/<\/span><\/a><span style=\"font-weight: 400\">), which has 25 different classes of objects typically found in grocery stores. However, a significant issue I ran into that I dealt with up until Thursday\/Friday was that on Google Colab, I was getting many errors trying to run Darknet (the backend for YOLOv3), which I figured out was due to CUDA and OpenCV versions being different on Google Colab than what they should be. These errors were mainly because of YOLOv3\u2019s age as a more legacy version of the framework, and so my attempts to fix them cost a large amount of time. I finally decided to pivot to YOLOv8, which was much less time consuming and allowed me to make some progress. Currently, I have written a rudimentary algorithm for determining the throughput of a cashier: essentially the software module takes in a frame every \u2155 seconds, checks how many new items appear on the left side of the frame (where the bagging area is), and then counts those processed items into a running total (that is divided by the time elapsed). Pictures of my current code are taken below. Since the model is pretrained, it doesn\u2019t work with objects from grocery stores and so I tested to see if the code would even calculate throughput from a video stream using generic objects (cell phone, wallet, computer mice, chapstick):\u00a0<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-148\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.40.31\u202fPM-300x56.png\" alt=\"\" width=\"618\" height=\"115\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.40.31\u202fPM-300x56.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.40.31\u202fPM-768x143.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.40.31\u202fPM-1024x191.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.40.31\u202fPM.png 1352w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Throughput is being calculated and updated 5 times a second, but I will need to experiment with figuring out if this is an optimal number of updates per second. A huge benefit that I noticed about pivoting to YOLOv8 is that my code is much more readable and straightforward. My Google Colab GPU access was restricted for some of the week due to overuse when trying to figure out YOLOv3 issues, so I am currently training the dataset as of tonight (3\/16), I will check back on it every few hours to see when it is finished.\u00a0<\/span><\/p>\n<p><b>Progress<\/b><\/p>\n<p><span style=\"font-weight: 400\">I am still behind schedule, but tomorrow and Monday I will be working on testing the code after the model is done training, and after that I\u2019ll be able to help Shubhi and Simon with their tasks, as relative fullness and line detection are the most important parts of our project.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">YOLOv8 code:\u00a0<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-151\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.09.17\u202fPM-300x165.png\" alt=\"\" width=\"553\" height=\"304\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.09.17\u202fPM-300x165.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.09.17\u202fPM-768x421.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.09.17\u202fPM-1024x562.png 1024w\" sizes=\"(max-width: 553px) 100vw, 553px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-150\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.08.44\u202fPM-300x201.png\" alt=\"\" width=\"627\" height=\"420\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.08.44\u202fPM-300x201.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.08.44\u202fPM-768x514.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.08.44\u202fPM-1024x686.png 1024w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Outdated YOLOv3 snippet for reference:\u00a0<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-149\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.14.10\u202fPM-300x199.png\" alt=\"\" width=\"493\" height=\"327\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.14.10\u202fPM-300x199.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.14.10\u202fPM-768x510.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-content\/uploads\/sites\/287\/2024\/03\/Screenshot-2024-03-16-at-11.14.10\u202fPM-1024x681.png 1024w\" sizes=\"(max-width: 493px) 100vw, 493px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Accomplishments This week, I didn\u2019t complete as much as I had hoped. I wanted to finish my implementation of the throughput calculating module and testing but I spent a lot of time this week trying to use YOLOv3 to accomplish it. Much of my time was spent trying to figure out how to train a &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/2024\/03\/17\/brians-status-report-for-3-16\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Brian&#8217;s Status Report for 3\/16&#8221;<\/span><\/a><\/p>\n","protected":false},"author":883,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/posts\/147"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/users\/883"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/comments?post=147"}],"version-history":[{"count":4,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":157,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/posts\/147\/revisions\/157"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/media?parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/categories?post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc3\/wp-json\/wp\/v2\/tags?post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}