• Aucun résultat trouvé

Détection automatique de défauts. sur vois ferrées

N/A
N/A
Protected

Academic year: 2022

Partager "Détection automatique de défauts. sur vois ferrées"

Copied!
35
0
0

Texte intégral

(1)

Projet de Master 2

D´ etection automatique de d´ efauts sur vois ferr´ ees

Abdelhakim Benoudjit

Encadrant: Youssef CHAHIR Sujet propos´e par: ROAV7

Universit´e de Caen Normandie Caen, France

F´evrier 2020

(2)

Contents

1 Introduction 3

1.1 Notions g´en´erales . . . 3

1.2 Motivation . . . 3

1.3 Cam´era install´ee sur le train . . . 5

1.3.1 D´etection de d´efauts de rails . . . 5

1.3.2 D´etection de d´efauts de composants de la voie ferr´ee . . . 6

1.4 Cam´era install´ee sur un drone . . . 6

1.5 Conclusion . . . 7

2 Extraction des traverses 8 2.1 Introduction . . . 8

2.2 Extraction des rails . . . 8

2.3 Extraction des traverses . . . 11

2.4 R´esultats . . . 14

3 Classification des traverses 15 3.1 Introduction . . . 15

3.2 Texture . . . 15

3.2.1 GLCM . . . 16

3.2.2 Filtres de Gabor . . . 17

3.2.3 Clustering . . . 18

3.2.4 Classification . . . 21

3.3 R´eseau neuronal convolutif (CNN) . . . 25

(3)

Contents

3.3.1 Jeu de donn´ees . . . 26 3.3.2 R´esultats . . . 26

4 Conclusion 30

4.1 Impl´ementation . . . 30 4.2 Perspectives . . . 30

(4)

Chapter 1 Introduction

1.1 Notions g´ en´ erales

Les principaux composants de la voie ferr´ee sont montr´es sur la Figure 1.1. Les deux rails sont fix´es `a l’aide d’attaches m´etalliques sur des traverses perpendicu- laires, faites g´en´eralement en bois ou en b´eton, qui les empˆechent de bouger afin de maintenir un ´ecartement constant entre elles. Les traverses servent aussi `a transf´erer la charge du train sur les rails au ballast de gravier (Li et al., 2013). Dans le pass´e, les voies ferr´ees ´etaient construites avec des traverses en bois. Cependant, les tra- verses en b´eton ont r´ecemment gagn´e en popularit´e grˆace `a leur longue dur´ee de vie relativement `a celle faites en bois (Gibert et al., 2015).

1.2 Motivation

Les ph´enom`enes naturels (la chaleur extrˆeme par exemple) ainsi que l’impact qu’ont les trains sur les rails font que des anomalies apparaissent sur celles-ci, mettant en risque la s´ecurit´e des voyageurs. La d´eformation des rails peut survenir entre autres du fait de l’existence de traverses endommag´ees sur la voie ferr´ee (Min et al., 2018). Selon l’agence f´ed´erale am´ericaine en charge d’assurer la s´ecurit´e des voies ferr´ees (Federal Railroad Administration), 27 d´eraillements sur 651 ont ´et´e caus´es en 2013 par un ´elargissement de l’´ecartement des rails dˆu `a des syst`emes de fixation

(5)

Chapter 1. Introduction

Figure 1.1: Composants d’une voie ferr´ee (Gibert et al., 2016).

d´efectueux (Gibert et al., 2016).

Dans ce contexte, aux ´Etats-Unis, la r´eglementation impose une inspection vi- suelle des voies ferr´ees `a grande vitesse une ou deux fois par semaine, et c’est le per- sonnel des entreprises ferroviaires qui se charge d’effectuer ces inspections sur place

`

a l’oeil nu, et en se d´epla¸cant avec des v´ehicules sur rail qui circulent `a tr`es basse vitesse. Toutefois, ces contrˆoles sont subjectives, impossibles `a v´erifier, et deman- dent beaucoup d’effort de la part des membre du personnel qui s’en occupe (Gibert et al., 2016). L’inspection de rails est d’autant plus complexe lorsque des milliers de kilom`etres de voies ferr´ees doivent ˆetre examin´es r´eguli`erement afin de garantir le respect des normes de s´ecurit´e (Resendiz et al., 2013). En Chine, l’inspection des voies ferr´ees pour trains `a grande vitesse est faite tard le soir pour ne pas perturber le circulation des trains. En raison de l’obscurit´e d’une part et de la p´enibilit´e de l’inspection de l’autre, il pourrait s’av´erer difficile pour un oeil humain de localiser avec pr´ecision toutes les pi`eces endommag´ees du rail (Min et al., 2018). Par ailleurs, des v´ehicules sur voie ferr´ee permettent d’examiner et de mesurer automatique- ment la g´eom´etrie des rails. Cependant, il est pr´ef´erable de trouver les composants

(6)

Chapter 1. Introduction

d´efaillants et responsable de la mauvaise condition des rails bien avant que la situ- ation de la voie ferr´ee ne s’empire (Gibert et al., 2016).

Au cours des derni`eres ann´ees, plusieurs techniques de traitement d’images, de vision par ordinateur, et d’apprentissage ont ´et´e adopt´ees pour automatiser l’inspection de l’´etat des diff´erents composants des voies ferr´ees (Gibert et al., 2015).

Ces algorithmes sont particuli`erement l’alternative id´eale `a l’inspection manuelle de rails, faite de fa¸con subjective, en raison de leur capacit´e `a traiter de grandes quan- tit´es de donn´ees en un minimum de temps (Resendiz et al., 2013). Par ailleurs, l’automatisation du processus d’inspection des rails en utilisant notamment des al- gorithmes de vision par ordinateur devrait en principe susciter un grand int´erˆet de la part des compagnies de chemin de fer, qui gagneraient en efficacit´e en r´eduisant les coˆuts de maintenance et en augmentant la capacit´e de la voie ferroviaire (Li et al., 2013).

1.3 Cam´ era install´ ee sur le train

Dans les r´ef´erences indiqu´ees ci-dessous, la d´etection de composants de voie ferr´ee est faite `a partir d’images acquises par des cam´eras install´ees directement sur le train en mouvement ou sur un v´ehicule d´eploy´e sur les rails sp´ecialement pour inspecter l’´etat de ses ´el´ements. Dans Singh et al. (2006) par exemple, la s´equence d’images

´

etudi´ee a ´et´e prise par une cam´era install´ee `a bord du train qui fait le trajet entre Londres et l’a´eroport de Londres Heathrow. La cam´era a ´et´e pos´ee plus pr´ecis´ement

`

a cˆot´e de la roue du train, avec une source d’´eclairage, pour observer les syst`emes de fixation de rails.

1.3.1 D´ etection de d´ efauts de rails

Les d´efauts de rails, tels que leur d´eformation, entraˆınent une perturbation du transport, des risques de s´ecurit´e, ainsi que des coˆuts de r´eparation consid´erables (Ta¸stimur et al., 2016). La distance entre les rails, appel´ee l’´ecartement de rails,

(7)

Chapter 1. Introduction

doit ˆetre constante sur toute la voie ferr´ee. L’´evolution de cette distance horizontale tout au long de la ligne ferroviaire, calcul´ee en comptant le nombre de pixels entre les rails sur des images de voie ferr´ee, peut d´eterminer s’il y a eu d´eformation de celles-ci (Karakose et al., 2017). Min et al. (2018) pr´esente une m´ethode pour la d´etection en temps r´eel des d´efauts qui apparaissent directement sur la surface des rails, plutˆot que sur leur g´eom´etrie.

1.3.2 D´ etection de d´ efauts de composants de la voie ferr´ ee

Singh et al. (2006) aborde le probl`eme de la recherche d’attaches manquantes et de celles qui ont ´et´e r´ecemment remplac´ees. Li et al. (2013) a d´evelopp´e un syst`eme d’inspection automatique de rails en temps r´eel en se focalisant surtout sur les d´efauts d’attaches qui constituent l’´el´ement le plus important du syst`eme de fixation.

L’acquisition des vid´eos trait´ees est faite `a l’aide de quatre cam´eras install´ees sur un v´ehicule d’inspection sur rail.

Resendiz et al. (2013) pr´esente un algorithme pour la d´etection d’aiguillage et de traverses `a partir d’images prises par des cam´eras install´ees `a bord d’un chariot ferroviaire. Dans Gibert et al. (2015, 2016), l’´etat des traverses et des syst`emes de fixation des rails aux traverses est inspect´e automatiquement avec des r´eseaux de neurones convolutifs (CNNs).

1.4 Cam´ era install´ ee sur un drone

Comme indiqu´e pr´ec´edemment, l’inspection des voies ferr´ees est g´en´eralement ef- fectu´ee `a partir d’images captur´ees par une cam´era install´ee sur un train, ou bien par un v´ehicule d´edi´e dont le d´eploiement sur les rails est relativement complexe.

Dans ce contexte, les drones offrent plus de souplesse, mˆeme dans les zones les plus difficile d’acc`es, en op´erant `a diff´erentes hauteurs grˆace `a leur facult´e `a fonctionner

`

a distance. Les drones pr´esentent d’autres avantages en ´etant peu couteux et faciles

`

a d´eployer sur le terrain. De plus, l’inspection des voies peut se faire sans perturber

(8)

Chapter 1. Introduction

le transport ferroviaire. Toutefois, l’utilisation d’un drone dans ce domaine pr´esente quelques inconv´enients, tels que sa dur´ee de vol qui est limit´ee par sa faible au- tonomie de batterie, la taille modeste de ses images, ainsi que la n´ecessit´e qu’une personne qualifi´ee soit pr´esente pour le piloter. Singh et al. (2017) propose une nouvelle approche pour calculer l’´ecartement des rails `a l’aide d’images de drones.

Les rails sont extraits par seuillage dans l’espace HSV suivi par une application du filtre de Canny.

Avec le d´eveloppement rapide des drones et aussi grˆace `a la vue synoptique offerte par leurs images, ils ont ´et´e utilis´es dans de multiples applications, entre autres, dans l’inspection des bˆatiments historiques, l’inspection des installations ´electriques, la d´etection de fissures de pont, la d´etection d’incendie de forˆet, et le suivi d’objets en mouvement. Wu et al. (2018) traite de la d´etection de d´efauts qui apparaissent sur la surface des rails. Deux nouvelles m´ethodes ont ´et´e propos´ees dans cet article pour l’am´elioration du contraste de l’image, et pour la segmentation des d´efauts de rails par seuillage dans le domaine des ondelettes.

1.5 Conclusion

Les diff´erents ´el´ements de la voie ferr´ee (syst`eme de fixation, attaches...) sont g´en´eralement examin´es de fa¸con manuelle par les inspecteurs de chemin de fer (Li et al., 2013). Le but des prochaines parties est ainsi de proposer des m´ethodes au- tomatiques d’extraction et de classification des traverses en bois `a partir des images acquises par le drone.

(9)

Chapter 2

Extraction des traverses

2.1 Introduction

Les variations de couleur et de texture visibles sur la voie ferr´ee, dues `a la graisse,

`

a la rouille, et `a d’autres facteurs environnementaux, rendent plus difficile la seg- mentation de ses composants. L’identification s’av`ere ˆetre d’autant plus compliqu´ee lorsqu’ils sont recouverts de boue, cach´es par des feuilles d’arbres et par des plantes qui poussent dans ces endroits, ou dissimul´es par des d´ebris (Gibert et al., 2016).

Dans cette partie, on va d’abord s’int´eresser `a la localisation des rails, puis en se basant sur ces r´esultats, on extrait les traverses en bois des images de voie ferr´ee dont on va ´etudier l’´etat dans la partie suivante du rapport.

2.2 Extraction des rails

L’identification des deux rails comme le montre la Figure 2.1 a ´et´e faite en ex´ecutant s´equentiellement les op´erations montr´ees dans le diagramme de la Figure 2.2. Cette proc´edure peut se d´ecomposer en trois parties. Initialement, on a une ´etape de pr´etraitement qui consiste en l’extraction du canal teinte de l’espace HSV, puis une n´egation logique de tous les pixels afin que les rails aient une apparence sombre compar´e au reste de la sc`ene. L’image est alors liss´ee et le pr´etraitement finit par un seuillage d’Otsu pour produire une image binaire. La partie op´eration mor-

(10)

Chapter 2. Extraction des traverses

(a) (b)

Figure 2.1: (a) Image d’entr´ee (b) Bords des rails identifi´es, repr´esent´es par des lignes horizontales vertes.

phologiques se concentre sur la dilatation et la reconstruction par ´erosion afin de r´ecup´erer les bords des traverses perdus `a cause de la dilatation en se basant sur l’image obtenue par seuillage. La direction de ces deux op´erations d´epend principale- ment de celle de l’´el´ement structurant utilis´e. Les ´el´ements structurants horizontaux (Selem h) ou verticaux (Selem v) sont respectivement montr´es dans les ´Equations (2.1) et (2.2).

Selem h =

0 0 0 1 1 1 0 0 0

(2.1)

Selem v =

0 1 0 0 1 0 0 1 0

(2.2)

La partie op´erations morphologiques de ce diagramme, effectu´ee essentiellement dans la direction horizontale des rails, permet de produire `a l’´etape suivante du process le profil horizontal affich´e sur la Figure 2.3. L’emplacement des bords de rails correspond aux minima et aux maxima de la courbe de diff´erences finies de pas

´

egal `a 1 du profil, qui est calcul´ee dans l’´equation 2.3. Ces extrema repr´esentent

(11)

Chapter 2. Extraction des traverses

Figure 2.2: Diagramme de l’extraction des rails. Le nombre d’it´erations de chaque op´eration morphologique est donn´e entre parenth`eses.

donc les points du profil ou sa pente montante ou descendante est tr`es raide.

∆ = prof il(x+ 1)−prof il(x) (2.3) Les minimums et les maximums sont illustr´es par les points violets et verts

(12)

Chapter 2. Extraction des traverses

Figure 2.3: Courbe bleue: profil horizontal de l’image binaire pr´etrait´ee calcul´e durant l’extraction des rails. Courbe orange: diff´erences finies de pas 1 du profil.

Points violets et verts: les extrema de la courbe orange correspondant aux deux bords horizontaux des deux rails. On a fait pivoter le graphe de 90°.

sur la mˆeme figure. Il faut noter qu’on a fait pivoter ce graphe pour faciliter sa visualisation.

2.3 Extraction des traverses

L’extraction des traverses se fait en suivant le mˆeme principe que pour les rails, except´e que les op´erations de morphologie et le calcul du profil se font essentiellement dans la direction verticale. De plus, le pr´etraitement est bas´e sur une d´etection de contours par filtre de Sobel appliqu´e directement sur l’image en niveaux de gris.

Cette ´etape permet de faciliter la distinction entre les traverses et les cailloux de ballast dont les valeurs de gradient sont plus variables. Ces op´erations sont illustr´ees sur la Figure 2.4 et ont permis d’obtenir les r´esultats montr´es sur la Figure 2.5.

De fa¸con analogue `a la d´etection de rails, pour identifier les traverses en bois on

(13)

Chapter 2. Extraction des traverses

Figure 2.4: Diagramme de l’extraction des traverses. Le nombre d’it´erations de chaque op´eration morphologique est donn´e entre parenth`eses.

calcule aussi le profil mais dans la direction verticale cette fois-ci. L’emplacement des traverses est d´etermin´e apr`es localisation des extr´ema de ce profil, comme le montre la Figure 2.6.

(14)

Chapter 2. Extraction des traverses

(a) (b)

Figure 2.5: (a) Image d’entr´ee (b) Bords des traverses identifi´es, repr´esent´es par des lignes verticales vertes.

Figure 2.6: Courbe bleue: profil vertical de l’image binaire pr´etrait´ee calcul´e durant l’extraction des traverses. Courbe orange: diff´erences finies de pas 1 du profil. Points violets et verts: les extrema de la courbe orange correspondant aux deux bords verticaux de chaque traverse.

(15)

Chapter 2. Extraction des traverses

(a) (b)

Figure 2.7: (a)Image originale(b)Traverses extraites avec un recadrage (cropping) pour garder uniquement la partie entre les rails.

2.4 R´ esultats

Figure 2.7 montre les traverses extraites individuellement de l’image donn´ee en entr´ee, apr`es avoir ex´ecut´e les op´erations dans Figure 2.2 et Figure 2.4 s´equentiellement.

Chacune de ces deux process est suivie d’une op´eration de recadrage (cropping).

L’extraction des traverses est donc effectu´ee sur la partie de l’image situ´ee entre les deux traverses. On consid`ere que la largeur d’une traverse en bois ne devrait pas d´epasser 30 pixels afin de diff´erencier les traverses de l’espacement entre celles-ci lors de l’extraction.

Ces r´esultats ont toutefois quelques d´efauts, dont l’ombre de la rail qui a aussi

´

et´e incluse pendant sa segmentation (Figure 2.1-b), de mˆeme que les syst`emes de fixation compris dans les traverses extraites (Figure 2.7-b). Par ailleurs, on s’est focalis´e uniquement sur la partie de la traverse qui est situ´ee entre les rails. Or, une fissure pourrait tr`es bien apparaˆıtre sur la partie de la traverse qui est `a l’ext´erieur des rails, lorsque celle ci n’est pas cach´ee par le ballast (cailloux).

(16)

Chapter 3

Classification des traverses

3.1 Introduction

L’objectif de cette partie est essentiellement de distinguer les traverses en bon ´etat de celle qui doivent ˆetre remplac´ees. Les d´efauts apparaissent g´en´eralement sur les traverses en bois sous forme de longues fissures verticales. Par cons´equent, on pour- rait normalement se baser sur le profil d’une image binaire pr´ealablement seuill´ee pour identifier ces fissures qui correspondent au minimum de cette courbe. Cepen- dant, ceci n´ecessite de fixer manuellement certains param`etres (tels que prominence et width dans scipy.signal.find peaks()) qui permettraient de diff´erentier les points en bas d’une pente tr`es raide (Figure 3.1) des autres minimums locaux.

3.2 Texture

Les deux types de caract´eristiques, d´ecrits dans la partie suivante et cens´ees classer les traverses selon leurs textures, ont ´et´e calcul´es avec Scikit-image pour chaque traverse extraite dans la partie pr´ec´edente. Id´ealement, la texture, au contraire de l’intensit´e du pixel, aurait l’avantage d’ˆetre relativement invariante aux diff´erences d’´eclairage.

(17)

Chapter 3. Classification des traverses

(a) (b)

Figure 3.1: (a) Traverse fissur´ee (b) Son profil vertical apr`es seuillage. La croix rouge correspond au minimum qui permet de localiser la fissure.

3.2.1 GLCM

La texture peut ˆetre repr´esent´ee par un nombre de caract´eristiques statistiques estim´ees `a partir de la matrice de co-occurrence des niveaux de gris (GLCM), pr´ealablement calcul´ee (Haralick et al., 1973). Dans le but de caract´eriser la tex- ture, cette matrice donne la fr´equence de chaque paire de pixels `a une distance

∆ = (∆x,∆y) l’un de l’autre. La matrice de co-occurrence est calcul´ee pour une image I dem×n pixels suivant ´equation (3.1), o`ui etj repr´esentent les intensit´es de pixels.

Pi,j =

n

X

x=1 m

X

y=1





1 if I(x, y) =i and I(x+ ∆x, y+ ∆y) =j 0 otherwise

(3.1)

L’impl´ementation de Scikit-image remplace ∆y par un angle appel´e ci-dessous θ. Dans notre cas, pour chaque pixel on consid`ere son pixel adjacent `a droite, et on aura donc ∆ = 1 et θ = 0. Quant `a la taille de la matrice de co-occurrence, elle

(18)

Chapter 3. Classification des traverses

Table 3.1: Param`etres utilis´es pour construire 8 filtres de Gabor.

Orientation (θ) 0 π2 Ecart type (σ)´ 1 3 Fr´equence 0.05 0.1

est de 256×256 dans notre cas pour des images en niveaux gris. Les six mesures dans l’´equation (3.2) et d´efinissant la texture sont calcul´ees `a partir de la GLCM (Hall-Beyer, 2017).

Contrast =

255

X

i,j=0

Pi,j(i−j)2

Dissimilarity =

255

X

i,j=0

Pi,j|i−j|

Homogeneity =

255

X

i,j=0

Pi,j 1 + (i−j)2 ASM =

255

X

i,j=0

Pi,j2

Energy =√ ASM

Correlation =

255

X

i,j=0

Pi,j

(i−µi)(j−µj) q

i2)(σj2)

