瑞芯微RK3576芯片平台实现多路AHD高清摄像头输入演示,基于触觉智能RK3576开发板Purple Pi OH2演示。详细可以查看本CDSN的介绍

AHD简介

  • AHD简介

AHD全称为Analog High Definition,是一种基于模拟传输的高清视频技术。其核心优势在于通过同轴电缆实现500米无压缩高清信号传输,支持1080P分辨率,并采用亮色分离、模拟滤波及3D降噪技术提升图像质量。

  • 应用场景

触觉智能RK3576核心板作为一款高性能AIoT模组,凭借其8核CPU+16M ISP+6Tops算力NPU的强大性能,在与AHD高清摄像头组合,可应用于以下领域:机器人(如智能割草机)、车载NVR(行车记录/监控系统)、新零售智能终端(无人售货柜、智能零售亭、广告机)、电梯楼宇对讲与门禁系统、农机平板等。

图片

  • 演示环境

演示设备为触觉智能RK3576开发板Purple Pi OH2,系统固件为Debian12。其配套核心板,40.5×40.5mm极致小尺寸邮票孔,支持LPDDR4或LPDDR5高速内存,率先适配开源鸿蒙OpenHarmony5.0国产操作系统,100%全国产,支持最高-40~85℃工业级环境。

图片

软硬件系统框架解析

  • 硬件连接框架

触觉智能RK3576系列产品(核心板/开发板/行业主板)采用的AHD摄像头连接方案为分层结构设计,整个硬件连接框架分为摄像头层、转换层、处理层和显示层4层连接:

(1)摄像头层由多路AHD摄像头组成,这些摄像头布置在不同位置,从多个角度采集视频数据。

(2)转换层由AHD转接板实现,负责将模拟信号转换为数字信号。

(3)处理层以触觉智能RK3576系列产品(核心板/开发板/行业主板)为核心,负责对视频流进行编解码、分析和合成。

(4)显示层则通过多种显示接口实现视频输出,如HDMI、DP或MIPI-DSI接口。

图片

  • 软件架构

以Linux系统为例,利用GStreamer框架实现视频采集、处理和推送。软件架构主要包括设备驱动层、中间件层和应用层。设备驱动层负责管理硬件设备,如AHD转接板、显示接口等;中间件层提供视频处理、编码解码、AI分析等功能;应用层则实现具体的业务逻辑,如视频监控、行为分析、人脸识别等。

图片

对于AI视觉应用,软件架构还可以利用RK3576强大的6Tops算力NPU为基础,集成AI推理框架,如RKNN(Rockchip Neural Network SDK)。RKNN是瑞芯微推出的神经网络推理框架,支持多种深度学习框架的模型转换和优化并高效运行。通过RKNN,开发者可以实现人脸识别、车辆检测、行为分析等AI功能,并将这些功能集成到GStreamer管道中,实现对视频流的实时分析。

图片

测试方法&实测演示

  • 4路AHD摄像头(4×1080P@30FPS输入)

画面预览命令:

gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,540,960,540>" sync=false &
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,960,540>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,960,540>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,540,960,540>" sync=false &
sleep 2

  • 8路AHD摄像头(4×720P@30FPS+4×1080P@30FPS输入)

画面预览命令:

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video12 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video14 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,400,480,360>" sync=false &
  • 8路AHD摄像头(8×1080P@30FPS输入)

画面预览命令:

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,480,360>" sync=false &

sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video12 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video14 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,400,480,360>" sync=false &

如需停止预览,输入以下命令:

killall gst-launch-1.0

  • 实测数据

触觉智能RK3576开发板得益于其强悍配置,多路AHD高清摄像头输入实现了画面毫秒级延迟!

图片

1路摄像头1080P@30FPS输入画面延迟,实测为89毫秒,实拍图:

图片

4路摄像头1080P@30FPS输入画面延迟,实测仅146毫秒,实拍图:

图片

8路摄像头1080P@30FPS输入画面延迟,实测仅233毫秒,实拍图:

图片

内存CPU的占用率:

图片

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