Lecture de papier de détection de ligne de voie 3D : 3DLaneNet


Cet article est le travail de pionnier de la détection de lignes de voie 3D basée sur l'image basée sur l'apprentissage en profondeur.Il a été proposé par le General Motors Israel Research Center à l'ICCV 2019. Le Gen-LaneNet proposé par Apollo sur l'ECCV 2020 et le 3D- LaneNet+ par l'équipe d'origine sera présenté dans les articles suivants.

Adresse papier :

https://openaccess.thecvf.com/content_ICCV_2019/papers/Garnett_3D-LaneNet_End-to-End_3D_Multiple_Lane_Detection_ICCV_2019_paper.pdf

Adresse de l'ensemble de données des voies 3D synthétiques : (https://link.zhihu.com/?target=https%3A//sites.google.com/view/danlevi/3dlanes

0 résumé

Nous introduisons un réseau qui peut prédire la disposition 3D des voies dans les scènes de route directement à partir d'une seule image. Ce travail marque la première tentative pour résoudre cette tâche avec une détection de vision embarquée sans supposer une largeur de voie constante connue ou en s'appuyant sur un environnement pré-cartographié. Notre architecture de réseau, 3D-LaneNet, applique deux nouveaux concepts : la cartographie en perspective inverse (IPM) à l'intérieur du réseau et la représentation des voies basée sur des ancres . Les projections IPM au sein du réseau facilitent le double flux d'informations de représentation pour les vues d'image régulières et les vues de dessus. La représentation de la sortie de l'ancre par colonne permet à notre approche de bout en bout de remplacer les heuristiques courantes, telles que le regroupement et le rejet des valeurs aberrantes, par l'estimation des voies en tant que problème de détection d'objet . De plus, notre méthode gère explicitement les cas complexes tels que la fusion et la segmentation des voies. Les résultats sont présentés sur deux nouveaux jeux de données de voies 3D, un synthétique et un réel. À des fins de comparaison avec les méthodes existantes, nous testons notre méthode sur une simple référence de détection de voies par image uniquement, atteignant des performances compétitives avec l'état de l'art.

