识别跟踪器功能
识别跟踪模块接收云台视频后实现目标的检测、识别、跟踪功能,同时在跟踪过程中联动云台伺服、镜头,锁定目标,输出视频中叠加目标信息。识别跟踪模块实物如下图所示。
图 8 识别跟踪器
智能识别模块主要包含如下功能:
- 支持边缘计算应用框架与SDK;
- 支持可见光、热红外视频输入;
- 支持H.264/H.265视频编解码;
- 支持伺服自主控制;
- 支持变焦镜头的自主控制;
- 算法:检测、识别、跟踪、计数、围界入侵管理;
智能识别模块支持以下AI 算法功能:
1 )检测:
可对1.5像素以上的移动物体做检测。
2 )识别:
对热红外3个像素以上或可见光10个像素以上的无人机物体进行基于深度学习的物体识别。
图 9 热红外与可见光目标识别效果
3 )跟踪:
可对检测、识别到的物体发起跟踪,操控伺服与镜头。支持全自动跟踪、即点即跟踪、动目标检测跟踪、手动框选跟踪、波门跟踪等多种模式跟踪,并提供跟踪过程中的闭环伺服与云台运动控制与自适应变倍功能。对于跟踪过程中目标遮挡、目标丢失等情况下提供多种模式的解决方案。
自动跟踪模式下避免传统的框选的麻烦与波门跟踪中无法自适应目标大小的问题,精确识别到目标类型后自动筛选目标进行跟踪。
图 10 2Km距离下的目标识别与跟踪联动
在画面中存在多个识别到目标时可另外选择即点即跟踪模式,在画面上点击要跟踪的目标,模块会锁定该目标进行跟踪。
图 11 点选跟踪效果
在画面中划出需要检测的区域,有移动物体进入到区域后自动锁定跟踪,区域支持不规则形状。
图 12 区域内热红外目标识别与伺服、镜头联动
可在画面中画任意方框进行框选跟踪。
图 13 手动框选跟踪
在画面中点击直接按照设定的波门大小进行跟踪。
图 14 波门跟踪
4 )区域设置:
可在画面中设置任意形状的检测区域,区域数量不多于3个。
5 )自主工作模式:
支持检测、识别、跟踪全自主工作模式,根据设置从发现目标到物体类型识别报警,控制伺服跟踪目标,过程全自主化
智能识别模块产品外观及结构、接口如下图所示。
图 15 智能识别模块尺寸
识别跟踪模块的体积为长60mm,宽50mm,高23.5mm,重量为105g。
识别跟踪模块接口排布如下图所示。
图 16 识别跟踪模块接口
识别跟踪模块工作流程基于边缘计算的LSP(Littro Smart Platform)应用框架进行管理,基于网络化方式管理人工智能设备。其应用逻辑中算法的运行流程如下图所示。
图 17 识别跟踪模块运行流程图
从目标检测到跟踪的整个过程均由产品自主完成,用户可以在运行过程中随时进行接入并主动操作。 在全自主模式下识别跟踪模块在视频中搜索可疑目标,发现目标后对目标进行锁定,进行二次放大连续识别确认目标的真伪,确认为真实目标后随即开始联动跟踪,过程中将目标类型、坐标、云台状态通过数据接口发送至操控端。
识别跟踪模块传输数据分为视频数据与控制与状态数据。视频数据采用RTSP格式视频流,可配置1080P/720P分辨率与0.5/1/1.5/2/4Mbps等不同的视频数据带宽。
控制与状态数据采用JSON数据包格式。JSON通信协议适用于无人机与操控端之间的通信,用于控制与配置云台,获取云台的过程消息,手动控制云台与镜头。
表 1 JSON数据包格式
|-------|-------|-------|-------|------|
| 标识码 || 帧类型 | 帧长度 | 帧内容 |
| 1Byte | 1Byte | 1Byte | 4Byte | N |
| 0xEC | 0x91 | 见帧类型表 | 帧载荷长度 | JSON |
数据包内容中同时提供了识别到目标的截取图片,用于操控端二次分类。
表 2 图片帧格式
|-------|-------|-------|-------|---|---|---|---|------|--------|-------|-------|
| 帧头标识码 || 帧类型 | 帧长度 | 位置 |||| 帧内容 | 帧校验 | 帧尾标识码 ||
| 1Byte | 1Byte | 1Byte | 4Byte | 8Byte |||| N | 1Byte | 1Byte | 1Byte |
| 0xEB | 0x92 | 0x04 | | 左 | 上 | 宽 | 高 | JPEG | 前7字节之和 | 0xFB | 0x92 |
| | | | | | | | | | | | |
图像抓拍为每个目标单独组包。例:该图像中3个目标,协议将发送三个独立协议包。位置为目标在原始图像中的坐标位置,其中包括左(2Byte)、上(2Byte)、宽(2Byte)、高(2Byte)。帧长度代表JPEG的图像大小。
表 3 帧类型表
|--------------|--------|------|
| 帧类型 | 类型名 | 备注 |
| 0x01(设备到客户端) | 状态帧 | JSON |
| 0x03(客户端到设备) | 控制指令 | JSON |
| 0x04(设备到客户端) | 图像抓拍 | JPEG |
| 0x05(客户端到设备) | 图像信息查询 | JSON |
| 0x12 | ACK | |
识别跟踪模块在算法运行过程中会持续推送设备当前工作状态与目标识别跟踪状态信息。具体格式如下表所示。
表 4 识别跟踪模块运行状态上报消息
|--------|--------|------|--------|------------|--------|
| Key || 名称 | Value || 类型 |
| ControlType || 控制类型 | AIInfo || String |
| WorkMode || 工作模式 | 0x01:识别 0x02:自动跟踪 0x03:点选跟踪 0x04:波门跟踪 || Int |
| ObjectCount || 目标总数 | N || Int |
| Object | Class | 目标类型 | 识别 | 无人机:0xA4 | Int |
| Object | Class | 目标类型 | 识别 | 其他:0xA1-A3 | Int |
| Object | Class | 目标类型 | 跟踪 | 正常:0xB1 | Int |
| Object | Class | 目标类型 | 跟踪 | 丢失:0xB2 | Int |
| Object | Points | 位置 | Left | 左X | Int |
| Object | Points | 位置 | Top | 上Y | Int |
| Object | Points | 位置 | Right | 右X | Int |
| Object | Points | 位置 | Bottom | 下Y | Int |
识别跟踪模块同时会把光电云台的运行状态上报至操控端,具体格式如下。
|-------------|--------|-----------|--------|
| Key | 名称 | Value | 类型 |
| ControlType | 控制类型 | ZoomInfo | String |
| ZoomInfo | 镜头倍率 | 精确到小数点后一位 | Double |
| PTZInfoH | 云台横向角度 | 精确到小数点后一位 | Double |
| PTZInfoV | 云台垂直角度 | 精确到小数点后一位 | Double |
操控端中通过JSON数据通道可配置云台的工作模式、转动、变焦以及识别跟踪模块的算法与运行模式。具体协议格式如下表所示。
表 5 识别跟踪模块工作状态配置协议
|-------------|----------|---|-----|--------|
| Key | 名称 | Value || 类型 |
| ControlType | 控制类型 | SetWorkMode || String |
| SetWorkMode | 工作模式 | 0x00: 关闭AI 0x01:识别 0x02:自动跟踪 0x03:点选跟踪 0x04:波门跟踪 0x05:自动变焦开 0x06:自动变焦关 || Int |
| P2Track | Center | X | 横坐标 | Int |
| P2Track | Center | Y | 纵坐标 | Int |
| P2Track | Distance | 中心点搜索范围 波门跟踪模式下为波门大小 || Int |
表 6 光电云台控制协议
|------------|------|------|---------------|--------|
| Key || 名称 | Value | 类型 |
| ControlType || 控制类型 | SerialControl | String |
| SerialType || 串口类型 | PELCO_D | String |
| SerialData | Lens | 长度 | N | Int |
| SerialData | Data | 数据 | N | String |
识别跟踪模块支持传输至操控端的视频分辨率、码率、编码方式的配置,以适应不同的传输链路与带宽需求。具体配置协议如下。
|-------------|-------|----------------|--------|
| Key | 名称 | Value | 类型 |
| ControlType | 控制类型 | ImageSetting | String |
| ImageSize | 图像分辨率 | 0:1080P 1:720P | int |
| ImageBit | 图像码率 | 512~4096 | Int |
| ImageCode | 编码格式 | 0:H264 1:H265 | int |
识别跟踪模块与操控端均要在收到帧后进行ACK帧回复。如果15秒内没有ACK帧则识别跟踪模块强制下线操控端的连接关系,操控端需重新连接识别跟踪模块。
表 7 ACK帧状态
|-------|-------|-------|---------------|---------|
| 标识码 || 帧类型 | 帧长度 | 状态码 |
| 1Byte | 1Byte | 1Byte | 4Byte | 2Byte |
| 0xEC | 0x91 | 0x12 | 0x00 00 00 02 | 0x00 XX |
表 8 ACK帧状态码
|---------|--------|
| 状态码 | 描述 |
| 0x00 00 | 执行正常 |
| 0x00 01 | 包不完整 |
| 0x00 02 | 协议内容错误 |