Vision-based waypoint following using templates and artificial neural networks

Post on 08-Mar-2023

2 views 0 download

Transcript of Vision-based waypoint following using templates and artificial neural networks

Neurocomputing 107 (2013) 77–86

Contents lists available at SciVerse ScienceDirect

Neurocomputing

0925-23

http://d

n Corr

E-m

jrsouza@

shinzato

denis@i

journal homepage: www.elsevier.com/locate/neucom

Vision-based waypoint following using templates and artificialneural networks

Jefferson R. Souza n, Gustavo Pessin, Patrick Y. Shinzato, Fernando S. Osorio, Denis F. Wolf

Mobile Robotics Laboratory, University of Sao Paulo (USP), Av. Trabalhador Sao-Carlense, 400, P.O. Box 668, 13560-970 Sao Carlos, Brazil

a r t i c l e i n f o

Available online 16 January 2013

Keywords:

Robotic vehicle navigation

Artificial neural networks

Computer vision

Compass

GPS waypoints

Templates

12/$ - see front matter & 2013 Elsevier B.V. A

x.doi.org/10.1016/j.neucom.2012.07.040

esponding author. Tel./fax: þ55 16 3371 223

ail addresses: jeffersonrodrigo.s@gmail.com,

icmc.usp.br (J.R. Souza), pessin@icmc.usp.br

@icmc.usp.br (P.Y. Shinzato), fosorio@icmc.u

cmc.usp.br (D.F. Wolf).

a b s t r a c t

This paper presents a learning-based vehicle control system capable of navigating autonomously. Our

approach is based on image processing, road and navigable area recognition, template matching

classification for navigation control, and trajectory selection based on GPS waypoints. The vehicle

follows a trajectory defined by GPS points avoiding obstacles using a single monocular camera and

maintaining the vehicle in the road lane. Different parts of the image, obtained from the camera, are

classified into navigable and non-navigable regions of the environment using neural networks. They

provide steering and velocity control to the vehicle. Several experimental tests have been carried out

under different environmental conditions to evaluate the proposed techniques.

& 2013 Elsevier B.V. All rights reserved.

1. Introduction

Research in autonomous vehicles have reached significantprogress and improved the experimental results over the lastyears. Some of them have focused on autonomous navigation,which is a fundamental task in this area [11]. Lately, severalworks have improved navigation in urban environments. Compe-titions, like DARPA Grand [8] and Urban [9] Challenges and ELROB[3] have been pushing the state of the art in autonomous vehiclecontrol. In these competitions, several different solutions thatcombine information from a large number of complex sensorswere proposed. Some approaches use five (or more) laser rangefinders, video cameras, radar, differential GPS, and inertial mea-surement units [2,11]. Although there is a large number ofinteresting applications for autonomous vehicle technology, itscost is still very high, hampering commercial applications.

This paper proposes a GPS-oriented and vision-based autono-mous navigation approach for urban environments. The systemuses a single monocular camera to acquire data from the envir-onment, a compass (orientation) and a GPS (localization) toobtain the necessary information for the vehicle to reach destina-tion through a safe path. It also detects the navigable regions(roads) and estimates the most appropriate maneuver. SeveralArtificial Neural Networks (ANNs) topologies have been evaluated

ll rights reserved.

8.

(G. Pessin),

sp.br (F.S. Osorio),

in order to keep the vehicle in a safe path, and finally control thevehicle’s steering and acceleration.

Our approach uses two different systems based on ANN. Thefirst identifies road lane regions in the image. After that, oursystem verifies several possible directions that are free to navi-gate. The value of the azimuth (difference between the currentand target positions) as well as a set of values that correspond tofree or obstructed directions on the road are obtained. Thesevalues are used as the inputs of the second system based on ANN,which aims to learn rules for vehicle control, providing steeringand velocity values. The system is detailed in Section 3. Fig. 1presents our CaRINA test platform.

2. Related works

