本发明涉及图像处理技术领域,特别涉及一种基于均值差优化的鱼眼图像有效区域提取方法。
背景技术:
在计算机视觉的虚拟现实领域,场景漫游技术正在快速发展。而使用鱼眼镜头来获得球形全景图是重要的场景漫游方法之一。在球形全景图的生成中,要获得鱼眼图与最终的球形全景图像像素的一一对应关系,首先要给出鱼眼图图像区域的圆心、半径。还要有这个鱼眼图像对应的现实空间的视场角。当前有很多论文都没有获得较为准确的鱼眼图圆心半径就进行下一步拼接,给下一步拼接工作带来了难度。
现有技术中直接给出了鱼眼图像的圆心半径和视场角,并没有讲是怎么来的。在基于单鱼眼旋转的全景图生成中,将图像的坐标与半径视为未知数,在图像拼接过程中通过拼接效果的优化指标来调整这个参数。因为影响图像拼接的参数很多,如果不能提前给出精度较高的图像圆心坐标与半径参数,那么在后期进行最佳参数搜索时将极大地提高算法计算复杂度,而且容易导致算法不稳定无法收敛到局部最优解,从而影响鱼眼图像有效区域的提取。
中国专利(公告号:cn105678729b)公开了一种鱼眼镜头全景图像拼接方法,通过建立多条直线在鱼眼图像的投影图为输入数据的优化算法来对鱼眼镜头的成像模型参数进行优化,鱼眼图圆的圆心和半径、非线性畸变都是其优化参数。但因为未能事先确定鱼眼图的圆心和半径使得鱼眼镜头拼接复杂度大大增加且容易不稳定。因此,在进行全景拼接或畸变参数标定之前,提前确定出鱼眼图像的圆心和半径十分必要。
当前鱼眼图有效区域提取的方法主要有四种,第一种是通过求其二值化图像的形心和面积来找出鱼眼图有效区域的圆心和半径。这种方法简单高效,但是在图像内部有纯黑色区域时容易不准,而更加容易出现的情况是有效区域相邻的外部可能会出现少量亮块,这些亮块会直接影响结果准确度。第二种是扫描线法。利用四条或者八条扫描线从图像的最边缘往内侧移动,当前扫描线扫描到亮度高于一定阈值的像素就停止移动,然后再将扫描线作为圆的切线求取圆的参数。这种方法虽然可以不受内部黑色区域影响,但是如果圆边缘内部有纯黑色块或者外部有亮块依然会受影响。第三种是基于区域生长的鱼眼图像轮廓提取算法,这种方法在将图像二值化以后先进行区域生长,然后提取其边缘信息进行最小二乘拟合。其区域生长主要依赖于亮度块的边缘曲率,生长过程中会填补掉所有的内部黑洞以及外部凹进来的部分给填补上。这种方法同样对有效区域外的少量亮度块无能为力甚至会使亮度块变的更加严重,而且对凹进来的部分填补也不完整,最终导致结果不准确。第四种是基于二值化加霍夫圆变换、最小二乘拟合方法得出的有效区域。这种方法在第一步将图像进行了二值化,然而一旦遇到边缘模糊的情况,二值化出来的结果边缘就会弯弯曲曲,使霍夫圆检测算法完全失效。还有其不能处理图像有椭圆畸变的情况。即使其将霍夫圆变换改为了霍夫椭圆变换,由于霍夫椭圆变换本身计算复杂度极高,将会使计算速度非常慢,给工业化的批量检测带来效率困扰。
技术实现要素:
针对现有技术中鱼眼图像拼接不稳定的问题,本发明提出一种基于均值差优化的鱼眼图像有效区域提取方法。
为了实现上述目的,本发明提供以下技术方案:
一种基于均值差优化的鱼眼图像有效区域提取方法,包括以下步骤:
s1:采用鱼眼相机拍摄目标物,从而获取目标物的原始鱼眼图像;
s2:通过构建椭圆
s3:调节二维函数
s4:将椭圆
s5:将第一次步长重新设置为第一次步长的0.8倍大小,重复步骤s4;
s6:将步长s′设置为原始鱼眼图像宽度的十分之一,将椭圆
s7:将步长s′恢复到第一次步长大小,重复步骤s4、s5、s6,直到当椭圆变化m次后得到椭圆
s8:输出椭圆
优选的,所述椭圆模型的目标函数e表达式为以下公式:
公式(1)中,
公式(2)中,cx表示圆心横坐标,cy表示圆心纵坐标,a表示椭圆的长轴,b表示椭圆的短轴,为了将
公式(3)的意义是根据椭圆参数来生成一个二维函数,这个二维函数能描述图像每一个像素是在椭圆内部还是在椭圆外部;即当
优选的,所述原始鱼眼图像有效区域的亮度分布在[a,b]的区间内,且2a>b。
优选的,所述步骤s4中,所述第一次步长大小设置为1。
优选的,所述步骤s4中,所述相等表示|minen-minen-1|<ε,ε是一个预设值。
综上所述,由于采用了上述技术方案,与现有技术相比,本发明至少具有以下有益效果:
本发明通过将鱼眼图像椭圆内部均值最大化且椭圆外部均值最小化的方法找到一个椭圆来表达鱼眼图像有效区域的内容;本发明对有效区域的边缘模糊、有效区域外噪声点以及有效区域内图像内容变化都有很好的鲁棒性,为进一步的鱼眼图像矫正提供了方便。
采用本发明对鱼眼图像的有效区域进行提取,稳定性高,且对镜头椭圆畸变、边缘模糊、有效区域外部有少量光斑这些情况均不会失效,且在边缘模糊,有效区域外部有光斑情况下,提取误差较小。
附图说明:
图1为根据本发明示例性实施例的一种基于均值差优化的鱼眼图像有效区域提取方法流程示意图。
具体实施方式
下面结合实施例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
参照图1,本发明提供一种基于均值差优化的鱼眼图像有效区域提取方法,包括以下步骤:
s1:采用鱼眼相机拍摄目标物,从而获取目标物的原始鱼眼图像。
本实施例中,采用鱼眼相机在对目标物拍摄时需要具备一定的亮度,从而保证拍摄的原始鱼眼图像能够被识别。若原始鱼眼图像有效区域的亮度分布在[a,b]的区间内,则2a>b。
s2:通过构建椭圆模型来提取原始鱼眼图像的有效区域。
在原始鱼眼图像(为矩形图像)中,存在有效区域和无效区域。有效区域内是现实世界的光线通过镜头映射过来可视的区域;而无效区域是在正常情况下外界的光都折射不到区域,呈现黑色,在被拍摄物体为光源且光源极其强烈的情况下有可能会有少量光斑。因此需采用一种方法来提取出原始鱼眼图像的有效区域,避免受到无效区域因素的影响,为后续的图像处理提供基础。
理想情况下原始鱼眼图像的有效区域是一个圆,摄像机就是按照投影出一个圆设计的,但是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生切向畸变,使得有效区域变为一个椭圆。
因此本发明将有效区域的提取问题描述为找到一个椭圆
目标函数e的表达式如下:
公式(1)中,
公式(2)中,cx表示椭圆圆心横坐标,cy表示椭圆圆心纵坐标,a表示椭圆沿着横坐标的缩放系数即椭圆的长轴,b表示椭圆沿着纵坐标的缩放系数即椭圆的短轴。
本实施例中,为了将
公式(3)的意义是根据椭圆参数来生成一个二维函数,这个二维函数能描述图像每一个像素是在椭圆内部还是在椭圆外部;即当
s3:调节二维函数
本实施例中,原始鱼眼图像i为矩形图像,因此会存在一个内切椭圆,当原始鱼眼图像i的尺寸是固定的时候,则内切椭圆的圆心位置和长短轴尺寸都是固定,因此本发明需通过调节二维函数
待椭圆
s4:将椭圆
当minei+1<minei,重复步骤s4;若minei+1>minei,则进入步骤s5;若minei+1与minei相等,则进入步骤s6。
本实施例中,可设置第一次步长大小s1为1,将椭圆
若mine1<e0,则使最小值mine1对应的4个参数变化生效,从而得到变化1次后的椭圆
将椭圆
本实施例中,因函数的变化导致函数值不可能完全相等,因此可将minen=minen-1理解为|minen-minen-1|<ε,ε是设定的一个预设极小值,以避免出现无限重复循环的情况。
s5:保持椭圆
本实施例中,下一次步长大小设置为上一次步长大小的0.8倍大小,即sk=0.8sk-1,k≥2,k为正整数,例如s2=0.8s1=0.8。
s6:将步长s′设置为原始鱼眼图像i宽度w的十分之一,即
s7:将步长s′恢复到第一次步长大小s1,重复步骤s4、s5、s6,每次重复计算的椭圆都是参数变化后目标函数值最小所对应的椭圆,直到当椭圆变化m(0≤i<n<m)次后得到椭圆
s8:输出椭圆
本实施例中,当确定minem就是全局最优值后,则对应的椭圆
本实施方式中所涉及到的各模块和单元均为逻辑模块和逻辑单元,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。