You are on page 1of 29

Motion Detection Security Camera Introduction This text tries to clear out the mystery of how to make motion

detection using web cam with security using VB.NET. All business wants to capture video to his office by a web cam for 24 hrs, but the problem is that the space required on hard-disk is very extreme. So, to make a way to save disk space. Valid proposed to make a motiondetection circuit (IR, Ultra sonic) and connect it to the PC serial port and check for input every period of time. If there is any input then run the record program and start to capture video. But I replied that its a bad way because the thief will run away before the slow computer requests a web cam to start capturing video. Project Concept So my idea was to take a position from a web cam on the product (Safer, locker) every period of time the camera focus to the product, in any movement before the camera, the security system alert sounds, take pictures and dial to particular cell or phone number via com port. There are many approaches for motion detection in a continuous video stream. All of them are based on comparing of the current video frame with one from the previous frames or with something that we'll call background. To describe some of the most common approaches. One of the most common approaches is to compare the current frame with the previous one. It's useful in video compression when you need to estimate changes and to write only the changes, not the whole frame. But it is not the best one for motion detection applications. So, let me describe the idea more closely. Assume that we have an original 24 bpp RGB image called current frame (image), a grayscale copy of it (currentFrame) and previous video frame also gray scaled (backgroundFrame). First of all, let's find the regions where these two frames are differing a bit. For the purpose we can use Difference and Threshold filters.

Project Language Version

: Motion Detection Security Camera : VB.NET : 2005

1. Introduction Ambient intelligence is a digital environment that is responsive and adaptive to human presence. Within a home environment ambient intelligence can improve the quality of life by creating a functional, inter-connected, personalized systems and services. Ambient intelligence technologies are expected to combine concepts of ubiquitous computing and intelligent systems putting humans in the centre of technological developments.

Todays many intelligent systems utilize forms of inputs from video cameras. The basic usage of such computer vision based systems is motion tracking, for our project namely human motion tracking and fire detection or locker watcher with a pan-tilt web camera. Additionally, our system is capable of sending a warning message in case of an unexpected situation (fire detection or it can be non entrance area) Some examples of applications with reliable human motion detection and tracking are: Automated surveillance for security-conscious venues such as airports, casinos, museums, and government installations: Intelligent software could monitor security cameras and detect suspicious behavior. Automated surveillance increases the productivity of the human operator and coverage of the surveillance. Human interaction with mobile robotics: Autonomous mobile robots in the workplace or home could interact with the humans around them if they could reliably detect their presence. For example, robots can assist to the elderly or disabled people when assistance is needed Based on the motion of a person. Safety devices for pedestrian detection on motor vehicles: Intelligent software on a camera-equipped car could distinguish pedestrians and warn the driver.

Other applications include athlete training, clinical gait analysis, traffic monitoring. What would be useful in real life applications is a camera that can track a person of interest on a dynamic and realistic background. The purpose of using a pan-tilt camera is so that the system can acquire moving person from a broader field of view. Additionally, some important considerations, when designing a system like above, include the need for fast processing speeds, as the system is a hard real time system. Also, accuracy must be maintained throughout all the components of the design, since the reliability of the system depends on the weakest component. The rest of this document describes our solution for how this can be achieved.

2. System Description The real time human tracking and fire detection system consists of a camera, a PC, power supplies, two servo motors, and a tripod for the web camera. The camera is capable of panning and tilting and is controlled via the commands from the serial port of the computer and the servos. The servos receive instructions from one of the PCs USB ports to manipulate direction. The autonomous decisions are made by the main intelligence software on the PC. Motion Detection There are many approaches for motion detection in a continuous video stream. All of them are based on comparing of the current video frame with one from the previous frames or with something that we'll call background. In this article, I'll try to describe some of the most common approaches. Algorithms One of the most common approaches is to compare the current frame with the previous one. It's useful in video compression when you need to estimate changes and to write only the changes, not the whole frame. But it is not the best one for motion detection applications. So, let me describe the idea more closely.

