Robust Object Tracking:

A Path Planning Approach

Bryant Chandler

Problem

Flying a UAV for ground object (waldo) tracking requires a trained team

Solution

Automate the UAV flight to reduce team size and allow the user to focus on more strategic tasks

Waldo

Requirements

  • Maximize visible area
  • Maximize weighted waldos in frame
  • Maximize information gain during travel
  • Reduce chance of occlusion
  • Run in real time

Thesis Statement

UAV path-planning can support vision-based object tracking by moving the UAV to a location via a path that maximizes the visibility of important targets. This can be done by using RRT*-based path-planning that uses a cost function that blends visibility and information gain.  A goal point can be chosen periodically by identifying, from a pre-defined discretization of the space, the cell that maximizes visibility of important targets. Furthermore, the tree structures in RRT* can be adapted to handle changes in start/end points in an anytime fashion without replanning from scratch.

Related Work - Discrete Planning

  • Advantages
    • Reduces execution time by discretizing into grid
    • Simple to implement
  • Disadvantages
    • Discretization excludes good solutions
    • Graph search is slow at high resolutions
  • Variants
    • Dijkstra - Finds optimal path from point to all others
    • A* - Uses a heuristic to improve speed, only finds path to one endpoint
    • D* - Adapts Dijkstra to handle unexpected obstacles
    • D* Lite - Accomplished D* more efficiently using A*

Related Work - Sampling Planning

  • Advantages
    • Finds solutions A* would get at high resolution
  • Disadvantages
    • Slower than A* at low resolutions
  • Variants
    • RRT - Randomly samples points to form a tree
    • PRM - Randomly samples points to form a graph
    • RRT* - Adapts RRT to rewire tree when new(better) nodes are added
    • CC-RRT* - Adapts RRT* to prune for new obstacles
    • Informed RRT* - Improves RRT* convergence time

RRT - Rapidly Exploring Random Tree

  1. Randomly sample a point
  2. Find the nearest neighbor
  3. Create a new node, no longer than max segment from nearest neighbor in the direction of the sampled point
  4. Connect to nearest neighbor as parent

RRT* (* for optimal)

  1. A point is sampled and all nodes in a neighborhood are found
  2. The neighbor that would provide the lowest cost is selected and becomes parent of sampled point
  3. All other neighbors are checked to see if they would reduce cost by rewiring to the new node as their parent

RRT* Replanning Limitation

  1. Robot starts at red headed to purple
  2. At green it realizes that it really wants to go to blue
  3. The only way to get there is to replan (expensive)

Online RRT*

  • Requirements
    • Continue sampling without becoming intractable
    • Allow both start and end points to move
  • Solution
    • Run RRT* normally until the nodes in the tree sufficiently saturate the configuration space
      • A fixed threshold based on area
    • Continue sampling and rewiring without adding new nodes

Move Start Point

A tree with the start node as a square

A new start node (blue square) is made parent of the original and its neighbors are found

Neighbors are rewired to the new start node

Online Sampling

Sample a point (highlighted in pink) and find all nodes in its neighborhood

Find the node in the neighborhood that has the lowest cost (blue)

Rewire all neighbors to the best node if it would improve their cost

ORRT* Example

  • Threshold set at about 4800 nodes
  • Orange is start point, yellow is endpoint
  • Purple circles represent waldos

Impact of ORRT* on # of Nodes

  • Moving the start point acts like a memory leak
  • Eventually becomes a significant problem

Potential Solutions

  • Perform global pruning periodically
  • Remove redundant nodes as part of the rewire step

Cost Function

The cost for any node i is the weighted sum of the unseen area, distance to parent, and cost of parent

cost(i) = K_u e_{unseen}(i-1, i) + K_d dist(i-1, i) + cost(i-1)
cost(i)=Kueunseen(i1,i)+Kddist(i1,i)+cost(i1)cost(i) = K_u e_{unseen}(i-1, i) + K_d dist(i-1, i) + cost(i-1)

Endpoint Selection

  • Discretize into bins

  • Each waldo gives a weighted vote to the bins from which it is visible

  • Fullest bin wins

Endpoint Selection - Prediction

  • Three methods to predict waldo position:

    • Moving Average Filter of frame to frame velocities

    • Linear model with momentum in a Kalman Filter

    • Random Walk

Thesis Statement

UAV path-planning can support vision-based object tracking by moving the UAV to a location via a path that maximizes the visibility of important targets. This can be done by using RRT*-based path-planning with a cost function that blends visibility and information gain.  A goal point can be chosen periodically by identifying, from a pre-defined discretization of the space, the cell that maximizes visibility of important targets. Furthermore, the tree structures in RRT* can be adapted to handle changes in start/end points in an anytime fashion without replanning from scratch.

Validation - ORRT*

Claim Metric
ORRT* is more time efficient than standard RRT* after reaching the threshold Compute RRT* and ORRT* execution time per iteration, run the test for 10x the threshold iterations
ORRT* is more space efficient than standard RRT* after reaching the threshold Compute RRT* and ORRT* total memory usage at each iteration , run the test for 10x the threshold iterations
ORRT* start point moving works in an anytime fashion Compare to recomputing RRT* from scratch (time to get solution below some cost). Compare to PRM* and A*.

Validation - ORRT*

  • ORRT* start point moving works in an anytime fashion

    • Generate several random worlds

    • Generate optimal path truth data

      • Run A* with random start/end points

      • Record all point-length combinations

    • Assume f=30hz and the startpoint moves at every timestep

    • Run ORRT* and RRT* through the same sequence of worlds and endpoints with varying replan frequency

Validation - Endpoint Selection

Claim Metric
The endpoints selected maximize the important waldos that can be seen Compare our endpoint selection method to more simple methods. These methods include computing a weighted centroid of the four highest value waldos, and picking the location of the highest value waldo.
Consider various combinations of our prediction methods. First run them individually, and then run them with pairwise combinations. Finally, run them all combined.

Validation - Endpoint Selection

  • The endpoints selected maximize the important waldos that can be seen

    • Metric - run for a fixed period of time with pre-recorded waldo paths

      • Score from the amount of time any waldo is in frame scaled by its importance

    • Run the same tests with different prediction methods

      • Moving Average Filter of frame to frame velocities

      • Linear model with momentum in a Kalman Filter

      • Random Walk

      • Combinations of the above

Supplemental - Cost Function

  • Our cost function favors paths that maximize visible area such that the UAV maximizes what it can see during travel

    • Use the same tests performed when validating endpoint selection

    • Turn unseen area part of cost function off and observe the difference in score if any

Supplemental - ORRT*

  • ORRT* is more time efficient than standard RRT* after reaching the threshold

    • Experimental analysis - compare time per iteration

      • Run ORRT* for a long time

      • Run RRT* for the same long time

  • ORRT* is more space efficient than standard RRT* after reaching the threshold

    • Mathematical analysis

    • Experimental analysis - compare memory use

      • Run ORRT* for a long time

      • Run RRT* for the same long time

Acknowledgement

This work has been funded by the Center for Unmanned Aircraft Systems (C-UAS), a National Science Foundation-sponsored industry/university cooperative research center (I/UCRC) under NSF Award No. IIP-1161036 along with significant contributions from C-UAS industry members.

Proposal

By Bryant Chandler

Proposal

  • 610