卢韶芳, 关 馨, 韩长明
(吉林大学 通信工程学院, 长春 130022)
旋转体是指由空间曲线绕空间直线旋转一周所成的旋转曲面与垂直于旋转轴的两个平面所围成的体积, 其中空间曲线(称为母曲线)和空间直线(称为旋转轴)是旋转体的两个重要几何参数[1]。旋转体作为一种结构规则的形体, 在文物考古、 工业测量等领域应用极为广泛。例如, 在出土的大量文物中, 陶瓷和青铜器都以旋转体居多; 工业测量领域许多零件也都是旋转体或由旋转体组成的。因此, 如何快速有效获得旋转体的三维模型, 母线跟对称轴的准确求取显得十分重要。
目前, 利用旋转体几何结构特征进行母线跟转轴提取的方法有很多。郑顺义等[2]提出了一种基于影像进行旋转体重建的方法, 利用旋转平台获取旋转体的影像, 然后通过测量物体上方口径计算旋转体的旋转轴, 再根据影像的参数对影像进行纠正, 计算出旋转体的轮廓线。然而, 该方法需特定的设备配合。钱苏斌等[3]提出一种基于单幅图像, 采用轮廓线特征进行旋转体母线提取方法。该方法主要基于二维图片, 通过角点检测的方法获取有效轮廓线, 具有一定的快速性, 但对于棱角不是特别分明的旋转体在提取过程中, 很难进行有效识别。缪永伟等[4]提出单幅图像的建模思想和一些基于手绘的建模方法[5,6], 都是针对二维手绘草图, 重建空间形体。其基本思想是利用手绘图进行重构, 但采用手绘的方式往往在对曲率较大的曲线绘制上很难把控其方向, 这样会出现曲线失真的情况。张晓峰等[7]提出一种基于单幅图像进行三维重构的方法, 利用边界检测的方法获得图像边缘信息, 基于数字图像排列方式获取对称中心。该方法在数字图像处理方式上更加灵活, 但针对非理想拍摄的图片没有给出明确的处理方法。
旋转体特征信息的提取在准确性和快速性等方面具有较高的要求, 而基于图像的提取方法因其计算灵活, 适用性强, 可以满足这一标准。上述所提算法无论是在母线的获取还是对称轴提取上都有一定的不足, 因此笔者基于二维图像, 采用数字图像处理技术进行旋转体轮廓特征提取方法, 利用旋转体几何结构对称性, 最终确定旋转轴和母线。该方法可快速有效获取旋转体的母线跟转轴, 减小了采用手绘方式勾勒母线的误差, 为物体建模提供了原始的数据, 可用于增强现实虚实配准中。
基于图像的建模(IBM: Image-Based Modeling)是计算机图形学、 虚拟现实技术和计算机视觉等领域研究的热点问题, 在影视制作、 游戏娱乐、 文物复原与保存、 人机交互等领域中被广泛应用[8,9]。笔者将其定位到旋转体陶瓷文物中, 主要借助单幅图像实现旋转体文物轮廓母线和对称轴的提取, 给出的实验系统如图1所示。
该系统主要由计算机、 工业摄像机、 图像采集卡、 目标文物、 高度可调节实验支架、 旋转圆盘以及辅助光源构成。摄像机主要用于图像采集, 利用计算机将采集卡中的图像进行显示和实时处理, 调节支架用于固定摄像机并进行高度调节, 旋转圆盘方便多角度采集图像, 辅助光源用于为实验场景补光, 系统工作流程如图2所示。
图1 实验平台搭建 图2 系统工作流程图 Fig.1 Construction of experimental platform Fig.2 The system work flow diagram
图3 彩色图像 图4 灰度图像 Fig.3 Color image Fig.4 Gray scale image
图像预处理是后期进行实验的基础, 因此前期处理的效果直接影响后期的实验过程, 笔者采集的是彩色图像, 包含一些颜色信息。考虑到实验平台背景只有台布, 前景是目标模型, 在进行图像采集时, 直接采集的图片会有反光, 噪声等干扰因素, 所以有必要对摄像机采集的图片进行剪切。首先要定位区域目标, 然后提取感兴趣的区域并在周边留取一定像素余量, 笔者将目标区域的像素尺寸定为300×300像素。
笔者研究所采集的彩色图像中每个像素都包含R、G、B共3个分量, 如图3所示, 灰度图像是彩色图像3个分量相同的一种特殊形式。笔者在研究过程中不涉及彩色信息, 因此只需将图像二值化, 转换后的灰度图像仍然保持原图像整体和局部的亮度等级特征。这里采用加权平均值法将彩色图像进行灰度化处理(见图4), 灰度化转换公式为
GGray(i,j)=0.30R+0.59G+0.11B
(1)
阈值分割是为了把目标区域从整个图片中分离, 其中由于光照的影响, 目标表面会出现反光的现象, 通常情况下反光的部分比较尖锐, 这会给图像分割造成一定的难度。笔者实验背景是黑色背景, 前景文物是浅色的(光照部分呈现白色), 对于目标和背景灰度相差较大的图像采用灰度直方图法分割最为合适。计算并统计每个灰度值的个数, 绘制灰度直方图(见图5), 为使提取结果更理想化, 笔者设计手动编辑框, 设定观察效果最佳时的阈值T0为理想阈值。利用T0区分图像中的目标像素点和背景像素点, 对任意一像素点f(x,y), 若其灰度值大于阈值T0, 则认为该像素为背景点, 否则认为该点为目标点。笔者设置的阈值为T0=7, 阈值在7~10范围内分割效果最佳。这样便可把目标区域分离, 避免了由于反光而造成的分割效果不佳的问题。
图5 灰度直方图 图6 阈值分割图像 Fig.5 Gray scale histogram Fig.6 Threshold segmentation image
经上述过程分割后的图像往往伴有噪声, 可进行必要的降噪处理。此外, 进行阈值分割后的图像可能会使某些较为关键的区域断开。为满足区域连通性的原则, 笔者采用形态学的方法进行处理, 即消除了一部分孤立的噪点信息, 又完好地将断开的区域连接起来, 这样可较好地保持图像的细节。笔者采用1像素的‘disk’形结构元素进行一次膨胀与腐蚀操作。经过上述步骤, 最终获得相对完整的分割图像(见图6)。
图7 提取算法流程图Fig.7 Flow chart of extraction algorithm
图7给出详细的提取算法流程。利用单幅图像恢复出物体三维形态通常是十分困难的, 但图像自身被赋予的特征往往能让此类问题变得简单可行。笔者利用物体的几何特征进行特定属性的提取。对称性作为旋转体单幅图像的固有属性, 可以利用此特点获取二维图像坐标信息, 结合物体轮廓特征进行提取。笔者主要解决旋转轴跟轮廓母线这两个关键性问题。前期, 已经对拍摄好的图片进行了预处理, 可备用后期的实验, 然而, 在一些特殊场合中, 使用相机在对旋转体进行拍摄时, 会出现以下两种情况使被拍摄的旋转体影像并不总是呈现垂直放置的形态: 1) 相机本身由于各种原因采用倾斜拍摄的方式; 2) 被拍摄的旋转体本身是倾斜的状态下进行拍摄的。此类情况的出现往往在进行旋转轴跟母线提取等处理时会变得及其复杂[10]。因此, 需对图像进行几何矫正, 然后在矫正后的图像上进行对称轴和轮廓母线的提取。首先确定图像的主轴方向, 利用求得的角度判断图像是否倾斜。如果图像倾斜, 则通过计算图像的旋转角度进行倾斜校正, 然后在校正后的图像上利用点对信息确定对称轴, 进而完成母线的提取。
在一幅二值图像中, 物体的方向起着十分重要的作用, 为确定目标图像的几何方向, 笔者引入图像矩进行主轴方向的求取。图像的矩用来描述图像的大小、 灰度和方向等特征。因此, 针对倾斜图像可采用此方法进行目标图像的校正, 明确的矩定义为
(2)
其中B[i,j]表示图像在[i,j]点上的灰度值, 当图像为二值图像用A表示图像白色区域面积的总和。
/A
(3)
图像中二阶矩轴定义为图像上全部点到该线的最短距离。给出一幅二值图像B[i,j], 计算物体点到直线的最小二乘方拟合, 使所有物体点到直线的距离平方和最小
(4)
其中θ是直线的法线与x轴的夹角,ρ是直线到原点的距离。把像素点坐标代入直线的极坐标方程, 两端对ρ求导并结合式(2)得到
χ2=acos2θ+bsinθcosθ+csin2θ
(5)
(6)
(7)
由式(5)和式(6)便可确定图像主轴方向角, 如式(7)所示, 如果将y轴正向定为正方向, 则y轴负向定为负方向。
a 正方向 b 负方向图8 图像旋转示意图Fig.8 Image rotation schematic
通常情况下, 利用摄像机进行拍摄时很难保证相机的中心和物体在同一条直线上, 因此拍摄的图像往往呈现倾斜状态。由于数字图像是一个完整的矩阵, 排列上比较严格, 将倾斜的图片进行校正可以将繁重工作量简单化, 操作更加方便。详细的示意图如图8所示。
笔者根据主轴方向角的确定可进行图像的旋转, 将倾斜的图像进行矫正。当倾斜角度大于零时, 规定该方向为正方向(见图8a), 需要对图像进行逆时针旋转; 当倾斜角度小于零时, 规定该方向为负方向(见图8b), 进行旋转时需对图像进行顺时针旋转。
(8)
(9)
式(8)为倾斜角度为正方向的旋转公式, 式(9)为角度为负方向的旋转公式。
边缘检测就是通过对灰度跃变的分析, 寻找图像上区域边缘的技术。常用的边缘检测算法有梯度法、 Roberts梯度法、 Sobel算法和Laplacian算法。笔者采用sobel算法进行边缘检测, 得到图像如图9a所示, 进行局部放大后的一部分图像如图9b所示,通过查找数字图像的每个像素, 考察它上、 下、 左、 右邻点灰度的加权差, 设定与之接近的邻点的权最大得到图像如图9c所示。在对图像进行边缘检测后, 图像内部往往会出现一部分不希望得到的边缘, 为消除这些不需要的内部边缘, 可采用孔洞填充的方式进行消除, 然后再对整幅图像进行轮廓提取, 以保证将提取到的完整轮廓转化成可用信息。
在进行轮廓提取时, 笔者主要采用邻域的思想进行轮廓提取。该算法的核心思想就是将图像目标区域的内部点进行消除。所谓内部点, 需根据当前像素点的邻域进行判断。若当前像素P(x,y)的8个邻域像素满足如下条件, 则该点为内部点。
1) 假设P(x,y)为目标像素, 设定目标像素点为白色, 记为1, 则背景像素黑色记为0, 则P(x,y)=1;
2)P(x,y)的8个邻域像素均为目标像素1。
将满足上述条件的内部条件点删除, 换为背景点0, 即可获得图像完整的轮廓信息。将其以二维数组的形式进行保存, 便于后期使用。
a Sobel检测 b 局部放大 c 局部改进放大图9 边缘检测与轮廓提取图Fig.9 Edge detection and contour extraction
a 对称点对示意图 b 对称轴提取示意图图10 对称轴提取过程示意图Fig.10 Diagram of symmetry axis extraction process
进行上述一系列步骤后, 获得了较为理想的图像轮廓。利用对称图像的几何特征, 两侧图像可通过一条轴线进行对折, 这条轴线便是所要求的对称轴线。利用这一特点可在数字图像上进行对称轴线的提取。数字图像是以矩阵的方式进行排列的, 一般以一个m×n矩阵进行存储, 假设图像在第i行上有一点S,S点的轮廓像素点坐标是S(i,j), 则在轴线的另外一侧必然存在一点T,T点的轮廓像素点坐标是T(i,k), 笔者就是基于这种思想进行点对查找。如图10a所示, 由于图像在左右方向具有相关性, 首先按列进行查找, 依次找到最左边的点所在列和最右边的点所在列, 再进行行查找, 定位两点所在行。这便确定了两点坐标P(x1,y1)和Q(x2,y2), 则对称轴必过上述两点的中点, 遍历所有图像上的点, 求两点的垂直平分线, 即所求图像的对称轴, 示意图如图10b所示。
利用上述求取方法, 确定图像的对称轴如下所示
a=(xj-x1)2+(yi-y1)2,b=(xj-x2)2+(yi-y2)2,Zmin=|a-b|
(10)
其中a表示到P点的距离,b表示到Q点的距离, 原则上凡是满足到两点相等的点的集合ΦR(i,j)便是对称轴上的点, 但考虑到像素排列的方式, 记作Zmin, 即最小值。最后将所得到的点集R在整幅图像上进行显示。经过对称轴线的平分, 图像轮廓线被分成左、 右两个区域。笔者提取主要部分是左、 右两条边界轮廓线(即母线), 其他多余的轮廓线均视为无效轮廓线。利用上述求得的对称轴可进行有效母线的提取。母线提取算法步骤如下:
1) 对整条轮廓线进行像素查找, 寻找目标像素点(像素值为1的白色像点);
2) 定位旋转轴线所在列;
3) 依次确定轮廓线上下边界所在行, 上边界所在行记作imax, 下边界所在行记作imin;
4) 由于上下两个边界为无效母线, 因此定位上下两个边界行后结合旋转轴线进行相应母线区域截取;
5) 将提取的左右母线进行定义, 左侧母线记作L,右侧母线记作R, 并分别以数组的形式进行数据存储。
笔者应用背景主要为文物保护领域, 因此采用陶瓷花瓶作为实验对象, 设置场景范围长宽高分别为60 cm、 60 cm 、 50 cm, 文物模型尺寸为10 cm×10 cm×18 cm。利用大恒标准工业摄像机进行模型图片的获取, 型号DH-HV1300FC, 为达到更好的拍摄效果, 将文物放置在水平试验台上, 固定工业摄相机, 以防止抖动对图像质量产生影响, 通过载物台进行高度调节, 使其保证在同一水平高度。将拍摄好的图片进行预处理后, 基于邻域轮廓提取思想获得完整的轮廓母线如图11a所示, 结合旋转体自身结构对称特点进行像素查找, 定位轮廓线左右两侧边界点对, 求其垂直平分线(对称轴), 得到的结果如图11b所示, 将求得的对称轴进行边界行查找, 获得两条轮廓母线如图11c和图11d所示。
a 轮廓提取图像 b 对称轴 c 左母线 d 右母线图11 母线获取图像Fig.11 Bus access to images
为验证笔者的算法, 将一部分倾斜图像进行校正, 原始图像如图12a所示, 通过对拍摄的图像进行主轴方向的确定得到图12b, 在此基础上计算校正后图像对称轴如图12c所示, 最后给出笔者算法求得的图像对称轴如图12d所示。
a 原始图像
b 倾斜图像对称轴计算
c 倾斜图像校正
d 校正后图像对称轴求取图12 倾斜图像校正过程Fig.12 Tilt image correction process
通过对上述选取的6幅倾斜图像进行实验校正, 将笔者的求取算法与采用数学中二阶矩轴计算方法进行了对比, 实验结果证明笔者算法平均误差在0.3个像素内, 同时考虑到针对二值图像没有半个像素, 所以笔者求取算法符合要求, 详细的对比如表1所示。
表1 算法性能对比
笔者按照上述步骤将提取的左右两条母线的原始数据进行曲线绘制, 其中x变量表示母曲线像素行坐标,y变量表示母曲线像素列坐标, 得到如图13所示, 图13a为左母线, 图13b为右母线。利用上述数据的提取结果可直接对数据进行分析, 有效减少运算量。最后将给出的母线数据进行曲面绘制, 绕轴旋转形成如图13c所示的三维曲面图。
a 左母线原始数据拟合图 b 右母线原始数据拟合图 c 三维曲面绘制图图13 母线原始数据绘制图Fig.13 Drawing map of the original data of the generatrix
为快速恢复旋转体的三维形态, 笔者提出一种基于旋转体轮廓母线的提取方法, 以陶瓷花瓶为例,在自然场景下, 采用摄像机拍摄的方式获取旋转体二维图像信息。结合数字图像处理和特征提取等技术, 获取旋转体轮廓特征信息的基础数据, 形成了一套具有应用价值的图像处理分析和特征提取方法。给出了相关算法及工作步骤, 同时针对由于拍摄原因呈现倾斜状态的图像, 利用图像矩的算法思想进行了图像倾斜校正, 然后结合对称图像的几何特征实现了对称轴和相关轮廓母线的求取。通过对比, 笔者求取的方法符合要求, 最后通过对求取的母线数据进行拟合, 获得较为完整的三维曲面图。实验证明, 笔者的算法简单可靠, 实用性强, 为旋转体模型的三维重建提供了新思路。
参考文献:
[1]张素梅. 基于图像的旋转体文物重建系统的研究与实现 [D]. 山东: 山东大学计算机科学与技术学院, 2010.
ZHANG Sumei. Research and Implementation of Image Based Revolving Body Reconstruction System [D]. Shandong: College of Computer Science and Technology, Shandong University, 2010.
[2]郑顺义, 徐刚, 张祖勋, 等. 旋转体三维重建方法研究 [J]. 武汉大学学报: 信息科学版, 2006, 31(12): 1047-1050.
ZHENG Shunyi, XU Gang, ZHANG Zuxun, et al. Research on the Method of Three-Dimensional Reconstruction of Rotating Body [J]. Journal of Wuhan University: Information Science Editionm, 2006, 31(12): 1047-1050.
[3]钱苏斌, 林意. 基于轮廓线的旋转曲面三维重建 [J]. 计算机工程与设计, 2009, 30(16): 75-78.
QIAN Subin, LIN Yi. 3D Reconstruction of Rotating Curved Surface Based on Contour Line [J]. Computer Engineering and Design, 2009, 30(16): 75-78.
[4]缪永伟, 胡非夏, 冯小红, 等. 基于单幅图像的三维对称自由形体重建 [J]. 计算机辅助设计与图形学学报, 2015(9): 1637-1647.
MIU Yongwei, HU Feixia, FENG Xiaohong, et al. Single Image Based 3D Symmetric Free-Form Objects Reconstruction [J]. Journal of Computer-Aided Design & Computer Graphics, 2015(9): 1637-1647.
[5]LEVI Z, GOTSMAN C. Arti Sketch: A System for Articulated Sketch Modeling [J]. Computer Graphics Forum, 2013, 32(2): 235-244.
[6]NEALEN A, IGARASHI T, SORKINE O, et al. Fiber Mesh: Designing Freeform Surfaces with 3D Curves [J]. ACM Transactions on Graphics, 2007, 26(3): 41.
[7]张晓峰. 基于物体轮廓信息的三维恢复研究 [J]. 机械工程师, 2009(12): 90-93.
ZHANG Xiaofeng. Research on 3D Restoration Based on Object Contour Information [J]. Mechanical Engineer, 2009(12): 90-93.
[8]卢韶芳, 韩雪, 关馨, 等. 基于三维标识物的虚实配准方法研究 [J]. 吉林大学学报: 信息科学版, 2017, 35(3): 288-295.
LU Shaofang, HAN Xue, GUAN Xin, et al. Research on Virtual and Real Registration Method Based on Three Dimensional Identifier [J]. Journal of Jilin University: Information Science Edition, 2017, 35(3): 288-295.
[9]刘文晓. 基于轮廓线的自动三维重建方法研究 [D]. 青岛: 青岛科技大学计算机科学与技术学院, 2017.
LIU Wenxiao. Research on Automatic 3D Reconstruction Based on Contour Line [D]. Qingdao: College of Computer Science and Technology, Qingdao University of Science & Technology, 2017.
[10]钱苏斌. 基于轮廓线的旋转体三维重建 [J]. 成都大学学报: 自然科学版, 2010, 29(4): 331-332.
QIAN Subin. 3D Reconstruction of Rotary Body Based on Contour [J]. Journal of Chengdu University: Natural Science Edition, 2010, 29(4): 331-332.