本发明属于隧道检测领域,更具体地,涉及一种盾构隧道表面图像标定方法、拼接方法及拼接系统。
背景技术:
在检测隧道裂缝时,由于需要知道裂缝的位置、长度和宽度,以及考虑到整体隧道轮廓的可视性,需要进行拼图,从而获得全景图像。
在待拼接的图像中,以一幅图像作为参考图像,其它图像则称为目标图像。图像配准需要将目标图像进行空间几何变换使得与参考图像对齐。现有的图像拼接算法可以分为基于区域和基于特征的算法。基于区域灰度强度的拼接方法是通过模板在拼接图像中寻找与参考图像相似度最高的模版,从而找到最佳的配准位置。由于隧道图像的灰度强度变换较小,这种方法并不适用。基于特征的拼接方法则是通过匹配几幅图像中相似度最高的特征点,来找到最好的拼接效果,特征点为角点、线或轮廓,基于特征的配准算法包括:harri角点检测算法、sift尺度不变转换算法、surf尺度不变算法等。由于隧道中可能不存在特征点,所以这种方法也失效。
利用数字图像进行盾构隧道裂缝识别时,需要进行相机标定。目前数码相机标定技术大致可分为两类,主动标定法和被动标定法。被动标定法即是传统的摄像机标定方法,其特点是利用已知的景物结构信息,如已知坐标的标志点等对图像的信息进行计算,从而获取摄像机的内部参数和畸变参数。主动标定法的特点是不依赖于标定参照物,只利用相机在运动过程中周围环境图像之间的对应关系或图像自身的各类几何约束关系(如灭点关系),对相机进行标定,但要求相机的运动是精确已知的。目前基于主动视觉相机自标定方法可分为两类:第一种是由马颂德在1996年提出的通过相机在三维空间内作多组三正交运动来求解相机内方位元素的方法,吴福朝、胡占义等于2001年将其方法进一步改进,提出基于多组两正交运动的主动视觉标定方法;另一种方法是由richardhartley提出的通过相机的纯旋转来求解内方位元素的方法。由此可知这些标定方法不是很复杂,就是操作起来很困难。
技术实现要素:
针对现有技术的缺陷,本发明的目的在于解决现有技术标定复杂、不适用于曲面结构,需要大量相机导致拼接成本高、不适用于曲面结构的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种盾构隧道表面图像标定方法,所述方法包括:
s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角;
s2.计算每个相机的视场范围,找出每两个相机的视场范围重叠区域;
s3.在隧道表面的每个视场范围重叠区域贴标定纸,使得每个重叠区域包括至少一个候选待标定马鞍点,所述标定纸上包括被相互垂直的直径分为黑白对称的四格的圆形,其圆心为候选待标定马鞍点;
s4.每个相机同时采集一张隧道表面图像;
s5.从第i个相机和第i+1个相机拍摄的隧道表面图像中,找出同时拍摄到且质量最佳的候选待标定马鞍点,作为这两个相机的待标定马鞍点,i=1,2,3,4,5;
s6.计算每张隧道表面图像的每个待标定马鞍点坐标信息。
具体地,相机组的总视场
第二方面,本发明实施例提供了一种盾构隧道表面图像拼接方法,该方法包括以下步骤:
s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角;
s2.在隧道表面贴棋盘格纸,使得棋盘格纸覆盖相机组视场范围;
s3.每个相机同时采集一张棋盘格纸的扭曲图像;
s4.计算每张棋盘格纸的扭曲图像中的每个交叉点的坐标;
s5.根据棋盘格纸的扭曲图像中各交叉点坐标和棋盘格纸中各交叉点坐标,计算扭曲图像和平面图像的映射关系;
s6.每个相机同时拍摄一张去掉棋盘格纸后隧道表面的扭曲图像;
s7.根据所述映射关系,将每张隧道表面的扭曲图像转化为隧道表面的平面图像;
s8.根据平面图像的马鞍点,确定每张平面图像的裁剪区域;
s9.裁剪完每张平面图像的裁剪区域后,相邻平面图像进行拼接,得到隧道表面的全景图像。
具体地,棋盘格纸为方格子形式,所有方格子组成的大正方形边长不小于相机视场的宽度。
具体地,基于saddle_points_sub_pix算子,提取棋盘格的角点,得到每张棋盘格纸的扭曲图像中的每个交叉点的坐标。
具体地,基于connect-grid-points算子,建立矫正网格的矫正点间的连接,得到网格输出;基于gen_grid_rectification_map算子,计算扭曲图像与基于规律的网格的正确的图像的映射,得到扭曲图像和平面图像的映射关系。
具体地,采用第一方面所述的盾构隧道表面图像标定方法,得到扭曲图像的马鞍点坐标,根据所述映射关系,将扭曲图像的马鞍点坐标转化为平面图像的马鞍点坐标
具体地,以步长s同轴推进相机组,每推进一次,重复步骤s2~s9进行一次拼接,直至得到整个隧道的拼接图像。
第三方面,本发明实施例提供了一种盾构隧道表面图像拼接系统,所述盾构隧道表面图像拼接系统采用上述第二方面所述的盾构隧道表面图像拼接方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的标定方法或者上述第二方面所述的盾构隧道表面图像拼接方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明选用在相机重叠区域的马鞍点作为标定点,标定操作简单,只需要拍摄一张高质量的标定点的图像,没有大量的方程求解,更易于操作,并且适用于隧道环境中。
2.本发明通过扭曲图像和平面图像的映射关系,将隧道的曲平面展开成平面,再实现在同一坐标系下的拼接,省去大量的特征点查找、匹配工作,只需要最少的相机数(保证相邻相机的视场有重叠部分即可),成本较低,拼接的时间短,更符合视觉效果。
附图说明
图1为本发明实施例提供的标定系统的结构示意图;
图2为本发明实施例提供的一种盾构隧道表面图像标定方法流程图;
图3为本发明实施例提供的标定纸示意图;
图4为本发明实施例提供的一种盾构隧道表面图像拼接方法流程图;
图5为本发明实施例提供的棋盘格纸平面图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中图像拼接方法和图像标定方法均应用于隧道表面,所述隧道表面为盾形结构。所述系统包括:六个五百万像素的工业相机(采集隧道表面图像,识别表面裂缝),相机的光轴与隧道表面垂直,激光扫描仪(采集隧道限界点云数据,绘制隧道限界)。在此基础上还得考虑到如何给核心硬件提供合适的工作环境。由于在隧道里的光照不均匀,而用机器视觉识别裂缝对于相机采集的照片的光照均匀性要求很高,所以需要强光led(强光用于消除杂散光的影响)照明。超强发光的led产生的热量较大,需要配备风冷装置。系统需要对隧道的大部分表面进行图像采集,所以需要给相机配置合适视场范围的镜头。所述六个摄像头固定在检测车上,其设计的分布角度是使得每个相机的视场有重叠的区域的角度。通过相机的采图控制,对六个相机同时采集的图像进行拼接,并通过显示器进行显示。
对多个摄像头进行标定的方法是对检测车上的多个摄像头针对马鞍点的摄像图像的进行处理。检测车可以在包含标定设备的标定系统中进行标定。如图1所示,所述标定系统包括:两相机重叠区域标定的马鞍点201、定位装置202、检测车203。所述标定设备与所述检测车203连接,用于对所述检测车203的六个摄像头的摄像图像进行标定。所述马鞍点201位于所述检测车203的正上方,所述定位装置202可以包括米轮,只要把米轮与检测车车轮紧贴,就可以直接或者间接地得到检测车的位置信息。其作用是为了在采集图像的时候对检测车实时定位,定位装置202通过数据线将数据传输给标定设备。标定的马鞍点201位于检测车203的正上方,打印标定的马鞍点所用的材质为哑光材质。
标定是在机器视觉、摄影测量、三维重建等应用中,为矫正镜头畸变;确定物理尺寸和像素间的换算关系;以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,需要建立相机成像的重要步骤。
如图2所示,本发明提出一种盾构隧道表面图像标定方法,所述方法包括:
s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角;
s2.计算每个相机的视场范围,找出每两个相机的视场范围重叠区域;
s3.在隧道表面的每个视场范围重叠区域贴标定纸,使得每个重叠区域包括至少一个候选待标定马鞍点,所述标定纸上包括被相互垂直的直径分为黑白对称的四格的圆形,其圆心为候选待标定马鞍点;
s4.每个相机同时采集一张隧道表面图像;
s5.从第i个相机和第i+1个相机拍摄的隧道表面图像中,找出同时拍摄到且质量最佳的候选待标定马鞍点,作为这两个相机的待标定马鞍点,i=1,2,3,4,5;
s6.计算每张隧道表面图像的每个待标定马鞍点坐标信息。
步骤s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角。
假设d为n个相机安装高度最大值,隧道表面为一个半圆柱曲面(截面半径为r),那么相机组的总视场
步骤s2.计算每个相机的视场范围,找出每两个相机的视场范围重叠区域。
本实施例中,六个相机是设于检测车的按扇形分布的摄像头,设计的分布角度是使得每个相机的视场有重叠的区域的角度。从右至坐的相机分别编号为1号相机至6号相机,图像从右向左分别编号为第一图像至第六图像。
步骤s3.在隧道表面的每个视场范围重叠区域贴标定纸,使得每个重叠区域包括至少一个候选待标定马鞍点,所述标定纸上包括被相互垂直的直径分为黑白对称的四格的圆形,其圆心为候选待标定马鞍点。
由于标定纸是柔软的,相对于标定板,可以很好地贴合在盾构隧道表面,本发明提出的标定方法可以对曲面物体进行标定。由于采集到的马鞍点图像有可能质量差,因此,每个重叠区域包括m个马鞍点,m≥1。如图3所示,标定纸上印有被相互垂直的直径分为黑白对称的四格的圆形。为了后面方便坐标计算,选择黑白对称四格的圆形的圆心为候选待标定马鞍点,先识别圆,边缘拟合得到的圆心是马鞍点,相对于棋盘格角点、圆形角点,坐标计算的计算量大幅度减小。根据相机的参数,计算相机的图像分辨率,即就是单位距离内的像用多少个像素来显示。需要保证待标定点大小不低于相机的最小分辨率。
步骤s4.每个相机同时采集一张隧道表面图像。
第一个相机和最后一个相机采集到的隧道表面图像包含m个候选待标定马鞍点,其余的相机采集到的隧道表面图像包含2m个候选待标定马鞍点。
传统的标定方法,利用已知的景物结构信息,如已知坐标的标志点等对图像的信息进行计算,从而获取摄像机的内部参数和畸变参数。但是,需要拍摄足够数量的高质量标定板图像,求解大量的方程,计算量大。而本发明提出的标定方法操作简单,只需要拍摄一张高质量的标定点的图像,没有大量的方程求解。
步骤s5.从第i个相机和第i+1个相机拍摄的隧道表面图像中,找出同时拍摄到且质量最佳的候选待标定马鞍点,作为这两个相机的待标定马鞍点,i=1,2,3,4,5。
有些拍摄到的候选待标定马鞍点可能不完整,因此,要对其进行筛选,从第i个相机和第i+1个相机拍摄的隧道表面图像中,找出同时拍摄到且质量最佳的候选待标定马鞍点,作为这两个相机的待标定马鞍点。因此,第一个相机和最后一个相机的待标定马鞍点只有一个,其余相机的待标定马鞍点均有两个。
步骤s6.计算每张隧道表面图像的每个待标定马鞍点坐标信息。
对每个摄像图像的位置进行调整后会产生图像处理参数,可以将每个摄像头的图像处理参数作为图像拼接参数,并存储至检测车的控制器中。
如图4所示,本发明提出一种盾构隧道表面图像拼接方法,该方法包括以下步骤:
s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角;
s2.在隧道表面贴棋盘格纸,使得棋盘格纸覆盖相机组视场范围;
s3.每个相机同时采集一张棋盘格纸的扭曲图像;
s4.计算每张棋盘格纸的扭曲图像中的每个交叉点的坐标;
s5.根据棋盘格纸的扭曲图像中各交叉点坐标和棋盘格纸中各交叉点坐标,计算扭曲图像和平面图像的映射关系;
s6.每个相机同时拍摄一张去掉棋盘格纸后隧道表面的扭曲图像;
s7.根据所述映射关系,将每张隧道表面的扭曲图像转化为隧道表面的平面图像;
s8.根据平面图像的马鞍点,确定每张平面图像的裁剪区域;
s9.裁剪完每张平面图像的裁剪区域后,相邻平面图像进行拼接,得到隧道表面的全景图像。
步骤s1.选用n个相机组成相机组,保证每个相机的光轴与隧道表面垂直,每个相机的视场角至少为θ=(α-δ(n-1))/n,其中,α为相机组总视场,δ为重叠视场角。
相机的布置与标定方法相同。
步骤s2.在隧道表面贴棋盘格纸,使得棋盘格纸覆盖相机组视场范围。
棋盘格纸为理想的平面网格。如图5所示,本实施例采用的棋盘格纸为方格子形式,所有方格子组成的大正方形外部边长为1.2米(相机视场的宽度),内部包含的黑白相间的方格子个数为17*17个。选用棋盘,是因为它满足容易、精确、准确地提取特征并且有助于校正几何形状的特点。
棋盘格纸中各点坐标位置已知,且最小棋盘格满足识别要求。所述棋盘格纸中间位置有两个黑白圆点,目的是为了在各相机方向不完全一致时,比如,有一个相机放反了,调整图像方向。
步骤s3.每个相机同时采集一张棋盘格纸的扭曲图像。
棋盘格纸贴在盾构隧道表面,受隧道表面影响,相机采集的图像为棋盘格纸的扭曲图像。
步骤s4.计算每张棋盘格纸的扭曲图像中的每个交叉点的坐标。
基于saddle_points_sub_pix算子(亚像素精度检测图像中的鞍点),提取棋盘格的角点,得到每张棋盘格纸的扭曲图像中的每个交叉点的坐标。
步骤s5.根据棋盘格纸的扭曲图像中各交叉点坐标和棋盘格纸中各交叉点坐标,计算扭曲图像和平面图像的映射关系。
基于connect-grid-points算子,建立矫正网格的矫正点间的连接。将扭曲图像中各点坐标输入connect-grid-points算子,得到扭曲图像中各点连接成的网格,去掉扭曲图像中的噪音点坐标,并恢复扭曲图像中缺失点坐标,得到网格输出。
基于gen_grid_rectification_map算子(根据常规网格的点计算失真图像和校正图像之间的映射),计算扭曲图像与基于规律的网格的正确的图像的映射。将扭曲图像中各点坐标和棋盘格纸中各点坐标输入gen_grid_rectification_map算子中,基于计算扭曲图像和平面图像的映射关系。
将其贴在隧道表面,找到相机拍摄到的贴在隧道表面的网格图像与最初创建的平面网格图像之间的映射关系,目的是为了将现实中的曲面图像转化为平面图像。
步骤s6.每个相机同时拍摄一张去掉棋盘格纸后隧道表面的扭曲图像。
去掉棋盘格纸后隧道表面的扭曲图像即为现实中的曲面图像。
步骤s7.根据所述映射关系,将每张隧道表面的扭曲图像转化为隧道表面的平面图像。
考虑到隧道表面可能没有太多的(甚至没有)特征点,所以无法采用特征点匹配的方法进行拼图。而且相机拍摄的是曲面物体而非平面,所以要实现2d平面拼接,关键是要将拍摄到的隧道曲面图像展开成平面图像。根据所述映射关系,将每张隧道表面的扭曲图像转化为隧道表面的平面图像。
步骤s8.根据平面图像的马鞍点,确定每张平面图像的裁剪区域。
由于相机与隧道之间的位置关系是确定的,因此,只需要相机对最初的位置拍摄的多张图像进行标定,得到平面图像的马鞍点坐标,可使用本发明提出的图像标定方法,得到扭曲图像的马鞍点坐标,根据所述映射关系,将扭曲图像的马鞍点坐标转化为平面图像的马鞍点坐标。标定与拼接的相机个数和布置需要完全相同,可选择在盾构隧道的起点位置进行标定。
第一个相机得到的平面图像裁剪区域为马鞍点往右;最后一个相机得到的平面图像裁剪区域为马鞍点往左;其余平面图像仅保留两马鞍点中间部分,其余部分为裁剪区域。
步骤s9.裁剪完每张平面图像的裁剪区域后,相邻平面图像进行拼接,得到隧道表面的全景图像。
本实施例还包括将六个摄像图像调整至同一水平线上等,以使调整后的目标图像不会出现多个摄像图像重叠、不在同一水平线上等畸变情况。
得到隧道表面的全景图像后,可在显示器显示所述全景图像。为了得到整个隧道的拼接图像,以步长s同轴推进相机组,每推进一次,重复步骤s2~s9进行一次拼接,直至得到整个隧道的拼接图像。步长s不大于相机视场宽度。
本发明提出的拼接方法省去大量的特征点查找,匹配工作,只需要最少的相机数(保证相邻相机的视场有重叠部分即可),成本较低,实现三维曲面的拼接。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。