ALVINN [12] is an ANN-based navigation system that calcu-lates a steer angle to keep an autonomous vehicle in the roadlimits. The gray-scale levels of a 30�32 image were used as theinput of an ANN. The original road image and steering wereprovided to improve the training, allowing ALVINN to learn howto navigate in new roads. After several upgrades, this system wasable to travel on many road types like single-lane and unlinedpaved roads at speeds of up to 55 mph. However, it is importantto emphasize that this system was designed and tested to driveon well-maintained roads like highways under favorable trafficconditions. According to [6], the problem of ALVINN is the lack ofability to learn features, which would allow the system to driveon different road types other than that on which it was trained.

Hamner et al. [5] presented an outdoor mobile robot thatlearns to avoid collisions based on human behavior. The test

J.R. Souza et al. / Neurocomputing 107 (2013) 77–8678

vehicle is equipped with laser, GPS and IMU to produce a map.This method automatically learns the parameters of the controlmodel. The model input is a goal point and a set of obstaclesdefined as points in the x–y plane of the vehicle. Random, GeneticAlgorithm (GA) and Simulated Annealing (SA) were used in thelearning step. GA and Random performed similarly well, and SAwas worse than the other techniques. The authors also comparedthe randomly learned parameter set with the principal compo-nent analysis and observed that the random generalized well. Theissue was the dependency of a goal point and the set of obstacles,and all the parameters were limited to a fixed range.

Intelligent Speed Adaptation and Steering Control [1] allowsthe vehicle to anticipate and negotiate curves safely. It uses

Table 1Input attributes of the ANNs (R, G, B¼red, green, blue components; H

Chrominance, average¼av, normalized¼norm, entropy¼ent, energy¼e

ANNs Input attributes

ANN1 U av, V av, B no

ANN2 V av, H ent, G n

ANN3 U av, B norm av

ANN4 U av, V av, B no

ANN5 V av, H ent, G n

ANN6 U av, B norm av

Fig. 3. Five possible geometries defining the vehicle directions it can follow. (a) Har

Fig. 2. Real image (a), road identi

Fig. 1. Intelligent Robotic Car for Autonomous Navigation (CaRINA) test platform.

Generic Self-Organizing Fuzzy Neural Network (GenSoFNN-Yager), which includes the Yager inference scheme [10].GenSoFNN-Yager can induce knowledge from low-level informa-tion in the form of fuzzy if–then rules. Results have shown therobustness of the system in the task of learning from examples ofhuman driving, negotiating new unseen roads. The disadvantageis that the autonomous driver demonstrates that anticipating isnot always sufficient. Moreover, large variations in the distribu-tion of the rules were observed, implying a high complexity of thesystem.

Stein and Santos [18] system computes the steering of anautonomous robot, moving in a road-like environment. It usesANNs to learn behaviors based on examples from a human driver,replicating and sometimes even improving human-like behaviors.To validate the created ANNs, real tests were performed and therobot successfully completed several laps of the test circuitshowing good capacities for both recovery and generalizationwith relatively small data sets.

Driving School [7] learns driving skills based on a humanteacher. It is implemented as a multi-threaded, parallel architec-ture in a real car and trained with real driving data to generatesteering and acceleration control for road following. Furthermore,it uses an algorithm to detect independently moving objects(IMOs) to spot obstacles with a stereo camera, demanding a morecomplex hardware. A predicted action sequence is compared tothe driver’s actions and a warning is issued if there are manydifferences between the two actions. The IMO detection algorithmis more general as it will respond not only to cars, but also to any

, S, V¼hue, saturation, value components; Y, U, V¼ Luminance–

n and variance¼var).

rm av, H ent, G norm en and H av

orm en, G av, U av, R av, H av, B norm av, G norm av and Y ent

, V av, B var, S av, H av, G norm av and G norm ent

rm av, H ent, G norm en and H av

orm en, G av, U av, R av, H av, B norm av, G norm av and Y ent

, V av, B var, S av, H av, G norm av and G norm ent

d left turn, (b) soft left turn, (c) straight, (d) soft right turn, (e) hard right turn.

fier (b) and VNMap result (c).

