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

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

3天内不再提示

基于凌蒙派开发板的FastDeploy适配

福州市凌睿智捷电子有限公司 2023-02-22 14:44 次阅读

FastDeploy简介

FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具, 支持云边端部署。提供超过 160+Text,Vision, Speech和跨模态模型开箱即用的部署体验,并实现端到端的推理性能优化。包括 物体检测、字符识别(OCR)、人脸、人像扣图、多目标跟踪系统、NLP、Stable Difussion文图生成、TTS 等几十种任务场景,满足开发者多场景、多硬件、多平台的产业部署需求。

准备工作本文的FastDeploy适配过程需要准备如下:·凌蒙派-RK3568开发板(即需FastDeploy适配的设备终端)·Ubuntu(即建立于虚拟机的Linux编译环境)目前,我已将FastDeploy适配到凌蒙派开发板上,可用于目标检测、人脸检测、人脸识别、人脸对齐、图像分割、OCR等领域,这将大大提高凌蒙派开发板在边缘计算方面的能力。

编译步骤

我们推荐在PC上进行交叉编译(即在Ubuntu进行交叉编译)。

git clone https://github.com/PaddlePaddle/FastDeploy.gitcd FastDeploy# 如果您使用的是develop分支输入以下命令git checkout developmkdir build && cd buildcmake .. -DCMAKE_C_COMPILER=/home/zbc/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc \-DCMAKE_CXX_COMPILER=/home/zbc/opt/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ \-DCMAKE_TOOLCHAIN_FILE=./../cmake/toolchain.cmake \-DTARGET_ABI=arm64 \-DENABLE_ORT_BACKEND=OFF \-DENABLE_RKNPU2_BACKEND=ON \-DENABLE_VISION=ON \-DRKNN2_TARGET_SOC=RK356X \-DCMAKE_INSTALL_PREFIX=${PWD}/fastdeploy-0.0.0make -j12make install

目标检测模型速度表

为了方便大家选择最适合自己的模型,我们选取了目前最流行的几个模型,并整理了模型速度表供大家快速浏览。以下测试速度均为端到端的速度。

2424a866-b220-11ed-ad0d-dac502259ad0.png

Demo演示

FastDeploy提供了统一的接口,可以快速的切换模型,这里以Yolov5为例子,展示如何在凌蒙派RK3568上进行目标检测。

编写代码

// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.#include "fastdeploy/vision.h"void RKNPU2Infer(const std::string& model_file, const std::string& image_file) {auto option = fastdeploy::RuntimeOption();option.UseRKNPU2();auto format = fastdeploy::RKNN;auto model = fastdeploy::RKYOLOV5(model_file, option,format);auto im = cv::imread(image_file);fastdeploy::DetectionResult res;fastdeploy::TimeCounter tc;tc.Start();if (!model.Predict(im, &res)) {std::cerr << "Failed to predict." << std::endl;return;}auto vis_im = fastdeploy::VisDetection(im, res,0.5);tc.End();tc.PrintInfo("RKYOLOV5 in RKNN");std::cout << res.Str() << std::endl;cv::imwrite("vis_result.jpg", vis_im);std::cout << "Visualized result saved in ./vis_result.jpg" << std::endl;}int main(int argc, char* argv[]) {if (argc < 3) {std::cout<< "Usage: infer_demo path/to/model_dir path/to/image run_option, ""e.g ./infer_model ./picodet_model_dir ./test.jpeg"<< std::endl;return -1;}RKNPU2Infer(argv[1], argv[2]);return 0;}

编译代码

# 编译mkdir buildcd buildcmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/../fastdeploy-0.0.0make -j4# 下载图片wgethttps://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg# 运行./infer_rkyolov5 ../Model/yolov5-s-relu/yolov5s_relu_tk2_RK356X_i8.rknn./000000014439.jpg

展示结果

输入图片

24473020-b220-11ed-ad0d-dac502259ad0.png

输出图片

24cd8760-b220-11ed-ad0d-dac502259ad0.png

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

    关注

    87

    文章

    30874

    浏览量

    269034
  • 开发板
    +关注

    关注

    25

    文章

    5049

    浏览量

    97446
