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
    +关注

    关注

    91

    文章

    41107

    浏览量

    302586
  • 开发板
    +关注

    关注

    26

    文章

    6419

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    免费试用|睿擎开发板等你来测:提交高质量报告,开发板免费送

    正在为下一代工业控制器选型?想在实际硬件上验证AMP混合部署、EtherCAT实时性?免费申请一块睿擎,30天深度测试,只要提交高质量报告,开发板就归你。睿擎工业平台现面向有真实项目需求的开发
    的头像 发表于 04-17 11:56 111次阅读
    免费试用|睿擎<b class='flag-5'>派</b><b class='flag-5'>开发板</b>等你来测:提交高质量报告,<b class='flag-5'>开发板</b>免费送

    【飞嵌入式RV1126B开发板试用体验】初识飞嵌入式RV1126B开发板

    这几天刚收到飞嵌入式RV1126B开发板,带大家先认识一下这块开发板,收到的开发板如下图。 开发板有主板和核心
    发表于 04-13 17:27

    你的专属“数字员工”已到岗!迅为RK3588系列开发板适配OpenClaw

    你的专属“数字员工”已到岗!迅为RK3588系列开发板适配OpenClaw
    的头像 发表于 03-11 11:02 741次阅读
    你的专属“数字员工”已到岗!迅为RK3588系列<b class='flag-5'>开发板</b><b class='flag-5'>适配</b>OpenClaw

    【飞嵌入式RV1126B开发板】+两款开发板之比较

    由图可以看出看出,两者均采用组合式结构设计,所不同是飞开发板所使用的核心是采用齿孔引脚被焊接到功能底板,而灵眸开发板是采用插接式来连接核心
    发表于 03-05 23:32

    香橙全志系列开发板适配OpenClaw教程

    普惠新篇章:香橙全志系列开发板全面拥抱OpenClaw时代 AI智能体正加速从概念走向普及,但高性能硬件的门槛是否让许多创新者望而却步?香橙全志系列开发板现已全面
    发表于 02-25 18:29

    OpenHarmony开发开源资料!-RK3568开发板:从入门到实战的全栈硬件平台

    点的利器: - RK3568 开发板,以及它的核心开源资源站——Gitee 仓库(https://gitee.com/xie-shancai/lockzhiner-rk3568-
    的头像 发表于 02-05 13:56 643次阅读
    OpenHarmony<b class='flag-5'>开发</b>开源资料!<b class='flag-5'>凌</b><b class='flag-5'>蒙</b><b class='flag-5'>派</b>-RK3568<b class='flag-5'>开发板</b>:从入门到实战的全栈硬件平台

    性能跃迁,鸿蒙开发新纪元!RK3566鸿蒙开发板,开启全场景开发之旅

    【导语】还在为鸿蒙开发寻找强劲、稳定、高效的硬件平台?RK3566鸿蒙开发板震撼登场!集高性能、全接口、强生态于一身,专为鸿蒙开发者、
    的头像 发表于 12-11 17:58 2659次阅读
    性能跃迁,鸿蒙<b class='flag-5'>开发</b>新纪元!<b class='flag-5'>凌</b>羽<b class='flag-5'>派</b>RK3566鸿蒙<b class='flag-5'>开发板</b>,开启全场景<b class='flag-5'>开发</b>之旅

    触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

    2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release系统适配。这一
    的头像 发表于 10-29 08:00 1086次阅读
    触觉智能Purple Pi OH<b class='flag-5'>开发板</b>率先<b class='flag-5'>适配</b>OpenHarmony6.0 Release,鸿蒙明星<b class='flag-5'>开发板</b>

    【作品合集】飞嵌入式OK527N-C开发板测评

    T527N开发板试用】使用WiFi传输文件,烧写固件 【飞T527N开发板试用】7寸RGB屏幕适配与TP驱动 【飞
    发表于 09-22 15:54

    【飞T527N开发板试用】7寸RGB屏幕适配与TP驱动

    7寸RGB屏幕适配 显示屏bootloader适配 在T527开发板的源码中uboot并没有开源,所以这里需要寻找厂家支持来做适配。我这里厂家的支持还是非常及时的。很快就发来了打包好的
    发表于 08-15 18:06

    deepin 25成功适配魔方3开发板

    近日,deepin(深度)社区宣布,deepin 25 已正式适配魔方 3(RUBIK Pi 3)开发板,并完成产品兼容性认证!
    的头像 发表于 07-28 15:14 1295次阅读

    RK3568开发板暗藏32位兼容开关?飞嵌入式带你一键解锁!

    RK3568是一款64位处理器,飞嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568开发板上运行32位应用。本文将详细阐述如何使用32位交叉编译器,编译出32位应用,并使其能够在飞嵌入式RK3568
    的头像 发表于 07-19 08:49 4561次阅读
    RK3568<b class='flag-5'>开发板</b>暗藏32位兼容开关?飞<b class='flag-5'>凌</b>嵌入式带你一键解锁!

    有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙开发板

    最近我发现一个有趣的开发板。这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。它就是米尔新出的YM90X开发板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所科创
    的头像 发表于 06-13 08:03 1988次阅读
    有ARM,NPU,FPGA三种核心的<b class='flag-5'>开发板</b> — 米尔安路飞龙<b class='flag-5'>派</b><b class='flag-5'>开发板</b>

    3步精简Android11预装!瑞芯微开发板系统瘦身实战

    本文介绍瑞芯微开发板安卓Android11系统预装应用裁剪的方法,使用触觉智能PurplePiOH鸿蒙开发板演示,搭载了瑞芯微RK3566芯片,4核1.8Ghz+1T算力NPU;类树莓
    的头像 发表于 06-06 17:57 1430次阅读
    3步精简Android11预装!瑞芯微<b class='flag-5'>开发板</b>系统瘦身实战

    deepin 25 Beta版本成功适配Radxa ROCK 5系列开发板

    近日,deepin(深度)社区宣布,deepin 25 Beta 版本已正式适配 Radxa ROCK 5 系列开发板,包括 ROCK 5B、ROCK 5B+ 和 ROCK 5 ITX 等型号。
    的头像 发表于 06-06 17:25 1841次阅读