【FMQL30TAI开发-PLIN模式】视频采集+YOLO目标识别+HDMI显示/VPU压缩保存,全流程详解
2026/9/23 16:45:10 网站建设 项目流程

本工程基于复旦微官方提供的PLIN+HDMI/VPU参考实现进行实现,基础环境配置如下:

  • 硬件平台:FMQL30TAI悟净开发板(完整版/LITE版)
  • 传感器:SDI摄像头,1080P@60Hz
  • ICraft版本:v3.36.1
  • 工程下载地址:FMSH大学计划
  • 模型库地址:icraft_modelzoo合集详情-来自AIBS · 魔搭社区
  • 本文所用具体工程文件如下图所示:

1. PLIN参考实现数据流

2. 硬件互联情况

  • FMQL30TAI悟净开发板完整版

  • FMQL30TAI悟净开发板LITE版

3. 编译yolov5模型(WIN系统)

  • windows系统安装(未安装情况下):Icraft_Setup_v3.36.1.exe;CustomOp_Setup_v3.36.1.exe;IcraftMdz_ThirdParty_v0.2.exe

  • 将最新生成的yolov5s_plin_ZG.json和yolov5s_plin_ZG.raw手动拷贝至plin+hdmi/vpu运行时工程相应目录

4. 交叉编译runtime app(win系统下docker环境)

  • 导入docker环境
(base) PS C:\Users\26252\Desktop\plin_demo> (base) PS C:\Users\26252\Desktop\plin_demo> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES (base) PS C:\Users\26252\Desktop\plin_demo> docker import .\ubuntu20.04_container.tar ubuntu2004:imported sha256:2cd5e6f8d67d9b8c1560a4f1f71acfbfacb7d6e6e60e4e02d1b6d18a75b220bc (base) PS C:\Users\26252\Desktop\plin_demo> docker run --name=ubuntu20.04_container -it -v C:\Users\26252\Desktop\plin_demo:/mnt/docker_data ubuntu2004:imported /bin/bash root@f4d7f9b8953e:/# ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var root@f4d7f9b8953e:/# cd /mnt/docker_data/ root@f4d7f9b8953e:/mnt/docker_data# ls CustomOp_3.36.1_onchip.deb CustomOp_Setup_v3.36.1.exe IcraftMdzThirdParty.deb IcraftMdz_ThirdParty_v0.2.exe Icraft_3.36.1_onchip.deb Icraft_Setup_v3.36.1.exe fpai_demo_package_26040701 fpai_demo_package_26040702 ubuntu20.04_container.tar yolov5_7.0 ''$'\346\202\237\345\207\200''LITE'$'\347\211\210''_BOOT_25122301_'$'\345\215\225\350\267\257''PLIN+pHDMI('$'\345\244\226\347\275\256''detpost)' ''$'\346\202\237\345\207\200\345\256\214\346\225\264\347\211\210''_BOOT_25122301_'$'\345\215\225\350\267\257''PLIN+pHDMI('$'\345\244\226\347\275\256''detpost)' root@f4d7f9b8953e:/mnt/docker_data# root@f4d7f9b8953e:/mnt/docker_data# root@f4d7f9b8953e:/mnt/docker_data# root@f4d7f9b8953e:/mnt/docker_data#
  • 安装icraft环境
root@f4d7f9b8953e:/mnt/docker_data# dpkg -l | grep icraft root@f4d7f9b8953e:/mnt/docker_data# dpkg -i Icraft_3.36.1_onchip.deb Selecting previously unselected package icraft:arm64. (Reading database ... 19786 files and directories currently installed.) Preparing to unpack Icraft_3.36.1_onchip.deb ... Unpacking icraft:arm64 (3.36.1) ... Setting up icraft:arm64 (3.36.1) ... root@f4d7f9b8953e:/mnt/docker_data# dpkg -i CustomOp_3.36.1_onchip.deb Selecting previously unselected package customop:arm64. (Reading database ... 20227 files and directories currently installed.) Preparing to unpack CustomOp_3.36.1_onchip.deb ... Unpacking customop:arm64 (3.36.1) ... Setting up customop:arm64 (3.36.1) ... root@f4d7f9b8953e:/mnt/docker_data# dpkg -i IcraftMdzThirdParty.deb Selecting previously unselected package icraftmdzthirdparty:arm64. (Reading database ... 20246 files and directories currently installed.) Preparing to unpack IcraftMdzThirdParty.deb ... Unpacking icraftmdzthirdparty:arm64 (0.1.1) ... Setting up icraftmdzthirdparty:arm64 (0.1.1) ... root@f4d7f9b8953e:/mnt/docker_data# root@f4d7f9b8953e:/mnt/docker_data# dpkg -l | grep icraft ii icraft:arm64 3.36.1 arm64 This is Icraft for arm64 ii icraftmdzthirdparty:arm64 0.1.1 arm64 This is IcraftMdzThirdParty for arm64 root@f4d7f9b8953e:/mnt/docker_data#
  • 交叉编译PLIN+HDMI应用程序

  • 交叉编译PLIN+VPU应用程序

  • 修改PLIN+HDMI应用程序,yaml配置文件

  • icraft-show确认算子情况

5. 板载系统安装Icraft环境

6. 运行PLIN+HDMI应用程序

  • 注意root权限
  • 根据需要修改yaml配置文件
  • 运行程序

  • 运行效果

  • 视频效果

30tai_单路plin_hdmi显示

7. 运行PLIN+VPU应用程序

  • 修改配置yaml文件

  • 运行程序

  • 输出结果

  • 打开vpu压缩结果

  • 视频效果

30tai_单路plin_vpu压缩保存

8. 悟净LITE开发板运行PLIN+HDMI效果

  • 两款开发板只有某个管脚约束不同,其余完全兼容,所以把悟净完整开发板的SD卡(系统里保存了上述几个章节的应用程序)FAT分区的BOOT.bin替换成LITE版的
  • 运行相同程序,效果完全一致:

9. 升级Icraft为v3.39.0版本

  • 对于高版本的icraft器支持的算子和模型要更丰富,如果针对yolo系列模型3.36和3.39无差异
  • 3.39并未发布参考实现,但可以复用3.36的runtimeapp代码和位流,但win系统版本、交叉编译环境、板载环境三个需要配套升级。

9.1 win系统升级icraft3.39

  • 卸载icraft3.36
  • 安装icraft3.39
  • 编译yolov5

  • icraft-show可视化模型结构,发现算子op id发生变化

  • 将新生成的json和raw上传至开发板系统相关路径下

9.2 交叉编译环境升级icraft3.39

  • 卸载3.36
  • 安装3.39

  • 交叉编译PLIN+HDMI应用程序

  • 将交叉编译生成的应用程序上传至开发板相应目录下

9.3 板载系统升级icraft3.39

  • 卸载 icraft3.36
  • 安装 icraft3.39

9.4 运行PLIN+HDMI应用程序

  • 运行程序报错

  • 网络OP ID 发生变化,修改配置yaml文件,按照9.1节的实现情况进行修改

  • 运行程序,效果正常

10. 固定视频输入HDMI转SDI_IN

  • 对于某些特殊场景的实时视频采集与智能分析,由于开发场景和应用场景之间的差异,摄像头在开发环境无法捕捉到应用场景目标。在此背景下,可以采用将视频或图片序列在一台电脑进行播放,通过HDMI输出画面进入HDMI转SDI模块,接入开发板。
  • 该模式也可用于调试和Debug,控制变量,便于定位分析,尤其是精度问题。

  • 实时智能分析效果

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询