徐声海,柯 涛,张 恒,陆小凯
(1.海装上海局驻扬州地区军事代表室,江苏 扬州 225001;2.中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)
光电成像技术[1]利用光电转换和信号处理技术获取目标图像,然而光电成像没有目标的距离信息。从光电图像中提取出目标距离信息具有相当的复杂性和技术难度,目前通过图像估计目标距离的方法有被动对焦测距法[2]、被动散焦测距法[3-4]、基于光流的被动测距法[5-6]、基于序列图像特征提取的测距法[7-9]。被动对焦测距法要对物体拍摄大量的图像,因而难以进行实时测量。被动散焦测距法不仅受光学系统的干涉和衍射以及光学变形等因素的影响,而且散焦半径的测量误差较大,以及摄像机参数标定的准确性对测量误差也产生较大的影响,测量精度不高。
本文利用数据库技术提出了一种基于图像比例的目标距离提取方法。首先在光电上增加了一个与光电镜头中心对齐的标定矩形块,因此每张光电图像中都有一个标定矩形块图像。数据库中存储了目标在不同拍摄角度的真实面积,光电图像通过与数据库中取出的图片利用尺度不变特征变换(SIFT)匹配算法,得出目标当下角度的真实面积,进而利用光电成像中标定矩形块比例关系计算出目标的距离。
在光电设备正前面加一个标定目标矩形块,矩形块与光电镜头中心在一条线上对齐,并且矩形块垂直于镜头中心线,如图1所示。
光电设备前面标定目标面积为α,与镜头的距离为l1,光电焦距为f1。假设目标与光电镜头距离为l2,在光电设备中成像面积为β1,实际面积为β。目标距离获取模型如图2所示。
图1 光电设备
图2 目标距离获取模型
根据图2可知,标定矩形块的面积与光电成像中标定块成像面积之比为:
(1)
测试目标的实际面积与光电成像中目标面积之比为:
(2)
光电成像图像中标定矩形块的面积与测试目标图像中面积之比为:
(3)
根据式(1)、式(2)、式(3)可以推断出目标与光电设备的距离为:
(4)
最后根据光电设备观测的角度得出目标的实际距离:
(5)
数据库具有数据集中、独立、共享、减少数据冗余及统一的受保护的特点。目标特征库主要是存放待识别分类的样本目标特征信息。创建一个全面的样本特征库是非常重要的,它决定了最终识别结果的准确度。目前的识别算法都是通过先验的方式去识别目标,数据库的好坏将直接影响到查询的效率以及提取目标距离的实时性。目标特征数据库中存取了真实目标不同角度对应的真实面积统计值,每个目标按照每45°一张固定大小照片。这样数据库中每个目标对应有8张图片。每个图片对应的面积为水上部分面积。目标特征数据库包括环境数据表、渔船数据表、舰艇数据表。渔船数据表如表1所示。
表1 渔船目标特征数据库
表中的OrderNum为对应的序号,ID对应目标的名称,Path为存放相应图片的路径,Angle为对应目标不同的拍摄角度,Square为对应拍摄角度的真实面积。
SIFT算法是一种提取局部特征的算法[10],在尺度空间寻找极值点,提取位置、尺度、旋转不变量。算法的主要思想就是将图像之间的匹配转化成特征点向量之间的相似度量。首先,在尺度空间上提取稳定的带匹配特征(指能对图像的变化保持一定的鲁棒性,且当存在物体运动、遮挡以及噪声影响等情况下仍能保持较好匹配性的特征)并对其进行描述,然后,对生成的特征向量进行匹配。实现过程如图3所示[11]。
SIFT算法是通过查找不同尺度空间中特征点的过程实现的,SIFT算法实现图像配准主要分为3个步骤[12]:
(1) 提取特征点:首先构建一个尺度空间来模拟图像数据的多尺度特征;然后对DOG(Difference of Gaussian)尺度空间极值点进行检测,查找出图像中的特征点;最后,针对所找到的这些特征点进行筛选,并消除不好的特征点,其中包括低对比度和不稳定的边缘相应点。
(2) 生成特征点描述字:提取图像中的特征点并对其进行筛选之后,要赋予这些特征点信息,对特征点赋予的是一个有大小的方向矢量值。通过赋予特征点信息,可以得到特征点描述字,用于后续的图像配准工作。
(3) 根据特征点的匹配进行图像配准:赋予图像中的关键点信息之后,即可得到特征点描述字。通过这些描述字独有的信息,根据SIFT算法把图像与图像中的关键点描述字进行匹配。通过计算,若计算结果小于设定值,则2个特征点匹配成功。最终通过两两匹配的特征点描述字进行图像配准。
图3 SIFT算法框架
首先对获取的光电图像进行预处理,将光电图像变为灰度图像。灰度图像只有强度信息,没有颜色信息。将原始图像变为灰度图像可以减少目标的纬度信息,进而减小目标处理数据量。
然后通过直方图均衡化和邻域平均法进行图像增强,增加目标与背景的对比度。直方图均衡化增加图像像素值,对图像进行增强处理,通过直方图修正后,图像像素值在各个级别上都有分布,像素间的差距拉大,更容易表现图像细节。邻域平均法可以有效消除高斯噪声。
对于光电图像,我们只对光电设备中观测到的目标感兴趣,这些目标通常在图像中占据一定的区域,并且在某些特性(灰度、轮廓)上和周围的图像有差别。这些特性差别可能非常明显。图像识别的基础是图像分割,其作用是把反映目标真实情况、占据不同区域、具有不同特性的目标区分开来。图像在不同目标区域边缘的像素灰度值的变化往往比较剧烈,通过边缘的分割方法来解决图像分割。边缘是要提取目标和背景的边界线,提取出边缘才能将目标和背景区分开来。边缘检测的算子包括罗伯特(Roberts)边缘算子、索贝尔(Sobel)边缘算子、Prewitt边缘算子、拉普拉斯(Laplacian)算子以及坎尼(Canny)边缘算子。直线通常也会对应重要的边缘信息,Hough变换把直线上的点坐标变换到过点的直线系数域,巧妙利用了共线和直线相交的关系。本文通过索贝尔(Canny)边缘算子和Hough变换检测目标的边缘。
利用二值图像数据矩阵中各元素不同整数值进行图像的连通域选取,区分图像中的不同目标,在区分的同时标记各个分离的目标;然后对区分好的连通目标统计像素值的个数,进而得到标定矩形块的面积和不同目标的面积;通过图像中矩形块像素面积和不同目标像素面积计算得出图像中标定矩形块和不同目标的比值k。
将光电图像与目标特征库中的目标通过SHIT算法进行匹配,匹配成功后读取数据库中目标对应水上真实面积β,并根据已知标定矩形块的面积α、图像中像素面积比k,通过式(1)~(5)计算得出不同目标的距离信息。整个算法流程如图4所示。
图4 图像中目标距离获取
本文中标定矩形块的面积α=0.05×0.02=0.001 m2。标定矩形块与光电设备的距离l1=0.8 m。光电成像大小为1 024×1 024。焦距f1=12 mm~360 mm连续可变。数据库中存储光电图像大小为256×256,存储方式为灰度图像。光电图像为180×180。验证结果如图5~图11所示。
图5 光电原始图像
图6 光电图像灰度化
图7 光电图像增强
图8 光电图像边缘检测
从数据库中取出目标照片利用SIFT方法匹配,匹配成功为渔船。
图9 光电图像二值化
图10 光电图像匹配
图11 光电图像匹配
平均误差为:
本文利用数据库技术提出了一种基于图像比例的目标距离提取方法;通过对光电图像预处理、灰度变换、直方图均衡化以及图像边缘检测和图像分割得出不同目标的像素值以及标定矩形块的像素值;然后对光电图像目标与数据库中存储的目标通过SIFT方法匹配,通过匹配得出目标的实际面积;最后通过比例关系以及目标角度计算出目标距离。通过仿真验证了本方法的可行性,并且距离的误差在5%以下。