Assume that we have an original 24 bpp RGB image called current frame (image), a grayscale copy of it (currentFrame) and previous video frame also gray scaled (backgroundFrame). First of all, let's find the regions where these two frames are differing a bit. For the purpose we can use Difference and Threshold filters. Collapse | Copy Code // create filters Difference differenceFilter = new Difference( ); IFilter thresholdFilter = new Threshold( 15 ); // set backgroud frame as an overlay for difference filter differenceFilter.OverlayImage = backgroundFrame; // apply the filters Bitmap tmp1 = differenceFilter.Apply( currentFrame ); Bitmap tmp2 = thresholdFilter.Apply( tmp1 ); On this step we'll get an image with white pixels on the place where the current frame is different from the previous frame on the specified threshold value. It's already possible to count the pixels, and if the amount of it will be greater than a predefined alarm level we can signal about a motion event. But most cameras produce a noisy image, so we'll get motion in such places, where there is no motion at all. To remove random noisy pixels, we can use an Erosion filter, for example. So, we'll get now mostly only the regions where the actual motion was. Collapse | Copy Code // create filter IFilter erosionFilter = new Erosion( ); // apply the filter Bitmap tmp3 = erosionFilter.Apply( tmp2 );

The simplest motion detector is ready! We can highlight the motion regions if needed. Collapse | Copy Code // extract red channel from the original image IFilter extrachChannel = new ExtractChannel( RGB.R ); Bitmap redChannel = extrachChannel.Apply( image ); // merge red channel with motion regions Merge mergeFilter = new Merge( ); mergeFilter.OverlayImage = tmp3; Bitmap tmp4 = mergeFilter.Apply( redChannel ); // replace red channel in the original image ReplaceChannel replaceChannel = new ReplaceChannel( RGB.R ); replaceChannel.ChannelImage = tmp4; Bitmap tmp5 = replaceChannel.Apply( image );

Here is the result of it:

From the above picture we can see the disadvantages of the approach. If the object is moving smoothly we'll receive small changes from frame to frame. So, it's impossible to get the whole moving object. Things become worse, when the object is moving so slowly, when the algorithms will not give any result at all. There is another approach. It's possible to compare the current frame not with the previous one but with the first frame in the video sequence. So, if there were no objects in the initial frame, comparison of the current frame with the first one will give us the whole moving object independently of its motion speed. But, the approach has a big disadvantage - what will happen, if there was, for example, a car on the first frame, but then it is gone? Yes, we'll always have motion detected on the place, where the car was. Of course, we can renew the initial frame sometimes, but still it will not give us good results in the cases where we can not guarantee that the first frame will contain only static background. But, there can be an inverse situation. If I'll put a picture on the wall in the room? I'll get motion detected until the initial frame will be renewed. The most efficient algorithms are based on building the so called background of the scene and comparing each current frame with the background. There are many approaches to build the scene, but most of them are too complex. I'll describe here my approach for building the background. It's rather simple and can be realized very quickly.

