VS2017调试运行NCNN样例2

本文详细介绍如何从GitHub项目MobileNet-YOLO下载预训练模型,并使用NCNN工具将CAFFE模型转换为NCNN模型。通过具体步骤指导,成功获取mobilenet_yolo.param和mobilenet_yolo.bin文件,最终实现对图片的目标检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文接https://blog.youkuaiyun.com/justidle/article/details/102864794这个文章。

获取MobileNet-YOLO

上文提到缺少mobilenet_yolo.param和mobilenet_yolo.bin这两个文件,这两个文件来自MobileNet-YOLO这个开源项目。项目对应的GitHub地址为https://github.com/eric612/MobileNet-YOLO。其实仔细阅读yolov2.cpp代码,在detect_yolov2()函数中有说明。开始由于本人对NCNN不够熟悉,第一时间没有反应过来。

    // original pretrained model from https://github.com/eric612/MobileNet-YOLO
    // https://github.com/eric612/MobileNet-YOLO/blob/master/models/yolov2/mobilenet_yolo_deploy.prototxt
    // https://github.com/eric612/MobileNet-YOLO/blob/master/models/yolov2/mobilenet_yolo_deploy_iter_80000.caffemodel

好了,下载好MobileNet-YOLO源码。

将CAFFE模型转换为NCNN模型

将models/yolov2下对应的mobilenet_yolo_deploy.prototxt和mobilenet_yolo_deploy_iter_80000.caffemodel拷贝到D:\zhouyi\work\ncnn\build-vs2017\tools\caffe。然后利用NCNN的转换工具caffe2ncnn.exe,将Caffe模型转换为NCNN模型。

caffe2ncnn.exe mobilenet_yolo_deploy.prototxt mobilenet_yolo_deploy_iter_80000.caffemodel mobilenet_yolo.param mobilenet_yolo.bin

这样,我们就得到了mobilenet_yolo.param和mobilenet_yolo.bin,再将这两个文件拷贝到例程目录,D:\zhouyi\work\ncnn\examples\yolov2\x64\Debug。

拷贝被识别图片

同时拷贝一张图片,来自darknet的person.jpg。

识别

运行编译出的yolov2.exe。

D:\zhouyi\work\ncnn\examples\yolov2\x64\Debug>yolov2 person.jpg
find_blob_index_by_name data failed
12 = 0.98016 at 68.74 263.96 133.91 x 84.17
15 = 0.92400 at 189.25 88.86 78.89 x 296.65
17 = 0.69918 at 415.31 134.46 178.85 x 205.66

即可获得如下图片。

P.S.

    有个很奇怪的现象,修改源码,直接在vs2017下运行,cv::imread()出错,无法读取图片。我在编译NCNN的时候,NCNN_OPENCV这个宏没有使能啊。源码再查一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值