MNN进行YOLOV5-lite部署,通过ROS进行订阅和发布,用于目标检测。

基于MNN框架进行YOLOV5-lite部署,通过ROS进行订阅和发布。

前言:这篇文章主要介绍在linux上基于MNN部署yolov5,使用的是cpp_demo,并增加ROS相关代码,使得这个demo可以订阅topic和发布topic。

一、安装MNN

1、首先安装依赖项

//如果你安装了ros,那么应该只需要安装protobuf
install opecv 
install protobuf
install cmake

2、编译安装MNN

git clone https://github.com/alibaba/MNN.git
cd MNN
mkdir bulid && cd build
sudo cmake ..
sudo make
sudo make install

ps:如果在编译过程中出现error: ‘__builtin_isnan’ is not a member of ‘std’这种错误
提示的位置在MNN/TOOLS/CPP/testModelWithDescrisbe.cpp处,那么在这段代码的头文件 处加上#include<bits/stdc++.h>
此处参考下面链接

https://blog.csdn.net/weixin_51326570/article/details/113867325

3、安装demo

a:在https://github.com/ppogg/YOLOv5-Lite网站上将cpp-demo文件夹中的mnn抠出来

在这里插入图片描述

b:将抠出的mnn文件夹其作为单独的文件夹复制到主目录中,这里我将mnn改名为mnn_demo

在这里插入图片描述

c:编译这个文件
cd mnn_demo
mkdir bulid && cd build
sudo cmake ..
sudo make

在这里插入图片描述编译后得到的结果如上图

d:下载权重文件进行测试

在这里插入图片描述下载上面mnn对应的权重文件,创建一个model_zoo文件夹,将其放在这里面。
在这里插入图片描述

e:单张图片进行测试

注意:main程序中,读入的图片名字是1860.jpg,需要更改成你自己图片的名字,否则则会出现下面错误!
在这里插入图片描述测试结果:在这里插入图片描述

二、更改代码,使其可以订阅ros topic和发布ros topic

先看实现效果:
在这里插入图片描述

@代码已上传至github,自取

https://github.com/yuchuxiang/yolov5_ros_mnn.git

1、下载代码功能包、编译、launch、enjoy!!!

mkdir yolo_v5_ws/src -p
cd yolo_v5_ws/src
git clone https://github.com/yuchuxiang/yolov5_ros_mnn.git
cd ..
catkin_make
source devel/setup.bash
roslaunch yolov5_pkg yolo.launch
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值