王竑舒,徐熙平
(长春理工大学 光电工程学院,长春 130022)
超广角相机和全景相机在生活中的应用越来越多,涉及VR、无人机、监控、汽车影像等多个行业[1],对图像质量测试方法和测试设备都提出了很多新的挑战,广角相机镜头的调焦也变得更加重要。在固定焦距的广角镜头和传感器的组装过程中,需对广角镜头进行调焦后胶合。然而对于视场角大的广角摄像头,常用的方法只能实现图像中心的调焦,在实际中图像四周可能还是模糊的,为了解决这一问题,采用图像处理的方法对广角成像进行清晰度成像判断,对相机的成像通过清晰评价函数计算,判断图像清晰度是否达到要求,并根据调焦搜索算法控制调焦机构,直到调焦评价函数结果达到极值[2],完成自动调焦过程,整体流程如图1所示。
图1 自动调焦流程图
通过对图2所示的6003A-JT相机在基于图3的实验平台环境下采集到的图像中的测试卡进行轮廓提取,结合 Brenner,SMD,Energy,Tengengrad,SMD2,Laplacia这六种算法进行研究,通过评价值判断图像清晰度的是否与人眼感官一致,并与原始图像清晰度评价结果进行对比,在保持清晰度评价结果正确的基础上降低了评价函数的运行时间。
图2 6003A-JT相机
传统调焦评价函数对图像中的所有像素进行评价,适用于普遍场景,但并不是所有像素都具有评价的价值,选择正确的调焦窗口能有效减少背景区域参加计算像素,提高系统调焦的实时性。由于广角相机图像的特殊性,在暗箱内对顶部固定的测试卡片进行图像采集,所采用的摄像头录入图像如图4所示,可以看出在图像中有明显的类似圆形的轮廓,在圆形外的图像即背景区域灰度值变化不大,图像中心的测试卡与背景区域具有较大的灰度差值,提取图像中心测试卡与上边、右边的测试卡进行单独判断是提高所采用摄像头图像评价的关键所在。轮廓广泛的应用于目标检测、目标识别、特征提取、图像分割[3-4]等方面,而提取所需的对焦窗口正是由轮廓提取技术结合图像掩膜技术完成的。
图3 实验平台
图像的边缘的矢量对象包括幅度和方向两种,在一定的条件下边缘可能包含了图像的全部信息,它通常存在于图像灰度值变化剧烈的位置,表现为局部灰度值发生间断不连续,所以可以通过这个物理过程,可以利用图像的灰度分布图来反映产生的灰度变化的部分,从而找到图像灰度变化率最大的位置,可以用于图像的分割和特征提取。
图4 摄像头录入的图片
通过上述理论,就图像的水平和垂直方向进行一阶或者二阶求导可以得到图像的边缘。目前有很多一阶和二阶求导的边缘检测算子,在众多的算子中,Sobel算子因为运算时间短,边缘检测准确等优点得到了广泛的应用[5],因此选用Sobel算子进行边缘检测。首先选取阈值对梯度图进行处理,将图像的边缘与背景进行简单分离,只有超过阈值的梯度才会被认为是有效梯度,阈值T可采用Otsu分割算法求解,为了增强边缘区域与图像背景的对比度,对图像进行阈值处理转变为一幅二值图如图5所示。其中f(x,y)表示与输入图像f对应的像素(x,y)的灰度值,然后,使用Sobel算子获得边缘检测后的图像,如图6所示,其在检测边缘处灰度值为1,其余位置处值为0。
图5 二值图像
图6 边缘检测后的图像
图像掩膜[6]的处理过程或得到图像的区域是由事先选择好的图像、几何体或对象对原始图像进行遮挡而得到的。从图4中能看出采集卡的轮廓面积周长明显大于周围的干扰因素,因此选择面积判断作为感兴趣区域将采集卡从干扰因素中提取出来,根据掩膜的原理,将中心测试卡与上边、右边的测试卡作为模板,与图2进行矩阵相乘,使模板区域内部的值与模板一致,屏蔽区域外的图像,得到图7所示图像中心区域及周边需要评价的图像。
图7 对焦窗口提取结果
传统的无参考对象的图像清晰度评价方式有以下四种:(1)基于空域的评价方式:通过计算图像像素之间的梯度信息进行评价;(2)基于频域的评价方式:通过计算图像的频域上信息来计算图像的质量(3)基于信息熵的评价方式;(4)基于统计学的评价方式[7-9]。设当前像素点为(x,y),则(x,y)的邻域为:
通过文献阅读选用对以下六种评价函数对提取的采集卡进行编程并评价分析。
Brenner梯度函数计算相邻两个像素点差值的平方,仅计算一个方向上梯度值。所以通过平方进行边缘的增强,它是最简单的梯度清晰度评价函数,定义如下:
图像清晰度的最终结果是用式子中的E(f)显现出来的,计算出的E(f)值越大代表图像越清晰(下同)。
Tenengrad函数不单单考虑了水平方向上的梯度信息,同时也考虑了垂直方向上的梯度信息,Tenengrad梯度清晰度函数的定义如下:
即采用了Sobel模板对当前像素点上进行卷积运算,Sx,Sy分别为水平和垂直方向模板:
Laplacian梯度函数定义如下:
Laplacian梯度函数与Tenengrad梯度函数的定义相似,用模板L如下对图像进行卷积。
当图像处于聚焦位置时,可以将灰度变换作为依据调焦评价的依据,是因为越清晰的图像所包含的高频分量越多,相对离焦图像具有更大的灰度差异,SMD函数定义如下:
灰度方差函数只是进行图像像素的加减运算,相对其它函数,运算量较低。
灰度方差评价函数具有很好的计算效率,但聚焦精度不高。李郁峰、陈念年[8]提出了一种利用相邻像素在水平和垂直方向的上差分乘积对图像进行评价,灰度乘积函数的定义如下:
能量梯度评价函数通过计算水平方向和垂直方向上相邻的两个像素的灰度梯度平方值来进行评价,平方运算突出了较大梯度点的作用,适用于图像清晰度的实时评价。能量梯度清晰度函数定义下:
实验采用6003A-JT工业CMOS相机进行图像的采集,视场角为190°,双通道图像垂直分辨率1520,从离焦-聚焦-离焦过程中,采集得到的一系列图像,图7列出的是某次实验的28帧中的部分图像,图8是图7相对应进行调焦窗口提取后的图片,观察图像序列图像,可估计到最清晰图片位于13帧-17帧之间。
图7 28幅图片中的部分原图
图8 28幅图片中对焦窗口提取部分图片
在Windows平台下,VC++进行程序编写,对28幅序列图像应用以上叙述的6种评价函数实验验证,其中图像的评价测试值越高,代表图像越清晰。根据人眼可观察到图6中图像的清晰度顺序:第17帧>第15帧>第22帧>第6帧>第1帧>第28帧,如表1所示Brenner,SMD(灰度方差),Energy(能量梯度)算法对图像的评价结果与人眼的感官一致。Tengengrad,SMD2算法在对第28帧和第1帧评价出现了错误,这两幅图片的图像质量都非常模糊。Laplacia算法在对第15帧和第17帧图像与人眼观察不同,这两个图片质量非常接近,通过人眼很难进行分辨分辨,通过算法确定更加科学有效。同时,说明不同算法结果有所差异。
如表1,2所示,广角相机图像对轮廓提取后的图片与原图的测试结果进行比较,通过数据可以看到,在评价结果相同的条件下,通过调焦窗口提取的检测方法有效地减少了参与计算的像素值。通过分析表1,3可以得出,Brenner评价函数不具有较高的聚焦精度且具有更低的时间复杂度。单幅图片评价平均速度大约7ms左右,实时性更高,能满足实际应用要求。
基于图像处理的自动调焦技术以其实时性好,调焦精度高的优点成为了成像系统领域的热门研究对象,其中清晰度评价函数是其重要环节。通过研究结果表明对轮廓提取后的测试卡图像进行清晰度评价,在确保准确判断图像清晰度的同时降低了时间复杂度,结果显示,Brenner函数评价结果最佳并与主观感受结果相符,最适合广角相机成像系统的图像清晰度要求,能够高效得到清晰度评价值,并且指导完成自动对焦功能。
表1 对焦窗口图像评价函数测试值
表2 原图像评价函数测试值
表3 对28副图像进行评价所需全部时间(单位:ms)