A Simple Robust Robotic Vision System using Kohonen ... - CiteSeerX

0 downloads 0 Views 128KB Size Report
References. 1] L. Joseph Jones and Anita M. Flynn. Mobile. Robots. A K Peters, Ltd, Wellesley, MA, USA,. 1993. 2] Teuvo Kohonen. Self-Organization and Asso-.
A Simple Robust Robotic Vision System using Kohonen Feature Mapping Kurt Malmstrom, Lance Munday Faculty of Build Environment and Engineering malmstro@ t.qut.edu.au, munday@water. t.qut.edu.au, Joaquin Sitte School of Computing Science Queensland University of Technology GPO Box 2434 Brisbane Q 4001 Australia [email protected]

Abstract

in the network are usually arranged in a one or twodimensional array. Kohonen's self-organising algorithm maps beacon positions onto the array preserving the topology of the signal input space. In section 2, we explain how to train a Kohonen neural network with a one-dimensional array of 17 neurons to determine the direction of the infrared beacon. Section 2.1 discusses the importance of learning rate and neighbourhood width reduction, and the choice of initial neighbourhood width. An analysis of networks with 8 and 33 neurons is then presented in sections 2.2 and 2.3. Section 2.4 discusses how to make the determination of beacon direction independent from its distance from the robot. An analysis of how the topology preservation property of the Kohonen network produces a robust vision system is shown in section 3. Section 3.1 we give quantitative examples of the robustness to inaccurate input and section 3.2 to incomplete input. Finally section 4 discusses the use of a two dimensional Kohonen network that can determine both beacon direction and distance.

We use a one-dimensional Kohonen network for detecting the angular position of an infrared beacon in front of an experimental autonomous vehicle. The inputs to the Kohonen network are the analog output signals from eight infrared detectors arranged along a semi-circle on the front of the vehicle. By letting the network self-organise while a beacon is moved from one side to the other in front of the sensors a linear mapping of angles on neurons emerges. The mapping is robust against alignment errors, differences in sensitivity and even total failure of some sensors. A two-dimensional Kohonen network can even detect distances with the same sensor array.

1 Introduction Infrared emitters and detectors are often used for inexpensive proximity detectors in experimental autonomous vehicles [1]. These detectors can only detect the presence or absence of an obstacle a few centimetres in front of the detector. More elaborate vision systems for such vehicles are often too expensive and require too much real-time computation. We found that by using neurocomputing methods it is possible to build an inexpensive infrared sensor system processing capable of sensing the angular position and distance of an infrared beacon without elaborate calibration. Moreover this rudimentary vision system is remarkably robust against component inaccuracies, variations and even failures. We use an array of 8 infrared sensors mounted in a semicircular con guration as shown in Figure 1. The sensors are directional and cover approximately 70 . The arrangement can be thought of as forming a one-dimensional facet eye [3].We use a Kohonen network [2] to extract information about the position of an infrared from the signals received from the infrared sensors, hereafter called eyes. The neurons

2 Implementation To convert the eight dimensional input of signal amplitudes to an output representing the direction of the beacon we decided to use a one-dimensional Kohonen network of 17 neurons. This con guration allows determination of 17 beacon directions which divide the 180 of vision into 11 25 equal segments. From the diagram of the eye con guration in Figure 1, it can be seen that the angles at which the eyes are spaced is 22 5. Therefore the network has to interpolate the beacon directions which fall between these eye angles. Figure 1 also illustrates the process of determining the beacon direction. If the beacon is positioned somewhere near the middle of the robot's eld of vision, then the signal amplitudes seen by the 8 :

:

1

18 16 Winning Neuron

14 12 10 8 6 4 2 0 0

20

40

60 80 100 120 Beacon Angle (deg)

140

160

180

