APP下载

基于RANSAC和互信息的图像配准算法及其硬件实现

2022-06-23闫立兵宋剑波杨一帆闫超奇

电光与控制 2022年6期
关键词:实时性图像特征

毛 鑫, 闫立兵, 宋剑波, 杨一帆, 李 岩, 闫超奇

(1.中国航空工业集团公司洛阳电光设备研究所,河南 洛阳 471000;2.陆装驻洛阳地区航空军事代表室,河南 洛阳 471000; 3.北京航空航天大学,北京 102000)

0 引言

为了能够使光电设备高清晰度地全天候工作,往往需要多路异源视频(如可见光与红外)进行图像融合,利用不同的成像优势进行互补[1]。然而,用于融合的两路异源视频输入往往会因为光学系统和空间位置的差异而造成两路图像存在视差,进而造成图像融合时出现虚边、伪影问题。因此,图像融合的前提条件是进行高精度的图像配准,图像配准就是找到浮动图像到参考图像间的位置映射关系,对两幅图像间由视差造成的空间位置和图像位置不对应的点进行校正。图像配准的准确度将在很大程度上影响图像融合的效果。

从20世纪70年代发展至今,图像配准领域涌现出大量行之有效的算法。针对异源图像配准问题,2017年,杨欢等[2]在SURF特征基础上提出了改进的SURF算法用于可见光与红外的异源图像配准,提升了配准精度,在一定程度上缩短了计算时间;2021年,刘鹏南等[3]提出了一种基于尺度不变特征变换的异源图像配准方法,获取的图像特征更为稳定可靠;深度学习是目前图像处理算法的主流趋势,2020年,魏少玮[4]针对基于深度学习的异源图像配准进行多方面研究,提出了一系列优化策略,弥补了特征表征能力不足的问题,但也带来了更大的计算量。纵观当前算法,其普遍存在的问题是无法实现配准精度与配准实时性的统一。

下面,将首先介绍本文提出的图像配准算法,接着将阐述本文算法在嵌入式平台上的移植及测试。

1 背景

1.1 RANSAC算法

随机抽样一致性(RANSAC)算法[5-6]可用于剔除不准确的匹配点,效果稳定可靠,其利用多次迭代的方式来拟合一个最优化数学模型。RANSAC算法数据拟合模型见图1。

图1 RANSAC算法数据拟合模型

在图1(a)中,数据包含噪声点和能形成一条直线的数据点,首先选取数据集合中不共线的4个点,计算其模型矩阵,并同时设定一个误差阈值,算法将在误差阈值范围内将数据点归为待拟合直线中的点(称为内点),误差阈值范围外的数据点归为待拟合直线外的点(称为外点),之后通过不断迭代拟合直线的数据点,直到数量最多并保持不变,拟合出的直线如图1(b)所示。

1.2 互信息

互信息[7]是信息论中的一个基本概念,其用于表征两个系统之间的统计相关性,或者说在一个系统中包含另一个系统信息量的多少,互信息可以用熵来表示。假设某一个随机现象共有n种可能,它们发生的概率分别是p1,p2,…,pn,则Shannon熵定义为

(1)

则两个系统的互信息为

I(A,B)=H(A)+H(B)-H(A,B)=

H(A)-H(A|B)=H(B)-H(B|A)

(2)

式中:H(A)和H(B)分别是系统A和系统B的熵;H(A,B)是A和B的联合熵;H(A|B)和H(B|A)分别表示已知系统B时A的条件熵和已知系统A时B的条件熵。

2 本文算法

针对当前异源图像配准算法难以实现精度和实时性两全的问题,本文提出了一种综合利用RANSAC和最大互信息的图像配准算法,并通过提出相关加速策略进一步提升算法实时性,最终可实现在嵌入式平台下的实时、准确图像配准。

2.1 算法整体架构

本文算法整体上分为初始配准和实时配准两个阶段,算法流程如图2所示。

图2 算法流程图

本文之所以将算法划分为两部分,主要是出于对配准效果和配准实时性的综合考量。

初始配准算法采用RANSAC方法,用于对图像的缩放尺度和旋转角度进行配准,计算比较耗时,同时,一般认为视频在后续采集过程中尺度和角度的变换关系是保持不变的,不必每帧都进行尺度和角度的配准,因此,初始配准算法仅用于对视频初始帧进行处理,之后将保存的变换参数应用到后续帧中。

实时配准算法采用最大互信息方法,用于对图像进行平移参数的配准,该算法计算速度较快,而且在视频后续采集过程中平移参数时常会发生变化,因此,实时配准算法将对后续每一帧进行运算,实时更新平移配准参数,最终将实时配准参数与初始配准参数进行合并得到完整的配准参数。

2.2 基于RANSAC的图像初始配准算法

本文提出的基于RANSAC的图像初始配准算法主要包含如下几个步骤。

1)分别对可见光和红外图像利用Canny算子进行边缘提取,这是因为异源图像的亮度信息相差较大,直接提取出的特征几乎难以匹配,因此需要先进行边缘提取。

2)对两路图像的边缘图提取SURF特征[7]进行边缘特征点聚合。先生成SURF特征向量,两路图像中关键点相似性度量的依据采用特征向量的欧氏距离,具体地,通过K-d树得到一个特征点到最近邻特征点的距离dND,这一特征点到次近邻特征点的距离为dNND,若dND/dNND小于设定阈值(本文设定为0.7),则认为该匹配点对有效并保留,否则剔除,由此实现了两幅图像间粗略的特征点匹配。

3)在对SURF特征点粗匹配的基础上,本文采用RANSAC算法调整特征集,进一步剔除错误的匹配点对,具体步骤为:

① 从SURF特征点粗匹配结果中随机抽取3对点建立方程组求解仿射变换矩阵;

② 利用①中求解的仿射变换矩阵计算剩余的匹配点变换后的对应匹配点,并求二者之间的距离;

③ 若②中计算的距离小于给定的阈值,则将其定为内点,否则为外点,并统计在此仿射变换矩阵下的内点数;

④ 重复①~③多次,选择具有最多内点的点的集合作为内点,并通过最小二乘法利用这些内点计算最优化的仿射变换矩阵。

2.3 基于最大互信息的图像实时配准算法

异源图像配准中,两路视频输入源自不同类型的相机,但是二者具有相同的信息基础,所以当两路视频中当前图像的空间位置相同时,其中一幅图像中表达的关于另一幅图像的信息(即对应像素点的灰度值)的互信息应为最大。令图像A和B(系统A和B)的互信息为I(A,B),则

(3)

式中,

(4)

(5)

(6)

pAB(a,b)是系统A和系统B的联合概率分布,hab(a,b)表示同一灰度级值对出现的次数。将式(4)~(6)代入式(3)中整理得到

(7)

两路视频偏差越大时互信息越小,反之,位移量越小时互信息越大,因此,对于两路待配准图像,本文遍历计算其在水平和垂直方向上不同大小位移量时的互信息值,取互信息值最大时的水平和垂直位移量即为实时配准结果。

为了提高图像配准实时性,本文采用Powell优化算法[8]搜索最大互信息值。Powell算法的实现步骤如下:

1)确定允许误差ε(ε>0),初始点x(0)和n个线性无关的方向d(1,1),d(1,2),…,d(1,n),置k=1;

2)置x(k,0)=x(k-1),从x(k,0)出发,依次沿着d(k,1),d(k,2),…,d(k,n)进行一维搜索,得到点χ(k,1),χ(k,2),…,χ(k,n),再从χ(k,n)出发,沿着方向d(k,n+1)=x(k,n)-x(k,0)做一维线性搜索,得到点x(k);

3)若||

x(k)-x(k-1)||

<ε,则停止搜索,得到点x(k),否则,置d(k+1,j)=d(k,j+1),j=1,2,…,n,k=k+1,返回2)。

本文基于最大互信息的图像实时配准算法流程如图3所示。

图3 基于最大互信息的图像实时配准算法流程图

由于实时配准阶段只需要对图像进行平移变换配准,同时设定配准参数取值范围为[-5,+5](单位为像素,下同),出于对配准速度和精度的考量,本文直接采用“十”字遍历法来寻找图像最大互信息值及其对应位置,具体步骤如下。

1)设定初始位置点X0=[0 0]代表浮动图像(红外图像)相对于参考图像(可见光图像)的水平平移量和垂直平移量。给定两个线性无关的方向向量dx=[1 0],dy=[1 0]分别代表浮动图像相对于参考图像的水平平移方向和垂直平移方向。

2)从X0=[0 0]出发,先沿着dx方向在[-5,+5]的搜索范围内完成一次水平方向的一维搜索,并根据每次搜索的位置(即水平平移参数)对浮动图像进行相应的变换,变换之后计算两幅图像间的互信息值。

3)在水平搜索范围[-5,+5]内查找互信息的最大值和与最大值对应的位置点Xmax x=[Dx0]。

4)从Xmax x=[Dx0]出发,先沿着dy方向在搜索范围[-5,+5]内完成垂直方向的一维搜索,根据每次搜索的位置(即垂直平移参数)对浮动图像进行变换,然后计算两幅图像之间的互信息值。

5)在垂直搜索范围[-5,+5]内查找互信息的最大值和与最大值对应的位置点Xmax=[DxDy],即为最终配准参数。

2.4 本文算法的硬件实现

