一种镜头畸变矫正和特征提取的方法及系统与流程

文档序号:17818795发布日期:2019-06-05 22:03阅读:361来源:国知局
一种镜头畸变矫正和特征提取的方法及系统与流程

本发明属于计算机视觉检测领域,尤其涉及一种计算效率高、能有效减少cpu运行时间的镜头畸变矫正和特征提取的方法及系统。



背景技术:

计算机视觉检测在机器人、无人驾驶车辆、无人机等领域有广阔的应用前景,其待处理的数据量大,实时性要求高。镜头畸变校准和特征提取在计算机视觉检测领域有很广泛的应用,尤其是室内定位系统。高精度室内定位系统中,采用无线电方式测距比较流行,例如采用超宽带定位或者wifi接受信号强度定位等,然后利用三角原理等方法确定摄像头的绝对位姿。无线电定位需要提前掌握环境信息,其定位精度高但成本亦高且维护麻烦。其它定位方法如里程计定位法、惯性传感器定位法等,在给定机器人或无人机等初始位姿后,利用机器人或无人机等自身的传感器对位移量进行累加。机器人或无人机等在移动的一小段距离内可以得到较高的定位精度,但是随着机器人或无人机等纵向或横向的滑动引起位置和姿态角的偏差,同时里程计或惯性传感器等本身容易产生误差累加。如果误差没有及时修正,将会直接导致机器人或者无人机定位精度变低。故不适合长时间的使用,不利于机器人或者其它设备的普及。

鉴于无线电、里程计、惯性传感器等定位法的固有缺陷,采用视觉传感器进行定位逐渐成为计算机视觉检测领域主流。视觉传感器主要依靠对采集的图像进行处理识别,进而对周围环境进行感知,实现自身的定位。目前视觉传感器主要分为全景视觉传感器、双目视觉传感器、单目视觉传感器三种。其中全景传感器观测范围大,但是由于其加工困难、价格昂贵、图像容易畸变、图像处理复杂等,使得全景传感器难以得到实际应用。双目视觉传感器主要用于对景物深度要求较高的场合,其对计算机的图像处理能力要求也较高,因而无法得到广泛应用。单目视觉传感器,价格低,适用于一般的日常生活环境中对图像处理要求不高的场合,能够满足广泛的应用需求。此外,还可以将摄像头安装在机器人底部,基于地面的二维码,进行拍摄并解码,从而计算出机器人的位置。

在视觉传感器定位过程中,畸变矫正和特征提取尤为重要。传统的畸变矫正和特征提取系统如图1所示。它一般由以下几个关键模块组成:摄像头标定模块,畸变矫正模块,逆透视变换(inverseperspectivemapping,ipm)模块,逆透视变换输出图像处理模块,ransac(randomsampleconsensus,随机采样一致)提取特征图形关键点模块。

摄像头标定是最前期的步骤,后续的处理步骤跟摄像头的参数是密不可分的。标定的方法采用运用广泛的张正友标定法。这个方法需要用摄像头从不同角度拍摄标定板图片,然后把这些图片提供给标定工具箱,工具箱就能够给出摄像头的内参矩阵和畸变系数。标定工具箱是一套标定程序,由于张正友标定法运用广泛,网上可以下载到这些程序组,matlab和opencv均有对应的标定工具箱。

首先镜头采集图片先进行图片的预处理,包括调节图片的亮度和对比度,可以让后续图像处理步骤的效果更好。接下来是畸变矫正,由于畸变矫正后的图片只是去除了畸变,还保留图片原有的透视效果,所以再进行逆透视变换得到没有透视效果的图片,此时再对逆透视输出的图像进行处理,包括彩色图变成灰度图,对图片进行降噪处理,然后进行边沿检测。之后运用ransac算法提取特征图形并得到表征图形的关键点,最后计算出关键点在物理空间中的坐标从而求出特征图形在物理世界的方程,方便计算出镜头跟特征图形在物理世界的位置关系。其中畸变矫正和逆透视变换非常耗时,以高清电视图像为例,1920×1080的图片就需要处理2百万个点的数据,导致矫正的效率和逆透视变换的效率均不高,不能满足实时的要求。

