J'ai eu la chance de commander chez Switch Science à la date de sortie et il était disponible immédiatement! Je l'ai immédiatement installé sur le rail en plastique et j'ai réussi à bien le faire fonctionner. Nous avons publié le code pour le montage sur Plarail et la télécommande avec Wifi sur le Git suivant, alors jetez un œil si vous êtes intéressé. https://github.com/Kumapapa2012/Raspberry-Pi-Zero-on-PLA-RAIL-3rd
À propos de la vue de dessus du sujet principal. La vue de dessus est une technologie qui donne à l'image de la vue de la caméra l'impression qu'elle regardait directement d'en haut. Il est également installé dans la voiture d'une certaine entreprise.
Quand on pense à la conduite automatique en attachant une caméra à quelque chose qui bouge, non limité aux rails en plastique, je pense que je suis assez inquiet de savoir comment le faire avec une caméra monoculaire. Par exemple, comment devez-vous déterminer votre propre direction de déplacement et votre vitesse? Dois-je trouver un point caractéristique entre une image à un moment donné et une image après une certaine période de temps, et estimer mon propre mouvement à partir de la position de mouvement, du rapport d'agrandissement / réduction, etc.? etc. .. .. Pendant ce temps, j'ai trouvé un article que Top View pourrait facilement résoudre le problème. [^ 1]
La procédure est simple.
Prenez une photo d'un carré ou d'un rectangle approprié aligné avec le bas de l'écran et le centre de la gauche et de la droite, et obtenez les coordonnées des sommets sur l'écran. L'image est la suivante. Cette image est prise avec la lettre "A" dans un carré de 4 cm. Dans ce cas, les coordonnées sont les suivantes dans l'ordre supérieur gauche, supérieur droit, inférieur droit, inférieur gauche. T_L=(168,260) T_R=(344,260) B_R=(408,360) B_L=(72,360)
Déterminez la taille de l'image lors de la conversion en TopView, la façon dont les carrés ou les rectangles doivent être affichés dans l'image et déterminez les coordonnées des sommets. Il utilise la plus longue ou la base de l'image originale «A» et calcule les coordonnées de sorte qu'elles soient toutes des carrés de la même longueur. Consultez mon bloc-notes [^ 2] pour plus de détails.
Utilisez cv2.getPerspectiveTransform () pour obtenir la matrice de transformation en utilisant chaque coordonnée de sommet. Cette matrice de conversion transforme le trapézoïdal «A» de la caméra en le carré «A» vu de dessus. Peut-être que cette matrice de conversion devrait être calculée une fois comme un terme constant.
4.cv2.warpPerspective () Applique la matrice de conversion obtenue en 3. à l'image de la caméra.
Vous avez maintenant une vue de dessus.
Nous avons mis en ligne une vidéo de l'opération réelle sur Youtube. Dans cette vidéo, l'effet Top View est appliqué à l'image de la caméra extraite par l'algorithme "Canny". Bien qu'il soit un peu déformé, "A" apparaît sous une forme à peu près carrée.
Bien qu'elle doive encore être ajustée, la vue de dessus fera du problème de conscience environnementale un problème de 3 à 2 dimensions et les exigences du classificateur seront probablement beaucoup plus simples. Si le rail peut être identifié à partir de la vue de dessus et que la voie peut être suivie, il semble facile de détecter les obstacles et de s'arrêter, par exemple.
Line detection autopilot using Python + OpenCV. Canny Edge Detection Affichage en ligne des images OpenCV dans Jupyter
Recommended Posts