As in the previous case, let's assume that we have an original 24 bpp RGB image called current frame (image), a grayscale copy of it (currentFrame) and a background frame also gray scaled (backgroundFrame). At the beginning, we get the first frame of the video sequence as the background frame. And then we'll always compare the current frame with the background one. But it will give us the result I've described above, which we obviously don't want very much. Our approach is to "move" the background frame to the current frame on the specified amount (I've used 1 level per frame). We move the background frame slightly in the direction of the current frame - we are changing colors of pixels in the background frame by one level per frame. Motion Alarm It is pretty easy to add motion alarm feature to all these motion detection algorithms. Each algorithm calculates a binary image containing difference between current frame and the background one. So, the only we need is to just calculate the amount of white pixels on this difference image. Another possible way to detect moving objects is by investigating the optical flow which is an approximation of two dimensional flow field from the image intensities, is computed by extracting a dense velocity field from an image sequence. The optical flow field in the image is calculated on basis of the two assumptions that the intensity of any object point is constant over time and that nearby points in the image plane move in a similar way. Additionally, the easiest method of finding image displacements with optical flow is the feature-based optical flow approach that finds features (for example, image edges, corners, and other structures well localized in two dimensions) and tracks these as they move from frame to frame. Furthermore, feature based optical flow method involves two stages. Firstly, the features are found in two or more consecutive images. The act of feature extraction, if done well, will both reduce the amount of information to be processed (and so reduce the workload), and also go some way towards obtaining a higher level of understanding of the scene, by its very nature of eliminating the unimportant parts. Secondly, these features are matched between the frames. In the simplest and commonest case, two frames are used and two sets of features are matched to give a single set of motion vectors.

Additionally, finding optic flow using edges has the advantage (over using two dimensional features) that edge detection theory is well advanced. It has the advantage over approaches which attempt to find flow everywhere in the image. The features are found according to the below algorithm:

Feature selection algorithm : 1. Compute the spatial gradient matrix and its minimum eigenvalue at every pixel in the image I. 2. Call the maximum value of eigen values over the whole image. 3. Retain the image pixels that have a eigen value larger than a percentage of maximum eigen values. This percentage can be 10% or 5%. 4. From those pixels, retain the local max. pixels (a pixel is kept if its eigen value is larger than that of any other pixel in its 3 x3 neighborhood). 5. Keep the subset of those pixels so that the minimum distance between any pair of pixels is larger than a given threshold distance (e.g. 10 or 5 pixels).[4]

1. Computation of Optical Flow : The idea of optical flow is to calculate some function, velocity vector v = (u,v), for each pixel in an image. The function v (u,v) describes how quickly each particular pixel is moving across the image stream along with the direction in which the pixel is moving. Consider an image stream described in terms of intensity as I(x,y,t). The intensitys position change over time is:

2. Extra Object Detection Every year, thousands of people lost in the home thefts. There are a lot of reasons for these thefts like less security theft detection system based on video processing. When thief is detected, alarm sound begin to play with high volume. By this alarm sound, if there is a person in the next rooms, he or she can catch target person. We designed our fire detection system based on Flame Recognition in Video method . In this method, color and motion information are computed from video sequences to detect fire. According to RGB color information of pixels, fire colored pixel are detected. Fire colored pixels are possible fire pixels. To ensure about fire, temporal variations of fire colored pixels are calculated. If temporal variation is above some level, fire is detected.

Our fire detection system contains three main parts: 1- Finding fire colored pixels (possible fire pixels) 2- Controlling temporal variations of fire colored pixels 3- According to temporal variations, detection of fire

System Design Features The system should be able to provide means for efficient and less time consuming. The system should be more user friendly editing software. It should provide the necessary help pages for user reference. It should also provide the facility of storing the necessary settings of the software. Support basic formatting commands such as Bold, Italic, Underline, Strikeout, Font Name, Font Size, Font Color, Justification (Left, Right, and Center), Bullets and Number Lists. Dialogs should be presented to the user for modifying Font and Color attributes. Provide for standard Cut, Copy, Paste, Undo, Redo, Select All, and commands. Allow for the inserting and removing indentation. Allow the inclusion of images along with alternative text and text alignment options. Allow for the insertion of web links (Anchor tags), including the definition of the target frame. Allow for the insertion of a horizontal line for text separation. Provide a Find and Replace mechanisms. This dialog should highlight the appropriate text upon a find, and support a Replace All operation.

User Interface: The user interface design deals with the identification of the user and how the user interacts with the new computer system. The system is designed with highly user friendly interface. Software Interface: .Net Before getting deeply into the subject we will first know how Businesses are related to Internet, what .NET means to them and what exactly .NET is built upon. As per the product documentation from a Business perspective, there are three phases of the Internet. The First phase gets back to the early 1990's when Internet first came into general use and which brought a big revolution for Businesses. In the First phase of the Internet Businesses designed and launched their Website's and focused on the number of hits to know how many customers were visiting their site and interested in their products, etc. The Second phase is what we are in right now and in this phase Businesses are generating revenue through Online Transactions. We are now moving into the Third phase of the Internet where profit is the main priority. The focus here is to Businesses effectively communicate with their customers and partners who are geographically isolated, participate in Digital Economy and deliver a wide range of services. How can that be possible? The answer, with .NET. What is .NET ? way of controlling the Internet, which is false. .NET is Microsoft's strategy of software that provides services to people any time, any place, on any device. An accurate definition of .NET is, it's an XML Web Services platform which allows us to build rich .NET applications, which allows users to interact with the Internet using wide range of smart devices (tablet devices, pocket PC's, web phones etc), which allows to build and integrate Web Services and which comes with many rich set of tools like Visual Studio to fully develop and build those applications.

.NET Framework AdvanTags The .NET Framework offers a number of advanTags to developers. The following paragraphs describe them in detail. Consistent Programming Model Different programming languages have different approaches for doing a task. For example, accessing data with a VB 6.0 application and a VC++ application is totally different. When using different programming languages to do a task, a disparity exists among the approach developers use to perform the task. The difference in techniques comes from how different languages interact with the underlying system that applications rely on. With .NET, for example, accessing data with a VB .NET and a C# .NET looks very similar apart from slight syntactical differences. Both the programs need to import the System.Data namespace, both the programs establish a connection with the database and both the programs run a query and display the data on a data grid. The VB 6.0 and VC++ example mentioned in the first paragraph explains that there is more than one way to do a particular task within the same language. The .NET example explains that there's a unified means of accomplishing the same task by using the .NET Class Library, a key component of the .NET Framework. The functionality that the .NET Class Library provides is available to all .NET languages resulting in a consistent object model regardless of the programming language the developer uses. Visual Basic .NET Visual Basic .NET provides the easiest, most productive language and tool for rapidly building Windows and Web applications. Visual Basic .NET comes with enhanced visual designers, increased application performance, and a powerful integrated development environment (IDE). It also supports creation of applications for wireless, Internet-enabled hand-held devices.

Powerful Windows-based Applications Visual Basic .NET comes with features such as a powerful new forms designer, an in-place menu editor, and automatic control anchoring and docking. Visual Basic .NET delivers new productivity features for building more robust applications easily and quickly. With an improved integrated development environment (IDE) and a significantly reduced startup time, Visual Basic .NET offers fast, automatic formatting of code as you type, improved IntelliSense, an enhanced object browser and XML designer, and much more. Building Web-based Applications With Visual Basic .NET we can create Web applications using the shared Web Forms Designer and the familiar "drag and drop" feature. You can double-click and write code to respond to events. This project done by Visual Basic .NET 2005 comes with an enhanced Web Page Tag Generator for working with complex Web pages. We can also use IntelliSense technology and tag completion, or choose the Web Page Tag Generator for visual authoring of interactive Web applications. Simplified Deployment With Visual Basic .NET we can build applications more rapidly and deploy and maintain them with efficiency. Visual Basic .NET 2005 and .NET Framework 2.0 makes "DLL Hell" a thing of the past. Side-by-side versioning enables multiple versions of the same component to live safely on the same machine so that applications can use a specific version of a component. XCOPY-deployment and Web auto-download of Windowsbased applications combine the simplicity of Web page deployment and maintenance with the power of rich, responsive Windows-based applications. Improved Coding You can code faster and more effectively. A multitude of enhancements to the code editor, including enhanced IntelliSense, smart listing of code for greater readability and a background compiler for real-time notification of syntax errors transforms into a rapid application development (RAD) coding machine. Direct Access to the Platform Visual Basic developers can have full access to the capabilities available in .NET Framework 2.0. Developers can easily program system services including the event log,

performance counters and file system. The new Windows Service project template enables to build real Microsoft Windows NT Services. Programming against Windows Services and creating new Windows Services is not available in Visual Basic .NET Standard, it requires Visual Studio 2005 Professional, or higher. Full Object-Oriented Constructs You can create reusable, enterprise-class code using full object-oriented constructs. Language features include full implementation inheritance, encapsulation, and polymorphism. Structured exception handling provides a global error handler and eliminates spaghetti code. OOP with VB OOP Basics Visual Basic was Object-Based, Visual Basic .NET is Object-Oriented, which means that it's a true Object-Oriented Programming Language. Visual Basic .NET supports all the key OOP features like Polymorphism, Inheritance, Abstraction and Encapsulation. It's worth having a brief overview of OOP before starting OOP with VB. Why Object Oriented approach?

A major factor in the invention of Object-Oriented approach is to remove some of the flaws encountered with the procedural approach. In OOP, data is treated as a critical element and does not allow it to flow freely. It bounds data closely to the functions that operate on it and protects it from accidental modification from outside functions. OOP allows decomposition of a problem into a number of entities called objects and then builds data and functions around these objects. A major advanTag of OOP is code reusability. Some important features of Object Oriented programming are as follows:

Emphasis on data rather than procedure Programs are divided into Objects Data is hidden and cannot be accessed by external functions Objects can communicate with each other through functions

New data and functions can be easily added whenever necessary Follows bottom-up approach

Concepts of OOP:

Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism

VB Language Visual Basic, the name makes me feel that it is something special. In the History of Computing world no other product sold more copies than Visual Basic did. Such is the importance of that language which clearly states how widely it is used for developing applications. Visual Basic is very popular for it's friendly working (graphical) environment. Visual Basic. NET is an extension of Visual Basic programming language with many new features in it. The changes from VB to VB .NET are huge, ranging from the change in syntax of the language to the types of projects we can create now and the way we design applications. Visual Basic .NET was designed to take advanTag of the .NET Framework base classes and runtime environment. It comes with power packed features that simplify application development. Briefly on some changes: The biggest change from VB to VB .NET is, VB .NET is Object-Oriented now. VB .NET now supports all the key OOP features like Inheritance, Polymorphism, Abstraction and Encapsulation. We can now create classes and objects, derive classes from other classes VB6 Many new controls have been added to the toolbar to make application development more efficient VB .NET now adds Console Applications to it apart from Windows and Web Applications. Console applications are console oriented applications that run in the DOS version and so on. The major advanTag of OOP is code reusability The Command Button now is Button and the TextBox is TextBox instead of Text as in

All the built-in VB functionality now is encapsulated in a Namespace (collection of different classes) called System New keywords are added and old one's are either removed or renamed VB .NET is strongly typed which means that we need to declare all the variables by default before using them VB .NET now supports structured exception handling using Try...Catch...Finally syntax The syntax for procedures is changed. Get and Let are replaced by Get and Set Event handling procedures are now passed only two parameters The way we handle data with databases is changed as well. VB .NET now uses ADO .NET, a new data handling model to communicate with databases on local machines or on a network and also it makes handling of data on the Internet easy. All the data in ADO .NET is represented in XML format and is exchanged in the same format. Representing data in XML format allows us for sending large amounts of data on the Internet and it also reduces network traffic when communicating with the database VB .NET now supports Multithreading. A threaded application allows to do number of different things at once, running different execution threads allowing to use system resources Web Development is now an integral part of VB .NET making Web Forms and Web Services two major types of applications Windows Forms In Visual Basic Its these Forms with which we work. They are the base on which we build, develop all our user interface and they come with a rich set of classes. Forms allow us to work visually with controls and other items from the toolbox. In VB .NET forms are based on the System.Windows.Forms namespace and the form class is System.Windows.Forms.Form. The form class is based on the Control class which allows it to share many properties and methods with other controls. When we open a new project in Visual Basic the dialogue box that appears first is the one which looks like the image below. Since we are working with Windows Applications (Forms) you need to select WindowsApplication and click OK.

Controls A control is an object that can be drawn on to the Form to enable or enhance user interaction with the application. Examples of these controls, TextBoxes, Buttons, Labels, Radio Buttons, etc. All these Windows Controls are based on the Control class, the base class for all controls. Visual Basic allows us to work with controls in two ways: at design time and at runtime. Working with controls at design time means, controls are visible to us and we can work with them by dragging and dropping them from the Toolbox and setting their properties in the properties window. Working at runtime means, controls are not visible while designing, are created and assigned properties in code and are visible only when the application is executed. There are many new controls added in Visual Basic .NET and we will be working with some of the most popular controls in this section. You can select the controls from the menu towards the left-hand side of this page.

2.2 PRODUCT FUNCTION: Provide an integrated toolbar to perform the standard text editing functions, and other essential functions (as listed in the above points). Allow for the Insert mode (overwrite), word wrapping options to be toggled, and the visibility of scroll bars to be defined. Allow the use of context menus that include all the required text formatting commands. The context menu should be sensitive to the users selection. Allow for the insert, removal, and property definition of tables. Have the ability to simply set the text of the document body, the inner text of an Html Document; a browsable designer property. Allow for the assignment of the complete Body element (Body outer Html), preserving and body properties. Also allow for the assignment of the Body contents, Body inner Html. Support the inclusion of Headings and Formatted blocks of text. This operation should be able to be performed in reverse; set to Normal style.

Body Properties Have the ability to define the default body background and foreground colors. Allow for the ability of the Html content to be viewed or edited directly. Allow for the pasting of Text and Html Markup. Allow a reference to a stylesheet to be applied to the

document at runtime. The purpose is to allow the definition of a corporate wide stylesheet that all documents should reference for standardizing fonts, colors, etc. Allow a reference to a script source file to be applied to the document at runtime. The purpose is to allow the use of a corporate script file that can be used for handling links requiring programmatic redirection. Allow for the ability to ensure all links are forwarded to a new browser window; and not rendered within the window containing the original link. Allow a document to be loaded by a given URL. The Web Page Tag Generator is not designed to provide similar functionality to Web Page Tag Generator Products; such as Microsoft FrontPage. For complex layout requiring Styles, Absolute Positing, Frames, Multi-Media, etc, these products should be utilized. External Behavior Operations that the control The toolbar is non interactive in that it does not toggle Bold, Underline, and Italic state based on the user selection. Support is only included for a single Font selection and not Font Families. Multiple Selections of items is not supported and all operations are based on a single selected control. Simple Font properties are used rather than style attributes. The inclusion of style attributes brings around complexity regarding the use of Span tags. There was the option to have the control be Tab driven; supporting Design, Edit Html, and Preview. This would then have made the control look more like a fullyfunctional Web Page Tag Generator rather than a replacement to the Rich Text Box. 2.2.1 Economical Feasibility: This is the most important aspect that has to be critically evaluated. This includes the feasibility study of cost-benefit analysis. This is an assessment of the economic justification for a computer based system project. The installation of this software is also easier where the user itself without spending costs for installation may easily install. The management accepted economical feasibility report specifying cost versus benefit and the proposed system if installed, would be a good investment for it. The

sources in terms of the hardware, software and skilled staff are readily available incurring no extra cost. Hence the project is economically feasible. Recommended Implementation: The proposed system performs the factors mentioned above which makes the proposed system a feasible one. Since the proposed system may be acceptable by the management because of the above factors mentioned, it is recommended for implementation. After careful study and analysis of the system the following facts are found. The major functionalities are identified in the system and categorized into subsystems. Each operation in the subsystem is treated as a separate module that differs from others but interact with each other.

Security Camera Main Module One of the most common approaches is to compare the current frame with the previous one. It's useful in video compression when you need to estimate changes and to write only the changes, not the whole frame. But it is not the best one for motion detection applications. So, let me describe the idea more closely. Assume that we have an original 24 bpp RGB image called current frame (image), a grayscale copy of it (currentFrame) and previous video frame also gray scaled (backgroundFrame). First of all, let's find the regions where these two frames are differing a bit. For the purpose we can use Difference and Threshold filters. Compare one frame to next frame of the capturing video from camera the result will be same the alaram mode is off, then the comparing the concurrent video stream will be more different the alaram is on, the COM dialing is activated. Sub Module : Capture Mode Create Api function, call the create capture mode.

SYSTEM ANALYSIS Existing System: Security camera, are non-functional surveillance cameras designed to fool intruders, or anyone who it is supposedly watching. Those cameras are intentionally placed in a noticeable place, so passing people notice them and believe the area to be monitored by CCTV. All time the camera watch and recorded it. The recorded data volume is too high. Limitations It may accidentally low features. Proposed System A motion detector is a device for motion detection. That is, it is a device that contains a physical mechanism that quantifies motion that can be either integrated with or connected to other devices that alert the user of the presence of a moving object within the field of view. They form a vital component of comprehensive security systems, for both homes and businesses. Its easily detect behind object and camera, the application inform to the users in three way 1. Capture the image 2. Alarm 3. Phoned by COM port

4. SYSTEM DESIGN Design Concepts: Security Camera is designed based on the fundamental design concepts such as modularity and cohesion. As per the design concepts which are given by the software engineering principles. i) System Design: System design is the development of a computer system solution to a problem that has the same components and interrelationship among the components as the original problem. Schedules design activities Works with the user to determine the various data inputs to the system Plans how the policies will be checked through the system Design required outputs Problem specification ii)Input Design: Input design is the process of converting user-originated input to a computer based format. Inaccurate input data are the most common cause of error in data processing. Errors entered by the data entry operators can be controlled by input design. The goal of input design is to provide an easy, logical and error free approach for the endusers. A well - designed format can simplify the task of working through the options. It can reduce the effort of the person who is browsing through the orders as well as to minimize the process. iii)Output Design: In any system, results of processing are communicated to the users and to other systems through outputs. In output design, it is determined how the information is to be displayed for both immediate needs as well as for the complete sequence of operations done by the user.

