Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results...

18
Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN Alex Introduction Experiment Analysis Of Road Signs In Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN Alex EPFL Bachelor 6 - 2016

Transcript of Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results...

Page 1: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Road Sign Recognition Project

EL BERRIA Nabil

BERNARD Hippolyte

MOURADIAN Alex

EPFL

Bachelor 6 - 2016

Page 2: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Outline

1 Introduction

2 ExperimentAnalysis Of Road Signs In MatlabImplementing In WebotsImplementing For Real E-puck

3 Results

4 Conclusion

Page 3: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Goal

Implementation of a C code allowing the e-puck to read asimple road sign with its camera and analyze the picture onboard in order to escape the maze.

Page 4: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Sensors

• IR proximity sensors : to avoid obstacles and stop in frontof the walls

• Camera : to read and analyze the taken image in order totake a decision

Page 5: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

FFT For Horizontal Stripes

The criteria for selecting the appropriate direction will dependon the values of the FFT magnitude peaks of the vectorscorresponding to a summation of the pixel through the rows,and the columns.

Page 6: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

FFT Sum Of Rows

No variation in the magnitude of the fft.

Page 7: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

FFT Sum Of Colums

Multiple magnitude peaks : noticeable pixel variance in thevertical direction.

Page 8: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Advantage Of Working In Webots

Figure : modelisation of the e-puck and the make in Webots

• The robot and it’s movement are already implemented itallows us to focus only on the road sign recognition part.

• Since we’re simulating on a computer, there are noconstraints on the resources available.

• The debugging is easier, we can simulate thecomportement of the robot much faster.

Page 9: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

E-puck Movement

In order to make the robot advance while avoiding theobstacles of the maze, we implement a function that computeswheels speeds using Braintenberg coefficients. Thesecoefficients were calibrated in order to reach high speeds andincrease performance in the maze.

Page 10: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

E-puck Movement Code

This function is ran indefinitely, until the e-puck is presentedwith a road sign in front of it.

Page 11: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Rotating The E-puckWithout Odometry

• The e-puck microchip has a fixed number of operationsper second.

• We use a wait function where a simple operation(substraction) is executed

• We calibrate the number of processor operations neededto execute a full turn of the e-puck at a speed of 500 :

• For a full turn:

Page 12: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Stop Criteria And SetupThe criteria on which the e-puck stops in front of a sign isbased on it’s front sensors data. If they reach a certainthreshold value, the robot stops and prepares for taking apicture.

Once the robot is immobile, leds are lit up to increase theluminosity of the image taken.

Page 13: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Black Sign RecognitionThe picture is taken at a format of 40x40 pixels. But becauseof memory limitations, and because Fourier transforms usingthe e-puck library can be done for vectors with 512 values atmost, we isolate two stripes of the picture with 256 valueseach. These stripes correspond to a few vertical and horizontallines of the picture.

Mean pixel value of stripes is computed and if it’s inferior tothreshold value, the sign is black and the robot has to turnback.

Page 14: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Other Road Signs Recognition

A filter is used to increase the picture?s quality. Using themean pixel value we assign black (0) and white (255) to all ofthe pixel values:

We compute the fourier transforms magnitudes for both stripes.

Page 15: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Other Road Signs Recognition

If the black patterns are horizontal, the sum of the fftmagnitude values of the vertical stripe should be higher thanthe fft magnitude values of the horizontal stripe, and viceversa. We base our direction decision based on this criteria.

Page 16: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Percentage Of Succes

Success percentage for different light conditions (40 tests foreach road sign). (a) is the black sign, (b) and (c) arerespectively the horizontal and vertical and the (d) and (e) thehorizontal with noise and vertical with noise.

Page 17: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Performance In The Maze

Presentation Video

We got an average time of 36.4 [s]

Page 18: Road Sign Recognition Project...Matlab Implementing In Webots Implementing For Real E-puck Results Conclusion Road Sign Recognition Project EL BERRIA Nabil BERNARD Hippolyte MOURADIAN

Road SignRecognition

Project

EL BERRIANabil

BERNARDHippolyte

MOURADIANAlex

Introduction

Experiment

Analysis OfRoad Signs InMatlab

Implementing InWebots

ImplementingFor Real E-puck

Results

Conclusion

Conclusion

• Finding a criteria for recognition in matlab

• Implementing using Webots

• Implementing for the real e-puck

• Difficulties

• What we learned?