globally optimal solution to multi-object tracking with...

36
Globally Optimal Solution to Multi-Object Tracking with Merged Measurements João F. João F. João F. João F. Henriques Henriques Henriques Henriques Rui Rui Rui Rui Caseiro Caseiro Caseiro Caseiro Jorge Batista Jorge Batista Jorge Batista Jorge Batista Institute of Systems and Robotics University of Coimbra International Conference on Computer Vision, 2011

Upload: others

Post on 22-Jul-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Globally Optimal Solution to Multi-Object Tracking with

Merged Measurements

João F. João F. João F. João F. HenriquesHenriquesHenriquesHenriques RuiRuiRuiRui CaseiroCaseiroCaseiroCaseiro Jorge BatistaJorge BatistaJorge BatistaJorge Batista

Institute of Systems and RoboticsUniversity of Coimbra

International Conference on Computer Vision, 2011

Page 2: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Motivation

• Tracking multiple people• Single, Single, Single, Single, uncalibrateduncalibrateduncalibrateduncalibrated camera• Realistic video surveillance scenes

Problem far from solved!Problem far from solved!Problem far from solved!Problem far from solved!

Proposed method:• Handles merged measurements• Global optima in polynomial time

•Tracking as global optimization1. Detect in all frames

2. Optimize all tracks simultaneously (minimize a cost function)

Solid theoretical treatment of groups

Contributions:Contributions:Contributions:Contributions:

Page 3: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Previous work

Multiple-matching

Target counts(group identification)

Recovering identities

⇒ ⇒

Page 4: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Previous work

Multiple-matching

Target counts(group identification)

Recovering identities

⇒ ⇒

C. Huang et al.ECCV’08

Global solutionin

No merges/splitsNo merges/splitsNo merges/splitsNo merges/splitsNo groups Obtained trivially

A. Perera et al.CVPR’06

Local solutionin

(Global in )Limited to groups of 2

Limited togroups of 2

J. Sullivan et al.ECCV/CVPR’06

Local solutionin

No convergence guarantees

Global solutionin

J. F. J. F. J. F. J. F. HenriquesHenriquesHenriquesHenriqueset al., ICCV’11et al., ICCV’11et al., ICCV’11et al., ICCV’11

GlobalGlobalGlobalGlobal solutionsolutionsolutionsolutionin

GlobalGlobalGlobalGlobal solutionsolutionsolutionsolutionin

GlobalGlobalGlobalGlobal solutionsolutionsolutionsolutionin

Page 5: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.1. Multiple-matching

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒

Page 6: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒2.1. Multiple-

matching

Page 7: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Global optimization tracking review

1. Detect and track with a simple method

• Stop trackers when confidence is low

• Output: trackletstrackletstrackletstracklets(short track segments)

2. Each tracklet is a nodenodenodenode in a graph

Page 8: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Global optimization tracking review

3. Connect each node to another if it occurs later in time

4. Calculate a costcostcostcost for each of these arcsarcsarcsarcs

Low cost ⇒ same target

(hopefully!)

Use distance, appearance similarity, size difference…

time

c1,2

c1,3node 1 node 2

node 3

• These are just hypothesesjust hypothesesjust hypothesesjust hypotheses.

• Optimization will choose the best set of arcs.

Page 9: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Global optimization tracking review

5. Termination nodes –hypothesis of ending a track

6. Initialization nodes –hypothesis of starting a track

7. Costs based on entry/exit locations model

c1init c1

term

Page 10: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Global optimization tracking review

• A typical graph:

• Possibly occluded targets –long-range arcs

• Optimization is free to choose between many hypotheses

(Some init./term. nodes omitted for clarity)

init.

init.

term.

term.

Note:

• Long occlusions ⇒ many arcs⇒ mistakes more likely

(merged measurements(merged measurements(merged measurements(merged measurementssolves this)solves this)solves this)solves this)

Page 11: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Global optimization tracking review

Optimal matching

• Find set of arcs X with a minimum total cost

• Subject to nononono----overlap restrictionoverlap restrictionoverlap restrictionoverlap restriction: only 1 ingoing and 1 outgoing arc in each node

∑=ji

ijijX

xcX,

* minarg

∀=∀=

∑∑

jx

ixts

i ij

j ij

,1

,1..

