0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RV1126开发板移植NCNN部署库方法

ljx2016 来源:ljx2016 作者:ljx2016 2025-04-16 15:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.NCNN介绍

本文档说明基于EASY EAI Nano移植NCNN部署库的方法与基于NCNN成功运行yolov4的Demo。

NCNN是腾讯优图实验室首个开源项目,是一个为手机端极致优化的高性能神经网络前向计算框架。并在2017年7月正式开源。NCNN做为腾讯优图最“火”的开源项目之一,是一个为手机端极致优化的高性能神经网络前向计算框架,在设计之初便将手机端的特殊场景融入核心理念,是业界首个为移动端优化的开源神经网络推断库。能实现无第三方依赖,跨平台操作,在手机端CPU运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户指尖。

支持卷积神经网络,支持多输入和多分支结构,可计算部分分支

无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架

C++ 实现,跨平台,支持 android ios

ARM NEON 汇编级良心优化,计算速度极快

精细的内存管理和数据结构设计,内存占用极低

支持多核并行计算加速,ARM big.LITTLE cpu 调度优化

支持基于全新低消耗的 vulkan api GPU 加速

可扩展的模型设计,支持 8bit量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型

支持直接内存零拷贝引用加载网络模型

可注册自定义层实现并扩展

详情可以参考官方Github:https://github.com/Tencent/ncnn

2. 源码包下载与编译

2.1 源码下载放置到ubuntu

NCNN相关源码可以通过我们的百度网盘进行下载(已经配置好编译脚本),下载链接为:

链接:https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取码:dfji

下载ncnn-master.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:

tar xvf ncnn-master.tar.bz2

得到如下图所示:

wKgZPGf_W5iACpv3AADH49VzowM654.png

2.2 NCNN编译

执行以下指令编译:

cd ncnn-master/
./build-easyeai-nano.sh

编译完成如下图所示:

wKgZO2f_W5iAWy1_AALrepw-MSw988.png

ncnn库编译完成,生成如下图所示:

wKgZPGf_W5mAbDiIAADqVwO2_LE761.png

3. Yolov4基于NCNN运行

3.1 例程下载放置到ubuntu

Yolov4基于NCNN运行相关运行Demo可以通过我们的百度网盘进行下载(已经配置好编译脚本),下载链接为:

链接:https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取码:dfji

下载test_demo.tar.bz2源码包并移植到虚拟机里面,执行以下指令解压源码包:

tar xvf test_demo.tar.bz2

得到如下图所示:

wKgZO2f_W5mAQAkuAABZkV5dgCQ159.png

3.2 编译例程

执行以下指令编译例程:

cd test_demo/
./build.sh

编译成功后结果如下所示:

wKgZPGf_W5mAT8u4AAF2K6igIyg229.png

3.3 在EASY EAI Nano执行例程

在ubuntu推送可执行程序文件到板卡的/userdata目录:

adb push test-ncnn-demo-release/ /userdata

在EASY EAI Nano板卡执行程序:

sudo cd /userdata/test-ncnn-demo-release/
sudo ./test-ncnn-demo test_img/test1.jpg

执行结果如下图所示:

wKgZO2f_W5mAOZAXAABv8pDzyrY285.png

在ubuntu执行以下指令获取识别成功的图片:

adb pull /userdata/test-ncnn-demo-release/result.jpg .

结果图片如下所示:

