Perception pour les Véhicules autonomes

34
24/04/2018 - 1 Perception pour les Véhicules autonomes Présentation ISN 2018 N. Turro & équipe Chroma

Transcript of Perception pour les Véhicules autonomes

24/04/2018-1

Perception pour

les Véhicules

autonomes

Présentation ISN 2018

N. Turro & équipe Chroma

01

24/04/2018-2

Introduction aux véhicules

autonomes

Surtitre optionnel

24/04/2018-3

Véhicules Autonomes, de quoi parle-t-on?

R & D

Environnement maîtrisés :Largement commercialisé

24/04/2018-4

État des lieuxFévrier 2018 : Waymo : 5 millions de km, Uber 3.2 millions, PSA : 150000 (voies

rapides)

Decembre 2017, rapport : “Report on Autonomous Mode Disengagements

For Waymo Self-Driving Vehicles in California “30 véhicules pour 563200

km parcourus

• 63 interventions humaines :

• 6 sur autoroute, 57 dans rues

• Problèmes prédominants :

panne matérielle, incertitudes de perception, configuration du véhicule et de son

environnement

• Valeo, Nvidia, Uber : > 1 reprise en main tous les 10km

Accidents mortels :

• 1 mort tous les 100Millions km en conduite humaine

• Tesla autopilot 1er mort a 130Million km, 2eme récemment

• Uber, 1 mort en 3.2 millions…

Surtitre optionnel

24/04/2018-5

Comment cela fonctionne ?

Perception

Localisation

Interprétation

Abstraction

Prise de décision/Planification

Contrôle :

Angle au volant, accélération, frein.

𝑣,φ = 𝑓(𝑒𝑟𝑟𝑒𝑢𝑟)

Boucle

Temps Réel

Pixels, grilles d’occupation

Coordonnées GPS, vitesse

Réel->numérique discret

(temps et espace)

Contexte voisinage,

Signalisation routière

‘modes’ de commande

Trajectoire

Objectif, destination

ሶ𝒙𝒕= lim𝑑𝒕→𝟎

(𝒙𝒕−𝒙𝒕−𝟏

𝒅𝒕)

ሷ𝒙𝒕= lim𝑑𝒕→𝟎

ሶ𝒙𝒕− ሶ𝒙𝒕−𝟏

𝒅𝒕

ሶ𝒙𝒕 =𝒙𝒕−𝒙𝒕−𝟏

∆𝒕

ሷ𝒙𝒕 =ሶ𝒙𝒕− ሶ𝒙𝒕−𝟏

∆𝒕=

𝒙𝒕−𝟐𝒙𝒕−𝟏+𝒙𝒕−𝟐

(∆𝒕)𝟐

24/04/2018-6

Perception numérique : discrétisation du temps

𝑥𝑡−1𝑥𝑡

𝑥𝑡−2

𝑥𝑡+1𝑥𝑡+2

ሶ𝑥𝑡

Passé !

Continu

Discret

Ne tend pas vers zéro !

Filtrage = retard

Interpolations (linéaire, cercle, bézier) pour valeurs intermédiaire,

rayon de courbure…

Même avec des mesures parfaites, nos calculs seront approximatifs

24/04/2018-7

Notion de Temps réel

Etant donné un capteur qui perçoit des véhicules à 10Hz à 50m quelle vitesse est-

il prudent de se déplacer ? Relation avec le temps de calcul 𝑡𝑐

𝑎0 = −10 𝑚𝑠−2 ; 𝑓𝑝 = 10𝐻𝑧

𝑑𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛= 50m

𝑡𝑐=1

𝑓𝑝=0.1𝑠𝑣0 < 107 km/h

𝑡𝑐=10

𝑓𝑝=1𝑠𝑣0 < 81 km/h

On veut : 𝑑𝑎𝑟𝑟ê𝑡 < 𝑑𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛

𝑑𝑎𝑟𝑟ê𝑡=𝑣0𝑡𝑟é𝑎𝑐𝑡𝑖𝑜𝑛 + 𝑑𝑓𝑟𝑒𝑖𝑛𝑎𝑔𝑒

𝑑𝑓𝑟𝑒𝑖𝑛𝑎𝑔𝑒= −𝑣0

2

2𝑎0

𝑡𝑟é𝑎𝑐𝑡𝑖𝑜𝑛 = 𝑡𝑝𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛+ 𝑡𝑐𝑎𝑙𝑐𝑢𝑙 = 1

𝑓𝑝+ 𝑡𝑐

𝑣0

2

2𝑎0+ 𝑣0(

1

𝑓𝑝+ 𝑡𝑐) < 𝑑𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛

En informatique, on parle d'un système temps réel

lorsque ce système est capable de contrôler (ou piloter)

un procédé physique à une vitesse adaptée à l'évolution

du procédé contrôlé

𝑣0

𝑑𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛

02

24/04/2018-8

Perception et fusion de

capteurs

24/04/2018-9

Perception, un des enjeux majeursAccident Tesla, Uber

Proprioceptifs : GPS, odométrie, centrale inertielle

Extéroceptifs

Pas de capteur idéal, combiner l’information !

Capteur Défauts

Caméras Sensibles au conditions d’éclairage

Lidars Résolution verticale/prix, vitres, calibration

Radars Résolution angulaire

Ultra-sons Portée, résolution

Communication Limitée infrastructure/véhicules

Cap

teu

rs

24/04/2018-10

Fusion de capteur simple : localisation

GPS : Système satellitaire (GNSS, GLONASS, GALILEO) + EGNOS

Odométrie :