Hungarian AlgorithmHungarian AlgorithmHungarian AlgorithmHungarian Algorithm Solution in ( : #nodes)⇒

init.

init.

term.

term.

Page 12: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Merged measurements

• A single node single node single node single node may actually represent several targetsseveral targetsseveral targetsseveral targets.

• Merges and splits violate violate violate violate theno-overlap restriction.

Can’t use Hungarian Algorithmdirectly!

Somehow…Somehow…Somehow…Somehow…Change graph to support:

All the previous arcs+

Merges/splits hypotheses

(Cannot be solved with:• Min. cost flow• QP• QBP)

mergemergemergemerge splitsplitsplitsplit

Page 13: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.1. Multiple-matching

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒

Page 14: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3Don’t know a-priori if node 3 is:

• Same target as node 1• Same target as node 2• Both targets (merged)

Can calculate a cost for each hypothesis:

c13, c23, cmerge

????

Page 15: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

cccc13131313

Page 16: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

cccc23232323

node 1

node 2

node 3

Page 17: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

cccc23232323

node 1

node 2

node 3

cccc13131313

Total cost

= cmerge

Problems:

• Total cost is not linearnot linearnot linearnot linear

• ViolatesViolatesViolatesViolates the no-overlap restriction

≠ c13 + c23

Page 18: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

Conditions:

• Total cost of merge must be

Encode a merge as one normal Encode a merge as one normal Encode a merge as one normal Encode a merge as one normal link and one termination.link and one termination.link and one termination.link and one termination.

Key idea:

cccc23232323

cccc13131313

cccctermtermtermterm

????

Page 19: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

Conditions:

• Total cost of merge must be

• If is active, must be active

⇒ Disable all other incoming arcs tonode 3

Encode a merge as one normal Encode a merge as one normal Encode a merge as one normal Encode a merge as one normal link and one termination.link and one termination.link and one termination.link and one termination.

Key idea:

cccc23232323

cccc13131313

cccctermtermtermterm

????

Page 20: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

cccc13131313

Page 21: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

cccc23232323

Page 22: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

node 1

node 2

node 3

cccc13131313

cccctermtermtermterm

• Total cost= c13 + cterm = cmerge

as required.

• The proposed structure restricts the solutions to onlyonlyonlyonly these 3.

Page 23: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Multiple-matching

• For splits, reverse arc directions.

• The Hungarian Algorithmis free to choosefree to choosefree to choosefree to choose

• merges,• splits,• regular arcs

that better explain data.

• Same computational complexity Same computational complexity Same computational complexity Same computational complexity as simple matching.

Output

Page 24: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.1. Multiple-matching

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒

Page 25: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Groups

• Targets travelling alone can be tracked unambiguously.

But:

• Individual identities are lost in groups.

TargetTargetTargetTarget #1#1#1#1

TargetTargetTargetTarget #2#2#2#2

TargetTargetTargetTarget #3#3#3#3

TargetTargetTargetTarget ????????

TargetTargetTargetTarget ????????

TargetTargetTargetTarget ????????

1. Identify nodes that correspond to groups.

2. Match individual targets across the groups.

Strategy:

Page 26: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Target counts as flow circulation

• To robustly identify groups,count targets count targets count targets count targets in each node.

• Solve min-cost circulation:

Solved in polynomial time with the Edmonds-Karp algorithm.

Minimize number of targets

Flow conservation

Boundary conditions(at least 1 target per node)

Page 27: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Target counts as flow circulation

• Costs inversely proportional tobox size(larger boxes ⇒ larger groups)

• Counts obtained solely fromsolely fromsolely fromsolely fromthe graph topologythe graph topologythe graph topologythe graph topology.

• Equivalent to locating occluded targets.

Mostly as a tie-breaker

Page 28: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.1. Multiple-matching

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒

Page 29: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Recovering identities

Groups subgraph

={arcs and nodes with flow > 1}

Entering a group

={arcs pointing to }

Exiting a group

={arcs pointing from }

To track across groups, match targets entering to targets exiting.

Simple matching problem⇒

Page 30: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Recovering identities

• Match across groups:

1. Connect a node in entering to a node in exiting if it’s reachable through .

2. Calculate costs as usual.

3. Optimal matching with Hungarian Algorithm.

Page 31: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Recovering identities

• Unlike other methods, wedon’t link across arbitrary gapsdon’t link across arbitrary gapsdon’t link across arbitrary gapsdon’t link across arbitrary gaps.

• Target’s trajectory is restrictedrestrictedrestrictedrestricted to group’s trajectory.

• Only admits physically plausiblephysically plausiblephysically plausiblephysically plausibletracks for occlusions.

Page 32: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Outline

1. Global optimization tracking review

2. Proposed method:

3. Conclusion and results

2.2. Target counts(group identification)

2.3. Recovering identities

⇒ ⇒2.1. Multiple-

matching

Page 33: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Results

Detection method:foreground segmentation

• Simple to implement

• Frequent merges and splitsFrequent merges and splitsFrequent merges and splitsFrequent merges and splits⇒ Stress-test the framework

PETS 2006 PETS 2006 PETS 2006 PETS 2006 (single view)Good results, challenging videos.No other MOTA scores to compare.

PETS 2009 PETS 2009 PETS 2009 PETS 2009 (single view)Outperforms all 12 all 12 all 12 all 12 state-of-the-art systems at PETS 2010.

Page 34: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Results

Page 35: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Conclusion

Formalized group formationFormalized group formationFormalized group formationFormalized group formationas a global optimization problem.

PolynomialPolynomialPolynomialPolynomial----time algorithms time algorithms time algorithms time algorithms for:

• Multi-match problem.• Counting problem.• Identity match across groups.

Improves state-of-the-artwith simple detection and low-level stages.

Page 36: Globally Optimal Solution to Multi-Object Tracking with ...joao/merged/henriques_iccv2011_slides.pdf · (merged measurements solves this) Global optimization tracking review Optimal

Questions?