yolov3移植到ros:ubuntu16.04+cuda9.0+GTX 1660Ti

官方文档
https://github.com/leggedrobotics/darknet_ros

一、用预训练权重

1、

cd catkin_workspace/src
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git #直接git的可能有问题,可以去gitclone我编译通过的版本
cd ../
catkin_make -DCMAKE_BUILD_TYPE=Release

**ERROR:**如果用CUDA,直接编译可能会报错

nvcc fatal : Unsupported gpu architecture 'compute_61'.

官方文档也有提到这一点,各种地方查到的全是关于caffe里修改makefile的,懵逼。
其实都是gpu架构的问题,这里是要改/src/darknet_ros/CMakeLists,把61那一行注释掉就行。
在这里插入图片描述
在这里插入图片描述
官方也提到了解决办法
在这里插入图片描述

2、正常编译就可以通过,如果还有头文件什么blabla的问题,百度就可以解决。
下载预训练权重:直接把之前yolov3的复制过来就行
(1)把工作空间添加到ros 环境里(不然打开roscore后找不到编译好的包)
(每新开一个终端都要加这个)

source ~/catkin_ws/devel/setup.bash

(2)src目录下我写了一个程序包image_detect用来测试的,里面有两个可执行程序
一是将本地图片读取发布在topic“/camera/image”上;
二是订阅检测结果的/darknet_ros/detection_image。
先把本地图片发布

python image_publisher.py

(如果是用c++需要加上cmakelists 再catkin_make一下,然后roslaunch package_name xx.launch)
这时rostopic list可以看到增加了一个/camera/image的节点
(3)src目录下另一个程序包就是关于darknet的了,/src/darknet_ros/darknet_ros里面有两个关键文件夹 /config/launch
修改/config/ros.yaml使发布的话题本地图片能被darknet接收到
(4)重新编译一下
(5)新开一个终端

source ~/catkin_ws/devel/setup.bash
roslaunch darknet_ros yolo_v3.launch

这里我会一直停在“waiting for image “的状态,这时检查一下节点名称对不对,不执行(3)直接(5),发现darknet里用到的节点名称实际上是”/darknet_ros/camera/rge/image_raw”(不知道程序在哪里改了),改一下就好了
在这里插入图片描述

二、训练自己的数据集

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值