Visual Optical Flow Computing: Algorithms and Applications
-
摘要: 视觉光流计算是计算机视觉从处理2维图像走向加工3维视频的重要技术手段,是描述视觉运动信息的主要方式。光流计算技术已经发展了较长的时间,随着相关技术尤其是深度学习技术在近些年的迅速发展,光流计算的性能得到了极大提升,但仍然有大量的局限性问题没有解决,准确、快速且稳健的光流计算目前仍然是一个有挑战性的研究领域和业内研究热点。光流计算作为一种低层视觉信息处理技术,其技术进展也将有助于相关中高层级视觉任务的实现。该文主要内容是介绍基于计算机视觉的光流计算及其技术发展路线,从经典算法和深度学习算法这两个主流技术路线出发,总结了技术发展过程中产生的重要理论、方法与模型,着重介绍了各类方法与模型的核心思想,说明了各类数据集及相关性能指标,同时简要介绍了光流计算技术的主要应用场景,并对今后的技术方向进行了展望。Abstract: Visual optical flow calculation is an important technique for computer vision to move from processing 2D images to processing 3D videos, and is the main way of describing visual motion information. The optical flow calculation technique has been developed for a long time. With the rapid development of related technologies, especially deep learning technology in recent years, the performance of optical flow calculation has been greatly improved. However, there are still many limitations that have not been solved. Accurate, fast, and robust optical flow calculation is still a challenging research field and a hot topic in the industry. As a low-level visual information processing technology, the implementation of related high-level visual tasks will also be contributed by the technological advances of optical flow calculation. In this paper, the development path of optical flow calculation based on computer vision is mainly introduced. The important theories, methods, and models generated during the technological development process from the two mainstream technology paths of classical algorithms and deep learning algorithms are summarized, the core ideas of various methods and models are being introduced and the various datasets and performance indicators are explained, the main application scenarios of optical flow calculation technology are briefly introduced, and the future technical directions are also prospected.
-
Key words:
- Computer vision /
- Optical flow /
- Deep learning /
- Overview
-
1. 引言
雷达信号识别是雷达威胁告警(Radar Warning Receiver, RWR)、雷达支援侦察(Electronic Support Measurement, ESM)、雷达情报侦察(ELetronic INTelligence, ELINT)的重要内容,是雷达对抗首先要解决的关键性问题。正确识别雷达信号可以帮助己方对目标雷达类型、载体、用途、威胁等级的识别,进而影响进一步的作战决策[1]。
在过去十几年里,雷达信号识别受到了非常广泛的研究,纵观这些研究主要集中在筛选(提取)能有效表征辐射源信号特征,构建新的识别特征参数体系上。这些方法如果按处理对象的不同,可以粗略分成两条研究路线:一条是实数序列处理,另一条是符号序列的处理。尽管雷达信号的实数序列处理仍然是最主要的分析手段,并且得到非常多的研究成果[2–8]。但是,随着雷达信号的日益复杂,一些尝试从符号序列分析的角度进来挖掘雷达数据隐含信息的方法也受到关注[9–11],如文献[9]是在雷达信号符号化的基础上,提取了反映序列随机程度的信息熵进行雷达信号识别,并获得较好的性能;文献[11]进一步研究了对于相同雷达信号,不同调制参数的可分性。这些方法的都是在实数序列符号化的基础上进行特征提取,但是,所用的符号化方法过于简单,容易损失信号的大量信息导致提取的特征存在偏差。所以,选择一种重构误差较小的符号化方法是非常重要的。
纵观当前关于符号化方法的研究中,符号化聚合近似(Symbolic Aggregate approXimation, SAX)方法被认为是一种简单且非常有效的实数序列符号化的方法[12,13],它可以有效地降低序列的维度,同时能保留原始数据的大部分信息(重构误差小),并且具有一定的降噪能力,该方法已经在许多时间序列分析上得到应用。因此,在本文所提雷达信号识别框架中,首先使用SAX方法将雷达信号序列转化为符号化序列,再对符号化序列进行统计学分析。在对符号化序列的统计分析研究上,本文提出了一种基于信息理论的多尺度信息熵(Multi-Scale Information Entropy, MSIE)特征,该特征是多个字符集尺度下提取的信息熵集合,它反映了符号化序列在不同尺度上的复杂度特性。具体的提取方法将在第3节进行详细阐述。
本文的结构安排如下:第2节详细介绍SAX符号化方法的理论与方法,在此基础上,第3节给出多尺度信息熵的定义和提取方法,并且分析其抗噪性能;然后,在第4节对文中提出的雷达信号识别模型进行详细介绍。最后,在第5节进行仿真实验的设计和分析。
2. 实数序列符号化
面对越来越复杂的雷达信号数据,一些传统的实数序列处理方法受到了一定的挑战,因此,一些学者尝试从另一种途径来处理这些复杂数据的分析问题,即实数序列符号化。实数序列符号化具有下列两个优势[14]:
(1) 序列的符号化是一个对原始数据“粗粒化”的过程,它可以去除数据无关紧要的非本质特征,留下数据关键的特征信息;
(2) 符号化序列在计算速度上具有很大的优势。
实数序列符号化的关键问题是如何选取合适的符号化策略,但是目前并没有一个指导性的结论。目前,普遍认为SAX方法是一种非常有效的符号化方法,因此,本文选用该方法对雷达信号序列进行符号化处理。下面对SAX方进行详细描述。
2.1 分段聚集近似算法
SAX方法是实数序列符号化的一个经典算法,是由文献[15]在分段聚集近似(Piecewise Aggregate Approximation, PAA)算法的基础上提出的。PAA算法是一种数据的重表达方法,它能基本保留数据原有形状,并且算法时间复杂度低,因此,PAA算法被广泛应用在时间序列分析问题上。经典的PAA算法可以描述如下:
将一个长度为n的序列
Q={qi,i=1,2,···,n} 映射到m维空间P={pi,i=1,2,···,m} ,序列P的第i个元素可以通过式(1)计算pi=mnn/mi∑j=n/m(i−1)+1qj,1≤i≤m (1) 式(1)可以简单描述为,序列Q被分成m个大小相等的“段”,然后计算每一个“段”的均值来构建新的序列P。从式(1)可以发现,n需要满足m的整数倍。然而,现实情况很难满足数据可分的情况,所以,当
n/m 不是整数时可以进行如下操作[12]:当
1<i<m 时pi=mn((1−ci−1)qt(i−1)+t(i−1)+b(i)∑j=t(i−1)+1qj+ciqt(i−1)+b(i)+1) (2) 假设
F(∙) 为对数值“∙ ”取整数部分的函数,则式(2)中,t(i)=t(i−1)+b(i−1)+1 ,并且令t(1)=a+1 ,其中a=F(n/m) ,另外,b(i)=F(n/m+ci−1−1) 。所以,当i=1 或i=m 时pi={mn(a∑j=1qj+c1qa+1),i=1mn(cmqn−a+n∑j=n−a+1qj),i=m (3) 其中,序列
{ci,i=1,2,···,m} 是数据点的权值,并且c1=cm=G(n/m) ,G(∙) 是对数值“∙ ”取小数部分的函数。同时,式(2)和式(3)满足每一个“段”的数据权值之和等于n/m 。为了更形象地描述上面的公式,下面列举一个简单的示例:假设要将序列{k,k=1,2,···,12} 划分成包含5个数值的新序列,记为{si,i=1,2,···,5} ,因为G(12/5)=2/5 ,所以,当i=1 ,i=5 时,s1=(1+2+(2/5)3) (5/12)=1.75 ,s5=((2/5)10+11+12)(5/12)= 11.25。当1<i<5 时,s2=((3/5)3+4+(4/5)5) (5/12)≈4.08 ,s3=((1/5)5+6+7+(1/5)8)(5/12) =6.5 ,s4=((4/5)8+9+(3/5)10)(5/12)≈8.92 。通过上面的计算,可以获得一个新序列
{1.754.086.58.9211.25} 。新序列的每一个元素都包含原始序列12/5=2.4 个数据点,这样就解决了序列不可分的问题。2.2 SAX符号化方法
直接根据实数序列的数值特点进行符号划分是最常见的符号化方法,最常用的是静态划分方法,它需要先选定一个大小为k的字符集,假设为
{12···k} ,然后根据式(4)可以将时间序列Q={qi,i=1,2,···,n} 符号化为符号序列S={si,i=1,2,···,w} ,其中w≪n ,从而实现数据的降维。si={1,−∞<qi<β12,β1≤qi<β2⋮k,βk<qi<+∞ (4) 其中,
{β1β2···βk} 是对原始序列Q进行空间划分的断点集合。实数序列符号化的关键在于如何确定这一断点集合。通行的方法有等区间法和等概率法,SAX采用等概率法获得不同的分区,从信息论的角度来说,等概率法有利于保留数据的有效信息。SAX具体的算法可以简单描述为:在假设时间序列满足正态分布的条件下,(1)对时间序列标准化,将一般正态分布的序列转变为标准正态分布;(2)对标准化的时间序列用PAA算法进行分段划分,这里需要设置参数w大小,表示划分后序列的维数;(3)根据设定的符号集大小(参数a),查询等概率断点表(表1给出了参数a在3~8之间的断点划分)确定断点集合,最后完成时间序列的符号化。
表 1 参数a从3~8的等概率断点查询表[12]断点(βi) 字符集大小(a) 3 4 5 6 7 8 β1 0.43 0.67 0.84 0.97 1.07 1.15 β2 0.43 0 0.25 0.43 0.57 0.67 β3 – 0.67 0.25 0 0.18 0.32 β4 – – 0.84 0.43 0.18 0 β5 – – – 0.97 0.57 0.32 β6 – – – – 1.07 0.67 β7 – – – – – 1.15 图1是6类常见雷达信号(包括具有恒定频率的常规信号(CP)、线性调频信号(LFM)、二相编码信号(BPSK)、二进制频率编码信号(2FSK)、非线性调制信号(NLFM)和COSTAS编码信号)的SAX符号化示例。其中,字符集大小a=5;符号化后的维度w=25。从图1可以看出,不同调制类型的雷达信号,它的符号化序列有明显区别,因此,在这些符号化序列的基础上提取的统计特征具有良好的类别可分性。
3. 多尺度信息熵的特征提取
统计不同字符在符号序列中出现的相对频率是分析符号化序列常见方法,一种被广泛应用的频率统计方法是修正的信息熵,它定义为[9]
H=−1lg(ns)ns∑i=1pilg(pi) (5) 其中,
pi 是第i个字符出现的概率,实际中可以用频率来近似,即si/N (si 是第i个字符出现的个数;N 是符号化序列的长度);ns 是符号化序列中出现的不同字符集大小。修正的信息熵刻画了离散数据的随机程度,对于完全随机的序列,修正信息熵为1,而对于不完全随机的序列,它的修正信息熵在0~1之间。在修正信息熵的基础上,本文提出了一种多尺度信息熵(Multi-Scale Information Entropy, MSIE)的提取方法,用于描述符号化序列在不同字符集尺度上的无规则程度。因此,字符集大小为j的修正信息熵定义为
Hj=−1lg(j)nj∑i=1εj,ilg(εj,i),j=a1,a2,···,am (6) 式(6)中,
εj,i 是在该尺度下第i个字符出现的概率;a1 和am 分别是字符集大小的下界和上界,m为字符集大小区间。令T为多尺度信息熵向量,选定一个字符集大小区间,假设为
{a1a2···am} ,则T 的计算方法如下:(1) 对于一个实数序列
Q={qi,i=1,2,···,n} ,采用SAX对其进行符号化,可以得到m个符号化序列,记为{St,t=1,2,···,m} ;(2) 对每一个符号化序列
St 依据式(6)计算其在第t个字符集尺度下的修正信息熵,得到m个不同字符集尺度下的修正信息熵,级联这些值所组成的特征向量称为多尺度信息熵,记为T={Ha1,Ha2,···Ham} 。对于SAX符号化方法,如果对超参数a和w设置合适的值,符号化后的序列可以很好地保留原序列的结构信息,同时摒弃一些细微的信息。因此,SAX方法本身存在一定的降噪能力,在此基础上,提取的统计量参数(修正的信息熵)也就具一定的抗噪性能。
为了更好地说明多尺度信息熵的抗噪性能,下面用文献[9]中的仿真信号来分析不同字符集大小下的修正信息熵的抗噪性能,该仿真信号为
S1(t)=2sin(30πt)+sin(150πt)+5cos(21.6πt) (7) 图2信号S1在不同字符集尺度(a在3~6之间)下的信息熵与信噪比(Signal to Noise Ratio, SNR)的关系图。其中,SNR在–10~20 dB范围内。从图2中可看出,随着SNR的升高,信息熵的值趋于稳定,在SNR>0 dB时,信息熵的值基本保持不变,所以,信息熵具有较好的抗噪性能。因此,多尺度信息熵也就具有较强的抗噪性能。
4. 雷达信号识别模型
综合上面分析和介绍,本文提出了如图3的雷达信号识别方法。其中,数据预处理阶段主要对信号进行消噪处理。考虑到不同调制类型的雷达信号在频率域有不同的幅度谱,同时,在频率域进行特征提取可以削弱载频变化的影响[16],本文以雷达信号的频率域序列作为处理对象。在频率域,由于有用信息的能量集中在较窄的频带范围,而噪声能量分布在整个频带上,所以可以按式(8)对信号序列进行消噪处理。令原始雷达信号序列为
{ri,i=1,2,···,n} ,并假设消噪后的信号序列为{fi,i=1,2,···,n} ,则移动平均滤波的计算公式为fi=ri+ri+1+···+ri+d−1d (8) 其中,d表示移动窗口大小。由于雷达信号的幅度谱是对称的,所以可以只取左边的幅度谱。
在选择分类算法的问题上,考虑到k-NN算法具有实现简单,易于理解,且对于特征维数较低的多分类问题通常具有较好的性能。因此,选用k-NN算法作为信号的分类器,该算法的具体实现步骤如下:
步骤 1 给定一个未知的实数序列Q,计算Q和数据库(训练集)中所有样本的相似度,通常采用欧式距离作为相似性度量方法;
步骤 2 寻找k个和Q最为相似的样本,作为未知对象Q的k个近邻;
步骤 3 在这k个近邻中出现次数最多的类别即为对象Q的类别。
但是,k-NN算法也面临k值选择的问题,如果k值过大,对于不平衡数据集的分类性能较差;而当k值过小时,算法对噪声较为敏感。根据以往的实验经验,在接下来的仿真实验中,设置超参数k=1。
另外,需要注意的是,使用SAX符号化方法需要确定符号集的大小a和符号化后的维数w的值,然而,目前没有这方面的理论研究,尽管文献[12]给出了参数a的经验性选择范围,但是实际应用中还需要根据不同的数据集进行考虑。一般来说,两个超参数都可以通过交叉验证来选择。
5. 仿真实验
通过仿真6类常见的辐射源信号来验证本文方法的有效性,包括CP, LFM, BPSK, BFSK, NLFM和COSTAS编码信号。BPSK和BFSK采用13位Barker码,BFSK信号的两个频点分别为10 MHz和12 MHz; LFM的频率变化范围是10~15 MHz; NLFM采用正弦波调制。并且,各辐射源信号的载频为10 MHz,采样频率为60 MHz,脉宽为10 μs。同时,考虑到实际情况中存在的测量误差,在仿真信号时将载频的均方根误差设置为1 MHz;将脉宽的均方根误差设置为1 μs。
仿真下列一组数据进行测试:在20~25 dB的信噪比范围内,每种信号样式随机产生20个脉冲信号,总计120个脉冲信号作为模型的训练样本。同时,分别在5 dB, 10 dB, 15 dB, 20 dB信噪比下各仿真1200个脉冲信号作为测试样本,每一信号样式各200个脉冲。实验中的信号附加的噪声为高斯白噪声。本次实验是在Matlab R2010b平台下完成的。
根据第3节介绍的方法对上面仿真的雷达信号提取多尺度信息熵(设置a的范围为3~9;w=140),该特征是一个7维的向量,为了便于观察多维数据集的分布情况,这里采用文献[17]提出的t-分布式随机邻域嵌入(t-distributed Stochastic Neighbor Embedding, t-SNE)方法进行数据可视化,将7维的数据映射到2维空间中。图4是在信噪比为5~20 dB范围内6类雷达信号数据的分布图,从图中可以看出,除了BPSK信号和BFSK信号出现小部分重叠无法分开外,多尺度信息熵的类间分离性较好,具有较好的类别可分性,因此,采用k-NN(k =1)分类器可以获得良好的性能。
表2是本文所提方法的识别结果,从表中可以看出,在信噪比为15 dB时,6类信号的识别正确率都达到90%以上,说明了本文方法的有效性。另外,从图中还可以看出,CP, LFM, BPSK, NLFM和COSTAS信号在信噪比为5 dB时,仍保持98%以上的正确识别率,这是因为这5类雷达信号的幅度谱明显不同,符号化后提取的多尺度信息熵就具有较好的类别可分性。
表 2 不同SNR下6种雷达信号的识别率雷达信号 信噪比SNR (dB) 20 15 10 5 LFM 1.000 1.000 1.000 0.985 CP 1.000 1.000 1.000 1.000 BPSK 0.975 0.990 0.990 1.000 BFSK 0.930 0.910 0.800 0.700 NLFM 1.000 1.000 1.000 1.000 COSTAS 1.000 1.000 1.000 1.000 为了圈定本文所提方法的适用范围,需要进一步增加实验进行对比。因此,为上述6类雷达信号增加2种雷达信号,包括四相编码信号(QPSK)和Chirp子脉冲步进频率信号(CSF)。其中,QPSK采用16位Frank码调制。8类信号在20 dB信噪比下仿真800个样本,每类信号包含100个脉冲作为测试集,在20~25 dB的信噪比范围内,每种信号样式随机产生20个脉冲信号,总计180个脉冲信号作为模型的训练样本,实验中用交叉验证选择字符集大小a=11,以及符号化后的维度w=160。考虑到QPSK信号和BPSK信号的幅度谱较为相似,因此,理论上这两种信号提取的多尺度信息熵存在部分重叠,分类器将难以区分这两类信号,从图5中的混淆矩阵也可以明显看出,QPSK和BPSK的区分度较差。
传统的方法可以较好地区分BPSK与QPSK两种信号,但是一般需要将雷达信号转换到时-频域上提取特征,而大多数基于时-频变换方法或多或少的存在问题[16],并且受噪声的影响严重,容易导致时-频信号失真,而傅里叶变换能获得稳定的频率域序列。另外,基于时-频变换方法的时间复杂度通常要高于傅里叶变换算法。这里选择一种经典的时-频域特征—小波脊频级联特征(Wavelet Ridge Frequency Cascade-Connection Feature, WRFCCF)[16]进行实验对比,该特征是一个7维的特征向量,其中每个特征是雷达信号在时-频域上的统计量。首先,对提取WRFCCF和MSIE所耗费的时间进行对比,实验采用上述的100个训练样本进行实验,结果重复10次取平均(如表3所示)。从表中可以看出,提取WRFCCF所耗费的时间要远远高于提取多尺度信息熵的时间。
表 3 提取两种特征耗费的时间对比特征向量 耗费时间(s) WRFCCF 135.102 MSIE 1.704 使用小波脊频级联特征,并选择k-NN分类器,可以得到如图6的混淆矩阵。从图中可以看出,WRFCCF能有效的区分BPSK, QPSK两种信号,但是对于其它调制类型的雷达信号,如图6中的CP、BFSK的区分度较差,而从图5可知,本文所提方法除了BPSK, QPSK外,其它信号的识别率基本上达到了100%(如表4,本文方法获得更好的总体识别率),这是因为多尺度信息熵是描述雷达信号的幅度谱的结构形态,当雷达信号的幅度谱存在较弱相似性的情况下,可以获得好的识别性能。
表 4 两种方法的总体识别正确率比较(%)识别方法 总体识别率 WRFCCF+k-NN 92.13 MSIE+k-NN 95.63 多尺度信息熵是一种典型的频率域特征,这里选择两种经典的频率域特征进行识别性能的比较,包括文献[2]提出的盒维数和稀疏性,以及文献[9]提出的信息熵特征。盒维数和稀疏性这两个复杂度特征(complexity characteristics)与信息熵类似,是从不同层面来描述信号的结构。同样采用t-SNE方法对数据进行可视化,图7是在信噪比为5~20 dB范围内6类基于复杂度的雷数据分布图,显然,复杂度特征的类间分离性较差,分布图中有许多数据出现重叠。
在测试特征的识别性能之前,首先对特征提取算法的计算量进行对比。提取盒维数特征时,需要计算序列的绝对值差分,所以算法的执行次数
fb(n)=N+(N+1)/2 ,其中,N是序列的长度;提取稀疏性特征时,首先需要先对序列进行二进制符号化,将序列划分为L个长度为N0 的子序列,统计窗内序列中“1”元素的占比,最后求和。所以,该算法的执行次数fs(n)=N+LN0 。假设样本集的大小为M,则复杂度特征提取算法的时间复杂度为T(n)=O(M(fb(n)+fs(n)))=O(M(N+(N+1)/2+N+LN0))=O(MN)。 (9) SAX是在PAA的基础上进行符号化,而且容易知道PAA算法的时间复杂度为
O(L1) ,其中L1 是算法划分的段数。另外,修正信息熵是统计不同字符出现的相对频率,因此,它的时间复杂度也为O(L1) 。所以,多尺度信息熵的时间复杂度为T(n)=O(cML1) ,其中,c是字符集尺度的取值范围,实际情况中通常较小,可以认为cL1≈N ,则多尺度信息熵的时间复杂度约等于O(MN) 。另外,由文献[9]中关于信息熵的提取算法,可知其时间复杂度为O(MN) 。通过上面的分析可知,3种特征具有相同的时间复杂度,能在合理的时间内提取特征。表5分别是3种方法在5 dB, 10 dB, 15 dB, 20 dB信噪比下的总体识别正确率。为了便于描述,这里将本文所提方法表述为“MSIE+k-NN”;将文献[2]提出的方法表述为“CC+k-NN”;将文献[9]提出的方法表述为“SIE+k-NN”。3种方法的总体识别率如表所示,从表中可以容易看出,本文方法相比两种经典的频率域特征具有更好的识别正确率。
表 5 3种方法的总体识别正确率比较(%)识别方法 信噪比SNR(dB) 20 15 10 5 MSIE+k-NN 98.42 97.25 94.25 91.25 CC+k-NN 80.25 73.08 54.33 <50 SIE+k-NN 81.42 79.08 71.25 62.92 6. 结论
本文提出了一种基于多尺度信息熵的雷达信号识别方法,能够较好地对雷达信号进行识别。本文方法将信号从实数域映射到符号域,去除信号中的细微特征的同时保留其结构特征,从而提取具有较好抗噪性能的特征。通过仿真实验表明,本文方法在雷达信号的幅度谱存在较弱相似性的情况下,具有很好的识别率,并且优于传统的基于复杂度特征的识别方法,说明了本文方法具有一定的参考价值。
-
图 1 传统框架与PWC-Net框架图对比图(图片改绘自文献[10])
图 2 RATF模型框架图(图片改绘自文献[13])
图 3 GMFlow的框架图(图片改绘自文献[18])
图 4 光流SLAM效果图(图片出自文献[43])
表 1 光流估计监督模型汇总
年份 模型名称 主要问题方向 突出特点 2015 FlowNet[6] 表明端到端的CNN可以做光流估计 Encoder-decoder结构 2016 PatchBatch[15] 利用CNN提取高维特征做描述符计算匹配然后用Epic Flow(经典算法)稠密插值 使用STD结构
用CNN提取高维描述符FlowNet2.0[9] 相较FlowNet提高了光流精度 对CNN结构组合进行探索 2017 DCFlow[7] 提高了光流精度 提出4D 代价体以及CTF结构范式 2018 PWC-Net[10] 相较FlowNet2.0减少了模型参数
提高了光流精度
提高了光流实时性融合了特征金字塔
使用了扭曲(warp)层
以及标准CTF框架LiteFlowNet[11] 相较FlowNet2.0减少了网络参数 提出了对特征层
使用扭曲(warp)
结合残差网络减少参数数量
提出了级联流推断结构2019 IRR-PWC[12] 相较PWC-Net减少参数数量,提高了精度 提出了轻量化的迭代残差细化模块
可集合遮挡预测模块提高预测精度2020 RAFT[13] 在CTF后处理阶段使用GRU结构进行处理,可以有效使用上下文信息进行更新
保持模型参数情况下,有效提高了精度和处理速度使用GRU处理4D 代价体 2021 GMA[19] 通过互相关技术构建了Global Motion Aggregation(GMA)模块
优化了遮挡处理应用互相关技术
提高了遮挡下模型的性能SCV[20] 减少了4D 代价体的计算量
提高了计算速度与精度通过KNN建立稀疏的4D 代价体
通过多尺度位移编码器得到稠密的光流2022 AGFlow[21] 对场景整体运动的理解
遮挡问题结合运动信息与上下文信息
结合图神经网络自适应图推理模块进行光流估计GMFLowNet[22] 优化了大位移问题
优化了边缘在RAFT基础上融合了基于attention机制的匹配模块 GMFlow[18] 基于attention技术优化了代价体与卷积固有的局部相关性限制
优化了大位移基于transformer架构
采用全局匹配表 2 光流估计自监督模型汇总
年份 模型名称 主要问题方向 突出特点 2016 MIND[23] 自监督学习可以有效学习前后两帧之间的关联关系,并用于初始化光流计算 自监督
端到端Unsupervised
FlowNet[24]得到与FlowNet近似的精度自监督模型 借鉴传统能量优化中的光度损失和平滑损失
训练自监督模型2017 DFDFlow[26] 提高了精度 利用全卷积的DenseNet自监督巡训练
端到端UnFlow[25] 提高了精度 交换前后两帧顺序
对误差进行学习2018 Unsupervised
OAFlow[31]精度超越部分监督模型
优化遮挡问题设计的对遮挡的mask层屏蔽错误匹配 2019 DDFlow[26] 优化遮挡问题 采用知识蒸馏,老师网络类似UnFlow
学生网络增加针对遮挡的lossSelFlow[27] 提高抗遮挡能力 基于PWC-Net框架
利用超像素分割随机遮挡增强数据UFlow[28] 分析了之前自监督光流各个组件的性能以及优化组合
提高了光流估计精度提出的改进方法是代价体归一化、用于遮挡估计的梯度停止、在本地流分辨率下应用平滑性,以及用于自我监督的图像大小调整 2021 UPflow[29] 提高了精度
优化了边缘细节用CNN改进了基于双线性插值的coarse to fine方法
金字塔蒸馏损失SMURF[30] 提高精度超过PWC-Net和FlowNet2
RAFT自监督实现基于RAFT模型
full-image warping预测真外运动
多帧自我监督,以改善遮挡区域2022 SEBFlow[32] 基于事件摄像机的自监督方法 采用新传感器 表 3 光流估计模型评估公开数据集
名称 年份 特点 评价指标 KITTI2012[34] 2012 EPE,AEPE,fps,AE,AAE KITTI2015[35] 2015 真实驾驶场景测量数据集,其中 2012 测试图像集仅包含静止背景,2015 测试图像集则采用动态背景,显著增强了测试图像集的光流估计难度 异常光流占的百分比(Fl )
背景区域异常光流占的百分比(bg)
前景区域异常光流占的百分比(fg)
异常光流占所有标签的百分比(all)MPI-Sintel[36] 2012 使用开源动画电影《Sintel》由开源软件动画制作软件blender渲染出的合成数据集,场景效果可控,光流值准确。数据集仅截取部分典型场景,分为Sintel Clean和Sintel Final两组,其中Clean 数据集包含大位移、弱纹理、非刚性,大形变等困难场景,以测试光流计算模型的准确性; Final数据集通过添加运动模糊、雾化效果以及图像噪声使其更加贴近于现实场景,用于测试光流估计的可靠性 整幅图像上的端点误差(EPE,AEPE)
相邻帧中可见区域的端点误差(EPE -matched)
相邻帧中不可见区域的端点误差(EPE -unmatched)
距离最近遮挡边缘在 0~10 像素的端点误差(d0-10 )
速度在 0~10 像素的帧区域端点误差(s0-10)
速度在 10~40 像素的帧区域端点误差(s10-40)FlyingChairs[6] 2015 合成椅子与随机背景的组合的场景,利用仿射变换模拟运动场景,FlowNet基于此合成数据集训练 EPE,AEPE,fps,AE,AAE Scene Flow Datasets[38] 2016 包涵Driving、Monkaa、FlyingThings3D 3个数据集,其中FlyingThings3D组合不同物体与背景,模拟真实3维空间运动,以及动画Driving, Monkaa共同构成此数据集。此合成数据集除光流外还提供场景流 EPE,AEPE,fps,AE,AAE HD1K[39] 2016 城市自动驾驶真实数据集,涵盖了以前没有的、具有挑战性的情况,如光线不足或下雨,并带有像素级的不确定性 EPE,AEPE,fps,AE,AAE AutoFlow[40] 2021 基于学习的自动化数据集生成工具,由可学习的超参数控制数据集的生成,提供包括准确光流、数据增强、跨数据集泛化能力等,可以极大提高模型训练效果 在训练时使用本数据集,测试时利用其他数据集进行测试,评价指标同测试数据集 SHIFT[41] 2022 目前最大合成数据集包含了雾天、雨天、一天的时间、车辆人群的密集和离散,且具有全面的传感器套件和注释,可以提供连续域数据 EPE,AEPE,fps,AE,AAE 表 4 部分模型在Sintel及KITTI数据集上的性能(截至2023年3月)
模型名称 MPI Sintel
Clean(EPE-ALL)MPI Sintel
Clean排名MPI Sintel
Final(EPE-ALL)MPI Sintel
Final排名KITTI 2012
(Avg-All)KITTI
排名GMFlow+ 1.028 2 2.367 18 1.0 1 RATF 1.609 57 2.855 61 – – SMURF 3.152 143 4.183 121 1.4 20 PWC-Net 4.386 256 5.042 184 1.7 39 -
[1] HORN B and SCHUNCK B G. Determining optical flow[C]. SPIE 0281, Techniques and Applications of Image Understanding, Washington, USA, 1981. [2] LUCAS B D and KANADE T. An iterative image registration technique with an application to stereo vision[C]. The 7th International Joint Conference on Artificial Intelligence, Vancouver, Canada, 1981: 674–679. [3] BOUGUET J Y. Pyramidal implementation of the lucas kanade feature tracker. Intel Corporation, Microprocessor Research Labs, 1999. [4] BERTSEKAS D P. Constrained Optimization and Lagrange Multiplier Methods[M]. Boston: Academic Press, 1982: 724. [5] SONG Xiaojing. A Kalman filter-integrated optical flow method for velocity sensing of mobile robots[J]. Journal of Intelligent & Robotic Systems, 2014, 77(1): 13–26. [6] DOSOVITSKIY A, FISCHER P, ILG E, et al. FlowNet: Learning optical flow with convolutional networks[C]. 2015 IEEE International Conference on Computer Vision (ICCV), Santiago, Chile, 2015: 2758–2766. [7] XU Jia, RANFTL R, and KOLTUN V. Accurate optical flow via direct cost volume processing[C]. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, USA, 2017: 5807–5815. [8] CHEN Qifeng and KOLTUN V. Full flow: Optical flow estimation by global optimization over regular grids[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, USA, 2016: 4706–4714. [9] ILG E, MAYER N, SAIKIA T, et al. FlowNet 2.0: Evolution of optical flow estimation with deep networks[C]. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, USA, 2017: 1647–1655. [10] SUN Deqing, YANG Xiaodong, LIU Mingyu, et al. PWC-Net: CNNs for optical flow using pyramid, warping, and cost volume[C]. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, USA, 2018: 8934–8943. [11] HUI T W, TANG Xiaoou, and LOY C C. LiteFlowNet: A lightweight convolutional neural network for optical flow estimation[C]. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, USA, 2018: 8981–8989. [12] HUR J and ROTH S. Iterative residual refinement for joint optical flow and occlusion estimation[C]. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, USA, 2019: 5747–5756. [13] TEED Z and DENG Jia. RAFT: Recurrent all-pairs field transforms for optical flow[C]. 16th European Conference on Computer Vision, Glasgow, UK, 2020: 402–419. [14] REVAUD J, WEINZAEPFEL P, HARCHAOUI Z, et al. EpicFlow: Edge-preserving interpolation of correspondences for optical flow[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition, Boston, USA, 2015: 1164–1172. [15] GADOT D and WOLF L. PatchBatch: A batch augmented loss for optical flow[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, USA, 2016: 4236–4245. [16] THEWLIS J, ZHENG Shuai, TORR P H S, et al. Fully-trainable deep matching[C]. Proceedings of the British Machine Vision Conference 2016, York, UK, 2016. [17] WANNENWETSCH A S and ROTH S. Probabilistic pixel-adaptive refinement networks[C]. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, USA, 2020: 11639–11648. [18] XU Haofei, ZHANG Jing, CAI Jianfei, et al. GMFlow: Learning optical flow via global matching[C]. 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, USA, 2022: 8111–8120. [19] JIANG Shihao, CAMPBELL D, LU Yao, et al. Learning to estimate hidden motions with global motion aggregation[C]. 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, Canada, 2021: 9752–9761. [20] JIANG Shihao, LU Yao, LI Hongdong, et al. Learning optical flow from a few matches[C]. 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Nashville, USA, 2021: 16587–16595. [21] LUO Ao, YANG Fan, LUO Kunming, et al. Learning optical flow with adaptive graph reasoning[C]. Thirty-Sixth AAAI Conference on Artificial Intelligence, Vancouver Canada, 2021. [22] ZHAO Shiyu, ZHAO Long, ZHANG Zhixing, et al. Global matching with overlapping attention for optical flow estimation[C]. 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, USA, 2022: 17571–17580. [23] LONG Gucan, KNEIP L, ALVAREZ J M, et al. Learning image matching by simply watching video[C]. 14th European Conference on Computer Vision, Amsterdam, The Netherlands, 2016: 434–450. [24] YU J J, HARLEY A W, and DERPANIS K G. Back to basics: Unsupervised learning of optical flow via brightness constancy and motion smoothness[C]. European Conference on Computer Vision, Amsterdam, The Netherlands, 2016: 3–10. [25] MEISTER S, HUR J, and ROTH S. UnFlow: Unsupervised learning of optical flow with a bidirectional census loss[C]. Thirty-Sixth AAAI Conference on Artificial Intelligence, New Orleans, USA, 2018. [26] LIU Pengpeng, KING I, LYU M R, et al. DDFlow: Learning optical flow with unlabeled data distillation[C]. Thirty-Sixth AAAI Conference on Artificial Intelligence, Honolulu, USA, 2019: 8770–8777. [27] LIU Pengpeng, LYU M, KING I, et al. SelFlow: Self-supervised learning of optical flow[C]. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, USA, 2019: 4566–4575. [28] JONSCHKOWSKI R, STONE A, BARRON J T, et al. What matters in unsupervised optical flow[C]. 16th European Conference on Computer Vision, Glasgow, UK, 2020: 557–572. [29] LUO Kunming, WANG Chuan, LIU Shuaicheng, et al. UPFlow: Upsampling pyramid for unsupervised optical flow learning[C]. 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Nashville, USA, 2021: 1045–1054. [30] STONE A, MAURER D, AYVACI A, et al. SMURF: Self-teaching multi-frame unsupervised RAFT with full-image warping[C]. 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Nashville, USA, 2021: 3886–3895. [31] WANG Yang, YANG Yi, YANG Zhenheng, et al. Occlusion aware unsupervised learning of optical flow[C]. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, USA, 2018: 4884–4893. [32] SHIBA S, AOKI Y, and GALLEGO G. Secrets of event-based optical flow[C]. 17th European Conference on Computer Vision, Tel Aviv, Israel, 2022. [33] LAI Weisheng, HUANG Jiabin, and YANG M H. Semi-supervised learning for optical flow with generative adversarial networks[C]. The 31st International Conference on Neural Information Processing Systems, Long Beach, USA, 2018: 892–896. [34] GEIGER A, LENZ P, and URTASUN R. Are we ready for autonomous driving? The KITTI vision benchmark suite[C]. 2012 IEEE Conference on Computer Vision and Pattern Recognition, Providence, USA, 2012: 3354–3361. [35] KENNEDY R and TAYLOR C J. Optical flow with geometric occlusion estimation and fusion of multiple frames[C]. The 10th International Workshop on Energy Minimization Methods in Computer Vision and Pattern Recognition, Hong Kong, China, 2015: 364–377. [36] BUTLER D J, WULFF J, STANLEY G B, et al. A naturalistic open source movie for optical flow evaluation[C]. The 12th European Conference on Computer Vision, Florence, Italy, 2012: 611–625. [37] MAYER N, ILG E, HÄUSSER P, et al. A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation[C]. The 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, USA, 2016: 4040–4048. [38] SCHRÖDER G, SENST T, BOCHINSKI E, et al. Optical flow dataset and benchmark for visual crowd analysis[C]. 2018 15th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS), Auckland, New Zealand, 2018: 1–6. [39] KONDERMANN D, NAIR R, HONAUER K, et al. The HCI benchmark suite: Stereo and flow ground truth with uncertainties for urban autonomous driving[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), Las Vegas, USA, 2016: 19–28. [40] SUN Deqing, VLASIC D, HERRMANN C, et al. AutoFlow: Learning a better training set for optical flow[C]. 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Nashville, USA, 2021: 10088–10097. [41] SUN Tao, SEGU M, POSTELS J, et al. SHIFT: A synthetic driving dataset for continuous multi-task domain adaptation[C]. 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, USA, 2022: 21339–21350. [42] KALAL Z, MIKOLAJCZYK K, and MATAS J. Tracking-learning-detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(7): 1409–1422. doi: 10.1109/TPAMI.2011.239 [43] YE Weicai, YU Xingyuan, LAN Xinyue, et al. DeFlowSLAM: Self-supervised scene motion decomposition for dynamic dense SLAM[EB/OL]. https://arxiv.org/abs/2207.08794, 2022. [44] SANES J R and MASLAND R H. The types of retinal ganglion cells: Current status and implications for neuronal classification[J]. Annual Review of Neuroscience, 2015, 38(1): 221–246. doi: 10.1146/annurev-neuro-071714-034120 [45] GALLETTI C and FATTORI P. The dorsal visual stream revisited: Stable circuits or dynamic pathways?[J]. Cortex, 2018, 98: 203–217. doi: 10.1016/j.cortex.2017.01.009 [46] WEI Wei. Neural mechanisms of motion processing in the mammalian retina[J]. Annual Review of Vision Science, 2018, 4: 165–192. doi: 10.1146/annurev-vision-091517-034048 [47] ROSSI L F, HARRIS K D, and CARANDINI M. Spatial connectivity matches direction selectivity in visual cortex[J]. Nature, 2020, 588(7839): 648–652. doi: 10.1038/s41586-020-2894-4 -