This project contains an application to empower Industry 4.0 in Pakistan through Computer Vision techniques and approaches, a smart environment is to be created using different techniques shown in slides. Do get in touch for more details.
2. Introduction and Problem
Statement
• Strive for Industry 4.0
• These perspectives are not just ideas!
• Current situation of Pakistani Industry
• What are the problems we focus on?
1. Govern Access
2. Monitor Activities in Real-time
3. Alert to Environmental Risks
3. Honeywell’s Video Analytics
Microsoft’s Amazing Works!
Amazon Works!
“Real-world Anomaly Detection in Surveillance
Videos” by Waqas Sultani, Chen Chen and
Mubarak Shah
“A Review of the Applications of Computer
Vision to Construction Safety” by Brian H.W
Guo, Yang Zou and Long Chen
4. On-site 3D Vision Tracking of Construction Personnel
by Francisco Cordava and Joannis Brilakis
MobileNets: Efficient Convolutional Neural
Networks for Mobile Vision Applications by Google
Deep Face Recognition by University of Oxford
OpenPose: Realtime Mutli-Person 2D Pose
Estimation using Part Affinity Fields
Simple Online and Realtime Tracking With Deep
Association Metric by Queensland University
5. • Problem of
Deploying the
Application?
• Why two
databases?
• Importance of API
Layer
• System logins?
Why?
12. API and
Database
• Apache Thrift Services
• Command: thrift --gen <language>
<.Thrift File>
• Reusable Interfaces
• Server based on C# with Thrift
• Client based on Python with Thrift
• TBinary Protocol Layer
• TSocket Transport Layer
• MSSQL Server DB
• DJango Admin Panel
13. • Thrift Architecture
• API Interfaces
• C# Thrift Server
• Attaining an Admin Panel with Django and Database
14.
15.
16. Face Recognition
Face Recognition Pipeline
• Locate and Extract faces
• Identify Facial Features
• Represent Face As Measurement
• Compare Faces
Our Works
1- Face Recognition Using VGG-Face (Transfer Learning)
2- DLIB based Facial Recognition
21. Problems? Scope?
•Training time requires time.
•Dataset too small.
•Did augmentation help? According to
requirement, no. Although better results.
•Runtime training?
22. Functionalities
• DLIB Face Detector
• Face Locations
• CNN based
• HOG based*
• Face Encodings (128
measurements)
• Compare Faces
34. What is OpenPose?
Ildoo Kims Amazing Work
Pipeline
• Heatmaps and PAFs
• NMS – get part candidates
• Bipartite Graphs
• Line Integral
• Assignment
• Merging!
35. Pretrained Model. Why
not the pyopenpose
library?
Trained on Coco dataset
with Thin MobileNet
Depth-wise? Point to
point wise convolutions.
36.
37. EXTENSION OF SORT
(SIMPLE REAL-TIME
TRACKER)
THE KALMAN FILTER THE ASSIGNMENT
PROBLEM
DISTANCE METRIC EFFICIENT ALGORITHM
– HUNGARIAN
ALGORITHM
THE APPEARANCE
FEATURE VECTOR
40. Activity Recognition
To get started with Activity Recognition:
• Using OpenCV
• Kinetics Dataset – Created on 2017
• 400 Activities (78.4 – 94.5% Accuracy)
• “Can Spatiotemporal 3D CNNs Retrace the History of 2D
CNNs and ImageNet”? - 2019
41.
42. To understand pose
recognition we
need to help of
human pose
estimation
Dataset!
stand = 0, walk = 1,
operate = 2,
fall_down = 3
47. Integration
Direct Approach
• Using Models for Predictions Directly
Integrated with UI
• Cannot Use Parallel Approach for
Recognitions
• Can Only Be Used On a Single
Machine At a Time
Service Oriented Approach
• Distributed Approach
• Uses Django REST API services
• All recognition applications are
services
• Parallel request handling for multiple
requests
• Uses POST request for data
• JSON data for each service
71. Centroid Tracking
Step 2 – Compute
Euclidean distance
between new bounding
boxes and existing
objects
72. Centroid Tracking
Step 3 – Update (x,y)
coordinates of existing
objects.
Lonely objects?
Associate centroid with
minimum distances
between subsequent
frames.
73. Centroid Tracking
Step 4 – Register new
objects.
Step 5 – Deregister old
objects.
Object lost?
Disappeared? Left the
field of view.
74. Object Tracking
Limitations of Centroid Tracking
1 – Using computationally expensive object detector,
frame detection pipeline will slow down
tremendously.
2 - Underlying assumption of centroid tracking?
Overlapping? Object ID switching.
3 – Just Euclidean distance? Need more heuristics.
75. Meanshift or Mode seeking
• Used in clustering and unsupervised problems
• Replaces centroid technique of calculating
clusters with a weighted average
• Gives importance to points closer to mean
• Find modes in the given data distribution
• Extract certain features
• Tracks new largest mode in each frame
76. Object Tracking
Optical Flow
• Uses spatio-temporal image brightness variations at a pixel level
• Focus on displacement vector
• Assumptions
1 – Brightness Consistency
2 – Spatial Coherence
3 – Temporal Persistence
4 – Limited Motion
• Lucas-Kanade method to obtain equation for the velocity of certain
points to be tracked.
77. DeepSort
The Kalman Filter
• Core idea? Use available detections and previous predictions.
• Errors?
• Constant Velocity Model.
• Noise component? Process Noise? Measurement Noise?
• Recursive Nature.
• Why Kalman works? Gaussian Realm.
78. The Kalman Filter
• Our state contains 8 variables (u,v,a,h,u’,v’,a’,h’)
• Assumptions? Variables have absolute positions and velocity factors.
• Kalman? Good fit for bounding boxes.
• For every detection, create a track.
• Track, delete tracks and eliminate tracks.
79. DeepSort
The Assignment Problem - How to
associate new detections with new
predictions?
We need two things:
1 – A Distance Metric
2 – An Efficient Algorithm
80. The Distance Metric
Squared Mahalanobis distance to incorporate the
uncertainties from the Kalman filter.
The Efficient Algorithm
Hungarian Algorithm for simple data association problem.
The question is “WHERE IS DEEP LEARNING IN ALL THIS?”
New distance metric on the basis of “appearance” of the
object.
(D = Lambda * D_k + (1 - Lambda) * D_a)