(3.2)

3.2.2 Filtres de Gabor

Contrairement `a la GLCM qui est un descripteur statistique de la texture, les filtres de Gabor sont plutˆot calcul´es dans le domaine fr´equentiel. Le calcul des r´eponses aux filtres de Gabor est suivi par l’estimation de la moyenne et de l’´ecart-type de chaque r´eponse, qui vont repr´esenter les caract´eristiques qu’on cherche `a calculer.

Les valeurs prises par les param`etres consid´er´es durant la construction de chaque filtre de Gabor sont montr´ees sur la Table 3.1.

Par cons´equent, on aura un nombre d’images r´eponses, obtenues par convolution,

´

egal `a 8 si on compte toutes les combinaison de param`etres. Les noyaux produits sont montr´ees sur le Figure 3.2. Quant aux r´eponses obtenus pour la premi`ere

(19)

Chapter 3. Classification des traverses

Figure 3.2: Banque de noyaux de Gabor utilis´es.

traverse en partant de gauche sur l’image de la Figure 3.4, elles sont illustr´ees sur la Figure 3.3.

3.2.3 Clustering

Avant tout clustering ou classification, chacune des variables caract´erisant la tex- ture est d’abord normalis´ee de fa¸con `a ce que sa moyenne soit ´egale `a 0 et sa variance ´egale `a 1. Apr`es, ces caract´eristique seront divis´ees en 3 classes par clus- tering avec K-means: traverse neuve, traverse en bon ´etat, traverse endommag´ees (abim´ees). L’id´ee d’effectuer un clustering selon la texture est bas´ee sur un script qu’on peut trouver parmi les Exemples de Scikit-image (2020), et qui d´emontre que ces caract´eristiques peuvent ˆetre utilis´ee pour discriminer des surfaces de textures diff´erentes.