Iv)Code Design: Coding is defined as a natural consequence of design. Coding in this system is more structured. The system uses as many functions for each piece of work. Each work is modularized, so it leads to code reusability. The programming language characteristics and coding style can affect software quality and maintainability. The initial translation step from detail design to programming language compilers or restriction can lead to complete source code that is difficult to test and maintain. Once the source code has been generated the function of a module should be apparent without reference to a design specification. The code must be understandable stresses simplicity and clarity. The speed of the software is very fast. The developed software is work on Windows based platform. There is no delay in any of the modules Application is working with the maximum speed. 4.2 Modularity: The concept of modularity is that the software is didvided into sperately named and addressable components called modules.The modules are integrated to satisfy the problem requirements.The decomposing will reduce the complexity of the problem. Modular systems consist of well-defined, manageable units with well-defined interfaces among the units. Desirable properties of a modular system includes: Each processing abstract is a well-defined subsystem that is potentially useful in other applications. Each function in each abstraction has a single, well-defined purpose. Modularity enhances design clarity, which in turn eases implementation, debugging, testing, documenting and maintenance of the software product. The modules are easy to understand and hence it will be easy to build and change. The criteria of modular decomposability, composability, understandability, continuity and protection must be considered for an effective modular design. 4.3 Cohesion: Cohesion is the measure of relative functional strength of a module. A cohesive module performs a single task with less interaction with the other parts of the program. In a software design high cohesion must be achieved.

