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 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 树莓派

Guess you like

Origin blog.csdn.net/RayChiu757374816/article/details/122307707