首页> 中国专利> 基于嵌入式媒体处理器的视频自动聚焦系统

基于嵌入式媒体处理器的视频自动聚焦系统

摘要

一种基于嵌入式媒体处理器的视频自动聚焦系统,包括:视频采集模块;图像获取处理模块,用于对获取的原始视频图像数据进行噪声处理,并提取其中的Y分量,采用基于区域分割的感应区区域选择算法提取聚焦区域,采用基于Sobel梯度算子的Tenengrad函数进行清晰度计算;聚焦搜索模块,用于确定镜头移动的方向,计算镜头所需移动的步长mov_step=step×level;最大清晰度值对应的位置作为聚焦位置;聚焦执行模块,用于根据聚焦搜索模块中确定的镜头移动的方向和步长,向驱动镜头的步进电机发送控制信号调整镜头位置。本发明能有效提高聚焦的准确性和稳定性、改善平滑性。

著录项

  • 公开/公告号CN101840055A

    专利类型发明专利

  • 公开/公告日2010-09-22

    原文格式PDF

  • 申请/专利权人 浙江工业大学;

    申请/专利号CN201010184891.2

  • 发明设计人 陈朋;刘连杰;杨雷刚;俞立;

    申请日2010-05-28

  • 分类号G02B7/36(20060101);G03B13/36(20060101);

  • 代理机构33201 杭州天正专利事务所有限公司;

  • 代理人王兵;王利强

  • 地址 310014 浙江省杭州市下城区朝晖六区

  • 入库时间 2023-12-18 00:48:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-14

    未缴年费专利权终止 IPC(主分类):G02B7/36 授权公告日:20120118 终止日期:20180528 申请日:20100528

    专利权的终止

  • 2012-01-18

    授权

    授权

  • 2010-11-10

    实质审查的生效 IPC(主分类):G02B7/36 申请日:20100528

    实质审查的生效

  • 2010-09-22

    公开

    公开

说明书

技术领域

本发明涉及视频自动聚焦技术领域,尤其是一种视频自动聚焦系统。

背景技术

视频自动聚焦技术是现代机器视觉的关键技术之一。人们通过摄像机进行清晰图像的获取时,往往需要较长时间对着景物进行调焦。由于聚焦环境的复杂性,在调焦过程中难以保证聚焦的平滑性,即图像的清晰程度变化不一致。因此,如何实现快速、精确、平滑的视频自动聚焦显得十分重要。

目前针对于摄像机的视频自动聚焦技术主要有主动聚焦方式和被动聚焦方式。因为基于图像的被动式自动聚焦不需要额外的辅助装置所以被广泛的用于数字摄像机中。比如公开号为101034198(申请号为200710079748.5)的中国专利《自动聚焦方法及使用其的自动聚焦装置》通过设置中心窗口和中心窗口周围的多个外围窗口的多个活动窗口,并向多个活动窗口分配权重来计算每步的自动聚焦值。但是在聚焦过程中还是会出现图像由清晰-模糊的现象,即聚焦过程不平滑。比如公开号为1199869(申请号为98107054.X)的中国专利《自动聚焦摄像机》采用了高通滤波器来提取采集的图像的高频信号并以此为聚焦评价值进行聚焦搜索,但是这种方法易受噪声的影响且没有进行聚焦区域的选择,使得聚焦稳定性不高。

这些传统的被动式聚焦装置和方法在聚焦平稳性和可靠性易受环境影响,而且对于聚焦区域选择上的做法一般采用中心对焦或者全景聚焦等固定的选择策略,但是实际聚焦场景往往比较复杂,因此造成了聚焦的准确性和稳定性低下。同时在聚焦过程中没有考虑到聚焦的平滑性使得人的主观视觉效果较差。这里的聚焦平滑性指的是场景在聚焦过程中只能从模糊变清晰,而不能出现模糊-清晰-模糊这种反复变化的现象。

发明内容

为了克服已有的视频自动聚焦系统的聚焦的准确性和稳定性低、平滑性差的不足,本发明提供一种能有效提高聚焦的准确性和稳定性、改善平滑性的基于嵌入式媒体处理器的视频自动聚焦系统。

本发明解决其技术问题所采用的技术方案是:

