一种基于视觉显著性的相机自动对焦方法与流程

文档序号:14846982发布日期:2018-06-30 16:48阅读:362来源:国知局
一种基于视觉显著性的相机自动对焦方法与流程

本发明属于电视摄像机技术领域,特别涉及一种基于视觉显著性的相机自动对焦方法,适用于自动对焦区域选择并进行反差对焦。



背景技术:

视觉显著性,是人类在进行高级视觉处理前提取出图像的一个感兴趣的子集,来减少处理的复杂度,实际在摄影时,通常场景中也会有显著的东西,可以通过选取显著区域作为对焦区域可以优化对焦效果;反差对焦,也叫对比度对焦,是使用图像中物体的反差进行对焦的算法,成像后根据成像效果决定下一步操作,反差对焦被广泛用在相机系统,但是目前对焦算法的自动区域选取功能较孱弱,导致对焦区域选取不够智能,对焦效果无法令人满意。



技术实现要素:

针对上述现有技术存在的不足,本发明的目的在于提出一种基于视觉显著性的相机自动聚焦方法,该种基于视觉显著性的相机自动聚焦方法是一种基于视觉显著性选取对焦区域并使用块反差迭代对焦的方法,能够有效解决现有方法对焦区域选择较差,计算量高,而且解决了不适合在移动设备上使用的缺点。

为达到上述技术目的,本发明采用如下技术方案予以实现。

一种基于视觉显著性的相机自动聚焦方法,包括以下步骤:

步骤1,确定图像矩阵I,对图像矩阵I进行平均分块,分为α·β个图块,其中α为图像矩阵I的横向分块个数,β为图像矩阵I的纵向分块数;α和β分别为大于0的正整数;

计算图像矩阵I的Lab色彩空间中色彩a-channel对应通道图像Ia-channel和图像矩阵I的 Lab色彩空间中色彩b-channel对应通道图像Ib-channel;

步骤2,根据图像矩阵I的Lab色彩空间中色彩a-channel对应通道图像Ia-channel和图像矩阵I的Lab色彩空间中色彩b-channel对应通道图像Ib-channel,计算图像矩阵I中横向序号 a、纵向序号b处的图块Pa,b的总显著性权重Wa,b;a=1,2,…,α,b=1,2,…,β;

步骤3,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的原始反差值Ca,b;

步骤4,根据图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的总显著性权重Wa,b和图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的原始反差值Ca,b,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的显著性加权反差值C``a,b;

a=1,2,…,α,b=1,2,…,β;进而得到图像矩阵I中每一个图块的显著性加权反差值,记为图像矩阵I中α·β个显著性加权反差值;然后确定对焦区域;

步骤5,计算对焦区域的反差值C,并根据所述对焦区域的反差值C,得到最佳对焦位置,进而完成对焦。

本发明的有益效果:本发明方法相对传统的对焦算法,实现了一个快速有效的显著区域选择方法,能够对图像对焦区域进行精细化选择,提供更好的对焦效果的同时计算量增加较小,便于在移动设备上实现。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细说明。

图1是本发明的一种基于视觉显著性的相机自动聚焦方法流程图;

图2是本发明中顺序编号后的α×β个图块示意图;

图3是本发明原始反差值计算方法的流程图;

图4是本发明中每一个灰度图块划分子灰度图块示意图;

图5是本发明对焦区域的得到过程流程图;

图6是本发明迭代对焦的流程图;

图7是实际场景中使用本发明方法得到的对焦区原始反差值全对焦区变化图;

图8是本发明对焦区域选择效果图;

图9是本发明对焦效果图。

具体实施方式

参照图1,为本发明的一种基于视觉显著性的相机自动聚焦方法流程图;其中所述基于视觉显著性的相机自动聚焦方法,包括以下步骤:

步骤1,确定图像矩阵I,所述图像矩阵I是分辨率为x·y的μ位RGB图像,x为图像矩阵I的横向分辨率,y为图像矩阵I的纵向分辨率,即图像矩阵I为y·x·3的矩阵,其中3为RGB图像的3个颜色通道,分别为红色red通道、绿色green通道和蓝色blue通道;·表示乘号。

对图像矩阵I进行平均分块,分为α·β个图块,其中α为图像矩阵I的横向分块个数,经验值为10;β为图像矩阵I的纵向分块数,经验值为5;对图像矩阵I的α·β个图块进行顺序编号,其中将横向序号a、纵向序号b处的图块记为Pa,b,a=1,2,…,α,b=1,2,…,β;顺序编号后的α·β个图块;如图2所示。

