Inspiration
Streetlights light up highways at night to help the driver see where they are going. However, oftentimes late at night, there are many highways that are left empty with no drivers. In these areas, there is a lot of energy gone to lighting up streets for nobody to use. Our project aims to mitigate the energy costs from such lack of use of lights.
What it does
Our project saves energy by keeping street lamps off when there are no cars present and turning them on as cars need it. It is similar in character to motion sensing lights in rooms. Our project is a device that tracks cars using computer vision and as a car passes, it turns on lights that follow the car's motion. Implementing multiple such devices along the highway will allow lights to remain off when they are not in use, hence saving energy.
How we built it
Our project is a model of this device which uses computer vision to detect cars from input footage, and relay the data to turn on LEDs on a breadboard which are representative of street lamps.
Our computer detection system uses the YOLO v7 machine learning model, which is the state of the art in object detection. Given an image, it will find cars with good accuracy and return bounding boxes for them. Based on the coordinates of the bounding box on the screen, and using the position and orientation of the camera, we used calculations involving the homogenous coordinates to determine the position and velocity of the moving cars. The velocity is calculated by comparing multiple frames, which are sampled and analyzed through the computer vision algorithm in even intervals of time. All computation is done on a Jetson Nano, a micocomputer which gives us computational power and allows us to interact with the hardware of the LEDs through control pins. The estimates on energy usage per unit later are based on this hardware.
When a car is detected, a signal is sent on the Nano to activate one of the control pins of the corresponding LED. We turned on 3 LEDs around the cars position, representing 3 lamps around the car for visibility, and had the sequence of LEDs shift as the car moved. Of course, the 3 is arbitrary and can easily be modified to a larger number if needed based on practicality. After the car has passed, based on the velocity, we turn on some LEDs which represent the position of the car after it has passed the camera. Hence, some of the lights will be turned on predictively. The purpose of this is so that we can, assuming the cars go roughly the same speed, spread out the units along longer distances which would require less computational power per kilometer. A good balance between accuracy of the position of the car and computational power is subject to future improvement.
Data Analysis
For our project, we have estimated the amount of energy and money that would be saved.
We first determined the energy consumption of the current lighting system, having looked up the specifications of current highway lighting systems in California. Based on our search results, we found that common wattages for LED high-mast light fixtures vary between 209 and 750 watts, averaging about 450 W (https://www.stouchlighting.com/led-high-mast-light), which is a surprisingly big amount of power.
To calculate the amount of energy saved, we first estimated the number of cars per hour that would be present on the highway, then calculated the energy required to power the lights for the duration of a passing car, multiplying it by the number of cars passing by per hour. For this, we chose an average distance of 200m separating each light pole along the highway, using an estimate for some minimal car velocity.
Assuming that our device would work from 12 am-5 am, when the highways are least active and most unnecessary light-consumption is occuring, with an average flow rate of one car per minute, where all of the cars are evenly spaced out (which is the lower extreme scenario in terms of efficiency), while also assuming a conservative average velocity of 20m/s (45mph), we see that if the power consumption of lamps is 450 watts, out device consumes 20 watts. Keeping in mind that there is one light on each side, since we have one car per kilometre, a separation of 200m between two light poles, results in a 16.2% decrease in energy costs. This amounts to 100 million dollars in annual savings (2 billion dollars go into operating highways every year) and a decrease in 302,354 metric tons per year of carbon emissions (using the formula 0.85 x (KWh/year )) (9,800,000 metric tons being used for generating energy for highways every year).
One can note that the US highway system produces about 10 million tons of carbon every year, hence, our model seems to show a positive net outcome with a significant reduction.
Challenges we ran into
Our main challenges were getting reliable identification of cars from a live video stream given limited computational power, and analysing real world data to determine the feasibility and parameters of our algorithm. We ended up employing a modified version of the popular YOLO algorithm, which allows us to strike a decent balance between identification accuracy and computational cost.
Accomplishments that we're proud of
At the end, we were happy to finally have successful code which would light LEDs in sync with the motion of cars. This is a big accomplishment as it demonstrates the proof of concept and shows that the technology is capable of running fast enough to detect cars successfully and give real time feedback to light LEDs (and hence lamps) successfully.
What we learned
Retrospectively, through this Hacktech project, we believe that we have gained an ample amount of knowledge and skills. Notably, we learnt how to implement Machine Learning code, which was rather new for most members, as well as saw how to combine computer vision software with hardware. Additionally, we were able to enhance our practical skills with soldering the LED system on a breadboard, and subsequently using a jetson nano for real time feedback.
What's next for IllumiNoMore
We would like to adapt our software to handle scenarios which are different than our ideals of cars traveling at a uniform speed in perfect conditions. One thing we would like to account for is inclement weather. If there is rain, snow, or fog, we want to keep more lights on for better visibility, but we only need to turn them on when cars are in the area. We could segment highways into long strips which would turn on lamps on the entire segment when a car enters, and turn them all of when the cars leave. Alternatively, we could make an online user interface for authorities to manually turn on the lights for inclement weather.
We would also like to improve our model to strike a better balance between computational power and accuracy of the cars position. In particular, our current model runs on the Jetson Nano, which is not trivially cheap and still consumes some amount of power ~20W. Of course, we could constantly monitor cars and remove prediction, but that could increase the time of computations. Another thing we want to account for is rare events like accidents for which we would want to keep a nearby light on while the person is there.
There are also alternative implementation ideas to the input data rather than computer vision. One effective way to input data is to use infrared imaging like on speed radars which would give us position and speed. With a combination of infrared inputs and video inputs, we could easily implement this in areas where there is existing infrastructure like speed radars and surveillance cameras on the highway.
Another implementation method that we thought about was using piezoelectric sensors on the road which would give a small electric current when pressured by a car passing over it. By putting a series of piezoelectric detectors, we could detect cars and by measuring the time between pulses, we could calculate velocities. We could spread these sequences of sensors across the same distance we would cameras or IR sensors, and interpolate the rest based on speed. An advantage to this is that since the signals are mechanical, we do not need to have a sensor constantly on, and hence consuming power, to detect cars. Additionally, precipitation would not affect pressure readings negatively while it would make vision based detection harder. Hence, this implementation would be robust to inclement weather.
Log in or sign up for Devpost to join the conversation.