Smart Surveillance System using Background Subtraction Technique in IoT Application

This paper presents a development of a security system based on Internet-of-Things (IoT) technology, where an IoT device, Raspberry Pi has been used. In the developed surveillance system, a camera works as a sensor to detect motion, and automatically capture the video of the view of area where the motion is detected. The motion is detected by image processing techniques; background subtraction technique. The technique is applied by comparing two different captured images using Pi NoIR camera. The system can be controlled from anywhere using Telegram application, and users will receive alert message with video using the application. The user can also play a siren from anywhere once detecting suspicious object can access images and videos using Telegram application. This can frighten the thief if the crime is suspected in home or office. Users can also deactivate and activate the system from anywhere at any time using the Telegram. The functionality tests have been done to ensure the developed product can work properly. Besides, tests to identify a suitable video length to be transmitted to the user and to identify the adequate location of the security in order to minimize false detection as well as false alert have been performed. The project is an IoT-based which significantly in line with the Industrial Revolution 4.0, supporting the infrastructure of Cyber-Physical System. Keywords—Internet of things; raspberry pi; motion detection; home security system; surveillance system: ir4.0


I. INTRODUCTION
Nowadays, Internet-of-Things (IoT) application has become a hot topic for its capability to connect devices, enable people to reach any data using IoT platform. IoT buiding block consist of devices that acts as a data processing agent, sensors to detect any, connectivity to enable data transmission between devices, APPs that can help people to reach the data forwarded from the devices and cloud that can help big data management.
On the other hand, closed-circuit television (CCTV) camera is commonly used in houses, companies and organizations as a security system to prevent criminal. The current CCTV system is costly and not suitable for normal resident [1]. Although surveillance camera records video and helps the authorities to identify the cause of an incident such as crime or accident, it is just a passive monitoring device [2]. Most of the CCTV systems in the market provide a system that can only view the current image, and if the system is equipped with alarm system, the sirens will be activated once the intruders get in into the house. This system is not suitable for unattended house where, the intruders are able to deactivate the alarm. The system also can cause false alarm, where the alarm can be activated because of some unrelated motion. The frequent false alarm might cause inconvenience to the neighborhood and real alarm might be neglected. Furthermore, most of the CCTV fields focus on highdefinition to record video which cost very high. Besides that, CCTV that comes with notification through SMS or email, the cost is extremely high which unreliable that for home uses. Due to these factors, this project will implement CCTV come with notification services, low cost and easy to manage video and pictures.
Raspberry Pi that has been introduced by Eben Upton, where it is a cheap but with a high mobility microprocessor [3], is one example of high potential IOT device, where it enables a Machine-to-Machine Communication using IEEE 802 standard. The developments of CCTV system using Raspberry Pi have also been done in [4] and [5]. In [4], the developed CCTV provides security with low cost smart security camera with night vision capability using Raspberry and Open Source Computer Vision (OpenCV). The system was designed to be used inside a warehouse facility. It has human detection and smoke detection capability that can provide precaution to potential crimes and potential fire. The problem is it has a higher delay to process the image due using a lot of function, and Raspberry Pi has limited capabilities in processing many function, including sound player. Paper [5] introduces low-cost non-intrusive sensor that can collect traffic data using a Raspberry Pi single board computer. In [6] a motion sensor, or known as PIR, "Passive Infrared", "Pyroelectric", or "IR motion" sensors are used in CCTV to detect any suspicious motion. Even these CCTVs are suitable for home and office security, but they require sensors that are sensitives and need to be maintained or exchanged frequently.
In this paper, motion detection using image processing technique [7] [8] has been used where the camera in parallel performs video capturing and also motion detection. Image information acquired by Raspberry Pi HD camera module is analyzed for moving objects presence. After evaluation of detected object count, size, class and motion vector object of the properties are sent to server node by RF transceiver. This project however for traffic monitoring, which is not suitable for offices and home CCTV system.
In this paper, a prototype of an IoT based security system using energy efficient microprocessor, known as raspberry Pi, using camera as motion sensor and Telegram as an IoT APP, used by a user www.ijacsa.thesai.org to control the CCTV from anywhere has been developed. Our developed CCTV system can detect intruders using motion sensor, capture video of the intruders and send the video to the owner. The developed CCTV can act as a silent alarm to notify owner about the intruders. The received video can be used as a proof of the criminal activity for investigation. This paper is organized as follows. Section 2 describes the prototype design used to develop the IoT based security system. Section 3 introduces implementation stage used throughout this paper. The description of testing stage and discussion is shown in Section 3, followed by conclusion in Section 4.

