赞
踩
1.ubuntu18
2.cpencv452
3.cuda10.2
4.pytorch1.8.1
5.树莓派4b
前言:第一到五节,均在PC端ubuntu下完成,第六节在树莓派完成。
1.ncnn环境配置
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 --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev
2.获取ncnn代码
git clone https://github.com/Tencent/ncnn
cd ncnn
3.修改CmakeList.txt文件
将
add_subdirectory(examples)
add_subdirectory(benchmark)
两个前面的注释去除。#号,本身就没有的话,就不用修改了
4.编译
在ncnn目录下
mkdir build
cd build
cmake ../
make -j4
make install
在build目录下会出现三个文件夹。examples install tools,至此第一步ncnn编译成功。接下来可以使用ncnn进行文件转换了!
这一节使用yolov4进行转化测试。
1.下载yolov4.cfg和yolov4.weights文件。
进入这个git库:https://github.com/AlexeyAB/darknet
1).yolov4.cfg在cfg文件夹下
2).yolov4.weights文件,别想了,除非‘科学上网’,我这下载好了
链接:https://pan.baidu.com/s/139AcHtgFwDIc-qKvZdJswA 提取码:6666
2.生成目标文件
1).在ncnn根目录下新建一个Model文件夹,将yolov4.cfg和yolov4.weights文件拷贝到该文件夹中。
2).在ncnn/build/tools/darknet路径下打开终端,输入:
./darknet2ncnn ../../../Model/yolov4.cfg ../../../Model/yolov4.weights ../../../Model/yolov4.param ../../../Model/yolov4.bin
将会在Model文件夹中生成yolov4.param 和yolov4.bin文件
看到这个界面和文件就是成功了!第二步搞定。
1.将生成的yolov4.param 和yolov4.bin文件,复制到ncnn/build/examples文件夹下。
2.修改yolov4.param----->yolov4-tiny-opt.param
yolov4.bin-------->yolov4-tiny-opt.bin
3.随意找一张图,放入examples文件夹,如上图两张图。输入:
./yolov4 2.jpg
效果如下
到这第三步测试就算通过了,小开心。
1.首先,要有yolo-fastest的配置文件(.cfg)和权重文件(.weights)。这个我是自己训练的文件,作二维码检测。具体怎么训练自己的数据,可以看我上一篇博客。同样的在ncnn根目录下新建文件夹Modelyolofastest,并将yolo-fastest-1.1.cfg和yolo-fastest-1_last.weights文件复制到该文件夹下。
2.在ncnn/build/tools/darknet文件夹下,打开终端。输入:
./darknet2ncnn ../../../Modelyolofastest/yolo-fastest-1.1.cfg ../../../Modelyolofastest/yolo-fastest-1_last.weights ../../../Modelyolofastest/yolo-fastest-1.1.param ../../../Modelyolofastest/yolo-fastest-1_last.bin
将会在Modelyolofastest文件夹里生成对应文件。
1.下载代码
https://github.com/dog-qiuqiu/Yolo-Fastest
2.复制文件
将yolo-fastest-1.1.param和yolo-fastest-1_last.bin文件拷贝到Yolo-Fastest-master/sample/ncnn/model下。
并将ncnn/build/install文件拷贝到Yolo-Fastest/sample/ncnn下。注意是复制install文件夹下的两个文件夹,不是直接复制install文件夹。
3.修改代码
int testCam() {
YoloDet api;
//Init model
api.init("model/yolo-fastest-1.1.param",
"model/yolo-fastest-1_last.bin");
改成自己的就可以。
4.测试
1.在Yolo-Fastest-master/sample/ncnn文件夹下打开终端,输入
sh build.sh
2.继续终端输入
./demo
5.pc端效果
简直飞起的速度,仅仅用cpu,稳定运行后大概只要10ms一帧。opencv_dnn在我的电脑上要30ms。
到这里第五步pc端移植yolo-fastest也做好了。
遇到的问题记录:
1.电脑要有摄像头
嗯…居然会遇到这样的问题,值得思考一下!
2.ubuntu安装opencv后,出现libopencv相关库找不到。
sudo apt install libopencv-dev
安装一下libopencv-dev即可。
1.配置环境
老规矩和上面一样,需要配置opencv,ncnn。如果树莓派的系统也是ubuntu就基本上按照上面的来就行。
2.将ncnn/build/install中的文件复制到树莓派中Yolo-Fastest/sample/ncnn下。
3.在Yolo-Fastest-master/sample/ncnn文件夹下输入
sh build.sh
./demo
开始测试,速度嘛,有点难过。可能是还有什么地方没搞好!下一篇再写优化吧,毕竟还需要学习。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。