Skip to main content

IP Camera and Raspi Camera based door security and object segmentation

I want to build an IP camera based door security system and object segmentation system. Although the system does not seem to be too complex but running it off a raspberry pi seems to be difficult.

Problem Statement

Set up an IP camera or raspberry pi camera to capture a video feed from the front door. Run an object detection and possibly an image segmentation program on the video feed. Based on the presence of a moving object store the relevant clip of footage to a permanent storage device, keeping storage requirements small, and notify about the same (though IFTTT or email).

Solutions

There are 2 ways to go about solving this problem:

Solution 1

Capture the video footage at 30fps and run the object detection or image segmentation at only 2-5fps. This way I won't be losing relevant information and I can also reduce the load drastically on the image processing system. A drawback here, is that there has to be a deterministic way to grab the 2 or 5 frames on which computer vision must run. Once I identify something of interest then I can store the complete footage (at 30fps) and notify through IFTTT or email.

Solution 2

Another solution is a workaround to computer vision process. I can install a PIR sensor (Passive Infra-Red) along with the camera. This is directly possible if I use a raspberry pi zero, a camera module and a PIR connected to the raspberry pi. Alternatively, I can use the PIR along with a NodeMCU (its like an arduino board with onboard WiFi) and capture the PIR information.
Now if the PIR detects motion it triggers to store the footage clip, notify through IFTTT or email and the cycle continues. 

 

I will work on the 2nd solution first as that seems a little simpler without any computer vision magic. After which I will try to solve it using solution 1.

Comments

Popular posts from this blog

Running Oracle Outsidein Technology (OIT) in Docker

Oracle Outsidein Technology provides a set of tools and SDKs to convert many forms of data to readable documents. It also holds data extraction and reduction capabilities. Used by multiple firms and tech fronts for more than 3 decades, OIT is a vast product here to stay for a long time. Here, I made a starting attempt on using OIT's Image export using docker. Created a small docker file with the oracle-java8 base image, loaded the image export jars and dependencies, created a few mounting volumes and ran it on a single sample pdf file. An enriching and learning experience for me and my father all the same. This blog shows the steps I took to get image export working on my machine. Prerequisites Docker (to be installed on your machine, you can go to docker's website and download it for your OS windows/linux/mac) OIT Image Export SDK (Get it here ) The image export SDK also contains some sam...

Arduino with 7-Segment Display (LT542)

A 7-segment display is a LED-LCD display with 8 LCD cells are controlled by 8 pins. Usually a 7-segment display has 10 pins, 2 are common pins and the rest 8 control each LCD cell. Now, a 7-segment display is of 2 types, common cathodic and common anodic display. While the common cathodic display has its common pins hooked up to the ground(GND), the common anodic display has its common pins hooked up to high voltage(+5). A diagram explaining this is given. I have used a display numbered LT542 which is a common anodic display. This project is aimed to control the LT542 to display each number from 0 to 9 at a second's gap. MATERIALS REQUIRED: Arduino Uno LT542 Jumper wires (male-to-male) Breadboard STEPS: Wire the setup as shown in the schematic and pictures. Copy the code given and paste it into the arduino IDE. Plug in your board tho the computer using a USB cable. Upload the code. CODE:  /**   PINOUT DIAGRAM FOR THIS CODE   ...

NAS (National Achivement Survey) data extraction

I had recently been to a datathon (A hackathon related to data science) in PES University, Bangalore. There my team was given a task to extract data from the National Achievement Survey - 2017 conducted by NCERT. NAS collects data about CBSE schools across states and districts of India to collect data about student achievements and their overall reports. This data is present in PDF formats. We were tasked to extract data from PDF and tabulate it. $ pdftotext is a linux utility to convert pdf to text. By supplying a -layout option the default layout of the data is mostly preserved. I made a python script (pdf_convert.py) to convert the pdf data to text files sequentially. Next I made a script to convert the text files to csv data. So each text file was turned to a record (row) in the csv file. Here is a snapshot of the directory structure of PDF file that we got. . ├── Andaman & Nicobar Islands │   ├── Andaman │   │   ├── Andamans Class - ...