YOLOPv2 : Meilleur, plus rapide, plus fort pour la perception de conduite panoptique (2022)

YOLOP v2 arrive | YOLOv7 combine la version multitâche de YOLOP, surpassant YOLOP et HybridNets

Par rapport à YOLOP, les changements dans cet article sont les suivants : le réseau dorsal est remplacé par ELAN ; la perte de détection de la cible de trafic est CIoU et la perte focale ; la branche de segmentation de la zone carrossable est connectée à la couche B3 du réseau du cou, la perte CE ; la branche de segmentation de ligne de voie est connectée à Dans la couche B3, la fonction de perte est changée en Focal Loss+Dice Loss, et la déconvolution est utilisée à la place du suréchantillonnage du voisin le plus proche .

Résumé

Au cours de la dernière décennie, les méthodes d'apprentissage multitâches ont obtenu des résultats prometteurs dans la résolution des problèmes de perception de la conduite tout-en-un, offrant une grande précision et des performances efficaces. C'est devenu un paradigme populaire lors de la conception de réseaux pour des systèmes de conduite autonome pratiques avec des ressources de calcul limitées. Cet article présente un réseau d'apprentissage multi-tâches efficace qui peut effectuer simultanément des tâches telles que la détection d'objets de circulation, la segmentation de zones carrossables et la détection de lignes de voie. Notre modèle atteint de nouvelles performances de pointe (SOTA) en termes de précision et de vitesse sur l'ensemble de données difficile BDD100K. En particulier, le temps d'inférence est divisé par deux par rapport aux modèles SOTA précédents. Le code sera publié dans un avenir proche.

1. Introduction

