关于c++:多视角三维模型纹理映射-03

45次阅读

共计 1645 个字符,预计需要花费 5 分钟才能阅读完成。

首先,严格意义来说,本文题目并非合乎无关多视角纹理映射的相干内容,而是基于上一篇文章《多视角三维模型纹理映射 02》的留坑持续 …

其实,应该叫做 — 3D 扫描仪转台标定 吧。

在开启这部分的工作前,查阅了很多论文、材料等,其中比拟有借鉴意义的是《旋转平台点云数据的配准办法》,【作者周朗明,郑顺义,黄荣永,武汉大学】,这篇文章给了本人极大的启发。

设施与筹备

先来看一些本人所用到设施及其大体组合构造示意图:

本人所应用的根本设施如上图所示:相机支架,深度相机(间接产生点云,内参已知)、旋转平台,待测物体(标定块)。嗯嗯,只有也仅有上述几个设施而已。其中旋转平台和相机的间隔应在正当范畴内。

在固定好上述设施的地位关系后,接下来就是设计标定算法并验证了。

3D 扫描仪转台标定算法设计

首先要明确,标定的目标是什么,料想的标定后果是什么。

标定目标

第一个问题:标定的目标??目标难道不是确定转台和相机的绝对地位关系嘛?!是,当然是。更进一步的,因为相机无奈间接拍摄转台外表获取相应数据 (此处转台为纯彩色,且转台外表没有标记点),因而须要借助 标定块 来实现相应目标。此时,上图中 [实物 ] 能够临时了解为 [标定块 ]。

此时,又引来另一个问题,抉择什么样的标定块。留神,这里的标定块,是【】,不是标定板,是一个三维的实体规范块。在抉择标定块时候,最好该标定块有严格且已知的规范尺寸,形态最好比较简单,且 数学意义上比拟好形容,如球、圆柱等等。

算了,间接上我选的标定块吧,如图:

对,没有错。我抉择了台球,台球简直合乎上述所有要求 (规范直径,规范数学形容公式、易拟合),而且还比拟便宜。此时 标定块 或者称为 标定球 更为适合。在理论施行中,我抉择了那个纯白色的球球 …eee… 因为其外表色调比拟繁多 ….

留神:因为相机内参曾经晓得了,不须要对深度相机进行反复标定,所以也不须要标定板。

至此,根本解决了所有内部依赖条件。

标定的后果

在筹备得当所有的内部硬件条件后,进一步便须要寻求标定后果。

设想一下扫描过程:转台在地位 1,相机拍摄该地位下的标定块点云 1 -1;转台在地位 2,相机拍摄该地位下的标定块点云 2 -2;… 如此循环直到实现标定块的 360 度扫描。

转台旋转一周,拍摄的台球点云如下图:

不言而喻,“貌似 ”规范球在围绕 一个货色 旋转了一周。想想也是如此,不就是转台带着规范球转了一圈嘛。

的确,这里的 一个货色 就是咱们 3D 转台标定要求解的货色。从论文和上图数据,不难猜测:扫描失去的点云,是在绕某个 固定轴 – 这个货色旋转。至此,根本晓得,我要求解的后果应该是个 固定轴

是什么样的固定轴呢?– 旋转平台的核心轴 — 旋转平台的核心轴在相机坐标系下的示意 —旋转平台的中心点 旋转平台的立体法向量 在相机坐标系下的示意 ==> 标定后果。

至此,彻底明确了,所谓的标定后果,应该蕴含两个数据:点坐标和向量。

在上述场景下,如何求解这两个货色?!根本求解过程如下:

  1. 将台球固定在转台表明,管制旋转平台绕固定角度旋转;
  2. 相机拍摄每个固定角度下的台球点云数据;
  3. 为缩小误差,步骤 1 和步骤 2 数据量个数越多越好;
  4. 拟合每个角度下的台球点云 — 球数据,并提取球心(提取球半径,与标准台球半径比拟,侧面测验规范球拟合算法精度);
  5. 反复步骤 4,直至计算出所有拍摄角度下的球心坐标;
  6. 基于步骤 5,在三维空间中拟合圆;
  7. 提取三维圆形的圆心和法向量 ==> 标定后果。

为了进一步提高精度,能够反复步骤 1 –7,取屡次测量后果的均值作为最终的标定后果。

测试

将规范球的标定后果利用于规范球,试验后果如下:


由上图可见,标定过程根本正确,后果根本可承受。

测试人头数据:

本篇文章的记录根本都可能基于 PCL 实现,所以不再贴源码。

大节

本篇文章联合后面几篇,实践上根本能够搭建一个转台式三维扫描仪,当然,还有很多很多中央须要改良。

最近一系列文章涵盖了 3D 标定(本文)、点云非线性全局优化、全局点云交融、三维网格模型纹理映射等几个方面的根本要点及基础理论。尽管目前都已实现,但还有待更进一步的深刻开掘。

正文完
 0