This document discusses object detection and tracking algorithms. It covers the following key points:
- Background modeling uses a mixture of Gaussian model to identify foreground objects from backgrounds. Tracking includes correlating current objects to previous ones and handling occlusion.
- Challenges include noisy images with false positives, shadows, and removing noise while detecting moving regions. Distance filtering and morphological operations help address these.
- Objects are identified using contours and bounding boxes. Kalman filtering can be used for prediction but has difficulties with smoothing.
- Performance is evaluated using multiple object tracking accuracy (MOTA) and multiple object tracking precision (MOTP) metrics. Areas for improvement include handling size changes and removing lost objects.
3. Background Modeling – Gustav
Foreground Processing – Martin
Object Identification – Mattias
Prediction and Evaluation – Alexander
4. Uses a mixture of Gaussian model described
by Wood.
Update procedure is slow... Close to 1 second
per update on a larger image.
5. Noisy, lots of false positives.
False positives are mostly isolated.
Easy to handle with later processing steps.
6. Three main objectives:
Suppress shadows
Remove noise
Detect moving regions
7. Algorithm implemented as described in the
master thesis by John Wood.
HSV mapping:
Easy to implement
Good performance
Few false positives
Problems with gray areas
8.
9. “Distance filtering”
Throw away foreground regions not thick enough
Good performance
Slow?
Implementation
cv::findContours, cv::pointPolygonTest
Iterate over bounding rectangle
Measure distance inside contour only
Final touch: some morphological dilate
11. Uses cv::findContours, cv::boundingRect
Find outer contours
Create boundingrect for each contour
Use the bounding rectangle to add objects to
the frame’s object list.
12. Objectives
Correlate previous objects with current objects
Handle occlusion
▪ Objects <-> Objects
▪ Objects <-> Background
Assign unique ID’s to new objects
Forget objects that leave the screen
13. A measure of how similar two objects are.
A measure of how probable it is that two
objects are the same.
휖 = 푥1 − 푥2 − 휕푥2
2 + 푦1 − 푦2 − 휕푦2
2 + 푤푖푑푡ℎ1 − 푤푖푑ℎ푡2 + |ℎ푒푖푔ℎ푡1 − ℎ푒푖푔ℎ푡2| 2
Squared euclidian distance Squared size difference
Discards outliers
16. Assumes all passed objects are ”real”
Large objects tends to collect lost heads, feets...
Width and Height should not change too fast...
The error function isn’t tuned at all: a change in
width,height should probably impact more.
Objects should be removed if they have been lost
for too long. Use the variance estimate from the
kalman filter?
17. Kalman: The optimal linear predictor
Components
State-Space Model
Covariance Matrices
Difficulties
Smoothing
18.
19. MOTA & MOTP
Easy to understand
푀푂푇퐴 =
푚푖푠푠푒푠+푓푎푙푠푒푃표푠푖푡푖푣푒+푚푖푠푚푎푡푐ℎ푒푠
표푏푗푒푐푡푠
푀푂푇푃 =
푑푖푠푡푎푛푐푒
푚푎푡푐ℎ푒푠
20. Improvement
No area evaluation
Get rid of the threshold