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.

Team Status Report for February 17, 2024

After meeting with gym administrators this week, we have eliminated the camera system from our project. Our proposal for the system up for our people counting model was rejected.  We are currently waiting for approval from gym administrators with a new approach using two proximity sensors to count people entering the gym.  As of now, no costs have been incurred from this change. Our schedule change is pending the approval of the two-sensor people counter from gym administrators. 

Right now, our biggest risk that could jeopardize our project is not getting approval for our people counting module being set up in the U.C. gym. We are managing this risk by staying in contact with UC gym administrators, and in the case we have it rejected we have data that UC gym employees have given us access to that can be used to train a rough model. We also plan on relying on surveying people on the time they use the gym in the worst-case scenario.

 

Part A was written by Max Adams

Considering public health, our product solution addresses the problems of overcrowding in the gym and the effects it has on aspiring and current gym goers. Current gym goers will be able to pick better times to exercise, improving their physical fitness. Our solution also applies to those who may be reluctant to go to the gym because they are anxious about it being crowded, providing a medium where they can see how crowded it is and pick times when they may feel less anxious when it is not crowded. This will help them both physiologically and psychologically, enabling them to exercise while providing the comfort of knowledge in the crowding state of the gym space. 

 

Part B was written by Sid Sapra

Our gym tracking app meets the need for real-time insights into gym occupancy and equipment usage which allows it to have a large social impact on individuals focusing on fitness. By predicting crowd levels and machine availability, it enables users to plan their workouts efficiently, fostering a sense of community by promoting collaborative sharing of equipment. This not only streamlines the workout experience but also addresses social factors such as varying cultural attitudes towards exercise and socioeconomic backgrounds, contributing to a more inclusive and connected fitness community.

 

Part C was written by Derek Kim

Our solution addresses the need for efficient gym space management by displaying real-time gym occupancy data to users. By integrating sensors into gym benches and leveraging machine learning algorithms to analyze occupancy patterns, our solution optimizes the use of gym facilities and enhances the overall experience for gym-goers. However, in our specific case, this would be a service that we would be providing to CMU students which means that it is not a product that we are selling. 

However, this solution can be scaled to fit the needs of commercial gyms since commercial gyms often have occupancy issues. In this case, our solution offers several economic benefits. Making real-time gym data available to consumers can help combat congestion in the gym space which will allow for an increase in gym capacity each day. Additionally, this service would be very helpful for people who are busy and need to plan their gym sessions during the day; this service would attract many more customers who often find it hard to make time to go to the gym, especially during high occupancy hours. Finally, our product would give access to historical data on gym usage which allows gym management to make more data-driven decisions to further improve their efficiency. Overall, our solution provides economic benefits by optimizing resource utilization and improving consumer experience.

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.