J.R. Souza et al. / Neurocomputing 107 (2013) 77–86 79

sufficiently large (11�11 pixels) moving object. The steeringprediction is very close to the human signal, but the accelerationis less reliable.

3. Proposed method

Our approach is composed of three steps. In the first, oursystem identifies the road on a color image obtained by a videocamera attached to the vehicle. The result from first step is avisual navigation map that is used in the next step. In the secondstep, a template matching algorithm identifies possible geome-tries of the road ahead of the vehicle (straight line, soft and hardturn to left/right) and calculates an occupation percentage foreach of them. Applying a threshold in these occupation values, thesystem distinguishes free areas from obstructed areas based onthe visual navigation map and road geometry. Finally, a super-vised learning technique is used to define the action that thevehicle should take to remain in the safe navigation regions(road). These steps are described in the next subsections.

Fig. 4. Structure of the second ANN used to steering and acceleration commands.

Fig. 5. GPS coordinates performed by CaRINA (environment 1).

Table 2Results of the ANNs for each topology.

Learning functions [OGP and MSE ð10�3Þ]

ANN topology Logistic sigmoid

Test 1 Test 2 Test 3 Test 4 T

6�3�2 600 3000 1400 700 1

Topology 1 5.266 3.922 3.747 5.407 4

6�6�2 7600 1200 8300 1700 5

Topology 2 2.490 3.257 3.250 3.670 3

6�9�2 800 600 500 900 2

Topology 3 3.774 5.013 4.584 5.050 3

6�12�2 91,800 15,200 1000 23,600 1

Topology 4 2.836 3.797 3.746 2.048 5

6�15�2 400 600 1300 400 7

Topology 5 4.226 4.597 4.000 5.319 3

3.1. Road identification step

In order to solve the road identification task, we apply amethod based on [14]. This approach creates a system composedof several ANNs (committee classifier) that identifies the road intothe image which is decomposed into many regions also calledsub-images. Therefore, the classification of each sub-image is anaverage of the results of all ANN outputs (committee machine).

Initially, an image is transformed into a set of sub-images ofðK � KÞ pixels, where a set of features are extracted from eachof them.

According to the approach described in [14], an image-feature is astatistical measure computed for a group of pixels considering aspecific color channel. The following statistical measures are used:average, entropy, variance and energy. These measures can beassociated with some channel from four different color spaces inorder to define a feature: RGB, HSV, YUV and normalized RGB. Thenormalized RGB is composed of ðR=ðRþGþBÞÞ, ðG=ðRþGþBÞÞ,ðB=ðRþGþBÞÞ.

The ANN used in this step consist of a Multi-Layer Perceptron(MLP) with Resilient-Propagation (RProp) training algorithm. TheANN topology consists of, basically, three layers, one input layer,one hidden layer with five neurons and the output layer. The ANNhas been trained to return the value 1.0 when receives patternsbelonging to a road class and to return 0.0 when receives patternsthat does not belong to road class. In this work, the step of roadidentification uses six ANNs, as shown in Fig. 2(b), and each oneuses some, not all, image-features as input. In other words, theseANNs are distinguished by the combination of image-featuresused as input. Table 1 shows the set of image-features adopted ineach ANN. Their choice was based on the latest results of [14].Since the number of neurons is small, the training time is alsoreduced, enabling the instantiation of multiple ANNs.

After the features are generated, all the sub-images are classifiedby the six ANNs, the six outputs are combined for each sub-image inorder to generate a Matrix. This Matrix is composed of real numberswhere Matrixði,jÞ is the classification of sub-image(i,j). This matrix iscalled Visual Navigation Map (VNMAP) and it is used by next step tocalculate the occupation values. Fig. 2 shows a sample of an imageclassified by this system, where Fig. 2(c) shows the VNMap in gray-scale—black represents non-road class, white represents road classand the gray represents the intermediate values.

3.2. Occupation value step

In this step, our system identifies five possible geometries ofthe road ahead of the vehicle into VNMAP, as shown in Fig. 3, andcalculates an occupation value for each of them. The following

