Epipolarna - Project Presentation - Tracking

21

description

A project performed as a part of the Computer Vision (TSBB15) course at Linköping University. The purpose of the project is to implement a tracker capable of handling occlusion, shadows and changes in the background. Object tracking is, in computer vision, defined as the process where moving objects are located in an image sequence. The project goal was to create a real-time tracker to work on e.g. a surveillance camera and track the people and objects in its view. The application was implemented in C++ using the OpenCV library. https://github.com/Epipolarna/Tracking

Transcript of Epipolarna - Project Presentation - Tracking

Page 1: Epipolarna - Project Presentation - Tracking
Page 2: Epipolarna - Project Presentation - Tracking

Object Frame Framelist

Page 3: Epipolarna - Project Presentation - Tracking

Background Modeling – Gustav Foreground Processing – Martin Object Identification – Mattias Prediction and Evaluation – Alexander

Page 4: Epipolarna - Project Presentation - Tracking

Uses a mixture of Gaussian model described by Wood.

Update procedure is slow... Close to 1 second per update on a larger image.

Page 5: Epipolarna - Project Presentation - Tracking

Noisy, lots of false positives. False positives are mostly isolated. Easy to handle with later processing steps.

Page 6: Epipolarna - Project Presentation - Tracking

Three main objectives:

Suppress shadows

Remove noise

Detect moving regions

Page 7: Epipolarna - Project Presentation - Tracking

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

Page 8: Epipolarna - Project Presentation - Tracking
Page 9: Epipolarna - Project Presentation - Tracking

“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

Page 10: Epipolarna - Project Presentation - Tracking

Object creation

Find remaining contours

Create bounding boxes

Calculate positions

Page 11: Epipolarna - Project Presentation - Tracking

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.

Page 12: Epipolarna - Project Presentation - Tracking

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

Page 13: Epipolarna - Project Presentation - Tracking

A measure of how similar two objects are. A measure of how probable it is that two

objects are the same.

𝜖 = 𝑥1 − 𝑥2 − 𝜕𝑥22 + 𝑦1 − 𝑦2 − 𝜕𝑦2

2 + 𝑤𝑖𝑑𝑡ℎ1 −𝑤𝑖𝑑ℎ𝑡2 + |ℎ𝑒𝑖𝑔ℎ𝑡1 − ℎ𝑒𝑖𝑔ℎ𝑡2|2

Discards outliers

Squared euclidian distance Squared size difference

Page 14: Epipolarna - Project Presentation - Tracking

Overlapping move Non-overlapping move

Parent split

Lost Discovered

Sibling merge

1 2

4

6

3

5

Page 15: Epipolarna - Project Presentation - Tracking
Page 16: Epipolarna - Project Presentation - Tracking

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?

Page 17: Epipolarna - Project Presentation - Tracking

Kalman: The optimal linear predictor

Components

State-Space Model

Covariance Matrices

Difficulties

Smoothing

Page 18: Epipolarna - Project Presentation - Tracking
Page 19: Epipolarna - Project Presentation - Tracking

MOTA & MOTP

Easy to understand

𝑀𝑂𝑇𝐴 = 𝑚𝑖𝑠𝑠𝑒𝑠+𝑓𝑎𝑙𝑠𝑒𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒+𝑚𝑖𝑠𝑚𝑎𝑡𝑐ℎ𝑒𝑠

𝑜𝑏𝑗𝑒𝑐𝑡𝑠

𝑀𝑂𝑇𝑃 = 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒

𝑚𝑎𝑡𝑐ℎ𝑒𝑠

Page 20: Epipolarna - Project Presentation - Tracking

Improvement

No area evaluation

Get rid of the threshold

Page 21: Epipolarna - Project Presentation - Tracking