事实证明,运用传统的畸变矫正和特征提取系统在树莓派3的linux环境中进行图像矫正和匹配将消耗大量cpu资源和时间,导致机器人或者无人机无法进行实时定位。



技术实现要素:

本发明旨在解决现有技术中畸变矫正和特征提取方法和系统数据处理量大、cpu占用率高,导致机器人或无人机无法进行实时定位的技术问题,提供一种新的计算效率高的镜头畸变矫正和特征提取的方法和系统。

本发明的关键在于:通过先进的计算方法,快速的矫正图像的镜头畸变并提取特征点、再转换到物理空间,再求出特征点的解析形式,实现实时的匹配和定位。

为了解决上述技术问题,本发明采用了如下技术方案:

一种镜头畸变矫正和特征提取的方法,包括以下步骤:

s101,获取镜头图片信息;

s102,图片预处理,所述图片预处理包括将彩色图变成灰色图,调节图片亮度和对比度和边缘检测,从而将图像的轮廓显示出来;

s103,提取图片轮廓点并进行镜头畸变矫正,将经过s102处理的图片显示的轮廓点提取出来,然后利用矫正公式矫正这些轮廓点,将这些轮廓点还原到无畸变的平面上;

s104,提取图形特征关键点,利用ransac算法拟合出特征图像,再把能表征特征图形的关键点提取出来;

s105,关键点逆透视变换,将s104处理的关键点进行逆透视变换,得到这些关键点在真实的物理世界坐标;

s106,计算关键点物理世界方程式,利用s105得到的关键点在真实的物理世界坐标,计算出特征图形在物理世界坐标体系下的方程。

本发明还提供了一种与上述方法相适应的镜头畸变矫正和特征提取的系统,它包括以下模块:

输入图像模块,用于采集图片信息;

图片预处理模块,用于将彩色图变成灰色图,调节图片亮度和对比度,对图片进行降噪处理,然后进行边缘检测,从而将图像的轮廓显示出来;

提取图像轮廓点模块,用于将图片预处理模块处理后显示出的轮廓点提取出来;

轮廓点畸变校正模块,用于将提取图像轮廓点模块提取的轮廓点还原到无畸变的平面上;

提取图形特征关键点模块,用于将能表征特征图形的关键点提取出来;

关键点逆透视变换模块,用于将提取图形特征关键点模块中提取的关键点进行逆透视变换,得到这些关键点在真实的物理世界坐标;

得到特征图形物理世界方程模块,利用关键点逆透视变换模块中得到的关键点在真实的物理世界坐标,计算出特征图形在物理世界坐标体系下的方程。

有益效果:

相比传统的畸变矫正和特征提取方法,本发明在畸变矫正之前先提取图片的轮廓点,然后针对轮廓点进行畸变矫正,可以极大减少畸变校正处理的数据量,极大地提高了计算效率。在逆透视变换之前先提取特征图形关键点,从而减少逆透视变换的数据量,进一步提高计算效率。因而,本发明能够在高保真的要求下显著减少cpu运算量,在提高计算效率的同时显著降低硬件成本,能够快速获得地面相关的物理特征信息、实现室内高精度定位。

附图说明

图1为传统的畸变校正和特征提取系统的模块流程图;

图2为本发明镜头畸变校正和特征提取系统的模块流程图;

图3为本发明镜头畸变校正和特征提取方法流程图;

图4为本发明摄像头与物理世界坐标系的关系图。

具体实施方式

为了使本领域的技术人员清楚明了地理解本发明,现结合具体实施方式,对本发明进行详细说明。

如图2所示,本发明的镜头畸变矫正和特征提取系统包括以下模块:输入图像模块、图片预处理模块、提取图像轮廓点模块、轮廓点畸变校正模块、提取图形特征关键点模块、关键点逆透视变换模块、得到特征图形物理世界方程模块。

