使用云台相机进行实时对象跟踪(肤色追踪)

2021-12-31 10:14:38 浏览数 (1)

使用云台相机进行实时对象跟踪(肤色追踪实验)

IPC摄像头将跟踪对象保持在视频的中心。

硬件

FPGA Zybo

AXIS V5915 50HZ PTZ

介绍

对象跟踪是在视频序列的每个连续帧中寻找感兴趣的区域,在许多应用中都很有用,例如汽车行业、自动视频监控系统和手势识别。

该项目展示了使用 Zybo Z7-20 SoC 的 FPGA 加速跟踪算法。该系统还包含 AXIS V5915 PTZ 摄像机,通过与摄像机服务器的 TCP 连接而进行控制达到我们的目的。

肤色追踪

肤色识别是在YCbCr色彩空间中完成的,可以通过RGB像素乘以3x3转换矩阵来实现:

转换后,可以创建肤色分类掩码,255 值表示像素被认为是皮肤。

Ta、Tb、Tc、Td 值是通过实验确定的。

分类后,可以计算皮肤区域的中心坐标:

具体位置计算:

Im(i, j) 是 (i, j) 像素坐标的掩码值。

控制相机的位置

相机的服务器在 TCP 端口 80 上接受 HTTP 请求,其结构如下所示:

例如,如果我们想将相机绕垂直轴向右旋转 10 度,则应发送以下请求:

其他参数如下表所示:

系统架构设计

使用异构 Zynq-7000 SoC,可以将项目划分为两个子系统:在可编程逻辑中实现的肤色跟踪算法,负责计算跟踪对象位置并将其写入 AXI4 Lite 接口,以及负责从 AXI4 获取对象坐标的相机控制系统接口并通过 TCP 循环控制相机的速度。总图如图 1 所示。

PS端设计

使用了 Xilinx SDK自带的 TCP Client 示例项目的进行修改。主程序循环如图所示(详细见源码)。

PL端设计

顶块设计如图所示。

演示

源码

❝https://gitee.com/openfpga/ddctracking/tree/master

0 人点赞