刘博文,童立靖
(北方工业大学 计算机学院,北京 100144)
基于多视角三维扫描数据的图像配准
刘博文,童立靖
(北方工业大学 计算机学院,北京 100144)
三维激光扫描是上世纪90年代发展起来的一门新兴技术。考虑到测量设备测量范围的限制和被测物体外形复杂性等,单次扫描无法获得完整的、精确的模型。从而需要从不同的视点对被测物体进行扫描。一些高精度的扫描仪除了可以获得三维点云数据,还可以获得一种散乱的纹理图像。本文根据纹理映射的原理和逆向工程的思维,将扫描仪得到的点云数据和纹理数据通过一系列步骤提取出图像信息,再利用仿射变换的原理计算出二维投影图像的信息,然后准确地提取出二维投影图像。最后,采用基于SURF特征点提取算法,对提取出的两幅二维投影图像进行了配准。
三维扫描;图像获取;投影图像;SURF;图像配准
随着计算机视觉技术的迅速发展,对三维图像数据的处理与信息提取越来越成为计算机图像处理的研究重点与重要的研究方向。原二维图像中的视角问题在三维模型中较易处理,只需要一定的预处理步骤即可解决。三维模型以空间网格为框架,通过纹理映射对网格表面信息进行填充,可以获取投影纹理图像。
对于三维模型的二维图像的配准技术,有助于三维重建[1]、三维配准等方面的进一步研究。二维图像的配准方法有很多种。有基于灰度信息的配准方法、基于变换域的配准方法、基于特征的配准方法。本课题的方法主要是采用基于特征点的配准方法。为了解决特征点的自动提取方法,许多研究者提出了不同的方法,常用的有Harris特征点[2]配准算法、尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)特征点[3]配准算法和加快鲁棒特点(Speeded Up Robust Features,SURF)特征点[4]配准算法。本文采用SURF算法进行投影图像的配准。
在投影图像的获取时,本文方法是将图像仿射变换的理论应用到三维模型中,以三维空间网格中的每个三角面片为单位利用其点云与纹理数据生成二维投影图像,此过程为纹理映射的逆过程。然后将获得的投影图像进行图像的配准,本文采取的方法为SURF配准法。SURF算法是SIFT算法的改进,在许多方面的性能上都优于SIFT算法。SURF由于具有实时性、系统匹配识别效果好、有较好的鲁棒性的特点。
在进行二维投影图像的获取前,首先采集三维模型,然后对三维模型数据进行提取。提取二维投影图像的整体流程图如图1所示。
图1 提取投影图像流程图Fig.1 extract projection image flow chart
三维模型中的每个点坐标值为x、y、z表示,而二维图像仅存在于x、y平面。将原三维模型中全部点的空间坐标平移至第一象限,使模型中的空间坐标都为正数,这样可以保证去除后面计算中出现重复点的情况。
计算三维模型中点的坐标值。获取横纵坐标的最大最小值,选取一定的比例关系,按照以下公式。确定生成的二维投影图像的大小。
其中,Xmax、Xmin、Ymax、Ymin为三维模型的空间坐标平移至第一象限后,横纵坐标的最大最小值。PictureEnlarge为选取一定的扩大比例系数。
计算每一个顶点在二维投影图像中的位置。本文中使用的是美国Artec Spider手持式高精度三维扫描仪扫描得到的OBJ模型,其中的纹理模型为JEPG格式文件,将要存储的二维投影图像为BMP格式的文件。由以下公式计算顶点信息在二维投影图像中的位置:
PointX、PointY为计算后顶点像素信息需要保存的位置,VertexU、VertexV为纹理图片顶点信息的U、V值。JPEGLarge为纹理图片的长宽,由上述扫描仪扫描后的模型纹理图片大小均为正方形。由于U、V值为双精度浮点数值,而存储的像素位置为整数值,因此在所有有关计算像素位置时,均采用四舍五入的方式。
三角形面片内部像素点填充之前,需要先判断哪些像素点覆盖在该三角面片上,哪些不在,不在的点则不需要填充。这就要做一个判断,本文采用向量法。用向量法判断二维投影图像上的已知点N( x, y)是否在ΔABC上。设ΔABC三个点的坐标分别为A( xa,ya)、B( xb,yb)、C( xc,yc),求出向量然后利用向量的叉乘分别计算
最后对比叉乘结果:若三个叉乘结果均为同号,则说明该点在三角形内部,进行像素的填充。若三个叉乘结果有异号,则说明该点在三角形内部,放弃填充。若三个叉乘结果有一个为零,则说明在三角形边上,则也进行该点像素值的填充。
三角形面片内部像素信息的提取与保存。整张图片的大部分像素信息的提取,将在这部分完成。由于三角形面片内部的像素信息,在三维模型中并不可获知。所以采用纹理图片到生成的二维图片的仿射变换,来作像素点的映射。
利用仿射变换求映射关系矩阵M,用齐次坐标形式表示向量和点。以空间三角网格面片为单位,每个三角面片的三个顶点坐标在二维图像上的坐标(xi′, yi′)已求,其对应纹理坐标(ui, vi)可知,利用三个顶点间的映射关系求出映射矩阵。根据映射关系对二维图像内的点进行像素填充。以空间三角网格面片为单位,由仿射变换的一般特性可知,仿射变换可将平行线转化为平行线、有限点映射到有限点。所以每个三角面片内的像素点都遵从该三角形的映射规则。
由公式(6)可得如下映射矩阵:
由于计算像素点的精度的丢失、三角形边缘部分点的判断的一定误差和自适应调整确定的二维图片大小等原因。会导致最终存储下来的图片,会有部分点的像素没有填充。主要成单点状,长条状。因此,需要进行缺省像素点的插值。由于需要插值的点较少,本文采用用四邻域法,进行像素点的插值。
到目前为止,在国内外的图像处理研究领域,已报道过相当多图像配准研究理论,产生了不少图像配准方法。每一种方法都是面向一定范围的应用领域,也具有每种方法的特点,如文献[5][6]中提到的图像配准算法。目前,图像配准方法中利用的图像信息区别可将图像配准方法分为三个类别:基于灰度信息法、变换域法和基于特征法[7],其中基于特征法又可以根据所用的特征属性的不同而细分为若干种。
对于本文中所提取的多视角二维投影图像,比较适用的方法有基于点特征的SIFT算法和SURF算法。Dvad G.Lowe在2004年总结了现有的基于不变量技术的特征检测方法,并正式提出一种基于尺度空间的、对图像缩放、旋转甚至仿射变换保持不变性的图像局部特征描述算子--SIFT算子[2],其全称是Scale invariant Feature Transform,即尺度不变特征变换。SIFT算法对图像旋转、尺度缩放、亮度变化保持不变性比较好。对视角变化、仿射变换、噪声也保持了一定程度的稳定性。同时独特性较好,适用于在大量特征数据中进行快速并且准确的匹配。因此这类基于点特征的图像算法适用于本文中多视角三维模型中提取二维投影图像的配准。
SURF算法是SIFT算法的改进,在许多方面的性能上都由于SIFT算法。SURF由于具有实时性、系统匹配识别效果好、具有较好的鲁棒性的特点。因此本文使用基于SURF的算法对获取的投影图像进行匹配处理。
SURF检测算法的整体思想流程同SIFT类似,但在整个过程中采用了与SIFT不同的方法。
1)特征检测
特征^点的检测主要基于尺度空间理论。在投影图像中x=(x, y)处的点在尺度σ上的定义Hessian矩阵。Bay[8]等人提出用方框铝箔近似替代二阶高斯滤波,用积分图像[37]来加速卷积以提高计算速度。在原始投影图像上通过扩大正方形的大小形成不同尺度的投影图像金字塔的9×9正方形滤波模版值。
用类似SIFT的方法构成了金字塔图像在每一阶中选择4层尺度的图像,如果图像尺寸大于模板大小很多,那么继续增加阶数。例如,滤波模板大小为N×N,则对应的尺度s=1.2×N/9,然后用Hessian矩阵求出极值后,在3× 3× 3的立体邻域内进行非极大值拟制,只有最近26个邻域值都大或者都小的极值点,才能作为待选的特征点。最后,在尺度空间和图像空间中进行插值计算,来得到稳定的特征点坐标及所在的尺度值大小。
2)方向确定
为达到保证旋转不变性的目的,首以特征点为中心,计算半径为6 s(s为特征点所在的尺度值)区域内的点在x,y方向的Haar小波响应,并且给这些值赋高斯权重系数,使得靠近特征点的响应贡献大,远离特征点的响应贡献小,这样符合客观实际;然后对60度范围内的响应作加法以形成新的矢量,遍历整个圆形,选一个最长矢量的方向作为此特征点的主方向,按照此方法,通过对每个特征点进行计算从而得到每一个特征点的主方向。
3)描述子形成
描述子的形成首先以特征点为中心,将坐标轴挪到主方向的位置,选则长为20 s的正方形区域,将该区域划分成4×4的小区域,在每个小区域内计算5 s×5 s的小波响应,对于主方向上的水平、垂直方向Haar小波响应记做xxd d,赋予同样响应值,这样可以增加几何变换的鲁棒性;然后将每个小区域的响应和其绝对值相加形成这样,在每个小区域形成四维分量矢量sumV=。对每一特征点则形成4× 4 464×=维的描述向量,最后再进行向量的归一化。
SURF为本文获取的投影图像配准提供了自动提取特征的方法。由于SURF特征点相对于几何变换和光亮度的不变性,该特征对于获取的投影图像之间的差异具有较好的容错性。通过对提取出的特征进行局部区域描述,特征点的独特性非常好,有利于进一步的匹配。
本算法在Microsoft Visual Studio 2005环境下基于OpenGL和OpenCV,采用MFC实现,软件运行环境为:Inter(R) Core(TM) i7-4710MQ CPU @ 2.50 GHz,8 GB内存,Windows 7 64位操作系统。本实验主要针对三维模型的数据处理。实验模型来源于美国Artec Spider手持式高精度三维扫描仪扫描得到的三维模型。
首先本系统对扫描仪获取的三维数据进行处理。其中原始三维模型数据如图2、图3所示。
图2 原始三维模型数据1Fig.2 original 3D model data 1
图3 原始三维模型数据2Fig.3 original 3D model data 2
对数据进行处理。得到的规则二维图片如图4、图5所示。
图4 提取的二维投影图像1Fig.4 extracted 2D projection image 1
图5 提取的二维投影图像2Fig.5 extracted 2D projection image 2
对获取的两幅二维投影图像,进行基于SURF的配准。配准情况如图6。将投影图像中,匹配成功的对应点对用黑色点打出并且连线。
图6 配准的二维投影图像Fig.6 2D projection image after registration
本文根据纹理映射仿射变换的原理和逆向工程的思维,将扫描仪得到的点云数据和纹理数据通过模型数据坐标归一化、确定二维投影图像大小、三角形网格顶点像素信息提取等步骤提取二维投影图像信息,再利用仿射变换关系计算整理二维图像数据并补充像素丢失点,最后准确地提取出了二维投影图像。然后,根据提取出的两幅二维投影图像,基于SURF特征点提取算法,对两幅投影图像进行了配准。本文研究结果为基于二维图像特征点的三维模型重建和配准奠定了一定基础。因此对基于二维图像特征点的三维模型重建和配准将是下一步工作的研究重点和研究方向。
致谢
本文受北方工业大学2016年度学生科技活动项目的资助,在此鸣谢!
[1] 张志强. 一种对扭曲景象序列三维重建迭代方法. 软件, 2013, 34(10): 100-101. ZHANG Z Q. An iterative for 3D reconstruction of distorted image sequences. Software, 2013, 34(10): 100-101.
[2] HARRIS C, STEPHENS M. A combined corner and edge detector[C]// Proceedings of the 4thAlvey Vision Conference, Manchester: [S. n.], 1998, 15: 147-151.
[3] LOWE D G. Distinctive image features from scale-invariant key-points[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.
[4] HERBERT B, ANDREAS E, TINNE T, et al. SURF: Speeded Up Robust Features[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359.
[5] 赵龙, 韦群. 改进ICP算法用于多组图像的点云拼接与融合[J]. 软件, 2014, 35(3): 80-85. ZHAO L, WEI Q. Improved ICP algorithm for multi group image point cloud registration and fusion[J]. Software, 2014, 35(3): 80-85.
[6] 罗佳宇, 田会永等. 基于角点特征的自动图像配准. 软件, 2011, 32(2): 67-70. LUO J Y, TIAN H Y. Automatic image registration based on corner feature. Software, 2011, 32(2): 67-70.
[7] 殷伶. 图像匹配技术的研究[D]. 西安电子科技大学, 2010. YIN L. Research on image matching technology[D]. Xidian University, 2010.
[8] BAY H, TUVTELLARS T, GOOL L Van. SURF: speeded up roust features[C]// Proceedings of the European Conference on Computer Vision, 2006: 404-414.
Image Registration Based on Multi View 3D Scanning Data
LIU Bo-wen, TONG Li-jing
(College of Computer, North China University of Technology, Beijing 100144, China)
Three dimensional laser scanning is a new technology developed in the last century in 90s. Taking into account the limits of measurement equipment measurement range and the complexity of the measured object, single scan can not get the complete and accurate model. So it is needed to scan the measured object from different viewpoints. Some high precision scanner can not only get the 3D point cloud data, but also get a scattered texture image. This paper is based on the principle of texture mapping and reverse engineering thinking. Through a series of steps, the image information is extracted from the point cloud data and texture data obtained by the scanner. Then, based on the principle of affine transformation, the information of 2D projection image is calculated. And the 2D projection image is extracted accurately. Finally, based on the SURF feature point extraction algorithm, two 2D projection images are registered.
3D scanning; Image acquisition; Projection image; SURF; Image registration
TP391
A
10.3969/j.issn.1003-6970.2016.09.007
北方工业大学2016年度学生科技活动项目
刘博文(1992-),男,硕士研究生,主要研究方向:数字图像处理、三维重建。童立靖(1972-),男,副教授,主要研究方向:数字图像处理、计算机图形学等。
童立靖,副教授,主要研究方向:数字图像处理、计算机图形学等。
本文著录格式:刘博文,童立靖. 基于多视角三维扫描数据的图像配准[J]. 软件,2016,37(9):29-32