II. METHODOLOGY
Rapid Application Development model is applied to develop the system as shown in Figure 1. The development process goes through the requirements planning phase, user design phase, construction phase and cutover phase.
 Requirements Planning Phase-In this phase, problems that occur among users such as working persons, building owners or premise security company is analysed to determine adequate solution/modules that might help them in ensuring the safety of the corresponding building. The hardware and software required for the development are also identified in this phase.
 User Design Phase-In this phase, the monitoring system is designed based on the information required and solution determined in the previous stage.
 Construction Phase-In this phase, the system based on design in the user design phase is developed. Early tests to ensure functionality of the system has been done.
 Cutover Phase-In this phase, the functionality of the system is improved based on testing in the previous stage. The overall tests for the developed system is then finalized.  A. Prototype Design Figure 2 shows the overall concept of this project. The system consists of Raspberry Pi 2, Pi NoIR camera, speaker, router (network connection) and computer (database to store pictures and videos). This security camera will capture pictures and record videos when detecting motion in coverage area and sending the notification to user through Telegram apps. Users receive pictures and videos when the phone is online or connected to internet. If a suspicious activity detected, user can send a command to play sound to frighten thief.
The Raspberry Pi is utilized as a microprocessor to enable the developed security camera sending captured picture and video via Telegram Application to user. The motion detection is configured at Raspberry Pi [9][10] [11] which just using Pi NoIR camera. The picture and video is captured with pi camera when triggered by any motion. Python Programming code is used to synchronize the camera and sending notification (captured picture and video) to user through Telegram Application. Figure 3 shows the physical design for Ubiquitous Security Camera using Raspberry Pi project. The camera is connected to the camera port in the Raspberry Pi board. USB WiFi dongle placed in the USB port and the power supply for the Raspberry Pi were connected in the power port. The 3.5-mm jack port is connected to a speaker which is used for playing police siren sound. When the security camera is activated, it will wait for motion detection. Once the motion detection is detected, it will capture the picture and record video. The captured pictures and videos will be sent to server. Raspberry Pi will check whether the activation notification is activated or deactivated before send the captured images and video. If notification function is activated, the system will send the captured image and video to Telegram.

B. Motion Detection Technique
As discussed in previous section, motion detection is performed by using Background Subtraction Method or Foreground Detection as shown in [8]. The motion can be detected by the difference of image intensity between two consecutive frames. The image subtraction can be represented as: Where ΔI(i,j) is the difference in image intensity between two consecutive frames. ICurrent(i,j) and IPrevious(i,j) represent image intensities for current and previous frames or background frame respectively. This technique combines image processing and computer vision fields, where an image foreground is extracted for further processing (object recognition etc.). The background subtraction technique is used to detect the moving objects in videos captured by a static camera. The main task in this approach is that of detecting the moving objects from the difference between the current frame and a reference frame or background image. Figure 4 shows the concept diagram of Background Subtraction Method. Gaussian Mixture-based Background/Foreground Segmentation Algorithm has been used to detect motion as shown in Figure 5.

C. Embedded Functions
In this section, functions need to be embedded in the developed security camera are discussed. As mentioned in previous section, this prototype consists of Raspberry Pi as CCTV and Telegram to control the CCTV from anywhere. Telegram that is installed in a smartphone is used, since most of the people todays will have at least one smartphone, so that ubiquitous concept can be applied, where users can access the security camera from anywhere at any time. Fig. 6. Flowchart of the developed security camera. www.ijacsa.thesai.org The system consists of IoT devices, which are raspberry pi and smartphone. The raspberry pi is used to detect motion using captured video by embedded camera and to send the captured video to the server. The raspberry pi also enables the system to send a notification to users via Telegram that is installed in the smartphone. The system can be remotely controlled by a user using Telegram application, thus allows user to access the system from anywhere. The remotely control function includes activate and deactivate the system, remotely play sirens from the security camera if necessary and stop the sirens from if false alarm occurs. The Telegram also allows multiple monitoring of the system, so that the system can be easily used in home monitored by a family, and office monitored by responsible workers. Figure 6 shows flowchart describing operation of the embedded functions.

III. RESULT AND DISCUSSION
This chapter discusses about testing methods of the project. This phase has three types of tests which include functionality test, trade off test and false detection test. Functionality test is done to ensure all embedded functions in the developed product works properly. For trade off test, a number of experiments are done to identify suitable video length to ensure that the user can receive sufficient information from the received video without delay in reception. Next, time limit video testing shows the result of the most suitable time limit to capture the video for CCTV. False alert testing shows the most suitable direction to put the CCTV which to minimize false alert occur

