Thèse
Auteur :
Abramson Yotam

Date de soutenance :
07 décembre 2005

Directeur(s) de thèse :
Laurgeau Claude



École :

MINES ParisTech
Intitulé de la thèse : AdaBoost/GA et filtrage particulaire: La vision par ordinateur au service de la sécurité routière


Résumé : Cette Thèse combine des résultats récents et des algorithmes originaux pour créer deux applications temps-réel robustes d'aide à la conduite (projet aussi appelé "le véhicule intelligent"). Les applications - commande de croisière adaptative ("ACC") et prédiction d'impact piétons - sont conçues pour être installées sur un véhicule et détectent d'autres utilisateurs de la route, en utilisant une seule caméra frontale.

La thèse commence par un état de l'art sur la vision artificielle. Elle s'ouvre en passant en revue certaines avancées récentes dans le domaine. En particulier, nous traitons l'utilisation récente d'un nouvel algorithme nommé AdaBoost pour la détection des objets visuels dans une image, rapidement et sûrement.

Nous développons la théorie, ajoutons des algorithmes et des méthodes (y compris une variante à base d'algorithmes aux besoins de vraies applications d'aide à la conduite. En particulier, nous prouvons plusieurs nouveaux résultats sur le fonctionnement de l'algorithme AdaBoost.

Toujours sur le plan théorique, nous traitons des algoritmes d'évaluation de mouvement et des filtres particulaires et leur utilisation dans la vision. De ces développements algoritmiques, nous arrivons à la description de deux applications d'aide à la conduite, toutes les deux entièrement mises en application, validées et démontrées sur le véhicule d'essai du Centre de Robotique de l'Ecole des Mines de Paris.

La première application, la commande de croisière adaptative ("ACC"), exploite les formes caractéristiques des véhicules pour les détecter. Ainsi, l'application détecte des véhicules en utilisant un ensemble d'algorithmes classiques de traitement d'image (détection d'ombres, des feux arrières, de symétrie et de bords), ainsi que l'algorithme AdaBoost mentionné ci-dessus. Cet ensemble d'algorithmes est fusionné en se plaçant dans le cadre du filtrage particulaire, afin de détecter les véhicules devant notre voiture. Puis, le système de contrôle prend pour cible la voiture située devant et garde une distance constante par rapport à celle-ci, tout en commandant l'accélération et le freinage de notre voiture.

La deuxième application, le prédiction d'impact piétons, estime au temps t la probabilité d'un impact de notre voiture avec un piéton au temps t+s. Dans l'application, la trajectoire de chaque piéton est calculée, et la probabilité d'impact est calculée selon la direction du piéton, du bruit et d'autres facteurs.

Cette application utilise un accélérateur matériel spécifique crée dans le cadre du projet européen CAMELLIA (Core for Ambient and Intelligent Imaging Applications).Remerciements - i

Publications dans le cadre de cette thèse - iii

Résumé - iv

1 Introduction - 1

1.1 Etat de l'art - 1

1.2 Description des applications - 3

1.3 Contribution théorique - 4

1.4 Plan de la thèse - 4

1.5 Background - 4

1.6 Description of applications - 6

1.7 Theoretical contribution - 6

1.8 Program of this thesis - 7

2 Intelligent Transportation Systems (ITS) - 8

2.1 What is ITS? - 8

2.1.1 Introduction - 8

2.1.2 Historical background - 8

2.1.3 ITS Categories - 9

2.2 Infrastucture-based ITS - 10

2.2.1 Informative infrastucture systems - 10

2.2.2 The smart junction - 11

2.3 IV independent applications - 14

2.3.1 On-board GPS-based localization system - 14

2.3.2 On-board signalization - 15

2.3.3 Pedestrian detection - 16

2.3.4 Lane departure warning (LDW) - 17

2.3.5 Forward Collision Warning (FCW) - 19

2.3.6 Adaptive cruise control (ACC) - 20

2.3.7 Non-cooperative lateral control - 22

