基于Hi3515的自动聚焦系统
2013-09-17何小刚郭建军
高 洁,何小刚,梁 波,郭建军
(太原理工大学信息工程学院,山西太原 030024)
基于Hi3515的自动聚焦系统
高 洁,何小刚,梁 波,郭建军
(太原理工大学信息工程学院,山西太原 030024)
提出了一种基于海思公司Hi3515处理芯片的自动聚焦系统的整套设计方案。该系统使用COMS传感器向Hi3515传入YUV数字信号,Hi3515芯片根据该数字信号进行聚焦评价并且根据聚焦策略判断电机的步进方向,最后使用μPD16835芯片来推动聚焦电机,从而实现了自动聚焦。在聚焦评价算法上,采用了Reborts梯度算法并在其像素差值累加方面进行了改进。聚焦策略上对单调性判断法进行改进,避免了局部极致的出现。在实验以及应用中证明该聚焦系统的聚焦效果可以满足实际的应用需求,已成功应用于视频展台产品中。
Hi3515;自动聚焦系统;聚焦电路;评价函数;聚焦策略
【本文献信息】高洁,何小刚,梁波,等.基于Hi3515的自动聚焦系统[J].电视技术,2013,37(3).
随着数字图像技术的快速发展,自动聚焦技术应用的范围越来越广,照相机、摄像机、显微镜、监控仪都需要自动聚焦。
目前自动聚焦的技术相对比较成熟,市面上大多是基于DSP实现的,但功耗较高[1]。本文提出的自动聚焦系统的硬件平台核心为高性能的Hi3515处理芯片,在具有高性能处理芯片的硬件平台上实现自动聚焦,可以降低功耗。本文的自动聚焦系统用CMOS传感器获取数字信号,通过Hi3515凭借获取的信号对图像进行聚焦评价后,再根据聚焦策略决定电机的步进方向并使用μPD16835芯片来推动电机,从而实现自动聚焦。实现图像的自动聚焦过程可以通过VGA显示器进行观察。经测试,该自动聚焦系统可以满足目前实际应用需求。
1 系统平台搭建
此系统的硬件平台以海思公司开发的Hi3515处理芯片为主,位宽为32位,处理频率为400 MHz,并且具有视频、音频及多个外设接口。系统运行时的内存为2个1 Gbyte的DDR SDRAM,操作系统为剪裁过的Linux系统。操作系统与uboot以及根文件系统一起存放在1个256 Mbyte的Nor Flash中。图像采集模块使用CMOS数字传感器,推动电机模块是通过Hi3515芯片的SPI接口向μPD16835芯片发送控制字,然后μPD16835输出脉冲驱动来实现的。硬件平台的示意图如图1所示。
图1 系统平台示意图
2 系统硬件设计
聚焦控制系统主要包括CMOS传感器摄像头、Hi3515处理芯片、μPD16835芯片、DDR、DYZ22-V5电机以及VGA显示器等部分。由于Hi3515是32位处理器芯片,而本系统采用的2个DDR内存位宽为16位,所以本系统将DDR1接到Hi3515的DDRDQ0~DDRDQ15引脚上,作为低16位的内存。同理,DDR2接到Hi3515的DDRDQ16~DDRDQ31引脚上,为高16位的内存。该聚焦系统利用CMOS传感器对目标物体进行摄像,将光信号转换为YUV信号,通过Hi3515芯片的VI0接口传送进来,再以一定顺序存放在DDR中。当进行自动聚焦时,Hi3515处理芯片根据所选择的聚焦区域从DDR中提取相对应的YUV图像信号进行处理,并利用聚焦评价函数对图像是否处于最佳焦距进行判断。当图像不处于最佳焦距时,Hi3515根据聚焦策略判断电机的步进方向,然后通过SPI接口向μPD16835芯片发送控制字。由于Hi3515向μPD16835芯片发送控制字只需要时钟信号及Hi3515向μPD16835的输出数据,不需要μPD16835芯片对Hi3515进行数据输入,所以在此只需要对μPD16835芯片发送SPI接口的SPIDI信号及SPICK信号。μPD16835芯片将得回的控制字进行分析后向DYZ22-V5电机发送脉冲驱动来调节焦距,直到图像处于最佳聚焦状态。整个聚焦过程可以通过Hi3515提供的VGAHS_VO接口连接到VGA显示器进行观察。
聚焦系统电路图如图2所示。
图2 系统电路图
3 聚焦评价
3.1 聚焦评价函数
完全聚焦的图像比离焦的图像包含更多的细节和信息量。自动聚焦过程中图像清晰时,图像包含的细节和信息量丰富,相邻像素的特征值(如灰度、亮度等)变化较大,那么相邻像素的特征值差值的绝对值就大。评价函数返回值的大小体现了图像的细节和信息量的多少。目前有许多种评价函数,如高频分亮法、图像的灰度熵法、Reborts梯度算法、图像能量法等[2]。由于Hi3515芯片的处理速度所限,当进行计算很大量的高频分亮法或者灰度熵算法等算法时,经过示波器测量,对整幅图像作为聚焦区域运算一次聚焦评价函数的时间在100 ms以上,再加上步进行电机的时间,那么聚焦的时间会大大延长。由于Hi3515获取回来的图像的格式为YUV格式,图像格式中包含亮度信息,为了加快运算速度,可以用亮度信息代替传统Reborts梯度算法中的灰度来进行计算,从而省去了亮度与灰度的转换时间[3]。采取基于亮度的Reborts梯度算法,对整幅图像作为聚焦区域运行一次聚焦评价函数的运算时间将在70 ms左右。因此,本文选择Reborts梯度算法并在其上进行改进。
在Hi3515视频处理芯片中,从屏幕左上方的像素为起始点(0,0),x轴方向标依次向右递增,y轴坐标依次向下递增。
由图3a可以看出,每个像素点的梯度方向有水平、垂直、45°方向。在传统的Reborts梯度算法中,每个像素点与周围8个像素都分别取差值的绝对值,最后对其累加和计算。传统的Reborts梯度算法如下[4]
若对一幅图像进行传统的Reborts梯度算法进行评价则会重复对相同像素点进行了差值累加,延长了评价函数的计算时长,如图3b所示。所以本文采取了如图3c所示的像素差值累加和进行计算,这样避免了对相同像素的重复计算,减少了遍历像素点的时长。经过测量,改进后的Reborts梯度算法的运算时间在45 ms左右。
基于亮度改进的Reborts梯度算法为
图3 算法相像素位置关系图
3.2 聚焦区域大小及位置的选择
在聚焦过程中每进行一次聚焦评估,都要对构成整幅图像的所有像素进行统计计算,这样的计算量对于整个聚焦过程来说是庞大的,导致聚焦时间不必要的延长。为了减少聚焦时间,所以聚焦区域只选择图像中的一部分即可[5]。但如果聚焦区域面积取的过小,则获取的信息量不足,影响聚焦的准确度。经过实验得出,300×250大小的像素面积为实际中获取信息量多少较为恰当的面积。
根据人们视觉习惯,显示器的中心位置用来显示重要的信息,且人们获取信息的方向是由上到下,所以以1 280×1 024大小的图像为例,选择聚焦的区域为:水平方向515~765,垂直方向362~662。
4 聚焦策略
首先对图4中显示器中所显示的图像进行一次手动变焦,使图像由不清晰到清晰再到不清晰。可以得回如图5所示的整体数据走向。由图5可看出,局部出现极值,但出现极值的次数并不多。经过实验发现导致局部出现极值是由于外界灯光不稳定等外界干扰造成的。
根据手动变焦得回的数据走向图可知,图像的评价函数返回值形成一条类似于开口朝下的抛物线,而抛物线的最大值点就是聚焦清晰点。在清晰点的左侧是上升沿,聚焦过程是不清晰到清晰,评价函数返回值是在上升。反之,清晰点的右侧则是下降沿。
4.1 传统聚焦策略
传统的单调性判断法是获取两个值对比来判断此时是处于上升沿还是下降沿。若出现图5中D点所示的局部极值,此时聚焦过程是在下降沿,而传统的单调性判断法会判断处于上升沿,与事实情况不符,导致误聚焦。
盲人爬山法是将电机从负轴向正轴推动进行一次遍历,在推动过程中依次记录评价函数的返回值以及相对应的电机位置,在推动结束后找到评价函数最大返回值,再将电机推到其对应的位置,此时为图像的最清晰处。盲人爬山法虽能准确找到图像的最清晰处,但在实际应用中增加了电机不必要的推动导致消耗了大量的聚焦时间。
二者相比,各有各的优势,传统的单调性判断法较盲人爬山法所消耗时间较少,但盲人爬山法精确度比传统的单调性判断法要高。
4.2 单调性法和盲人爬山法相结合的聚焦策略
在文献[6]中提到的单调性法和盲人爬山法相结合的聚焦策略,是先利用传统的单调性判断法粗略的找到评价函数极值的大概位置,然后在极值处通过盲人爬山法左右分别推动4步电机找到在此范围内最清晰的位置。
在利用传统的单调性判断法时仍有可能出现图5中D点所示的局部极值问题,那样就造成评价函数极值大概位置的误判断。后续的盲人爬山也是在误判断的清晰处找到相对较为清晰的位置,但不是整体聚焦过程中的图像最清晰点,并没有大幅度降低聚焦过程中干扰对整体聚焦的影响。
后续的盲人爬山法的具体过程为:以评价函数极值的大概位置的点为中心点,在中心点处向左推动4步电机,记录每次的函数返回值,再向右推动4步将电机推回中心位置,然后继续向右推动4步记录每次的函数返回值,再将电机推动方向变为左,推动4步推回中心位置。然后根据记录的8个值,找到最大值点即图像的清晰处,再将电机推到相应位置。由以上过程可以看出在实际过程中至少要推动16步电机才能找到图像的清晰位置,延长了聚焦所需要的时间。
此方法与传统的单调性判断法相比,精度较高;与盲人爬山法相比,耗时较少。
4.3 改进聚焦策略
为了在聚焦过程中避免干扰对整体聚焦的影响以及降低聚焦所需时间,本文对整体单调性判断法的聚焦策略进行了改进。通过3步取值来判断聚焦是处于上升沿还是下降沿,避免了类似于图5中D点所造成的误聚焦,且采用单调性判断法可以大大减少在实际聚焦过程电机不必要的推动,大大减少了聚焦所需时间。具体步骤如下。
步骤1:定义一个数组f[50],按电机此时的推动方向,推动3步,并且将每一步的评价函数返回值记录到元素f[0],f[1],f[2]中。根据这三个值判断此时的聚焦是处于上升沿还是下降沿:若(f[0]<f[1])&&(f[1]<f[2]),或者(f[0]>f[1]&&f[1]<f[2]&&f[0]<f[2]),则处于上升沿,定义变量j=2,进行步骤4;若 (f[0]>f[1]&&f[1]>f[2]),或 者 (f[0]>f[1]&&f[1]<f[2]&&f[0]>f[2])则处于下降沿,进行步骤 2;若(f[0]<f[1]&&f[1]>f[2]),则进行步骤3。
步骤2:将电机的推动方向置反,返回到步骤1。
步骤3:将电机按原方向推动3步,返回到步骤1。
步骤4:推动一步电机,j=j+1,记录返回值到元素f[j]中。进行步骤 5。
步骤5:对条件(f[j-2]<f[j-1]&&f[j-1]<f[j]),或者(f[j-2]>f[j-1]&&f[j-1]<f[j]&&f[j-2]<f[j])进行判断,若满足,则继续进行步骤4;若不满足,进行步骤6。
步骤6:此时聚焦可能以达到清晰点。为了避免误聚焦,则在原方向上继续推动3步,每推动一步j=j+1。若此时获取的3步处于下将沿,即满足(f[j-2]>f[j-1]&&f[j-1]>f[j])或(f[j-2]>f[j-1]&&f[j-1]<f[j]&&f[j-2]>f[j]),则说明刚才的点为清晰点,电机反向转动3步,返回到清晰点;若不满足,定义j=2,返回到步骤1中的判断是否上升沿。
聚焦策略图如图6所示,其中小山是一种f(i-1)<f(i)>f(i+1)情况的统称。
图6 聚焦策略图
在图6中可看出,当f(0)=f(2)时可能出现死循环,但在实际应用中,不会一直处于f(0)=f(2)的状态,将在某一步跳出f(0)=f(2)判断流程。
此方法与传统的单调性判断法相比,避免了干扰导致单调性判断的失误;与盲人爬山法相比具有盲人爬山法的精确度,但避免了不必要的电机推动;可以在函数返回值开始下降时判断已经超过了图像的最清晰位置并将电机推回到图像的最清晰处;较单调性法和盲人爬山法相结合的聚焦策略相比,具有更高的精确度以及耗时更少的优势。
5 聚焦结果
聚焦后的效果图如图7所示。由于其单调判断法所需时间由电机的起始位置所决定,所以需要时间的长短不一定。经过20次计算得出,平均聚焦时间在2.5 s左右,满足实际应用需求。
图7 聚焦后图像
6 结束语
由以上分析可以看出,基于Hi3515的自动聚焦系统可以成功的进行聚焦。经过多次测试以及研究,其聚焦的速度与精度可以满足实际应用需求,并已经成功应用于视频展台产品中。但是由于开发时间的不足以及笔者自身水平的有限,仍有问题没有解决,如聚焦评价函数的抗干扰性不是很好,需要在后续的聚焦过程中进行干扰排除,这样必然延长了聚焦所需的时间,所以此自动聚焦系统还有待进一步的完善。
:
[1]杨守建,邬杨波.基于LPC2103的摄像头自动聚焦系统[J].电脑与信息技术,2011,19(4):15-17.
[2]徐健峰.基于手持式图像采集系统的自动聚焦研究[D].杭州:浙江大学,2007.
[3]高赞,姜威,朱孔凤,等.基于Roberts梯度的自动聚焦算法[J].红外与激光工程,2006(1):117-121.
[4]胡凤萍.视频自动聚焦方法研究与实现[D].西安:西安电子科技大学,2008.
[5]张文爱,李逢磊,程永强.基于FPGA的步进电机驱动及自动聚焦的实现[J].嵌入式技术,2008(5):31-33.
[6]郭建军,刘彦隆,赵福梅,等.Hi3515平台上自动聚焦技术的研究与应用[J].电视技术,2012,36(19):74-76.
何小刚(1959— ),副教授,主研智能控制与检测技术;
梁 波(1986— ),硕士生,主研控制科学与工程;
郭建军(1987— ),硕士生,主研嵌入式技术应用。
Auto-focusing System Based on Hi3515 Platform
GAO Jie,HE Xiaogang,LIANG Bo,GUO Jianjun
(College of Information Engineering,Taiyuan University of Technology,Taiyuan 030024,China)
A whole plan of auto-focus system based on Hi3515 which is designed by Hisilicom Technologies Co.,Ltd.is proposed in this paper.The system uses CMOS sensor to transmit YUV digital signal into chip Hi3515.The Hi3515 chip does focusing evaluation on basis of the signal,and judges the step direction by focusing strategy,then promotes the motor to focus.Focusing evaluation uses Reborts gradient algorithm,and improves its aspect of pixel difference accumulation.Focusing strategy uses modified monotonic judgment which avoids the appearance of local extreme value.On experiment and practical application,the system focusing effect can satisfy the need of application requirement,and has successfully been used in video presenter product.
Hi3515;auto-focusing system;focusing circuit;evaluation function;focusing strategy
TN409
A
高 洁(1986— ),女,硕士生,主研控制科学与工程;
责任编辑:魏雨博
2012-07-22