相应地,本发明的镜头畸变矫正和特征提取的方法包括以下六个步骤,即s101获取镜头图片信息、s102图片预处理、s103提取图片轮廓点并进行镜头畸变矫正、s104提取图形特征关键点、s105关键点逆透视变换、s106计算关键点物理世界方程式,如图3所示。具体步骤如下:

s101:利用输入图像模块执行s101步骤。利用摄像头采集图片并测量和记录摄像头的高度和姿态角,供后续模块处理使用。

s102:利用图片预处理模块执行s102步骤。包括将彩色图变成灰色图,调节图片亮度和对比度,对图片进行降噪处理,然后进行边缘检测,从而将图像的轮廓显示出来。彩色图变成灰度图可以大大减少处理的数据量,并且图像的细节,纹理等图像信息相比原图又不会减少,后续的处理步骤要利用的也是图像细节的信息,不需要利用到图像的颜色信息,所以转成灰度图像是一个很好的选择。转成灰度图后,对图片进行降噪处理,降噪处理是指在尽量保留图形细节特征的条件下对目标图像的噪声进行抑制,可以增加后续处理的有效性和可靠性。完成了前序的两步,就可以进行边沿检测,将图像的轮廓等细节信息显示出来。优选地,在边缘检测步骤之后进行剪切图片步骤,将干扰的轮廓部分去掉。从而进一步减少后续操作的数据处理量。

s103:利用提取图像轮廓点模块和轮廓点畸变校正模块先后执行s103步骤。将图片预处理模块处理后显示出的轮廓点提取出来;然后利用标定的摄像头内参矩阵和畸变系数,用矫正公式径向和切向矫正这些轮廓点,使之还原到无畸变的平面。

其中,提取图像轮廓点就是在进行了边沿检测后的二值图片上,把显示出来的轮廓点的坐标保存起来。为减少数据量,在列上可以采取等距离采点,行上也可以用同数值或不同数值的等距离采点,或两者配合使用。比如采点时,列的等距离采样数值为5,行的等距离采样数值为3,就是每隔5列采一个点,一直到该行的行末,然后可以跨3行继续每隔5列采点。经过这样的采样过程,数据量又可以减少1个数量级。当然需根据图片的尺寸选择合理的采样数值,不然图像的轮廓信息会丢失严重,后期的特征图形在物理世界就无法重建了。轮廓点畸变矫正就是把之前保存起来的在畸变平面上的轮廓点的坐标矫正到无畸变平面上的坐标点。在无畸变的平面上,这些被矫正的轮廓点可以把图片蕴含的图形的真实物理形状显示出来。

轮廓点畸变校正模块中建立的摄像头的成像模型如下:

设(x,y,z)为一个三维世界坐标点,投影在图像上的二维坐标为(u,v),投影关系如下:

其中,r和t分别代表相机外参中的旋转矩阵和平移向量,(x,y,z)是从三维世界坐标点变换到摄像头坐标系下的坐标。

x′=x/z

y′=y/z

r2=x′2+y′2

θ=atan(r)

θ′=θ(1+k1θ2+k2θ4+k3θ6+k4θ6)

x″=(θ′/r)x

y″=(θ′/r)y

u=fu*x″+cu

v=fv*y″+cv

其中:

fu:摄像头横向焦距,由摄像头标定得出;

fv:摄像头纵向焦距,由摄像头标定得出;

cu:摄像头光轴对应的图像中心点的横向坐标,由摄像头标定得出;

cv:摄像头光轴对应的图像中心点的纵向坐标,由摄像头标定得出;

k1,k2,k3,k4是摄像头的畸变系数,由摄像头标定得出。

以上是三维世界坐标点(x,y,z)变换到图像坐标(u,v)的变换公式。而点校正就是上述的逆过程,公式照样适用。

s104:利用提取图形特征关键点模块执行s104。先用ransac拟合出特征图形,再把能表征特征图形的关键点提取出来。

ransac提取特征图形关键点在无畸变的平面上完成。首先要找到特征图形,然后再提取特征图形的关键点。根据特征图形的不同,可以根据需要选择合理数量的具有代表性的关键点,而不必将所有的关键点均送到后续步骤中进行处理。代表性关键点的选取以确保一定可以恢复出原图形来为宜。例如具有函数解析式的图形,如直线或圆等图形,就没有必要把整条直线上或圆上的轮廓点都送到后续步骤进行处理,因为2个点就可以确定一条直线,3个点就可以确定一个圆,所以就可以在直线的轮廓点挑选2个轮廓点,圆上的轮廓点挑选3个轮廓点送到后续步骤进行处理,一样可以完成这些图形在物理世界的重建。

s105:利用关键点逆透视变换模块执行s105步骤。关键点逆透视变换就是把提取的特征图形的关键点的坐标变换到真实的物理世界坐标,这个物理世界坐标是在摄像头坐标系下表示的,故这个步骤需要摄像头的高度和姿态角信息。因为提取的特征图形的关键点坐标是在无畸变平面下的坐标,是从畸变平面转换过来的,只是消除了畸变,摄像头拍摄的透视效果并没有消除。所以关键点逆透视变换就是把无畸变平面上的点变换到真实的物理空间中,此时没有透视效果,变换后的点之间的位置关系真实反映着物理世界中的位置关系。

逆透视变换的公式如下:

t是变换矩阵,其中:

fu:摄像头横向焦距,由摄像头标定得出;

fv:摄像头纵向焦距,由摄像头标定得出;

cu:摄像头光轴对应的图像中心点的横向坐标,由摄像头标定得出;

cv:摄像头光轴对应的图像中心点的纵向坐标,由摄像头标定得出;

h:摄像头高度,可通过测量得到;

s1:摄像头俯角α的正弦值sinα;

s2:摄像头偏航角β的正弦值sinβ;

c1:摄像头俯角α的余弦值cosα;

c2:摄像头偏航角β的余弦值cosβ;

假设,关键点的坐标为(u,v),则:

其中(x,y)就是(u,v)对应的物理世界的坐标。

s106:利用得到特征图形物理世界方程模块执行s106。根据得到的关键点在摄像头坐标系下的坐标,可以重新计算出这些关键点所描述的特征图形的方程。从而方便计算摄像头跟特征图形的位置关系,完成高精度的定位。

相比传统的畸变矫正和特征提取方法和系统,本发明的运行效率提高了几个数量级,因为它优化的恰恰是传统方法中耗时较多的畸变矫正和逆透视变换步骤。

以1920×1080的图片为例,传统方法在畸变矫正和逆透视变换都需处理200万个点的数据量。而新方法要处理的点大概就上千个。因为对于这样尺寸的图片,可提取的轮廓点大概就上千个点,所以只需处理这上千个数据,处理的数据量相比200万小了三个数量级,所以矫正的运行效率大大的提高。特征图形可以使用很少的代表性关键点代表:比如直线或者线段可以使用两个点来代表;圆可以使用圆上三个点代表。对于提取的特征图形来说,之前提取的轮廓点也含有冗余的数据量,我们只需把能表征特征图形的代表性关键点送给逆透视进行处理,所以逆透视变换这步的处理数据量在原有的上千个数据点的基础上又可以大大减少,运行效率又得到了提高。经过ransac提取特征图形关键点的这个步骤后,数据量可以大大减少,处理这些关键点比在运行ransac前的几千个点少了3个数量级。实验中,利用树莓派3中linux环境运行时,每秒处理30帧图比以前利用传统方法每秒处理5帧图提高6倍。如果图片的尺寸越大,优势就越明显。所以,本发明的方法可以提供很好的实时性。

实施例1

本实施例的应用场景为能够提取地面特征的室内区域进行室内定位。首先采用摄像头获得室内地面瓷砖边缘线的特征信息,参照图4建立x轴和y轴方向,快速变换得到摄像头中心点位置到拍摄图片中直线相对位置信息。

s101:获取镜头图片。采集图片供后续模块处理。

s102:图片预处理。将采集的镜头图片从彩色图转化成灰度图;边沿检测,把图像的轮廓显示出来;剪切图片,把干扰的轮廓部分去掉。