图像矩阵I中横向序号a、纵向序号b处的图块Pa,b对应图像矩阵I的第行至第行、第列至第列的矩形区域;图像矩阵I中横向序号a、纵向序号b 处的图块Pa,b的中心位置坐标为Cpa,b,

考虑到显著区域一般是颜色和周围相差较大的区域,利用人眼红绿蓝黄敌色原理,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的颜色显著加权系数Wsa,b;具体首先计算全图和各个图块的平均色彩向量,具体首先将图像矩阵I由RGB空间转为Lab空间提取a-channel、b-channel两个色彩通道,计算第一中间矩阵T1、第二中间矩阵T2和第三中间矩阵T3,其表达式分别为:

其中,IR表示图像矩阵I中y·x·1的红色通道分量矩阵,IG表示图像矩阵I中y·x·1的绿色通道分量矩阵,IB表示图像矩阵I中y·x·1的蓝色通道分量矩阵;Bitwidth表示图像矩阵I的最大色深,用于将图像矩阵I归一化到[0,1]区间内,对于分辨率为x·y的μ位RGB 图像,Bitwidth=2μ-1,μ表示图像矩阵I的位数;M表示设定3×3维参数矩阵,M(i,j)表示设定3×3维参数矩阵M中第i行第j列数据, i=1,2,3,j=1,2,3;表示归一化后图像矩阵I中y·x·1的红色通道分量矩阵,表示归一化后图像矩阵I中y·x·1的绿色通道分量矩阵,表示归一化后图像矩阵I中y·x·1的蓝色通道分量矩阵,gamma表示色彩校正函数,

t为中任意一个归一化后图像矩阵I中y·x·1的颜色通道分量矩阵。

然后,利用第一中间矩阵T1、第二中间矩阵T2和第三中间矩阵T3,计算图像矩阵I的 Lab色彩空间中色彩a-channel对应通道图像Ia-channel和图像矩阵I的Lab色彩空间中色彩 b-channel对应通道图像Ib-channel,其表达式分别为:

其中,图像矩阵I为y·x·3的矩阵,·表示乘号,y·x·3中3为RGB图像的3个颜色通道,分别为红色red通道、绿色green通道和蓝色blue通道;Lab色彩空间中L分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a-channel表示从红色到绿色的范围,取值范围为[127,-128];b-channel表示从黄色到蓝色的范围,取值范围为 [127,-128];Fa为第一经验常数,Fb为第二经验常数,本实施例中Fa为500,Fb为200;f 为色彩校正函数,为和中任意一个;T1n为第三经验常数,T2n为第四经验常数,T3n为第五经验常数,本实施例中T1n为95.047,T2n为100.0,T3n为108.883。

步骤2,计算图像矩阵I的全图平均色彩向量S,S=(mean(Ia-channel),mean(Ib-channel)), 其中mean表示求平均值操作。

然后计算每个图块的平均色彩向量,图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的平均色彩向量Sa,b,Sa,b=(mean(Ia-channelPa,b),mean(Ib-channelPa,b))。

其中,mean表示求平均值操作,Ia-channelPa,b表示图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的Lab色彩空间中色彩a-channel对应通道图像,具体为图像矩阵I的Lab 色彩空间中色彩a-channel对应通道图像Ia-channel中第行至第行、第

列至第列的矩形区域;表示图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的Lab色彩空间中色彩b-channel对应通道图像,具体为图像矩阵I的 Lab色彩空间中色彩b-channel对应通道图像Ib-channel的第行至第行、第列第列的矩形区域。

最后通过计算图块平均色彩与整体图像平均色彩的插座,得到图像矩阵I中横向序号 a、纵向序号b处的图块Pa,b的显著性加权系数Wsa,b,其中||·||表示求·的二范数。

考虑到一般拍照时显著区域都是图像中心区域,因此图像中心有较高的显著性权重。接下来结合图块到图像中心距离,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的位置显著加权Wca,b。

计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的归一化中心纵向距离ndya,b,即图像矩阵I中横向序号a、纵向序号b处的图块Pa,b中心到图像矩阵中心行数除以图像矩阵的半高;图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的归一化中心横向距离ndxa,b,即图像矩阵I中横向序号a、纵向序号b处的图块Pa,b中心到图像矩阵中心列数除以图像矩阵的半宽;然后利用归一化中心横向距离和归一化中心纵向距离,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的中心权重Wca,b,其表达式为:

其中,Fc1表示控制中心权重重要性的第一设定值,Fc2表示控制中心权重重要性的第二设定值,Fc3表示控制中心权重重要性的第三设定值,本实施例中Fc1为经验值10000,Fc2为经验值80,Fc3经验值为100;表示图像矩阵I中横向序号a、纵向序号b处的图块Pa,b到图像矩阵中心的归一化欧氏距离。

之后计算得到图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的总显著性权重Wa,b, Wa,b=Wca,b·Wsa,b。

步骤3,需要对各个分块计算反差值,具体流程同图3所示,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的反差值Ca,b;为了简化计算,同时提高低光高噪声情况下的鲁棒性,计算反差值使用块对比度的方法。

首先,将图像矩阵I使用经验公式转换为灰度图像矩阵G,

图像矩阵I的α·β个图块在灰度图像矩阵G中对应α·β个灰度图块,灰度图像矩阵G中横向序号a、纵向序号b处的灰度图块为Ga,b,具体为灰度图像矩阵G的第行至行、第列至第列的矩形区域。

将灰度图像矩阵G中横向序号a、纵向序号b处的灰度图块Ga,b划分为δ·ε个子灰度图块,每个子灰度图块大小均为γ·γ,γ通常取经验值16;δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块为pc,d,c=1,2,…,δ,d=1,2,…,ε,δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d是灰度图像矩阵G中横向序号a、纵向序号b处的灰度图块Ga,b中第(d-1)·γ+1行至第d·γ行、第(c-1)·γ+1列至第c·γ列的矩形区域,如图 4所示。

分别计算δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的左右反差值以及δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的上下反差值abs表示求绝对值,sum表示求累加和;分别为δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的半边灰度图矩阵,表示δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的右半边,即δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的第1至第γ行、第列至第γ列的矩形区域;表示δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的左半边,即δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的第1至第γ行、第1列至第列的矩形区域;表示δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的上半边,即δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的第1列至第γ列、第1行至第行的矩形区域;表示δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块pc,d的下半边,即δ·ε个子灰度图块中横向序号c、纵向序号d处的子灰度图块 pc,d的第1列至第γ列、第行至第γ行的矩形区域;

c=1,2,…,δ,d=1,2,…,ε;进而得到δ×ε个子灰度图块中每一个子灰度图块的左右反差值和δ×ε个子灰度图块中每一个子灰度图块的上下反差值。

然后利用δ·ε个子灰度图块中每一个子灰度图块的左右反差值和δ·ε个子灰度图块中每一个子灰度图块的上下反差值,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的原始反差值Ca,b,其表达式为:

Ca,b=max({Wp1,1,Wp2,1,…,Wpc,d,…,Wpδ,ε})+max({Hp'1,1,Hp'2,1,…,Hp'c,d,…,Hp'δ,ε})

其中,max为求最大值函数。

步骤4,得到所有图块的原始反差值后,为了增强算法鲁棒性,计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b对应的邻域反差值C`a,b,即在图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的原始反差值Ca,b基础上加入图像矩阵I中横向序号a、纵向序号 b处的图块Pa,b八邻域区域的原始反差值;如果邻域在相应图块外,即图块列数等于0或者α+1或图块列数等于0或者β+1,则相应图块原始反差值为0;所述图像矩阵I中横向序号 a、纵向序号b处的图块Pa,b对应的邻域反差值C`a,b,其表达式为:

其中,Ca-1,b表示图像矩阵I中横向序号a-1、纵向序号b处的图块Pa-1,b的原始反差值, Ca+1,b表示图像矩阵I中横向序号a+1、纵向序号b处的图块Pa+1,b的原始反差值,Ca,b-1表示图像矩阵I中横向序号a、纵向序号b-1处的图块Pa,b-1的原始反差值,Ca,b+1表示图像矩阵 I中横向序号a、纵向序号b+1处的图块Pa,b+1的原始反差值,Ca-1,b-1表示图像矩阵I中横向序号a-1、纵向序号b-1处的图块Pa-1,b-1的原始反差值,Ca+1,b+1表示图像矩阵I中横向序号 a+1、纵向序号b+1处的图块Pa+1,b+1的原始反差值,Ca+1,b-1表示图像矩阵I中横向序号 a+1、纵向序号b-1处的图块Pa+1,b-1的原始反差值,Ca-1,b+1表示图像矩阵I中横向序号 a-1、纵向序号b+1处的图块Pa-1,b+1的原始反差值。

