Ich habe versucht, YOLO v4 unter Ubuntu und ROS zu verwenden

Überblick

Kürzlich kam YOLOv5 heraus (obwohl es Vor- und Nachteile zu geben scheint), daher entschied ich mich, von YOLOv3 zu YOLOv4 zu wechseln, was etwas veraltet ist, aber ich konnte keinen Setup-Artikel in der ROS-Umgebung (Robot Operating System) finden. Ich werde es als Memorandum zusammenfassen.

Zusammenfassung jeder Version von YOLO (Qiita)

Ausführungsumgebung

Dieses Mal haben wir den Betrieb unter Ubuntu 16.04 und Ubuntu 18.04 bestätigt. Details sind unten.

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

Dieses Mal gehen wir davon aus, dass die oben genannte Umgebung vorhanden ist.

Vorbereitung

Evakuieren Sie derzeit das Paket ** darknet_ros ** unter ** ~ / catkin_ws / src / **. Erstellen Sie ein Sicherungsverzeichnis (diesmal YOLOv3) in Ihrem Ausgangsverzeichnis und verschieben Sie es dorthin.

Terminal


#Bitte Zeile für Zeile ausführen

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

Klonen Sie anschließend das Paket ** darknet_ros ** für YOLO v4, indem Sie auf Folgendes verweisen. YOLO V4 for darknet_ros Als ich mit dem im Linkziel geschriebenen Befehl geklont habe, wurde das Paket ** yolov4-for-darknet_ros ** installiert, ein Paket, das eine Ebene höher als darknet_ros ist, und in meinem Fall hat catkin_make nicht bestanden. Ich habe es wie folgt geändert und es hat funktioniert.

Terminal


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

Wenn Sie Pässe machen, sind Sie fertig.

Ergänzung

Dieses ** darknet_ros verwendet ** uvc_camera ** als Treiber für die ** USB-Kamera. In meinem Fall verwende ich ** usb_cam ** als Treiber, daher musste ich den Kameraknoten ändern, den Darknet beim Testen erhalten hat.

Vorher ändern


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

Nach der veränderung


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

Prüfung

Ich habe einen Betriebstest versucht.

Terminal


#Laufen Sie auf zwei Terminals

# darknet_Starten Sie den Ros-Knoten
$ roslaunch darknet_ros yolov4.launch

#Starten Sie den Kameraknoten
$ roslaunch usb_cam usb_cam-test.launch

yolov4.png

Ich konnte es schön anzeigen. das ist alles.

Recommended Posts

Ich habe versucht, YOLO v4 unter Ubuntu und ROS zu verwenden
Ich habe WSL2 + Ubuntu in Window10 eingeführt und versucht, GDC, DMD, LDC zu verwenden
Ich habe versucht, Junit mit Mac VScode Maven zu verwenden
[Android] Ich habe SQLite beendet und versucht, Realm zu verwenden
Ich habe versucht, Gson zu benutzen
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
Ich habe versucht, "nifty cloud mobile backend" und "Firebase" -Authentifizierung auf Kotlin + Android zu verwenden
Ich habe CentOS 8 unter Windows 10 mit VirtualBox und Vagrant installiert
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe einen Unit-Test der Rails-Anwendung mit RSpec und FactoryBot versucht
Ich habe jetzt versucht, Anakia + Jing zu verwenden
Installieren Sie JDK und JRE unter Ubuntu 16.10
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe versucht, JOOQ mit Gradle zu verwenden
Ich habe versucht, Docker und Maven / Netbean mit Jib gut zu integrieren
Ich habe versucht, die Java8 Stream API zu verwenden
Ich habe versucht, JWT in Java zu verwenden
Aktivieren Sie Java 8- und Java 11-SDKs unter Ubuntu
[Android] Ich habe versucht, das Koordinatorlayout zu verwenden.
Ich habe versucht, CentOS 8 unter ESXi 6.7 zu installieren
Ich habe versucht, Pari GP Container zu verwenden
Ich habe versucht, den Kalender mit Java auf der Eclipse-Konsole anzuzeigen.
Ich habe versucht, MSX-Programme von einer Kassette unter Ubuntu zu sichern
Ich habe versucht, WebAssembly Stadio (Version 2018/4/17) zu verwenden.
Ich habe versucht, Java Memo LocalDate zu verwenden
Installieren Sie Docker unter Ubuntu und richten Sie die Remoteverbindung mit tls ein
Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, mit OpenTrip Planner und GTFS eine eigene Übertragungsanleitung zu erstellen
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, Realm mit Swift UI zu verwenden
Ich habe versucht, das Java-Diagnosetool Arthas zu verwenden
Ich habe versucht, UICollectionViewListCell zu verwenden, das von Xcode12 hinzugefügt wurde.
Ich habe versucht, Scalar DL mit Docker zu verwenden
Ich möchte PHP 7.2 unter Ubuntu 20.04 installieren.
Es ist neu, aber ich habe versucht, Groonga zu verwenden
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
Ich habe versucht, AdoptOpenjdk 11 unter CentOS 7 zu erstellen
Führen Sie Ubuntu + ROS mit Docker auf dem Mac aus
Ich habe eine Java EE-Umgebung auf AWS erstellt und versucht, eine Webanwendung auszuführen
[JDBC ③] Ich habe versucht, mithilfe von Platzhaltern und Argumenten Eingaben über die Hauptmethode vorzunehmen.
Ich war süchtig nach RXTX mit Sierra
[Für Anfänger] Ich habe versucht, DBUnit mit Eclipse zu verwenden
Installieren Sie Java und Android-SDK auf dem Mac mit Homebrew
Ich habe versucht, Java einfach auf meinen Mac zu bringen
Erstellen und installieren Sie Wireshark Development Release (3.3.1) unter Ubuntu
Verwenden von JUnit über die Befehlszeile unter Ubuntu
Externe Veröffentlichung und Anmeldung von MySQL unter Ubuntu