树莓派部署yolo fastest ncnn记录

2023-11-07 18:40

本文主要是介绍树莓派部署yolo fastest ncnn记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

成功跑通写的总结

部署环境
1.ubuntu18
2.opencv4.5.1
3.树莓派4b

一、编译ncnn
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.编译
在ncnn目录下

mkdir build
cd build
cmake ../
make -j4
make install 

在build目录下会出现三个文件夹。examples install tools,至此第一步ncnn编译成功。
接下来可以使用ncnn进行文件转换了!

二、文件转化测试

1.下载.cfg和.weights文件。(任何版本的都可以,我用的是yolo-fastest-xl,可私信我,发给你)
文件链接: https://download.csdn.net/download/weixin_43096365/81557457

2.生成目标文件

1).在ncnn根目录下新建一个Model文件夹,将yolo-fastest-xl.cfg和yolo-fastest-xlweights文件拷贝到该文件夹中。
2).在ncnn/build/tools/darknet路径下打开终端,输入:

./darknet2ncnn ../../../Model/yolo-fastest-xl.cfg ../../../Model/yolo-fastest-xl.weights ../../../Model/yolo-fastest-xl.param ../../../Model/yolo-fastest-xl.bin

将会在Model文件夹中生成yolov4.param 和yolov4.bin文件

看到Model文件夹里有 bin文件 和 param文件 就是成功了!第二步搞定。

三、运行

1.新建一个文件夹yolo-fastest-ncnn
2.复制文件

         1.将yolo-fastest-xl.param和yolo-fastest-xl.bin文件拷贝到yolo-fastest-ncnn/model下。2.并将ncnn/build/install文件拷贝到yolo-fastest-ncnn下。**注意是复制install文件夹下的文件夹,不是直接复制install文件夹。**3.把 dog-qiuqiu / Yolo-Fastest /sample/ncnn文件夹下的除了model文件夹,都拷贝到yolo-fastest-ncnn/mode网址链接::  https://gitcode.net/mirrors/dog-qiuqiu/Yolo-Fastest/-/tree/master/sample/ncnn

在这里插入图片描述

3.修改代码
打开demo文件

int testCam() {YoloDet api;//Init modelapi.init("model/yolo-fastest-xl.param", "model/yolo-fastest-xl.bin");

看自己的文件路径,这里的model是在 yolo-fastest-ncnn夹下面建的子文件夹

4.测试

1.在yolo-fastest-ncnn文件夹下打开终端,输入

sh build.sh

2.继续终端输入

./demo

到这里就能够把程序在树莓派上拍起来,ubuntu上也可以;
但是,会发现,速度特别慢;

四:优化

1.转化模型:

 [优化文件模型](https://blog.csdn.net/weixin_43096365/article/details/123001666)

2.添加与修改代码

在src文件下修改:

在这里插入图片描述
2.1根据自己树莓派的核数,配置运行线程数。
在这里插入图片描述
2.2为了提升在树莓派上模型推理速度,NCNN模型尽量用FP16模型,然后模型初始化时,开启FP16模 型加速
在这里插入图片描述

这篇关于树莓派部署yolo fastest ncnn记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365560

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati