La vision monoculaire est l'arme magique de Mobileye (ME). En fait, elle avait aussi envisagé la vision binoculaire à l'époque, mais a finalement choisi d'abandonner.
Sur quoi reposent la télémétrie monoculaire et l'estimation 3D ? C'est la Bounding Box (BB) qui détecte la cible. Si l'obstacle ne peut pas être détecté, le système ne peut pas estimer sa distance et son attitude/orientation 3D. Sans apprentissage profond, ME estime principalement la distance en fonction du BB, de l'attitude et de la hauteur obtenues par calibrage de la caméra et de l'hypothèse selon laquelle la surface de la route est droite.
Avec l'apprentissage profond, le modèle NN peut être entraîné sur la base d'une vérité terrain en 3D pour obtenir des estimations de taille et d'attitude en 3D. La distance est basée sur le principe de la ligne parallèle. (vue unique) métrologie) obtenu. La solution monoculaire L3 annoncée par Baidu Apollo il n'y a pas longtemps est assez claire. L'article de référence est "3D Bounding Box Estimation by Deep Learning and Geometry". , la parallaxe et la profondeur peuvent être calculées même si aucun obstacle n'est détecté (en raison des informations de profondeur supplémentaires, le détecteur sera meilleur qu'un monoculaire), une alarme sera émise. Le problème est qu'il n'est pas si simple pour un système de vision binoculaire d'estimer la disparité. La correspondance stéréo est un problème typique en vision par ordinateur. Une ligne de base large donne des résultats précis pour les cibles lointaines, tandis qu'une ligne de base courte donne de bons résultats. près des cibles. Il y a un compromis ici.
Le système de vision binoculaire ADAS actuellement sur le marché est Subaru EyeSight, et ses performances seraient bonnes.
La navette Apollon L4 lancée par Baidu a été produite en série avec 100 unités installées, et un système binoculaire a été installé. Le projet de stationnement autonome de l'UE V-Charge utilise également un système de vision binoculaire avant, tout comme le système de recherche et développement de conduite autonome Berta Benz, qui est intégré au système radar. Parmi eux, l'algorithme de détection d'obstacles binoculaire Stixel est très célèbre. Des entreprises de premier plan telles que Bosch et Conti ont également développé des solutions de vision binoculaire dans le passé, mais celles-ci n'ont pas eu d'impact sur le marché et auraient été supprimées.
En parlant des difficultés du système binoculaire, en plus de l'adaptation stéréo, il y a aussi l'étalonnage. Le système calibré « dérivera », un étalonnage en ligne est donc indispensable. Il en va de même pour les monoculaires, car la déformation des pneus et les chocs de la carrosserie du véhicule affecteront les changements des paramètres externes de la caméra, et certains paramètres doivent être calibrés et corrigés en ligne, tels que l'angle de tangage et l'angle de lacet.
L'étalonnage binoculaire en ligne est plus compliqué, car la correspondance binoculaire est simplifiée autant que possible en recherche 1D, de sorte que les axes optiques des deux lentilles doivent être parallélisés par rectification stéréo et perpendiculairement à la ligne de base. Par conséquent, par rapport au gain obtenu, les commerçants abandonneront si cela n’est pas rentable en raison de la complexité et du coût accrus.
La vision binoculaire a été à nouveau mentionnée récemment car Ambarella, une société de puces de la Silicon Valley, a acquis Vis Lab de l'Université de Parme en Italie en 2014 et a développé des ADAS et des binoculaires. les puces de conduite autonome, qui ont commencé à entrer dans les constructeurs automobiles et de niveau 1 après le CES l'année dernière. De plus, Ambarella poursuit actuellement ses recherches pour améliorer les performances du système.
L'image ci-dessous est un diagramme schématique de six paires de systèmes de vision stéréo installés sur le toit de la voiture. Leurs largeurs de base peuvent être différentes, ainsi que les distances de détection efficaces. sera différent en conséquence. L'auteur a déjà fait un tour dans sa voiture autonome et pouvait voir à 200 mètres de distance et à 20-30 mètres de distance. Il peut en effet effectuer un calibrage en ligne et ajuster certains paramètres de vision binoculaire à tout moment.
01 Correspondance stéréo
La parallaxe visible peut calculer inversement la valeur de profondeur. Mais le plus difficile ici est de savoir comment déterminer que les images vues par les objectifs gauche et droit sont la même cible, c'est-à-dire le problème de correspondance.
Il existe deux méthodes de correspondance, la méthode globale et la méthode locale. Il y a quatre étapes dans la correspondance binoculaire :
.
L'image ci-dessous est la fonction d'optimisation du chemin dans la direction horizontale
Census Transform convertit les pixels 8/24 bits en une séquence binaire. Une autre fonctionnalité binaire est appelée LBP (modèle binaire local) et c'est. similaire. L'algorithme de correspondance stéréo est basé sur cette transformation et transforme la correspondance en une recherche de minimisation de la distance de Hamming. RealSense d'Intel a acquis une start-up de vision binoculaire fondée en 1994 sur la base de cette technologie, et a également acquis plusieurs autres petites entreprises et les a combinées pour la créer.
La figure suivante est un diagramme schématique de la transformation CS :
PatchMatch est un algorithme qui accélère la correspondance de modèles d'image et est utilisé dans le calcul du flux optique et l'estimation de la disparité. Microsoft Research a déjà réalisé un projet basé sur la reconstruction 3D d'une caméra monoculaire de téléphone portable, imitant le succès précédent KinectFusion basé sur l'algorithme RVB-D, avec un nom similaire à MonoFusion, dans lequel l'estimation de la carte de profondeur utilise une méthode PatchMatch modifiée. .
L'idée de base est d'initialiser de manière aléatoire les paramètres de disparité et de plan, puis de mettre à jour l'estimation via la propagation des informations entre pixels voisins. L'algorithme PM est divisé en cinq étapes :
1) Propagation spatiale : chaque pixel vérifie la disparité et les paramètres de plan des voisins gauche et supérieur, et remplace l'estimation actuelle si le coût de correspondance devient plus petit
; 2) Propagation de la vue : transformez les pixels d'autres vues, vérifiez l'estimation de l'image correspondante, et remplacez-la si elle devient plus petite
Parlons de l'étalonnage en ligne.
L'autre méthode est basée sur VO et SLAM, ce qui est plus compliqué, mais elle peut effectuer un positionnement basé sur une carte en même temps. L'utilisation de SLAM pour l'étalonnage en ligne n'est pas adaptée aux opérations à haute fréquence. La figure suivante est l'organigramme de son algorithme : Étapes 1 à 4, obtenez la carte continue globale via la vision stéréo SLAM. L'étape 5 donne l'estimation initiale de la caméra binoculaire ; transformation, étape 6 Regroupez les cartes de toutes les caméras stéréo en une seule carte ; obtenez les poses entre plusieurs caméras aux étapes 7 et 8.
Semblable à la méthode monoculaire, l'étalonnage en ligne peut être rapidement effectué en utilisant l'hypothèse que les lignes de voie sont parallèles et que la route est plate, c'est-à-dire la théorie du point de fuite : en supposant un modèle de route plate, des lignes de voie longitudinales claires, et aucun autre. Les bords de la cible leur sont parallèles ; la vitesse de conduite doit être lente, les lignes de voie sont continues et la configuration binoculaire des caméras gauche et droite nécessite que les angles d'élévation/roulis (angles de lacet/roulis) ) de la caméra gauche par rapport à la surface de la route sont relativement petits ; cela est cohérent avec la comparaison du point de fuite initialisé (avec corrélation d'étalonnage hors ligne) qui permet de calculer la quantité de dérive des paramètres externes binoculaires (Figure 5-269). l'élévation/l'angle oblique de la caméra à partir du point de fuite.
Ce qui suit présente plusieurs systèmes de conduite autonome binoculaire typiques.
L'algorithme de détection d'obstacles Stixel adopté par Berta Benz est basé sur les hypothèses suivantes : les cibles de la scène sont décrites comme des colonnes, le centre de gravité fait que la cible se tient au sol, et la partie supérieure sur chaque cible est plus profonde que la partie inférieure. La figure suivante (a-d) présente comment les résultats de disparité SGM génèrent les résultats de segmentation Stixel :
La figure suivante est un diagramme schématique du calcul de Stixels : (a) Calcul de l'espace de conduite libre basé sur la programmation dynamique (b) Attributs dans Valeurs de segmentation en hauteur (c) Image de coût (valeurs en niveaux de gris inversées) (d) Segmentation en hauteur.
Voici le schéma fonctionnel et les nouveaux résultats de Stixel après avoir ajouté l'apprentissage en profondeur pour effectuer la fusion de parallaxe :
Présentation d'un premier algorithme d'obstacle binoculaire de VisLab, du système générique de détection d'obstacles et de voie (GOLD). Basé sur l'IPM (Inverse Perspective Mapping), détectez les lignes de voie et calculez les obstacles sur la route en fonction de la différence entre les images gauche et droite :
(a) Gauche (b) Droite (c) Remappé. gauche. (d) Remappé à droite. (e) Différence seuillée et filtrée entre les vues remappées. (f) En gris clair, la zone routière visible depuis les deux caméras.
(a) Original (b) Remappé. (c) Filtré. (d) Amélioré. (e) Binarisé.
Architecture du système GOLD
Il s'agit du véhicule de VisLab participant au concours de conduite autonome VIAC (VisLab Intercontinental Autonomous Challenge). des caméras binoculaires, il y a aussi un laser sur le radar du véhicule pour aider au classement des routes.
Voici son organigramme de détection d'obstacles binoculaires : l'estimation de la disparité utilise l'algorithme SGM et les algorithmes associés basés sur SAD.
Deux filtres spatiaux DSI (Disparity Space Image) sont ajoutés au post-traitement, voir Figure 5-274. L'un est le traitement de lissage et l'autre est le traitement de trajectoire de mouvement basé sur la navigation inertielle (IMU).
L'algorithme de détection d'obstacles utilise la méthode JPL pour regrouper les obstacles en fonction des caractéristiques de disposition spatiale et des caractéristiques physiques du véhicule. Les caractéristiques physiques incluent la hauteur maximale (véhicule), la hauteur minimale (obstacle) et la portée maximale praticable de la route. Ces contraintes définissent un espace tronc de cône (tronc de cône), comme le montre la figure, puis dans le processus de clustering, tout tombe. Les points situés à l'intérieur du cône tronqué sont désignés comme des obstacles.
Afin d'accélérer l'algorithme d'estimation de la disparité, la méthode de division du DSI est adoptée :
# 🎜🎜#Une autre méthode classique consiste à obtenir la parallaxe de la route à partir de l'équation de la route (vision stéréo), et à calculer les obstacles sur la route basé sur ceci :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!