Neural Net Application to Optic Flow Sensors



      

Table of Contents


Introduction

Artificial neural networks are modeled after biological nervous systems, such as the brain, and represent a methodology to process and interpret raw information. Like neurons in the human brain, neural networks consist of many interconnected nodes which function collectively to communicate and disseminate information to solve specific problems. The ability to perform distributed computation, tolerate noisy inputs, and learn and adapt to unseen conditions is what makes neural networks so attractive. Such attributes make applying neural networks a promising approach to the characterization of optic flow microsensors.

There are several parameters, if varied, which could affect the overall performance of optic flow sensors. The three most significant are light intensity, contrast and texture. The difference in terms of light intensity (measured in lux) for natural sunlight and artificial lighting can be as high as two orders of magnitude. The sensor output for an object in identical motion in both environments could yield extremely different results. Furthermore, optic flow readings are almost non-existent in poor lighting conditions (e.g. at dusk or in a shadow). Similarly, objects which are dull or low in contrast (e.g. a white wall) will yield very low optic flow magnitudes even when within close proximity of the sensor. The net result is that these realistic conditions which yield contradicting sensor outputs could be fatal to a MAV if not accomodated for.

Neural networks can be taught to deal with this type of data. Networks, like people, learn by example. A network must be trained for it to successfully implement a desired task. To be able to adapt to different lighting conditions as well as objects with different textures and contrast, the network must be presented with actual data that represent a specific state of the MAV's world. For example, one state for an approaching object (e.g. boulder) might include: high light intensity, rich object texture, and high contrast, while another state could consist of: low light intensity, rich object texture, and high contrast. While the possibilities of different scenarios seem endless, a network need only be trained so that it remains generalized; overtraining (i.e. presenting the network with every possible scenario) can lead to performance degradation.

We conducted an experiment to see how effective a neural network would be in interpreting data from the optic flow sensor at different light intensities. The network and experimental setup are shown in the figures below. It is a multilayer feed-forward network consisting of two hidden layers. The network was trained and validated with two inputs: (1) a one-dimensional optic flow sensor acquired readings of a model railcar (in rad/sec) as it passed by the sensor at a constant reproducible linear velocity and (2) a digital light sensor measured the intensity of the ambient lighting conditions (in lux). The network output was trained using the actual distance from the sensor to the railcar (in inches). Different scenarios were achieved by varying the flourescent lighting conditions from 0-500 lux (a bright office is apx. 400 lux) as well as the actual distance from 0 to 63 inches.


A neural network with 2 hidden layers
      
Experimental setup used to collect training and validation data for neural network

Backpropagation updating was used during the training and validation phase. The activation function of each non-input node in the network is a sigmoid: 1/(1-e^x), where x is the nodal input (Russel And Norvig). Once the network was trained and validated, it was presented with an unseen state (i.e. 300 lux and a distance of 18 inches) to test its efficiency. Out of 900 data points, the average error of the network output was 3.5 inches. There were two outliers which accounted for the maximum error of 16 inches; the remaining errors fell in the range of 0-5 inches. A summary of the results can be found in Figure~\ref{results}. Two hidden layers are sufficient in this experiment, but more nodes and layers will be required when trying to characterize sensor outputs for more than two varying parameters.



Back to the Table of Contents

Useful Links



Back to the Table of Contents