一种基于DFF的自动对焦方法转让专利

申请号 : CN201210207712.1

文献号 : CN102707545B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗巍刘尚军

申请人 : 武汉烽火众智数字技术有限责任公司

摘要 :

本发明公开了一种基于DFF的自动对焦方法,涉及数字成像系统的对焦方法。本系统的结构是:镜头、图像传感器、图像预处理模块、图像清晰度评价模块、DFF算法模块和嵌入式微处理器依次连接,实现数字图像的采集功能;对焦模式检测电路、嵌入式微处理器、镜头电机控制模块和镜头依次连接,实现对镜头焦距的控制;嵌入式微处理器和图像传感器连接,实现对图像传感器的控制;嵌入式微处理器、DFF算法模块和图像清晰度评价模块分别与共享内存连接,实现各模块间的数据交换。本发明能够自动快速聚焦,图像清晰,适应不同场景,适用于一体化摄像机和安防监控数字成像系统。

权利要求 :

1.一种基于DFF的自动对焦方法,包括下列步骤:

①开始(201);

②初始化镜头电机控制模块(104)、DFF算法模块(106)和图像清晰度评价模块(107)(202),保证数据流向及数据分析的正确性;

③判断是否开始采集图像(203),是则进入步骤④,否则继续步骤③;

④判断是否有变倍命令(204),是则通过变倍变焦联动算法,以变倍的步数为基础计算变焦电机的步数(205),然后控制电机移动到新的对焦位置(210),否则进入步骤⑤;

⑤曝光和白平衡处理(206),处理完成后数据被分成两路:一路经过实时视频输出(207),直至结束流程(212);另一路依次经过图像清晰度评价模块(208)和DFF对焦处理模块(209)后进入步骤⑥;

⑥判断是否为最佳清晰点(211),是则结束流程(212),否则经过控制电机移动到新的对焦位置(210),然后跳转到步骤③;

其特征在于;

所述的图像清晰度评价函数处理流程是:

a、开始(401);

b把图像画分成12×12个小窗口(402)和设置IIR滤波器,开始进行图像分析统计(403);

c、判断对焦过程是否启动(404),是则进入步骤d,否则继续步骤c;

d、判断是否采集图像数据(405),是则处理每个小窗口的统计值,然后根据用户设定的权重表计算整幅图像的清晰度评价值,并把统计值经过《公式1》转换后发送给对焦线程(406),再进入步骤e,否则转跳到步骤c;

《公式1》:Y=150G+77R+29B

Y:清晰度评价值,

G:图像的绿色分量值,R:图像的红色分量值,B:图像的蓝色分量值;

e、判断对焦模式是否为全自动(407),是则比较当前帧图像数据的清晰度评价值与上一帧数据的评价值(408),然后进入步骤⑥,否则转跳到步骤③;

f、判断当前帧清晰度评价值的变化范围是否超出设定的阀值(409),是则进入步骤g,否则转跳到步骤c;

g、判断变化累计时间是否大于设定的时间阀值(410),是则进入步骤h,否则转跳到步骤c;

h、场景变化,图像已变模糊,发送自动对焦命令(411);再转跳到步骤c循环执行本流程;

所述的DFF算法的工作流程是:

A、开始(501);

B、等待用户命令(502),

如果是变倍命令则处理用户变倍命令控制变倍电机运动(505),又变倍电机运动过程中,根据变倍变焦联动算法,计算变焦电机需要移动的步数,以保证在变倍过程中图像始终清晰(509),再变倍停止后发送自动对焦命令(512),然后循环处理下一帧数据(528);

如果是变焦命令则进入步骤D;

如果是空闲则延时使对焦线程休眠,减少资源占用(524),再进入步骤C;

C、判断是否7秒都没有收到用户的任何命令(526),是则经过记录当前变倍变焦电机的位置(527)后再循环处理下一帧数据(528);否则直接循环处理下一帧数据(528);

D、判断是否为手动对焦(504),是则依次经过根据用户的操作控制变焦电机的运动(508),图像最新清晰时更新物距(511),用户命令处理完毕后改变对焦状态为空闲状态(515),然后循环处理下一帧数据(528);否则进入步骤E;

E、判断是否经过对焦预处理标志位是否为非0值(503),是则进入步骤F,否则经过对焦预处理,初始化标志变量,设定对焦方向和有效的对焦范围,获取当前帧的清晰度评价值Y1(506),然后进入步骤F;

F、经过控制设定好的电机移动步数和方向,移动变焦电机,然后在新的对焦位置读取清晰度评价值Y2(507),根据变焦电机的移动步数计算对焦值AF(510),比较AF值与设定的阀值并判断是否大于阀值(513),是则表示图像正在变清晰,调整运动步数,防止步数过大而错过最佳的对焦位置(514),然后进入步骤G;否则表示图像正在变模糊(516),需要调整运动的方向和步数(517),并维持对焦状态,设定对焦预处理标志位为零(521),再转跳到步骤C;

G、判断图像是否已到达最清晰的状态(518),是则经过执行图像最清晰时更新物距(522)和改变对焦状态为空闲状态(525),再转跳到步骤C,否则进入步骤H;

H、判断是否已错过最清晰的位置(519),是则发送命令给电机驱动,回到记录的最清晰点(520),然后重新进入步骤G判断;否则维持对焦状态,设置对焦预处理标志位为零(523),再转跳到步骤C循环执行本流程;

所述的变倍变焦联动算法流程是:

Ⅰ、分别创建两个线程:变倍线程(601)和变焦线程(602);

Ⅱ、变倍线程:判断是否有收到用户变倍命令(603),有则进入步骤Ⅲ,否则重复步骤Ⅱ;

变焦线程:判断是否有更新变倍电机位置的消息(604),有则进入步骤Ⅳ,否则重复步骤Ⅱ;

Ⅲ、变倍线程把变倍电机即将要移动的目标位置发送到对焦线程(605),然后移动变倍电机(607),进入步骤Ⅴ;

Ⅳ、变焦线程查询镜头的对焦曲线表,获取当前变倍位置对应的变焦电机的位置(606),然后移动变焦电机到查询的位置(608),进入步骤Ⅴ;

Ⅴ、判断是否收到停止命令(610),是则结束(611);否则表示本轮联动完成(609),再转跳到步骤Ⅱ。

说明书 :

一种基于DFF的自动对焦方法

技术领域

[0001] 本发明涉及数字成像系统的对焦方法,尤其涉及一种基于DFF(depth from focusing,对焦深度)的自动对焦方法。

背景技术

[0002] 自动对焦是数字成像系统的核心问题之一。其原理是通过对从CCD(Charge Coupled Device,电荷耦合器件)或CMOS(Complementary Metal-Oxide-Semiconductor Transistor,互补金属氧化物半导体)数字图像传感器获取到的数字图像数据进行分析统计,评价当前对焦位置的图像清晰度,根据正确对焦位置的图像最清晰这个特征,利用自适应的搜索算法和精密的电机驱动镜头找到最清晰的对焦位置。
[0003] 当镜头与图像传感器的位置确定后,只有和镜头保持一定距离的景物才能在图像传感器上有清晰的图像。反言之,要让被拍摄的特定的景物在图像传感器上有清晰的图像,就需要调整镜头和图像传感器的相对距离,让景物能清晰地成像在图像传感器上。自动对焦就是通过精密的电机驱动控制镜头来完成上述动作,达到图像清晰的目的。
[0004] 自动对焦可分为主动型和被动型。主动型自动对焦是指系统对准被拍摄的物体,发出一束红外线或超声波,对反射回来的红外线或超声波进行角度或距离的检测,然后自动调整镜头的位置。被动型自动对焦只需要从图像传感器上获取数字图像并分析其清晰度,然后根据一定的算法就能完成对焦动作。
[0005] 传统的被动型自动对焦算法对图像的清晰度评价值依赖性强,所面临的主要困难是当拍摄环境的光线较暗或是拍摄物体与背景距离相差很大时,会出现对焦时候过长或无法对焦,容易出现反复对焦等问题。

发明内容

[0006] 本发明为了克服传统对焦算法的以上缺点,提供快速的、高精度的、应用广泛的一种基于DFF的自动对焦方法。
[0007] 当摄像机所拍摄的区域发生一定程度的变化而使图像模糊时自动启动对焦过程,迅速使图像达到清晰的状态。根据镜头的光学特性和对焦曲线能够有效判定聚焦方向,当图像模糊不清时能够自动增加步长加速走出模糊状态,当图像进入清晰区域时能够自动减小步长以获取最清晰的图像,有效地避免反复对焦的问题。变倍时能够联动变焦,确保无论什么时候图像都处于最佳的清晰状态。
[0008] 本发明解决其技术问题所采用的技术方案如下:
[0009] 一、一种基于DFF的自动对焦系统
[0010] 本系统包括通用的功能块:镜头、图像传感器、曝光与白平衡预处理模块、嵌入式微处理器、对焦模式检测电路和共享内存;
[0011] 设置有:镜头电机控制模块、DFF算法模块和图像清晰度评价模块;
[0012] 其连接关系是:
[0013] 镜头、图像传感器、图像预处理模块、图像清晰度评价模块、DFF算法模块和嵌入式微处理器依次连接,实现数字图像的采集功能;
[0014] 对焦模式检测电路、嵌入式微处理器、镜头电机控制模块和镜头依次连接,实现对镜头焦距的控制;
[0015] 嵌入式微处理器和图像传感器连接,实现对图像传感器的控制;
[0016] 嵌入式微处理器、DFF算法模块和图像清晰度评价模块分别与共享内存连接,实现各模块间的数据交换。
[0017] 二、一种基于DFF的自动对焦方法
[0018] 本方法包括下列步骤:
[0019] ①开始;
[0020] ②初始化各子模块(镜头电机控制模块、DFF算法模块和图像清晰度评价模块),保证数据流向及数据分析的正确性;
[0021] ③判断是否开始采集图像,是则进入步骤④,否则继续步骤③;
[0022] ④判断是否有变倍命令,是则通过变倍变焦联动算法,以变倍的步数为基础计算变焦电机的步数,然后控制电机移动到新的对焦位置,否则进入步骤⑤;
[0023] ⑤曝光和白平衡处理,处理完成后数据被分成两路:
[0024] 一路经过实时视频输出,直至结束流程;另一路依次经过图像清晰度评价模块和DFF对焦处理模块209后进入步骤⑥;
[0025] ⑥判断是否为最佳清晰点,是则结束流程,否则经过控制电机移动到新的对焦位置,然后跳转到步骤③。
[0026] 本发明具有下列优点和积极效果:
[0027] 1、在对图像进行清晰度评价时,将RGB数据通过《公式1》转换为图像的清晰度评价,更能反映图像的清晰程度,且当图像变模糊时,转换后的值能迅速减小,方便对焦算法更快找到峰值点;
[0028] 2、DFF算法在处理对焦时设定的阀值是根据每帧图像的清晰度评价值计算出来的,是一个动态设定的阀值,能够自动适应不同的场景,故本自动对焦方法在不同场景也能准确找到最佳对焦位置;
[0029] 3、在变倍时采用变倍变焦联动算法,可以保证在调用时图像始终清晰可见。
[0030] 总之,本发明能够自动快速聚焦,图像清晰,适应不同场景,适用于一体化摄像机和安防监控数字成像系统。

附图说明

[0031] 图1是本系统的结构方框图;
[0032] 图2是本方法的步骤图;
[0033] 图3是电机控制流程图;
[0034] 图4是图像清晰度评价函数处理流程图;
[0035] 图5是DFF算法的工作流程图;
[0036] 图6是变倍变焦联动算法流程图。

具体实施方式

