Maison > Article > Périphériques technologiques > Une brève analyse de la technologie de correction de la distorsion de l'image sur les difficultés du traitement frontal de détection de voiture intelligente
Nous savons que lors de la prise d'images, la position idéale de l'appareil photo est perpendiculaire au plan de prise de vue, afin de garantir que l'image puisse être reproduite selon la proportion géométrique d'origine. Cependant, dans l'application réelle des voitures intelligentes, en raison des limites de la structure de la carrosserie de la voiture intelligente, le contrôle de la carrosserie nécessite que la caméra ait une certaine distance de prévisualisation. Les surfaces de balayage horizontales et verticales de la caméra s'étendent généralement en forme d'éventail. et la caméra est généralement en contact avec le sol. Installez-la en biais. L'existence de cet angle provoquera une certaine distorsion de l'image au bord de l'image. Le résultat de la distorsion est une série de problèmes similaires dans le processus de post-traitement de l'image :
1) Les lignes verticales sont photographiées comme des lignes diagonales, ce qui entraîne des erreurs de calcul de pente
2) La distorsion peut provoquer des virages distants ; la compression entraîne des erreurs de calcul de courbure, etc. ;
3) Pour l'état du véhicule sur la voie latérale, de graves distorsions se produisent pendant le processus de reconnaissance, et il y aura des problèmes de non-concordance lors du post-traitement
Comme ce qui précède ; Des problèmes peuvent exister dans l'ensemble de la perception de l'image. Si la distorsion n'est pas gérée correctement, elle entraînera des risques plus importants pour la qualité globale de l'image et la reconnaissance ultérieure du réseau neuronal. Afin de répondre aux exigences de contrôle en temps réel des voitures intelligentes, il est généralement nécessaire de proposer des algorithmes de correction correspondants pour la distorsion de l'image de la caméra dans des scénarios d'application pratiques.
La distorsion de la caméra comprend la distorsion radiale, la distorsion tangentielle, la distorsion centrifuge, la distorsion à prisme fin, etc. La distorsion de la caméra sur les voitures intelligentes comprend principalement la distorsion radiale et la distorsion tangentielle. distorsion.
La distorsion radiale est divisée en distorsion en barillet et distorsion en coussinet.
Habituellement, la caméra à vision panoramique utilisée dans notre système de stationnement intelligent utilise une prise de vue grand angle, et son type de distorsion correspondant est généralement une distorsion radiale. La principale cause de distorsion radiale est le changement irrégulier de la courbure radiale de la lentille, qui provoquera la distorsion de l'image. La caractéristique de cette distorsion est que le point principal est le centre et s'éloigne le long de la direction radiale. c'est le cas, plus la distance est grande, plus la quantité de déformation produite est importante. Une distorsion radiale sévère d'un rectangle doit être corrigée pour obtenir une image de lentille linéaire idéale avant de pouvoir entrer dans le processus de traitement principal.
Les caméras de vue avant, latérale et arrière généralement utilisées dans les systèmes de conduite utilisent des caméras de traitement CMOS générales pour la prise de vue, et le processus d'installation de la caméra de vue avant peut ne pas garantir que l'objectif est strictement parallèle à la surface d'imagerie. Dans le même temps, il peut être dû à un défaut de fabrication que l'objectif n'est pas parallèle au plan d'imagerie, ce qui entraîne une distorsion tangentielle. Ce phénomène se produit généralement lorsque l'imageur est fixé à la caméra.
Il existe 5 paramètres de distorsion dans les modèles de distorsion radiale et de distorsion tangentielle dans Opencv, ils sont disposés dans une matrice 5*1, comprenant k1, k2, p1, p2, k3 dans l'ordre. est souvent défini sous la forme d’une matrice Mat.
Pour la correction de la distorsion, ces 5 paramètres sont les 5 coefficients de distorsion de la caméra qui doivent être déterminés lors du calibrage de la caméra. Les paramètres k1, k2 et k3 sont appelés paramètres de distorsion radiale, où k3 est un paramètre facultatif. Pour les caméras présentant une distorsion importante (telles que les caméras oculaires), il peut également y avoir k4, k5 et k6. La distorsion tangentielle peut être représentée par deux paramètres p1 et p2 : Jusqu'à présent, un total de cinq paramètres ont été obtenus : K1, K2, K3, P1, P2. Ces cinq paramètres sont nécessaires pour éliminer la distorsion et sont appelés vecteurs de distorsion, également appelés. paramètres externes de la caméra.
Par conséquent, après avoir obtenu ces 5 paramètres, la déformation de l'image causée par la distorsion de l'objectif peut être corrigée. La figure suivante montre l'effet après correction en fonction du coefficient de distorsion de l'objectif :
Trouvez cela à travers 5 distorsions. coefficients La formule de position correcte du point sur le plan du pixel est la suivante :
Le point déformé peut être projeté sur le plan du pixel via la matrice de paramètres interne pour obtenir la position correcte (u, v) du point sur l'image :
est différente de la méthodologie du modèle de caméra. La méthode de dédistorsion de l'image consiste à compenser les défauts de l'objectif, à effectuer une dédistorsion radiale/tangentielle sur l'image d'origine, puis à utiliser le modèle de caméra. La méthode de traitement de la distorsion de l’image implique principalement le choix du modèle de caméra pour la projection de l’image.
Les méthodes typiques de projection de modèles de caméra incluent le modèle sphérique et le modèle cylindrique.
1. Correction de la distorsion de l'imagerie de la caméra Fisheye
Habituellement, les objectifs fisheye produisent une grande déformation. Par exemple, pendant le processus d'imagerie des caméras ordinaires, les lignes droites projetées sur le plan de l'image sont toujours des lignes droites. une certaine taille, mais l'image prise par la caméra fisheye deviendra une ligne droite très grande et longue sur le plan de l'image, et même la détection de ligne droite sera projetée à l'infini dans certaines scènes, de sorte que le modèle sténopé ne peut pas modéliser le fisheye. lentille.
Afin de projeter la plus grande scène possible dans un plan d'image limité, la première version de l'objectif fisheye est composée de plus d'une douzaine de lentilles différentes. Au cours du processus d'imagerie, la lumière incidente est réfractée à différents degrés et projetée. sur La taille limitée du plan d'imagerie permet à l'objectif fisheye d'avoir un champ de vision plus large par rapport aux objectifs ordinaires.
La recherche montre que le modèle suivi par les caméras fisheye lors de l'imagerie est approximativement le modèle de projection de sphère unitaire. Ici, afin de mieux s'adapter au processus de dérivation du modèle de sténopé de la caméra, la méthode courante consiste à utiliser le processus de projection sur le modèle de caméra sphérique.
L'analyse du processus d'imagerie de la caméra fisheye peut être divisée en deux étapes :
La figure ci-dessous montre le processus de traitement d'image d'une caméra fisheye à une caméra sphérique dans un système de conduite intelligent. Supposons que le point dans le système de coordonnées de la caméra soit X=(x,y,z) et que la coordonnée du pixel soit x=(u,v). Ensuite, son processus de projection s'exprime comme suit :
1) La première étape consiste à utiliser une caméra pour collecter des points tridimensionnels dans le système de coordonnées mondial et projeter les points d'imagerie dans le système de coordonnées de l'image. sur la sphère unitaire normalisée sur les coordonnées ; la sphère unitaire et normaliser la sphère est de 1 unité :
4) Transformez le modèle de projection sphérique en modèle sténopé pour obtenir les coordonnées du point principal correspondant. Le modèle de système de coordonnées de caméra standard correspondant peut être établi sur la base. sur les coordonnées du point principal :
2. Projection de coordonnées cylindriques .
Pour les terminaux tels que les caméras frontales et latérales, les images capturées produisent généralement principalement une distorsion tangentielle. Pour la distorsion tangentielle, il est généralement recommandé d'utiliser un modèle de caméra cylindrique. Son avantage est que l'utilisateur peut changer arbitrairement de ligne de visée dans une plage de 360 degrés dans une vue panoramique telle qu'une caméra fisheye, et peut également changer de perspective. sur une ligne de visée pour obtenir l'effet de se rapprocher ou de s'éloigner, en même temps, les images panoramiques cylindriques sont également plus faciles à traiter, car la surface cylindrique peut être coupée le long de l'axe et dépliée sur un plan. Les méthodes peuvent souvent être utilisées directement. Les images panoramiques cylindriques ne nécessitent pas un calibrage très précis de la caméra. Les utilisateurs disposent d'un angle de vision de 360 degrés dans la direction horizontale et peuvent également apporter certains changements d'angle de vision dans la direction verticale, mais la plage d'angle est limitée puisque la qualité d'image du modèle cylindrique est uniforme et les détails sont plus réalistes. il a une gamme d’applications plus large.
De manière générale, les avantages significatifs du panorama cylindrique peuvent être résumés comme les deux points suivants :
1) La méthode d'acquisition de sa photo unique est plus simple que la méthode d'acquisition de forme cubique et de forme sphérique. Les caméras ordinaires montées sur véhicule (telles que les caméras frontales et latérales) peuvent essentiellement obtenir des images originales.
2) Le panorama cylindrique est facilement agrandi en une image rectangulaire, qui peut être directement stockée et accessible dans les formats d'image informatiques couramment utilisés. Le panorama cylindrique permet à l'angle de rotation de la ligne de mire du participant d'être inférieur à 180 degrés dans la direction verticale, mais dans la plupart des applications, une scène panoramique à 360 degrés dans la direction horizontale est suffisante pour exprimer des informations spatiales.
Nous nous concentrons ici sur l'algorithme d'utilisation d'une caméra cylindrique pour corriger la distorsion de l'image originale. En fait, il s'agit d'un processus d'obtention de la relation de cartographie entre la caméra virtuelle et la caméra d'origine. . La caméra virtuelle fait ici référence à la relation de cartographie entre les images réelles et les images cylindriques générées.
La figure ci-dessous montre le processus de traitement d'image de conversion de la prise de vue d'une caméra de voiture ordinaire en une caméra cylindrique dans un système de conduite intelligent. Parmi eux, l'essence de l'obtention de l'image de la caméra virtuelle est de trouver la relation de mappage entre la caméra virtuelle et la caméra d'origine. Le processus général est le suivant :
Tout d'abord, la vidéo originale recto/latérale. L'image peut être définie comme l'image cible dst img ; où le point principal (u, v) sur la carte cible est le point de base pour la transformation de la rétroprojection de la 2D à la 3D vers la carte des coordonnées de la caméra cible. La caméra cible peut reconstruire l'image cible. la position du point dans le système de coordonnées mondial (x, y, z) ; ensuite, l'image originale correspondante de la caméra Src sous la caméra virtuelle est obtenue grâce à l'algorithme de transformation de projection dans le système de coordonnées tridimensionnelles ; obtenue en effectuant une transformation de projection 3D en 2D sur l'image originale de la caméra. L'image Src img (u', v'), cette image peut être reconstruite pour restaurer l'image originale dst img sous la caméra virtuelle.
On peut voir à partir du modèle de caméra cylindrique que la formule de transformation du modèle de caméra cylindrique en modèle de caméra sténopé est la suivante :
Dans la formule ci-dessus, u et v représentent le Points principaux du plan de la caméra sténopé (également appelés coordonnées dans le système de coordonnées des pixels), fx, fy, cx, cy représentent les deux paramètres de déviation de l'axe de coordonnées provoqués par des erreurs de fabrication ou d'installation. Le point principal est multiplié par le rayon distance dans le système de coordonnées cylindriques pour obtenir la projection correspondante sur les coordonnées cylindriques.
ρ est utilisé pour effectuer une approximation polynomiale. Le processus de la caméra cylindrique 2D->espace 3D est incertain lorsque Tdst=Tsrc, lorsque ρ prend des valeurs différentes, à partir de l'espace 3D->caméra latérale/avant. de la caméra virtuelle obtenue en 2D est la même si Tdst! = Tsrc, l'image de la caméra virtuelle obtenue change avec ρ. Pour une position 2D cylindrique donnée (u, v), dans une condition ρ donnée, les coordonnées de la caméra 3D xc, yc, zc dans le système de coordonnées cylindriques de la caméra dst peuvent être calculées selon la formule ci-dessus.
Φ est utilisé pour effectuer une approximation polynomiale Φ est l'angle entre la lumière incidente et le plan image. Cette valeur est très similaire aux paramètres d'une caméra fisheye.
La prochaine étape est le processus de transformation de la caméra, qui peut être résumé comme suit.
Réglez d'abord la résolution de l'image de la caméra virtuelle sur la résolution de la carte IPM à vol d'oiseau que vous souhaitez obtenir ; le point principal de l'image de la caméra virtuelle est le centre de la résolution de la carte IPM (en supposant généralement qu'aucun décalage n'est défini). ). Deuxièmement, définissez la position fx, fy et de la caméra virtuelle. La hauteur est définie sur 1, ce qui correspond à la méthode de réglage de fx et fy. Le décalage de y peut être modifié en fonction des besoins. À partir de là, les coordonnées de la caméra dst (xc, yc, zc) dst peuvent être converties en coordonnées vcs du système de coordonnées d'observation en fonction des paramètres externes (R, T) dst de la caméra dst de la caméra cible, puis combinées avec l'externe. paramètres de la caméra src (R, T) src, convertissez les coordonnées VCS en coordonnées de la caméra src (xc, yc, zc) src.
Étant donné que les caméras montées sur véhicule sont généralement équipées de différents objectifs d'imagerie, cette structure multi-éléments rend impossible l'utilisation simple du modèle de caméra sténopé d'origine pour analyser la relation de réfraction. de caméras embarquées sur véhicule. Surtout pour les caméras fisheye, en raison de la nécessité d'élargir la plage de vision, la distorsion de l'image causée par cet indice de réfraction est encore plus évidente. Dans cet article, nous nous concentrons sur la méthode de dé-distorsion adaptée à différents types de capteurs visuels dans les systèmes de conduite intelligents. Nous projetons principalement l'image dans le système de coordonnées mondiales dans le système de coordonnées sphériques virtuel et le système de coordonnées cylindrique virtuel par projection, ce qui permet en s'appuyant sur la transformation de caméra 2D -> 3D pour supprimer la distorsion. Certains algorithmes ont été améliorés sur la base d'une pratique à long terme par rapport à l'algorithme de dédistorsion classique.
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!