ubuntu18.04测试ncnn推理yolov4

目录

一、依赖安装

二、下载并编译ncnn  

三、测试yolov4

利用darknet2ncnn生成param和bin文件

先下载yolov4项目:

准备yolov4.cfg和yolov4.weights

生成param和bin文件

ncnnoptimize优化

测试


一、依赖安装

sudo apt-get install -y gfortran
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install -y --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev

二、下载并编译ncnn  

git clone -b 20210525 git://github.com/Tencent/ncnn
cd ncnn
mkdir build
cd build
cmake ..
make -j8
make install

三、测试yolov4

利用darknet2ncnn生成param和bin文件

先下载yolov4项目:

git clone git://github.com/AlexeyAB/darknet.git

准备yolov4.cfg和yolov4.weights

cfg在v4项目根目录下的cfg文件夹下,weights模型下载地址:https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights

生成param和bin文件

上边ncnn根目录下创建Model文件夹,把cfg和weights两个文件copy到Model下,然后到上边编译出来的目录下

cd 你的ncnn目录/ncnn/build/tools/darknet
./darknet2ncnn ../../../Model/yolov4.cfg ../../../Model/yolov4.weights ../../../Model/yolov4.param ../../../Model/yolov4.bin

这样就在Model目录下生成了param和bin文件:

ncnnoptimize优化

cd ../../../Model
../build/install/bin/ncnnoptimize yolov4.param yolov4.bin yolov4-opt.param yolov4-opt.bin 65536

测试

Model目录下把param和bin文件拿过来并重命名(yolov4里调用的名字)

mv yolov4-opt.bin yolov4-tiny-opt.bin
mv yolov4-opt.param yolov4-tiny-opt.param

然后复制到build/example目录下 

 找一张图片放到examples目录下然后

cd ../build/examples
./yolov4 000000024021.jpg

因为我的ubuntu没有桌面不能imshow结果,会包如此提示:

...Can't initialize GTK backend in function 'cvInitSystem...

因此我们改一下脚本重新编译ncnn,我们这里改yolov4.cpp,在ncnn根目录下的example下,把imshow注释,咱们给他imwrite一下:

 重新编译完后再次测试build/example下的yolov4,图片会生成在当前目录:

3.01ms,真是爽的一匹~

参考:树莓派部署yolo fastest ncnn记录_小俊俊的博客-CSDN博客_yolofastest 树莓派

版权声明:本文为CSDN博主「RayChiu_Labloy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/RayChiu757374816/article/details/122307707

RayChiu_Labloy

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

yolo 旋转目标检测

YOLOv5_DOTA无人机/遥感旋转目标检测项目代码(从数据集制作、模型训练、性能评估全套流程) - 知乎 (zhihu.com)

YOLOV5 网络模块解析

YOLOV5:训练自己数据集 YOLOV5:Mosaic数据增强 YOLOV5 :网络结构 yaml 文件参数理解 前言 【个人学习笔记记录,如有错误,欢迎指正】 YOL

YOLOX安装指南

最近ubuntu系统跑几下就死机,怕了怕了,后面会把以前安装好的教程都发在csdn上。以免后面系统崩溃后又要重新装过而不知所措。 前段时间yolov5横空出世,然后又多出来了各种比它好的yolo算法。本

Yolo(3)(项目)Yolo v3 目标检测(85分类)

目录 基础理论 一、 读取文件 二、神经网络初始化 1、搭建神经网络 2、GPU加速 三、打开摄像头、按帧读取图像 四、向神经网络输入 五、获取神经网络输出 1、获取各层名称 2、获取输出层名称 3、获取输出层图像&#xff