Hyperbolic tangent

est 5 Test 1 Test 2 Test 3 Test 4 Test 5

000 1400 2300 1000 2000 2600

.856 4.119 3.418 3.737 3.393 3.310

600 2200 700 1900 9700 26,400

.414 3.271 3.413 2.148 5.404 3.217

300 1100 1100 800 800 400

.190 3.162 3.318 3.650 2.352 4.292

400 400 1400 800 300 7400

.645 4.040 3.899 2.959 3.595 3.895

00 2600 76,100 10,600 2500 1000

.188 3.232 1.999 1.881 3.510 2.989

Table 3Results of the Shapiro–Wilk test.

Shapiro–Wilk normality test

Topology p-Value

Steering Velocity

1 0.2468 3.84e�09

2 5.43e�14 1.97e�15

3 6.81e�14 2.68e�15

4 6.69e�13 8.60e�15

5 2.20e�16 1.59e�15

Value in boldface—accepted as normal.

Other values—not accepted as normal.

J.R. Souza et al. / Neurocomputing 107 (2013) 77–8680

equation shows how to calculate the occupation value:

scoreðTÞ ¼

PxAT Matrixðx:row,x:colÞ

9T9, ð1Þ

where T is a set of all sub-image(i,j) that belongs to determinedgeometry, 9T9 is the number of cells into geometry or templateand finally, Matrixðx:row,y:colÞ is the real value into VNMAP thatcorresponds to sub-image(x.row, y.col). The final result score(T) isa value ranging from 0 to 1. A good performance was obtained inthe navigation defined by the urban path avoiding obstacles usingthe best score [17].

After obtaining the score for all templates, the system verifies ifthe occupation value is lower than a threshold level. If theoccupation value from template is lower than threshold level,this template is considered as obstructed (value 0), and if larger,then this template is considered as free (value 1). The values freeor obstructed are part of the system input for the next step.

3.3. Learning-based navigation

We have already analyzed several levels of memory of thetemplates based on examples obtained from human drivers usingneural networks [16]. The results of these neural networks havealso been compared with different supervised learning techniquesfor the same purpose [15].

In this step, the basic network structure used is a feedforwardMLP. The activation functions of the hidden neurons are logisticsigmoid and hyperbolic tangent, and the ANN learning method isthe Resilient-Propagation (RProp). The inputs are represented bythe azimuth (difference between the current and target positions

Fig. 6. Error histogram considering different hidden layers of the best ANNs (MSE¼2

topology 4 (logistic sigmoid [LS]), (b) steering angle data of topology 5 (hyperbolic tan

(HT). The x-axis represents the error used in the first experiment (Test 1).

of the vehicle) and the values for each template obtained by theoccupation value step—obstructed or free occupation areas (OA).The outputs of the proposed method are the steering angle andspeed (Fig. 4).

4. Results

Experiments were performed using CaRINA (Fig. 1), an adaptedelectric vehicle capable of autonomous navigation in an urbanroad. It is equipped with a VIDERE DSG camera, a ROBOTEQAX2580 motor controller for steering, a TNT Revolution GSCompass (orientation) and a GARMIN 18X-5 Hz GPS (localization).The image acquisition resolution was set to (320�240) pixels.

.048 [topology 4] and MSE¼1.881 [topology 5]) (a) using steering angle data of

gent [HT]), (c) velocity data of topology 4 (LS), and (d) velocity data of topology 5

J.R. Souza et al. / Neurocomputing 107 (2013) 77–86 81

The road identification system converts an image of 320�240pixels in a matrix of 32�24 blocks (K¼10). Each block isindividually classified. During the learning step the user manuallyclassifies parts of one or more scenes as navigable or non-navigable to serve as learning data to the ANN. In the controllearning step, the system uses the classified image as input andthe desired controls as output of the second ANN, as it isdescribed in Section 3.3.

Next subsections describe the performed experiments, inaddition to an analysis of the neural networks used in the roadidentification step. The experiments have been performed in anurban environment in two scenarios with distinct characteristics.

