Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Vladlen Koltun, UC Berkeley Joint work with Sariel Har-Peled, Dezhen Song and Ken Goldberg Efficient Algorithms for Shared Camera Control."— Presentation transcript:

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

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

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

4 Related Work Shared on-line control over a single mechanism 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 Algorithms we describe are relevant in these scenarios as well

5 Contribution Song, van der Stappen and Goldberg (2002), O(n 2 ) Song, van der Stappen and Goldberg (2002), O(n 2 ) Our work Our work –Exact - O(n 3/2 log 3 n) –ε-approximation - O(n logn) Discretizing zoom values 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 Idea: Maximize user satisfaction Find a way to evaluate the satisfaction of a given user with a given camera rectangle Find a way to evaluate the satisfaction of a given user with a given camera rectangle Compute rectangle that maximizes cumulative user satisfaction Compute rectangle that maximizes cumulative user satisfaction

7 Individual User Satisfaction Intersection over maximum metric: Intersection over maximum metric: Intersection Area Intersection Area Maximum Area camera user

8 Individual Satisfaction Function Intersection (user i,cam(x,y)) Maximum (user i,cam(x,y)) Maximum (user i,cam(x,y)) user i SAT i (x,y) = (x,y)

9 Individual Satisfaction Function Intersection (user i,cam(x,y)) Maximum (user i,cam(x,y)) Maximum (user i,cam(x,y)) SAT i (x,y) = user i (x,y)

10 Global Satisfaction Function SAT(x,y) = ∑ i SAT i (x,y) SAT(x,y) = ∑ i SAT i (x,y) We are searching for (x,y) that maximizes SAT(x,y) We are searching for (x,y) that maximizes SAT(x,y)

11 Approximation Algorithm For a given ε>0 and every individual satisfaction function, consider its level sets at O(1/ε) heights For a given ε>0 and every individual satisfaction function, consider its level sets at O(1/ε) heights

12 Approximation Algorithm For a given ε>0 and every individual satisfaction function, consider its level sets at O(1/ε) heights For a given ε>0 and every individual satisfaction function, consider its level sets at O(1/ε) heights

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

14 Approximation Algorithm The weighted rectangles “almost” approximate the satisfaction function The weighted rectangles “almost” approximate the satisfaction function

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

16 To locate the heaviest point 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 Approximation Algorithm

17 Analysis The number of slices is O( log(1/ε)/ε ) The number of slices is O( log(1/ε)/ε ) The number of rectangles (per function) is O( [log(1/ε)/ε] 2 ) The number of rectangles (per function) is O( [log(1/ε)/ε] 2 ) The overall number of rectangles is N = O( n [log(1/ε)/ε] 2 ) The overall number of rectangles is N = O( n [log(1/ε)/ε] 2 ) Every update of the segment tree during the sweep is O(log N) Every update of the segment tree during the sweep is O(log N) Overall running time is O(N log N) Overall running time is O(N log N)

18 Exact Algorithm Sweep the satisfaction functions with a vertical line Sweep the satisfaction functions with a vertical line Maintain the global satisfaction function along the line with a KDS 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 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 Maintain the upper hull of these points using a kinetic data structure

20 Exact Algorithm To avoid handling O(n 2 ) events, partition points into n 1/2 batches To avoid handling O(n 2 ) events, partition points into n 1/2 batches Each batch maintains an additional value: the sum of long functions Each batch maintains an additional value: the sum of long functions When a long function changes we just update this value When a long function changes we just update this value When a short function changes we rebuild the kinetic data structure 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(n 1/2 ) The number of events processed by each kinetic data structure is ≈O(n 1/2 ) The kinetic data structures are rebuilt O(n) times The kinetic data structures are rebuilt O(n) times The overall running time is O(n 3/2 log 3 n) The overall running time is O(n 3/2 log 3 n)

22 Implementation The approximation algorithm becomes faster than the algorithm of Song et al. only when n is in the hundreds of thousands. 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 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 Hardware-assisted algorithm Continuous zoom range Continuous zoom range More than one camera frame More than one camera frame Dynamic maintenance, obstacles, “weighted” users... Dynamic maintenance, obstacles, “weighted” users...

25 Thank you


Download ppt "Vladlen Koltun, UC Berkeley Joint work with Sariel Har-Peled, Dezhen Song and Ken Goldberg Efficient Algorithms for Shared Camera Control."

Similar presentations


Ads by Google