GIDEON�Intelligent Video Analytics (IVA) Application�(with NVIDIA Jetson Nano as Target hardware)
Group members:
Rana Hassan Shafiq (SP16-BCS-190)
Abdul Wahab Asif (FA16-BCS-019)
Muhammad Maroof Ismail Khan Niazi (FA16-BCS-085)
Supervised By:
Dr. Usama Ijaz Bajwa
Assistant Prof. & Associate Head of Department�Dept. of Computer Science, CUI Islamabad, Lahore Campus
Machine Perception & Visual Intelligence Research Group
Introduction
Near real-time (25fps) detection of suspicious/anomalous human activities/events over live CCTV input feed
Embedded AI on the Edge, with Inference Engine, core application deployed on NVIDIA’s Jetson Nano I-GPU powered Platform
Computer Vision leveraged 3D-CNN based Deep Neural Network, trained over Google Cloud Platform Compute Engines, using Tesla K80, T4 GPUs
Automates intensive Surveillance work-load for single/multiple camera streams (up to 6 simultaneous)
Machine Perception & Visual Intelligence Research Group
Problem
# 1
# 3
# 2
Increased crime rate with growing population. Even with CCTVs, large number of events go undetected/delayed-reporting
Even with proper monitoring , crimes reamins undetected simply due to human error
Traditional CCTV setup requires constant monitoring, or large human resource base for CCTV clusters
# 4
For instance, 87,500+ cases reported only in Punjab ( Jan to Feb 2020). Therefore, Surveillance automation is a necessity than a convenience luxury
Machine Perception & Visual Intelligence Research Group
Our Solution: Gideon IVA
Feeds live video stream 720p @ 30fps to NVIDIA Jetson Nano powered host using MIPI CSI interface
Processed batches of frames are fed to the Pre-Trained DNN based Inference Engine to obtain probability outputs
IVA applies data preprocessing using OpenCV and python toolchain, prior feeding frames to inference engine
Network connected IVA uses RESTful API backend NodeJS server, delivering instant alerts on Web & Android User Interfaces
Probability outputs along with Threshold parameter, detect and extract key-event video snippet
Preprocessing
Anomaly Detection
Camera
User Alert
Inferencing Model
1
3
2
4
5
Machine Perception & Visual Intelligence Research Group
Tasks
1. Learning our Tool-stack - Keras, Tensorflow, Numpy, OpenCV, 3D-CNNs, GCP AI Compute Engines, Nvidia TensorRT, CuDNN, CUDA
2. Researching implementable solution in context of our target hardware: NVIDIA Jetson Nano
3. Dataset Preprocessing
4. Model architecture selection and training over GCP AI Computer Engines
5. Configuring our embedded AI target to host 3D-DNN model for real-time inference, using NVIDIA’s proprietary tool chain
6. Architectural adjustments in the model, complying memory-footprint requirements and inference accuracy
7. Retraining, hyper-parameters fine-tuning, post model porting to target
8. Inference on test dataset, retraining and hyper-parameters tuning based on performance analysis
9. RESTful NodeJS server development, MongoDB integration and Python HTTP client ,running Inference Engine core
10. ReactJS based Web and Android UI development and application testing.
Machine Perception & Visual Intelligence Research Group
Inference Engine�- Python HTTP Client application�- Hosted on Nvidia Jetson Nano�- Running DNN Inference Engine at core
NodeJS Backend Server�- RESTful API endpoint for backend services�- Integerated with MongoDB databse server�- Routing key events information to UIs
02
01
04
03
ReactJS Web UI�- Dynamic, Interactive Web Application for UI�- Server hosted on Nvidia Jetson Nano�- Real-time synchronization with backend
Android UI�- Dynamic, Interactive Web Application for UI�- Server hosted on Nvidia Jetson Nano�- Real-time synchronization with backend
Core System Modules
Machine Perception & Visual Intelligence Research Group
Dataset
UCF-Crime Dataset
1900 Videos
- 950 Normal
- 950 Abnormal
13 Categories:
- Crimes
- Anomalous Events
Training: 1330 Videos
Test: 570 Videos
Inference Engine - Dataset
Machine Perception & Visual Intelligence Research Group
Target Hardware: NVIDIA Jetson Nano
The embedded solution in our case is NVIDIA Jetson NANO; a 99 US$ Heterogeneous Computing platform with:
Machine Perception & Visual Intelligence Research Group
Inference Engine - Architecture
Machine Perception & Visual Intelligence Research Group
Inference Engine - Implementation
Machine Perception & Visual Intelligence Research Group
NodeJS Backend Server
Machine Perception & Visual Intelligence Research Group
ReactJS Web Application UI
Machine Perception & Visual Intelligence Research Group
ReactJS Web Application UI - Interface
Machine Perception & Visual Intelligence Research Group
Android Application UI - Interface
Login Screen
Home Screen
Machine Perception & Visual Intelligence Research Group
Android Application UI - Interface
Alert Demo
Machine Perception & Visual Intelligence Research Group
Android Application - Technology
Machine Perception & Visual Intelligence Research Group
Problems and Challenges
Memory Footprint Limitations | Model Accuracy | Google Cloud AI Compute Engines | Linux for Tegra (L4T) Port |
NVIDIA Jetson Nano has a shared 4.0 GB of DDR3 RAM between CPU Cores and GPU. L4T OS occupying 1.5 GB for OS services. So inference engine runtime has to be scaled accordingly with repeated attempts. | Due to a scaled down version of C3D 3D-CNN implementation to match memory footprint for DNN Model, hyper-parameters had to be tuned repeatedly , until a performance to memory balance was achieved/ | Compute requirements for Model training were exotic. Google Colab has shared, time-constrained GPU resource. So Google Cloud Platform services had to be discovered thoroughly going through Docs, exhaustively. | Due to Linux port for ARM architecture, most of the mainstream libraries and frameworks, were not deployable and had to be build from source or alternatives had to be learnt and port the code accordingly. |
Machine Perception & Visual Intelligence Research Group
Testing – Video 1 (From Internet)
Video Input
Anomaly Detected
Machine Perception & Visual Intelligence Research Group
Testing – Video 2 (From Internet)
Video Input
Anomaly Detected
Machine Perception & Visual Intelligence Research Group
Thank You
Project Website
https://qrgo.page.link/KMoVB
Project GitHub
Machine Perception & Visual Intelligence Research Group