Fig. 7. The (a) steering wheel and (b)

Table 4Results of the Mann–Whitney test.

Mann–Whitney test

p-Value

T1 T2 T3 T4

Steering T5 0.031 0.115 0.397 0.114

Velocity T5 0.464 0.403 0.715 0.585

Experiment 1 shows a closed area with several objects such asbuildings, trees, walls, transit plates, bikes, cars and buses, whichinfluence the road identification step. The experiment 2 presentsa more open environment with few objects in the scene.

4.1. Experiment 1

Seven GPS waypoints were used to define the desired trajec-tory. In order to navigate, the vehicle used a monocular camera toavoid obstacles. The experiment was successfully performed as itfollowed the GPS points and avoided obstacles. In some of thestraight paths, the vehicle had to avoid curbs at the same time itwas attracted by the GPS goal points, resulting in some oscillationin the final trajectory. Fig. 5 shows the vehicle trajectory obtainedby GPS coordinates.

Table 2 shows the ANNs classification results obtained duringthe vehicle navigation. Five different ANNs topologies have beenanalyzed using two neural transfer functions (logistic sigmoid andhyperbolic tangent). These topologies represent the architectureof the second ANN used in our proposed system. Several topol-ogies of ANNs were tested to obtain the minimum validation errorand the best neural network, with a well-defined architecture.

velocity using the training data.

Fig. 9. GPS coordinates performed by CaRINA (environment 2). (For interpretation

of the references to color in this figure caption, the reader is referred to the web

version of this article.)

J.R. Souza et al. / Neurocomputing 107 (2013) 77–8682

The ANN architecture was selected considering the number ofneurons in the hidden layer using the RProp supervised learningalgorithm in MLP networks and considering the values of MSE(mean squared error) and the best epoch (optimal point ofgeneralization [OPG], i.e., minimum validation error and max-imum capacity of generalization).

We also evaluated the ANNs modifying the neural transferfunctions. The main difference between these functions is thatlogistic sigmoid produces positive numbers between 0 and 1, andthe hyperbolic tangent (HT), numbers between �1 and 1. Afterthe analysis of Table 2, the 6�15�2 architecture using thehyperbolic activation function showed the lowest MSE for the10,600 epoch. Five different runs were executed changing therandom seed used in the neural networks (Tests 1–5).

Fig. 6 shows the histograms of the errors based on the best ANNtopology obtained in Table 2. Topologies 4 and 5 were acceptedbased on the results. Fig. 6(b) presents the error concentrated onzero and with a lower dispersion than the one in Fig. 6(a). Thesame is true for Fig. 6(d), which shows a lower dispersioncompared to Fig. 6(c), therefore encouraging the use of topology 5.

The statistical inference of the results was evaluated usingShapiro method [13]. We observed that the null hypothesis(normal adequacy) had not been satisfied (Table 3) using the bestANN topology (6�15�2) for the test data.

The non-parametric method of Mann–Whitney [4] was used tocheck the differences between the topologies (see Table 4). Forthe velocity, the method does not reject the null hypothesis(equality) (the p-values are higher than 0.05) and for the steering,the null hypothesis is rejected only between topologies (T) 1 and5 (the p-values are lower than 0.05). According to this method

Fig. 8. The human driver and ANN values using the

and using a confidence level of 95%, there is no evidence ofstatistical differences between the best results, except for T1 andT5 concerning the steering.

test data: (a) steering wheel and (b) velocity.

Fig. 10. Error histogram considering the topologies 4 and 5 (steering angle data—it was used in the path 2). (a) Topology 4. (b) Topology 5. The x-axis represents the error.

Table 5Results of the mean and standard deviation error using steering and velocity.

Topologies Steering Velocity

Mean ANN 15 0.007629 0.000528ANN 12 0.014762 0.002138

Std ANN 15 0.055944 0.035246ANN 12 0.073536 0.038567

Fig. 11. The steering angle and velocity using the training data: (a) steering wheel and (b) velocity.