wKgZO2f_W5mASkklAAq9iN_4ufg489.png


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    6126

    浏览量

    113420
  • rv1126
    +关注

    关注

    0

    文章

    115

    浏览量

    4081
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RV1126系列选型指南:从RV1126RV1126B,一文看懂升级差异

    2025年7月,瑞芯微正式发布新一代AI视觉芯片RV1126B。作为其金牌方案商,EASYEAI灵眸科技同步推出搭载该芯片的AIoT核心EAI1126B-Core-T。相较于前代RV1126
    的头像 发表于 09-04 10:50 3504次阅读
    <b class='flag-5'>RV1126</b>系列选型指南:从<b class='flag-5'>RV1126</b>到<b class='flag-5'>RV1126</b>B,一文看懂升级差异

    基于RV1126开发板实现人脸检测方案

    RV1126开发板上实现人脸检测:在图像中找出人脸,以及每张人脸的landmarks位置。 方案设计逻辑流程图,方案代码分为分为两个业务流程,主体代码负责抓取、合成图像, 算法代码负责人脸检测功能。
    的头像 发表于 04-21 17:59 864次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现人脸检测方案

    基于RV1126开发板实现人脸检测方案

    RV1126开发板上实现人脸检测:在图像中找出人脸,以及每张人脸的landmarks位置。 方案设计逻辑流程图,方案代码分为分为两个业务流程,主体代码负责抓取、合成图像, 算法代码负责人脸检测功能。
    的头像 发表于 04-21 14:00 13次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现人脸检测方案

    基于RV1126开发板实现人脸识别方案

    RV1126开发板上实现人脸识别:在图像中找出人脸,并与数据进行比对,得出该人脸对应的身份信息。 方案设计逻辑流程图,方案代码分为分为三个业务流程,主体代码负责抓取、合成图像,算法代码负责人脸识别功能,按键监听
    的头像 发表于 04-21 10:24 107次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现人脸识别方案

    基于RV1126开发板实现人脸检测方案

    RV1126开发板上实现人脸检测:在图像中找出人脸,以及每张人脸的landmarks位置。 方案设计逻辑流程图,方案代码分为分为两个业务流程,主体代码负责抓取、合成图像, 算法代码负责人脸检测功能。
    的头像 发表于 04-21 10:21 99次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现人脸检测方案

    基于RV1126开发板实现驾驶员行为检测方案

    RV1126开发板上实现驾驶员行为检测:通过图像识别出这几种行为:打电话、抽烟、疲劳驾驶。
    的头像 发表于 04-18 17:47 354次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现驾驶员行为检测方案

    基于RV1126开发板实现人脸识别方案

    RV1126开发板实现人脸识别:在图像中找出人脸,并与数据进行比对,得出该人脸对应的身份信息。 方案设计逻辑流程图,方案代码分为分为三个业务流程,主体代码负责抓取、合成图像,算法代码负责人脸识别功能,按键监听负
    的头像 发表于 04-18 16:55 83次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>实现人脸识别方案

    RV1126 yolov8训练部署教程

    本教程针对目标检测算法yolov8的训练和部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章。
    的头像 发表于 04-18 15:18 1780次阅读
    <b class='flag-5'>RV1126</b> yolov8训练<b class='flag-5'>部署</b>教程

    基于RV1126开发板的resnet50训练部署教程

    本教程基于图像分类算法ResNet50的训练和部署到EASY-EAI-Nano(RV1126)进行说明
    的头像 发表于 04-18 15:07 937次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>的resnet50训练<b class='flag-5'>部署</b>教程

    基于RV1126开发板的按键测试方法与例程

    RV1126开发板的按键测试方法与例程详细描述
    的头像 发表于 04-15 17:03 833次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>的按键测试<b class='flag-5'>方法</b>与例程

    基于RV1126开发板网络配置方法

    RV1126开发板网络硬件资源有:以太网、WiFi,采用的网络配置方案是:Netplan。        Netplan是一个用于配置Linux网络的简单工具。用户只需要一个yaml格式的文件去
    的头像 发表于 04-15 14:57 706次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>网络配置<b class='flag-5'>方法</b>

    基于RV1126开发板的人员检测算法开发

    RV1126开发人员检测AI算法组件
    的头像 发表于 04-14 13:56 630次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>的人员检测算法<b class='flag-5'>开发</b>

    基于RV1126开发板的人脸检测算法开发

    RV1126开发人脸检测算法组件
    的头像 发表于 04-14 10:19 743次阅读
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>开发板</b>的人脸检测算法<b class='flag-5'>开发</b>

    RV1126 实现人脸检测方案

    基于RV1126开发板实现人脸检测方案,充分体现了电子方面的实践经验和目标检测技术。
    的头像 发表于 04-14 09:25 691次阅读
    <b class='flag-5'>RV1126</b> 实现人脸检测方案

    RV1126 实现简单的UI开发示例

    RV1126上实现简单的UI开发实例
    的头像 发表于 04-09 16:08 903次阅读
    <b class='flag-5'>RV1126</b> 实现简单的UI<b class='flag-5'>开发</b>示例