computer vision systems programming...ewelina rupnik, christopher pramerdorfer using multiple...

21
Computer Vision Systems Programming Multi-Camera Tracking Evaluation Ewelina Rupnik Christopher Pramerdorfer

Upload: others

Post on 05-Jul-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Computer Vision Systems ProgrammingMulti-Camera Tracking Evaluation

Ewelina RupnikChristopher Pramerdorfer

Page 2: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Content

● What we wanted to do● What we did and how / impressions● Results● Conclusion

Ewelina Rupnik, Christopher Pramerdorfer

Page 3: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we wanted to do

● Goal: person detection / tracking with multiple cameras○ Chosen algorithm: KSP optimization by Berclaz et al.○ Questions to answer

■ Single camera performance / limitations■ Performance scaling with multiple cameras

Ewelina Rupnik, Christopher Pramerdorfer

Page 4: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

KSP optimization - introduction

● Recently published [2011] tracking algorithm● Prototype code available online● Two-step approach

○ Per-frame object detection / position estimation○ Linking and optimization

Ewelina Rupnik, Christopher Pramerdorfer

Page 5: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Object detection - approach

● Approach: If we see an object in the camera, what is the most likely position of that object in the scene?

Ewelina Rupnik, Christopher Pramerdorfer

Page 6: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Object detection - position estimation

● Approach: Opposite direction / optimize shape similarities● Requirements

○ Known object shape○ Calibrated cameras

Ewelina Rupnik, Christopher Pramerdorfer

Page 7: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how

Ewelina Rupnik, Christopher Pramerdorfer

● Pre-processing ○ Camera alignment and configuration○ Camera calibration (intrinsic + extrinsic)○ Tracker configuration○ Test scene recording

● Post-processing○ Video normalization○ Foreground detection (background subtraction)○ Tracker application

● Result visualization and comparison

Page 8: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - camera setup

Ewelina Rupnik, Christopher Pramerdorfer

● We used the cameras at the CVL○ 2 * Axis 211w, 2* Axis P1346, 2 * Sony CH140

● Ali�gned to produce partially overlapping views● Configuration: resolution, FPS, focal length, ...

Page 9: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - camera calibration

Ewelina Rupnik, Christopher Pramerdorfer

● Interior orientation for modelling camera parameters● Matlab camera calibration toolbox

Page 10: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - camera calibration

Ewelina Rupnik, Christopher Pramerdorfer

● Exterior orientation for mapping object space with image space

○ initial EO - plane2plane homography ○ final EO - minimization of reprojection error

Page 11: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how -ROI setup (1)

Ewelina Rupnik, Christopher Pramerdorfer

● ROI - points represent cells' grid ○ floor plane Z=0.00m○ cell size = 0.25m

Page 12: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - Bounding box

Ewelina Rupnik, Christopher Pramerdorfer

● Examplar bounding boxes○ bounding box size = 0.50 x 0.50 x 1.75m

Page 13: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - configuration file

Ewelina Rupnik, Christopher Pramerdorfer

● RECTANGLE <camera number> <location number> notvisible|<xmin> <ymin> <xmax> <ymax>

Page 14: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - test scene recording

Ewelina Rupnik, Christopher Pramerdorfer

● Recorded scenes with 2-5 people standing / moving around

Page 15: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - video normalization

Ewelina Rupnik, Christopher Pramerdorfer

● All video streams need to have○ Identical resolution○ Identical framerate (!)

● All streams were normalized to 640*480 @ 20fps

Page 16: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - foreground detection

Ewelina Rupnik, Christopher Pramerdorfer

● Tracker requires fg/bg segmented frames as input● Foreground detection via background subtraction

○ Codebook algorithm (OpenCV implementation)

Page 17: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - tracker application

Ewelina Rupnik, Christopher Pramerdorfer

● Input○ Segmented frames for all camera views○ Config: object appearances for all positions and views

● Output○ Occupancy probability for every position and frame

■ Input to the second step of the tracker

0 0.0001354221 0.0001410842 0.002644963 0.02142634 0.9999745 0.0307956 0.02904557 0.02753...

Page 18: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

What we did and how - result visualization

Ewelina Rupnik, Christopher Pramerdorfer

● Visual evaluation - proper result visualization required

Page 19: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Results ...

Page 20: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Conclusion

Ewelina Rupnik, Christopher Pramerdorfer

● Using multiple cameras improves performance noticeably● Three cameras seems a good number in our case● Performance varies greatly

○ Good performance with 1 or 2 people○ 4 and more people are problematic○ Precise and complicated configuration required○ Artefacts in segmented frames can cause false positives

Page 21: Computer Vision Systems Programming...Ewelina Rupnik, Christopher Pramerdorfer Using multiple cameras improves performance noticeably Three cameras seems a good number in our case

Thank you ... Questions?