J.R. Souza et al. / Neurocomputing 107 (2013) 77–86 83

J.R. Souza et al. / Neurocomputing 107 (2013) 77–8684

Fig. 7(a) and (b) illustrates the steering angle and velocity ofCaRINA using the training data for the Experiment 1.

Fig. 8(a) and (b) illustrates the steering angle and velocityof CaRINA using the 6�15�2 architecture (Test 3 HT), showingthe values based on the control rules (supervised training data) andthe results obtained by the learning of the ANN. Small oscillationsare present in the data learned by the ANN, since the rulesmaintained the steering wheel and velocity constant, resultingin the linearity of data (the problem for the ANN was to learn arigid curve and high velocity, but this fact did not interfere in theresults).

Fig. 12. The steering angle and velocity using the

4.2. Experiment 2

Seven GPS waypoints were used. They were more than 100 maway of each other and separated by sidewalks between thepoints and non-navigable areas (grass fields).

Fig. 9 shows the vehicle trajectory obtained by GPS coordi-nates (Experiment 2). Waypoints P0–P6 represent the GPS points.The red dashed line represents the orientation obtained by bothGPS and compass, which should be traversed by the vehicle. Theyellow line is the real path followed by the vehicle, showing theobstacles avoidance by using the camera images. The path

test data: (a) steering wheel and (b) velocity.

J.R. Souza et al. / Neurocomputing 107 (2013) 77–86 85

performed was approximately 1.08 km. We only show the orien-tation lines between P0 and P1 (red line) and between P1 and P2to keep the GPS coordinates image more clearly.

Fig. 10(a) and (b) shows the histogram of the error, where themain goal in these images is to observe its dispersion. In bothimages, which have similar outliers, the error is concentrated nearzero. Using Shapiro–Wilk test of normality, we obtain p-valueslower than 0.05, and with 95% confidence, the distribution of theerror is not accepted as normal. Therefore, we compare thedistributions using the non-parametric Mann–Whitney test, and,with 95% confidence, there is no difference between the groups.

Table 5 shows the steering and velocity data of the best ANNs,where the ANN with 15 neurons in the hidden layer has smallermean and standard deviation error than the ANN with 12neurons. Therefore, even if both are statistically equivalent,topology 5 should be used in the system.

Fig. 11(a) and (b) illustrates the steering angle and velocity ofCaRINA using the training data for the Experiment 2.

Fig. 12(a) and (b) illustrates the steering angle and velocity ofCaRINA, showing the expected values and the values obtained bythe learning of ANNs 15 and 12. Fig. 12(a) shows that both resultsare very similar, with small changes. According to Fig. 12(b), theresults show small oscillations, which represent the high velocitypeaks that the ANNs did not learn in some paths, but they do notinterfere significantly in the vehicle control.

Fig. 13. Hit rates by threshold value interpretation. Different colored lines represent diff

from 0.0 to 1.0 (100% correct classification). X-axis represents the Road classification thr

(b) Experiment 2. (For interpretation of the references to color in this figure caption, t

Fig. 14. Some samples of results from road identification step. (a) image raw from Experimen

Experiment 2.

CaRINA was able to safely navigate autonomously in an urbanroad; it did not get too close to the sidewalk or run over it (non-navigable areas) and also was able to track the GPS points(waypoint) provided to the system.

4.3. Analysis of the road identification system

This subsection presents the hit rate from different frames overthe path. These frames were manually classified to evaluate the roadidentification system. The graphics from Fig. 13(a) and (b) show thehit rate for the Experiment 1 and Experiment 2, respectively. Thegraphics show the hit rate varying from 0 to 1 by different thresholdvalues and each line represents one frame. In general, the results ofroad identification system were satisfactory, since the hit rate isaround 80% when the threshold value is larger than 0.4.

It is important to note that the evaluation occurs only belowthe horizon since the position templates are fixed and alwaysbelow the horizon line (skyline). Also, although the systempresents several false positives in Fig. 14(b) and (d), the blackblocks show that our system distinguish very well the non-navigable region from road regions. These black blocks decreasethe occupation value for the templates in this area and this issatisfactory step to choose the best direction for the vehicle. Theimage classification approach can handle some degree of lighting

erent analyzed frames from the experiments. Hit Rate is expressed into the interval

eshold and Y-axis represents the Road classification hit rate: (a) Experiment 1 and

he reader is referred to the web version of this article.)

