ncnn_demo工程实践


前言

ncnn学习过程记录

一、 ncnn_demo工程的编译(PC x86 demo)

  • 环境变量更改
    • 修改脚本scripts/build-linux-x86.sh,在[ncnn_dir]中填入自己的ncnn源码路径
export ncnn_DIR=[ncnn_dir]/build/install/lib/cmake/ncnn
  • 编译
# 当前路径:ncnn_demo/
$ mkdir build
$ cd build
$ ../scripts/build-linux-x86.sh
$ make -j$(nproc)
  • 运行可执行文件
# 当前路径:ncnn_demo/build/
$ cp nanodet_demo ..
$ cd ..
$ ./nanodet_demo

二、简单的测试代码修改

  • 修改模型
// 修改 main.cpp 中调用的 SetModelPath 函数的参数,
// 即可修改使用的模型。
detector.SetModelPath(
    "data/old_assset/model_6.28/s-320-0628/picodet-s-320.bin",
    "data/old_assset/model_6.28/s-320-0628/picodet-s-320.param",
    0  // 0-320,1-640,2-416
);
  • 修改测试视频
// 修改 main.cpp 中的 left_video_path 和 right_video_path 路径,
// 可以更改测试使用的视频文件
std::string left_video_path = "./data/test_video/video_left.mp4";
std::string right_video_path = "./data/test_video/video_right.mp4";
  • 修改测试类型(单路/左右两路上下拼接)
// 在 main.cpp 的 main 函数里,用大括号括住了两段测试代码,
// 需要进行哪种测试就使用哪部分代码,并注释掉另一部分代码。

// 检测 (Ln 168)
// 检测1:单路检测,仅显示目标图
{
    // 检测代码1
}
// 检测2:两路上下拼接,输出报警结果图的检测
{
    // 检测代码2
}
  • 选择是否输出测试结果视频
// bsd.cpp
#define GENERATE_VIDEO 0  // 为0代表不保存视频,为1代表保存视频,默认路径为 result.avi

三、ONNX转NCNN

  • 在ncnn的build/tools/onnx文件夹下有onnx2ncnn
    执行
./onnx2ncnn xxxx.onnx xxxx.param xxxx.bin
  • 第一个参数是onnx模型文件
  • 第二个参数是要生成的 .param 文件
  • 第三个参数是要生成的 .bin 文件

四、将文件PUSH到平台

1.安装adb:

  • 更新一遍软件源:
sudo apt-get update
  • 安装adb工具:
sudo apt-get install android-tools-adb
  • 检查安装是否成功:
adb version

2.文件结构

  • 自己电脑
-ncnn_demo
	-build
	-build_aarch64
	-data
		-s-416
		-imgs
	...
  • 平台
-data
	-ncnn_demo
		-data
			-imgs
	...

3.传文件到平台

!!!先用数据线连接平台和电脑

  • 查看连接,获取权限
adb devices
adb root
adb remount

3.1将模型s-416放在平台data/ncnn_demo/data/下

  • 在电脑ncnn_demo/data/下运行终端
adb push s-416 data/ncnn_demo/data

3.2将数据imgs放在平台data/ncnn_demo/data/下

  • 在电脑ncnn_demo/data/下运行终端
adb push imgs data/ncnn_demo/data

3.3将可执行文件ncnn_demo放在平台data/ncnn_demo/下

  • 在电脑ncnn_demo/下运行终端
cd..
adb push ncnn_demo data/ncnn_demo

五、运行demo

1.登陆设备

adb devices
adb shell

Tips:退出登陆:exit

2.执行demo

cd data/ncnn_demo
./ncnn_demo

3. 查看结果

  • 可以将结果传回查看
adb pull result.avi  ./
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值