J'ai essayé d'utiliser YOLO v4 sur Ubuntu et ROS

Aperçu

Récemment, il y avait quelque chose qui s'appelait YOLOv5 (bien qu'il y ait des avantages et des inconvénients), j'ai donc décidé de passer de YOLOv3 à YOLOv4, qui est un peu obsolète, mais je n'ai pas trouvé d'article de configuration dans l'environnement ROS (Robot Operating System). Je vais le résumer dans un mémorandum.

Résumé de chaque version de YOLO (Qiita)

Environnement d'exécution

Cette fois, nous avons confirmé l'opération sur Ubuntu 16.04 et Ubuntu 18.04. Les détails sont ci-dessous.

OS Ubuntu16.04.6 LTS Ubuntu18.04.5 LTS
CPU Intel Core i7-8700 Intel Core i5-6500
GPU Geforce GTX 1080 Ti Geforce GTX 960
ROS Kinetic 1.12.14 Merodic 1.14.9
Nvidia Driver 450.51.06 440.100
CUDA(toolkit) 8.0 10.2
cuDNN 7 7

Cette fois, nous partirons du principe que l'environnement ci-dessus est en place.

Préparation

Actuellement, évacuez le ** package darknet_ros ** sous ** ~ / catkin_ws / src / **. Créez un répertoire de sauvegarde (YOLOv3 cette fois) dans votre répertoire personnel et déplacez-le là.

Terminal


#Veuillez exécuter ligne par ligne

$ cd
$ mkdir YOLOv3
$ cd ~/catkin_ws/src
$ mv darknet_ros ~/YOLOv3

Ensuite, clonez le package ** darknet_ros ** pour YOLO v4 en vous référant à ce qui suit. YOLO V4 for darknet_ros Lorsque j'ai cloné avec la commande écrite dans la destination du lien, ** package yolov4-for-darknet_ros **, un package d'un niveau supérieur à darknet_ros, a été installé, et dans mon cas catkin_make n'a pas réussi. Je l'ai changé pour le suivant et cela a fonctionné.

Terminal


$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/Tossy0423/darknet_ros.git
$ cd ..
$ catkin_make

Si vous réussissez, vous avez terminé.

Supplément

Ce ** darknet_ros utilise ** uvc_camera ** comme pilote pour la ** caméra USB. Dans mon cas, j'utilise ** usb_cam ** comme pilote, j'ai donc dû changer le nœud de caméra reçu par darknet lors des tests.

Changer avant


1 subscribers:
2
3  camera_reading:
4    topic: /camera/rgb/image_row
5    queue_size: 1

Après le changement


1 subscribers:
2
3  camera_reading:
4    topic: /usb_cam/image_row
5    queue_size: 1

tester

J'ai essayé un test de fonctionnement.

Terminal


#Exécuter sur deux terminaux

# darknet_Lancer le nœud ros
$ roslaunch darknet_ros yolov4.launch

#Lancer le nœud de caméra
$ roslaunch usb_cam usb_cam-test.launch

yolov4.png

J'ai pu l'afficher joliment. c'est tout.

Recommended Posts

J'ai essayé d'utiliser YOLO v4 sur Ubuntu et ROS
J'ai présenté WSL2 + Ubuntu à Window10 et essayé d'utiliser GDC, DMD, LDC
J'ai essayé d'utiliser Junit avec Mac VScode Maven
[Android] J'ai quitté SQLite et essayé d'utiliser Realm
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser TestNG
J'ai essayé d'utiliser Galasa
J'ai essayé d'utiliser "nifty cloud mobile backend" et l'authentification "Firebase" sur Kotlin + Android
J'ai installé CentOS 8 sur Windows 10 en utilisant VirtualBox et Vagrant
J'ai essayé d'utiliser azure cloud-init
J'ai essayé d'utiliser Apache Wicket
J'ai essayé d'utiliser Java REPL
J'ai essayé un test unitaire de l'application Rails en utilisant RSpec et FactoryBot
J'ai essayé d'utiliser anakia + Jing maintenant
Installez JDK et JRE sur Ubuntu 16.10
J'ai essayé d'utiliser Spring + Mybatis + DbUnit
J'ai essayé d'utiliser JOOQ avec Gradle
J'ai essayé d'intégrer parfaitement Docker et Maven / Netbean en utilisant Jib
J'ai essayé d'utiliser l'API Java8 Stream
J'ai essayé d'utiliser JWT en Java
Activer les SDK Java 8 et Java 11 sur Ubuntu
[Android] J'ai essayé d'utiliser la disposition du coordinateur.
J'ai essayé d'installer CentOS 8 sur ESXi 6.7
J'ai essayé d'utiliser le conteneur Pari gp
J'ai essayé d'afficher le calendrier sur la console Eclipse en utilisant Java.
J'ai essayé de sauvegarder des programmes MSX à partir d'une cassette sur Ubuntu
J'ai essayé d'utiliser WebAssembly Stadio (version 2018/4/17)
J'ai essayé d'utiliser le mémo Java LocalDate
Installez Docker sur Ubuntu et configurez la connexion à distance à l'aide de tls
J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé de créer mon propre guide de transfert en utilisant OpenTrip Planner et GTFS
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé d'utiliser Realm avec Swift UI
J'ai essayé d'utiliser l'outil de diagnostic Java Arthas
J'ai essayé d'utiliser UICollectionViewListCell ajouté à partir de Xcode12.
J'ai essayé d'utiliser Scalar DL avec Docker
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
C'est nouveau, mais j'ai essayé d'utiliser Groonga
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
J'ai essayé de construire AdoptOpenjdk 11 sur CentOS 7
Exécutez Ubuntu + ROS avec Docker sur Mac
J'ai créé un environnement Java EE sur AWS et essayé d'exécuter une application Web
[JDBC ③] J'ai essayé d'entrer à partir de la méthode principale en utilisant des espaces réservés et des arguments.
J'étais accro à l'utilisation de RXTX avec Sierra
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
Installez java et android-sdk sur Mac en utilisant homebrew
J'ai essayé de mettre facilement Java sur mon Mac
Construire et installer la version de développement Wireshark (3.3.1) sur Ubuntu
Utilisation de JUnit à partir de la ligne de commande sur Ubuntu
Publication externe et connexion de MySQL sur Ubuntu