一种基于嵌入式媒体处理器的视频自动聚焦系统,包括:视频采集模块,用以从摄像头获取原始视频图像数据;图像获取处理模块,用于对获取的原始视频图像数据进行噪声处理,并提取其中的Y分量,采用基于区域分割的感应区区域选择算法提取聚焦区域,采用基于Sobel梯度算子的Tenengrad函数进行清晰度计算;聚焦搜索模块,用于确定镜头移动的方向,并根据当前的zoom值(这里的zoom值为镜头参数,用来表征镜头的放大和缩小倍数,反映了可变镜头的焦距长短)来决定搜索的基本步长step读取当前镜头位置图像的清晰度值,设其值记为f1,和上一帧图像的清晰度值f2进行比较并计算清晰度变化率:Δf=(f1-f2)/f2,根据Δf计算步长系数值level,镜头所需移动的步长mov_step=step×level;比较当前帧与上一帧图像的清晰度值,若清晰度值增加则说明未到峰值区域,若清晰度减少则判定已到峰值区域,最大清晰度值对应的位置作为聚焦位置;聚焦执行模块,用于根据聚焦搜索模块中确定的镜头移动的方向和步长,向驱动镜头的步进电机发送控制信号调整镜头位置。

作为优选的一种方案:所述图像获取处理模块中,基于区域分割的感应区区域选择算法的过程为:将输入的原始视频图像数据划分成4×4小区域。然后计算每个区域的清晰度值wi,其中i=1...16,比较16个区域的清晰度值wi,找出最大值wmax,其所对应区域作为种子记为(x0,y0),以(x0,y0)为中心,考虑(x0,y0)的4领域区域(x,y),如果(x,y)满足相似性准则,则将(x,y)与(x0,y0)合并作为相似区域,同时将(x,y)压入堆栈,从堆栈中取出一个区域,把它当作种子(x0,y0),继续上述合并步骤,当堆栈为空时,则区域分割结束,所合并的区域即为选择出来的感兴趣区域。

作为优选的另一种方案:所述聚焦搜索模块中,level值计算准则如下表1所示:

表1

其中,Δf为清晰度变化率,level表示步长的系数,dir表示镜头移动方向,times表示聚焦条件计数;当Δf为正值时,当清晰度变化率超过10%则使用最小步长移动即此时level=1;当清晰度变化率小于10%则level值自增(表1中用符号“++”表示),其中在5%~10%又使level值自减(表1中用符号“--”表示);在Δf为负值时,阈值设定为5%,即变化率的绝对值大于5%的时候level=1,同时将镜头移动方向反向;当变化率的绝对值小于5%时,采用level自增的方式跳过局部极值区域,同时保持镜头移动方向不变。

作为优选的再一种方案:所述聚焦搜索模块中,确定镜头移动的方向的过程为:以最小步长连续将镜头移动三个位置,读取三帧图像,比较其清晰度值,设三个位置的图像的清晰度值为s1、s2、s3,当且仅当s1<s2<s3判断方向为负方向,s1>s2>s3判断方向为正方向,其余情况则说明未找到方向,则重新计算镜头的移动方向。

进一步,在所述图像获取处理模块中,采用并行方式进行图像采集。

更进一步,所述清晰度计算的公式为:

F(I)=ΣxΣy|Gx(x,y)|+|Gy(x,y)|---(2)

上式中,Gx(x,y),Gy(x,y)为梯度幅值,F(I)就是计算得到的图像I的清晰度值;

其中,梯度幅值的Gx(x,y),Gy(x,y)的计算是以图像I中的(x,y)为中心的八邻域子图和Sobel梯度算子模板进行卷积获得,卷积公式为:

Gx(x,y)=I8(x,y)*SxGy(x,y)=I8(x,y)*Sy---(3)

其中,I8(x,y)表示以图像I中的(x,y)为中心的八邻域子图,Sx和Sy为Sobel梯度算子,其算子模板为:

Sx=-101-202-101Sy=121000-1-2-1---(4).

本发明的技术构思为:采用低功耗、高性能的嵌入式媒体处理器实现快速、精确、平滑的视频聚焦。为了实现该功能,本发明需要解决以下技术问题:(1)、为了保证聚焦过程中图像变化的平滑性需要一种新的聚焦搜索策略。(2)、为了增加聚焦的准确性,需要一种有效地聚焦区域选择方法。(3)、在图像采集过程中,如何改变原有的串行操作,最大限度地利用处理器性能来提高聚焦速度。

在聚焦搜索模块中,本发明提出了自适应性多步长搜索算法。其算法原理是:先根据当前的zoom值来决定搜索的基本步长step,即最小移动的步长。然后根据当前帧和上一帧的清晰度值的变化率来决定步长系数level,这样就得到了最终需要移动的步长mov_step=step×level。因为step的值是根据zoom值来相应变化的,所以不会出现最小调焦量偏大而导致不能收敛到聚焦位置的情况。同时由于步长能够由图像清晰度变化率来进行动态调整,使得整个步长的移动都能保证图像清晰度变化平稳,即在视频聚焦时人的主观质量良好,从而整体上解决了平滑聚焦的问题。

在图像获取处理模块中,采用了基于区域分割的感兴趣区域选择算法。聚焦区域选择一方面可以减少数据处理量,加快聚焦速度;另一方面通过选取感兴趣区域,消除非感兴趣区域对评价函数曲线的影响,提高聚焦精确度。其算法思想是:首先将输入的图像划分成4×4小区域。然后计算每个区域的清晰度值wi,其中i=1...16。比较16个区域的清晰度值wi,找出最大值wmax,其所对应区域作为种子记为(x0,y0)。以(x0,y0)为中心,考虑(x0,y0)的4领域区域(x,y),如果(x,y)满足相似性准则,则将(x,y)与(x0,y0)合并作为相似区域,同时将(x,y)压入堆栈。从堆栈中取出一个区域,把它当作种子(x0,y0),继续前面的合并步骤。当堆栈为空时,则区域分割结束,所合并的区域即为选择出来的感兴趣区域。

在图像获取处理模块中,本发明提出了图像流水线采集概念,通过合理的并行操作提高聚焦速度。图像流水线采集概念为:一次图像采集的过程分为四个部分,A步骤为发送命令,调整透镜的位置。B步骤为查询,直到透镜位置调整到指定位置。C步骤为配置采集驱动,启动图像采集。D步骤为图像采集完毕,执行自动聚焦分析。如图3所示为串行式图像采集过程,首先分析一次聚焦所需要的时间:t=(t1+t2)+t3+t4。其中t1和t2由镜头装置决定,t3由启动采集的时刻和采集的数据量两个因素决定,t4由自动聚焦分析算法复杂度和处理器主频两个因素决定。因为视频采集是通过PPI送入缓冲队列,在经过DMA调用,将图像数据送入指定的SDRAM区域。设采集一副图像到内存的时间为ts,则所需要的图像内存单元个数n至少为n=t/ts。为了节省聚焦时间,本发明采用并行方式进行图像采集如图4所示,即PPI一直开启视频采集,经DMA不断将视频采集到SDRAM的图像内存单元中,这样图像采集步骤C只需要到存储单元中找到对应地址的图像即可,从而省去了图像采集的时间,此时一次聚焦的时间变为t1=(t1+t2)+t4,所需要的SDRAM的图像内存单元个数为n1=t1/ts。从内存中寻找对应地址图像的方法是:在步骤A中记下当前的内存编号m,1<m<n1。则步骤C中从图像存储单元的地址编号为:

m1=[(t1+t2)/ts+m]%n1  1<m1<n1

本发明有益的效果是:(1)、不需要额外的辅助装置就可以实现快速、精确、平滑的视频自动聚焦。(2)、在整个聚焦过程中图像变化平滑,人的主观视觉性良好。

附图说明

图1是视频自动聚焦系统原理图。

图2是视频自动聚焦系统主控器设计图。

图3是串行式图像采集流程图。

图4是并行式图像采集流程图。

图5是视频自动聚焦系统主程序流程图。

图6是自动聚焦子程序流程图。

图7是图像清晰度计算子程序流程图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图7,一种基于嵌入式媒体处理器的视频自动聚焦系统,包括:视频采集模块7,用以从摄像头获取原始视频图像数据;图像获取处理模块8,用于对获取的原始视频图像数据进行噪声处理,并提取其中的Y分量,采用基于区域分割的感应区区域选择算法提取聚焦区域,采用基于Sobel梯度算子的Tenengrad函数进行清晰度计算;聚焦搜索模块9,用于确定镜头移动的方向,并根据当前的zoom值来决定搜索的基本步长step;读取当前镜头位置图像的清晰度值,设其值记为f1,和上一帧图像的清晰度值f2进行比较并计算清晰度变化率:Δf=(f1-f2)/f2,根据Δf计算步长系数值level,镜头所需移动的步长mov_step=step×level;比较当前帧与上一帧图像的清晰度值,若清晰度值增加则说明未到峰值区域,若清晰度减少则判定已到峰值区域,最大清晰度值对应的位置作为聚焦位置;聚焦执行模块10,用于根据聚焦搜索模块中确定的镜头移动的方向和步长,各驱动镜头的步进电机发送群殴经控制信号调整镜头位置。

本实施例中,基于嵌入式媒体处理器的视频自动聚焦系统包括透镜2、CCD 3、FPGA 4、SDRAM 5、主控器DSP 6。所述的DSP 6又包含视频采集模块7、图像获取处理模块8、聚焦搜索模块9和聚焦执行模块10。所述的FPGA 4与DSP 6中的视频采集模块7相连。所述的SDRAM 5与DSP 6相连。所述的DSP 6中的聚焦执行模块10与控制镜头的步进电机相连。物体1首先经过透镜2成像于CCD 3上,然后经过FPGA 4将CCD 3输出的原始视频图像数据进行格式化处理,输出符合BT.656标准的视频信号。DSP 6中的视频采集模块7将FPGA4输出的标准视频信号,采集到SDRAM 5中的指定图像存储区域。图像获取处理模块8从SDRAM 5的指定存储单元中得当前镜头位置的图像,首先对获取到的图像进行噪声处理,并提取其中的Y分量。接着采用基于区域分割的感兴趣区域选择算法提取聚焦区域,最后用基于Sobel梯度算子的Tenengrad函数进行清晰度计算。聚焦搜索模块9根据清晰度评价值,首先判断镜头是否已经在聚焦位置,若没有则计算下一步镜头所需移动的方向和步长,否则说明聚焦已经完成,保持镜头聚焦位置不变。聚焦执行模块10根据聚焦搜索模块9计算得到镜头移动方向和步长,给驱动镜头的步进电机发送镜头控制信号调整镜头位置,从而实现对镜头的调焦移动。

参照图5所示,为视频自动聚焦系统主程序流程图。其具体工作流程如下所示:首先进行DSP的初始化,DSP初始化须要配置的内容有:PPL时钟配置,EBIU外部总线接口配置,FLASH内存配置、DMA后的外部中断配置、SDRAM内存配置和PPI数据传送配置。接着开始启动视频采集,这里只需要配置好PPI和DMA后,主控芯片自动将CCD摄像头拍摄视频数据送入到指定的SDRAM图像存储区域。接下来通过按键进行镜头控制,功能分为:左转、右转、上转、下转、zoom调整、手动调焦、自动调焦和退出程序。当按键进行自动调焦后,则进入自动聚焦程序。

参照图6所示,为自动聚焦程序流程图。首先需要判断镜头移动的方向,这里采用以最小步长连续将镜头移动三个位置,读取三帧图像,比较其清晰度值。设三个位置的图像的清晰度值为s1、s2、s3。当且仅当s1<s2<s3判断方向为负方向,s1>s2>s3判断方向为正方向,其余情况则说明未找到方向,则程序重新计算镜头的移动方向。当镜头方向确定后,则从内存中读取当前镜头位置图像,并调用清晰度计算子程序进行当前图像的清晰度值计算,设其值记为f1。接着和上一帧图像的清晰度值f2进行比较并计算清晰度变化率:Δf=(f1-f2)/f2。根据Δf计算步长level值,下面给出level值计算准则如下表1所示:

表1

