Weekly Status Reports

Ankita’s Status Report for 4/6/24

Ankita’s Status Report for 4/6/24

Work Done I did manage to get a faster object detection model (found in this Git repo) – it’s a YOLOv3 model (so a bit less accurate than the YOLOv4, but it works for our purposes and is less computationally intensive.) This model is also 

Updated Schedule for Interim Demo 4/3/24

Updated Schedule for Interim Demo 4/3/24

Here is our updated Schedule as of 4/2/2024. We have cut into our slack time, with our current testing plans now falling on the week after Carnival (starting April 15) (around the time when we’ll be working on our final presentation.) Each subsystem is close to being 

Team Status Report for 3/30/24

Team Status Report for 3/30/24

Potential Risks and Mitigation Strategies

The new YOLO car detection model is working a lot better and way more accurate than our previous model with the Haar cascades, however it is very slow and takes about 11 seconds to detect the cars, so we are looking into better options.

We also need the object detection algorithm to complete the final trained optimization ML model, however we can still make progress on the basic ML code without that at the moment, so there are still no delays yet.

The simulation took longer than expected to finish, however it is finally done and we resolved the errors we were facing. We are afraid that the simulation might not run on our Pi due to it opening the GUI every time we run it, however we are looking into other Libsumo and other settings so we can run the sim without the GUI. Ankita and Kaitlyn are also going to try to get the sim running on the Pi early next week so we can resolve it earlier in case we run into any issues.

Changes to System Design

The main change to the design is that we no longer plan on using the Haar cascade we initially planned on using.

We also are no longer using both traffic APIs and instead plan on just using the TomTom API since we looked into it more and both provide similar data and TomTom updates more frequently.

Overall Takeaways and Progress

  • New YOLO model working
  • Simulation complete – with car spawning, traffic API inputs, and traffic light state changing functions
  • The PCB has been ordered and is coming next week. We have also completed the Arduino code to control the LEDs and are in the process of testing the code.
Kaitlyn’s Status Report for 3/30/24

Kaitlyn’s Status Report for 3/30/24

Work Done This week I completed the SUMO/TraCI simulation. I modified the simulation to include calibrators, a SUMO feature that allows the simulation to spawn cars to sync with the speed and vehicles per hour you desire. I initially attempted to manually spawn cars but 

Zina’s Status Report for 3/30/24

Zina’s Status Report for 3/30/24

This week, we received the parts we ordered from DigiKey for our Traffic Light Circuit, and I placed the order for our custom PCB after making a couple of small adjustments to the Arduino pin assignments and silkscreen text placements. The fabricated PCB should be arriving 

Ankita’s Status Report for 3/30/24

Ankita’s Status Report for 3/30/24

Work Done

Due to the amount of time needed to tag positive and negative images for the Haar classifier (last week it took 4+ hours to tag ~60 images, and to train a better classifier I would probably want 200-300) I thought it would be more efficient to look into other, more accurate classifiers (pretrained) online. I found a few; the best performing one so far is one that uses the YOLOv4 object detection model. Below is a screenshot of how it performs on one clip of the Fifth and Craig intersection that Zina took last week:

It is evidently fairly accurate; however, as expected, it does take quite a bit more time. After timing it, it takes 5-6 seconds for it to detect cars on a captured frame (but more than 10 if there are many cars. The above screenshot took 11 seconds.)

I’ll continue to remove unnecessary computations (initially the above screenshot took 15 seconds), but I’m looking into other models that can do faster computations, since this is simply too long for our project requirements.

We also ordered the new camera and it came yesterday; I will try to access the stream via RTSP today/tomorrow on my apartment WiFi, since the camera can only connect to the same WiFi that my phone is connected to (so I will work with one of my teammates on Monday to get the camera set up on their phone so that it can hopefully connect to my WiFi hotspot through that. I was unable to get it to connect to my phone’s hotspot while only using my phone.)

Schedule

We have the interim demo coming up, and I will have a faster object detection model ready by then. Due to uncertainties regarding the camera, I’m unsure if I will be able to have the model running on a live camera feed by then.

We also need to start integration, so Kaitlyn and I plan to work together next week to get the SUMO simulation set up on the RPi. I plan to get the object detection algorithm running on the RPi as well (which will be a bit of a task since as of now I’ve only gotten it running on Google Colab.)

Deliverables

By the end of next week, I will:

  • Get the SUMO simulation running on the RPi
  • Reduce the delay of the object detection model
  • Attempt to access the video feed from the IP camera through RTSP

 

Team Status Report for 3/23/24

Team Status Report for 3/23/24

Potential Risks and Mitigation Strategies We had some setbacks with the object detection model and wireless camera setup this week. For object detection, the original plan was to use Haar cascade classifiers to identify the number of traffic objects (cars, buses, pedestrians, etc.), but some 

Zina’s Status Report for 3/23/24

Zina’s Status Report for 3/23/24

This was a productive week for me, as I was able to catch up on the things that I was a bit behind on. The biggest accomplishment of the week was completing the PCB layout. There are a couple of silkscreen labels that I want 

Ankita’s Status Report for 3/23/24

Ankita’s Status Report for 3/23/24

Work Done

I finished tagging the positive and negative images needed to train the vehicle classifier from traffic camera footage as well as the footage Zina retrieved for me from the Fifth and Craig intersection. Unfortunately the commands I would use to train the classifier have since been deprecated, so I ended up using Anaconda to set up a virtual environment and installed an older version of OpenCV through that so I could run the commands. I was ultimately able to train a classifier, but it has pretty terrible accuracy so I think I need to revisit how I’m collecting the data. Most of the tutorials I found online have been using way more samples than what I’ve amassed (on the order of hundreds rather than just 60, which is what we currently have), so I think we need to go back to the drawing board in terms of data collection. Either that, or we should go with a more accurate model (YOLOv4). Also, tagging the images takes a lot of time (for the positive images, bounding box coordinates of each object in the frame need to be specified) so I may need longer to do this than initially anticipated.

I tried to access the IP camera video feed from the Raspberry Pi using RTSP, but after some difficulties I found out that Reolink’s battery-powered cameras don’t actually support RTSP streaming (source.) This means that we won’t be able to access the stream outside of Reolink’s app, so I looked into alternative wireless cameras that do support RTSP streaming and found these options: Amcrest and MubView. If these don’t work, we will probably resort to using prerecorded footage.

Schedule

I need more time to get the car detection model trained. For the pedestrian detection model, I will use a pretrained classifier (even if the accuracy is not necessarily up to our metrics) because all we need to know is if there are pedestrians at the intersection.

We also need to wait for the new camera to come in so that adds some delays to our integration as well.

Deliverables

By the end of next week, I will:

  • Train a (hopefully) better vehicle classifier after amassing more positive/negative samples and tagging them
  • Order the new camera ASAP

 

Kaitlyn’s Status Report for 3/23/24

Kaitlyn’s Status Report for 3/23/24

Work Done This week I finalized the lane detection in SUMO+TraCI. I spent a whole day trying to debug why the function to collect the waiting time for a car did not work and realized it was ultimately due to a type error. There was