2: Winning Neuron v Beacon Angle, Figure 1: Determination of Beacon Direction. In Figure 17 Neurons. The solid line shows the ideal mapping. this case neuron 9 is the winning neuron. eyes would appear similar to the graph shown. This eight-dimensional input data is presented to the Kohonen network with the winning neuron declared as the one whose weights are closest in Euclidean distance to the input. As can be seen in the Figure 1, the winning neuron is '9', which corresponds to an approximate beacon angle of 90 . To provide a training set for the Kohonen network, over 600 samples of the 8 eye amplitudes were captured as the infrared beacon was moved around the robot in an arc with a constant radius of 50 cm. These input samples were then presented, in a random order, to the Kohonen network. The network was then trained for 50 epochs using Kohonen's learning algorithm . To test the network, the beacon was placed at 17 equi-distant angles on the 50 cm radius arc and the signal amplitudes detected by the eyes captured. This data was then presented as input to the network, and winning neuron was calculated for each data sample. Figure 2 shows the winning neuron for each of the 17 beacon angles. As can be seen, the Kohonen network has achieved an almost perfectly linear mapping despite the inaccurate positioning the eyes. This apparent system robustness is discussed in detail in section 3.

8 7 Winning Neuron

6 5 4 3 2 1 0

20

40

60 80 100 120 Beacon Angle (deg)

140

160

180

Figure 3: Winning Neuron v Beacon Angle, 8 Neurons. The solid line shows the ideal mapping. ear correspondence between winning neurons and beacon angles was lost. In a similar manner a larger initial neighbourhood, 10 for example, also failed to produce the linear correspondence.

2.2 Network with 8 Neurons As explained above, the Kohonen network was chosen to have 17 neurons to allow beacon angles in between eyes to be interpolated. However we also investigated the network's performance with only 8 neurons, so that each eye was associated with only one neuron. The network was trained as described above, with the same training data and learning rates. The initial neighbourhood width for this con guration was selected as approximately 13 of the total neuron width at 2.5. To test the network, the data samples corresponding to the eight beacon angles directly in front of eyes were used as input. Figure 3 shows the winning neuron for each of the 8 beacon angles. As can be seen, the network has achieved this ideal mapping as is to be expected since no interpolation is needed.

2.1 Learning Rate & Neighbourhood

For convergence of Kohonen's learning algorithm, it is often essential to reduce both the learning rate and neighbourhood width during training. Through experimentation we found that reducing both the learning rate and the neighbourhood width at the 1 was suitable. This rate, and an rate of pepoch initial learning rate of 0.5 were found not to be critical. However, the initial neighbourhood width was of importance. We found through experimentation that an initial neighbourhood of 5 neurons was suitable (approx. 31 of the total neuron width). A smaller initial neighbourhood, 2 for example, caused twisting in the feature map, so that the lin2

30

30

25

25

Winning Neuron

35

Winning Neuron

35

20

20

15

15

10

10

5 0 0

5 20

40

60 80 100 120 Beacon Angle (deg)

140

160

0 0

180

20

40

60 80 100 120 Beacon Angle (deg)

140

160

180

Figure 4: Winning Neuron v Beacon Angle, 33 Neu- Figure 5: Winning Neuron v Beacon Angle. Various rons. The solid line shows the ideal mapping. distances are shown

3 System Robustness

2.3 Network with 33 Neurons

The robustness of the simple vision system is measured by its ability to work correctly given inaccurate and/or incomplete input. We rst demonstrate the inherent inaccuracy of the system's eyes, and explain how the topology preservation property of the Kohonen network makes the system immune to this inaccuracy. We then show that the system will still work when up to 6 of the 8 eyes are disabled, and explain how the topology preservation property and the eye redundancy combine to achieve this.

We also implemented a network using 33 neurons, to investigate the possibility of achieving a greater beacon angle resolution. The network was trained once again using the same data and learning rates as those for the 17 neuron network. In this case the initial neighbourhood width was set at 10. To test the network, data was sampled at 33 beacon angles. From Figure 1, it can be seen that the network now needs to accurately interpolate the beacon direction to 5 625 resolution. That is interpolation of 3 angles between the angles at which adjacent eyes are positioned. Figure 4 shows the winning neuron for each of the 33 beacon angles. As can be seen, the network has not achieved the ideal mapping. However the winning neurons have mapped to a near perfect linear representation and therefore although displaced by one neuron for each angle, the topology of the input space is accurately maintained. :

