一种基于鱼眼镜头的宽视角定位方法与流程

文档序号:17844175发布日期:2019-06-11 21:32阅读:638来源:国知局
一种基于鱼眼镜头的宽视角定位方法与流程

本发明属于图像测量技术领域,具体涉及一种基于鱼眼镜头的宽视角定位方法。



背景技术:

本发明是针对无人机、机器人等图像导航、目标探测提出的。与普通的线性成像相比,鱼眼成像是非线性成像,它具有视场角大,距离越近畸变越大的特点。普通成像是线性成像,成像的视场角一般为40°~50°,而鱼眼成像的视场角通常可达到并超过180°,因而可实现更宽视场角内的目标的测量;在利用图像序列进行目标距离和方位测量时,针对远距离目标测量,鱼眼成像和线性成像在相同的视场角内,测量精度相当,在近距离目标测量时,鱼眼成像具有更高的方位和距离测量精度。

由于鱼眼成像属于非线性成像,导致随偏离光轴的目标图像畸变呈非线性变化。现有的鱼眼图像测量方法是先将采集的鱼眼图像进行标定矫正后展开,然后将展开的图像进行特征提取和匹配,最后经过拼接融合后,可以拼接为一幅超大无缝图像,进行测量。其步骤太过于繁琐且有一定的局限性,而且加入了矫正误差和拼接误差,使得测量误差增大。



技术实现要素:

针对上述问题本发明提供一种基于鱼眼成像的宽视野定位方法,直接采用鱼眼序列图像的畸变特性实现鱼眼镜头的宽视野定位,在减少运算量、提高非线性精度的同时,实现目标物体的智能化宽视野测量。

为达到上述目的本发明采用的技术方案:

一种基于鱼眼成像的宽视野定位方法,包括以下步骤:

101、宽视野鱼眼图像集的生成:

所述宽视野鱼眼图像集生成的具体方法为:将不同距离下无畸变的序列图像集通过鱼眼成像模型公式计算得到宽视野鱼眼图像序列集,其中鱼眼镜头成像模型公式为:

r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9+…,(1)

其中{ki}(i=1,2,3,4,5)表示鱼眼图像的畸变参数,θ表示针孔相机成像过程中入射光线与光轴的夹角,r(θ)表示鱼眼成像点与鱼眼图像平面坐标系的原点之间的距离。

102、图像预处理、模板匹配:

所述图像预处理的具体方法为:先将宽视野鱼眼图像序列集进行均匀切分得到子图像,计算每个子图像对应的灰度直方图,并标明最大灰度值和最小灰度值的大小,同时采用编号对所述子图像和所述灰度直方图进行命名,将每个子图像的最大灰度值和最小灰度值输入第一公式得到子图像的灰度值像素数量k,k为k1或k2;低灰度值像素数量k1,高灰度值像素数量k2;

所述第一公式为:

其中,p,q是比例因子;

定义,最大灰度值比例为max_gray和最小灰度值比例为0;间隔[0,l]是低灰度值间隔,间隔[h,max_gray]是高灰度间隔;低灰度值像素数量k1,其标志符f,高灰度值像素数量k2,其标志符为g;

所述模板匹配的具体方法为:根据目标图像和背景图像之间灰度值的差异,设置阈值,进行模板匹配,得到有目标物体的图像,将上述有目标物体的图像保存,进行拼接,最后将拼接完成的图像输出,即得到分离的目标图像;

103、所述畸变程度与位置关系建模的具体方法为:

采用深度学习的方法,对目标图像进行角点检测,提取角点畸变程度;然后使用神经网络的方法将角点畸变程度作为神经网络的输入集,与其序列图像相对应距离位置与方位角作为其输出集,通过对神经网络架构的不断调整及训练,从而实现畸变图像的位置测量。

104、图像识别与定位:

将待处理的鱼眼目标图像直接输入训练好的深度学习模型中,快速实现目标图像的识别与定位。

进一步地,所述相对应距离位置为图像中的物体距离镜头的实际距离,即物距。

与现有技术相比本发明的有益效果:

本发明的方法直接利用鱼眼成像的两维和三维空间非线性畸变特性,基于图像测量的理论与方法,利用深度学习的方法直接实验鱼眼镜头的宽视野定位,避免了由传统的鱼眼镜头定位技术需要矫正和拼接带来的矫正误差和拼接误差,提高了非线性测量精度;并且在深度学习模型中加入了角点提取子网络,简化了训练模型,加快了运算速度。

附图说明

图1为本发明方法的流程图;

图2为本发明模板匹配的流程图;

图3为本发明模糊对角点提取图;

图4为本发明提取角点结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-4所示,一种基于鱼眼镜头的宽视野定位方法,包括如下步骤:

步骤101、宽视野鱼眼图像集生成:

将不同距离下无畸变的序列图像集通过鱼眼成像模型公式计算得到宽视野鱼眼图像序列集,其中鱼眼镜头成像模型公式为:

r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9+…,(1)

其中{ki}(i=1,2,3,4,5)表示鱼眼图像的畸变参数,θ表示针孔相机成像过程中入射光线与光轴的夹角,r(θ)表示鱼眼成像点与鱼眼图像平面坐标系的原点之间的距离。

步骤102:图像预处理:

先将整个宽视野鱼眼图像序列集进行均匀切分得到子图像,计算每个子图像对应的灰度直方图,并标明最大灰度值和最小灰度值的大小,同时采用编号对所述子图像和所述灰度直方图进行命名,将每个子图像的最大灰度值和最小灰度值输入第一公式得到子图像的灰度值像素数量k,k为k1或k2;低灰度值像素数量k1,高灰度值像素数量k2;

所述第一公式为:

其中,p,q是比例因子(a,b)、(c,d)分别为p和q的取值范围,a<p<b,c<q<d.

定义,间隔[0,l]是低灰度值间隔,间隔[h,max_gray]是高灰度间隔。把整个图像分解为m×n个子图像。计算在i行j列的子图像的低灰度值像素数量k1,高灰度值像素数量k2.定义两个标志符f,g。

模板匹配:

根据目标图像和背景图像之间灰度值的差异,设置阈值,进行模板匹配,得到有目标的子图像,将上述有目标的子图像保存,然后进行无缝拼接,将拼接完成的图像输出,即得到分离的目标图像。

判断式:k>t。其中,t为阈值,k为k1或k2;t为t1或t2;a1<t1<b1;c1<t2<d1;若k1满足上式,定义f=1;否则定义f=0。同理,若k2满足上式,定义g=1;否则定义g=0。若同时满足f=1,g=1,则认为此子图像为目标图像。

步骤103、畸变程度与位置关系建模:

采用深度学习的方法,例如采用卷积神经网络对鱼眼图像进行位置测量,其中包括两个子网络(对目标图像进行角点提取子网络和目标定位子网络)。对有目标图像进行角点检测,提取角点畸变程度,将角点畸变程度作为卷积神经网络的输入集,与其序列图像相对应距离位置和方位角作为其输出集,通过对神经网络架构的不断调整及训练,从而实现畸变图像的位置测量。

对目标图像进行角点提取时,大致可分为三步。第一步学习训练,即输入图像首先以相对较大的内核大小(与图像内容成比例)过滤成n个特征通道。第二步直接过滤(无空间影响)到n/2个新通道。最后一步实现了单通道响应图。每一步的激活函数都是relu(整流线性单元)。具体实施方法如下:

第一步由具有许多输出通道的相对大的内核大小的卷积滤波器组成。它的激活功能是relu(整流线性单元)。我们将输入图像表示为x.第一步产生n个通道l1,i(x),由训练过滤器内核w1,i和偏置b1,i控制:

下一步是n个特征通道的局部转换为n/2个新特征,每个特征具有另一个relu激活函数:relu(x)=max(x,0)。n/2个输出通道中的每一个都是n个输入通道的加权和,偏置为b2,j:

最后一步将第二步产生的n/2个通道组合成一个响应图。其具有小的空间支持,以允许响应图中的邻域影响。与早期图层类似,此图层的输出由下式给出:

此阶段的空间滤波器半径应足够大,以克服图像的影响角落模糊。这种模糊通常是焦点配置错误的结果获取时的距离。大多数(如果不是全部)现有相机都带有内置自动对焦模块,这种影响通常很小。我们选择了六个像素的半径,这已经绰绰有余了对于我们评估的场景中的半径。甚至更大的空间半径将允许更多的焦点模糊:在大多数情况下,较大的半径是多余的,同时减慢处理;我们将在结果部分探索这种权衡。

对目标图像进行目标定位时,使用角点提取子网络输出的角点畸变程度(用不同距离下同一点在图像上的坐标变化)作为输入集,实际距离(就是图像中的物体距离镜头的实际距离,即物距)与方位角作为输出集进行训练,通过对深度学习模型网络架构的不断调整及训练,从而得到训练完成的深度学习模型,实现畸变图像的位置测量。

步骤104、图像识别与定位:

将待处理的鱼眼目标图像直接输入训练好的深度学习模型中,快速实现目标图像的识别与定位。

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