CN111432129A - 一种基于阈值法和局部最大值的自动对焦爬山搜索算法 - Google Patents
一种基于阈值法和局部最大值的自动对焦爬山搜索算法 Download PDFInfo
- Publication number
- CN111432129A CN111432129A CN202010290827.6A CN202010290827A CN111432129A CN 111432129 A CN111432129 A CN 111432129A CN 202010290827 A CN202010290827 A CN 202010290827A CN 111432129 A CN111432129 A CN 111432129A
- Authority
- CN
- China
- Prior art keywords
- evaluation function
- value
- motor
- local
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/67—Focus control based on electronic image sensor signals
- H04N23/673—Focus control based on electronic image sensor signals based on contrast or high frequency components of image signals, e.g. hill climbing method
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Automatic Focus Adjustment (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种基于阈值法和局部最大值的自动对焦爬山搜索算法,可提高对焦***的稳定性和减少对焦时间;通过设定阈值Value,可以直接忽略由于噪声、亮度变化等因素导致的局部极值,提高对焦的成功率;判断评价函数处于“上坡”、“下坡”、“平地”区域的判断条件,随着上一幅图像评价函数值Sm的变化而变化,面对不同对比度的图像,能够自适应改变判断条件;通过引入局部评价函数最大值,减少对焦循环和对焦时间;通过设定电机的固定移动步长,并采用|S‑Sm1|<Value*Sm1或S>Sm1作为对焦结束的条件,解决传统自动对焦爬山搜索算法中“即使步长缩小为零,镜头仍没有走到最佳对焦点”的问题,并提高对焦的精确性。
Description
技术领域
本发明涉及相机自动对焦以及图像处理领域,尤其涉及的是一种基于阈值法和局部最大值的自动对焦爬山搜索算法。
背景技术
在传统的数字自动对焦方法中,对硬件条件需求最小的就是对比度法CDAF(contrast detection auto focus)。对比度法简单来说就是计算图像对焦区域的对比度(评价函数值),通过比较前后两幅图像对焦区域对比度(评价函数值)的大小,控制电机带动镜头前进或后退,直到找到对比度(评价函数值)最大的位置(合焦点)。广泛采用的搜索算法为爬山算法,其原理为从起始位置开始,以等步长驱动电机带动镜头移动,每移动一次计算一次本幅图像的评价函数值,并与上幅图像的评价函数值作比较,若比上幅图像评价函数值大,说明电机驱动方向正确,继续驱动电机往该方向移动即可逐步对焦。当本幅图像评价函数值第一次小于上幅图像评价函数值时,说明镜头已经越过最佳对焦点,驱动电机反转并缩小步长,往回搜索最佳对焦点。同理,当本幅图像评价函数值再次小于上幅图像评价函数值时,驱动电机反转并缩小步长,往回搜索最佳对焦点。如此循环往复,直到电机步长减小到设定值,对焦结束。
然而,这种爬山搜索算法对评价函数和电机驱动的要求非常高,需要评价函数具有绝对的单峰性和极高的灵敏度,否则,算法容易将评价函数的局部极值当作最佳对焦点导致对焦失败,或者在离焦区域评价函数趋于平坦,导致电机迟迟得不到反转信号,最终进入死循环。而且,在多数情况下,电机驱动并不理想,在多次反转和缩小步长后,电机位移和设置步长并不匹配,容易产生即使步长缩小为零,镜头仍没有走到最佳对焦点的情况,并且大大增加了对焦时间。
因此,自动对焦爬山算法在对焦稳定性和速度方面还有待于改进和发展。
发明内容
本发明的目的在于提供一种基于阈值法和局部最大值的自动对焦爬山搜索算法,旨在解决现有的自动对焦爬山算法的对焦稳定性差和速度慢的问题。
本发明的技术方案如下:一种基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,具体包括以下步骤:
S1:参数初始化;
S2:确定电机移动方向;
S3:确定最大评价函数值:根据电机的移动方向,驱动电机沿图像评价函数值递增的方向前进,直至图像评价函数值首次递减,确定图像评价函数值递减前的图像评价函数值为最大评价函数值;
S4:将镜头移动到最佳对焦点处:根据得到的最大评价函数值,将镜头移动到最佳对焦点处,完成对焦。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述S1具体包括以下步骤:
s11:设置电机的移动步长;
s12:获取第一帧图像,并计算第一帧图像的评价函数值;
s13:设置初始局部评价函数最大值。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述S2具体包括以下步骤:
s21:获取当前位置的图像,计算该图像的评价函数值;
s22:判断电机运行在“平地”部分的次数是否大于等于设定次数,否,执行s23;是,重置局部评价函数最大值,驱动电机反转并使电机根据当前运行在“平地”部分的次数移动对应的步长,并执行S3;
s23:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”部分,执行s24;若镜头处于“下坡”部分,执行s25;若镜头处于“平地”部分,执行s26;
s24:更新局部评价函数最大值,驱动电机前进1步长,执行S3;
s25:重置局部评价函数最大值,驱动电机反转并移动1步长,执行S3;
s26:更新局部评价函数最大值,驱动电机前进1步长,并记录电机当前运行在“平地”部分的次数,重复执行s21。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述s23至s26具有包括以下过程:
判断是否满足(S-Sm)≧(Value *Sm),若是,说明镜头位置处于评价函数“上坡”部分,电机运动方向正确,判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St后,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“下坡”部分的判断;
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm2=S,驱动电机运动1步长St,进入S3;若否,进入镜头位置是否处于评价函数“平地”部分的判断;
判断是否满足(- Value *Sm)<(S-Sm)<( Value *Sm),若是,说明镜头位置处于评价函数“平地”部分,判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,h=h+1,驱动电机运动1步长St后,进入s21;若否,进入s21;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述S3具体包括以下步骤:
s31:获取当前位置的图像,计算该图像的评价函数值;
s32:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s33;若镜头处于“下坡”部分,执行s34;
s33:更新局部评价函数最大值,驱动电机前进1步长,重复执行S3;
s34:记录最大评价函数值,重置局部评价函数最大值,驱动电机反转并移动1步长,执行S4。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述s32至s34具有包括以下过程:
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm1=Sm2,Sm2=S,驱动电机运动1步长St,进入S4;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断;
判断是否满足(S-Sm)>(- Value *Sm),若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St,返回步骤s31;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值,Sm1为最大评价函数值。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述S4具体包括以下步骤:
s41:获取当前位置的图像,计算该图像的评价函数值;
s42:判断当前图像的评价函数值是否大于最大评价函数值,是则对焦结束,否则执行s43至s45;
s43:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s44;若镜头处于“下坡”部分,执行s45;
s44:更新局部评价函数最大值,驱动电机前进1步长,重复执行S4;
s45:重置局部评价函数最大值,驱动电机反转并移动1步长,重复执行S4。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述s42至s45具有包括以下过程:
判断是否满足|S-Sm1|< Value *Sm1或S>Sm1,是则对焦结束,否则执行s43至s45;
判断是否满足(S-Sm)≦(- Value *Sm)且S<Sm1、(S-Sm2)≦(- Value *Sm2)且S<Sm1,若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm2=S,驱动电机运动1步长St,进入s41;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断;
判断是否满足(S-Sm)>(- Value *Sm)且S<Sm1,若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St,返回步骤s41;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值,Sm1为最大评价函数值。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,所述0<Value<1。
所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其中,通过以下公式计算图像的评价函数值:
本发明的有益效果:本发明通过提供一种基于阈值法和局部最大值的自动对焦爬山搜索算法,具体包括以下步骤:参数初始化;确定电机移动方向;确定最大评价函数值;将镜头移动到最佳对焦点处;本技术方案可提高对焦***的稳定性和减少了对焦时间;通过设定阈值Value,可以直接忽略由于噪声、亮度变化等因素导致的局部极值,提高对焦的成功率;判断评价函数处于“上坡”、“下坡”、“平地”区域的判断条件,随着上一幅图像评价函数值Sm的变化而变化,面对不同对比度的图像,能够自适应改变判断条件;通过引入局部评价函数最大值,使得电机提高了反转的灵敏度,从而减少对焦循环,减少对焦时间;通过设定电机的固定移动步长,并采用|S-Sm1|<Value *Sm1或S>Sm1作为对焦结束的条件,解决了传统自动对焦爬山搜索算法中“即使步长缩小为零,镜头仍没有走到最佳对焦点”的问题,并提高了对焦的精确性。
附图说明
图1是本发明中基于阈值法和局部最大值的自动对焦爬山搜索算法的步骤流程图。
图2是本发明中S1的步骤流程图。
图3是本发明中S2的步骤流程图。
图4是本发明中S3的步骤流程图。
图5是本发明中S4的步骤流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
如图1所示,一种基于阈值法和局部最大值的自动对焦爬山搜索算法,具体包括以下步骤:
如图2所示,S1:参数初始化。
s11:设置电机的移动步长。
s12:获取第一帧图像,并计算第一帧图像的评价函数值。
s13:设置初始局部评价函数最大值。
如图3所示,S2:确定电机移动方向。
s21:获取当前位置的图像,计算该图像的评价函数值。
s22:判断电机运行在“平地”部分的次数是否大于等于设定次数,否,执行s23;是,重置局部评价函数最大值,驱动电机反转并使电机根据当前运行在“平地”部分的次数移动对应的步长,并执行S3。
s23:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”部分,执行s24;若镜头处于“下坡”部分,执行s25;若镜头处于“平地”部分,执行s26。
s24:更新局部评价函数最大值,驱动电机前进1步长,执行S3。
s25:重置局部评价函数最大值,驱动电机反转并移动1步长,执行S3。
s26:更新局部评价函数最大值,驱动电机前进1步长,并记录电机当前运行在“平地”部分的次数,重复执行s21。
其中,所述“上坡”部分为评价函数值逐渐增加的区域;“下坡”部分为评价函数值逐渐减小的区域;“平地”部分为离焦区域评价函数值趋于平坦的区域。
在某些具体实施例中,当计算得到的当前图像的评价函数值与上一幅图像的评价函数值满足以下条件时,镜头处于“上坡”部分:(S-Sm)≧(Value *Sm),其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,其取值为0<Value<1。
在某些具体实施例中,当计算得到的当前图像的评价函数值与上一幅图像的评价函数值满足以下条件时,镜头处于“下坡”部分:(S-Sm)≦(- Value *Sm),其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,其取值为0<Value<1。
在某些具体实施例中,还可以增加局部评价函数最大值判断,具体过程如下:判断S是否大于Sm2,若是,更新Sm2=S,若否,不改变Sm2的当前值;当计算得到的当前图像的评价函数值与局部评价函数最大值满足以下条件时,镜头也处于“下坡”部分:(S-Sm2)<=(-Value *Sm2),其中,S为计算得到的当前图像的评价函数值,Sm2为局部评价函数最大值,Value为预设的阈值,其取值为0<Value<1。
即,当满足任一条件时:(S-Sm)≦(- Value *Sm)或(S-Sm2)<=(- Value *Sm2),镜头均处于“下坡”部分。本技术方案通过增加计算得到的当前图像的评价函数值和局部评价函数最大值的大小比较,将大于设定阈值的变化也作为判断电机驱动方向的依据,从而即使在评价函数趋于平坦的“平地”部分,只要评价函数值小于局部评价函数最大值,电机也能及时反转,大大降低了进入死循环的风险,并且大大降低了对焦时间。
具体实施例中,当计算得到的当前图像的评价函数值与上一幅图像的评价函数值满足以下条件时,镜头处于“平地”部分:(- Value *Sm)<(S-Sm)<( Value *Sm),S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,其取值为0<Value<1。
在某些实施例中,所述s23至s26具有包括以下过程:
判断是否满足(S-Sm)≧(Value *Sm),(0<Value<1),若是,说明镜头位置处于评价函数“上坡”部分,电机运动方向正确,更新局部评价函数最大值Sm2(其中,所述局部评价函数最大值Sm2更新步骤为:判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变Sm2的当前值),进入局部评价函数最大值Sm2更新步骤后,令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St后,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“下坡”部分的判断。
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2)(增加局部评价函数最大值判断,将小于局部评价函数最大值的变化也作为“下坡”判定条件),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm2=S(重置局部评价函数最大值),驱动电机运动1步长St,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“平地”部分的判断。
判断是否满足(- Value *Sm)<(S-Sm)<( Value *Sm),若是,说明镜头位置处于评价函数“平地”部分(本算法增加了离焦区域评价函数趋于平坦的判断条件,本算法在镜头处于离焦区域评价函数不灵敏的部分依然能够继续运行),更新局部评价函数最大值Sm2(其中,所述局部评价函数最大值Sm2更新步骤为:判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变Sm2的当前值),进入局部评价函数最大值Sm2更新步骤后,令Sm=S(更新记录上一幅图像的评价函数值),h=h+1(计算镜头在“平地”部分运动的次数),驱动电机运动1步长St后,进入s21;若否,进入s21。
如图4所示,S3:确定最大评价函数值:根据电机的移动方向,驱动电机沿图像评价函数值递增的方向前进,直至图像评价函数值首次递减,确定图像评价函数值递减前的图像评价函数值为最大评价函数值。
s31:获取当前位置的图像,计算该图像的评价函数值。
s32:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s33;若镜头处于“下坡”部分,执行s34。
s33:更新局部评价函数最大值,驱动电机前进1步长,重复执行S3。
s34:记录最大评价函数值,重置局部评价函数最大值,驱动电机反转并移动1步长,执行S4。
在某些实施例中,所述s32至s34具有包括以下过程:
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2)(增加局部评价函数最大值判断,将小于局部评价函数最大值的变化也作为“下坡”判定条件),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm1=Sm2(将此时的局部最大值设为最大评价函数值),Sm2=S(更新局部评价函数最大值),驱动电机运动1步长St,进入S4;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断。
判断是否满足(S-Sm)>(- Value *Sm),若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S(更新局部评价函数最大值),若否,不改变当前局部评价函数最大值;令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St,返回步骤s31。
如图5所示,S4:将镜头移动到最佳对焦点处:根据得到的最大评价函数值,将镜头移动到最佳对焦点处,完成对焦。
s41:获取当前位置的图像,计算该图像的评价函数值。
s42:判断当前图像的评价函数值是否大于最大评价函数值,是则对焦结束,否则执行s43至s45;
s43:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s44;若镜头处于“下坡”部分,执行s45。
s44:更新局部评价函数最大值,驱动电机前进1步长,重复执行S4。
s45:重置局部评价函数最大值,驱动电机反转并移动1步长,重复执行S4。
在某些实施例中,所述s42至s45具有包括以下过程:
判断是否满足|S-Sm1|< Value *Sm1或S>Sm1,是则对焦结束,否则执行s43至s45。
判断是否满足(S-Sm)≦(- Value *Sm)且S<Sm1、(S-Sm2)≦(- Value *Sm2)且S<Sm1,若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm2=S(更新局部评价函数最大值),驱动电机运动1步长St,进入s41;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断。
判断是否满足(S-Sm)>(- Value *Sm)且S<Sm1,若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S(更新局部评价函数最大值),若否,不改变当前局部评价函数最大值;令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St,返回步骤s41。
其中,所述S1至S4中提到的图像的评价函数值,可通过公式(1)进行计算: (1),其中,f(x,y)为图像(x,y)在某
一坐标像素处的对应灰度值。本技术方案的评价函数值不限于采用公式(1)计算得到,本领
域技术人员熟知的其他计算方法也在本技术方案的保护范围内。
为使本基于阈值法和局部最大值的自动对焦爬山搜索算法更加清楚、明确,以下列举实施例对本技术方案进一步详细说明:
S1:参数初始化。
设置电机的移动步长令电机的步长St=m;最大评价函数值Sm1设为无穷大;镜头在“平地”部分运动的次数h=0;电机运动方向d=l(l可以设定为前进方向,也可以设定1为后退方向)。
获取第一帧图像,并计算第一帧图像中间1/3边长的矩形区域的评价函数值,记为本幅图像评价函数值S。
令上一幅图像评价函数值Sm=S;局部最大值Sm2=S;驱动电机运动1步长为St。
S2:确定电机移动方向。
获取当前位置的图像,计算该图像的评价函数值为S。
判断电机运行在“平地”部分的次数是否大于等于设定次数,否,执行s23;是,说明电机运动方向错误,令h=0(重置计数值),d=~d(电机反转),Sm=S(记录更新上一幅评价函数值),驱动电机运动n步长St,并执行S3。
判断是否满足(S-Sm)≧(Value *Sm),(Value=0.1,下同),若是,说明镜头位置处于评价函数“上坡”部分,电机运动方向正确,进入局部评价函数最大值Sm2更新步骤后,令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St后,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“下坡”部分的判断。
更新局部评价函数最大值:判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变Sm2的当前值;判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2)(增加局部评价函数最大值判断,将小于局部评价函数最大值的变化也作为“下坡”判定条件),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm2=S(重置局部评价函数最大值),驱动电机运动1步长St,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“平地”部分的判断。
判断是否满足(- Value *Sm)<(S-Sm)<( Value *Sm),若是,说明镜头位置处于评价函数“平地”部分(本算法增加了离焦区域评价函数趋于平坦的判断条件,本算法在镜头处于离焦区域评价函数不灵敏的部分依然能够继续运行),进入局部评价函数最大值Sm2更新步骤后,令Sm=S(更新记录上一幅图像的评价函数值),h=h+1(计算镜头在“平地”部分运动的次数),驱动电机运动1步长St后,进入s21;若否,进入s21。
S3:确定最大评价函数值:根据电机的移动方向,驱动电机沿图像评价函数值递增的方向前进,直至图像评价函数值首次递减,确定图像评价函数值递减前的图像评价函数值为最大评价函数值。
获取当前位置的图像,计算该图像的评价函数值S。
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm1=Sm2(将此时的局部最大值设为最大评价函数值),Sm2=S(更新局部评价函数最大值),驱动电机运动1步长St,进入S4;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断。
判断是否满足(S-Sm)>(- Value *Sm),若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S(更新局部评价函数最大值),若否,不改变当前局部评价函数最大值;令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St,返回步骤s31。
S4:将镜头移动到最佳对焦点处:根据得到的最大评价函数值,将镜头移动到最佳对焦点处(即最大评价函数值Sm1处),完成对焦。
判断是否满足|S-Sm1|< Value *Sm1或S>Sm1,是则对焦结束,否则执行s43至s45。
判断是否满足(S-Sm)≦(- Value *Sm)且S<Sm1、(S-Sm2)≦(- Value *Sm2)且S<Sm1,若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d(电机反转),Sm=S(更新记录上一幅图像的评价函数值),Sm2=S(更新局部评价函数最大值),驱动电机运动1步长St,进入s41;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断。
判断是否满足(S-Sm)>(- Value *Sm)且S<Sm1,若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S(更新局部评价函数最大值),若否,不改变当前局部评价函数最大值;令Sm=S(更新记录上一幅图像的评价函数值),驱动电机运动1步长St,返回步骤s41。
通过采用本技术方案可提高对焦***的稳定性和减少了对焦时间;通过设定阈值Value,可以直接忽略由于噪声、亮度变化等因素导致的局部极值,提高对焦的成功率;判断评价函数处于“上坡”、“下坡”、“平地”区域的判断条件,随着上一幅图像评价函数值Sm的变化而变化,面对不同对比度的图像,能够自适应改变判断条件;通过引入局部评价函数最大值,使得电机提高了反转的灵敏度,从而减少对焦循环,减少对焦时间;通过设定电机的固定移动步长,并采用|S-Sm1|<Value *Sm1或S>Sm1作为对焦结束的条件,解决了传统自动对焦爬山搜索算法中“即使步长缩小为零,镜头仍没有走到最佳对焦点”的问题,并提高了对焦的精确性。
在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,具体包括以下步骤:
S1:参数初始化;
S2:确定电机移动方向;
S3:确定最大评价函数值:根据电机的移动方向,驱动电机沿图像评价函数值递增的方向前进,直至图像评价函数值首次递减,确定图像评价函数值递减前的图像评价函数值为最大评价函数值;
S4:将镜头移动到最佳对焦点处:根据得到的最大评价函数值,将镜头移动到最佳对焦点处,完成对焦。
2.根据权利要求1所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述S1具体包括以下步骤:
s11:设置电机的移动步长;
s12:获取第一帧图像,并计算第一帧图像的评价函数值;
s13:设置初始局部评价函数最大值。
3.根据权利要求1所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述S2具体包括以下步骤:
s21:获取当前位置的图像,计算该图像的评价函数值;
s22:判断电机运行在“平地”部分的次数是否大于等于设定次数,否,执行s23;是,重置局部评价函数最大值,驱动电机反转并使电机根据当前运行在“平地”部分的次数移动对应的步长,并执行S3;
s23:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”部分,执行s24;若镜头处于“下坡”部分,执行s25;若镜头处于“平地”部分,执行s26;
s24:更新局部评价函数最大值,驱动电机前进1步长,执行S3;
s25:重置局部评价函数最大值,驱动电机反转并移动1步长,执行S3;
s26:更新局部评价函数最大值,驱动电机前进1步长,并记录电机当前运行在“平地”部分的次数,重复执行s21。
4.根据权利要求3所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述s23至s26具有包括以下过程:
判断是否满足(S-Sm)≧(Value *Sm),若是,说明镜头位置处于评价函数“上坡”部分,电机运动方向正确,判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St后,进入S3确定最大评价函数值Sm1;若否,进入镜头位置是否处于评价函数“下坡”部分的判断;
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm2=S,驱动电机运动1步长St,进入S3;若否,进入镜头位置是否处于评价函数“平地”部分的判断;
判断是否满足(- Value *Sm)<(S-Sm)<( Value *Sm),若是,说明镜头位置处于评价函数“平地”部分,判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,h=h+1,驱动电机运动1步长St后,进入s21;若否,进入s21;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值。
5.根据权利要求1所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述S3具体包括以下步骤:
s31:获取当前位置的图像,计算该图像的评价函数值;
s32:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s33;若镜头处于“下坡”部分,执行s34;
s33:更新局部评价函数最大值,驱动电机前进1步长,重复执行S3;
s34:记录最大评价函数值,重置局部评价函数最大值,驱动电机反转并移动1步长,执行S4。
6.根据权利要求5所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述s32至s34具有包括以下过程:
判断是否满足(S-Sm)≦(- Value *Sm)或(S-Sm2)≦(- Value *Sm2),若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm1=Sm2,Sm2=S,驱动电机运动1步长St,进入S4;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断;
判断是否满足(S-Sm)>(- Value *Sm),若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St,返回步骤s31;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值,Sm1为最大评价函数值。
7.根据权利要求1所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述S4具体包括以下步骤:
s41:获取当前位置的图像,计算该图像的评价函数值;
s42:判断当前图像的评价函数值是否大于最大评价函数值,是则对焦结束,否则执行s43至s45;
s43:将计算得到的当前图像的评价函数值与上一幅图像的评价函数值作比较,若镜头处于“上坡”或“平地”部分,执行s44;若镜头处于“下坡”部分,执行s45;
s44:更新局部评价函数最大值,驱动电机前进1步长,重复执行S4;
s45:重置局部评价函数最大值,驱动电机反转并移动1步长,重复执行S4。
8.根据权利要求7所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述s42至s45具有包括以下过程:
判断是否满足|S-Sm1|< Value *Sm1或S>Sm1,是则对焦结束,否则执行s43至s45;
判断是否满足(S-Sm)≦(- Value *Sm)且S<Sm1、(S-Sm2)≦(- Value *Sm2)且S<Sm1,若是,说明镜头位置处于评价函数“下坡”部分,电机运动方向错误,令d=~d,Sm=S,Sm2=S,驱动电机运动1步长St,进入s41;若否,进入镜头位置是否处于评价函数“上坡”或“平地”部分的判断;
判断是否满足(S-Sm)>(- Value *Sm)且S<Sm1,若是,说明镜头位置处于评价函数“上坡”或“平地”部分;判断是否满足S>Sm2,若是,令Sm2=S,若否,不改变当前局部评价函数最大值;令Sm=S,驱动电机运动1步长St,返回步骤s41;
其中,S为计算得到的当前图像的评价函数值,Sm为上一幅图像的评价函数值,Value为预设的阈值,St为电机步长,h为镜头在“平地”部分运动的次数,d为电机运动方向,Sm2为局部评价函数最大值,Sm1为最大评价函数值。
9.根据权利要求4、6、8任一所述的基于阈值法和局部最大值的自动对焦爬山搜索算法,其特征在于,所述0<Value<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290827.6A CN111432129B (zh) | 2020-04-14 | 2020-04-14 | 一种基于阈值法和局部最大值的自动对焦爬山搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290827.6A CN111432129B (zh) | 2020-04-14 | 2020-04-14 | 一种基于阈值法和局部最大值的自动对焦爬山搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111432129A true CN111432129A (zh) | 2020-07-17 |
CN111432129B CN111432129B (zh) | 2021-08-24 |
Family
ID=71554518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290827.6A Active CN111432129B (zh) | 2020-04-14 | 2020-04-14 | 一种基于阈值法和局部最大值的自动对焦爬山搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111432129B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433339A (zh) * | 2020-12-10 | 2021-03-02 | 济南国科医工科技发展有限公司 | 基于随机森林的显微镜精细对焦方法 |
CN114302052A (zh) * | 2021-11-24 | 2022-04-08 | 影石创新科技股份有限公司 | 摄像设备的镜头对焦方法、装置、摄像设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070236597A1 (en) * | 1996-04-08 | 2007-10-11 | Nikon Corporation | Autofocus apparatus |
CN101494737A (zh) * | 2009-03-09 | 2009-07-29 | 杭州海康威视数字技术股份有限公司 | 一种一体化摄像机装置及自适应自动聚焦方法 |
CN102981347A (zh) * | 2012-12-25 | 2013-03-20 | 中国科学院长春光学精密机械与物理研究所 | 用于视频监控***的susan自动对焦方法 |
CN105391945A (zh) * | 2015-12-23 | 2016-03-09 | 北京奇虎科技有限公司 | 摄像头自动聚焦控制方法及装置 |
US20160205313A1 (en) * | 2008-09-16 | 2016-07-14 | Canon Kabushiki Kaisha | Automatic focusing apparatus and control method therefor |
CN106921830A (zh) * | 2015-12-28 | 2017-07-04 | 浙江大华技术股份有限公司 | 一种自动聚焦的方法及装置 |
CN108769533A (zh) * | 2018-06-27 | 2018-11-06 | 上海理工大学 | 一种自动对焦算法 |
CN109739011A (zh) * | 2019-03-18 | 2019-05-10 | 上海大学 | 一种基于改进爬山法的自动对焦方法 |
CN110324536A (zh) * | 2019-08-19 | 2019-10-11 | 杭州图谱光电科技有限公司 | 一种用于显微相机的图像变化自动感知对焦方法 |
-
2020
- 2020-04-14 CN CN202010290827.6A patent/CN111432129B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070236597A1 (en) * | 1996-04-08 | 2007-10-11 | Nikon Corporation | Autofocus apparatus |
US20160205313A1 (en) * | 2008-09-16 | 2016-07-14 | Canon Kabushiki Kaisha | Automatic focusing apparatus and control method therefor |
CN101494737A (zh) * | 2009-03-09 | 2009-07-29 | 杭州海康威视数字技术股份有限公司 | 一种一体化摄像机装置及自适应自动聚焦方法 |
CN102981347A (zh) * | 2012-12-25 | 2013-03-20 | 中国科学院长春光学精密机械与物理研究所 | 用于视频监控***的susan自动对焦方法 |
CN105391945A (zh) * | 2015-12-23 | 2016-03-09 | 北京奇虎科技有限公司 | 摄像头自动聚焦控制方法及装置 |
CN106921830A (zh) * | 2015-12-28 | 2017-07-04 | 浙江大华技术股份有限公司 | 一种自动聚焦的方法及装置 |
CN108769533A (zh) * | 2018-06-27 | 2018-11-06 | 上海理工大学 | 一种自动对焦算法 |
CN109739011A (zh) * | 2019-03-18 | 2019-05-10 | 上海大学 | 一种基于改进爬山法的自动对焦方法 |
CN110324536A (zh) * | 2019-08-19 | 2019-10-11 | 杭州图谱光电科技有限公司 | 一种用于显微相机的图像变化自动感知对焦方法 |
Non-Patent Citations (1)
Title |
---|
郑玉珍: "自动对焦中的优化爬山搜索算法", 《浙江科技学院学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433339A (zh) * | 2020-12-10 | 2021-03-02 | 济南国科医工科技发展有限公司 | 基于随机森林的显微镜精细对焦方法 |
CN112433339B (zh) * | 2020-12-10 | 2022-04-15 | 济南国科医工科技发展有限公司 | 基于随机森林的显微镜精细对焦方法 |
CN114302052A (zh) * | 2021-11-24 | 2022-04-08 | 影石创新科技股份有限公司 | 摄像设备的镜头对焦方法、装置、摄像设备及存储介质 |
CN114302052B (zh) * | 2021-11-24 | 2024-02-02 | 影石创新科技股份有限公司 | 摄像设备的镜头对焦方法、装置、摄像设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111432129B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111432129B (zh) | 一种基于阈值法和局部最大值的自动对焦爬山搜索方法 | |
EP3236648B1 (en) | Focusing for point light source scene | |
CN108769533B (zh) | 一种自动对焦方法 | |
CN112601015B (zh) | 一种自动聚焦方法和自动对焦*** | |
CN104102068B (zh) | 自动对焦方法及自动对焦装置 | |
EP2448246B1 (en) | Method for focusing | |
CN110381261B (zh) | 聚焦方法、装置、计算机可读存储介质及电子设备 | |
US5212516A (en) | Automatic focus adjusting device | |
US6879343B2 (en) | Automatic focus adjusting device | |
CN102301693B (zh) | 识别用摄像装置以及其控制方法 | |
CN101241223B (zh) | 一种自动对焦的方法 | |
CN111432125A (zh) | 一种对焦方法、装置及电子设备和存储介质 | |
CN105527778A (zh) | 电动可调焦液体镜头的自动对焦方法 | |
KR101319907B1 (ko) | 촬상장치 및 그 제어 방법 | |
CN108259753A (zh) | 一种基于离焦估计改进爬山法的相机自动调焦方法及装置 | |
US20050052564A1 (en) | Image-taking apparatus and focus control program for image-taking apparatus | |
CN109739011B (zh) | 一种基于改进爬山法的自动对焦方法 | |
CN112203012A (zh) | 一种图像清晰度计算方法、自动聚焦方法及*** | |
CN110012218B (zh) | 一种大幅失焦状态下的自动聚焦方法 | |
TW201439659A (zh) | 自動對焦方法及自動對焦裝置 | |
CN105573016A (zh) | 一种自动对焦窗口调整方法及*** | |
CN114460791A (zh) | 调焦方法、装置、电子设备及存储介质 | |
US20200228719A1 (en) | Focus control apparatus, imaging apparatus, focus control method, and storage medium | |
CN111505793A (zh) | 基于方差和全局搜索策略的显微操作自动聚焦方法及*** | |
CN106375671B (zh) | 控制方法、控制装置和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 528253 Room 503, Floor 5, Building A, Jingu Zhichuang Industrial Community, No. 2, Yong'an North Road, Dawu Community, Guicheng Street, Nanhai District, Foshan City, Guangdong Province (residence declaration) Patentee after: Guangdong Oupu Mandi Technology Co.,Ltd. Address before: Room B, room 504-2, floor 5, block a, Jingu photoelectric community, No. 1, Yongan North Road, Pingzhou, Guicheng Street, Nanhai District, Foshan City, Guangdong Province, 528251 Patentee before: GUANGDONG OPTOMEDIC TECHNOLOGY CO.,LTD. |
|
CP03 | Change of name, title or address |