D. Functionality Test
The functionality test discussed in this subsection includes motion detection test, FTP service test, and Telegram service test. When the CCTV is boot, the motion detection camera will ready to detect motion, Windows file sharing ready to save the captured pictures and videos, the alert message through Telegram application will ready to send captured videos and pictures. To test motion detection function, a movement around the camera has been done and then wait for the captured pictures and videos. Figure 7 shows the result of alert message when a motion detected. Figure 8 shows the Windows file sharing that save captured pictures and videos in recording folder. From Figure 7 and 8, it is shown that the motion detection function using camera and FTP services work properly in this developed prototype. Then, all functions that enable remote access in Telegram applications are tested. The functions include /activate (Enable sending photos and videos), /deactivate (Disable sending photos and videos), /status (Check if the camera is online) and /warning (Activate Police Siren) as shown in Figure 9.

E. Trade Off: Video Loading Time vs Accuracy
In this subsection, testing process to determine suitable captured video length is discussed. The suitable captured video length is determined by considering tradeoff between video loading time and accuracy of the captured video image. The accuracy of the captured image is essential to ensure the received video can provide adequate information in order to determine any suspicious motion The time limit video testing is done to determine the most suitable time to limit the length of videos. The captured videos must have enough information with the time limit of videos. At the same time, the videos must be transferred in adequate time length. In this testing, the maximum time limit of the video to 5 seconds (Scenario 1), 10 seconds (Scenario 2) and 20 seconds (Scenario 3) have been set. Each test is done in 10 times and average time for each test is calculated. The best decision for the maximum time out based on the information of the captured videos and the time to send the alert message. www.ijacsa.thesai.org The captured video within 5 seconds is shown in Figure  10. Note that the video is captured once motion is detected. From Figure 10, it can be seen that within 5 seconds, the camera only captures a person that stand close to the door only. Any suspicious motion from the video cannot be determined. However, by setting the length to 5 seconds, the user enables to receive alert is just within 8 seconds.  The captured video within 10 seconds is shown in Figure  11. Within 10 seconds which capture a person that try to open the door. With this captured videos or pictures, we can have sufficient information that this person is robber and surveillance activity is happening. The time to receive alert is within 13 seconds. The captured video within 20 seconds is shown in Figure 12. Within 20 seconds, which capture a person that already open first door and going to break second door. The problem occurs that the information for this surveillance activity to sending alert message is too slow. The time to receive alert is within 25 seconds which taking longer time because of the size of captured videos is bigger. Table 1 and Table 2 shows testing results to identify an adequate video length, to ensure that video length can provide sufficient information in video received by a user, without causing delay in alert reception. From the results, 10 seconds video length can be concluded as sufficient because it can provide sufficient information with speedy alert transmission using Telegram.

F. Minimizing False Detection
This test is done to identify an optimal location for CCTV and to minimize the false alert message to user. Since the motion detection is done using camera, any object with motion can be detected as intruders. This will cause reception of false alert/warning message by a user. For the testing, CCTV with two directions; one is facing the CCTV to gate door shown in Figure 13 and the second test is done by facing the CCTV to main door shown in Figure 14 are setup. www.ijacsa.thesai.org  The detail of CCTV location in Figure 13 and 14 is setup as in Figure 14 and Figure 15, respectively. From Figure 14, we can see that the area of detect motion is very large if the CCTV facing gate door direction. This will get a lot motion detection because in front of gate door will have a lot of moving car, animal (dog, bird and cat), people in jogging and others. This direction to put this CCTV is not suitable because of the area detect motion is huge and false alert message will occur.  From Figure 15, we can see that when the CCTV is located facing the main door, the camera view becomes narrower, thus can prevent the camera to detect motion of unrelated activities such as moving car in road, animal moving around, people in jogging and others. This direction only monitors the area that is main door which can be focused to moving object in front of the main door.

IV. CONCLUSION
In this paper, a development of IoT based security system, which can be accessed from anywhere at any time has been presented. The system uses image processing technique known as background subtraction to detect moving object. The security system includes a CCTV with a camera that can role as a sensor to detect motion, and automatically capture the video of the view of area where the motion is detected. The developed CCTV can be controlled from anywhere using Telegram application, and users will receive video using the application. The user can also play a siren from anywhere once detected suspicious object in front of the CCTV. The captured videos can be stored in Windows file sharing. It has been proved that our developed security system work properly by doing functionality test in previous subsection. Furthermore, we have found that the best time limit for capturing videos is 10 seconds because it captures sufficient information for a user to identify suspicious activities and it is an adequate value to avoid delay in receiving video through Telegram. Several tests to identify the suitable location and direction for the CCTV have been done. From the test, it can be conclude that the CCTV should be installed facing the main door to minimize the false alert message to user.