Sizector®3D相机采用移相法结构光和硬件计算技术,能够在硬件内部完成复杂的结构光拍摄控制和解算,直接输出高质量的3D点云数据。结合光学、机械、电子、软件、算法的全方位深度自研和多年持续优化,Sizector®在速度、精度等性能方面已经大幅领先其他同类产品:最高全周期帧率为47FPS,最高全周期点率为63.18MPts/s,区域重复精度达50纳米,而同类产品普遍为微米级别。Sizector®更是提供了自动HDR、降噪、滤波、修补、矩阵变换等十余种硬件功能,涵盖拍摄控制、点云重构和后处理三个阶段。
在拍摄超长、超大或曲面物件时,单台3D相机无法一次获得完整点云图,用户往往需要通过单台多次或多台单次拍摄之后进行图像拼接。常规矩阵变换功能的实现,需要用户通过二次开发赋予点云相应坐标,完成图像拼接等工作任务;而Sizector®的硬件矩阵变换功能只需设置硬件参数即可获取转换后的3D点云,从而帮助用户在高帧率获取数据的同时简化算法、提高开发效率。本期内容我们将分享如何通过盛相科技Sizector®3D相机实现硬件矩阵变换以获得完整图像。
通常情况下,我们可以利用位置和姿态去描述一个物体在三维坐标系下的状态:
1. 在对象物体上建立一个自身坐标系;
2. 计算此坐标系和原始坐标系的XYZ偏移和旋转量;
3. 得到一个六个元素的数组用以描述此物体在原始坐标系下的位姿;
通常单台3D相机获得点云数据的位置坐标XYZ是基于相机自身的坐标系下,它的原点是标定的零点,若存在多台3D相机,则需要获得各台相机在世界坐标系下的位置,并得到各台3D相机点云坐标系到世界坐标系的变换矩阵,通过矩阵变换的方式,将各台相机的点云坐标统一在世界坐标系下。
多台3D相机下的统一坐标系
Sizector®S系列技术平台提供了硬件级别的矩阵变换功能,通过此功能,基于Sizector®S系列技术平台的产品可以直接输出矩阵变换后的点云数据:
1.可以通过拖动条进行XYZ比例缩放、XYZ旋转和XYZ轴平移的矩阵变换;
2.下方3x4是最终变换矩阵M=Ts(缩放矩阵)X Tr(旋转矩阵)X Tt(平移矩阵);
Sizector®MPS-SDK界面截图(部分)
被测物实拍图
获得完整电池顶盖高精度点云图像。
由于被测物过长,难以使用一台相机就获得完整高精度图像。
S162170单台3D相机拍摄结果
传统3D相机矩阵变换的实现通常需要基于电脑计算,因此整体处理速度较慢。而Sizector®3D相机拥有强大的硬件计算能力,可直接通过Sizector®S系列技术平台实现矩阵变换,处理速度大大提升。我们将搭建两台Sizector®3D相机,对被测物进行拍摄。通过矩阵变换,将点云图坐标统一,获得完整图像。具体实现步骤如下:
搭建一个简单的3D双相机系统。本次使用的3D相机为Sizector®S162170和S028240。
安装示意图
标定物点云图
在标定物的选取上,需要特别注意:
1、依据两个3D相机放置的位置关系,标定物要在3D数据上有明显区别;
2、标定物尽量选择漫反射的表面材质易于Sizector®3D相机拍摄。
将点云导入到第三方软件后进行处理获得变换矩阵。现采用Cloud compare示例,处理的步骤大致可分为:导入,过滤噪点,着色,选出标记物点云,配准,输出点云:
将另一相机获取的点云图重复以上四个步骤之后,我们可以得到两个3D相机拍摄的标定物点云,此时这两个点云都是基于各自3D相机的点云坐标系。
两台3D相机拍摄的标定物点云
得到两台3D相机拍摄的标定物点云之后,可将两个标定物点云配准选点,在配准测试之后,即得到变换矩阵。
将上一步骤获得的变换矩阵输入到待变换的3D相机的红框位置。
被测物拍摄效果
将上一步两台3D相机拍摄的点云图输入第三方软件,验证矩阵变换结果,即可得到矩阵变换后完整的点云图。
矩阵变换、图像拼接结果