Why we built it
As students our most valuable resource is time, recently we have faced the issue of limited study space due to an increasing number of freshmen.
Facing this situation we realized that we had to take action.
What it does
Skeye leverages the power of Computer Vision to give a detailed report about population density on a given space, that can be used for all different kinds of real world applications. From identifying free seats on a college library to identifying potential escape routes during natural disasters, Skeye seeks to radically change the way businesses and other organizations study population flow as well as optimizing space distribution to improve people's daily life.
How we built it
Firmware Built on OpenCV over C++, developed on Ubuntu 16.04 Haarcascade training for people recognition. Vector analysis for people tracking.
Web App - Mobile App We created an Express App in Node.js for the back-end of the web/mobile app. In Express we defined the routes that we used for the web pages as well as the routes for the API that the camera uses to communicate with the database.
API and Database We created a RESTful API for the data stored in the Mongo database. From this API, read and write operation can be performed from arbitrary devises such as a camera or any other HTTP capable device. The database is hosted in MLab and also provides a way for users to be created and authenticate.
Challenges we ran into
OpenCV can be hard to install on Windows, we solved this problem migrating the firmware to Ubuntu. We had several problems with UI because we aren't experts in this area, but this led us to learn about the principles and concepts of UX/UI. Sleep. We haven't solved this problem yet.
Accomplishments that we're proud of
Getting OpenCV to analyze a simple video was an important milestone for the whole project. Managing to solve some challenging back-end tasks such as associating visibility permissions from users to specific buildings. This is the first UI that we are proud of.
What we learned
We learned about the process of converting a simple design or sketch into code in a way that can reflect the usability that we were aiming for. We learned that having knowledge in multiple OS's is important to solve many problems.
What's next for Skeye
Implement our first prototype in a building to start refining the process of capturing real data. Implement heat prints to analyze people flow. Share this technology with first responders in emergency situations to organize a way to use this technology to help in any way possible.