Computer Vision for Autonomous Robots

Exploration is an important and active area of research in field robotics, as vehicles capable of autonomous exploration have the potential to significantly impact a wide range of applications such as search and rescue operations, environmental monitoring, and planetary exploration. Such autonomous exploration capabilities are desirable for Lunar and Martian missions as tele-operation becomes cumbersome due to large transmission delays. For this work, we define the exploration problem as simultaneously performing coverage of an unknown environment, mapping the area, and detecting objects of interest. There are three main challenges present in a complete solution to the exploration problem. First, the approach should maintain a globally consistent map over long distances with mainly relative measurement information and intermittent absolute measurements, such as GPS and magnetometers. Second, the solution should reliably identify potential objects of interest at as great a range as possible to minimize the time spent sweeping an environment for candidate objects, as well as identify objects of interest in varying lighting and environmental conditions. Finally, a method to plan an efficient search path over a terrain with unknown obstacles and contours is required. As the terrain is not known ahead of time, the solution should not require full map knowledge and allow for re-planning as the location is explored. Each of the three methods has demonstrated to work reliably in the 2013 NASA Sample Return Robot Challenge (NSRRC).

Picture of NASA Rove for the NSRRC 2013 Picture showing an overview of software architecture for the 2013 NSRRC robot.
University of Waterloo rover for the NSRRC 2013 Software architecture for the 2013 NSRRC robot.

Sample detection

 Picture showing frameworkd for sample detection

 Overall three-stage classifier cascade framework for sample detection and classification

The proposed sample detection architecture follows a general design principle of using a cascade of increasingly more expensive operations that run on successively fewer pixels or sub-regions. The first layer – Presence Detection – uses histogram features extracted from saliency maps to judge the presence of interesting objects in images. It can also be viewed as a domain adaptation scheme that maintains the overall object classification performance which might degrade abruptly in novel and untrained environments. The second layer, Localization, isolates and segments objects in very small and noisy pixel patches by applying thresholding on saliency maps, followed by non-maxima suppression and connected labeling stages. The extraction of objects in saliency maps together with advanced image enhancement techniques such bilateral filtering makes the approach feasible for a wide range of outdoor scenarios with unknown backgrounds. The third and final stage, Classification, is very fast and uses a Support Vector Machine along with a Histogram Intersection Kernel to assign class labels and probability output to each candidate object. The development of this work has been evaluated and tested within the NASA Sample Return Robot Challenge where ten objects were randomly scattered throughout a large 80,000m2 outdoor environment.

Existence detection

Picture showing existence detection framework The proposed framework of the existence detection scheme. The light-red block show the training, and the light-blue boxes the detection procedure.

Autonomous robots performing search tasks in large areas rarely see objects of interest. In the case of images containing background only, existing saliency approaches tend to highlight regions with unique attributes, yet irrelevant information. These regions may lead to false positive detection rates when fed into object detection approaches. As such, we are interested in quickly pruning uninteresting images containing only background information, and in keeping those that are crucial to the task of a robot. To predict the existence of potentially interesting objects, a histogram of saliency values is constructed to effectively remove geometrical information in the saliency map data. By exhibiting the largest variance across training samples using Principal Component Analysis (PCA), the probabilities of the saliency values that best discriminate between object and background images are selected and stacked into a feature vector. A binary classification approach is then applied to robustly predict the existence of interesting objects in images and to quickly discard background images.

Related people

Prof. Steven L. Waslander, Ph.D., P.Eng.,
Mechanical & Mechatronics Engineering, University of Waterloo, CA


Shahid Haider, Devinder Kumar


Christian Scharfenberger, Shimon Schwartz

Related research areas

Computer Vision
Image Segmentation/Classification

Related publications

Journal articles

Das, A., M. Dui, C. Scharfenberger, J. Servos, A. Wong, J. S. Zelek, D. A. Clausi, and S. Waslander, "Mapping, Planning, and Sample Detection Strategies for Autonomous Exploration", Journal of Field Robotics, vol. 31, issue 1, pp. 75 - 106, 2014. Details

Conference papers

Scharfenberger, C., S. L. Waslander, J. S. Zelek, and D. A. Clausi, "Existence Detection of Objects in Images for Robot Vision Using Saliency Histogram Features", 10th Conference on Computer and Robot Vision, May, 2013. Details