Attention is the key to security and our project helps you to be alert at the key moment using state-of-the-art machine intelligence. The problem DTechtives solves In recent years, automated human tracking over camera networks is getting essential for video surveillance. The tasks of tracking humans over camera networks are not only inherently challenging due to changing human appearance, but also have enormous potential for a wide range of practical applications, ranging from security surveillance to retail and health care. The core techniques of human tracking across non-overlapping cameras are then discussed based on the aspects of human re-identification, camera-link model-based tracking, and graph model-based tracking. Closed-circuit television (CCTV) surveillance systems have made tremendous technological progress in the last decade, not only in individual capabilities but also in the ability to interface with other security technology. Originally, CCTV surveillance systems were simply a deterrent. The notion that “Big Brother” was watching was often enough to keep people from misbehaving. Today, though, CCTV surveillance systems are common enough that they have lost their novelty, reducing effectiveness as a simple deterrent, especially for illegal entry or violent crime.
The issue of safety at parking areas has become more relevant over the years. If the recent massive fires at parking lots in Bengaluru and Chennai in which hundreds of cars were gutted are any indication, then it is high time we take a serious look at safety measures in these places.
“Given how congested our cities are, parking is not only a big problem but has also become a big business. In Mumbai, private parking lots charge about ₹300 for eight hours, but in terms of safety, many of them may not even meet the bare minimum norms,” says HV Kumar of HiVayKing Club, a network of travelers and bikers. “In India, the risk management system of parking spaces is poor. Often, it is about simple logical solutions and even that is not followed.”
In the Bengaluru fire, for instance, the dry grass on the ground is said to have caught fire, which aggravated by the wind, spread to all the cars. “The grass should have been mown as a preventive measure and the wind could have been controlled by erecting a temporary wall or divider,” says Kumar. “To contain the fire and mitigate damage, the space should have been equipped with fire fighting measures. All these lapses led to the accident.”
So we thought of making an AI-based Activity Tracking and Parking Assistance based system that can easily be implemented in parking lots and garages in malls, housing complexes, etc. Our entire system is based on Open-Sourced software and hardware. We are using a complex but user-compatibility system of mixing technology with the social cause. A fully functional and deployable prototype of our product would consist of a highly powerful NVIDIA Jetson Nano 4GB Developer Board costing $99 each along with Logitech C270 Webcams costing $40 each (even cheaper ones can be deployable). The amount of the hardware is completely case sensitive as it resides with the amount of area of the parking lot/garage. On average, the total cost of the setup would be around $300 whereas the previous setup would cost around $800. So the system is both feasible and reliable.
NVIDIA Jetson Nano 2GB/4GB Developer Kit Raspberry Pi 4 Model B Logitech C270 Webcam Raspberry Pi Camera V2 5V 4amps Power Supply
Python C++ Django Rabbitmq Conda (Anaconda - x86-64/ArchiConda - ARM64) Azure ML PyTorch YOLO (You Only Look Once) v3 Model Docker
Selection of Hardware and Software
We were aware of the NVIDIA Jetson Nano for a long time and knew its capabilities. The NVIDIA Jetson Nano has 2GB/4GB DDR4 RAM with an ARM Cortex A57 CPU. But the most important feature of it is that it has 128 CUDA core-based Tegra X1 GPU which is based on the Maxwell architecture. The GPU provides the ability of parallel processing which helps us to run the NN’s at a faster speed.
Also, the JetPack SDK from NVIDIA provides a well-suited developer experience with Ubuntu 18.04.5 built-in. Moreover, we were able to run PyTorch on it at much faster speeds as compared to any other.
Since we had selected to use PyTorch so we were now in a position to decide on our model. More info about that in the latter part.
Training the Neural Network
YOLO has a significant speed increase while using GPU. Moreover, it can easily beat MobileNet and RetinaNet due to this.
Plus the usage of NVIDIA-based hardware allows us to use TensorRT which improves the performance of YOLO v3 by 1.5 times.
Dockerising the application Now since putting everything in place we found out that this would have to be a troublesome process for someone who’s not into CS. So we went on to design a Docker Container to speed up and make the process easy and simple.
A Docker container is an open-source software development platform. Its main benefit is to package applications in containers, allowing them to be portable to any system running a Linux or Windows operating system (OS). A Windows machine can run Linux containers by using a virtual machine (VM). Container technology has been around for a while, but momentum and hype around Docker’s approach to containers have pushed this approach to the forefront. While it is a major player in the container field, Docker is only one form of container technology. Read this SDxCentral article to learn how Docker containers work.
Here’s our Docker container repository - https://hub.docker.com/r/arijitstudent/dtechtive
To pull our container first download Docker Desktop(available for Mac and Windows only. Else download Docker using terminal on your Linux machine)
Then type this command on the terminal given below
docker pull arijitstudent/dtechtive
Our Docker container has the following built-in:- Python 3.7 Pip3 Anaconda for x86-64 based systems ArchiConda for ARM64 based systems Git Our GitHub repository Rabbitmq-server Basic Linux commands Inference Pipeline
Challenges we ran into
We understood one big thing - Time is very short!
Only one teammate from us had used Azure previously....none of the rest had any experience with it!