上表中Δf为清晰度变化率,level表示步长的系数,dir表示镜头移动方向,times表示聚焦条件计数。清晰度变化率的阈值划分是按照实验中人的主观观察结果而定,在实验中发现当清晰度变化率不超过10%的时候,人眼分辨不出两幅图像的清晰度差异。所以本发明中Δf为正值时,当清晰度变化率超过10%则使用最小步长移动即此时level=1;当清晰度变化率小于10%则level值自增(表1中用符号“++”表示),其中在5%~10%又使level值自减(表1中用符号“--”表示),防止增长过快。在Δf为负值时,为了防止出现从清晰变模糊的现象出现,这里把阈值定为5%,即变化率的绝对值大于5%的时候level=1,同时将镜头移动方向反向;当变化率的绝对值小于5%的时候,说明此时下降量很少,而且有可能是噪声干扰或者是局部极值,所以采用level自增的方式跳过局部极值区域,同时保持镜头移动方向不变。此时结合zoom值计算得到的基本步长step,就可以计算得到镜头是所需要移动的步长mov_step=step×level。最后是聚焦判断条件,一般聚焦位置判断都是当清晰度值减少的时候,此时认为已过峰值,然后把最大的清晰度值所对应的位置作为聚焦位置。但是这样容易陷入局部极值。而本发明中采用多次判断机制,当连续出现峰值减少的情况才说明已过峰值。在整个聚焦搜索过程中定义全局变量times,其初值设为0。当且仅当Δf为负值时,times自增而其余情况都清零。这样当times值等于T(T为阈值根据实际情况而定)的时候,则判定此时镜头已经在聚焦位置。

参照图7所示,图像清晰度计算子程序流程图。首先进行图像的噪声处理,这里采用5×5模板的中值滤波来抑制干扰脉冲和点状噪声。然后进行图像Y分量提取,视频格式为YUV4:2:2,这里只需要将Y分量的内存拷贝出来用于进行接下来的聚焦区域检测。基于区域分割感兴趣区域选择的算法流程为:

Step1:将图像划分成4×4小区域。

Step2:计算每个区域的清晰度值其中i=1...16。

Step3:找出最大值wmax,其所对应区域作为种子记为(x0,y0)。

Step4:以(x0,y0)为中心,考虑(x0,y0)的4领域区域(x,y),如果(x,y)满足相似性准则,则将(x,y)与(x0,y0)合并作为相似区域,同时将(x,y)压入堆栈。

Step5:从堆栈中取出一个区域,把它当作种子(x0,y0),回到Step4步骤。

Step6:当堆栈为空时,则区域分割结束,所合并的区域即为选择出来的感兴趣区域。

接下来进行图像清晰度计算,这里采用基于Sobel梯度算子的改进Tenengrad函数进行清晰度计算。设输入的图像为I,基于Sobel梯度算子的Tenengrad函数定义如(1)所示。

F(I)=ΣxΣyGx2(x,y)+Gy2(x,y)---(1)

式(1)中Gx(x,y),Gy(x,y)为梯度幅值。F(I)就是计算得到的图像I的清晰度值。虽然基于Sobel梯度算法的Tenengrad函数计算精度高,但是计算量大因此对其进行改进,改进后的Tenengrad函数如式(2)所示。

F(I)=ΣxΣy|Gx(x,y)|+|Gy(x,y)|---(2)

改进后的Tenengrad函数由原来的2M×N次乘法运算和M×N次开方运算,变到了只需M×N次加法运算(M、N为图像I的长度和宽度)。式中梯度幅值Gx(x,y),Gy(x,y)的计算是以图像I中的(x,y)为中心的八邻域子图和Sobel梯度算子模板进行卷积获得,卷积公式如式(3)所示。

Gx(x,y)=I8(x,y)*SxGy(x,y)=I8(x,y)*Sy---(3)

式中I8(x,y)表示以图像I中的(x,y)为中心的八邻域子图,Sx和Sy为Sobel梯度算子其算子模板如式(4)所示。

Sx=-101-202-101Sy=121000-1-2-1---(4)

最后将计算得到的图像清晰度值传递到自动聚焦程序中,并退出子程序。

尽管已经示出并描述了本发明的实施例,但本领域的技术人员应该理解,在未背离发明精神和原理的情况下,在所附权利要求及其等效物限定的范围内,可以对这些实例做各种改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号