基于FPGA和NIOSⅡ的自动对焦系统设计*

2015-12-26 03:34王青松杜玉军汪桂霞
西安工业大学学报 2015年4期
关键词:对焦嵌入式自动

王青松,杜玉军,汪桂霞,高 明

(西安工业大学 光电工程学院,西安710021)

图像包含了大量人类所要获取的信息,而且图像越清晰图像信息越丰富.人类视觉系统的先进性使得空间物体能够在视网膜上成清晰的图像.嵌入式图像采集系统依靠光学镜头来把空间物体成像在图像传感器的光敏面上,图像的清晰度取决于光学镜头透镜组中透镜的位置.为了实现光学镜头所成像自动位于图像传感器的光敏面上,人们开展了大量的研究,出现了自动对焦技术.

基于图像处理的自动对焦技术的研究主要有两个方面[1]:①自动对焦评价函数的理论研究,在这方面,研究者取得了一定的成果[2];②自动对焦实现研究[3],主要是利用计算机执行软件程序实现自动对焦评价函数.在嵌入式图像采集系统中,文献[4-5]利用数字信号处理(Digital Signal Processing,DSP)与进阶精简指令机器(Advanced RISC Machines,ARM)芯片作为嵌入式处理器来研究自动对焦的实现,都取得了一定的成果.但是DSP与ARM芯片引脚作用固定,在与图像传感器、存储器和显示器等外部单元连接时灵活性比较差,另外DSP与ARM的内部硬件资源不可更改,因此,本文提出基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)和 NIOSⅡ嵌入式处理器(美国ALTERA公司生产)实现自动对焦的方法,解决上面的问题.

本文设计了一个图像采集、存储及显示系统,利用NIOSⅡ执行程序实现自动对焦,通过所设计的自动对焦系统的测试数据分析,以期得到图像帧频、对焦区域大小、对焦时间和对焦误差四者之间的相互关系.

1 基于FPGA和NIOSⅡ的自动对焦系统组成

基于FPGA和NIOSⅡ的自动对焦系统主要由分划板、光学镜头、步进电机、互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)图像传感器、FPGA和液晶显示器(Liquid Crystal Display,LCD)组成,组成框图如图1所示.

图1 基于FPGA和NIOSⅡ的自动对焦系统组成框图Fig.1 Block diagram of auto-focus system based on FPGA and NIOSⅡ

图2 FPGA与图像传感器、SDRAM和LCD的接口设计图Fig.2 Interface design diagram of FPGA with image sensor,SDRAM and LCD

在此系统中,FPGA控制液晶显示器及图像传感器工作得到图像数据,然后把图像数据存储在同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)中,FPGA 内部的NIOSⅡ嵌入处理器执行自动对焦算法程序对图像数据进行处理,并根据处理结果控制步进电机运动,步进电机带动光学镜头内部透镜组运动,使得光学分划板通过镜头所成像的像面位于图像传感器的光敏面上,因而获得清晰的图像.系统中的LCD显示屏在FPGA控制之下把存储于SDRAM中的图像数据转换成图像进行显示,通过显示屏可以观察到自动对焦系统实现图像由模糊到清晰的变化过程.

2 图像采集、存储及显示系统的方案设计

图像采集、存储及显示的实现是建立在分划板、光学镜头、CMOS图像传感器、FPGA、SDRAM和LCD显示屏所组成的硬件基础之上的.分划板通过光学镜头成像在CMOS图像传感器的光敏面上,由FPGA把图像传感器的输出图像数据转存到SDRAM中,再从SDRAM中读出图像数据传送给LCD显示屏,最终在LCD显示屏上显示图像传感器所生成的图像.在这个过程中,FPGA与CMOS图像传感器、SDRAM和LCD显示屏的接口设计决定了图像采集、存储和显示的成败.FPGA与CMOS图像传感器、SDRAM和LCD显示屏的接口设计如图2所示.

3 自动对焦设计