Bien que la vision par ordinateur et l'apprentissage en profondeur aient fait d'énormes progrès, il reste difficile de déployer des modèles de perception visuelle (tels que la détection d'objets, la segmentation, la détection de voies, etc.) dans des applications de conduite autonome à faible coût. Des efforts récents ont été faits pour construire un système de perception de conduite panoramique robuste, qui est l'un des composants clés de la conduite autonome. Le système de perception de conduite panoramique aide le véhicule à comprendre pleinement l'environnement environnant grâce à des capteurs couramment utilisés. En raison du moindre coût, la détection et la segmentation d'objets par caméra sont plus populaires dans les applications pratiques. La détection d'objets joue un rôle important en fournissant des informations sur l'emplacement et la taille des obstacles à la circulation pour aider les voitures autonomes à prendre des décisions précises et opportunes pendant la phase de conduite. De plus, la segmentation des zones praticables et la détection des lignes de voie fournissent également des informations riches pour la planification des itinéraires et l'amélioration de la sécurité de conduite.

La détection d'objets et la segmentation sémantique sont deux sujets de recherche de longue date dans le domaine de la vision par ordinateur. Il existe une série d'excellents travaux pour la détection d'objets, tels que CenterNet [3], Faster R-CNN [18] et la série YOLO. Les réseaux de segmentation couramment utilisés sont généralement appliqués au problème de la segmentation des zones carrossables, tels que : UNET [10], segnet [1] et pspNet [28]. Alors que pour la détection/segmentation des lignes de voies, un réseau plus puissant est nécessaire pour mieux fusionner les fonctionnalités de haut niveau et les fonctionnalités de bas niveau, afin de prendre en compte les informations de contexte structurel global pour améliorer les détails de segmentation [14, 9, 24]. Cependant, il n'est généralement pas pratique d'exécuter des modèles distincts pour chaque tâche dans un système de conduite autonome en temps réel. Dans ce cas, les réseaux d'apprentissage multitâches [19, 15, 25, 20] offrent une solution potentielle pour réduire les coûts de calcul, où le réseau est conçu comme un modèle d'encodeur-décodeur, et les encodeurs sont différents. Les tâches sont effectivement partagées.

Dans cet article, après une étude approfondie des méthodes ci-dessus, nous proposons un réseau efficace pour l'apprentissage multi-tâches. Nous menons des expériences sur le jeu de données difficile BDD100K [26]. Notre modèle atteint les meilleures performances dans les trois tâches : 0,83 MAP sur la tâche de détection d'objet, 0,93 MIOU sur la tâche de segmentation de la région pilotable et 87,3 précision de détection de voie. Par rapport au scénario de référence, ces indicateurs sont nettement améliorés. De plus, nous augmentons le FPS à 91 sur NVIDIA TESLA V100, dépassant de loin YOLOP dans les mêmes conditions expérimentales. Cela démontre en outre que notre modèle peut réduire les coûts de calcul et garantir une prédiction en temps réel, tout en laissant place à des améliorations dans d'autres études expérimentales.

Les principaux apports de ce travail se résument comme suit :

Mieux : Nous proposons une structure de modèle plus efficace et développons des packages gratuits plus sophistiqués, par exemple, le prétraitement des données Mosaic et Mixup, et appliquons une nouvelle perte de mélange.

Plus rapide : nous avons mis en place une structure de réseau et une stratégie d'allocation de mémoire plus efficaces pour ce modèle.

Plus fort : notre modèle est formé sous une architecture réseau puissante, il peut donc bien se généraliser à divers scénarios tout en garantissant la vitesse.

2. Travaux connexes

Dans cette section, nous passons en revue les travaux connexes sur toutes les tâches dans le domaine de la perception panoramique de la conduite. Nous discutons également des techniques d'ensemble de modèles efficaces.

2.1. Détection de cible de trafic en temps réel

Les réseaux de détection d'objets actuels peuvent être divisés en réseaux à un étage et en réseaux à deux étages. Le réseau en deux étapes se compose d'un réseau de proposition de région et d'un réseau de réglage fin de localisation. Ces méthodes ont généralement une grande précision et des résultats robustes parmi différents réseaux de détection d'objets à un étage, et fonctionnent généralement plus rapidement, elles sont donc souvent préférées dans les applications pratiques en temps réel. La série YOLO adopte une conception avancée de détection d'objets en une seule étape, maintient des itérations actives et inspire nos expériences, y compris YOLO4, scaled-yolov4, yolop et yolov7). Dans cet article, nous utilisons une structure de réseau simple mais puissante, ainsi qu'un trick-for-free (BoF) efficace pour améliorer les performances de détection d'objets.

2.2. Zone carrossable et segmentation des voies

Des progrès remarquables ont été réalisés dans l'étude de la segmentation sémantique en utilisant des réseaux de neurones entièrement convolutionnels [2] au lieu des algorithmes de segmentation traditionnels. Grâce à des recherches approfondies dans ce domaine, les gens ont conçu des modèles plus performants, tels que la structure de codec classique d'Unet ; PSPNet utilise la mise en commun pyramidale pour extraire des fonctionnalités à différents niveaux, ce qui permet de diviser efficacement la zone de conduite. Pour la segmentation en ligne de voie, en raison des difficultés de ses caractéristiques spécifiques, telles que la forme de la ligne de voie trop fine et la répartition fragmentée, la segmentation en ligne de voie nécessite des capacités de détection minutieuses. SCNN [14] a proposé une convolution couche par couche pour transférer des informations entre les canaux de chaque couche. Enet-SAD adopte une méthode de modification de l'auto-attention, qui peut apprendre des fonctionnalités de bas niveau à partir de fonctionnalités de haut niveau, ce qui peut non seulement améliorer les performances, mais également conserver une conception légère pour le modèle.

2.3 Approche multitâche

2.4. Une série de techniques

Afin d'améliorer la précision des résultats de détection d'objets sans augmenter le coût de l'inférence, les chercheurs exploitent généralement le fait que la phase d'apprentissage et la phase de test sont séparées. L'augmentation des données consiste généralement à augmenter la diversité des images d'entrée, de sorte que le modèle de détection d'objet conçu puisse être suffisamment généralisé dans différents domaines. Par exemple, la mise en miroir d'image conventionnelle, les ajustements de la luminosité, du contraste, de la teinte, de la saturation et du bruit de l'image sont appliqués dans YOLOP. Ces méthodes d'augmentation de données sont des ajustements au niveau des pixels et préservent toutes les informations de pixels d'origine dans la zone ajustée. En outre, les auteurs de la série d'études YOLO ont également proposé une méthode d'augmentation des données de plusieurs images en même temps. Par exemple, l'amélioration de la mosaïque [6] sur quatre images assemblées peut augmenter la taille du lot et augmenter la diversité des données.

3. Méthodologie

Dans cette section, nous détaillons l'architecture réseau proposée pour l'apprentissage multi-tâches. Nous discutons de la manière de mettre en œuvre un réseau de rétroaction efficace pour accomplir conjointement des tâches telles que la détection d'objets de trafic, la segmentation de zones carrossables et la détection de lignes de voies de circulation. De plus, une stratégie d'optimisation du modèle est proposée.

3.1. Présentation générale

Nous concevons une architecture réseau plus efficace basée sur des travaux existants tels que YOLOP, HybridNet , etc. Notre modèle est inspiré par YOLOP, le travail HybridNet , nous conservons le concept de conception de base mais utilisons une colonne vertébrale solide pour l'extraction de fonctionnalités. De plus, contrairement aux travaux existants, nous exploitons les trois branches de la tête du décodeur pour effectuer des tâches spécifiques, au lieu d'exécuter les tâches de segmentation de la zone carrossable et de détection des lignes de voie dans la même branche. La principale raison de ce changement est que nous avons constaté que la tâche de segmentation de la zone pilotable et la tâche de détection de ligne de voie sont de difficulté complètement différente, ce qui signifie que les deux tâches ont des exigences différentes au niveau des fonctionnalités et doivent donc avoir des structures de réseau différentes. Les expériences de la section 4 montrent que la structure nouvellement conçue peut améliorer efficacement les performances globales de segmentation et introduire une surcharge négligeable sur la vitesse de calcul. La figure 2 montre l'organigramme global de la méthode de notre concept de conception.

3.2 Structure du réseau

L'architecture de réseau proposée est illustrée à la Fig. 1. Il se compose d'un encodeur partagé pour l'extraction de caractéristiques à partir d'images d'entrée et de trois décodeurs pour les tâches correspondantes. Cette section illustre la structure de réseau du modèle.

3.2.1 Encodeur partagé

Différent de YOLOP qui utilise CSPdaarknet comme épine dorsale, nous adoptons la conception d' ELAN pour utiliser les convolutions de groupe, afin que les poids des différentes couches puissent apprendre des fonctionnalités plus diverses. La figure 2 montre la configuration de la convolution de groupe.

Dans la partie du cou, les caractéristiques générées à partir de différentes étapes sont collectées et fusionnées par Concat. Semblable à YOLOP, nous appliquons un module Spatial Pyramid Pooling (SPP) [7] pour fusionner des fonctionnalités à différentes échelles, et un module Feature Pyramid Network (FPN) [11] pour fusionner des fonctionnalités à différents niveaux sémantiques.

3.2.2 En-tête de tâche

Comme mentionné ci-dessus, nous concevons trois têtes de décodeur indépendantes pour chaque tâche individuelle. Semblable à YOLOv7, nous adoptons un schéma de détection multi-échelle basé sur des boîtes d'ancrage. Tout d'abord, nous utilisons Path Augmentation Network (PAN) [12], qui est une structure ascendante, pour mieux extraire les caractéristiques de localisation. En combinant les fonctionnalités de PAN et FPN, nous sommes en mesure de fusionner des informations sémantiques avec ces fonctionnalités de position, puis d'effectuer une détection directement sur la carte de fonctionnalités fusionnées à plusieurs échelles dans PAN. Chaque point caractéristique de la carte de caractéristiques multi-échelles se verra attribuer trois boîtes d'ancrage avec des rapports d'aspect différents, et la tête de détection prédira le décalage de la position et la hauteur et la largeur mises à l'échelle, ainsi que la probabilité de classe et la confiance du premier plan.

La segmentation de la zone carrossable et la segmentation des lignes de voie de ce procédé sont effectuées par un réseau de tête séparé dans différentes structures de réseau. Contrairement à YOLOP, mais à la place, les caractéristiques pour les deux tâches proviennent de la dernière couche du cou, nous utilisons des caractéristiques de différents niveaux sémantiques. Nous constatons que la segmentation de la zone pilotable ne nécessite pas de fonctionnalités extraites de réseaux plus profonds que les deux autres tâches. Ces caractéristiques plus profondes n'améliorent pas les performances prédictives, mais augmentent la difficulté de convergence du modèle pendant l'apprentissage. Par conséquent, les branches de la tête de segmentation de la zone carrossable sont connectées avant le module FPN. De plus, pour compenser les pertes possibles dues à cette variation, une couche de suréchantillonnage supplémentaire est appliquée, c'est-à-dire qu'un total de quatre suréchantillonnages d'interpolation au voisin le plus proche sont appliqués à l'étage du décodeur.

Dans la segmentation des lignes de voie, l'entrée de la branche de segmentation est la dernière couche de FPN , de sorte que des caractéristiques sémantiques plus profondes peuvent être obtenues, et cette structure peut améliorer la précision de détection des lignes de voie fines et difficiles à détecter. De plus, des convolutions transposées sont utilisées dans la branche de détection de ligne de voie pour améliorer encore les performances de détection.

3.2.3 Conception du BOF

Sur la base de la conception de YOLOP, nous retenons le réglage de la fonction de perte de la partie détection. Ldet est la perte de détection, qui est la somme pondérée de la perte de catégorie, de la perte de cible et de la perte de limite, comme indiqué dans l'équation 1.

De plus, Lclass et Lobj utilisent également Focal Loss pour résoudre le problème du déséquilibre de l'échantillon. Lclass est utilisé pour la classification pénalisée et Lobj est utilisé pour prédire la confiance de premier plan. Lbox reflète la distance d'IoU, le rapport d'aspect et la similarité d'échelle entre le résultat prédit et la vraie valeur . Un réglage approprié du poids de perte peut garantir efficacement les résultats de la détection multitâche. La segmentation de la zone pilotable à l'aide de la perte d'entropie croisée vise à minimiser l'erreur de classification entre la sortie du réseau et la vérité terrain. Pour la segmentation des lignes de voies , nous utilisons la perte focale au lieu de la perte d'entropie croisée. Parce que pour les tâches de classification difficiles telles que la détection de lignes de voie, l'utilisation de la perte focale peut concentrer efficacement le modèle sur des échantillons difficiles, améliorant ainsi la précision de la détection. De plus, nous implémentons une perte hybride consistant en une perte de dés et une perte focale [29] dans nos expériences. La perte de dés peut apprendre la distribution des classes et atténuer le problème des voxels déséquilibrés. Focal Loss a la capacité de forcer le modèle à apprendre des échantillons difficiles. La perte finale peut être calculée selon l'équation 2 comme suit.

où γ est le compromis entre la perte de dés et la perte focale, C est le nombre total de catégories, par conséquent, C est défini sur 2 car il n'y a que 2 catégories dans la segmentation de la zone pilotable et la segmentation des lignes de voie.

Il convient de mentionner que nous introduisons les stratégies d'augmentation de Mosaic et Mixup [27] dans notre méthode d'apprentissage multi-tâches, ce qui peut améliorer les performances du modèle dans les trois tâches.

4. Testez

Cette section décrit la configuration de l'ensemble de données et la configuration des paramètres pour nos expériences. Toutes les expérimentations de cet article sont basées sur l'environnement de configuration de la carte graphique TESLA V100 et Torch 1.10 .

4.1 Jeu de données

Par rapport aux ensembles de données Cityscapes et Camvid, BDD100K contient plus d'échantillons et de scènes, qui sont marqués pour les conditions météorologiques, les emplacements des scènes et la clarté Comme d'autres études, nous divisons l'ensemble de données selon le rapport de 7: 1: 2 sont l'ensemble de formation, l'ensemble de validation et ensemble de test.

4.2. Programme de formation

La stratégie de «recuit cosinus» est utilisée pour ajuster le taux d'apprentissage pendant l'entraînement, où le taux d'apprentissage initial est fixé à 0,01, et l'entraînement d'échauffement est utilisé dans les 3 premières étapes [13]. De plus, la quantité de mouvement et la décroissance du poids sont respectivement fixées à 0,937 et 0,005. Et le nombre total d'époques d'entraînement est de 300. Nous redimensionnons les images dans le jeu de données BDD100k de 1280 × 720 × 3 à 640 × 640 × 3 dans la phase d'apprentissage et de 1280 × 720 × 3 à 640 × 384 × 3 dans la phase de test.

4.3 Résultats

Dans cette section, nous comparons quantitativement et qualitativement les performances de l'algorithme proposé avec d'autres modèles existants.

4.3.1 Paramètres du modèle et vitesse d'inférence

Le tableau 1 montre la comparaison entre deux modèles multitâches SOTA et notre modèle. Les résultats montrent que notre modèle a une structure de réseau plus forte et plus de paramètres, mais est plus rapide. Cela bénéficie de la conception de réseau efficace proposée et de la stratégie sophistiquée d'allocation de mémoire. Nous effectuons tous les tests dans la même configuration expérimentale et les mêmes paramètres d'évaluation.

4.3.2 Détection d'objets de trafic

Comme YOLOP, mAP50 et le rappel sont utilisés ici comme mesures d'évaluation. Notre modèle atteint une mAP50 et un rappel plus élevés, comme le montre le tableau 2.

4.3.3 Segmentation de la zone carrossable

Le tableau 3 illustre les résultats expérimentaux sur la segmentation des régions pilotables et utilise MIoU pour évaluer les performances de segmentation de différents modèles. Notre modèle atteint les meilleures performances avec 0,93 MioU.

4.3.4 Détection de ligne de voie

Les voies du jeu de données BDD100K ont deux lignes d'annotations, un prétraitement est donc nécessaire. Tout d'abord, nous calculons la ligne centrale à partir des deux lignes d'annotation, puis dessinons un masque de voie d'une largeur de 8 pixels pour l'apprentissage, tout en gardant les lignes de voie du jeu de test à 2 pixels de large. Nous utilisons la précision et l'IoU des voies comme mesures d'évaluation. Comme le montre le tableau 4, notre modèle obtient la plus grande précision.

4.3.5 Discussion visuelle

Les figures 3 et 4 montrent une comparaison visuelle de YOLOP, HybirdNet et notre YOLOPv2 sur le jeu de données BDD100K. La figure 3 montre les résultats pendant la journée. La colonne de gauche répertorie trois cas de YOLOP, la première scène avec quelques erreurs et des régions pilotables manquantes, et la deuxième scène avec des boîtes englobantes redondantes de petits objets et une segmentation de région pilotable manquante. Dans le troisième cas, une détection manquante d'une voie est trouvée. La colonne du milieu montre trois scénarios de HybirdNet, le premier scénario a une prédiction de voie discontinue, le deuxième scénario de HybirdNet a le problème de détection répétée de petits véhicules et de détection de voie manquante, et le troisième scénario a une fausse détection de véhicules et de voies. La colonne de droite montre nos résultats YOLOPv2, qui montrent que notre modèle offre de meilleures performances sur divers scénarios.

 

4.3.6 Expérience d'ablation

Nous avons proposé quelques méthodes améliorées et effectué des expériences correspondantes, et leurs résultats sont présentés dans le tableau 5.

5. Conclusion

Dans cet article, nous proposons un réseau d'apprentissage en profondeur multitâche efficace de bout en bout qui peut effectuer simultanément la détection des objets de la circulation, la segmentation des zones carrossables et la segmentation des lignes de voie. YOLOPv2 atteint de nouvelles performances de pointe sur l'ensemble de données difficile BDD100k et surpasse considérablement les modèles existants en termes de vitesse et de précision.

Je suppose que tu aimes

Origine blog.csdn.net/Jad_Goh/article/details/127704342
conseillé
Classement