This software has been designed to detect water bodies that are out in the open on cross-country terrain at mid- to far-range (approximately 20–100 meters), using imagery acquired from a stereo pair of color cameras mounted on a terrestrial, unmanned ground vehicle (UGV). Non-traversable water bodies, such as large puddles, ponds, and lakes, are indirectly detected by detecting reflections of the sky below the horizon in color imagery. The appearance of water bodies in color imagery largely depends on the ratio of light reflected off the water surface to the light coming out of the water body. When a water body is far away, the angle of incidence is large, and the light reflected off the water surface dominates. We have exploited this behavior to detect water bodies out in the open at mid- to far-range. When a water body is detected at far range, a UGV’s path planner can begin to look for alternate routes to the goal position sooner, rather than later. As a result, detecting water hazards at far range generally reduces the time required to reach a goal position during autonomous navigation. This software implements a new water detector based on sky reflections that geometrically locates the exact pixel in the sky that is reflecting on a candidate water pixel on the ground, and predicts if the ground pixel is water based on color similarity and local terrain features (see figure).

Water is Detected indirectly by detecting sky and terrain reflections.
Assuming a water body can be modeled as a horizontal mirror, a ray of incident light reflected off the surface of a water body enters a pixel of a camera’s focal plane array (FPA). Since the angle of incidence is equal to the angle of reflection (according to the law of reflection), a direct ray from the tail of the incident ray (and within the same vertical plane as the incident ray) will enter the camera’s FPA at a pixel whose color will indicate the color of the sky being reflected along the reflected ray. Because the distance between the camera and the sky is much larger than the distance between the camera and candidate water points at normal detection ranges, the direct ray and the incident ray will be nearly parallel, and the angle between the direct ray and the reflected ray can be approximated as two times the glancing angle. Calculations to locate the pixel a direct ray enters are simple and involve for any candidate water pixel conversion of the 2D image coordinates to a 3D unit vector, negation of the z component of the unit vector, and conversion of the modified unit vector back to 2D image coordinates.

This work was done by Arturo L. Rankin and Larry H. Matthies of Caltech for NASA’s Jet Propulsion Laboratory. For more information, download the Technical Support Package (free white paper) at www.techbriefs.com/tsp under the Software category.

This software is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at This email address is being protected from spambots. You need JavaScript enabled to view it.. Refer to NPO-47092.



This Brief includes a Technical Support Package (TSP).
Document cover
Water Detection Based on Sky Reflections

(reference NPO-47092) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
Software Tech Briefs Magazine

This article first appeared in the September, 2010 issue of Software Tech Briefs Magazine (Vol. 34 No. 9).

Read more articles from this issue here.

Read more articles from the archives here.


Overview

The document titled "Water Detection Based on Sky Reflections" is a Technical Support Package from NASA's Jet Propulsion Laboratory (JPL), focusing on the development of a robust water and mud classifier for unmanned ground vehicles (UGVs). The primary goal of this research is to enhance the autonomous navigation capabilities of UGVs by accurately detecting water hazards, which can pose significant risks during missions.

The introduction emphasizes the critical need for effective water detection, as traversing deep water bodies can lead to damage to UGV electronics and operational failures. Such incidents not only jeopardize the mission but may also require rescue operations, diverting resources and personnel from their primary objectives. The document outlines the Robotics Collaborative Technology Alliances (RCTA) Water and Mud Detection task, which aims to create a reliable detection system for various terrain conditions, operational both day and night.

A key aspect of the detection method is the use of sky reflections. The reflective properties of water, particularly at large incidence angles, allow for indirect detection by identifying reflections of the sky in color imagery. The software developed implements a new water detection algorithm that geometrically locates the exact pixel in the sky reflecting on a candidate water pixel on the ground. This method not only predicts the presence of water based on color similarity but also considers local terrain features, enhancing the accuracy of detection.

The document includes technical details about the camera parameters used for detection, such as field of view (FOV) and resolution, and discusses how the reflection of the sky on water changes as the UGV approaches the water body. It highlights the importance of early detection of water hazards, which can significantly reduce the time required for UGVs to navigate safely to their goal positions.

Overall, this Technical Support Package provides valuable insights into the methodologies and technologies being developed to improve UGV navigation and safety in environments where water hazards are present. It serves as a resource for further research and collaboration in the field of autonomous vehicle technology.