3.1 Inaccurate Input

When mounting the eyes on the robot it was found that perfect alignment of the eyes was virtually impossible. Misalignment of a particular eye in either the horizontal or vertical plane by a few degrees from the angle of maximum sensitivity would result in the eye detecting a smaller value than normal. In addition to the problem of misalignment, it was dicult to obtain infrared detectors, eyes, with identical characteristics. When considering the entire array of eyes, these problems meant that a uniform distribution of detected amplitudes could not be achieved without extreme diculty. Figure 6 illustrates the eyes' inaccuracy. Each curve shows the signal amplitudes seen by an eye as the beacon is moved around the robot at a constant distance of 50cm and therefore gives the eye characteristics of the vision system. As can be seen, the eye characteristics are not uniform or identical. If the beacon angle was calculated directly using these curves, an error in calculated direction would almost always result. Manual adjustment of the eye alignments is extremely dicult, so each amplitude would have to be mathematically corrected to remove this error. This would involve many tedious and time-consuming calculations, which would only produce correct results so long as the eye characteristics remained constant. By using the Kohonen network the performance

2.4 Distance Invariance The nature of the robot's vision system dictates that the further the beacon is away, the amplitudes detected by the eyes becomes smaller. Therefore, using the Euclidean distance to determine the difference between the inputs and learnt weights from training at 50cm, will result in the correct detection of beacon direction for this distance only. However by normalising the inputs the distance information is removed (all inputs are now between 0 and 1). Using this method and retraining the network allows the approximate beacon direction to be detected for all distances, that is the system is now distance invariant. Figure 5 shows the angle vs winning neuron plots for the distances of 50cm, 75cm and 100cm using the weights for the network obtained after training with normalised inputs at 50cm and 33 neurons. As can be seen the network has e ectively become distance invariant. 3

35

100

30 25

Winning Neuron

Signal Magnitude

120

80

20

60

15

40

10

20 0 0

5 20

40

60 80 100 120 Beacon Angle (deg)

140

160

0 0

180

Figure 6: Eye Characteristics

60 80 100 120 Beacon Angle (deg)

140

160

180

network is indeed possible.

100 Weight Magnitude

40

Figure 8: Winning Neuron v Angle with Two Eyes Disabled

120

3.2 Incomplete Input

80

The other facet of robustness that the Kohonen network allows is tolerance of incomplete input data. Thus when one or more eyes are disabled, the Kohonen network can still correctly determine beacon direction. Again using the trained network of 33 neurons described in section 2.3, input from eyes 3 and 7 were set to zero. Figure 8 shows the winning neuron versus beacon angle with no adjustment to the network. Obviously, the network is now producing the incorrect response. However, if the weights connected to the disabled inputs are also set to zero, then the original linear plot is recovered (Figure 4). This is due to the Kohonen algorithm itself. The winning neuron is found as the one with the minimum di erence in Euclidean distance between the input and its weight vector. Therefore, by setting the component of the weight vector connected to the disabled eye to zero, the di erence in Euclidean distance is determined by the remaining operational eyes only. Since these operational eyes still return the same characteristics the network operates correctly. Retraining the network obtains the same result, that is the component of the weight vector is reduced to zero. The robustness of the system to incomplete input can be deduced from the eye characteristic of Figure 6. From the graph each eye has a 3dB coverage of approximately 70 and therefore adequate interpolation can be achieved with as few as two eyes. The ability of the system to work given incomplete data was further tested by disabling all of the eyes except 3 and 6. As above, with the weights of the disabled inputs set to zero, the linear correspondence between angle versus winning neuron can be recovered. Figure 9 illustrates this. However using eyes any wider apart, eg 2 and 7, does not allow adequate mapping since the overlap in eye characteristics is now too small to produce accurate

60 40 20 0

20

5

10

15 20 Neuron

25

30

