基于DSP的自动对焦系统
摘要:介绍了一种基于DSP芯片TMS320F206进行数值计算和实施控制的自动对焦系统。给出了系统的硬件构成和软件设计。该系统不仅充分发挥了DSP芯片的数值计算优势,而且拓展了其在人机对话和电机控制等输入输出方面的应用。
关键词:自动对焦DSP爬山搜索算法
现代社会是一个高度信息化的社会,多媒体技术的发展使图像信息的获取及其传输手段倍受瞩目。自动对焦技术是计算机视觉和各类成像系统的关键技术之一,javascript:window.open(this.src);" style="cursor:pointer;"/>在照相机、摄像机、显微镜、内窥镜等成像系统中有着广泛的用途。传统的自动对焦技术较多采用测距法,即通过测出物距,由镜头方程求出系统的像距或焦距,来调整系统使之处于准确对焦的状态。随着现代计算技术的发展和数字图像处理理论的日益成熟,自动对焦技术进入一个新的数字时代,越来越多的自动对焦方法基于图像处理理论对图像有关信息进行分析计算,然后根据控制策略驱动电机,调节系统使之准确对焦。
本文利用数字式CMOS图像传感器作为感像器件,运用DSP芯片采集图像信息并计算系统的对焦评价函数,根据优化的爬山搜索算法控制驱动步进电机,调节系统光学镜头组的位置,使系统成像清晰,从而实现自动对焦。这是一种数字式的自动对焦方法,其准确性和实时性使其在视频展示台和显微镜等设备中的应用具有广泛的前景。
1 系统的硬件构成
一个典型的自动对焦系统应具备以下几个单元:成像光学镜头组、成像器件、自动对焦单元、镜头驱动单元。在本系统中,成像光学镜头组包括光学滤波器、变焦透镜组和对焦透镜组;成像器件是CMOS数字式图像传感器,输出图像信息的数字量;自动对焦单元由DSP芯片作为核心器件,图像信息的采集、计算、控制策略的选择和控制信号的产生都在这个单元中进行;镜头驱动单元包括步进电机及其驱动电路,该单元接受自动对焦单元的控制,驱动成像光学镜头组中的变焦透镜组和对焦透镜组进行位置调节,最终使图像传感器输出准确对焦的图像。系统的硬件结构如图1所示。
1.1 数字式CMOS图像传感器
图像传感器是把光信号转换成电信号的装置。本系统采用1/3英寸数字式CMOS图像传感器OV7620,总有效像素单元为664(水平方向)x492(垂直方向)像素;内置10位双通道A/D转换器,输出8位图像数据;具有自动增益和自动白平衡控制,能进行亮度、对比度、饱和度、γ校正等多种调节功能;其视频时序产生电路可产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种时序信号;5V电源供电,工作时功耗<120mW,待机时功耗<10μW。
javascript:window.open(this.src);" style="cursor:pointer;"/>
OV7620工作时序图如图2所示。其中,PCLK是图像传感器的像素时钟,HREF是行同步信号,Y和UV是图像数据信号,VSYNC是帧同步信号,FODD是奇偶场信号。
1.2 DSP控制系统
DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。本系统采用TI公司的DSP芯片TMS320F206进行数值计算和实施控制,采用40MHz有源晶振,经过分频后获得50ns的系统时钟周期。该芯片支持硬件等待状态,当BEADY引脚电平为低时,TMS320F206等待一个CLOCK1周期并再次检查READY,在READY被驱动至高电子以前,TMS320F206将不再继续执行。TMS320F206的工作时序图如图3所示。
1.3 系统的硬件电路
系统的硬件电路如图4所示。图像数据Y0~Y7通过74LS245输入到DSP的数据端口D0~D7;行同步信号HREF、帧同步信号VSYNC、时钟信号CLOCK、像素时钟PCLK分别接至相应引脚配合数据采集;键盘输入用来手动控制变焦倍率;DSP通过数据端口送出步进电机运转所需的三相六拍脉冲时序,经过74S245缓冲和MC1413功率放大后,驱动步进电机工作。
图3和图4
2 系统的软件设计
系统软件包括数据采集及处理、优化搜索算法、步进电机驱动和变焦跟踪等功能模块。系统软件流程图见图5。
2.1 数据采集和计算
系统上电复位后,先对系统初始化,包括对DSP芯片TMS320F206内的RAM区进行功能划分、定义程序中的变量、驱动聚焦镜头的电机复位、设置DSP芯片TMS320F206的输入输出端口、设置TMS320F206的等待状态等。
初始化工作完成后,系统进入数据采集和计算阶段,根据数字图像传感器提供的场同步、行同步和像素时钟等时序信号,可以方便地选取不同的对焦窗口采集数据。采集完成后,马上计算相邻像素的亮度差值的平方和,并保存到TMS320F206的RAM中。由于TMS320F206提供的重复执行指令极大地节约了运算时间,因此一行数据的差值运算根据采集窗口的不同可在一至两行的时间内完成。一帧图像的数据采集都完成后,将每一行像素的亮度差值平方和累加,就得到这一桢图像的调焦评价函数。将调焦评价函数的最大值及此时的步进电机行程记录下来。一帧图像的数据采集和计算处理结束后,步进电机以一个较大的步长定向前进,重复数据采集和计算的过程,直到步进电机走完规定的行程。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2.2 优化的搜索算法
本系统采用了一种优化的爬山搜索算法。控制策略为:先根据整个行程的调焦评价函数值,获得调焦评价函数与步进电机行程的关系曲线,从曲线上可以判断选择最大的步进电机步长。在判断选择时,既要保证不会错过调焦评价函数的最大值区域,同时又要满足以最少的步数走完全程。在获得全程最大调焦评价函数区域后,将步进电机步长减小,在最大值区域内进一步搜索更精确的对焦位置。采用这一策略,既不会发生误判或找不到对焦点的情况,又能以较快的速度进行对焦。软件设计为:电机驱动镜头从起始位置出发,先以等步长走一遍全程,记录下调焦评价函数最大值时的镜头位置,然后镜头回到调焦评价函数最大值位置的前一站,换用小步长,从调焦评价函数最大值位置的前一站走到最大值位置的后一站,记录下这一全程的调焦评价函数最大值时的镜头位置,如此反复搜索,最后镜头停止在调焦评价函数最大值处,使系统实现正确对焦。采用这一方法,既可以避免电机盲目反转,又能确保系统找到正确的对焦点,而且搜索历程短,有利于快速对焦。
3 自动对焦实验结果
在优化的爬山搜索算法中,选取最大步长要以调焦评价函数的变化趋势为依据。在本系统中选择最大步长为30H,这样总能测到一个最大值或两个次大值中的一个数据,在第二次搜索时就一定能找到调焦评价函数的最大值。