High cohesion is that, the functions and objects within a module should be related to each other. Low levels of cohesion should be avoided when modules are designed. The system has the following modules to take care of carious functions involved in my project. a) Activate the web camera b) Enable Security c) Disable security d) Option of alarm, capture and COM port communication

SYSTEM REQUIREMENTS Hardware Requirements: Processor RAM Hard disk Monitor Software Requirements: Operating System Language : Windows Xp (SP2) : Visual Basic.Net : : : Pentium 4 : 20 GB 15 VGA 512 MB

Software Description: Visual Basic, the name makes me feel that it is something special. In the History of Computing world no other product sold more copies than Visual Basic did. Such is the importance of that language which clearly states how widely it is used for developing applications. Visual Basic is very popular for it's friendly working (graphical) environment. Visual Basic. NET is an extension of Visual Basic programming language with many new features in it. The changes from VB to VB .NET are huge, ranging from the change in syntax of the language to the types of projects we can create now and the way we design applications. Visual Basic .NET was designed to take advanTag of the .NET Framework base classes and runtime environment. It comes with power packed features that simplify application development.

SYSTEM TESTING & IMPLEMENTATION Testing Phase It is a program statement that violates one or more rules of the language in which it is written. These errors are shown during testing through error messages generated by the computer.

Program Testing: Program testing checks for syntax errors and logic errors. A syntax error is a program statement that violates one or more rules of the language in which it is written. These errors are shown during testing through error message generated by the computer. Logic error deals with incorrect data fields, out of range items and individual combinations. When a program is tested, the actual output is compared with the expected output. Unit Testing: Unit testing comprises the set of tests performed by an individual programmer prior to integration of the unit into larger system. So all the functional, performance, stress and structure tests are performed with the software. Validation Testing: Validation is concerned with evaluating a software product at the end of the software development process to determine compliance with the product requirements. The primary goal of verification and validation is to improve the quality of the product. The system satisfies all the goals specified. A test that verifies for the user that the system procedures operate to system specification and the integrity of vital data is maintained.

Integration Testing: All the modules and components are integrated together and tests their functionality. All the modules are communicated with each other through well - defined interfaces. System Security: System security is the must for every system. Both the modules will be protected. Implementation: Implementation is the process of having the users check out of the software is working fine without any errors. The logical and behavioral performance of the system is satisfactory after implementation. The system is successfully tested with the test data during implementation.

Conclusion