As students at Columbia, we noticed that many rooms on campus either leave their lights on constantly or use timed motion sensors. Motion sensor timers frequently shut off when people are still in the room (inconveniencing them to get up), or wait for hours of no motion before turning off. By creating a more efficient way to detect whether a room is occupied, the Deluminator could help dramatically reduce power usage and improve energy sustainability.
What it does
The Deluminator uses a camera to periodically take a photo of a room. That photo is then analyzed using the Clarifai API, which can represent a wide range of entities, including people and faces. If we determine that there are no people in a room, we trigger our light attached to our Arduino to shut off.
How we built it
We utilized our computer's webcam via OpenCV to take a photo of a room every 3 seconds. We then used the General model provided by Clarifai to see whether any tags associated with people (e.g. "man," "woman," "person," etc...) were present. As a second pass, we ran Clarifai's Face Detection model to see if any faces are in the scene. If both these passes do not detect a person, our program sends a signal to the connected Arduino to shut off its diode lights.
Challenges we ran into
The Clarifai API was very well-documented, but it was our first use of computer vision technology and required some getting used to. Installing the various Python packages necessary for our project was a lengthy process, whether it be for Clarifai or using our laptop webcam via the OpenCV API.
Accomplishments that we're proud of
The Deluminator is able to very accurately determine whether people are present, even if their backs are turned to the camera and are small in scale in the room.
What's next for Deluminator
While we demonstrated the Deluminator using an Arduino with lights, such a system could be extended to work with security cameras and lighting of real buildings. It could also potentially be used in anti-theft devices to determine intruders through facial detection.