2.4 Vehicle-Infrastucture cooperative systems - 23

2.4.1 The AHS project - 24

2.4.2 The deployment problem - 26

2.5 Choise of applications - 28

2.5.1 List of possible applications - 28

2.5.2 Application quotation - 29

2.6 Choice of implementation methods - 31

2.6.1 Requirements for general detection and tracking applications - 31

2.6.2 Previous approaches - 31

2.6.3 Particle filtering - 32

2.6.4 The need for motion estimation - 32

2.6.5 The need for a learning algorithm - 33

2.7 Conclusion - 34

3 Visual object detection with machine learning - 35

3.1 Conventions and definitions - 35

3.1.1 Motion information - 35

3.1.2 Detection window - 35

3.1.3 Measuring the detection rate of a detector - 36

3.2 State of the art - 37

3.2.1 Support vector machine (SVM) - 37

3.2.2 Wavelets features for visual object detection - 40

3.2.3 AdaBoost - 44

3.2.4 Training a detector with AdaBoost - 47

3.3 The control-points features - 56

3.3.1 Independency of illumination - 58

3.3.2 Initial experiments - 60

3.3.3 Genetic algorithm as a week learner - 63

3.3.4 Feature discussion - 63

3.3.5 Using the attentional cascade - 67

3.4 The 5X5 moving kernel features - 68

3.4.1 Definition - 69

3.4.2 Initial experiments - 70

3.5 Analysis of features on synthetic data - 70

3.5.1 Noise sensitivity - 70

3.5.2 Sensitivity to hiding - 76

3.5.3 Conclusions - 77

3.6 Analysis of features on real data - 81

3.6.1 Without normalization - 81

3.6.2 With normalization - 82

3.7 SEVILLE: SEmi-automatic VIsuaL LEarning - 83

3.7.1 The setup - 83

3.7.2 The design of the experiment - 86

3.7.3 Theoretical justification - 87

3.7.4 The experiment - 89

3.7.5 Experimental results - 92

3.7.6 Observation at the separation process - 94

3.7.7 Conclusions and future work - 95

3.8 Comparison between various camera types - 96

3.8.1 Training details - 96

3.8.2 Regular camera at daylight time - 97

3.8.3 Near Infra Red (NIR) camera - 97

3.8.4 Far Infra Red (FIR) camera - 98

3.8.5 Conclusions - 98

3.9 Analysis of the cascade - 98

3.9.1 2D-ROC analysis - 99

3.9.2 3D-ROC analysis - 99

3.9.3 Conclusions - 100

3.10 Conclusions - 100

3.11 Future work - 100

3.11.1 The image pyramid- 101

3.11.2 Spatial density - 101

3.11.3 Tracking (temporal density) - 101

3.11.4 Low-level motion - 101

3.11.5 Limited search area - 101

3.11.6 Context learning - 102

4 Motion estimation algorithms - 111

4.1 Background - 111

4.2 general overview of the algorithm - 111

4.2.1 Motion models - 111

4.2.2 Other definitions - 112

4.2.3 Basic diagram - 112

4.3 Main (internal) loop on blocks - 112

4.3.1 Fetching of the new blocks - 112

4.3.2 Motion-model checking - 114

4.3.3 The actual SAD calculation - 114

4.3.4 The uniqueness of a motion model - 115

4.3.5 Minimal SAD values - 117

4.3.6 Spatial candidates generator - 117

4.3.7 Initiated candidates generator (uniqueness contradictor) - 117

4.3.8 Weights for different types of candidates - 118

4.4 External loop on images - 118

4.4.1 Grouping of areas - 118

4.4.2 High level information in grouping - 119

4.4.3 Minimal motion value - 119

4.4.4 Smoothing of objects - 119

4.4.5 Parameters calculation - 119

4.4.6 Temporal candidates generating - 120

4.4.7 Object based candidates - 120

4.4.8 Randomization - 120

4.5 Object tracking - 121

4.5.1 General method - 121

