一、背景
在医学、体育科学、人体工程学等前沿研究领域,动态三维人体重建技术已成为推动学术进步的核心驱动力。该技术基于高精度的三维数据捕捉与重建,能将人体运动姿态转化为数字化模型,帮助研究人员从全新维度解析人体结构与功能。而在商业应用场景中,容积视频(Volume Video)作为三维重建技术的重要落地方向,正通过全息影像为用户带来颠覆性的交互体验 —— 它突破二维平面的限制,将人体和物体的三维体积信息完整复刻至虚拟空间,支持全方位自由视角浏览与实时交互。
实现容积视频的关键在于 3D 相机技术。这类设备集成深度感知与二维成像能力,通过结构光、双目视觉等原理,能够精准测量场景中每个点到相机的距离,为容积视频提供不可或缺的空间维度数据。与传统 2D 相机相比,3D 相机不仅能 “看见” 物体表面,更能 “感知” 其空间位置,让静态画面转化为可交互的三维数字资产。
然而,当开发者尝试构建多台 3D 相机组成的拍摄阵列时,往往会面临一系列技术挑战。以 16 台 Gemini 336L 相机的同步系统搭建为例,硬件层面需解决设备采购成本高昂、安装校准流程复杂(涉及空间布局、光轴对齐等精密操作)以及场地空间要求苛刻等问题;软件层面则需攻克多设备数据同步延迟、异构系统兼容性不足、数据处理算法复杂度高等难关,同时还需投入大量时间学习专业操作工具。本文将围绕这些痛点,系统性地拆解 16 台 Gemini 336L 多机同步系统的搭建全流程,助力开发者高效完成从理论到实践的技术落地。
容积视频
本指南旨在帮助用户成功搭建和使用由 16 台奥比中光 Gemini 336L深度相机组成的拍摄阵列,以实现高质量的容积视频数据采集。
二、硬件连接
2.1 设备连接方式
本方案采用星型连接方式(专业版同步盒子)。
注意: 测试之前需要拆除白色外壳,然后可以看到有更多的接口。
2.1.1 连接拓扑图
(1)同步设备连接:同步1台主机,最多8台从机。
16台可用两组HUB进行级联 :Hub1 to Hub-Primary in2
(2)USB设备连接:共使用16台RGBD相机,尽可能使用独立的USB3.0接口。
2.2. 设备清单
2.2.1 Gemini 336L相机
Gemini 336L 是奥比中光推出的一款3D视觉相机,它在特定场景下增强了深度成像质量,特别是在高光泽地板漆或瓷砖地板的反射区域以及室内白炽灯照明下。这款相机不受环境光线的影响,能够保持优秀的深度质量和性能,满足3D重建和扫描的高精度成像需求。Gemini 336L 继承了 Gemini 335L 的核心设计和卓越性能,并通过增加一个红外通滤光片(IR-Pass filter)来增强特定场景下的深度成像质量。
产品链接:Gemini 336L - 双目相机 - 奥比中光官网
2.2.2 同步触发线
主机需要用到同步线向从机发送触发信号, 同步触发线 如下图所示:
Gemini 336L 同步触发线 8Pin插座的管脚功能定义、线材颜色、管脚顺序 如下:
Note: 当设备正放时,从左到右Pin脚的顺序时1到8(蓝色为Pin1)
2.2.3 同步集线器(专业版Hub)
多机同步Hub的正面如图所示:
多机同步hub的2个侧面 示意图如下:
Primary In : 表示接主设备。
Power 5v In: 表示 Hub需要通过 TypeC 5V供电。(Logic Level默认拨到1.8V)
对于星型连接,一个hub上最多可以接 8个从设备。如果要使用链型连接,可以通过 Hub to Hub,再扩展成多个Hub。
注意: 接多机同步Hub的网线 必须是 T568B-T568B的网线。
2.2.4 电脑配置
当前测试使用电脑配置(供参考):
-
CPU: 11代i7/2.5GHZ*16核,
-
RAM: 32GB
-
Graphics: GPU NVIDIA3060
-
操作系统:Ubuntu22.04
三、硬件连接指南
3.1 336L 通过 Type-C 连接电脑主机
3.1.1 材料准备
(1)Type-C转USB3.0公数据传输延长线若干条
参考NFHK 弯头带螺丝锁面板 灰点工业相机USB 3.1 Type-C转USB3.0公数据传输延长线 黑色直头双螺丝 5.0m
3.1.2 连接操作
(1)将Type-C数据线插入Gemini 336L
(2)将Type-C数据线另一端插入电脑主机
Type-C数据线另一端插入电脑主机
3.2 以太网集线器连接
3.2.1同步线连接
(1)同步线一端连接Gemini 336L
(2)同步线另一端接入以太网集线器
四、软件配置
4.1 软件架构
4.2 软件配置
4.2.1 下载代码
克隆或下载此仓库。
https://github.com/orbbec/MultiDevicesSync.git
4.2.2 通过配置文件配置相机参数
"sn": "CL3N2410049",
"syncConfig": {
"syncMode": "OB_MULTI_DEVICE_SYNC_MODE_PRIMARY",
"depthDelayUs": 320,
"colorDelayUs": 0,
"trigger2ImageDelayUs": 0,
"triggerOutEnable": true,
"triggerOutDelayUs": 0,
"framesPerTrigger": 1
}
sn: 相机的SN号
syncMode: 指定相机的同步模式;主机设置为OB_MULTI_DEVICE_SYNC_MODE_PRIMARY,从机设置为OB_MULTI_DEVICE_SYNC_MODE_SECONDARY
depthDelayUs:ir/depth/tof 触发信号输入延时,单位微秒;(多个相机依次间隔160us,如设备1为0,设备2为160,设备3为320)
colorDelayUs:rgb 触发信号输入延时,单位微秒
trigger2ImageDelayUs:触发信号输入到捕获图像的延时,单位微秒
triggerOutEnable:设备触发信号输出延迟的使能开关
triggerOutDelayUs:设备触发信号输出延时,单位微秒
framesPerTrigger:单次触发图像采集的帧数,仅在软件触发模式和硬件触发模式下有效。
4.2.3 设置当前设备数和连接模式
#define MAX_DEVICE_COUNT 16
ConnectionType connectionType = ConnectionType::WINDOW_USB;
4.2.4 打开终端,进入项目目录
cd MultiCameraSync
4.2.5 创建并进入构建目录
mkdir build
cd build
4.2.6 运行 CMake 来配置和构建项目
cmake ..
make -j
4.2.7 运行程序
./MultiCameraSync
五、16台深度相机同步效果演示:
16_RGBD深度相机同步效果