图 1. RealSense® Viewer中的D585 Pro原型机:深度流(左)与搭载相机端检测及测距结果的RGB流(右,检测距离 2.2 米、2.4 米),仓库场景,环境自然光。
了解RealSense®相机端人体检测如何结合AI识别、精准深度测量与广视场覆盖,助力机器人在有人环境中更安全地运行。
D585 Pro依托自身V5 SoC完成人体检测,每秒30次输出JSON格式数据,为每一个目标返回检测框、置信度以及目标质心的实测距离,数据仅数百字节,无需主机GPU。本文将解析底层原理:测距精准的原因、120° 视场带来的优势、API形态、检测器的性能边界,以及随着安全功能AI相关规范逐步成型,如何将该方案部署至安全架构中。
一款基于 DAMO-YOLO的轻量化人体检测器,使用RealSense ®D585光学模块采集真实数据训练,可在Gen5视觉SoC上运行;该芯片同时支持D555(已量产)与D585 pro(目前面向客户送样)。
D585 Pro搭载的第5代SoC。每帧输出一组检测结果:类别、置信度(0~100)、像素边界框、毫米单位距离。检测结果以30帧 / 秒在独立 ROS 2话题或RealSense® SDK中推送,与RGB、深度流相互独立。你可以直接订阅检测结果,无需从相机拉取任何视频帧。
三项核心设计让该方案适用于安全相关场景,本文重点介绍这三点:测距数据来自深度引擎而非神经网络;用于测距的深度图与检测器所读取的RGB图像在相机内部完成配准,整套光学模块出厂统一标定;输出为轻量元数据,输出时序稳定可预测。
1. 测距准确的原因:单模块,一次标定
任RGB-D 相机,若彩色传感器与深度传感器相互独立,都需要做外参标定与重投影,才能为RGB像素匹配深度值。两个传感器之间的基线会产生视差,因此在人体轮廓边缘,RGB像素和经过 “配准” 后的深度像素可能分属不同物体。在RGB图上绘制的检测框,其边缘会混入背景深度。该问题的严重程度取决于三点:基线的长度与刚性、标定精度与稳定性、以及框内距离的读取方式。
最糟糕的情况是外接RGB相机:作为独立模块,不属于深度单元,可根据结构设计任意摆放,与深度传感器间距常达数十厘米。二者无共用外壳、无刚性固定结构、无统一热传导路径。振动造成支架形变、器件升温导致安装座膨胀、维护时的磕碰,任意一种情况都会造成外参偏移数个像素,检测框对应的深度值会在无提示的情况下不再属于目标人体。数据本身无法反馈该异常。想要维持出厂精度,只能反复重新标定。
D585 Pro不存在该问题,因为图像配准不依赖主机或机械结构。它搭载专用RGB图像传感器,紧贴立体成像组的左图像传感器,基线短,集成在同一刚性光学模组、同一外壳,共用一条热传导路径。深度由左右图像传感器通过立体引擎计算,相机在数据上传至主机前,依靠模组出厂标定参数逐帧将深度重投影至 RGB像素网格。检测器基于RGB图像运行,检测框对应相机内部生成的配准深度图,模组仅需在工厂完成一次标定;机器人的机械结构不会改变传感器之间的相对位置。框边缘残留视差会在距离读取环节做处理,也就是下一节的内容:相机提取检测框质心附近最近深度聚类,剔除异常值,框边缘的背景像素不会计入测量结果。
图2. 上图:双传感器RGB-D相机需要外参标定与重投影,检测框边缘会采集背景深度。下图:D585 Pro的RGB图像传感器与立体成像模组位于同一刚性出厂标定模块,深度在相机内部重投影至 RGB 网格,因此检测框坐标在配准深度图中有效。
2. 测距结果可信的原因:测量环节不含神经网络
检测器属于AI,但测距不是AI。生成检测框后,相机提取框内深度像素,找到框质心附近最近聚类,通过非极大值抑制剔除异常点,输出该聚类的距离。D585 Pro的立体深度由搭载双投射器的专用引擎生成(主动红外立体),基于几何运算,并非推理预测。
这种功能拆分对安全工程至关重要。检测器有可能漏检人体,或将衣帽架误识别为人,但它不会把墙面的距离误判为近1.5米。测量链路不包含学习型组件,你可以像对待任何测距传感器一样评估最坏误差,这也正是安全功能AI相关新兴规范所提出的设计模式:AI负责目标检出,确定性逻辑完成测量与判断。
图3. 测量链路。仅第一个模块为神经网络。测距方法遵循librealsense 2.58.3;2.58.4固件新增测距选项。【待确认 (b)】
3. 120°×100° 视场与15厘米最小检测距离带来的价值
视场这项参数往往在装机后才会意识到其重要性。将D585 Pro安装在AMR 上,高度1.4 米时,100° 垂直视场的下边缘可在前方1.2米处触地。同等高度下,常规58° 垂直视场相机要到2.5米外才能看到地面。二者差异体现在:机器人紧邻的行人,D585 Pro能拍到脚部,而普通相机画面会在膝盖位置截断。
水平方向120°视场:2米距离处覆盖宽度6.9米,3米距离处覆盖宽度10.4米。三台相机即可实现设备360°全覆盖。行人从通道走出时,在进入机器人行驶路径前就会被检测到,导航系统有充足时间减速,而非紧急停机。代价是远距离下人体像素占比降低,详见下一节。
图 4. 安装高度1.4米时的覆盖几何。侧视图:100°垂直视场(蓝)对比常规58°相机(灰);俯视图:120°与 87°水平视场在1米、2米、3米距离处的覆盖宽度。
4. 了解检测边界范围
广角镜头将画面分摊至固定像素总量,因此人体目标像素尺寸随距离增加快速缩小。检测器输入分辨率为416×416。身高1.75米成年人正对相机站立时,检测框在约1.3米处达到 COCO“大目标” 阈值(96²=9216 像素 ²),约3.8米处达到COCO“小目标” 阈值(32²=1024像素 ²)。检测框面积随距离平方衰减,数值变化非常快。
检测质量随框尺寸变化。在仓库基准测试(IoU 0.50:0.95)中,调优模型对大目标AP可达 0.91,中目标0.70,小目标0.06。在 COCO人体数据集上,同模型对应AP为0.75、0.55、0.04。1.3米以内检测性能优异,测距基于数千个深度像素;1.3~3.8米区间检测稳定,适用于减速与区域逻辑;超过3.8米,站立人体仅数百像素,检测结果仅用作态势感知。
图 5. 站立成年人检测框面积与距离曲线,D585 Pro几何模型,检测器输入416×416。分区遵循COCO小 / 中 / 大目标定义;AP指标来自RealSense®仓库基准测试。
姿态会改变检测边界。同等距离下,蹲姿或躺姿人体的检测框更小,对应的阈值距离会缩短,下表可作为设计依据:
| 边界框尺寸 | 正对站立 | 双臂展开 | 侧向站立 | 蹲姿 | 正对躺卧 |
|---|---|---|---|---|---|
| 大目标 (≥ 9,216 像素²) | ≤ 1.3 m | ≤ 2.2 m | ≤ 0.8 m | ≤ 2.2 m | ≤ 1.9 m |
| 中目标 | 1.3 to 3.8 m | 2.2 to 6.6 m | 0.8 to 2.7 m | 2.2 to 5.7 m | 1.9 to 3.9 m |
| 小目标 (< 1,024 像素²) | ≥ 3.8 m | ≥ 6.6 m | ≥ 2.7 m | ≥ 5.7 m | ≥ 3.9 m |
身高1.75米、标准BMI成年人,采用Drillis & Contini(1966)人体比例,相机高度1.4 米,检测器输入416×416,不同框尺寸对应的距离区间。RealSense®内部分析数据。
图6. 表格用到的人体姿态:站立、双臂展开、侧向站立、蹲姿、躺卧。
| 基准测试, IoU 0.50:0.95 | 小目标 AP (AR) | 中目标 AP (AR) | 大目标 AP (AR) |
|---|---|---|---|
| COCO 人体数据集 | 0.195 (0.168) | 0.549 (0.517) | 0.747 (0.737) |
| RealSense 仓库数据集 | 0.061 (0.600) | 0.702 (0.559) | 0.911 (0.822) |
经RealSense®调优的检测器。原始模型指标:COCO数据集AP 0.168/0.517/0.737;仓库数据集AP0.041/0.559/0.862。可以看到在RealSense®数据集上性能大幅提升。
5. 输出元数据,而非视频流
传统机器人人体检测方案是将RGB视频流传输至主机,在主机运行模型。会占用原本留给导航的GPU资源,增加数据拷贝与预处理开销,总线承载完整视频流。D585 Pro整套检测链路在相机端运行,每帧输出一条JSON消息。D555在主机端测得端到端延迟为53毫秒。
图 7. 相机输出数据。检测JSON输出帧率30fps,带宽仅数KB/s;对比原始1280×960 RGB图像 30fps约110MB/s。RGB流与深度流可独立保持可用。
接口设计力求简洁。话题名称/realsense/D585{serial}_ObjectDetection,消息类型 std_msgs/String,承载JSON数据,QoS采用BEST_EFFORT与图像话题匹配,帧率30fps。订阅话题即可开启检测,取消订阅则关闭检测。有效负载:
{
"schema_version": 1,
"message_type": "object_detection",
"timestamp_us": 123456789,
"frame_id": 42,
"enabled": true,
"has_result": true,
"number_of_detections": 2,
"detections": [
{ "class_id": 0, "confidence": 85, "x1": 100, "y1": 50, "x2": 300, "y2": 250, "distance_mm": 1500 },
{ "class_id": 0, "confidence": 72, "x1": 400, "y1": 100, "x2": 550, "y2": 300, "distance_mm": 2200 }
]
}
两个细节专为监控逻辑开发设计:画面内无人时,相机依旧每帧发布消息,has_result标记为true,检测数量为0。无任何消息代表链路或相机故障,而非现场无人。has_result为false代表该帧未执行模型推理。无需再区分 “无人”、“无数据”、“未推理” 三种状态。
6. 在安全架构中如何使用
直白来说:相机端人体检测属于感知功能。它目前还不是安全等级功能,没有通过IEC 61496 或ISO 13849-1性能等级认证。急停保护仍需依靠具备安全认证的设备。该功能提供第二层异构感知能力,可区分人员与托盘,视场大于扫描平面,且无需占用主机算力。按此思路,可实现以下效果:
- 速度与间距预警。利用 distance_mm 参数,在人员进入保护区域前降低设备速度。减少保护性停机,提升设备集群运行效率,安全设备依旧承担核心保护职责。
- 扫描平面以外的区域监测。二维扫描仪仅能在固定高度检测脚踝。相机可以识别俯身探向传送带的人员,或是伸入作业单元的手部。将该信息发送至设备控制器,用于减速或发出告警。
- 融合系统目标分类。将该检测功能与现有测距传感器搭配使用。扫描仪负责测距,相机区分 “这是人,而非箱体”。当方案超出传统ESPE范畴时,传感器标准要求采用异构技术。
- 基于检测范围做设计。站立人员的区域边界设置在3.8米以内;蹲姿、躺姿场景需进一步缩短距离。相机安装高度1.3–1.5米。参考上文姿态表划定区域范围,并针对不同姿态开展测试。
- 监测数据周期。将30fps的心跳包作为存活信号。连续丢失超过N帧消息即判定为故障,并触发对应处理。
- 记录元数据。检测数据带宽仅数KB/s,可长期保存数周。事故复盘、险情统计与区域参数调优几乎无额外成本。
7. 相关标准发展趋势
现在审慎开展方案设计的原因是,相关规范正朝着这类传感器技术演进。以下为截至 2026 年9月的简要概况:
- ISO 3691-4:2023 是现行无人驾驶工业车辆标准,规定了人员检测方式及其测试方法。该标准不限制传感器技术路线,要求检测结果可测量、可验证。
- IEC TS 61496-4-3:2022 针对立体视觉保护设备。它属于技术规范,并非正式完整标准,不含目标分类相关要求。该文件体现了标准委员会对3D相机作为保护设备的思路。
- IEC 62998-1 是即将发布的完整标准,适用于不符合传统 ESPE 框架的安全相关传感器,包含传感器融合与可见光相机。该标准已通过委员会投票,将于2027年进入最终草案阶段。相机+扫描仪融合系统将依托这份标准落地。
- ISO 10218-1 与 -2:2025 将速度与间距监测纳入机器人核心标准。以30fps测量人员距离的相机,可直接作为该逻辑的输入源。
- ISO/IEC TR 5469:2024 以及 ISO/IEC TS 22440 草案,是首批针对安全功能内置AI的国际文件。文件共同推荐图3所示架构:将模型学习部分限定在目标分类,测距与判定逻辑保持确定性,并用非AI逻辑对AI模块做监督。
- 欧盟机械法规 2023/1230 将于2027年1月20日正式实施。带有机器学习自主演进特性的安全组件,需要经过公告机构评估。若计划在欧洲将学习模型用于保护功能,相关认证工作需即刻启动。
图 8. 与基于相机的人体检测、安全功能内AI相关的标准。蓝色:已发布;橙色:制定中。本文不构成法律建议。
以上内容并不代表该测试版检测器属于安全设备。全文核心观点一致:优质传感器需要确定性地测量距离、以可验证形式输出数据,并将AI置于可监管的框架内。D585 Pro正是基于该思路设计。
快速上手
- D585 Pro: 视场角120°×100°,测距范围12厘米至10米以上,1280×960分辨率深度图、60fps 帧率,双RGB模式,支持GMSL2 与USB接口,内置IMU,防护等级IP65。相机端人体检测功能随产品首发,提供测试版。预计 2027 年第一季度出货;评估样机现已交付客户。
- 当前:D555 搭载抢先体验固件即可启用相同功能。感知工作室 会员可获取对应话题、数据结构与配置指南。
- SDK: librealsense 2.58.4 或更高版本。“感知”传感器开放 “目标检测” 数据流;RS2_OPTION_DETECTION_DISTANCE 用于开启单目标测距。
- 告知我们你的区域几何参数与相机安装高度,我们可以帮你确定检测覆盖范围。