CS 8803 HHH – Final Project Report
(Web-Cam Supervision & Security)
Girdhar Malhotra [email@example.com]
Rajiv Iyer [firstname.lastname@example.org]
The work described by this paper essentially focuses on creating a centralized and secure mechanism of accessing image-slices from various web-cams linked together via IP-addresses in such a way so as to achieve an affordable, convenient, portable and easily maintainable system for supervising residential properties. The critical emphasis of this work lies in the cost-effectiveness of the techniques used, the portability of the resulting system as well as low infrastructural requirements (such as low-bandwidth), which is ideally suited for lower income households and for enabling very affordable home security service delivery to the masses.
This project basically involves the usage of low-cost, standard web-cams & IP-cams for the purpose of creating a cost-effective, user-friendly, portable and easily maintainable supervision and security system for regular residential properties. Apart from the technology to link-up and network the cameras, the project also involved the construction of a web-portal with user-registration and login features, so as to create a user-friendly, efficient and secure method of centralized access to the camera feeds.
At present, the system that we have come up with successfully integrates feeds from various web-cameras and provides it in a cohesive bundle in the form of a web portal interface, enabling the user to monitor several web-cam feeds at one-go via the web portal interface in a secure and authenticated manner. The web-portal system we have come up with can also be accessed by smart-phones or phones with internet and multimedia support, a feature which is of great utility in a world increasingly dominated by the massive prevalence of cell-phones and other portable information-access devices. The system, as it currently stands, is therefore a one-click centralized solution for remote monitoring of the residential property by its owner(s) via a secure, easy-to-use web-portal.
Such a system could later be adapted to monitor the activity of children, supervise aged people and to provide supervision of the house. The system could also be extended to use the web-cam footage to create an alert-system announcing the arrival or departure of people or flagging activities/events within the house or to create alerts based on temporal and spatial triggers for providing web-cam feeds. These automatic alerts can then be delivered via the portal and also via text or multimedia messages or via e-mail notification. Such an alert-system could also be designed to trigger alerts if/when a security-breach occurs and could be linked up to emergency services as well. This valuable extension shall be the main focus of future work on this project.
The motivation for such a system comes from the fact that most security and supervision systems available in the market involve extensive wiring up of expensive components and security companies make a killing selling over-priced products to consumers. Also the level of security and detail for a corporate security solution is clearly not required for a home security solution. Not only are existing home security solutions expensive, but they also involve setting up extensive infrastructure which leads to reduced system portability. Furthermore, most solutions are not adapted to the needs, sensibilities and social/economic capacity of the masses, especially lower income households. And most existing solutions assume the availability of high bandwidth and other infrastructural resources and therefore making implicit assumptions on the spending power of the consumer(s).
The main differentiating criteria that differentiates the work in this project from the security/supervision solutions available in the market, is the cost-effectiveness, affordability and portability of our product which could make monitoring-supervision systems easily accessible to the masses, especially to low-income households. Furthermore, our system does not make implicit assumptions about the availability of high bandwidth and other infrastructural resources, thereby being perfectly suited for households which do not have financial means or the social background needed to acquire such infrastructural resources. Another key feature is content delivery via a web-portal, thereby eliminating the need for the user to download a desktop client (which are very notorious for being susceptible to Operating System compatibility issues) and making it more convenient via enabling information access via a web-browser.
While researching current work related to this domain, we found a battery of existing solutions that provide complexity and sophistication to a home security system. We enlist some of the existing solutions available in the market:
- Yaw-Cam (Reference )
- Home-Camera (Reference )
- Yoics (Reference )
- EyeSpyFX (Reference )
- Digi-Watcher (Reference )
- Crime-Catcher (Reference )
- Dorgem (Reference )
We believe the product developed as a result of our efforts in this project, while not being as sophisticated as the aforementioned solutions, shows great promise of future development and we sincerely believe in the cost-effectiveness of our solution. Furthermore, all the above products provide video-streaming of web-cam feeds and are therefore bandwidth inefficient, while our product by virtue of providing periodic image-sampling saves on a precious resource such as bandwidth. Finally, most of the above solutions require the installation of a desktop client, which makes it susceptible to operating system incompatibilities and complicates support for such products.
System Architecture, Components & Implementation:
The system that we have designed captures image-slices from individual web-cams, links it up together using the IP-addresses of the web-cams and then provides it in a cohesive, centralized method of access via a web-portal which can be accessed by users in a secure way by means of any internet-enabled and multimedia enabled devices.
When the user registers for the first time, he is prompted for standard information like name, user-name, password, etc. as well as information regarding the property address/location which he/she seeks to monitor as well as providing a list of cameras along with their descriptions (e.g.: Hall Camera, Kitchen Camera, etc.) and the IP-addresses of the cameras. All such information is stored into the Database for future retrieval. On Login the user is presented with the list of cameras that are currently registered in association with the corresponding property. He/she can then choose to view individual camera image-capture feeds or also access the option of viewing all the camera feeds in one page at one go.
As can be seen from the above figure, we had to design a user-interface in the form of the Web-Portal through which the user is able to access the individual or aggregated image-captured feed from the web-cams. This Web Portal was implemented in PHP & HTML and serves as the front-end. The back-end is constituted by the Database which was designed and implemented in standard SQL – this database stores pertinent information about the user (his login credentials, name, address and other attributes), as well as storing information specific to individual cameras. We mine data from the database and embed the results into an HTML/PHP page which is rendered by a standard web-browser to the user.
In this project, we choose to deliver image-slices from the web-cam feeds. The reason for doing this is two-fold: (1) We believe that image-slices are almost as effective and functional in conveying pertinent information to the user as compared to video streams, (2) The Bandwidth requirement of our application is significantly lesser as compared to the bandwidth requirement of video streaming applications. This means that our designed solution can therefore be marketed effectively to low-income households and to people in developing countries where bandwidth is scarce and expensive. While this is a major advantage, we have taken care to permit the user to adjust and fine-tune the slicing interval – for example, the user can select the slicing interval to be 1 second or 3 seconds or 10 seconds and so on, and accordingly our application will sample images from the video feeds from the web-cams, process them and deliver them to the user via the web-portal. The user can adjust a variety of settings (including the slicing interval) via the client program we have designed to interact with the individual web-cam feed on the registered laptop/desktop.
This project involved a fair bit of Database schema design implemented on a MySQL Database on the WAMP Server and web-page design using HTML. It also involved achieving secure registration and login, session management and database connectivity using PHP code. It also involved creation and implementation of a client program which would interact with the device drivers, the O.S. and the web-cam to obtain video-feed from the web-cam. Based on user preferences and settings (with specific reference to the slicing interval parameter), it then samples the video feed at periodic intervals resulting in refreshed image-feeds. This feed is broadcasted onto a specified URL and a specified port number. It is this URL that is captured into the Database of the Web-Portal for future recall and use, and this URL is used to embed the image-capture feeds from the web-camera within the PHP/HTML page.
A major challenge in the project was to design and implement (which we did in the C++ programming language) a client program that would be installed on individual client machines to interact with the web-cam, i.e. to obtain the video-feed from the web-cam, to process it and slice/sample it and broadcast it onto a specified URL and a specified port number. This client program would also facilitate the user to adjust several parameters including the slicing interval, the expected quality of the JPEG image (including color, tone, resolution and compression parameters), and thereby endow the user with a customizable JPEG output which could then be made available at a specified URL and at the requested port number, enabling us to make it available via a web-browser. Designing the website and the database were easier components, but still took analytical thought and user-interface design skills. Also worth mentioning is the fact that we learnt a fair bit of session management implemented in PHP and ensuring validity of sessions as the user navigates from one PHP page to another was a fascinating and challenging experience.
Based on the feedback received during the Open-House, we are happy to report that most guests considered our project in favourable light and believed that it is a marketable and novel solution. We also received feedback pertaining to the complexity with which we can perform image processing and build value-added solutions on top of the application we wrote. We acknowledge that we can indeed build upon this project and take it to the next level and we mention the specifics of how to go about doing this in the next section. In summary, we had a fascinating and interesting experience while working on this project and picked up a lot of interesting concepts in programming design, implementation details and user-interface design.
Having provided a portable, affordable mechanism of accessing web-cam feeds, the logical extension to this work would consist of creating value-added services on top of this foundational base. As future work, we envisage the creation of a sophisticated alert system which would enable a feature-rich experience for the home-owner(s). Such an alert system could provide the following features:
- Arrival/Departure of People: The alert system could be designed to announce the Arrival of people into the house or Departure of people from the property. This could be made people-specific by allowing the user to tag individual people (by uploading sample photographs) and then performing image-recognition algorithms on the image-slices obtained from the web-cam feeds. For example, the alert system could announce the arrival of the daughter of the home owner or the departure of the spouse of the property owner. At the same time, using image recognition, based on negative match from the Database samples (tagging samples), the alert system could trigger alerts about the presence of suspicious/unrecognized individuals on the property.
- Flagging activities/events: The alert system could be designed to alert the user of certain activities or events occurring within the house, including the conduction of social get-togethers, parties or other events in the house. It can also be used to alert the owner about suspicious/malicious activities in and around the property, as well as flagging hazardous conditions (excessive smoke/smog, flooding, etc.) within the house based on the images captured from the web-cams.
- Temporal/Spatial Triggers: The alert system could be designed to alert the user based on temporal and spatial triggers or the occurrence of specific events in a temporal/spatial context. For example, the user might wish to get alerts at 4pm on Monday about the state of the house (including sample image-slices from the web-cam feeds) between 3pm and 4pm of the same day. Or the user might wish to access all images from web-cams in the patio between 6pm and 7pm on a Tuesday (and so on).
- Alert Delivery: All the above alerts can be delivered to the user not only via authenticated web-portal access, but also on a plethora of mobile phone devices or other internet and multimedia enabled devices. For example, we could create alerts that can be delivered via SMS or MMS to cell-phones or via e-mail notification.
Since Facebook has revolutionized the way people share information and opinions, and since Facebook has become a dominant player in social media, it would make logical sense for us to exploit social-context Information by linking to the Facebook profile of the user. This would involve:
- User Registration & Login using FB-Connect
- Mining user information from Facebook (via the Facebook Graph API)
- Obtaining pictures & information of Friends & Relatives from Facebook, eliminating the need of manual user tagging and eliminating the need for the user to provide tagged sample pictures. Therefore, we can obtain picture samples from Facebook and then perform imagine recognition processing to process and deliver alerts.
- We could also dispatch alerts & notifications via private-message on Facebook.
The video demo (along with a short presentation) is uploaded on Youtube and can be found at the below link: