单幅图像三维目标定位及重建
2014-09-04裴娅男
裴娅男
(山西大学商务学院, 山西 太原 030031)
单幅图像三维目标定位及重建
裴娅男
(山西大学商务学院, 山西 太原 030031)
首先对图像进行拉普拉斯滤波处理,进而利用Canny算子对图像进行边缘检测,通过Hough变换检测目标图像,采用CAD辅助提取边界直线,基于灭点理论标定数码相机,之后采用透视投影模型中基于图像相对深度方法对图像三维信息进行恢复。最后计算出了目标物体的特征点三维坐标,实现目标定位。通过CAD实现模型的重建与显示。
目标定位; 三维重建; 边缘检测; 灭点
0 引 言
计算机视觉就是利用计算机来实现人类视觉功能,通过二维图像来感知三维场景的一种能力。基于单幅图像的建模在计算机视觉领域是一个重要的分支。这一建模过程是对单幅图像提取重要的信息,通过图像中的坐标系定位到空间中的三维坐标系中,从而实现目标定位。三维重建是将已三维目标定位的物体通过计算机建造出具有图像真实感的虚拟立体结构[1-2]。
与基于多幅图像的建模方法相比,基于单幅图像的建模避免了多幅图像的计算机视觉匹配问题。同时,基于单幅图像的建模也存在其缺点,单幅图像包含的三维信息少,如果事先无法知晓目标物体的边缘、平行垂直关系以及共面等问题,三维目标定位与重建过程极其困难。但对于房屋、建筑、公路等结构化的场景图像,采用单幅图像三维重建技术能够较好地还原真实的场景,对于城市规划设计,基于图像测量等领域有着十分重要的意义。
近年来,众多学者利用单幅图像中已知的几何信息对目标物体实现三维重建。在国外,Caprile和Torre[3]首先提出了利用灭点进行摄像机标定的思想。在给出并证明了灭点属性的基础上,根据灭点与摄像机内参数的关系通过单幅图像确定摄像机的内参数,再由根据特定模板计算摄像机的外参数。还有一些学者提出了一种利用灭点实现单幅图像中三维物体重建的方法,但是其方法较为复杂,不适合推广[4-5]。国内学者张祖勋[6]等通过分析灭点几何建立了影像直线段与方位元素的直接联系,根据最小二乘平差的有关理论,给出了迭代计算影像的内、外方位元素的方法,并在三维重建的实践中进行了验证。
1 算例与三维重建流程
面包机的图像如图1所示。
图1 面包机原始图像
面包机旁边有一个长方体参照物,其尺寸为6.4 cm×6.4 cm×3.8 cm。文中将通过三维目标定位及重建技术确定面包机在空间中的位置,并实现其三维重构。
要想实现基于单幅图片中目标物体的三维目标定位以及重建过程,需要经过以下步骤:对图像预处理、图像边缘检测、Hough变换求解直线目标、求取主灭点坐标并建立平面坐标系与世界坐标系的映射关系、求解相机的内外参数,最后实现三维物体的目标定位并实现三维重建。三维构建的流程如图2所示。
图2 三维构建的流程图
通过对图1进行该流程图的操作,即可以实现图中面包机的目标定位以及三维重建过程。
2 图像预处理
2.1图像灰度化
图1给出的图像是彩色图像,而后续的特征提取、匹配等处理的是灰度图像,所以需要将彩色图像转化为灰度图像。文中分别采用灰度化处理的最大值法、平均值法和加权平均值法进行转化,并对结果进行对比分析。
不同方法下图像的灰度化处理结果如图3所示。
(a) 原图 (b) 加权平均值法
(c) 平均值法 (d) 最大值法
2.1.1 加权平均值法
根据重要性给R,G,B分量赋予不同的值,并对3个值进行加权平均。
(1)
式中:WR,WG,WB----分别是R,G,B分量的权值,其取值不同时将得到不同的灰度图像。
结合人眼特性,一般当R=G=B=0.30R+0.59G+0.11B时,能得到最合理的灰度图像。图1的加权平均值灰度化结果见图3(b)。
2.1.2 平均值法
使R,G,B分量的值等于3个值中的平均值。
(2)
图1的平均值法灰度化结果见图3(c)。
2.1.3 最大值法
使R,G,B分量的值等于3个值的最大值。
(3)
图1的最大值法灰度化结果见图3(d)。图3中,最大值法会形成亮度很高的灰度图像,平均值会形成较柔和的灰度图像,而加权平均值法形成的是最合理的灰度图像。故后文的处理全都基于图3(b)。
2.2图像增强
2.2.1 灰度修正
灰度化后的图像的亮度范围不足和非线性使图像的对比度不理想,这将会对图像的后续处理带来困难,同时对比度小也将增加产生错误匹配的可能性,故采用灰度修正扩大图像的灰度范围,增强图像的对比度。
设原始图像f(x,y)的灰度范围是[m,M],处理后的图像为g(x,y),变换增强可描述为:
(4)
2.2.2 直方图修正
为了改善图像的质量,采用直方图均衡化处理对灰度分布进行变换改变。直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法[7]。
对比灰度调整前后的图像及其直方图如图4所示。
(a) 修正前的图像
(b) 直方图修正后的图像
从直方图可以看出,变换前的图像的灰度范围主要集中在75~160,变换后填满整个灰度范围。很明显,变换后的图像比变换前的图像具有更好的视觉效果,且对于特征检测以及图像匹配采用变换后的灰度精度大大提高。
2.2.3 空域滤波增强
经过分析,原图像受到了噪声的干扰,图像质量较差。为了抑制噪声、改善图像质量,要对图像进行空域滤波处理----平滑(低通)滤波和锐化(高通)滤波。
首先采用中值滤波对图像进行处理,中值滤波对于滤除图像的颗粒噪声十分有效,图像上的噪声几乎全部被清除。随后,采用Unsharp算子进行图像锐化处理,图像的边缘及灰度改变部分得到了增强。经锐化处理后的图像的边缘提取效果更好,可以提取到微细的边缘,提取到的边缘特征更多。经过滤波处理的图像如图5所示。
图5 经过滤波处理的图像
3 边缘检测
3.1边缘检测法
边缘检测就是以原图像为基础,考察图像各个像素的某个领域内灰度阶跃变换,利用边缘邻近一阶或二阶方向导数变换规律的检测边缘。文中使用了Robert算子、Prewitt算子、Sobel算子、Canny算子。经过对比,优选Canny算子,因为其具有良好的信噪比和检测精度。
3.2 Canny算子
利用Canny将边缘检测问题转化为检测单位函数极大值的问题,为一个边缘检测算子定义了目标集,并用优化的方法实现边缘的检测。
步骤1:将图像进行高斯卷积以消除噪声。
步骤2:利用导数算子找到图像灰度沿着两个方向的导数Gx,Gy,并求出梯度大小|G|与梯度方向θ:
(5)
步骤3:求出边缘的方向后,把边缘的梯度方向大致分为4种(垂直、水平、45°方向和135°方向),并找到这个像素梯度方向的邻接像素。遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比不是最大的,那么将这个像素值置为0,即不是边缘。累计直方图计算两个阀值,大于高阀值的一定是边缘;反之则不是边缘。若值在两个阀值之间,则判断邻接像素中是否有超过高阀值的边缘像素,若存在,则为边缘,否则不是。利用Canny算子对图5进行边缘检测,得到的结果如图6所示。
图6 Canny算子检测边缘后结果
由图6可以看出,经过边缘检测后,得到的图像效果非常理想。
4 Hough变换提取直线
对图像进行边缘检测以后,需要将边界直线和解析曲线有效地定位。国内外采用一种经典的方法为Hough变换方法,利用图像全局特性而直接检测目标轮廓。Hough变换是把二值图像变换到Hough参数空间,在参数空间用极值点的检测来完成目标的检测。对直角坐标系中的直线,它的方程在极坐标可以写成:
(6)
式中:ρ----原点到直线的距离;
θ----该直线的法线与轴的夹角;
A----振幅。
要检测图像中的直线,可建立二维累加数组,对于二维图像的每个目标点,让θ依次变化并计算ρ的值。对A进行累加,累加数组中最大的点即为对应直线的参数。Hough变换把直线检测问题转换到参数空间里对点的检测问题,通过在参数空间里进行简单变换的累加统计完成检测任务。Hough变换直线检测后所得的结果如图7和图8所示。
图7 Hough变换后的ρθ坐标系
图8 Hough变换后检测出的直线
由图8结果显示,Hough变换所获取的直线信息量不足,这与运算的精度和算法的框架存在一定的关系;由图7同样反映出坐标系中的特征点数目较少,没有提取出足够多的直线段。下文将通过CAD辅助提取直线。
5 CAD提取直线与灭点的求解
5.1 CAD辅助提取直线
由于Hough变换提取直线信息不足,文中将采用CAD辅助提取直线的方法来获取图1中面包机的边界信息。
CAD中可以很容易地获取到图像中点的坐标信息,因此可以获取到视图中所有直线的点斜式方程。通过在CAD中对面包机边界点的连线,就可以获得各个边界的直线方程。CAD辅助提取直线的方法如图9所示。
图9 CAD辅助提取直线
5.2灭点的求解
灭点位于图像平面的有限远位置,可能位于图像平面内,也可能位于图像平面外。当空间的平行线与图像平面平行时,它们的透视投影成像在图像的无限远处。灭点的属性决定了可以由此得到摄像机的内外参数。
理想状态下灭点是平行线透视投影汇聚于一点形成的,故对于每个方向的灭点需要至少两条平行线的方程,根据数学公式便可求出直线交点坐标。但实际中由于图像变形、图像检测直线时存在误差,交点可能会交与不同的点上。文献[8]中给出了一种解决方法,即选取3个点到待标定物体主视点最近的一个点选取为该方向上的灭点。
通过在CAD中对图1中面包机的9个可见边界进行连接,可以获取到9条直线的点斜式方程。将这9条直线的方程改写为一般式,用Lingo求解其交点,最后获得3个灭点的坐标见表1。
表1 灭点的坐标
6 基于灭点的相机内外参数求解
由文献[8]对点式摄像机的模型介绍,灭点得到以后,需要确定世界坐标系与摄像机坐标系间的转换关系。摄像机内、外参数采用透视投影模型进行研究,确定目标点之间相对深度关系,恢复三维信息,实现目标定位。
6.1相机内参数的求解
设内参数K,fx和fy分别为摄像机在u轴和v轴上的尺度因子。由于相机的纵横比为1∶1,即fx=fy=1,故
(7)
式中:K----摄像机内参数;
f----摄像机焦距;
O(u0,v0)----主点图像坐标。
设3个主灭点坐标为X(xx∞,yx∞),Y(xy∞,yy∞),Z(xz∞,yz∞),由灭点属性得
(8)
求解方程组(8)可以解得u0=1 322,v0=-658.675,f=2 153。故可得到相机的内参数矩阵
(9)
6.2相机外参数的求解
从计算机视觉角度来说,摄影测量中的外方位元素包括6个参数,其中3个是角元素,用于描述图像的空间姿态,对应于计算机视觉中的旋转矩阵R;另外3个是用于描述摄影中心的空间坐标值,对应于平移向量t。
6.2.1 旋转矩阵R
首先需要确定外方位角元素,3个外方位角元素的正切值计算方法如式(10)~式(12)。
(10)
(11)
(12)
求解方程可计算出外方位角元素的值见表2。
表2 外方位角元素的值
旋转矩阵是由3个方位角元素来计算,旋转矩阵可分解为3个相互正交方向旋转的组合。
(13)
(14)
(15)
(16)
求得旋转矩阵的值为
6.2.2 平移向量t
根据文献[8-9],摄像机坐标系与世界坐标系之间的变换关系为
(17)
式中:Pw----空间点P在世界坐标系中的非齐次坐标;
Pc----点P在摄像机坐标系下的非齐次坐标。
由于摄像机原点对应的Pc为0,可以根据摄像机坐标原点在世界坐标系中的非齐次坐标C,得到平移矢量t=-RC。
(18)
式(18)中,λ为相对深度,其求解方法将在后文介绍。
7 目标定位
7.1透视投影模型的非齐次坐标关系
当摄影测量坐标系与像空间坐标系对应坐标轴不平行时
(19)
式中:(X, Y, Z)----空间某点P在世界坐标系中的非齐次坐标;
(Xc,Yc,Zc)----摄像机中心在世界坐标系中的非齐次坐标C;
(x,y)----点P在图像中的投影;
(x,y,-f)----点P在像空间辅助坐标系下的非齐次坐标;
λ----相对深度。
在计算机视觉中,文中采用的是三参数模型[10],于是有
(20)
写成向量形式有
(21)
式中:K----摄像机内参数矩阵;
X----空间点世界坐标系中的齐次坐标;
x----其对应图像投影的齐次坐标;
7.2相对深度求解
在单幅图像建模中,相对深度是一个很重要的参数。根据文献[7],空间任意一个矩形的4个顶点为P1,P2,P3,P4,矩形在图像平面的透视投影为四边形p1p2p3p4。
对应的相对深度为λ1,λ2,λ3,λ4。由公式
(22)
那么设定λ1,便可以求出相应的λ2,λ3,λ4。
空间矩形在图像平面的透视投影如图10所示。
图10 空间矩形在图像平面的透视投影图
在图1中,已经获取到小长方体的边长,因此可以通过小长方体用来计算相对深度。
通过对图1中小物块选取P1,P2,…,P6,6个点的选取如图11所示。
图11 小物块顶点的选取
将点的坐标代入式(21)和式(22)计算即可得到λ值,见表3。
表3 相对深度取值
由表3可以观察到第4个相对深度值有两个值,可以取平均值赋给λ4。
7.3三维信息恢复
由7.2可知,重复使用式(21)和式(22)就可以得到长方体各顶点间的相对深度,进而确定长方体的长、宽、高的比例信息,恢复三维信息,实现目标定位。
空间某长方体的立体信息及在图像中的透视投影如图12所示。
图12 空间长方体的透视投影图
假设长方体的长、宽、高分别为a,b,c,以其顶点P1为原点,以P1P2,P1P3,P1P4为坐标轴建立世界坐标系,则长方体各个顶点可表示为:P1=(0,0,0)T,P2=(a,0,0)T,P3=(0,b,0)T,P4=(0,0,c)T,P5=(a,0,c)T,P6=(0,b,c)T,P7=(a,b,0)T,P8=(a,b,c)T。
各点对应的图像投影为p1~p8,对应图像坐标为(ui,vi)(i=1,2,…,8),相对深度为λ1~λ8。
先在面P1P2P5P4和面P1P3P6P4中计算顶点相对深度,将各顶点代入式(21),可求解出λ1~λ6。
假设
(23)
即
K-1Vi=RPi
若再有
(24)
考虑到R是单位正交矩阵知RTR=RRT=I,将式(23)代入式(24)得
(25)
(26)
a,b,c分别表示待标定物体的长、宽、高,通过式(23)~式(25),由此可以计算出长方体的各边之间的比例信息,重建出图片中长方体类的目标物体的模型。最后计算出小物块外参数矩阵
因此小物块的长、宽、高的平方之比为
a2∶b2∶c2=0.284 5∶0.265 3∶0.091 3
故小物块的长、宽、高之比为
a∶b∶c= 0.515 1∶0.533 4∶0.302 2=
1.704 6∶1.765 2∶1.000 0
图1中已经给出了小物块的实际长、宽、高,其比值为
1.684 2∶1.684 2∶1.000 0
由结果比较可知,计算出的结果能够近似地等效小物块在实际中的长、宽、高之比。
在世界坐标系中实际物体相互平行的边界的比例关系在图像坐标系中保持不变。运用这一性质于图1,可以获得面包机与小物块的比例关系,将同样的方法运用于面包机,可以计算出面包机的大致尺寸见表4。
表4 面包机的实际尺寸 mm
7.4实现目标定位的主要流程
至此,已经完成了对于一个物体实现目标定位的所有步骤,现将其总结如下:
1)获取世界坐标系的3个主方向上空间平行线束的投影线段及其端点坐标;对由投影直线方程系数构成的对称矩阵求特征值及特征向量,从而获取3个主灭点坐标。
2)根据灭点与摄像机内外参数的关系,计算摄像机内参数矩阵K及旋转矩阵R。
3)设定世界坐标系和坐标原点对应的相对深度λ1。
4)由式(18)求取摄像机中心在世界坐标系的三维非齐次坐标C。
5)由式(22)获取在长方体各顶点的初步相对深度,同时由式(26)计算出在相差一个全局因子的情况下立方体三参数初步的比例信息。
6)计算出立方体各个顶点修正的相对深度值及长、宽、高的相对值。
7)将立方体的各个面划分为多个小块,计算各小块的边长信息,获取对应各顶点的三维坐标。
8 三维重建
三维重建过程包括虚拟模型重建和纹理映射两个过程。虚拟模型重建是指运用虚拟现实技术在计算机中产生一个三维虚拟环境,通过人的视觉作用于人,使人产生身临其境的感觉。常采用的软件有OpenGL和VRML语言。纹理映射是指将实际物体的纹理粘贴到虚拟模型上,这样可以增强立体真实感,但由于单幅图像缺少必要的立体信息,因此完整的粘贴会造成扭曲变形。文献[8]中提到了一种分块贴图的方法,能够一定程度上提高纹理映射的质量。
最后,文中利用CAD结合表4中的基本尺寸对模型进行了重建,效果如图13所示。
图13 CAD三维重建后的面包机
9 结 语
通过对一个实例进行分析,探究了基于单幅图像的三维目标定位和三维重建技术。
首先,采用不同的方法对原始图像进行灰度化和滤波处理,最后选取了加权平均值灰度化及空域滤波增强技术,起到了理想的效果;随后又比较了多种边缘检测的算法,并择优选取了Canny算子提取图像,为Hough变换选取直线提供了较准确的结果。
由于计算机硬件限制不能进行大量数据的计算,只能将图像像素降低进行Hough变换,同时也降低了变换检测直线的精确度,因此在Hough变换提取直线过程中并未达到理想的效果。最后采用了CAD辅助提取直线的方法获得了物体的边界方程。
随后采用了经典的目标定位法作为灭点的求解、相机的内外参数求解、目标定位等一系列求解过程,最后得到了较为理想的目标尺寸标定结果。
通过CAD结合已求解的参数进行三维重建,在重建过程中忽略了纹理映射这一过程,最后的虚拟模型能够在一定程度上反映并还原图像中的物体。
[1] 陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008.
[2] 马颂德,张正友.计算机视觉:计算机理论与算法基础[M].北京:科学出版社,1997.
[3] CaPrile, Torre. Using vanishing poinis for camera calibration[J]. International Journal of Computer Vision,1990,4(2):127-140.
[4] 邓刚,张志强,孙济洲.用未标定相机构造三维模型[J].系统仿真学报,2001,13(S1):42-44.
[5] 齐全.基于单幅图像的交互式建模技术研究[D]:[硕士学位论文].青岛:青岛大学,2008.
[6] 张祖勋,吴军,张剑清.建筑场景三维重建中影像方位元素的获取方法[J].武汉大学学报,2003,625(3):265-270.
[7] 张弘.数字图像处理与分析[M].北京:机械出版社,2007.
[8] 于艳.基于单幅图像目标定位及三维重建的研究[D]:[硕士学位论文].南京:南京理工大学,2009.
[9] 王光辉.基于图像的测量及三维重建研究[D]:[博士学位论文].北京:中国科学院自动化研究所,2004.
[10] 余松煌,周源华,张瑞.数字图像处理[M].上海:上海交通大学出版社,2007.
Single image 3D object location and reconstruction
PEI Ya-nan
(Business College of Shanxi University, Taiyuan 030031, China)
A single image is filtered with Laplace Filter, edge-detected with Canny algorithm and then Hough transforms is used to detect the target image. Boundary lines are extracted by using CAD, and camera is calibrated based on vanishing point theory. With the image relative depth method in perspective projection model, we recover the 3D information. We calculate out the 3D coordinates of the target and reconstruct and display the model with CAD.
object location; 3D reconstruction; edges detection; vanishing point.
2014-05-25
裴娅男(1985-),女,汉族,山西太原人,山西大学商务学院助教,硕士,主要从事图像处理方向研究,E-mail:janypei@163.com.
TP 231.5; TP 735
A
1674-1374(2014)06-0660-08