4.5.2 Upper and bottom confidence thresholds - 121

4.6 Algorithm future work-directions and risks - 122

4.6.1 Extended motion models - 122

4.7 Uniqueness of motion models - 122

4.7.1 Motion estimation for object detection and tracking - 124

4.7.2 Simple uniqueness - 124

4.7.3 Weighted uniqueness - 124

4.7.4 Towards one dimensional uniqueness - 125

4.7.5 Uniqueness as statistical dispersion - 125

4.7.6 one dimensional uniqueness as the weighted least squares - 126

4.7.7 Using the one dimensional uniqueness to enhance detection - 126

4.8 Conclusion - 126

5. Particles filter - 127

5.1 Introduction - 127

5.2 Nonlinear bayesian Tracking - 128

5.3 Optimal Algoritms - 129

5.3.1 Kalman Filter - 129

5.3.2 Grid-based Methods - 131

5.4 Particles Filter - 132

5.4.1 Sequential Importance Sampling (SIS) Algorithm - 132

5.4.2 Resampling and the generic particles filter - 133

5.4.3 Sequential Importance Resampling (SIR) Algorithm - 134

5.5 Conclusion - 136

6 Application I: Stop and Go system - 137

6.1 The detection and tracking framework - 137

6.1.1 Requirements for the application - 137

6.1.2 Previous approaches - 138

6.1.3 Particle filtering - 138

6.1.4 The state space - 141

6.1.5 How algorithms are combined - 142

6.1.6 Advantages of using particle filtering - 143

6.1.7 Confidence of targets - 143

6.2 Image processing algoritms - 144

6.2.1 Introduction - 144

6.2.2 Vehicle shadow detection - 146

6.2.3 Car's rear-lights detection - 152

6.2.4 Symmetry detection - 157

6.2.5 Vertical edges detection - 160

6.2.6 Detection with AdaBoost - 160

6.2.7 Weakness of algoriths - 167

6.3 Additional algoriths - 167

6.3.1 Motion segmentation as a tool for fast detection of cut-ins - 167

6.3.2 Integration with LIDAR - 168

6.4 The Stop and Go system - 177

6.4.1 System architecture - 177

6.4.2 Identifying the Stop and Go target - 178

6.4.3 Automatic disconnection of the system - 178

6.5 Results - 181

6.5.1 Typical examples of the particles filtering - 181

6.5.2 Analysis on a long sequence - 181

6.6 Conclusion - 188

7 Application II: pedestrian detection and impact prediction - 189

7.1 SEVILLE-based applications - 189

7.1.1 The SEVILLE pedestrian detector - 190

7.2 Particle-filter-based applications - 193

7.2.1 Introduction - 193

7.2.2 Pedestrien representation - 193

7.2.3 The basic algorithms and the likelihood function - 193

7.2.4 The input of the algorithms - 195

7.2.5 The projection and retro-projection - 195

7.2.6 The particle filtering framework - 195

7.3 The medium-level algorithms (MLA) - 195

7.3.1 The legs/diagonal detection algorithm - 196

7.3.2 Learning algorithm using AdaBoost - 201

7.3.3 Body detection - 201

7.3.4 Motion detection - 203

7.3.5 Vertical edges excluding detection - 204

7.4 Impact prediction - 205

7.4.1 Introduction - 205

7.4.2 Calculation of pedestrian's movement vector - 206

7.4.3 Impact prediction mechanism - 206

7.4.4 Using a pedestrian model - 207

7.5 Results - 211

7.5.1 Results on several examples - 211

7.5.2 Summarized results - 213

7.6 Conclusion - 213

8 Conclusion - 215

8.1 Vision artificielle - 215

8.2 Applications dans le domaine de l'automobile - 216

8.3 Perspectives - 217

8.4 Computer vision - 217

8.5 Automotive applications - 218

8.6 Future work - 218

Références bibliographiques - 220

Index - 225

© Mines de Paris 2018 - Réalisé par Winch Communication