Our inspiration for this open-source project is to develop a platform that developers can use to improve the safety of people all around the world. Specifically, Watchman will provide developers the tools necessary to create commercial and highly profitable applications that help deter theft and other crimes at various locations.
What it does
Watchman is a video surveillance tool which helps a given user to perform human face recognition using an existing knowledge base and validates whether the human in the given video is a threat to the user or not.
How we built it
The way our application achieves the above functionality is making use of image detection features of OpenCV. We detect the images in the video stream and coordinate them with existing images in the local storage. Green boxes over a person's face mean that the face is from one of the known images, and red means it is an unknown person. Any time a red box pops up, the application records the stream and will save a video of the person for future use. Different poses of the human face are used to improve the accuracy of the prediction.
Challenges we ran into
One of the major challenges we ran into was dealing with images which had both known and unknown faces in the image. Treating such images required a more intricate method of image processing so as to process the current information and store the information for future use at the same time.
Accomplishments that we're proud of
The feat we are most proud of is our ability to complete our ambitious goal of real-time surveillance in such a short period of time despite running into various major bugs in our code. Although we spent many hours debugging issues in our code, being able to make our code efficient was a very eye-opening experience and something we will cherish for a long time.
What we learned
One of the lessons we learned during this challenge was that handling a live stream of video data is a very difficult task to manage and can lead to unforeseen problems. Achieving good results with challenging timelines is something which can not be achieved without extensive planning and team management.
What's next for Watchman
We would love to scale our application storage by storing the recorded videos in the cloud and making use of memory resources in an efficient manner. In addition, we would like to make use of information available at public criminal registries to distinguish between people who can cause harm to others. Furthermore, we are hoping to provide support for common security devices. We are excited about the potential and the impact our application can have on human lives all around the world and are eager to dive into it.