(20)

Chapter 3. Classification des traverses

Figure 3.3: R´eponses des noyaux de Gabor appliqu´es `a la premi`ere traverse de l’image sur la Figure 3.4.

(21)

Chapter 3. Classification des traverses

Figure 3.4: Image RGB prise par un drone montrant une voie ferr´ee ayant des traverses en bois, © ROAV7 (2019).

Jeu de donn´ees

Les images prises par le drone sont au format RGB (Rouge-Vert-Bleu). Un exemple d’image est montr´e sur la Figure 3.4. Ce type d’imagette, de taille 350×350, a ´et´e extrait `a partir de la mosa¨ıque d’images montr´ee dans la Figure 3.5.

R´esultats

Dans un premier lieu, les traverses ont ´et´e s´epar´ees de mani`ere non-supervis´ee en trois classes (neuve, en bon ´etat, et abˆım´ee) avec K-means, en se basant sur les caract´eristiques de leurs textures. Les deux graphes de la Figure 3.6 montrent sur leurs deux axes uniquement les deux premi`eres variables associ´ees `a la texture.

Les traverses assign´ees au mˆeme cluster sont repr´esent´ees par des points de mˆeme couleur, et la num´erotation des traverses commence `a partir de z´ero en allant de gauche `a droite sur la Figure 3.6-a. On remarque que malgr´e que la premi`ere traverse (0) a clairement une fissure verticale au milieu, elle a quand mˆeme ´et´e mise dans le mˆeme cluster que les traverses en bon ´etat (1 et 4), dans le cas des descripteurs GLCM et de Gabor. La troisi`eme traverse (celle au milieu, (2)) devrait aussi ˆetre dans le mˆeme cluster que la plupart des traverses, mais elle a ´et´e class´ee toute seule dans un cluster distinct. La quatri`eme traverse en partant de gauche (3), qui est

(22)

Chapter 3. Classification des traverses

Figure 3.5: Une partie de la mosa¨ıque `a partir de laquelle les imagettes ont ´et´e tir´ees, ©ROAV7 (2019).

