矿山井筒视频图像实时配准的改进Sift算法
2018-07-27白艳玲
白艳玲
(郑州铁路职业技术学院软件学院,河南郑州451460)
现阶段主要依靠人工方式检测和排除矿山井筒设施故障[1]。随着计算机图像处理技术的飞速发展,基于矿山井筒视频场景实时拼接的故障点智能检测技术日渐得到研究和应用[2]。为对矿山井筒故障进行有效检测,有必要首先对井筒视频图像进行精确配准[3-4]。目前,主要有基于灰度信息、基于优化策略、基于特征的图像配准算法,其中基于灰度信息的配准算法实现简单,但计算量巨大,对于非线性形变的井筒视频图像配准效果不理想;基于优化策略的配准算法可以对待搜寻区域的所有点进行搜寻,但计算量大;基于特征的配准算法尽管效果较好,但不具备旋转缩放不变特性[5-7]。Sift算法和Harris角点检测算法为2种典型的基于特征的配准算法。其中,Sift算法运算复杂、处理速度极慢,对于宽幅影像,难以进行处理或进行实时应用[8-9]。Harris角点检测算法由于计算简单,不易遭受光照、旋转、噪声影响,可以有效弥补Sift算法的不足[10]。因此,本研究对Sift算法进行适当改进,并用于井筒视频图像实时配准。
1 改进Sift算法
1.1 Sift算法配准原理
Sift算法作为一种以特征为基础的配准方法,包括特征点提取及精确定位、描述子生成及相似性度量匹配等步骤,具体实现流程如图1所示。
(1)特征点提取及精准定位。Sift算法采用高斯核函数实现图像尺度变化,计算图像与不同尺度空间的高斯差分图像形成DoG形式的金字塔结构[11-12]。对金字塔结构的尺度空间进行局部极值检测时,可将每个像素点与同一层相邻的8个像素点以及上下层18个相邻像素点进行比较,从而确定极值像素点。在尺度空间上,进行DoG算子的泰勒级数展开,进而对关键点的位置和尺度进行精确定位。
(2)构造描述子并进行特征匹配。为保证特征点满足旋转和缩放不变要求,采用每个关键点周围邻域的梯度模值及方向进行特征描述。即:首先对坐标轴进行旋转,依据关键点的方向、尺度以及位置,以特征点为中心,选取周围1个大小为16×16区域,将该区域划分为4个大小均等的小区域,并对每个小区域进行计算,形成梯度直方图。Sift算法一般采用最邻近距离法进行特征匹配,该方法根据最近邻特征点与次邻近特征点的欧氏距离比值实现特征点匹配,而后基于RANSAC算法提取匹配点,消除误匹配点,提高匹配精度。
1.2 Sift算法改进
为有效克服Sift算法的缺陷,本研究利用Harris角点检测方法对Sift算法进行改进,结合Forstner算子进行角点精确定位,并利用Ransac法和随机K-D树完成特征点匹配。
1.2.1 基于Harris角点检测的Sift算法改进
本研究采用多尺度Harris角点检测方法改进Sift算法,根据尺度信息的Harris角点并结合8邻域相似像素数目,在运算前剔除非角点;而后计算目标像素点与相邻8邻域内像素点灰度差绝对值,通过设定阈值,并与计算获得的灰度差绝对值进行比较,确定Harris角点。
1.2.2 基于Forstner算子的角点定位
Forstner算子具有精度高、运算速度快的特点,基本思想为获得候选点,以此为中心,构建最佳窗口,并对最佳窗口内通过每个像素的边缘直线进行加权中心化处理,从而进行精确定位。若基于Sift算法获得的角点满足Forstner算子的最佳窗口中心点要求,可将其作为最佳窗口中心点,并对其进行加权中心化处理和精确定位。最佳窗口内任一像素点(x,y)所在的边缘直线可表示为
式中,ρ为坐标原点(最佳窗口左上角的像素)与直线的垂直距离;θ为梯度角,θ=arctan(gxgy),gx、gy为像素点(x,y)的Robert梯度。
设角点坐标为(x0,y0),v为像素点(x,y)到直线的垂直距离,则像素点(x,y)处的误差方程为
将坐标原点到边缘直线的距离ρ视为观测值,边缘直线保持方向不改变,对上式法化,可得:
求解式(3),即可获得角点坐标(x0,y0)。
1.2.3 基于KD树算法的特征点搜索
对于Sift算法,特征描述完毕后,需要进行特征点匹配,即寻找到2幅影像中特征点之间的对应关系。由于Sift描述子具有高维特点,本研究采用随机KD树算法进行搜索,即首先生成m个具有不同结构的KD树,并在搜索阶段,基于统一优先队列,对多个随机KD树进行搜索,完成后获得初始最近邻候选点,并对所有候选点通过1个队列统一进行节点排序[11-12]。
1.2.4 参数求解
为满足图像旋转、平移、缩放变换等要求,本研究采用基于8参数的投影变换模型进行处理。图像投影变换含有8个未知参数,需要至少4对特征点构建方程组方可求解相关参数。为此,本研究首先采用RANSAC算法进行特征点提取,消除错误的匹配点;然后构建误差方程,基于最小二乘法进行参数求解。
2 试验分析
本研究井筒图像来源于山西潞安某煤矿视频监控系统,采用3组采样频率为150帧的图像进行算法测试。为确保图像旋转单一性以及稳定性,在矿山井筒视频图像采集过程中,相邻帧不具有旋转变化特征,仅在水平以及垂直位移方面产生微小尺度变化。为详细测试本研究改进Sift算法的性能,分别从匹配精度、功耗、耗时等方面与Sift算法进行对比分析。2种算法在CPU为2.4 G双核、内存为4 G的PC机程序上运行。相比于摄像机,矿山井筒内缆绳固定不动,故而本研究中缆绳匹配可忽略,试验结果见图2~图4以及表1~表3所示。
分析表1可知:试验次数一定时,Sift算法在匹配对数为125时,匹配准确率高达89%以上;匹配对数为70时,精确度最低,低于80%,不利于大范围应用;改进的Sift算法在匹配对数为70时,匹配精度最高,大于98%;匹配对数为125时,准确率最低,大于96%。
由表2可知:在相同试验次数条件下,Sift算法的匹配能耗最高为108 J,最低为74 J,整体均值约为87.8 J;改进Sift算法的匹配能耗最高为66 J,最低为60 J,整体均值约63.1 J。
由表3分析可知:5次试验中,采用Sift算法对3组图像进行匹配的平均耗时为5.6 s,采用改进Sift算法对3组图像进行匹配时,平均耗时仅为3.5 s。
3 结语
为实现矿山井筒图像实时精确配准,提出了一种改进型Sift配准算法,该算法以Harris角点检测代替Sift算法的极值检测部分,采用Forsnter算子对提取点进行精确定位,利用Sift算法的特征描述方式对提取点进行描述,并利用Ransac法和随机K-D树完成特征点匹配。试验表明,相对于Sift算法,改进Sift算法在匹配精度、匹配功耗、匹配耗时等方面均有一定的优势。