用户中心

资讯 > 机器视觉

如何采用3D相机实现矩阵变换?

www.cechina.cn2022.11.23阅读 1941

  在实际的检测的场景中,拍摄超长、超大或曲面物件时,单台3D相机无法一次获得完整点云图,用户需要通过单台多次或多台单次拍摄之后进行图像拼接。
  为实现图像拼接,则需要实现矩阵变换功能,常规操作是:用户通过二次开发赋予点云相应坐标,完成图像拼接等工作任务。
  本文我们将从向量和矩阵开始,用数学解释物体之间的坐标系的转换到实际现实中,如何在3D相机中进行矩阵变换,统一各个传感器的坐标系,最终实现点云图像的拼接。
  向量和矩阵
  向量最基本的定义包含方向(Direction)和大小(Magnitude,也叫做强度或长度)。向量可以是多维的。向量的起点一般默认设置为(0,0,0),这个时候向量指向就变为一个点CONTROL ENGINEERING China版权所有,这个向量就可以称“位置向量”。
  我们使用勾股定理来获取向量的长度/大小。如果你把向量的x与y分量画出来,该向量会和x与y分量为边形成一个三角形。有一个特殊类型的向量叫做单位向量。单位向量有一个特别的性质——它的长度是1。我们可以用任意向量的每个分量除以向量的长度得到它的单位向量,我们把这种方法叫做一个向量的标准化。
  简单来说矩阵就是一个矩形的数字、符号或表达式数组。矩阵中每一项叫做矩阵的元素(Element)。矩阵可以通过(i,j)进行索引,i是行,j是列。单位矩阵是一个除了对角线以外都是0的N×N矩阵。常见的变换矩阵有三种形式:缩放、平移和旋转(沿X轴、Y轴和Z轴)。
  位置和姿态
  通常情况下,我们可以利用位置和姿态去描述一个物体在三维坐标系下的状态:
  1.在对象物体上建立一个自身坐标系;
  2.计算此坐标系和原始坐标系的XYZ偏移和旋转量;
  3.得到一个六个元素的数组用以描述此物体在原始坐系下的位姿。
  点云坐标系和世界坐标系
  通常单台3D相机获得点云数据的位置坐标XYZ是基于相机自身的坐标系下CONTROL ENGINEERING China版权所有,它的原点是标定的零点,若存在多台3D相机控制工程网版权所有,则需要获得各台相机在世界坐标系下的位置,并得到各台3D相机点云坐标系到世界坐标系的变换矩阵,通过矩阵变换的方式,将各台相机的点云坐标统一在世界坐标系下。
  盛相Sizector S系列技术平台的矩阵变换功能
  Sizector S系列技术平台提供了硬件级别的矩阵变换功能,通过此功能,基于该平台的产品可以直接输出矩阵变换后的点云数据:
  · 可以通过拖动条进行XYZ比列缩放、XYZ旋转和XYZ轴平移的矩阵变换;
  · 下方3x4是最终变换矩阵M=Ts(缩放矩阵)X Tr(旋转矩阵)X Tt(平移矩阵)。

多台3D 相机下的统一坐标系            S162170单台3D相机拍摄结果

  矩阵变换功能的实际应用
  一个典型的需求是获得完整的电池顶盖高精度点云图像。难点在于由于被测物过长,难以使用一台相机就获得完整高精度图像。
  传统3D相机矩阵变换的实现通常需要基于电脑计算,因此整体处理速度较慢。我们将搭建两台Sizector 3D相机控制工程网版权所有,对被测物进行拍摄。通过矩阵变换,将点云图坐标统一,获得完整图像。具体实现步骤如下:
  1. 搭建拍摄系统
  搭建一个简单的3D双相机系统。本次使用的3D相机为Sizector S162170和S028240。
  2. 制作标定物
  在标定物的选取上,需要特别注意:
  · 依据两个3D相机放置的位置关系,标定物要在3D数据上有明显区别;
  · 标定物尽量选择漫反射的表面材质易于Sizector  3D相机拍摄。
  3. 获得变换矩阵
  将点云导入到第三方软件后进行处理获得变换矩阵。现采用Cloud compare示例,处理的步骤大致可分为:导入控制工程网版权所有,过滤噪点,着色,选出标记物点云,配准,输出点云。
  将另一相机获取的点云图重复以上四个步骤之后,我们可以得到两个3D相机拍摄的标定物点云,此时这两个点云都是基于各自3D相机的点云坐标系。得到两台3D相机拍摄的标定物点云之后,可将两个标定物点云配准选点,在配准测试之后,即得到变换矩阵。
  4. 将变换矩阵输入待变换的3D相机
  将上一步骤获得的变换矩阵输入到待变换的3D相机的红框位置(如下):

  5. 拍摄被测物

被测物拍摄效果

  6. 查看效果
  将上一步两台3D相机拍摄的点云图输入第三方软件,验证矩阵变换结果,即可得到矩阵变换后完整的点云图。

矩阵变换、图像拼接结果

  盛相Sizector 的硬件矩阵变换功能只需设置硬件参数即可获取转换后的3D点云,从而帮助用户在高帧率获取数据的同时简化算法、提高开发效率。(作者:陈志文www.cechina.cn,上海盛相工业检测科技有限公司应用工程师) 

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688