t 1; (b) VNMap from Experiment 1; (c) image raw from Experiment 2; (d) VNMap from

J.R. Souza et al. / Neurocomputing 107 (2013) 77–8686

variance in the scene like shadows. However a large variation inthe illumination may require to repeat the learning step.

5. Conclusions and future works

Autonomous vehicle navigation is a fundamental task in mobilerobotics. This paper has presented a monocular camera and a GPS-based autonomous navigation system that can be trained to identifythe road and navigable regions. It uses a template matching classifica-tion to identify possible navigable directions, determines the occupa-tion percentage in order to avoid obstacles, and controls the steeringand velocity using an ANN learning scheme to follow GPS waypoints,which is a novelty compared to our previous works. Our approach wasevaluated using an Electrical Vehicle (CaRINA) in an urban road.CaRINA was able to navigate autonomously in this environment,successfully following the desired trajectory. Our quantitative analysisalso obtained satisfactory results for the different ANNs topologies.

The integration of the monocular camera and GPS was one ofthe contributions of this paper, where CaRINA was able to safelynavigate autonomously in different urban environments. Theproposed method has been used to negotiate the curves androundabouts, did not too close to the sidewalk (non-navigableareas) and tracked the GPS points (waypoint).

As future works, we plan to evaluate other classificationmethods and decision-making algorithms. We also intend tointegrate a Stereo Camera and/or a LIDAR to deal with bumpsand depressions in the road.

Acknowledgments

The authors would like to acknowledge the support granted byCAPES, CNPq and FAPESP to the INCT-SEC (National Institute ofScience and Technology—Critical Embedded Systems - Brazil),and FAPESP doctoral grant (process 2009/11614-4).

References

[1] M. Chan, D. Partouche, M. Pasquier, An intelligent driving system forautomatically anticipating and negotiating road curves, in: InternationalConference on Intelligent Robots and Systems, 2007, pp. 117–122.

[2] H. Dahlkamp, A. Kaehler, D. Stavens, S. Thrun, G. Bradski, Self-supervisedmonocular road detection in desert terrain, in: Proceedings of the RoboticsScience and Systems Conference, 2006.

[3] ELROB, European land-robot (elrob). Http://www.elrob.org/ (accessed26.08.2011).

[4] M.P. Fay, M.A. Proschan, Wilcoxon–mann–whitney or t-test? On assumptionsfor hypothesis tests and multiple interpretations of decision rules, Stat. Surv.4 (2010) 1–39.

[5] B. Hamner, S. Scherer, S. Singh, Learning to drive among obstacles, in: IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006,pp. 2663–2669.

[6] T. Jochem, D. Pomerleau, C. Thorpe, Maniac: a next generation neurally basedautonomous road follower, in: Proceedings of the International Conferenceon Intelligent Autonomous Systems, 1993.

[7] I. Markelic, A. Kjaer-Nielsen, K. Pauwels, L.B.W. Jensen, N. Chumerin,A. Vidugiriene, M. Tamosiunaite, A. Rotter, M.V. Hulle, N. Kruger,F. Worgotter, The driving school system: learning automated basic drivingskills from a teacher in a real car, IEEE Trans. Intell. Transp. Syst. (2011).

[8] B. Martin, I. Karl, S. Sanjiv, The 2005 Darpa Grand Challenge, Springer Tractsin Advanced Robotics, vol. 36, , 2007.

[9] B. Martin, I. Karl, S. Sanjiv, The Darpa Urban Challenge, Springer Tracts inAdvanced Robotics, vol. 56, , 2010.

[10] R.J. Oentaryo, M. Pasquier, Gensofnn-yager: a novel hippocampus-like learn-ing memory system realizing yager inference, in: International Joint Con-ference on Neural Networks, 2006, pp. 1684–1691.

