wiki:Other/Summer/2025/CityOS

Version 14 (modified by sh1746, 22 hours ago) ( diff )

CityOS

Project Information

CityOS is a project organized and developed under the guidance of Dr. Jorge Ortiz at WINLAB, Rutgers University. The entire goal for this project is to research how privacy is handled within data collection as groundwork for future privacy infrastructure within the contexts of smart cities and urban living. Currently, the methods of data collection are separated into three main API's, which the teams under Dr. Ortiz have been working on before our arrival. The first API, also called the single locality data aggregation, is where the data is collected, used, and then discarded in a continuous fashion

Our key mission is to leverage computer vision and machine learning algorithms to create a smart parking system that predicts parking availability, reduces congestion, and improves urban quality of life.

Documentation

Our parking predictor consists of 5 main components, which are the following: the Data Collection, Video Processing, Data Formatting, Prediction Modeling, and the User Interface.

The data collection is being done from the Rutger's Winlab Camera which is pointed into the adjacent parking lot. It collects video footage daily from 8 am to 8 pm.

The video processing is where the video footage is analyzed for information. In our case, it is checking each of our 10 parking spots for availability. When a vehicle parks in any of the spots, it will return data that this spot has been occupied. We accomplished this functionality using OpenCV and YOLOv8.

The video formatting is where the video data is formatted and aggregated into a CSV file. Within a line, it displays the spotID number, Month, Day, Year, Hour, Minute, Second, and the status of whether the spot is occupied or free.

The prediction model is where the aggregated data is imported in order to train and teach a machine learning model. In our project, we are using a Random Forest model, which will take the data and use it to predict the occupancy given a spotID and a time.

The user interface is where people can interact with our systems. We are planning to implement a large interactive UI where users are able to see a mock replica of the parking lot and are able to then select and visualize parking lot occupancy over the days and weeks.

Weekly Progress

Week 1

  • Met with Dr. Ortiz to define project scope.
  • Began researching and learning about data regression models.
  • Reading documentation on similar works.

Week 2

  • Drafted the detailed system design document.
  • Obtained video feed of the parking lot and applied YOLOv8 for object detection.
  • Outlined the system architecture, including the Data Logger, ML Model Trainer, and Prediction API.

Week 3

  • Implemented and tested three initial ML models: Linear Regression, Naive Bayes, and Gradient Boosting.
  • Achieved initial prediction results on sample data.
  • Began learning about Decision Tree and Random Forest algorithms for future implementation.

Week 4

  • Implemented and tested Decision Tree and Random Forest ML models.
  • Created the website, which holds documentation and the web app.
  • Continued with data collection and aggregation for ML models.

Week 5

  • Created and filled the design documentation section of the website.
  • Designed a mock-up layout of the web app with components.
  • Collected and imported more data, as well as correcting some overfitting with the model
  • Ran RandomCV and GridsearchCV across multiple folds for optimization and cross-validation
  • Generated occupancy histograms per day to visualize trends in each lot

Week 6

  • Created 3D model assets of vehicles for the web app.
  • Generated occupancy graphs from the machine learning model.
  • Continued collecting more data to train the model.

Week 7

  • Implemented a finished rough layout of the parking web app and connected it to the website.
  • Analyzed graphs outputted by the Random Forest's prediction and the actual camera detection of that day.
  • Conceptualized an expansion of the project utilizing more of the parking lot, which requires a new detection model not based on bounding boxes or points.

Week 8

Week 9

Week 10

Other Information

Attachments (6)

Note: See TracWiki for help on using the wiki.