小亿 发布的文章

接着上一篇文章:技术|RV1126 本地安装 rnkk-toolkit-lite,实现 python 实施 AI 推理,本文讲述如何在 RV1126 上实现视频流推理;
同时,有两种方法来实现视频分析,1:通过视频采集分析;2:通过定时图片采集分析。这里主要讲述通过 eKuiper 1.8.0 来实现图片定时抓取分析。

前提条件

准备好 RV1126 运行环境

你需要有一个可以运行 rknn 推理框架的硬件设备。

如果实在无法运行,可以寻求我司的技术支持:18616669123

基础知识准备

  • 熟悉 RKNN 相关的配置和运行环境,可参考官方文档:https://github.com/rockchip-linux/rknn-toolkit
  • 高性能 PC,基于 Windows 用于预编译 RKNN 模型,或基于 macOS 用于开发;
  • Docker 开发构建 docker 镜像和运行容器的技能;
  • Linux开发搭建HOST运行环境的技巧;
  • Python脚本调试Python开发技巧;
  • AI/ML 开发深度学习调试技能; GO语言编程技巧;

也就是说,你最好是一位全栈开发者

配置过程

过程稍有些复杂和繁琐,需要的基础知识很多,请多参考各框架的官方文档。

搭建 eKuiper 运行环境

基础运行环境

创建视频分析 stream 和 rule

  • 创建视频源 source
    2023-02-13T04:40:37.png
  • 创建规则 rule
    2023-02-13T04:41:27.png
    action 可以根据自己的需求,选择合适自己的 Sink
  • 观察结果(mqtt broker)
    2023-02-13T04:43:32.png
    确保视频源采集成功,且将图片二进制发送出去;

部署 rknn 推理插件

创建 rknn 推理 rule

  • 创建 rule
    2023-02-13T04:51:46.png
  • 启动 rule,查看日志,推理成功
    2023-02-13T04:53:31.png
  • 验证外部 mqtt broker 接收到推理结果
    2023-02-13T04:54:26.png

总结

  • 必须很熟悉 eKuiper 运行环境,熟读官方文档,这个很重要;
  • Docker 环境要玩的好,否则日志都不一定找得到;
  • 插件不能有一点错误,否则看不到任何结果,代码质量要求很高;
  • 基础运行环境的依赖库很头疼,尤其是在 RV1126 的架构是 armv7l 情况下;
  • eKuiper 的 rule 规则用 SQL 来写,还是很有挑战性的工作,各种参数传递,没点能力理解不了;
  • eKuiper 和 eKuiper manager 版本要一致,1.8.0
  • 算法精度需要自己多琢磨,可能需要训练自己的模型才能达到毕竟好的推理结果;
  • 最后看一下 tflite 在 CPU 上推理 和 rknn 在 NPU 上推理结果对比,快了 100倍;
    2023-02-13T05:02:24.png