Following Multiple Unpredictable Coherent Targets Among Obstacles Christopher Vo Jyh-Ming Lien * Abstract Camera control is essential in both virtual and real-world environ- ments. The quality of the camera’s placement and motion may spell the difference between usability and confusion. Our work focuses on an instance of camera control called target following, and offers an algorithm for following multiple targets with unpredictable tra- jectories, among known obstacles. To the best of our knowledge, this work is the first attempting to address this important problem. 1 Our Method and Results In multi-targets following, the camera’s primary objective is to fol- low and maximize visibility of multiple moving targets. For ex- ample, in video games, a third-person view camera may be con- trolled to follow a group of characters through complicated virtual environments. In robotics, a camera attached to robotic manipula- tors could also be controlled to observe live performers in a con- cert, monitor assembly of a mechanical system, or maintain task visibility during teleoperated surgical procedures. In general, it is difficult for a user to manually control the camera while also con- centrating on other critical tasks. Therefore, it is desirable to have an autonomous camera system that handles the camera movement. The camera control problem has been studied extensively in both computer graphics and robotics (see a recent survey [Christie et al. 2008]) because of its broad applications. Unfortunately, many of these methods are not applicable to real-time multi-targets follow- ing among obstacles. The problem of building a camera for following the targets can be viewed as an online motion planning problem, in which the plan- ner must be able to generate a trajectory for the camera and predict targets’ motions in real time. In this poster, we present a sampling- based planner to robustly follow multiple targets among obstacles. We assume that the workspace is populated with known obstacles represented by polygons. These polygons are the projection of 3D objects that can potentially block the camera’s view. This projection essential reduces our problem to a 2D workspace. We assume that, initially, the targets T are visible by the camera C, and, during the entire simulation, T exhibit certain degree of coherence (similar to a flock of bird). The targets are either controlled by the user or by an- other program, so the trajectories of the targets are not known in ad- vance. However we assume that the maximum (linear) velocity of the target, v max T , is known. The current positions X T ′ (t) of some targets T ′ ⊂ T at time t are known only if T ′ is in C’s view range. The camera C also has bounded linear velocity v max C . The camera C’s view range VC is defined as a tuple: VC =(θ, rnear ,r far ), where θ is the view angle, and rnear and r far define the near and far view range. The exact configuration of this view range at time t, denoted as VC (t), is defined by the tuple and the camera’s location xC (t). The position xC of the camera is simply governed by the following linear equation: xC (t + △t)= xC (t)+ △t · vC (t). The problem of target following then can be defined as: finding a se- quence of velocities vC (t) ≤ v max C , so that xC (t), ∀t, is collision free, and X t card({T ′ ⊂ T | X T ′ (t) ⊂VC (t)}) is maximized. Our approach is a sampling-based method extended from [Becker et al. 1997], which is originally designed to track a single target. ∗ Authors are with Department of Computer Science, George Mason University, Fairfax, VA, USA, {cvo1, jmlien}@cs.gmu.edu (a) reactive camera (b) sampling-based camera Figure 1: Difference between the reactive and proposed cameras. At each time step, given the visible targets T , the planner first creates k point sets PT , where k is a parameter. Each point set contains |T | predicted target positions. The predicted position of each target τ is sampled from the region visible from τ , and is at most (v max T ·△t) away from τ . The planner then creates a set PC of camera configurations that are at most (v max C ·△t) away from C. To decide the next camera configuration, we simply deter- mine arg max x∈P C ( X X∈P T vis(x, X)) , where vis(x, X) is the number of points in X that are visible by x. We also developed a reactive camera for comparison. This reactive camera determines its next configuration by maximizing the num- ber of visible targets based only on the targets’ currently positions. Figure 1 shows the difference between the reactive and the proposed cameras situated at the same target configuration. The latter clearly maintains better visibility when the targets move through the nar- row corridor. Figure 2 shows a stronger evidence that the proposed method can follow the targets better than the reactive camera. A main limitation of the sampling-based planner is the smoothness of the planned camera path. However, smoothness can usually be improved via a post-processing step. 0 0.25 0.50 0.75 1.00 Reactive sampling 25 sampling 50 Normalized visibility Figure 2: Following 50 targets in three environments. Quality is measured by the normalized visibility of the reactive camera vs. two sampling-based cameras, named “sampling 25” and “sampling 50”, which sample 25 and 50 camera configurations, respectively, in every time step. Normalized visi- bility is the ratio of the visible targets during the entire simulation. Each bar is an average over 30 runs, each of which is a 9000 time-step simulation. References BECKER, C., GONZ ´ ALEZ-BA NOS, H., LATOMBE, J.-C., AND TOMASI , C. 1997. An intelligent observer. In The 4th International Symposium on Experimental Robotics IV, Springer-Verlag, London, UK, 153–160. CHRISTIE, M., OLIVIER, P., AND NORMAND, J.-M. 2008. Camera con- trol in computer graphics. Computer Graphics Forum 27, 8, 2197 – 2218.