Blender模拟结构光3D Scanner(一)外参数匹配

发布于:2025-08-15 ⋅ 阅读:(18) ⋅ 点赞:(0)

如何使用Blender模拟FPP(Fringe Projection Profilometry) 原理的结构光3D传感器?

主要包含的工作有:

1)相机、投影仪定位与内外参数匹配;

2)投影仪投射指定Pattern图像;

3)被测物体材质属性配置等;

本篇主要关注外参数匹配。

外参数匹配的基本思路 是,添加Camera和SpotLight节点,并设置各自的变换(Transform)属性,主要是位置X/Y/Z和旋转X/Y/Z六个参数。


1 Blender中变换参数的含义

Blender中,变换参数的含义可理解为世界坐标系到当前Object坐标系的变换,用位置X/Y/Z和旋转X/Y/Z可分别表示为\boldsymbol{T}_{3 \times 1}\boldsymbol{R}_{3 \times 3}

则Object坐标系下的点\boldsymbol{P}_\textnormal{obj}与该点在世界坐标系下的坐标\boldsymbol{P}_\textnormal{W}之间的变换关系为

\boldsymbol{P}_\textnormal{obj}=\boldsymbol{R}\boldsymbol{P}_\textnormal{W}-\boldsymbol{R}\boldsymbol{T}  (1-1)


2 左相机变换参数配置

在三维测量中惯用的相机坐标系定义为,

X ——  相机画幅平面内水平向右的方向为X正方向;

Y —— 相机画幅平面内竖直向下的方向为Y正方向;

Z —— 相机观测正前方(Front)方向为Z正方向;

        但Blender中,相机坐标系的定义是不同的。具体表现为,在Blender中将相机变换参数的位置X/Y/Z和旋转X/Y/Z都设置为0,如图1所示。

图1 相机位置和旋转参数置0

图2 相机视野和方向

        此时相机的视野和方向如图2,图中和红色/绿色/蓝色线为世界坐标系XYZ三轴的轴线, 三个轴的正方向可参见右上角的坐标轴缩略图(彩色实心圆指向轴的正方向);图中橙色线段,端点标有XYZ的是相机坐标系;相机的视野前方为世界坐标系的Z负方向,相机视野的上方向为世界坐标系的Y正方向。

        为了使相机的视野前方与上方向与三维测量中惯用的相机相匹配,需要设置Blender中相机旋转变换参数,旋转Y/Z轴均设置180°,如图3所示。设置后,相机视野前方指向Z正方向,视野上方指向Y负方向。

        但注意此时Blender中相机坐标系(橙色)的各轴方向为:        

        X ——  与世界坐标系X正方向一致;

        Y —— 与世界坐标系Y正方向相反;

        Z —— 与世界坐标系Z正方向相反;

图3 旋转Y/Z轴均设置180°后的Blender相机坐标系

        根据式(1-1),此时Blender相机坐标系下点的坐标\boldsymbol{P}_{\textnormal{C}}与该点在世界坐标系下的表示\boldsymbol{P}_{\textnormal{W}}的关系为

\boldsymbol{P}_{\textnormal{C}}=\boldsymbol{R}_{\textnormal{C}}\boldsymbol{P}_{\textnormal{W}} (2-1)

式中,\boldsymbol{R}_{\textnormal{C}}对应旋转变换参数Y/Z轴均设置180°。

        但是,此时Blender相机坐标系和三维测量惯用的相机坐标系(本节开头)定义仍是不同的,若在此时Blender相机节点的位置,建立三维测量惯用的相机坐标系,设该坐标系下点的坐标为\boldsymbol{P'}_\textnormal{C},则\boldsymbol{P'}_\textnormal{C}与该点在Blender相机坐标系下的坐标\boldsymbol{P}_{\textnormal{C}}之间的变换关系为

\boldsymbol{P'}_\textnormal{C}=\boldsymbol{R}_x\boldsymbol{P}_\textnormal{c}  (2-2)

        式中,\boldsymbol{R}_x对应旋转变换参数X轴旋转180°,即Blender相机坐标系绕X轴旋转180°可构造出三维测量惯用的相机坐标系。


3 投影仪变换参数配置

        投影仪和双目系统中右相机的地位是相同的。在Blender中可通过设置聚光灯(Spot Light)+图像纹理的方式来模拟投影仪的效果。参考式(1-1),配置投影仪变换参数即确定\boldsymbol{R}_\textnormal{P}\boldsymbol{T}_\textnormal{P}

\boldsymbol{P}_\textnormal{P}=\boldsymbol{R}_\textnormal{P}\boldsymbol{P}_\textnormal{W}-\boldsymbol{R}_\textnormal{P}\boldsymbol{T}_\textnormal{P}  (3-1)

        聚光灯的坐标系(即投影仪坐标系)与第2节中Blender相机坐标系的定义是类似的,也存在Blender投影仪坐标系与三维测量惯用的投影仪坐标系差距\boldsymbol{R}_x旋转的问题,即

\boldsymbol{P'}_\textnormal{P}=\boldsymbol{R}_x\boldsymbol{P}_\textnormal{P} (3-2)

        若三维测量系统标定外参数已知,即三维测量惯用的投影仪坐标系与三维测量惯用的左相机坐标系的变换关系已知,则有

\boldsymbol{P'}_\textnormal{P}=\boldsymbol{R}\boldsymbol{P'}_\textnormal{C}+\boldsymbol{T} (3-3)

        联立式(2-1)、(2-2)、(3-1)、(3-2)、(3-3)可求得投影仪变换旋转参数\boldsymbol{R}_\textnormal{P}和平移参数\boldsymbol{T}_\textnormal{P},即可对应得到Blender聚光灯的变换参数。

\boldsymbol{R}_x\boldsymbol{P}_\textnormal{P}=\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{P}_\textnormal{c}+\boldsymbol{T}

\boldsymbol{R}_x(\boldsymbol{R}_\textnormal{P}\boldsymbol{P}_\textnormal{W}-\boldsymbol{R}_\textnormal{P}\boldsymbol{T}_\textnormal{P})=\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}\boldsymbol{P}_\textnormal{W}+\boldsymbol{T}

\boldsymbol{R}_x\boldsymbol{R}_\textnormal{P}\boldsymbol{P}_\textnormal{W}=\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}\boldsymbol{P}_\textnormal{W}

\boldsymbol{R}_\textnormal{P}=\boldsymbol{R}_x^{\top}\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}  (3-4)

-\boldsymbol{R}_x\boldsymbol{R}_\textnormal{P}\boldsymbol{T}_\textnormal{P}=\boldsymbol{T}

-\boldsymbol{R}_x\boldsymbol{R}_x^{\top}\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}\boldsymbol{T}_\textnormal{P}=\boldsymbol{T}

-\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}\boldsymbol{T}_\textnormal{P}=\boldsymbol{T}

\boldsymbol{T}_\textnormal{P}=-(\boldsymbol{R}\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C})^{\top}\boldsymbol{T}  (3-5)

注意,式中\boldsymbol{R}_x\boldsymbol{R}_\textnormal{C}可理解为分别绕XYZ三个轴各转了180°,相当于没有转!

所以有

\boldsymbol{T}_\textnormal{P}=-\boldsymbol{R}^{\top}\boldsymbol{T}  (3-6)

最终实验得到的一组投影仪变换参数和相机-投影仪位置关系如图4所示

图4 实验得到的一组投影仪变换参数和相机-投影仪位置关系


网站公告

今日签到

点亮在社区的每一天
去签到