Sid’s Status Report for April 27, 2024

Over the past week, I worked towards improving the machine learning model, and working on the final project presentation that we had on Wednesday. For the models, I wrote and tested all the code for the 6-dimension polynomial regression to determine the likelihood of availability of benches at the gym. Furthermore, for the crowd prediction, I tried a few different Machine Learning models and tested different parameters to increase our accuracy values. I also passed on the predicted results to the EC2 instance to be integrated into the app, and added details for the models in the project presentation.

For testing the regression model, the dataset was divided into a training and validation dataset with a 80/20 split. On the validation dataset, MSE, RMSE, and Accuracy were calculated. A maximum accuracy value of 60% was achieved with an RMSE value of 0.65. The model was also tested against our measured values for the crowd, achieving a 65% accuracy in predicting crowdedness. For the polynomial model, data was created by summing the time for which a bench was occupied over the hour, and averaging over days
The coefficient of determination (R2 value) for the fit was calculated to be 0.92 using sklearn_metrics built-in calculator.

For the next week, I will be testing our models with a larger dataset to include all the measured values from the past month, which I hope would increase the predictive accuracy. I will also make some changes to the polynomial model to calculate bench availability for shorter time intervals. Lastly, I will ensure smooth functionality for the people counter.

With these updates, I am on track with our schedule. I look forward to showing our work at the demo!

Sid’s Status Report for April 20, 2024

Over the past two weeks I was able to finalize and test out the ML model. The included adding and debugging some more code and using the RandomForestRegressor from SKLearn, as well as the fastai module. I then wrote code to use this model to predict the crowdedness values for the following week. Currently, I have managed to achieve a maximum of 60% accuracy, and am working to improve this to around 70%. I have also been writing the code to do a linear regression for the bench occupation times, which I will test tomorrow.

Some of the hardware related challenges that I faced involved working with a Raspberry Pi for the first time. In order to better understand this, I watched a few of introductory youtube videos, and read reference code to understand how to build the people counter. Furthermore, I faced a similar issue while have to learn some of the new libraries for the machine learning analysis, particularly getting weather data through Openmeteo. Again, I was able to better implement this by using reference code and building upon it for my use. I also learnt some new machine learning analysis skills from other courses I was taking this semester.

For the next week, I will be finalizing both the models and working on passing the predictions to the EC2 instance. I will also be working on our final presentation.

With these updates, I am on track with our schedule.

Sid’s Status Report for April 6, 2024

This week, I completed some more tests on the people counter, and updated it to improve its functionality and reliability. I also spent time working on the Machine Learning model, which is now almost ready to run. In particular, I got the weather API incorporated into the data, to improve the model’s accuracy.

In order to test the people counter, initial tests were done by making sure the sensor’s detect people at appropriate distances. After the counter was set up at the gym, its reliability was checked by observing how accurately it counted people walking through. A lot of edge cases were also tested and dealt with. For the ML model, a part of the dataset will be used to validate its accuracy. Furthermore, its predictions will be compared against the following week’s ground truth data in order to ensure it is predicting values correctly.

For the next week, I intend to work on getting the ML model to run. I also want to work on building a system to collect occupancy data from the EC2 instance.

With these updates, I am on track with our schedule.

Sid’s Status Report for March 30, 2024

This week, i completed building the people counter, and worked to set it up at the gym. We first worked to set up the circuit for the counter, after which I spent some time finalizing the code for the counter to make it more accurate and less susceptible to not detecting people. This also included testing and modifying certain parameters for the sensors. After this, I worked with the team to have the counter set up at the gym, along with have a tmux session to SSH into to constantly run and monitor the code.

For the next week, I intend to get back to working on the ML model using the new weather API that I was able to find. I also want to work on building a system to collect occupancy data from the EC2 instance. Finally, I will work on the interim demo.

With these updates, I am on track with our schedule.

Sid’s Status Report for March 23, 2024

This week, I worked to build and test the people counter using the Raspberry Pi. First, I built a basic setup with the team to understand the voltage values given as outputs by the IR sensors for various distances. Next, I soldered the parts and assembled the circuits. Lastly, I wrote the code for the RPi, and tested the functionality of the counter. It appears to have worked, but its values need to be tuned for the gym. Beyond this, I also worked on implementing the new Weather API, as well as on the ethics assignment.

For the next week, I intend to test the people counter at the gym, and then set up to start data collection. Furthermore, I will get back to running the ML model using the new weather API that I found.

With these updates, I am on track with our schedule.

Sid’s Status Report for March 16, 2024

This week, I worked to finalize the Machine Learning model, as well as get started on building the people counter. For the model, I tried writing the code to run it, however, I learnt that the API I was planning to use to get temperature data had been replaced by a new one, so I have been working to implement that by the end of this weekend. For the people counter, I have written the code, and will be working with the team tomorrow to build the physical components and test it.

For the following week, I intent to have the people counter set up at the gym and be able to share collected data with our server. I will then try rerunning the model on the new data to see if the model can be improved.

With these updates, I am on track with our schedule.

Sid’s Status Report for March 9, 2024

Over the last weeks, I initially worked with my team to complete the design proposal. This included me finalizing and writing about the design decisions made for the machine learning model, as well as the people counter. To this end, I also met with the gym administrators, to decide the installation of the people counter on-site, and ordered the necessary parts to build it. I am also almost done writing the code for the Machine Learning Model, which should be ready to run soon.

For the following week, I hope to successfully build and test the people counter and set it up at the gym. I also want to try a few different methods for the ML Model, and begin implementing its automatic training with the newly collected data.

With these updates, I am on track with our schedule.

Sid’s Status Report for February 24, 2024

This week, I initially began working on the Design Presentation. This included finalizing the hardware and software requirements for the sections of the project that I am working on, i.e., the people counter and the predictive model. I also presented this week in class. Beyond this, I have primarily worked on data cleaning for the Machine Learning Model. Some of this involved manually going through data to find what kind of outliers exist, and the rest was with pandas. I also researched how to include temperature data in the dataset, and have begun collecting this using the DarkSky API.

For the following week, I hope to have the dataset ready and run the model on the currently available data. I also hope to hear back from the gym administrators regarding the approval for the people counter, after which I will start building that as well.

I am currently on track with the updated schedule we made last week.

Sid’s Status Report for February 17, 2024

This week, I focused on understanding how to build our new version of the people counter, as well as what would be the optimal way to train the Machine Learning Model for predicting crowdedness. For the counter, I noted down a bill of materials, and worked on understanding how to get the sensor to interact with the raspberry pi. For the Model, I gathered the appropriate data, and researched previously developed models for similar predictions. I have begun writing a script to determine other factors such as temperature that can be included in the training data to increase the model’s accuracy.

By next week, I primarily hope to have the people counter ready, so that I can begin working on collecting more data for the model. I would also like to have the current dataset fully completed by then.

I believe I am currently on schedule, although some of the previous progress was nullified due to the fact that we will no longer be using a CV model for counting people.

Sid’s Status Report for February 10, 2024

This week I worked with the team to build the project proposal. For this, I added the technical information regarding the Computer Vision Pipeline as well as the prediction software that we will be building. I researched an effective way to build a people counter using OpenCV and am on schedule for the same. Furthermore, the team and I set up a time to meet with the gym administrator to talk about setting up our project.