aussi endommag´ee, a par contre ´et´e assign´ee `a son propre cluster. Les r´esultats de ce clustering se sont ainsi av´er´es peu convaincants, et par cons´equent un classifieur supervis´e a ´et´e test´e dans la prochaine partie.

3.2.4 Classification

Jeu de donn´ees

Figure 3.7 et Figure 3.8 montrent les traverses appartenant aux trois classes de traverses (neuve, en bon ´etat, et abˆım´ee) dans les bases d’apprentissage et de test respectivement. Ces traverses ont ´et´e extraites de facon automatique en utilisant les m´ethodes vues dans le chapitre pr´ec´edant, puis assign´ees manuellement `a une des trois classes. Il y’a 15 traverses par classe dans la base d’apprentissage, et 5 par classe dans la base de test. Les traverses appartenant `a la classe abˆım´ee ont une ou plusieurs fissures verticales qui peuvent facilement ˆetre rep´er´ees visuellement. Quand

`

a celles de la classe neuve, elles se distinguent des autres traverses par leur couleur fonc´ee. Cependant, des traverses qui semblent neuves par leurs couleurs, peuvent comporter des fissures, et dans ce cas elles sont cat´egoris´ees dans la troisi`eme classe.

(23)

Chapter 3. Classification des traverses

(a)

(b)

(c)

Figure 3.6: (a)Traverses extraites(b)Clustering bas´e sur la GLCM(c)Clustering bas´e sur les filtres de Gabor. Chaque croix est un centroid de cluster, et chaque point est une traverse repr´esent´ee par sa texture et assign´ee `a un des trois clusters.

Les traverses appartenant au mˆeme cluster ont la mˆeme couleur.

(24)

Chapter 3. Classification des traverses

(a)

(b)

(c)

Figure 3.7: Traverses de la base d’apprentissage appartenant `a la classe (a) neuve (b) en bon ´etat (c) abˆım´ee.

R´esultats

L’impl´ementation du classifieur SVM, fournie par Scikit-learn, et ayant un noyau gaussien a ´et´e entrain´e sur la base d’apprentissage puis ´evalu´e sur les donn´ees de test. Le choix du noyau a ´et´e fait initialement par cross-validation en utilisant la fonction GridSearchCV de Scikit-learn. L’accuracy ´etait ´egale `a 80% lorsque la texture a ´et´e extraite en utilisant l’ensemble des six caract´eristiques de la matrice de co-occurrence. Par ailleurs, une erreur de classification a ´et´e trouv´ee dans chacune des trois classes, g´en´eralement `a cause des ressemblances en terme de motif, comme le montre la matrice de confusion du Tableau 3.2. Comme attendu, la deuxi`eme traverse de la classe abim´ee dans la Figure 3.8-c a ´et´e class´ee avec la classe neuve en raison des similarit´es en terme de texture alors qu’elle comporte clairement une fissure au milieu. En utilisant les 8 filtres de Gabor g´en´er´es pour caract´eriser la texture, l’accuracy a baiss´ee `a 73.33% avec toutes les erreurs partag´ees entre les deux derni`eres classes, comme le montre la matrice de confusion du Tableau 3.3.

(25)

Chapter 3. Classification des traverses

(a)

(b)

(c)