Centrale inertielle : mesure des accélérations linéaires et angulaires

3 capteurs proprioceptifs

imparfaits

Etat simple : position du

véhiculeFusion

24/04/2018-11

Fusion de capteur pour la localisation : GPS

• Fréquence : 1Hz,

28m à 100km/h

• Tunnels

• Bruit/Sauts

24/04/2018-12

Fusion de capteur pour la localisation :

Odométrie

Glissement

Dérive angulaire

24/04/2018-13

Fusion de capteurs pour la localisation :

Centrale inertielle

-6

-4

-2

0

2

4

6

11

32

263

394

525

656

787

918

104

91

18

01

31

11

44

21

57

31

70

41

83

51

96

62

09

72

22

82

35

92

49

02

62

12

75

22

88

33

01

43

14

53

27

63

40

73

53

83

66

93

80

03

93

14

06

24

19

34

32

44

45

54

58

64

71

74

84

84

97

95

11

05

24

15

37

25

50

35

63

45

76

55

89

66

02

76

15

86

28

96

42

06

55

16

68

26

81

36

94

47

07

5

Accélération latérale et longitunidale

field.linear_acceleration.x field.linear_acceleration.y

Bruit, BIAIS d’installation, dérivation double !

24/04/2018-14

Incertitudes et modèles pour filtrage de

Kalman

Modèle physique/dynamique

+ contrôle

+ ‘bruit’

Variance de la

mesure (calibration

capteur)

Estimation optimale

avec variance réduite

24/04/2018-15

Fusion de capteur pour la localisation :

Filtre de Kalman

Prédiction :

Mise à jour :Entrées, mesures

Sorties

24/04/2018-16

Fusion de capteur pour la localisation :

Odométrie + GPS par filtrage de Kalman

24/04/2018-17

Grille d’occupation Bayésienne

Grille vue de dessus

Valeur = probabilité d’occupation

0 = blanc = libre

1 = noir = occupé

0.5 = gris = on ne sait pas (pas observé..)

Représentation commune à tous les capteurs !

24/04/2018-18

Filtrage et fusion Bayésienne

Connaissance

à priori observation

faitObservation Fiabilité la detection (y compris fausses alertes)

Pour S capteurs :

Thèse C. Coué (Inria e-motion) :

24/04/2018-19

Fusion de grilles d’occupation

1er capteur 2eme capteur fusion

24/04/2018-20

Fusion de grilles d’occupation

Fusion ‘temporelle’ (prédiction/observation/mise à jour)

03

24/04/2018-21

Interprétation, abstraction

et apprentissage profond

24/04/2018-22

Réseaux de neurones convolutifs pour la perception

Group Classes

flat road · sidewalk ·

parking+

· rail track+

human person*· rider

*

vehicle car*· truck

*· bus

*· on

rails*· motorcycle

bicycle*

· caravan*+

·

trailer*+

construction building · wall · fence ·

guard rail+

· bridge+

·

tunnel+

object pole · pole group+

·

traffic sign · traffic light

nature vegetation · terrain

sky sky

void ground+

· dynamic+

·

static+

Interprétation

Abstraction

24/04/2018-23

Réseaux de neurones convolutifs pour la perception

Un neurone

𝑦𝑘 = 𝜑 𝑤𝑘𝑖 𝑥𝑖 + 𝑏𝑖

SoftmaxReLu

Paramètres

à identifier

24/04/2018-24

Réseaux de neurones convolutifs pour la perception

Convolution

Tapez une équation ici.

y

x

24/04/2018-25

Réseaux de neurones convolutifs pour la perception

Cas particulier, image et convolution

Détection de

contours

Sobel

=

24/04/2018-26

Réseaux de neurones convolutifs pour la perception

Réseau global

(apprentissage) PROFOND : millions de paramêtres

24/04/2018-27

Réseaux de neurones convolutifs pour la perception

Apprentissage

Nécessite des milliers d’entrées classifiées pour l’apprentissage

24/04/2018-28

Réseaux de neurones convolutifs pour la perception

La révolutions des années 2010+

Conjonction de :

• Puissance de calcul : GPU, massivement parallèle

• Bases de données numériques :

• Frameworks informatiques puissants :

• Ex : Tensorflow, Keras

24/04/2018-29

model = Sequential()

model.add(Convolution2D(32, 3, 3, activation='relu',

input_shape=(1,28,28)))

model.add(Convolution2D(32, 3, 3, activation='relu'))

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Dropout(0.25))

model.add(Flatten())

model.add(Dense(128, activation='relu'))

model.add(Dropout(0.5))

model.add(Dense(10, activation='softmax'))

model.compile(loss='categorical_crossentropy',

optimizer='adam',

metrics=['accuracy'])

model.fit(X_train, Y_train,

batch_size=32, nb_epoch=10, verbose=1)

score = model.evaluate(X_test, Y_test, verbose=0)

Réseaux de neurones convolutifs pour la perception

Keras

24/04/2018-30

Abstraction :

Code de la route,

signalisation statique

signalétique dynamique (feux, travaux)

Priorités

Raisonnement comportemental :

anticipation des actions des tiers, modèle comportemental

‘bon moment’ pour doubler ?

Modèles bayesiens, deep learning

24/04/2018-31

Résultat

24/04/2018-32

Evolutions :

Simulation : : 4,35 milliards de km

Collecte : ‘shadow mode’, Cartes 3d HD enrichies

: Drive constellation réalisme, météo, imprévu

Communications V2XEvolutions matérielle

R&D :

24/04/2018-33

Merci de votre attention !

24/04/2018-34

Stixels