Abnormal moving objects detection is an essential issue for video surveillance. In order to judge whether the behavior of objects is abnormal, such as pedestrians walk back and forth, walk across the street, or scooters drive the wrong way, the main method is through computer vision technique to analyze objects as pedestrians, cars, and so on in video. Traditional abnormal moving objects detection aims at particular circumstances or requirement to predefine particular detection rules which the application of abnormal moving objects detection is restricted. Besides, if numerous abnormal moving objects are detected at the same time, surveillance system is overloaded with operation. Owing to this reason, in this paper, we expect to design a set of learning model which does not predefine abnormal rules and can detect a variety of abnormal moving objects automatically in different environments.
To achieve the above goal, the first thing is to detect the moving objects in video. The proposed method in this paper utilizes Gaussian Mixture Model (GMM) to detect foreground objects and remove shadows of objects by shadow removal. Then, adoptive mean shift algorithm with Kalman filter is proposed to track these moving objects. Finally, Kalman filter is used to smooth trajectory.
After collecting the trajectories of moving objects, abnormal moving object detection process proceeds. At first, for this trajectory information, take advantage of Self-Organizing Incremental Neural Network (SOINN) to learn and build a normal trajectory model which is a foundation to determine whether follow-up moving objects are abnormal. The average learning time is 7 to 55 seconds.
The experiment monitors and analyzes different circumstances, such as School campus, roads, and one-way street. The system based on the proposed method can detect abnormal moving objects with the accuracy 100% in school campus, 98.3% in roads, and 98.8% in one-way street. The overall execution time is short and about 0.033 to 0.067 seconds, and it can be executed in real-time.
3. Intelligent surveillance
Labor-intensive jobs are replaced by
machines
Security, traffic monitoring, crime
prevention…
Monitoring any abnormal events or
suspicious activities.
Self-learning
To detect abnormal objects in different
environments automatically.
The main functions include moving object
tracking , learning of activity patterns and
abnormal object detection.
INTRODUCTION
4. Explicit event recognition
All events are pre-defined in the knowledge base.
Modeling of heterogeneous events by labeling them with high-level
semantic descriptors.
The disadvantages of explicit event recognition
It is unable to learn an unknown event automatically.
It is difficult to pre-define all object activities.
The nature of event varies depending on the environment.
REVIEW OF RELATED WORKS
5. Abnormal object detection
Learning of activity patterns
activity models are constructed from environment.
Abnormal object is low frequency activities occurred in the scene.
Trajectory clustering algorithm
Hidden Markov models (HMMS)
Fuzzy self-organized map (FSOM)
Support Vector Machine (SVM)
REVIEW OF RELATED WORKS (CONT’D)
6. INTRODUCTION: SYSTEM ARCHITECTURE
Moving Object Tracking Phase
Learning Phase Detection Phase
Object
Profiles
Object
Profiles
Normal
Trajectory
Module
Abnormal
Object
Detection
SOINN
Learning
Abnormality
Results
Object
Profiles
Object
Profiles
Collect
Trajectory
Information
Multi-Object
Tracking Model
Trajectory
PostProcessing
Object Detection
Model
Camera
GMM
Background
Modeling
7. Gaussian mixture model
Every pixel in the image is modeled as the mixture
of k Gaussian distributions.
The pixel values with high occurrence and low
variation are deemed as the background.
MOVING OBJECT DETECTION/TRACKING :
BACKGROUND MODEL
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Gaussian Mixture Model
𝑤𝑖,𝑡 ∙ 𝜂(𝑥 𝑡; 𝜇𝑖,𝑡, ∑𝑖,𝑡)
𝑘
𝑖=1
𝑤𝑖 is the respective weight value.
𝜂(𝑥 𝑡; 𝜇𝑖,𝑡, ∑𝑖,𝑡) is the ith Gaussian
distribution.
𝜇𝑖,𝑡, ∑𝑖,𝑡 are the mean and
standard deviation, respectively.
k is the number of Gaussian
distribution
8. Gaussian mixture model
The background model of a pixel (x,y) over the
learning period
𝑥 𝑡 is the pixel value at t time
𝑝 𝑥 𝑡 = ∑ 𝑤𝑖,𝑡 ∙ 𝜂(𝑥 𝑡; 𝜇 𝑖,𝑡, ∑ 𝑖,𝑡)𝑘
𝑖=1
MOVING OBJECT DETECTION/TRACKING :
BACKGROUND MODEL
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Image Sequence
t
Background
Gaussian Mixture Model
Gaussian Mixture Model
9. Parameters update of GMM
𝑤𝑖,𝑡 = 1 − 𝛼 ∙ 𝑤𝑖,𝑡−1 + 𝛼
𝜇 𝑖,𝑡 = 1 − 𝜌 ∙ 𝜇 𝑖,𝑡−1 + 𝜌 ∙ 𝑥 𝑡
𝜎𝑖,𝑡
2
= 1 − 𝜌 ∙ 𝜎𝑖,𝑡−1
2
+ 𝜌 ∙ (𝑥 𝑡−𝜇 𝑖,𝑡)T ∙ (𝑥 𝑡−𝜇 𝑖,𝑡)
MOVING OBJECT DETECTION/TRACKING :
BACKGROUND MODEL
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
PixelsPixelsPixels
Is match
k Gaussian
distribution?
Replace
k Gaussian
distribution
Update
k Gaussian
distribution
Yes
No
𝑥 𝑡 − 𝜇𝑖,𝑡−1 ≤ 𝑐 ∙ 𝜎𝑖,𝑡−1
10. Target extraction
Background subtraction method is used to obtain
the foreground image.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
MOVING OBJECT DETECTION/TRACKING :
FOREGROUND DETECTION
𝐹𝑡 𝑥, 𝑦 =
1, 𝑖𝑓 x 𝑡 − 𝜇 𝐵,𝑡−1 > 𝐷 ∙ ∑B,𝑡−1
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
11. MOVING OBJECT DETECTION/TRACKING :
SHADOW REMOVAL
Shadow characteristic
A shadow covered a pixel by decreased its
brightness, and the hue value does not change.
Two information criteria
brightness distortion
chromatic distortion
Morphological operation
Eliminate some small
fragments.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
eotherwis
τ(x,y)B(x,y)I
τ(x,y))B(x,y)(Iβ
(x,y)B
(x,y)I
if α
(x,y)
H
H
k
H
k
S
S
k
S
kV
k
V
k
0
1
Shadow
12. MOVING OBJECT DETECTION/TRACKING :
BLOBS TRACKING
Blobs (Binary large object)
Connected component labeling
Moving object filter
Noise, non-moving objects, waving trees
Stable size and speed in successive frames
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
t
t-t+
Blob
Candidate
Moving
Object
Moving
Object
13. MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Scenarios for tracking in multiple moving
objects
Non-occlusion phase
Occlusion phase
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Object-1
Object-2
Object-1
and
Object-2
Object-1
Object-2
14. MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Mean Shift Algorithm
Mean shift algorithm climbs the gradient of a
probability distribution to find the nearest domain
mode (peak)
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
15. MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Mean Shift Algorithm
1. Choose the initial location of the search window.
2. Calculate the PDI of histogram of the object.
3. Use Mean shift algorithm to find the search
window center, and then update the location of the
object.
4. Go to step 3. Repeat the above steps until
convergence
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Tracking
16. MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Mean Shift Algorithm
Find the centroid of the object in the search window.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Compute zeroth moment within W:
Find the first moment for x and y:
Compute the centroid within W:
𝑀00 = 𝐼(𝑥, 𝑦)
(𝑥,𝑦)∈𝑊
𝑀10 = 𝑥𝐼 𝑥, 𝑦
𝑥,𝑦 ∈𝑊
, 𝑀01 = 𝑦𝐼 𝑥, 𝑦
𝑥,𝑦 ∈𝑊
𝑥 𝑐, 𝑦𝑐 = (
𝑀10
𝑀00
,
𝑀01
𝑀00
)
17. MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Disadvantages of mean shift
Initialize the search window of a target object
manually. Therefore, it is not applicable to the
automated intelligent surveillance system.
Influenced by time or illumination, histograms of a
target object cannot be updated automatically.
When the histogram between the target and the
background is similar, the tracking would easily fail.
When two moving objects with similar histograms
and occlusion occur. Two tracking windows would
follow only one moving object and the other one is
not followed by any tracking window.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
18. Modified Mean Shift
More information, such as foreground mask and
moving direction of objects, is added into the back-
projection image(PDI).
MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Tracking
19. Steps of Modified Mean Shift
1. Initial location of the search window by making
use of Blobs tracking.
2. Use Kalman filter to predict the location of an
object and set the location as the initial search
window location of mean shift tracking method.
3. Use foreground mask to decrease the influence of
background in the back-projection image of the
object. Use Mean shift algorithm to find the search
window center, and then update the location of the
object.
4. Go to Step 3. Repeat the above steps until
convergence (the search window location moves
less than a preset threshold).
5. Use Kalman filter to correct the search window
location. It can provide a better estimation of
object position.
MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
20. Modified Mean Shift
Use Kalman filter to correct the search window
location. It can provide a better estimation of object
position.
It can achieve a stable and accurate mean shift
tracking result.
It can give more accurate the location and the size
of the search window for mean shift, and solve the
occlusion problem
MOVING OBJECT DETECTION/TRACKING :
OCCLUSION HANDLING
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Mean Shift Kalman filter
21. Tracking flowchart
MOVING OBJECT DETECTION/TRACKING :
HANDLING OF A MISSED TRACKING OBJECT
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Is Occlusion?
Blobs
Tracking
Mean Shift
Kalman Filter
Foreground
Mask
Current
ImageBlobBlobBlobsNew
BlobList
Blobs
Matching
No
Update
Yes
Multi-Object
Tracking Model
22. MOVING OBJECT DETECTION/TRACKING :
HANDLING OF A MISSED TRACKING OBJECT
Reason of missed tracking object
The speed of the moving object is fast
network transmission delay
Kalman corrected
predict the position after 𝜏 frames of an object
Using velocity predicted the position of a Blob.
𝑝 𝑘𝑎𝑙𝑚𝑒𝑛 = 𝑝 𝑜𝑟𝑖𝑔 + 𝑉𝑘𝑎𝑙𝑚𝑒𝑛 ∗ 𝜏
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
𝑡𝑡 + 𝜏
24. MOVING OBJECT DETECTION/TRACKING :
HANDLING OF A MISSED TRACKING OBJECT
Kalman smoothing trajectory
By the light and shadow in the practical
environment. Therefore, trajectory is often jagged
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
26. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Characteristics of SOINN
Characteristics
Unsupervised learning method
Neurons are self-organized with no predefined
network structure and size
Approximate the topological structure of input data
Robust to noise
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
input data input data
SOINN: Self−organizing incremental neural network
27. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Structure of SOINN
Based on SOM (Self-Organizing Map)
Two-layer competitive network
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
First Layer
Second Layer
… …Input Layer
First layer: Competitive
for input data
Second layer:
Competitive for output of
first layer
Output topology structure
and weight vector of
second layer
28. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
𝐴 = 𝑐1, 𝑐2
Initialize:
It has only two nodes.
32. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Insert input data
if 𝜉 − 𝑊𝑠1
> 𝑇𝑠1
or 𝜉 − 𝑊𝑠2
> 𝑇𝑠2
,
then 𝐴 = 𝐴 ∪ 𝑟 and 𝑊𝑟 = 𝜉.
33. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Input new pattern
Calculate the
similarity threshold.
34. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Connection between winner
and second winner.
𝐶 = 𝐶 ∪ (𝑠1, 𝑠2)
35. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
It has this structure
36. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Find the winner and
second winner of input data.
37. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Calculate the
similarity threshold.
38. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Update the weight vector of
winner and its neighbors.
∆𝑊𝑠1
= 𝜖1 𝜉 − 𝑊𝑠1
∆𝑊𝑖 = 𝜖2(𝜉 − 𝑊𝑖)(∀𝑖 ∈ 𝑁𝑠1
)
𝜖1 = 1/𝑀𝑠1
、𝜖2 = 1/100𝑀𝑖.
39. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
It has this structure.
40. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Find the nodes whose
neighbor is less than or equal to 1.
if 𝐿𝑖 = 0 ∀𝑖 ∈ 𝐴 or 𝐿𝑖 = 1 ∀𝑖 ∈ 𝐴 ,
then 𝐴 = 𝐴{𝑖}
41. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Delete such nodes.
42. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Normal trajectory module
Trajectory information of objects are collected.
When trajectories are inputted, SOINN is used to
construct a normal trajectory module.
The module is then used to analyze moving objects
in the real-time camera frame and find out
abnormal objects.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Normal Trajectory Module
Position Velocity
43. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Abnormal object detection
Decide whether an observed object is abnormal or
not .
For ith object trajectory
𝑇𝑖 = { 𝑥1, 𝑦1, 𝑑𝑥1, 𝑑𝑦1), ⋯ , (𝑥 𝑛, 𝑦 𝑛, 𝑑𝑥 𝑛, 𝑑𝑦 𝑛 }
𝑇𝑖 is matched to the normal trajectory module.
Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
Normal Trajectory Module
Position Velocity
47. MOVING OBJECT DETECTION/TRACKING :
TRAJECTORY FEATURE EXTRACTION
Algorithm of SOINN
In the real world, definition of abnormality is a
fuzzy concept. In addition, the occurrence of
abnormal objects is continuous, which is not
discrete.Object detection
Current image
Anomaly detection
Learning trajectory
Occlusion Handling
Object tracking
𝑅d = 𝐷𝑠𝑢𝑚 − 𝑇𝑠𝑢𝑚 𝐷𝑠𝑢𝑚 + 𝑇𝑠𝑢𝑚
𝐶 = 𝐶 +
1, 𝑖𝑓 𝑅 𝑑 > 𝑅 𝑇
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝐴𝑂 =
𝑡𝑟𝑢𝑒, 𝑖𝑓 𝐶 ≥ 𝐶 𝑇
𝑓𝑎𝑙𝑠𝑒, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝑅 𝑇 from 0.6 to 0.8
49. Foreground detection
Including the GMM,
shadow removal method,
morphological operation
Avg. execution time:
0.025 – 0.030 sec / per
image(320x240)
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
50. Multi-objects tracking
Including the Blobs tracking,
modified mean shift
In the occlusion case, each
occluded object takes extra
0.002 – 0.003 sec to handle
occlusion.
Avg. execution time: 0.004 –
0.018 sec / per
image(320x240)
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
51. Comparison of Scenarios characteristics
Scenarios
Trajectory
complexity
Speed of
objects
Occlusion
frequency
School campus High Slow Medium
Roads Medium Fast High
One-Way Street Low Very fast Medium
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
52. Tracking successful rate:
classified as successful and failed in different resolution
Successful: tracked successfully for more than 90% of the ground
truth
Failed: tracked successfully for less than 90% of the ground truth
Avg. successful rate: 96.9%
Scenarios
Number
of objects
Successful rate (%)
𝟑𝟐𝟎 ∗ 𝟐𝟒𝟎 𝟐𝟒𝟎 ∗ 𝟏𝟖𝟎 𝟏𝟔𝟎 ∗ 𝟏𝟐𝟎
School campus 124 99.1% 100% 99.1%
Roads 158 96.8% 96.2% 96.2%
One-Way Street 88 94.3% 95.5% 95.5%
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
53. Reason of tracking error
Between object and background color is similar
Object size is over large(佔鏡頭畫面過大)
Object speed is over fast
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
57. Performance of Abnormal object detection
ACC is the ratio of the sum of all detected object is truly for all
objects.
RC is the ratio of the probability that the abnormal object are
detected.
EXPERIMENTAL RESULTS :
ABNORMAL OBJECT DETECTION
Seconds
True
Positives
True
Negatives
False
Positives
False
Negatives
Accuracy
(ACC)
Recall
(RC)
School campus 13 137 0 0 100.0% 100.0%
Roads 10 231 3 1 98.3% 90.9%
One-Way Street 18 63 1 0 98.8% 100%
𝐴𝐶𝐶 =
𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝐹𝑁 + 𝐹𝑃 + 𝑇𝑁
, 𝑅𝐶 =
𝑇𝑃
𝑇𝑃 + 𝐹𝑁
58. Reason of misdetection
Most of the misdetection cases are caused by tracking error. Then,
the wrong trajectory information is mismatched with the normal
trajectory model.
If there are too many trajectory instances for the SOINN to learn, the
complexity is high and it may cause over-fitting problem.
EXPERIMENTAL RESULTS :
MOVING OBJECT TRACKING
59. The proposed method can solve the problem of object
occlusion. Effective the extract object trajectories, and reduce
their noise.
The proposed method is a self-organizing method to learn
trajectories for abnormal object detection.
Abnormal object detection under 3 different scenarios.
Campus squares, roads and one-way street.
Avg. accuracy is 99% and recall is 96.7%.
Avg. execution time is from 33 to 67 milliseconds(real-time).
CONCLUSIONS
60. Foreground detection
More good background model and shadow removal method
To detection under different weather conditions.
Occlusion handling
Using V. Papadourakis, A. Argyros and GMM in object modeling can
be also refined to improve the tracking accuracy.
Learning method
A faster and more efficient
Using S. Furao, T. Ogura and O. Hasegawa to reinforce the original
SOINN.
Abnormal threshold
More accurate abnormal threshold value
FUTURE WORKS