收藏 人收藏

    评论

    相关推荐

    【飞嵌入式OK3588J-C开发板体验】OK3588J-C开发板开箱评测

    用料的诚意满满! 里面搭配一个12V 2A的充电适配器,接通开发板,插上网线和USB type-C 串口, 打开电脑上的串口调试助手,就能查看数据了 反应非常的迅速,可以看出OK3588-C
    发表于 12-04 15:23

    OpenHarmony开源项目荣获本期Gitee官方推荐

    近日,我司OpenHarmony开源项目荣获本期Gitee官方推荐。本期Gitee官方推荐不仅是对
    的头像 发表于 11-20 01:04 276次阅读
    <b class='flag-5'>凌</b><b class='flag-5'>蒙</b><b class='flag-5'>派</b>OpenHarmony开源项目荣获本期Gitee官方推荐

    比较不同品牌ARM开发板优缺点

    随着物联网(IoT)和嵌入式系统的快速发展,ARM开发板因其低功耗、高性能和广泛的应用场景而受到开发者的青睐。 一、树莓(Raspberry Pi) 优点: 社区支持: 树莓拥有庞
    的头像 发表于 11-05 11:37 402次阅读

    ARM开发板与树莓的比较

    ARM开发板和树莓都是基于ARM架构的单板计算机,它们在教育、工业控制、物联网等领域有着广泛的应用。 硬件配置 ARM开发板和树莓的硬件配置各有特点,具体取决于不同的型号和制造商。
    的头像 发表于 11-05 11:11 443次阅读

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证
    的头像 发表于 10-18 14:56 529次阅读
    迅为iTOP-RK3568/RK3588<b class='flag-5'>开发板</b>获麒麟软件<b class='flag-5'>适配</b>认证

    树莓和arm开发板的区别

    树莓(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓(Raspberry Pi) 树莓是由英国树莓
    的头像 发表于 08-30 15:36 1017次阅读

    linux开发板与树莓的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓:树莓
    的头像 发表于 08-30 15:34 962次阅读

    ElfBoard技术贴|在NXP源码基础上适配ELF 1开发板的按键功能

    本次源码适配工作是在NXPi.MX6ULLEVK评估的Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚配置,以适应ELF1开发板。接下来
    的头像 发表于 07-10 09:54 608次阅读
    ElfBoard技术贴|在NXP源码基础上<b class='flag-5'>适配</b>ELF 1<b class='flag-5'>开发板</b>的按键功能

    鸿蒙OpenHarmony开发板解析:【芯片解决方案】

    芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配开发板sdk等。
    的头像 发表于 05-10 15:42 1238次阅读
    鸿蒙OpenHarmony<b class='flag-5'>开发板</b>解析:【芯片解决方案】

    嵌入式RK3568开发板蓝牙收、发文件测试

    本文由电子发烧友论坛用户fsdzdzy提供,感谢分享。飞嵌入式每月定期开展新的开发板体验活动,欢迎更多工程师朋友的关注和参与。飞嵌入式OK3568-C开发板板载WiFi&BT模组,
    的头像 发表于 02-02 16:31 1884次阅读
    飞<b class='flag-5'>凌</b>嵌入式RK3568<b class='flag-5'>开发板</b>蓝牙收、发文件测试

    嵌入式T113-i开发板的调屏方法

    对于飞嵌入式T113-i开发板的调屏问题,需要按照以下步骤进行操作
    的头像 发表于 01-29 16:25 995次阅读

    米尔电子和瑞萨电子推出首款MPU生态开发板瑞米

    近日,米尔电子和瑞萨电子共同定义和开发了瑞萨第一款MPU生态开发板——瑞米(Remi Pi)正式上市了!在各种Pi板卡琳琅满目的当下,Remi Pi是一款与众不同的开发板,它兼顾了严
    的头像 发表于 01-25 09:21 1102次阅读

    使用爱芯Pro开发板部署人体姿态估计模型

    在经过之前对于开发板的使用,以及通过几个爱芯官方给出的示例demo(mobilenet/yolov5)在开发板上的部署之后,笔者也逐渐了解了爱芯这块
    的头像 发表于 01-09 09:50 1429次阅读
    使用爱芯<b class='flag-5'>派</b>Pro<b class='flag-5'>开发板</b>部署人体姿态估计模型

    【核桃1B 开发板试用体验】+初识篇

    核桃(WalnutPi)1B开发板是一款集设计、研发和制造均源于国产的开发板,其定位是打造一款高性价比而且功能齐全的卡片电脑(SBC),在尺寸上它兼容树莓,是一款性能非常强大的Li
    发表于 01-01 21:58

    技术帖 | 飞嵌入式T113-i开发板的休眠及唤醒操作

    嵌入式OK113i-S开发板支持两种休眠方式:freeze和mem。本篇内容小编会为大家介绍如何让飞嵌入式OK113i-S开发板进入休眠模式,以及如何通过RTC时钟实现定时唤醒。
    的头像 发表于 12-29 08:02 1248次阅读
    技术帖 | 飞<b class='flag-5'>凌</b>嵌入式T113-i<b class='flag-5'>开发板</b>的休眠及唤醒操作