I made a lot of progress this week after a few weeks of being confused about how to get to the solution efficiently and putting things together. A major part of the wait time algorithm is how to calculate the average wait time each person stands at the register counter using output from the YOLO algorithm. I managed to come up with an algorithm that calculate this information and showcased it on Wednesday meeting.
I’ve been working on improving the algorithm ever since to make sure it accounts for all possible situations and produces the most accurate result. To account for fact that a person can stand at the checkout register however they want, we don’t want to use the calculated average wait time on this person but to use the live wait time of how long this person has been standing at the checkout register by the moment the new user requests the updated wait time at the dining location and add that value to the estimated wait time corresponding to the number of people who are still waiting in line. By this way, we ensure the correctness of the result. I’ll post more details about the results after running it on a new test video in the morning and will include them in the final presentation.
My code, results and test files can be found here:
Google Drive (most up-to-date)
Github (I will push more code from Google Colab to Github after making some final changes)
My progress is currently on schedule. There is a bit more work to be done as I am hoping to achieve more to showcase in the final presentation. My last step is to run the algorithm on more test case and optimize it even more on the Jetson Nano.
By next week, I’m hoping to finish the final product so that the final week should mostly be spent on the final report and demo.