Figure 3.8: Traverses de la base de test appartenant `a la classe (a) neuve (b) en bon ´etat (c) abˆım´ee.

(26)

Chapter 3. Classification des traverses

Ceci est peut ˆetre dˆu `a la n´ecessit´e d’ajuster les param`etres d´efinissant les filtres de Gabor convenablement selon les images ´etudi´ees.

Table 3.2: Matrice de confusion pour une classification par SVM de la texture extraite par GLCM.

Pr´ediction

Neuve Normale Abˆım´ee

R´ealit´e Neuve 4 1 0

Normale 0 4 1

Abˆım´ee 1 0 4

Table 3.3: Matrice de confusion pour une classification par SVM de la texture extraite par filtres de Gabor.

Pr´ediction

Neuve Normale Abˆım´ee

R´ealit´e Neuve 5 0 0

Normale 1 3 1

Abˆım´ee 1 1 3

3.3 R´ eseau neuronal convolutif (CNN)

Au lieu de la texture, dans cette partie c’est les images enti`eres des traverses qui sont donn´ees en entr´e `a un R´eseau neuronal convolutif (CNN) afin de les cat´egoriser en trois classes comme avant. Figure 3.9 montre les diff´erentes couches du CNN utilis´e qui est similaire au LeNet5 (Lecun et al., 1998) dans la Figure 3.10, dans le sens o`u on a deux couches convolutionnelles suivies de deux couches compl`etement connect´ees (denses). Le subsampling (map-pooling) vient au milieu de ces deux blocs, et deux couches DropOut viennent aussi s’ajouter avant les couches denses afin d’´eviter de faire du surapprentissage. Comme dans la plupart des probl`emes de classification, softmax a ´et´e utilis´ee comme fonction d’activation de la couche de sortie pour retourner la probabilit´e d’appartenance `a chacune des trois classes,

(27)

Chapter 3. Classification des traverses

et la cross-entropy comme fonction de coˆut (loss function) qui ´evalue l’erreur pour mettre `a jour les poids du mod`ele `a chaque it´eration.

3.3.1 Jeu de donn´ ees

Ce r´eseau est assez simple et est d’ailleurs fournie avec les Exemples de Keras (2020) o`u il est test´e sur la base de chiffres manuscrits MNIST. Dans le cas des traverses, la taille de l’image d’entr´ee dans le r´eseau a ´et´e chang´ee `a (20 x 140), et d’un autre cˆot´e la base d’apprentissage a ´et´e construite en redimensionnant les traverses extraites pr´ec´edemment et en les convertissant en niveaux de gris. Puisque on a en notre possession un nombre tr`es limit´e d’exemples (15 traverses par classe, 45 au total), la base d’apprentissage a dˆu ˆetre augment´ee en temps r´eel avec des images g´en´er´ees par transformations lin´eaires effectu´ees sur les images d’origine.

3.3.2 R´ esultats

Le CNN a ´et´e entrain´e pendant 100 it´erations (epochs), sur 10 batchs de 10 exemples chacun `a chaque it´eration. Figure 3.11 montre l’´evolution de l’accuracy et de la fonction de perte `a chaque it´eration sur les donn´ees d’apprentissage et de test (appel´e validation dans le graphe). Si on se concentre sur l’accuracy, on voit sur la base de test qu’elle oscille entre 0.6 et un peu plus de 0.7 qui est inf´erieure `a la valeur de cette mˆeme m´etrique sur la base d’apprentissage, et donc un risque de surapprentissage n’est pas `a ´ecarter. Par ailleurs, la valeur de l’accuracy du CNN est donc inf´erieure

`

a celle du SVM entrain´e auparavant sur la texture obtenue `a partir de la GLCM, et dont l’apprentissage a aussi pris moins de temps.

(28)

Chapter 3. Classification des traverses

Figure 3.9: Architecture du CNN utilis´e pour la classification des images de tra- verses.

(29)

Chapter 3. Classification des traverses

Figure 3.10: Architecture du r´eseau LeNet5 (Lecun et al., 1998).

(30)

Chapter 3. Classification des traverses

(a)

(b)

Figure 3.11: ´Evolution sur la base d’entrainement et de test (validation) de (a) l’accuracy (b) l’erreur calcul´ee avec la fonction de perte.

(31)

Chapter 4 Conclusion

4.1 Impl´ ementation

L’application d´evelopp´ee (Figure 4.1) repose principalement sur le wrapper Python d’OpenCV, en plus de NumPy/SciPy, pour les op´erations de traitement d’images, mis `a part l’extraction de la texture (GLCM et Gabor) qui a ´et´e effectu´ee avecScikit- image. Lorsqu’il y a lieu de tracer des courbes, celles-ci sont faites avec matplotlib.

L’interface graphique a ´et´e d´evelopp´ee avec la biblioth`eque Tkinter qui est fournie directement avec Python. Scikit-learn est aussi utilis´ee, plus sp´ecifiquement pour son impl´ementation de K-means et des SVM, et enfin la partie CNN est impl´ement´ee avec Keras.

4.2 Perspectives

Dans l’avenir, il faudrait construire une base d’apprentissage d’au moins une cen- taine, voir des milliers, de traverses dans chaque classe afin d’´eviter le surappren- tissage. De plus, il faudrait aussi identifier une architecture de r´eseau plus com- plexe et plus adapt´ee `a ce probl`eme de classification, puisque une accuracy autour des 60%-70% n’est pas un bon r´esultat pour un CNN. Par exemple, le r´eseaux de neurones compl`etement convolutif, U-Net, qui a donn´e de bons r´esultats lors de la segmentation d’images m´edicales microscopiques pourrait ˆetre test´e. Plusieurs

(32)

Chapter 4. Conclusion

Figure 4.1: Interface graphique de l’application d´evelopp´ee.