Figure 7: Network Weights of the vision system is no longer a ected by the inaccuracies of the eyes, which eliminates the need for any form of calibration. This immunity to eye inaccuracy is brought about by the topology preservation property of the Kohonen network. To explain this property, it is necessary to look at the weights of the Kohonen network and the characteristics of the eyes. Figure 7 shows the weights obtained after training the network with input obtained at 50cm from the robot. To allow comparison with the actual eye characteristics of Figure 6, the inputs were not normalised. Each curve in the plot represents the weight vector connected to a particular eye, hence the eight curves. The network consisted of 33 neurons and therefore each curve or weight vector consists of 33 points. Comparing the two gures, it can be seen that the weight vectors connected to each eye closely match the actual eye characteristics. Thus the network has learnt the characteristics of each eye. It follows that for a given beacon angle, there is a direct relationship with the corresponding neuron number. As has been discussed previously, the use of more than 8 neurons allows interpolation of the beacon direction when positioned at an angle between two eyes. By examining the weight curves of Figure 7, it can be seen that the weight vectors of adjacent eyes overlap and therefore interpolation by the Kohonen 4

35 8

30

7 Winning Neuron

25

6

20

5

15

4 3

10

2 5 0 0

1 20

40

60 80 100 120 Beacon Angle (deg)

140

160

180

1

2

3

4

5

6

7

8

Figure 9: Winning Neuron vs Angle with Six Eyes Figure 10: Two-Dimensional Mapping of Input Disabled After Retraining Space grid. Further investigation of this two-dimensional mapping is continuing and will be reported elsewhere.

interpolation of the beacon angles.

4 Kohonen 2-D Network

5 Conclusions

As mentioned in section 2.4, the inputs need to be normalised for the vision system to determine the direction of the beacon at any distance within its range. This ability is at the expense of the distance information. The distance information could be retrieved separately be examining the peak amplitude of the input signal, however this method does not lend itself to the use of neural networks. The use of neural networks allows the system to retrain for changes in eye characteristics. Initial experimentation into the possibility of producing a two-dimensional mapping of the input space has shown promising results. To achieve this two-dimensional mapping, the Kohonen algorithm was used on a two-dimensional square grid of neurons fully interconnected with the eyes. The neighbourhood function in this case is positioned radially around each winning neuron. A neuron grid of 8 x 8 was chosen and the input space sampled in a arc around the robot at distances ranging from 375mm to 1000mm in steps of 125mm. With this con guration and an initial neighbourhood width of 2.5, we achieved an approximate mapping of the input space. It is therefore possible to obtain an approximate direction and distance to the beacon. Figure 10 shows the mapping achieved by the neuron grid. Each circle on the graph represents a neuron while the shaded lines show the winning neurons for particular distances. The rightmost line represents the winning neurons for the inputs obtained from a distance of 375mm with the top of the line representing 0 and the bottom of the line representing 180. The other lines plotted from the next rightmost to the leftmost represent the winning neurons for distances of 500mm, 625mm, 750mm, 825mm and 1000mm respectively. These results show that the topology of the input space is maintained approximately in the neuron

We have shown that the one-dimensional Kohonen network can accurately determine the beacon direction using 8, 17 and 33 neurons. We also discovered that for the network to train successfully, the initial neighbourhood width needed to be set to approximately 31 of the total number of neurons. The topology preservation property of the network allows the vision system to work correctly given inaccurate or incomplete input. This means that the infrared sensors do not require calibration or alignment and that the system can continue to operate when sensor failure occurs. Therefore the simple robotic vision system is indeed robust. We have also shown that two-dimensional Kohonen network is capable of determining the approximate beacon distance and direction.

References [1] L. Joseph Jones and Anita M. Flynn. Mobile Robots. A K Peters, Ltd, Wellesley, MA, USA, 1993. [2] Teuvo Kohonen. Self-Organization and Associative Memory. Springer-Verlag, 2nd edition, 1988. [3] Luis R. Lopez. Neural processing and control for arti cial compound eyes. In IEEE International Conference On Neural Networks, volume V, pages 2749{2753, 1994.

5

Suggest Documents