Vladlen Koltun, UC Berkeley - PowerPoint PPT Presentation

About This Presentation
Title:

Vladlen Koltun, UC Berkeley

Description:

Vladlen Koltun, UC Berkeley. Joint work with. Sariel Har-Peled, Dezhen Song and Ken Goldberg ... Song, van der Stappen and Goldberg (2002), O(n2) Our work ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 25
Provided by: vladik
Category:

less

Transcript and Presenter's Notes

Title: Vladlen Koltun, UC Berkeley


1
Efficient Algorithms for Shared Camera Control
  • Vladlen Koltun, UC Berkeley
  • Joint work with
  • Sariel Har-Peled, Dezhen Song and Ken Goldberg

2
Robotic Webcameras
  • Positioned at sites of wide interest
  • Pan, tilt, zoom can be controlled on-line
  • Existing implementations users queue

3
ShareCam
  • Shared on-line camera control
  • Geometric algorithms for finding the optimal
    camera frame

4
Related Work
  • Shared on-line control over a single mechanism
  • Industrial robot arm Goldberg, Chen, et al.
  • Waste cleanup system Cannon, McDonald, et al.
  • Tele-Actor Goldberg, Song, et al.
  • Algorithms we describe are relevant in these
    scenarios as well

5
Contribution
  • Song, van der Stappen and Goldberg (2002), O(n2)
  • Our work
  • Exact - O(n3/2 log3n)
  • e-approximation - O(n logn)
  • Discretizing zoom values
  • Fixes the size of the camera rectangle
  • Two degrees of freedom (center point)

6
Finding the Optimal Frame
  • Idea Maximize user satisfaction
  • Find a way to evaluate the satisfaction of a
    given user with a given camera rectangle
  • Compute rectangle that maximizes cumulative user
    satisfaction

7
Individual User Satisfaction
  • Intersection over maximum metric
  • Intersection Area
  • Maximum Area

user
camera
8
Individual Satisfaction Function
Intersection (useri,cam(x,y)) Maximum
(useri,cam(x,y))
SATi(x,y)
useri
(x,y)
9
Individual Satisfaction Function
Intersection (useri,cam(x,y)) Maximum
(useri,cam(x,y))
SATi(x,y)
useri
(x,y)
10
Global Satisfaction Function
  • SAT(x,y) ?i SATi(x,y)
  • We are searching for (x,y) that maximizes SAT(x,y)

11
Approximation Algorithm
  • For a given egt0 and every individual satisfaction
    function, consider its level sets at O(1/e)
    heights

12
Approximation Algorithm
  • For a given egt0 and every individual satisfaction
    function, consider its level sets at O(1/e)
    heights

13
Approximation Algorithm
  • Construct rectilinear paths between the level
    sets
  • Decompose into rectangles

14
Approximation Algorithm
  • The weighted rectangles almost approximate the
    satisfaction function

15
Approximation Algorithm
  • We have a collection of weighted rectangles
  • We locate the most heavily covered point
  • The global satisfaction value of this point is at
    least (1-e) of the optimum

16
Approximation Algorithm
  • To locate the heaviest point
  • Sweep the plane with a vertical line
  • Rectangles define weighted intervals on the line
  • Maintain the heaviest point on the line using a
    segment tree
  • During the sweep, intervals are inserted and
    removed

17
Analysis
  • The number of slices is O( log(1/e)/e )
  • The number of rectangles (per function) is O(
    log(1/e)/e2 )
  • The overall number of rectangles is N
    O( n log(1/e)/e2 )
  • Every update of the segment tree during the sweep
    is O(log N)
  • Overall running time is O(N log N)

18
Exact Algorithm
  • Sweep the satisfaction functions with a vertical
    line
  • Maintain the global satisfaction function along
    the line with a KDS

19
Exact Algorithm
  • Treat these satisfaction values as points moving
    along vertical lines in 2-D
  • Maintain the upper hull of these points using a
    kinetic data structure

20
Exact Algorithm
  • To avoid handling O(n2) events, partition points
    into n1/2 batches
  • Each batch maintains an additional value the sum
    of long functions
  • When a long function changes we just update this
    value
  • When a short function changes we rebuild the
    kinetic data structure

21
Exact Algorithm
  • The number of events processed by each kinetic
    data structure is O(n1/2)
  • The kinetic data structures are rebuilt O(n)
    times
  • The overall running time is O(n3/2 log3n)

22
Implementation
  • The approximation algorithm becomes faster than
    the algorithm of Song et al. only when n is in
    the hundreds of thousands.
  • The bottleneck is updating the segment tree
    during the sweep. Each insertion or deletion
    takes O(log N), but there are 2N of them, and N
    is at least 50n

23
Implementation
24
Work in progress
  • Hardware-assisted algorithm
  • Continuous zoom range
  • More than one camera frame
  • Dynamic maintenance, obstacles, weighted users
    ...

25
Thank you
Write a Comment
User Comments (0)
About PowerShow.com