其他分享
首页 > 其他分享> > TX2安装darknet_ros

TX2安装darknet_ros

作者:互联网

概述

这是为相机图像中的对象检测而开发的 ROS 包。你只看一次 (YOLO) 是最先进的实时对象检测系统。

Darknet Ros 示例:检测图像

 

Darknet Ros 示例:检测图像

基于Pascal VOC 2012 数据集,YOLO 可以检测出 20 个 Pascal 对象类:

基于COCO数据集,YOLO 可以检测出 80 个 COCO 对象类:

要安装 darknet_ros,请使用 SSH 将最新版本(请参阅如何设置 SSH 密钥)从该存储库克隆到您的 catkin 工作区,并使用 ROS 编译包。

cd catkin_workspace/src
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git
cd ../

为了最大限度地提高性能,请确保在发布模式下构建。您可以通过设置指定构建类型

catkin_make -DCMAKE_BUILD_TYPE=Release

或使用Catkin 命令行工具

catkin build darknet_ros -DCMAKE_BUILD_TYPE=Release

因为NVIDIA的32.3.1.img文件把opencv文件命名成了opencv4

所以只需修改上述路径中的cv_bridgeconfig.cmke文件,把说有的include/opencv改成include/opencv4

CPU 上的暗网速度很快(在 Intel Core i7-6700HQ CPU @ 2.60GHz × 8 上大约需要 1.5 秒),但在 GPU 上快 500 倍!你必须有一个 Nvidia GPU 并且你必须安装 CUDA。CMakeLists.txt 文件会自动检测您是否安装了 CUDA。CUDA 是由 Nvidia 创建的并行计算平台和应用程序编程接口 (API) 模型。如果您的系统上没有 CUDA,构建过程将切换到 YOLO 的 CPU 版本。如果您使用 CUDA 进行编译,您可能会收到以下构建错误:

nvcc fatal : Unsupported gpu architecture 'compute_61'.

这意味着您需要检查 GPU 的计算能力(版本)。您可以在此处找到 CUDA 中支持的 GPU 列表:CUDA - WIKIPEDIA。只需找到您的 GPU 的计算能力并将其添加到 darknet_ros/CMakeLists.txt 中。只需添加类似的行

-O3 -gencode arch=compute_62,code=sm_62

下载权重

yolo-voc.weights 和 tiny-yolo-voc.weights 会自动下载到 CMakeLists.txt 文件中。如果需要再次下载,请进入 weights 文件夹,从 COCO 数据集中下载两个预训练的权重:

cd catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config/weights/
wget http://pjreddie.com/media/files/yolov2.weights
wget http://pjreddie.com/media/files/yolov2-tiny.weights

VOC数据集中的权重可以在这里找到:

wget http://pjreddie.com/media/files/yolov2-voc.weights
wget http://pjreddie.com/media/files/yolov2-tiny-voc.weights

YOLO v3 的预训练权重可以在这里找到:

wget http://pjreddie.com/media/files/yolov3-tiny.weights
wget http://pjreddie.com/media/files/yolov3.weights

这里报告来自不同数据集的更多预训练权重。

使用自己的检测对象

为了使用您自己的检测对象,您需要在目录中提供权重和 cfg 文件:

catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config/weights/
catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config/cfg/

此外,您需要为 ROS 创建配置文件,在其中定义检测对象的名称。您需要将其包括在内:

catkin_workspace/src/darknet_ros/darknet_ros/config/

然后在启动文件中,您必须在该行中指向您的新配置文件:

<rosparam command="load" ns="darknet_ros" file="$(find darknet_ros)/config/your_config_file.yaml"/>

单元测试

使用Catkin 命令行工具运行单元测试

catkin build darknet_ros --no-deps --verbose --catkin-make-args run_tests

您将看到上面的图像弹出。

基本用法

为了让 YOLO ROS: Real-Time Object Detection for ROS 与您的机器人一起运行,您需要调整一些参数。如果复制并调整您需要从darknet_ros包中更改的所有参数文件,这是最简单的。这些具体是文件夹中的参数文件config和启动文件launch

节点

节点:darknet_ros

这是主要的 YOLO ROS: Real-Time Object Detection for ROS 节点。它使用相机测量来检测帧中预先学习的对象。

ROS相关参数

您可以更改内部发布者、订阅者和操作的名称和其他参数darknet_ros/config/ros.yaml

订阅的主题

发表的主题

行动

检测相关参数

您可以通过添加一个类似于 的新配置文件来更改与检测相关的参数darknet_ros/config/yolo.yaml


 

标签:catkin,darknet,yolo,weights,ros,config,TX2
来源: https://blog.csdn.net/leoFY123/article/details/122381998