目标检测全流程示例

OE包在 samples/ucp_tutorial/all-round 路径下提供了目标检测全流程示例,该示例描述了如何在J6上运行一个检测模型并展示结果。

注解

QNX操作系统及J6P暂不支持运行此目标检测全流程示例。

程序原理

本示例包含了CameraInputModule、InferenceModule、PostProcessModule、CodecModule和WebDisplayModule, 并使用生产者+消费者模型将各个模块串连起来,其关系如下图所示:

sample
  • CameraInputModule:获取从sensor传入的金字塔图像。
  • InferenceModule:选择金字塔图像一层,调用ucp模型推理接口执行检测任务。
  • PostProcessModule:对预测的结果进行后处理,获取检测结果。
  • CodecModule:获取金字塔图像,编码为jpg格式数据输出。
  • WebDisplayModule:获取智能结果和编码后的jpg数据,通过websocket发送到web展示。

编译与部署

bash build_aarch64.sh

上方命令执行后,会生成一个deploy目录,将该目录拷贝到J6板子上。

运行

进入deploy文件夹,执行如下命令:

sh run_sample.sh -x

x表示log的debug级别,支持i/d/w/e。

  • i: 打印info信息,可显示各个module的耗时和FPS,默认设置为i。
  • d: 打印debug信息。
  • w: 打印warning信息。
  • e: 打印error信息。

camera支持

目前支持OVX8b(Fov120)摄像头。

如何使用

进入deploy文件夹,修改后处理配置文件可调整检测效果:

vi script/configs/model/postprocess_config.json

运行全流程示例:

sh run_sample.sh

打开浏览器,访问 http://IP。其中,IP即J6板端地址。点击web展示端链接,即可查看检测效果。