ROS系统学习16---OpenCV进阶---利用dnn模块加载YoloV4模型进行对象检查

本文介绍了在ROS上使用OpenCV的dnn模块加载YoloV4模型进行对象检测的过程。由于darknet与OpenCV新版本的兼容问题,作者选择了直接使用OpenCV 4.5的dnn模块支持YoloV4。通过下载YOLOV4的权重、配置文件和类别名,结合CUDA编译的OpenCV,实现了在ROS上的对象检测功能。
摘要由CSDN通过智能技术生成

年前需要在ROS上使用YoloV4对道路上的障碍物进行检测,记得早期使用YoloV3的时候是用的Yolo开发团队提供的darknet版本,因此就自然而然的去下其提供的Ros节点包然后开搞。

结果由于当时操作了一波,使用的是Manjaro系统,ROS是自己编译的(OpenCV版本是4.5),结果花了一个晚上改了无数错误之后依然编译不过。最后一查才发现darknet架构在OpenCV3.4.0后(OpenCV在该版本后把c接口直接用c++实现了,可能最新的noetic二进制安装文件依然用的是OpenCV3.2就是为了兼容)的版本都支持不良,所以只能作罢。

从该情况看来,修改的办法有三个

  1. 从系统开始换,换成Ubuntu,也就等同于换了OpenCV版本。但本人实在是不喜欢Ubuntu,甚至当时都直接用Manjaro而放弃Ubuntu了,绝不可能再装回去!

  2. 直接换掉noetic的OpenCV版本,这个是很容易想到的方案,但本着用新不用旧的原则,本人也一点都不想选。

  3. 直接不用darknet架构了,这个是本人最后选的,结果却极其意外的发现OpenCV在4.4版本后直接在dnn模块上支持了YoloV4的架构,简直不要再开心!!!

于是事情变得非常简单,参考:https:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值