1 point d'innovation

  1. Un nouveau problème est introduit : la détection de voies 3D mono-image sans hypothèses géométriques, et de nouvelles métriques d'évaluation.
  2. Une nouvelle architecture à double chemin qui implémente la projection IPM des fonctionnalités à l'intérieur du réseau.
  3. Une nouvelle représentation de sortie de voie basée sur des ancres qui permet une formation directe du réseau de bout en bout pour la détection de voie 3D et 2D.
  4. Une méthode pour générer des échantillons synthétiques stochastiques avec une topologie de voie (c'est-à-dire le nombre de voies, la fusion, la division) et la variation de forme 3D

2 méthodes

2.1 Présentation générale du cadre

La structure globale du réseau de 3D LaneNet est illustrée dans la figure ci-dessous. Vous pouvez voir les canaux supérieur et inférieur. Le canal supérieur extrait les caractéristiques de vue de face d'entrée d'origine et prédit enfin l'angle d'inclinaison θ de la caméra à SIPM pour une vue de face ultérieure. fonctionnalités en fonctionnalités de vue de dessus. Le canal inférieur reçoit les caractéristiques de vue de dessus converties à partir des caractéristiques de vue de face à différentes échelles, et extrait en continu les caractéristiques de vue de dessus, et produit enfin la prédiction des données liées à la ligne de voie 3D.

insérez la description de l'image ici

Figure 1 Schéma de structure du réseau LaneNet 3D

Une seule image capturée par une caméra frontale montée sur un véhicule est prise en entrée, comme le montre la figure 2. L'article suppose que les paramètres inhérents de la caméra κ (tels que la distance focale, le centre de projection) sont connus et que la caméra est installée à une position de roulis de zéro degré par rapport au plan de masse local (cette hypothèse n'est pas non plus appropriée ) . La hauteur et les angles d'inclinaison connus de la caméra ne sont pas supposés , car ils peuvent changer en raison de la dynamique du véhicule. Dans le document, les voies sont représentées par des traits d'axe et des séparateurs de voie (c'est-à-dire ce que nous appelons souvent des lignes de voie), comme le montre la figure 3. Chacune de ces entités de voie (ligne médiane ou diviseur) est une courbe 3D représentée en coordonnées de caméra (Ccamera). La tâche consiste à détecter la ligne médiane de la voie et l'ensemble des séparateurs de voie pour une image donnée.
insérez la description de l'image ici

Figure 2 Emplacement d'installation de la caméra et projection de la route
Inspirées de la détection d'objets, les ancres sont utilisées pour définir les voies candidates, et une représentation d'ensemble raffinée est utilisée pour décrire la forme de voie 3D précise de chaque ancre. Les ancres correspondent aux lignes longitudinales de la figure 3, et la géométrie raffinée de la voie correspond alors aux points 3D par rapport aux ancres respectives. Chaque point d'ancrage $X^i_A$ est composé de 2K sorties réseau : $(x^i,z^i)=\{(x^i_j,z^i_j)\}^K_{j=1}$ , ainsi que K coordonnées prédéfinies sur l'axe y $y=\{y_i\}^K_{j=1}$ définissent l'ensemble de points de la ligne de voie 3D. La valeur $x^i_j$ est le décalage horizontal par rapport à la position de l'ancre $X^i_A$, c'est-à-dire que la sortie $(x^i_j,z^i_j)$ représente le point $(x^i_j+X^i_A ,y_j, z^i,j)\in \mathbb R^{3}$. De plus, chaque ancre est informée qu'il existe une voie associée à l'ancre.

La sortie réseau de chaque point d'ancrage comprend trois types : les deux premiers types ( c 1 , c 2 ) (c_1,c_2)( c1,c2) représente la ligne centrale de la voie et le troisième type représente le séparateur de voie. L'attribution de deux lignes centrales possibles à chaque ancre donne le support du réseau pour la fusion et la division, c'est-à-dire que les lignes centrales des deux voies sont àY ref Y_{ref}Oui fcoïncident et se séparent à différents endroits de la route. Par conséquent, la taille finale du vecteur de couche de prédiction est 3 ⋅ ( 2 ⋅ K + 1 ) × 1 × N 3\cdot(2\cdot K+1)\times 1 \times N3( 2K+1 )×1×N , pour chaque colonneiii correspond à un point d'ancrage,i ∈ { 1... N } i\in\{1...N\}je{ 1... N } . La forme de sortie du réseau de chaque point du point d'ancrage est( xti , zti , pti ) (x^i_t,z^i_t,p^i_t)( xtje,ztje,ptje) . La prédiction finale effectue une suppression non maximale 1D, ce qui est courant dans la détection d'objets - seule la voie avec la plus grande confiance locale (par rapport aux ancres voisines gauche et droite) est conservée. Chaque voie après suppression non maximale est représentée par un petit nombre (K) de points 3D, qui sont transformés en courbes lisses à l'aide d'une interpolation spline.

insérez la description de l'image ici

Figure 3 représentation de la sortie vue de dessus

2.2 Présentation des modules

2.2.1 Projection vue de dessus (projection vue de dessus)

L'IPM est une homographie qui déforme l'image de la vue de face en une image virtuelle de la vue de dessus, ce qui équivaut à appliquer une homographie de rotation de la caméra (la vue est tournée vers le bas), suivie d'une mise à l'échelle anisotrope. L'article veut s'assurer que chaque pixel de l'image vue de dessus correspond à un emplacement prédéfini sur la route, indépendamment des paramètres internes de la caméra et de sa pose par rapport à la route. Dans la Figure 2, les coordonnées de la caméra sont Ccamera = (´x´, ´y´, ´z´), les coordonnées de la route Croad = (x, y, z), Proad est un plan tangent à la surface locale de la route : le z direction est Proad Normal, y est la projection de y´sur Proad (c'est-à-dire que l'origine est la projection du centre de la caméra sur Proad). Tc2r est 6-DOF. Conversion entre caméra et caméra Croad (translation 3D et rotation 3D). Puisque l'angle de roulis est supposé être nul, Tc2r est uniquement défini par l'angle d'inclinaison de la caméra θ et sa hauteur au-dessus du sol hcam.

Mapper chaque point sur Proad à l'homographie Hr2i des coordonnées du plan image : Proad→Pimg est déterminé par Tc2r et κ (référence : Multiple View Geometry in Computer Vision). Enfin, l'IPM est obtenu à partir de Hr2i, en utilisant un ensemble fixe de paramètres IPM-Params pour définir les limites de la région de la vue de dessus et la mise à l'échelle anisotrope des mètres aux pixels. Les images vues de dessus sont générées à l'aide d'une interpolation bilinéaire définie par la grille d'échantillonnage SIPM.

La valeur de pixel projetée est généralement un nombre à virgule flottante et ses pixels environnants sont échantillonnés par interpolation bilinéaire.

2.2.2 La couche de transformation projective (couche de transformation de projection)

Cette partie est principalement la couche de conversion de projection marquée en bleu sur la figure 1. Cette couche est une implémentation spécifique du module de couche de transformation projective [Spatial transformer networks] avec de légères modifications. Il effectue un échantillonnage différentiable sur la carte de caractéristiques d'entrée correspondant à l'espace du plan d'image, et produit la carte de caractéristiques correspondant à l'espace de vue de dessus virtuel de la scène tout en préservant le nombre de canaux.

Branche de prédiction de la projection routière

La première sortie intermédiaire du réseau de chemin de vue d'image est une estimation du plan de projection de la route Proad. Essentiellement, cette branche prédit Tc2r, la transformation de la caméra en coordonnées routières. Il est formé de manière supervisée. Tc2r détermine l'homographie vue de dessus Hr2i et la grille d'échantillonnage SIPM, donc Tc2r est nécessaire dans l'étape d'anticipation du chemin vue de dessus. Au moment de l'inférence, il est également utilisé pour convertir la sortie du réseau exprimée en Croad vers la caméra. Tc2r dans ce cas est défini par la hauteur de la caméra hcam et le pas θ, donc ce sont les deux sorties de cette branche En fait la branche vue de face prédit deux paramètres : la hauteur de la caméra hcam l'angle d'inclinaison de la caméra θ (mais la hauteur n'est pas vue depuis l'ensemble sortie prévue de l'image).

Tête de prédiction de voie

Affectés par la détection de cible, nous utilisons des ancres pour représenter les lignes de voie 3D. Comme le montre la figure 3, dans le système de coordonnées de la route, les ancres sont définies à intervalles égaux le long de l'axe des x et chaque ancre est prédite sur les coordonnées K fixées sur l'y. -axe : le décalage des coordonnées x et la hauteur z forment un ensemble de coordonnées tridimensionnelles représentant la ligne de voie. En outre, chaque ancre prédit également un niveau de confiance (indiquant s'il y a une voie dans l'ancre), de sorte que les données prédites dimension est (2K+1). Pour chaque ancre, le réseau génère jusqu'à trois types de descripteurs de voie (confiance et géométrie), les deux premiers (c1, c2) représentent les lignes centrales des voies et le troisième type (d) représente les séparateurs de voie - représentant les lignes de voie réelles. La topologie des séparateurs de voies est généralement plus complexe que celle des lignes médianes, et notre représentation ne peut pas capturer tous les cas.

La taille de la tête de prédiction finale est : 3 · (2 ​​· K + 1) × 1 × N (N est le nombre d'ancres, K est le nombre de points de prédiction définis sur l'axe des ordonnées). La prédiction finale effectue une suppression non maximale 1D courante dans la détection d'objets : seule la voie avec la confiance locale la plus élevée (par rapport aux ancres voisines gauche et droite) est conservée. Chaque voie restante, représentée par un petit nombre (K) de points 3D, est transformée en une courbe lisse à l'aide d'une interpolation spline.

Q : Pourquoi avez-vous besoin de deux axes c1 et c2 ?

Réponse : L'attribution de deux lignes médianes possibles à chaque point d'ancrage peut fournir une prise en charge du réseau pour la fusion et la division, ce qui se traduit généralement par des lignes médianes de deux voies coïncidant à un moment donné et séparées à différents emplacements de route, comme illustré à la figure 3 illustrée dans l'exemple le plus à droite. (Je pense personnellement qu'une ancre prédit l'axe de deux voies nécessite généralement une valeur de prédiction de décalage latéral plus grande, ce qui augmentera la difficulté de prédiction)

2.2.3 Formation

Pendant le temps d'entraînement et l'évaluation, si la voie entière ne croise pas Y ref Y_{ref} dans les limites d'une image vue de dessus valideOui f, puis ignorez toute la voie (pensez personnellement qu'elle ne passe pas par Y ref Y_{ref}Oui f(illustré à la Figure 3) n'est pas bon s'il est ignoré); si le point de voie est obscurci par le terrain (c'est-à-dire au-delà du sommet de la colline), le point de voie est ignoré. La fonction de perte globale est la suivante, la perte d'entropie croisée est utilisée pour la confiance et la perte L1 est utilisée pour les autres

3 expériences

3.1 Indicateurs d'évaluation

Une méthode d'évaluation pour la détection de voies 3D est proposée qui sépare la précision de détection de la précision d'estimation géométrique. La précision de détection est calculée à partir de la mesure standard de précision moyenne (AP) de la courbe précision-rappel. La distance de courbe entre le GT et la voie détectée est d'abord calculée comme une somme pondérée des distances point à euclidienne. Les distances sont mesurées le long de la courbe avec un ensemble prédéfini de valeurs y, mesurées tous les 80 cm dans la plage de 0 à 80 mètres, les poids diminuant avec la distance. Ensuite, une correspondance un à un (courbe) est effectuée en sélectionnant des paires de similarité décroissante. Une correspondance est considérée comme correcte si la distance pondérée est inférieure à un seuil assez permissif (1,5 mètre). Une courbe de rappel de précision est générée en itérant sur les seuils de confiance des voies.

Pour les résultats de prédiction sur les correspondances, la précision de l'estimation géométrique a été évaluée en mesurant la distribution des erreurs (distance euclidienne ponctuelle) aux mêmes points que ceux utilisés pour mesurer la distance courbe à courbe. En raison de la différence de taille d'erreur, l'ensemble de données est ensuite divisé en points de voie dans la plage proche (0-30 m) et la plage éloignée (30-80 m). L'erreur 1σ pour chaque plage est ensuite calculée comme l'erreur de 68 % et l'erreur 2σ comme l'erreur de 95 %.

3.2 Détails du déploiement

Comment la vérité terrain correspond à l'ancre pendant la formation :

  1. Projetez toutes les lignes de voie et les axes de voie sur la vue de dessus via IPM ;
  2. Y réf Y_{réf}Oui ffaire correspondre positionnellement chaque ligne à xxLe segment de ligne d'ancrage le plus proche dans la direction x ;
  3. Pour les lignes correspondantes sur chaque point d'ancrage, attribuez la ligne de voie la plus à gauche et la ligne centrale comme d , c 1 d, c_1,c1, s'il y a d'autres traits d'axe, il est assigné comme c 2 c_2c2

5.3 Résultats de précision

Jeu de données de simulation :
insérez la description de l'image ici

Jeu de données réel :
insérez la description de l'image ici

Résultats de visualisation :
insérez la description de l'image ici

4 Analyse

Avantages : travail d'avant-garde

défaut:

Les priors géométriques pour 2D et 3D sont trop simples et peuvent introduire des erreurs importantes.

Le double canal n'est pas un calcul parallèle, et la prédiction du canal de la vue de dessus ne peut être effectuée qu'après la sortie du résultat final de la prédiction de la vue de l'image.

La ligne Anchor's Lane n'est pas parfaite, par exemple :

La topologie des séparateurs de voies est généralement plus complexe que celle des lignes médianes, et notre représentation ne peut pas capturer tous les cas.

Je pense personnellement qu'une ancre prédit l'axe de deux voies nécessite généralement une grande valeur de prédiction de décalage latéral, ce qui augmentera la difficulté de prédiction.

Les voies transversales perpendiculaires à la direction de la forme du véhicule ne peuvent pas être prédites.

Améliorations possibles :

Pour la représentation et l'efficacité des voies 3D, veuillez vous référer au Gen-3DLaneNet\3DLaneNet+ suivant, etc.

les références

Zhihu : Conduite autonome - Détection de ligne de voie - 3D-LaneNet : Détection de plusieurs voies 3D de bout en bout

CSDN : 3D-LaneNet : détection de plusieurs voies 3D de bout en bout

Arxiv : 3D-LaneNet : détection de plusieurs voies 3D de bout en bout

Interpolation spline

Je suppose que tu aimes

Origine blog.csdn.net/qq_37214693/article/details/130927403
conseillé
Classement