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

Perception pour les Véhicules autonomessed.inrialpes.fr/Presentations/180425-ISN/ISN-2018.pdfStixels Title Perception pour les Véhicules autonomes Author Nicolas Turro Subject INRIA

  • View
    0

  • Download
    0

Embed Size (px)

Text of Perception pour les Véhicules...

  • 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

    𝑑𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑖𝑜𝑛

    https://fr.wikipedia.org/wiki/Informatique

  • 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