将图片从彩色图转化成灰度图可以减少后续待处理数据的运算量,加快运行效率,并且灰度图在处理起来也更简单。

边缘检测可以用于显示图像的轮廓信息。图像属性中的显著变化通常反映了图像的重要事件和变化,通过边缘检测可以标识图像中亮度变化明显的点,通过这些点可以构成图像的边缘特征。对图像进行边缘检测可以大幅度地减少了原始图像的数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性,从而便于后续提取图像的特征信息。在本发明实施例中,可以采用canny算子对图像进行边缘检测。

剪切图片,由于摄像头是固定安装在一辆小车上的,可能会拍到小车本身的一些部位的固定轮廓,这不是有用信息,可以对摄像头拍摄得到每一帧图片与含有小车轮廓的原始图片进行图像差分,去掉小车中固定轮廓的干扰信息,这样可以增强拟合特征点的鲁棒性。

s103:提取图片轮廓点并矫正。把经过s102模块处理的图片显示出的轮廓提取出来,利用标定的摄像头内参矩阵和畸变系数,用矫正公式径向和切向矫正这些轮廓点,使之还原到无畸变的平面。

经过s102过程获得地面图形的轮廓点相关信息加上标定的摄像头内参矩阵和畸变系数,对获得的轮廓点进行高效地矫正。这样的点矫正比整张图片矫正效率更高,大大减少cpu运行时间。该方法运行在树莓派3中linux环境下,可极大减少硬件成本。

获得的轮廓点可以是用来描述地面图像特征的相关参数。形成的特征图形可以是能够使用参数描述的解析几何图形,特征图形的具体形状可以是直线、圆、菱形等。在本发明实施例中,对特征图形的具体形状不做限定。以室内地面瓷砖为例,机器人在该室内行驶时,从摄像头拍摄出的图像中拟合出的特征图形可以是该室内板砖的边缘线。

在本发明实施例中,可以利用霍夫变换(houghtransform)从矫正的特征点拟合出特征图形,或者是利用ransac算法从该图像中拟合出特征图形。

s104:ransac提取关键点。先用ransac拟合出特征图形,再把能表征特征图形的关键点提取出来。

本系统是先对轮廓点进行拟合直线,因为地板的线条是直线,拟合直线采用随机采样一致性算法进行对直线拟合,在找到的地板直线的轮廓点中精选2个关键点即可,因为直线只需2点就可以表征。从而可以进一步减少后续运算数据量。

s105:关键点逆透视变换。对s104步骤获取的关键点进行逆透视变换,得到这些关键点在真实世界的物理坐标。

根据实验的需要,比如算法中提取直线,程序设置最多同时提取方形地板的2条直线,所以可以获得4个关键点,分别是ransac提取的一条直线起点为(us1,vs1),终点为(ue1,ve1),提取另外一条直线起点为(us2,vs2),终点为(ue2,ve2)。提取每条直线的起点和终点生成的矩阵是:

将生成的矩阵m导入到逆透视变换的图像转换到地面的转换矩阵中去,就得到对应的物理世界坐标点组成的矩阵。矩阵形式如下:

其中t是逆透视变换矩阵,生成的点(xs1,ys1),(xe1,ye1),(xs2,ys2),(xe2,ye2)是图像中的关键点变换到物理世界的坐标,这个物理世界的坐标是以摄像头光轴点为坐标原点。

算法还可以拟合其它几何图形并计算出相应的几何图像方程式,进一步计算相应的物理信息。

s106:计算关键点物理世界方程。用s105得到的关键点的真实世界物理坐标,计算出特征图形在物理世界坐标系下的方程。

利用求得的关键点的物理世界坐标,可以求得关键点所表示的几何图形方程,此时就完成了从图片中的几何图像转换到物理世界坐标上的几何图像,此时利用物理世界坐标下的直线方程就可以很方便求出摄像头到地板边缘直线的距离,从而实现室内高精度定位。

显然,上述实施例仅仅是为了清楚地说明所作的举例,而非对实施方式的限制。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。只要是在本发明实施例基础上做出的常识性的改动方案,都处于本发明的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1