[11] A. Petrovskaya, S. Thrun, Model based vehicle detection and tracking forautonomous urban driving, Auton. Robot. 26 (2–3) (2009) 123–139.

[12] D.A. Pomerleau, Alvinn: an autonomous land vehicle in a neural network, in:Advances in Neural Information Processing Systems, 1989.

[13] S.S. Shapiro, M.B. Wilk, An analysis of variance test for normality (completesamples), Biometrika 52 (3–4) (1965) 591–611.

[14] P.Y. Shinzato, D.F. Wolf, A road following approach using artificial neuralnetworks combinations, J. Intell. Robot. Syst. 62 (3) (2010) 527–546.

[15] J.R. Souza, G. Pessin, F.S. Osorio, D.F. Wolf, Vision-based autonomous naviga-tion using supervised learning techniques, 12th Engineering Applications ofNeural Networks 363 (2011) 11–20.

[16] J.R. Souza, G. Pessin, P.Y. Shinzato, F.S. Osorio, D.F. Wolf, Vision-basedautonomous navigation using neural networks and templates in urbanenvironments, in: First Brazilian Conference on Critical Embedded Systems,2011, pp. 55–60.

[17] J.R. Souza, D.O. Sales, P.Y. Shinzato, F.S. Osorio, D.F. Wolf, Template-basedautonomous navigation and obstacle avoidance in urban environments,ACM—Appl. Comput. Rev. (2011).

[18] P.S. Stein, V. Santos, Visual guidance of an autonomous robot using machinelearning, in: 7th IFAC Symposium on Intelligent Autonomous Vehicles, 2010.

Jefferson R. Souza is a PhD student in the Institute ofMathematics and Computer Science at the Universityof Sao Paulo. He obtained his MSc degree in ComputerScience at the Federal University of Pernambuco in2010. At ICMC/USP, he has been working in machinelearning techniques for mobile robots and autonomousvehicles. More specifically, autonomous driving basedon learning human behavior. His current researchinterests are Mobile Robotics, Machine Learning and

Hybrid Intelligent System.

Gustavo Pessin is a PhD student in the Institute ofMathematics and Computer Science at the Universityof Sao Paulo. He obtained an M.S. in Computer Sciencein 2008 from the University of the Sinos Valley. AtICMC/USP, he has been working on several researchprojects related to robotics and machine learningtechniques. His current research interests are HybridIntelligent System, Mobile Robotics and Multi-agentSystems.

Patrick Y. Shinzato is a PhD student in the Institute ofMathematics and Computer Science at the Universityof Sao Paulo. He obtained an M.S. in Computer Sciencein 2010 from the University of Sao Paulo. At ICMC/USP,he has been working in computer vision, machinelearning and neural networks. His current researchinterests are Computational Vision, Artificial Intelli-gence, Mobile Robotics and Sensors Fusion.

Fernando S. Osorio is an Assistant Professor in theDepartment of Computer Systems at the University ofSao Paulo (ICMC/USP). He obtained his PhD degree inComputer Science (Informatique) at the INPG-IMAG(Institut National Politechnique de Grenoble—France)in 1998. Currently he is Co-Director of the MobileRobotics Laboratory at ICMC/USP (LRM Lab.). Hiscurrent research interests are Intelligent Robots,Machine Learning, Computer Vision, Pattern Recogni-tion and Virtual Simulation. He has published anextensive number of journal and conference papers,focused in the above cited research areas.

Denis F. Wolf is an Assistant Professor in the Depart-ment of Computer Systems at the University of SaoPaulo (ICMC/USP). He obtained his PhD degree inComputer Science at the University of SouthernCalifornia—USC in 2006. Currently he is Co-Directorof the Mobile Robotics Laboratory at ICMC/USP. Hiscurrent research interests are Mobile Robotics,Machine Learning, Computer Vision and EmbeddedSystems. He has published over 50 journal and con-ference papers over the last years.