[0037] 下面结合附图和实施例详细说明:
[0038] 一、系统
[0039] 1、总体
[0040] 如图1,本系统包括通用的功能块:镜头101、图像传感器102、曝光与白平衡预处理模块103、嵌入式微处理器105、对焦模式检测电路108和共享内存109;
[0041] 设置有:镜头电机控制模块104、DFF算法模块106和图像清晰度评价模块107;
[0042] 其连接关系是:
[0043] 镜头101、图像传感器102、图像预处理模块103、图像清晰度评价模块107、DFF算法模块106和嵌入式微处理器105依次连接,实现数字图像的采集功能;
[0044] 对焦模式检测电路108、嵌入式微处理器105、镜头电机控制模块104和镜头101依次连接,实现对镜头101焦距的控制;
[0045] 嵌入式微处理器105和图像传感器102连接,实现对图像传感器105的控制;
[0046] 嵌入式微处理器105、DFF算法模块106和图像清晰度评价模块107分别与共享内存109连接,实现各模块间的数据交换。
[0047] 其工作原理是:
[0048] 通过镜头101把景物映射到图像传感器102上,图像传感器102把映射到感应区域的图像转换成数字信号并交由图像预处理模块103进行曝光和白平衡处理,经过正确曝光和白平衡后的图像数据则进入图像清晰度评价模块107进行分析统计,统计结果作为DFF算法模块106的运算依据;嵌入式微处理器105负责收集对焦模式检测电路108输入的对焦模式和作为各模块运算的载体,镜头电机控制模块104控制镜头做出相应的动作。
[0049] 2、功能部件
[0050] 1)镜头101
[0051] 采用带电机自动控制的通用镜头模组,负责特定的景物的成像。
[0052] 2)图像传感器102
[0053] 采用CCD或CMOS图像传感器,把成像在感应区域的图像变成数字信号。
[0054] 3)图像预处理模块103
[0055] 对原始的图像数据进行曝光和白平衡计算的通用软件模块。
[0056] 4)镜头电机控制模块104
[0057] 通过精密的电机控制驱动,完成对镜头的焦距的控制。
[0058] 具体见电机控制流程。
[0059] 5)嵌入式微处理器105
[0060] 通用嵌入式微处理器,负责模块的相关运算。
[0061] 6)DFF算法模块106
[0062] 对焦核心软件模块,获取图像分析的结果,结合镜头的对焦曲线,计算镜头移动的步数和方向,发送命令给镜头电机控制模块104,找到最清晰的对焦位置。
[0063] 具体见DFF算法的工作流程。
[0064] 7)图像清晰度评价模块107
[0065] 对焦核心软件模块,对图像数据进行统计分析,得出一个跟图像清晰程度相关的值。
[0066] 具体见图像清晰度评价函数处理流程。
[0067] 8)对焦模式检测电路108
[0068] 通用电路,负责收集用户输入的对焦命令。
[0069] 9)共享内存109
[0070] 通用内存,负责各模块之间的数据交换。
[0071] 二、方法
[0072] 如图2,本对焦方法包括下列步骤:
[0073] ①开始201;
[0074] ②初始化各子模块(镜头电机控制模块104、DFF算法模块106和图像清晰度评价模块107)202,保证数据流向及数据分析的正确性;
[0075] ③判断是否开始采集图像203,是则进入步骤④,否则继续步骤③;
[0076] ④判断是否有变倍命令204,是则通过变倍变焦联动算法,以变倍的步数为基础计算变焦电机的步数205,然后控制电机移动到新的对焦位置210,否则进入步骤⑤;
[0077] ⑤曝光和白平衡处理206,处理完成后数据被分成两路:
[0078] 一路经过实时视频输出207,直至结束流程212;另一路依次经过图像清晰度评价模块208和DFF对焦处理模块209后进入步骤⑥;
[0079] ⑥判断是否为最佳清晰点211,是则结束流程212,否则经过控制电机移动到新的对焦位置210,然后跳转到步骤③。
[0080] 1、电机控制流程
[0081] 涉及变倍和变焦两个电机的控制。
[0082] 如图3,电机控制流程包括下列步骤:
[0083] ①开始301;
[0084] ②进行电机驱动芯片和控制接口初始化302后,再进行镜头初始化,寻找镜头的零位点,确定镜头电机的有效移动步数303,然后进入步骤③;
[0085] ③判断是否收到用户命令304,是则进入步骤④,否则继续步骤③[0086] ④根据用户命令,移动变倍电机或是变焦电机305,直至结束流程306。
[0087] 2、图像清晰度评价函数处理流程
[0088] 如图4,图像清晰度评价函数处理流程包括下列步骤:
[0089] ①开始401;
[0090] ②把图像画分成12×12个小窗口402和设置IIR(Infinite Impulse Response,无限脉冲响应)滤波器,开始进行图像分析统计403;
[0091] ③判断对焦过程是否启动404,是则进入步骤④,否则继续步骤③;
[0092] ④判断是否采集图像数据405,是则处理每个小窗口的统计值,然后根据用户设定的权重表计算整幅图像的清晰度评价值,并把统计值经过《公式1》转换后发送给对焦线程406,再进入步骤⑤,否则转跳到步骤③;
[0093] 《公式1》:Y=150G+77R+29B
[0094] Y:清晰度评价值,
[0095] G:图像的绿色分量值,R:图像的红色分量值,B:图像的蓝色分量值;
[0096] ⑤判断对焦模式是否为全自动407,是则比较当前帧图像数据的清晰度评价值与上一帧数据的评价值408,然后进入步骤⑥,否则转跳到步骤③;
[0097] ⑥判断当前帧清晰度评价值的变化范围是否超出设定的阀值409,是则进入步骤⑦,否则转跳到步骤③;
[0098] ⑦判断变化累计时间是否大于设定的时间阀值410,是则进入步骤⑧,否则转跳到步骤③;
[0099] ⑧场景变化,图像已变模糊,发送自动对焦命令411;再转跳到步骤③循环执行本流程。
[0100] 3、DFF算法的工作流程
[0101] 如图5,DFF算法的工作流程包括下列步骤:
[0102] ①开始501;
[0103] ②等待用户命令502,
[0104] 如果是变倍命令(zoom)则处理用户变倍命令控制变倍电机运动505,又变倍电机运动过程中,根据变倍变焦联动算法,计算变焦电机需要移动的步数,以保证在变倍过程中图像始终清晰509,再变倍停止后发送自动对焦命令512,然后循环处理下一帧数据528;
[0105] 如果是变焦命令(focus)则进入步骤④;
[0106] 如果是空闲(idle)则延时使对焦线程休眠,减少资源占用524,再进入步骤③;
[0107] ③判断是否7秒都没有收到用户的任何命令526,是则经过记录当前变倍变焦电机的位置527后再循环处理下一帧数据528;否则直接循环处理下一帧数据528;
[0108] ④判断是否为手动对焦504,是则依次经过根据用户的操作控制变焦电机的运动508,图像最新清晰时更新物距511,用户命令处理完毕后改变对焦状态为空闲状态515,然后循环处理下一帧数据528;否则进入步骤⑤;
[0109] ⑤判断PreFlag(是否经过对焦预处理的变量)标志位是否为非0值503,是则进入步骤⑥,否则经过对焦预处理,初始化标志变量,设定对焦方向和有效的对焦范围,获取当前帧的清晰度评价值Y1 506,然后进入步骤⑥;
[0110] ⑥经过控制设定好的电机移动步数和方向,移动变焦电机,然后在新的对焦位置读取清晰度评价值Y2 507,根据变焦电机的移动步数计算对焦值AF 510,比较AF值与设定的阀值threshold(当前帧图像清晰度比较阀值)并判断是否大于阀值threshold 513,是则表示图像正在变清晰,调整运动步数,防止步数过大而错过最佳的对焦位置514,然后进入步骤⑦;否则表示图像正在变模糊516,需要调整运动的方向和步数517,并维持对焦状态,设定标志PreFlag为零521,再转跳到步骤③;
[0111] ⑦判断图像是否已到达最清晰的状态518,是则经过执行图像最清晰时更新物距522和改变对焦状态为空闲状态525,再转跳到步骤③,否则进入步骤⑧;
[0112] ⑧判断是否已错过最清晰的位置519,是则发送命令给电机驱动,回到记录的最清晰点520,然后重新进入步骤⑦判断;否则维持对焦状态,设置标志PreFlag为零523,再转跳到步骤③循环执行本流程。
[0113] 4、变倍变焦联动算法流程
[0114] 如图6,变倍变焦联动算法流程包括下列步骤:
[0115] ①分别创建两个线程:变倍线程601和变焦线程602;
[0116] ②变倍线程:判断是否有收到用户变倍命令603,有则进入步骤③,否则重复步骤②;
[0117] 变焦线程:判断是否有更新变倍电机位置的消息604,有则进入步骤④,否则重复步骤②;
[0118] ③变倍线程把变倍电机即将要移动的目标位置发送到对焦线程605,然后移动变倍电机607,进入步骤⑤;
[0119] ④变焦线程查询镜头的对焦曲线表,获取当前变倍位置对应的变焦电机的位置606,然后移动变焦电机到查询的位置608,进入步骤⑤;
[0120] ⑤判断是否收到停止命令610,是则结束611;否则表示本轮联动完成609,再转跳到步骤②。