Figure 4.2: Architecture d’un r´eseau U-Net (Ronneberger et al., 2015).

impl´ementations de U-Net sont disponibles, dont une avec Keras sur Github (Zhix- uhao, 2019). L’architecture d’un r´eseau U-Net est montr´ee dans la Figure 4.2.

(33)

Bibliography

Exemples de Keras (2020). Classification of the MNIST dataset using a basic CNN with Keras.

https://keras.io/examples/mnist_cnn/. [Online; accessed 26-Jan-2020].

Exemples de Scikit-image (2020). Classification of image patches using GLCM Texture Features.

https://scikit-image.org/docs/dev/auto_examples/features_detection/

plot_glcm.html. [Online; accessed 26-Jan-2020].

Gibert, X., Patel, V. M., and Chellappa, R. (2015). Material classification and semantic segmentation of railway track images with deep convolutional neural networks.2015 IEEE International Conference on Image Processing (ICIP), pages 621–625.

Gibert, X., Patel, V. M., and Chellappa, R. (2016). Deep multitask learning for rail- way track inspection. IEEE Transactions on Intelligent Transportation Systems, 18(1):153–164.

Hall-Beyer, M. (2017). GLCM texture: a tutorial v. 3.0 March 2017.

https://prism.ucalgary.ca/handle/1880/51900. [Online; accessed 26-Jan- 2020].

Haralick, R. M., Shanmugam, K., and Dinstein, I. (1973). Textural features for image classification.IEEE Transactions on Systems, Man, and Cybernetics, SMC- 3(6):610–621.

(34)

Bibliography

Karakose, M., Yaman, O., Baygin, M., Murat, K., and Akin, E. (2017). A new computer vision based method for rail track detection and fault diagnosis in rail- ways. International Journal of Mechanical Engineering and Robotics Research, 6(1):22–17.

Lecun, Y., Bottou, L., Bengio, Y., and Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324.

Li, Y., Trinh, H., Haas, N., Otto, C., and Pankanti, S. (2013). Rail component detection, optimization, and assessment for automatic rail track inspection. IEEE Transactions on Intelligent Transportation Systems, 15(2):760–770.

Min, Y., Xiao, B., Dang, J., Yue, B., and Cheng, T. (2018). Real time detection system for rail surface defects based on machine vision. EURASIP Journal on Image and Video Processing, 2018(1):3.

Resendiz, E., Hart, J. M., and Ahuja, N. (2013). Automated visual inspection of rail- road tracks. IEEE transactions on intelligent transportation systems, 14(2):751–

760.

Ronneberger, O., Fischer, P., and Brox, T. (2015). U-net: Convolutional networks for biomedical image segmentation. International Conference on Medical image computing and computer-assisted intervention, pages 234–241.

Singh, A. K., Swarup, A., Agarwal, A., and Singh, D. (2017). Vision based rail track extraction and monitoring through drone imagery. ICT Express.

Singh, M., Singh, S., Jaiswal, J., and Hempshall, J. (2006). Autonomous rail track inspection using vision based system. 2006 IEEE International Conference on Computational Intelligence for Homeland Security and Personal Safety, pages 56–

59.

Ta¸stimur, C., Karak¨ose, M., Akın, E., and Aydın, ˙I. (2016). Rail defect detec- tion with real time image processing technique. 2016 IEEE 14th International Conference on Industrial Informatics (INDIN), pages 411–415.

(35)

Bibliography

Wu, Y., Qin, Y., Wang, Z., and Jia, L. (2018). A uav-based visual inspection method for rail surface defects. Applied Sciences, 8(7):1028.

Zhixuhao (2019). Implementation of U-Net using Keras.

https://github.com/zhixuhao/unet. [Online; accessed 17-Jan-2020].

Références

Documents relatifs

Cette mesure permet de mettre en valeur les défauts caractérisés par des zones continues de pixels de luminance proche, dans un environnement de texture aléatoire comme c’est le

The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.. L’archive ouverte pluridisciplinaire HAL, est

• Le système décrit par chacun des modèles est différent : par exemple, une démarche de localisation dans le cadre d’une approche orientée bon fonctionnement repose sur ce type

De plus, les cellules photovoltaïques sont fragiles et sensibles à l’environnement extérieur, elles sont donc munies d’une protection mécanique (l’encapsulation). Pour

I-C-1- Soit F la variable al´eatoire repr´esentant la fr´equence de filles dans un ´echantillon de 100 ´el`eves pris au hasard, fr´equentant le CDI. On admet que F suit une

[r]

Pour cela, des r´esidus structur´es sont utilis´es pour d´etecter et localiser des d´efauts multiples en utilisant le principe de reconstruction des variables et leur projection dans

Dans ce sens, l'ACP peut être considérée comme une technique de minimisation de l'erreur quadratique d'estimation ou une technique de maximisation de la variance