采用FPGA+ARM架构的Zynq硬件平台实现本文算法。Zynq芯片的型号为xczu15eg-ffvb1156-2-i,本文配准算法在其ARM端进行运算,FPGA端根据ARM计算出的配准参数,对浮动图像进行仿射变换操作(即旋转、缩放和平移),以此实现对两路视频的配准,同时,FPGA端还负责进行视频输入输出通路搭建以及后期的图像融合工作。

基于Zynq的图像配准硬件系统架构如图4所示。红外视频和可见光视频首先分别通过视频解码芯片输入到Zynq芯片的FPGA端;接着经过Video In to AXI4-Stream模块将视频数据和同步信号转为AXI4-Stream格式,并经由VDMA模块将AXI4-Stream格式的视频数据保存到ARM端的DDR中;在ARM端中对输入的两路视频图像应用本文算法进行配准运算,计算得到的配准参数(缩放倍数、旋转角度和平移位移)通过AXI GPIO模块从ARM端实时传递到FPGA端,在FPGA端根据配准参数对浮动图像进行仿射变换操作;最后在FPGA端将可见光视频图像与仿射变换后的红外视频图像进行融合,通过AXI4-Stream to Video Out模块将AXI4-Stream格式数据转化为带有同步信号的视频,并通过视频编码模块进行编码输出。

图4 基于Zynq的图像配准硬件系统整体架构

图像仿射变化是一种计算量较大的操作,若放在ARM端直接进行操作势必影响整体算法的实时性,本文将这一处理转移到FPGA端,充分发挥其流水线优化和并行加速的优势进行硬件算法加速,可将仿射变换的延时降低,充分保证配准实时性。

3 实验结果分析对比

3.1 定性分析

本节的实验环境是实际场景,利用已经初步校准光轴的两路相机进行视频采集,经过2.4节搭建的硬件系统,利用本文算法对配准运算后的图像进行融合,最终将融合后的图像输出。本文算法可实现对同源图像和异源图像的实时、精确配准。

本文以两路可见光相机采集的图像进行同源实验测试,硬件平台输出视频结果如图5所示。

图5 同源图像配准实验结果对比

本文以一路微光相机和一路红外相机采集的图像进行异源实验测试,硬件平台输出视频结果见图6。

图6 异源图像配准实验结果对比

经过上述实验测试可以看出,本文算法可以对同源或异源视频图像从缩放、旋转、平移3个维度进行高精度的图像配准,配准效果较好。

3.2 定量分析

首先对图像配准质量进行定量计算。选用两幅已配准的图像,对其中一幅图像偏移指定的参数,之后进行定量实验并将实验结果与偏移参数进行对比,结果如表1所示。

表1 定量分析

根据上述定量测试结果可以看出,本文算法的配准误差很小,可以作为一种有效的图像配准算法。

本文算法的着重点在于对算法实时性的优化,下面将从实时性角度进行实验测试,选用两路分辨率均为1080像素的相机进行视频采集,通过本文搭建的硬件平台进行实时配准处理,其中几帧的配准计算时间如表2所示。

表2 计算时间

在表2中,由于初始配准参数计算仅在第一帧时进行,后期将保持计算参数不变,因此不影响算法的整体实时性,所以表中配准参数计算仅包含实时配准参数计算。由表2可见,ARM端负责计算配准参数的延时以及FPGA端加速的图像仿射变换的延时综合为处理一帧图像的总时间,根据实验测试可得,对一帧图像进行配准运算的延时在30 ms上下,延时较低,符合整体硬件系统实时性要求。

下面从实时性角度将本文算法与SURF,AIR-net,FCN和GMI算法进行定量对比,对比环境为PC机的仿真实验环境,结果如表3所示。

表3 各种算法的实时性定量对比

在上述5种算法对比中,本文算法耗时最短,实时性最强,更利于在嵌入式平台上进行部署,实现高实时性的嵌入式图像配准系统。

4 结束语

本文提出了一种基于RANSAC和最大互信息的图像配准算法,其中,RANSAC方法用于初始配准过程,负责进行图像缩放和旋转配准,最大互信息方法用于图像实时配准过程,负责进行图像平移配准,由此最大程度地确保了配准过程的实时性,实现了配准精度和配准速度的综合考量。

在此基础上,将本文算法进行了基于Zynq架构嵌入式硬件平台的移植以及算法硬件加速,移植后的算法可实现相同的配准精度,可对同源或异源视频输入实现高实时性的图像配准处理。

猜你喜欢

实时性图像特征
离散型随机变量的分布列与数字特征
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
抓特征解方程组
不忠诚的四个特征
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于B/S的实时用户行为检测管理系统设计与实现
名人语录的极简图像表达
趣味数独等4则