图像采集、存储及显示系统的设计为自动对焦的实现奠定了一定的硬件基础.由于图像数据已经存储于SDRAM中,这时,嵌入式处理器NIOSⅡ首先通过执行程序读取这些数据,然后调用自动对焦评价函数程序和爬山搜索程序.在程序运行过程中得到的结果之上,结合FPGA与步进电机接口控制步进电机运动,带动透镜组不断前后移动,使得成像位于图像传感器的光敏面上.

3.1 以NIOSⅡ为核心的片上系统设计

NIOSⅡ是一个在FPGA上实现的可裁剪的32位嵌入式软核处理器,利用Altera公司的可编程片上系统(System on a Programmable Chip,SOPC)技术设计一个以NIOSⅡ为核心的片上系统,在此系统中,加入满足Avalon总线的模块来实现所需的功能,硬件资源的配置非常灵活.为了实现自动对焦,本文所设计的片上系统主要由嵌入式处理器、锁相环(Phase Locked Loop,PLL)、SDRAM控制器、和串口通讯模块等组成.

NIOSⅡ执行图像数据读取程序、自动对焦评价函数程序、爬山搜索算法程序和步进电机控制程序;PLL锁相环提供系统所需要的时钟;SDRAM控制器用于NIOSⅡ对SDRAM的控制和访问;图像缓冲器用来存放临时图像数据;NIOSⅡ通过串口通讯模块控制步进电机.

3.2 图像数据读取区域和大小的选择

经图像传感器获取的图像数据存储于SDRAM中,NIOSⅡ通过片上系统的SDRAM控制器来读取图像数据.在数据读取过程中,针对不同对焦区域要选择SDRAM中相对应的图像数据,本文选取了分划板中心作为对焦区域.对焦区域大小影响到图像数据量,在执行对焦算法过程中,影响了算法的执行速度和自动对焦速度.为了提高自动对焦速度,本设计选取对焦区域大小为16×16像素和32×32像素的图像数据.

3.3 自动对焦评价函数的实现

在自动对焦过程中,对准焦位置即图像是否最清晰的判断通常利用来实现.本文采用的是四邻域灰度差绝对值之和函数,表示为

式(1)以单一像素点与和它相邻的4个方向上的像素点的灰度差的绝对值之和作为自动对焦评价函数值,它的评价函数曲线如图3所示.由光学原理可知,在外界条件相同的情况下,光学系统成像在焦面位置时图像最清晰,图像各像素之间灰度变化最大,此时式(1)有最大的函数值Fmax,因此只要找到Fmax出现的位置,对焦位置也就确定了.

图3 四邻域灰度差绝对值之和函数评价曲线Fig.3 Function evaluation curve of the sum of absolute value of neighbourhood gray difference

3.4 爬山搜索算法的实现

在自动对焦的过程中,采用爬山搜索法来寻找最佳的成像位置[6-7],会减少自动对焦时间.爬山搜索法原理如图4所示.

图4 爬山搜索算法示意图Fig.4 Diagram of mountain-climb searching algorithm

步进电机带动镜头组从起始位置M出发,先确定搜索方向,即向点N方向进行,当点N的评价函数值大于点M的评价函数值时,初始搜索方向正确.然后电机以等步长带动透镜组向“山顶”运动,在此过程中,物镜每运动一步,计算一次图像的对焦评价函数值,如果对焦评价函数值逐渐增大,说明物镜运动的方向正确且并未越过“山顶”.当对焦评价函数值第一次出现减小,说明此时物镜已经越过顶峰即最佳调焦点P,到达了P1位置.此时系统从准焦开始离焦,图像也由清晰变的再次模糊.这时候电机反向运转,减小步长,带动透镜组向反方向运动寻找最佳调焦点.同理,当对焦评价函数值又一次减小到达P2点时,电机应该再一次反转运行并继续减小步长,带动镜头再次反向搜索.如此反复搜索,直到电机的步长减小到设定值,搜索结束.

4 自动对焦系统的测试结果及分析

自动对焦系统测试时,选用分划板作为成像目标,图像传感器分辨率为640×480piexl,选取图像中心为对焦区域.图像帧频、对焦区域大小与对焦时间的测试结果见表1.

对表1中的数据结果分析可知:①图像帧频相同的情况下,对焦区域大小同时影响了对焦时间和对焦误差.具体表现为对焦区域越大,对焦时间越长,对焦误差越高,反之,对焦时间越短,对焦误差越低;②对焦区域大小相同的情况下,图像帧频影响对焦时间,但不会影响对焦误差.从表1可以看到,对焦区域大小同为16×16piexl的情况下,图像帧频为15fps时,对焦时间为5s,对焦误差为0.05mm;而图像帧频为30fps时,对焦时间为4s,对焦误差为0.05mm.对焦时间不同,对焦误差相同.

综上所述,在自动对焦过程中,如果要提高对焦误差,就必须增加对焦区域大小,要减少对焦时间,就必须提高图像帧频或者减小对焦区域大小.

表1 自动对焦系统测试结果Tab.1 Test results pirel focus system

5 结 论

通过对本文所设计自动对焦系统进行测试得出结论为

1)该系统能够实现自动对焦;对焦误差受到对焦区域大小的影响.当两种对焦区域大小之比为1/4时,对焦误差的比值为2.5.

2)对焦时间受到图像帧频和对焦区域大小的影响;对焦区域大小同时影响了对焦误差和对焦时间.该系统可以作为实现嵌入式图像采集系统和嵌入式视觉系统自动对焦的一种方法.

[1] 尤玉虎,刘通,刘佳文.基于图像处理的自动对焦技术综述[J].激光与红外,2013,43(2):132.YOU Yu-hu,LIU Tong,LIU Jia-wen.Survey of the Auto-Focus Methods Based on Image Processing[J].Laser &Infrared,2013,43(2):132.(in Chinese)

[2] 李奇.数字自动对焦技术的理论及实现方法研究[D].杭州:浙江大学,2004.LI Qi.Studies on the Theory and Implementation Method of Digital Auto-Focus Thchnology[D].Hangzhou:Zhejiang University,2004.(in Chinese)

[3] 李保.基于FPGA的数字自动对焦算法的研究与实现[D].哈尔滨:哈尔滨工业大学,2008.LI Bao.Study and Implementation of Digital Auto-Focusing Algorithm Based on FPGA[D].Harbin:Harbin Institute of Technology,2008.(in Chinese)

[4] 彭方.基于DSP的自动对焦算法研究[D].西安:西安电子科技大学,2011.PENG Fang.Stuides of Auto-Focusing Algorithms Based on DSP[D].Xi’an:Xidian University,2011.(in Chinese)

[5] 陈参宁.基于ARM-Linux的数字自动对焦系统的研究与实现[D].广州:华南理工大学,2012.CHEN Can-ning.Research and Implementation of Digital Auto-Focusing System Based on ARM-Linux[D].Guangzhou:South China University of Technology,2012.(in Chinese)

[6] 王剑华,邓华秋,陈参宁.数字自动对焦中的搜索算法研究[J].传感器与微系统,2012,31(5):51.WANG Jian-hua,DENG Hua-qiu,CHEN Can-ning.Research on Search Algorithm for Digital Auto-Focus[J].Transducer and Microsystem Technologies,2012,31(5):51.(in Chinese)

[7] 郑玉珍.自动对焦中的优化爬山搜索算法[J].浙江科技学院学报,2005,17(3):171.ZHENG Yu-zhen.Optimized Mountain-Climb Searching in Auto-Focusing[J].Journal of Zhejiang University of Science and Technology,2005,17(3):171.(in Chinese)

猜你喜欢
对焦嵌入式自动
自动对焦相机何时使用手动对焦
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
自动捕盗机
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
让小鸭子自动转身
自动摇摆的“跷跷板”
多重对焦有必要吗?
关于自动驾驶
倍福 CX8091嵌入式控制器