计算图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的显著性加权反差值 C``a,b=C`a,b·Wa,b;C``a,b为图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的最终反差值, Wa,b表示图像矩阵I中横向序号a、纵向序号b处的图块Pa,b的总显著性权重。

a=1,2,…,α,b=1,2,…,β;进而得到图像矩阵I中每一个图块的显著性加权反差值,记为图像矩阵I中α·β个显著性加权反差值;将图像矩阵I中α·β个显著性加权反差值中最大值对应的图块,作为图像矩阵I的最佳对焦图块PA,B,

PA,B=findmaxloc({C``1,1,C``2,1……C``α,β}),下标A表示图像矩阵I中α·β个显著性加权反差值中最大值对应的图块横向序号,下标B表示图像矩阵I中α·β个显著性加权反差值中最大值对应的图块纵向序号,findmaxloc表示寻找显著性加权反差值最大的图块;将图像矩阵I的最佳对焦图块PA,B记为对焦区域,如图5所示。

步骤5,得到最佳对焦区域:得到对焦区域后,使用迭代方法在对焦区域中快速搜索最佳对焦位置,相对全局搜索方法,迭代法速度快;在计算反差值时计算对焦区域的反差值C,本实施例中将图像矩阵I中横向序号A、纵向序号B处的图块PA,B的原始反差值CA,B作为对焦区域的反差值C。

参照图6,为本发明迭代对焦的流程图;其子步骤为:

5.1.确定相机,以及对焦近端位置Lnear和对焦远端位置Lfar,对焦近端位置Lnear和对焦远端位置Lfar由相机参数获得;确定步长变量Step,所述步长变量Step设为默认步长,可以在相机步进电机总步数的0.5%至5%的范围内自由取值;设定最大反差值变量CMax,设定距离最大值对焦区域步数SMax为0,设定反差值宽限值Ct在50到500内自由取值;初始步长和宽限值参数初始化与具体相机硬件有关。

5.2.通过相机接口读取当前对焦位置Loc,并设置最大反差值位置变量LocMax为当前对焦位置Loc。

如果当前对焦位置Loc不是对焦远端位置,则相机移动方向为对焦远端位置Lfar方向;否则相机移动方向为对焦近端位置Lnear方向,所述相机移动方向为对焦方向,对焦方向包括对焦远端位置Lfar方向和对焦近端位置Lnear方向且对焦远端位置Lfar方向和对焦近端位置Lnear互反。

令最大反差值变量CMax为对焦区域的反差值C,令最大反差值位置变量LocMax为当前对焦位置Loc,并将距离最大值对焦区域步数SMax设为0,设置前一个位置反差值变量Cl为0。

5.3.将当前对焦位置Loc按照对焦方向移动Step步,并计算当前对焦位置Loc反差值,如果移动Step步后的当前对焦位置LocStep达到对焦近端位置Lnear或对焦远端位置Lfar,即LocStep=Lnear或LocStep=Lfar,则转至子步骤5.4;否则,执行子步骤5.5。

5.4转换对焦方向,并恢复初始参数,即分别令步长变量Step为默认步长,令最大反差值变量CMax为对焦区域的反差值C,令最大反差值位置变量LocMax为移动Step步后的当前对焦位置LocStep,令距离最大值对焦区域步数SMax为0,令前一个位置反差值变量Cl 为0,返回5.3。

5.5如果C>CMax,则令最大反差值变量CMax为对焦区域的反差值C,令距离最大值对焦区步数SMax为0,令最大反差值位置变量LocMax为移动Step步后的当前对焦位置 LocStep;如果C-Cl≤Ct,令步长变量Step的值增加50%,令前一个位置反差值变量Cl为对焦区域的反差值C,返回子步骤5.3;否则直接令前一个位置反差值变量Cl为对焦区域的反差值C,返回子步骤5.3。

如果C≤CMax,则执行子步骤5.6。

5.6令SMax的值加1,如果SMax达到设定阈值,通常设定阈值为3;则对焦过程结束,则最大反差值位置变量LocMax作为最佳对焦位置,转至子步骤5.8完成对焦;否则转至子步骤5.7。

5.7如果C+Ct≤Cl,则将相机对焦方向转向当前方向的反方向,同时令步长变量Step 的值减小50%,令前一个位置反差值变量Cl为对焦区域的反差值C,返回子步骤5.3;如果C-Cl≤Ct,则令步长变量Step的值增加100%,令前一个位置反差值变量Cl为对焦区域的反差值C,返回子步骤5.3。

5.8.将最佳对焦位置移动至最大反差值位置变量LocMax处即为最佳合焦位置,进而完成对焦。

参照图7,为实际场景中使用本发明方法得到的对焦区原始反差值全对焦区变化图,图8是本发明对焦区域选择效果图,图9是本发明对焦效果图;图7、图8和图9验证了本发明的正确性,有效性和可靠性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围;这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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