CN115210758A - 运动模糊稳健的图像特征匹配 - Google Patents
运动模糊稳健的图像特征匹配 Download PDFInfo
- Publication number
- CN115210758A CN115210758A CN202180015780.5A CN202180015780A CN115210758A CN 115210758 A CN115210758 A CN 115210758A CN 202180015780 A CN202180015780 A CN 202180015780A CN 115210758 A CN115210758 A CN 115210758A
- Authority
- CN
- China
- Prior art keywords
- image
- motion
- descriptor
- keypoints
- descriptors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开公开了用于图像处理的方法、计算机系统和计算机存储介质。在一些实施例中,为在不同时间段期间采集的图像中的关键点计算描述子。训练好的人工神经网络被用于基于描述图像传感器在这些时间段期间的运动的运动描述子,将计算出的描述子转换成转换后描述子。
Description
背景技术
增强现实(AR)技术将虚拟内容叠加在用户对真实世界的视图上。随着AR软件开发工具包(SDK)的发展,手机产业中智能手机AR已经变成主流。AR SDK通常提供六个自由度(6DoF)的跟踪能力。用户可使用智能手机的摄像头扫描环境,而智能手机则实时执行视觉惯性测距(VIO)。一旦摄像头的姿态(pose)被连续跟踪,虚拟物体就能被放置到AR场景中,以创造一种真实物体和虚拟物体融合在一起的错觉。
关键点(或“兴趣点”)是图像中的一个点。与图像中的其他点不同,关键点有一个定义明确的空间位置,或以其他方式定位在图像中,并在局部变化和全局变化(例如,尺度变化,光照变化等)下保持稳定。关键点描述子可被定义为一个多元素向量。该多元素向量(通常是在尺度空间中)描述了图像中的关键点的邻域。关键点描述子框架的例子包括尺度不变特征变换(SIFT)、加速稳健特征(SURF)和二进制稳健恒定可扩展关键点(BRISK)。图像特征可被定义为关键点和对应的关键点描述子。
在不同图像之间(例如,在视频序列的不同帧之间)进行特征匹配是许多图像处理应用的一个重要组成部分。在图像传感器移动时所采集的图像可具有明显的运动模糊或动态模糊。因为大多数广泛使用的图像特征的描述对运动模糊非常敏感,所以当从具有不同运动模糊的图像中提取特征时,特征匹配不太可能成功。因此,本领域需要改进执行特征匹配的方法。
发明内容
本公开大体涉及与图像处理有关的方法和系统。更具体地,本公开的实施例提供用于在增强现实应用中执行特征匹配的方法和系统。本公开的实施例适用于增强现实和基于计算机的显示系统中的各种应用。
根据一般配置的图像处理方法包括:计算第一图像中的关键点的描述子,第一图像由图像传感器在第一时间段期间采集,其中,第一运动描述子描述图像传感器在第一时间段期间的运动;计算第二图像中的关键点的描述子,第二图像由图像传感器在第二时间段期间采集,第二时间段与第一时间段不同,其中,第二运动描述子描述图像传感器在第二时间段期间的运动;基于第一运动描述子和第二运动描述子,使用训练好的人工神经网络,将用于第一图像中的关键点的计算出的描述子转换成转换后描述子;以及比较转换后描述子与用于第二图像中的关键点的计算出的描述子。
根据另一一般配置的计算机系统包括一个或多个存储器,存储器配置成存储第一图像和第二图像。第一图像由图像传感器在第一时间段期间采集。第二图像由图像传感器在第二时间段期间。第二时间段不同于第一时间段。该计算机系统还包括一个或多个处理器。一个或多个存储器还配置成存储计算机可读指令,计算机可读指令在被一个或多个处理器执行时,将计算机系统配置成:计算用于第一图像中的关键点的描述子,其中,第一运动描述子描述图像传感器在第一时间段期间的运动;计算用于第二图像中的关键点的描述子,其中,第二运动描述子描述图像传感器在第二时间段期间的运动;基于第一运动描述子和第二运动描述子,使用训练好的人工神经网络,将用于第一图像中的关键点的计算出的描述子转换成转换后描述子;以及比较转换后描述子与用于第二图像中的关键点的计算出的描述子。
根据又一一般配置的一个或多个非瞬态计算机存储介质存储指令。该指令在计算机系统上执行时,导致计算机系统执行如下操作:选择第一图像中的关键点,第一图像由图像传感器在第一时间段期间采集,其中,第一运动描述子描述图像传感器在第一时间段期间的运动;计算用于第一图像中所选择的关键点的对应描述子;选择第二图像中的关键点,第二图像由图像传感器在第二时间段期间采集,第二时间段与第一时间段不同,其中,第二运动描述子描述图像传感器在第二时间段期间的运动;计算用于第二图像中所选择的关键点的对应描述子;基于第一运动描述子和第二运动描述子,使用训练好的人工神经网络,将用于第一图像中的选择的关键点的计算出的描述子转换成转换后描述子;以及比较转换后描述子与用于第二图像中的选择的关键点的计算出的描述子。
与传统技术相比,通过本公开的方式可获得许多好处。例如,本公开的实施例涉及的方法和系统,利用深度学习网络作为关键点描述子运动模糊转换器或作为关键点描述子比较模块,以解决摄像头帧中存在不同运动模糊时图像特征匹配的挑战。例如,本公开的实施例可用于改善AR/VR应用中的定位和映射性能。此外,当从在不同图像运动情况下拍摄的摄像头帧中提取特征时,本公开的实施例可提高特征匹配精度。因此,当设备正在进行快速运动时,SLAM计算可更准确且更稳定。这是因为以前被浪费的一个或多个模糊摄像头帧现在可被有效用于定位和映射估计。因此,本公开的实施例避免了现有方法的缺点,例如在小幅运动或图像被类似运动模糊时,匹配精度较低的缺点。本公开的这些和其他实施例及其许多优点和特征将结合以下文字和附图进行更详细的描述。
附图说明
图1示出根据本公开一实施例的关键点描述子转换器的简化示意图。
图2示出根据本公开一实施例的图像处理方法的简化流程图。
图3A示出根据本公开一实施例的图像的例子。
图3B示出根据本公开一实施例在图3A中示出的图像的关键点的例子。
图4示出根据本公开一实施例执行图像处理的方法的简化流程图。
图5示出六自由度(6DOF)的示例。
图6示出根据本公开一实施例的简化流程图,其示出生成用于网络训练的训练数据的方法。
图7示出根据本公开一实施例的简化流程图,其示出训练ANN的方法。
图8示出根据本公开一实施例的装置的简化框图。
图9示出根据本公开一实施例的简化流程图,其示出使用关键点描述子比较模块执行特征匹配的方法。
图10示出根据本公开一实施例的计算机系统的框图。
具体实施方式
在下文中,将描述各种实施例。为便于解释,列出了具体的配置和细节,以提供对实施例的全面理解。然而,对于本领域技术人员来说,也可以明显看出,这些实施例可以在没有这些具体细节的情况下进行实施。此外,众所周知的特征可以被省略或简化,以便不模糊正在描述的实施例。
许多应用在很大程度上依赖于图像特征匹配的性能。这类应用可包括图像对齐(例如,图像拼接、图像配准、全景拼接)、三维(3D)重建(例如,立体视觉)、索引和内容检索、运动跟踪、物体识别以及许多其他应用。
许多增强现实或虚拟现实(AR/VR)应用的一个基本要求是确定设备在三维空间中的位置和定向。这类应用可以使用同步定位和映射(SLAM)算法来确定设备的实时位置和定向,并推断出设备操作时所处环境(或“场景”)的结构。在SLAM应用的一个例子中,来自设备摄像头的视频序列帧被输入到执行SLAM算法的模块。从帧中提取特征并在不同帧之间匹配特征,且SLAM算法搜索与被采集场景中的相同地点(spot)对应的匹配特征。通过跟踪特征在不同帧中的位置,SLAM模块可确定图像传感器在场景内的运动,并推断出场景的主要结构。
在传统特征匹配中,关键点检测是在多个图像中的每一个(例如,在视频序列的每一帧上)上执行的,并且为每一个检测到的关键点从其邻域(通常在尺度空间中)计算出对应的关键点描述子。每个图像中检测到的关键点的数量通常至少为几十,且可多达五百或更多。从其中计算关键点描述子的邻域通常具有围绕关键点的大约十五个像素的半径。如图1所示,来自第一图像I0(例如,视频序列中的一帧)的关键点描述子f0和来自第二图像I1(例如,视频序列中的不同帧,例如序列中的连续帧)的关键点描述子f1用于计算匹配分数。分数指标通常是在描述子空间中关键点描述子f0和f1之间的距离d(f0,f1),例如根据以下任何一种示例距离指标的距离。对于来自两个图像的不同的关键点描述子对,重复这种分数计算,并对所得分数进行阈值处理,以识别匹配特征:例如,确定当前的关键点描述子对是否匹配以及因此来自两个图像的对应特征是否匹配。在典型的SLAM应用中,一对匹配特征对应于物理环境中的一个点,且这种对应指向一个数学约束。SLAM计算的随后阶段可以推导出摄像头运动和环境模型,作为满足多种约束的最佳解决方案。该多种约束包括由匹配特征对生成的约束。
可用于匹配分数计算的距离指标的例子包括欧几里得距离、城市街区距离、卡方距离、余弦距离和闵可夫斯基距离。假设f0和f1是n维向量,使得f0=x0,1,x0,2,x0,3,...,x0,n,而f1=x1,1,x1,2,x1,3,...,x1,n,,则在f0和f1之间的距离d(f0,f1)可根据这些距离指标以如下方式确定:
对所得分数进行阈值处理,以根据例如下文的步骤,确定是否可以执行对应特征匹配:
如果(d(f0,f1)<T){
f0和f1匹配
}否则{
f0和f1不匹配
},
其中T表示阈值。
AR/VR设备的例子包括移动电话和头戴式设备(例如,AR或“智能”眼镜)。鉴于AR/VR设备的性质,许多视频帧是在图像传感器(例如,视频摄像头)移动时采集的。因此,所采集的帧可具有明显的运动模糊。如果图像传感器在采集图像I0期间的运动与在采集图像I1期间的运动相同,并且每个描述子f0和f1都对应于两个图像中的同一个关键点,那么描述子f0和f1的值常常相似,使得计算出来的在它们之间的距离很小。然而,在AR/VR的实际应用中,图像传感器在采集每张图像时通常会经历不同的运动,因此描述子f0和f1可能会被不同的运动模糊所扭曲。不幸的是,几乎所有广泛使用的图像特征(如SIFT、SURF、BRISK)都对运动模糊非常敏感,使得任何显著的运动模糊(例如,五个或更多像素的模糊)都可能导致关键点描述子失真。因此,即使描述子f0和f1对应于同一个关键点,描述子f0和f1的值也可能差异很大。当从具有不同运动模糊的图像中提取这类特征,并使用上述分数指标时,特征匹配很可能会失败。
对于图像传感器可能处于运动中的许多应用(例如,AR/VR应用),有可能在每个采集间隔期间对图像运动进行量化。运动方向和大小可以从设备的一个或多个运动传感器的输入来估计,和/或例如可以从视频序列中的两个时间相邻帧计算出来。运动传感器(可包括一个或多个陀螺仪、加速计和/或磁力计)可指示设备的位移和/或方向变化,并可在惯性测量单元(IMU)内实现。
应对运动模糊的技术的例子可包括以下内容:
1)不进行匹配:由于模糊图像中的图像特征的匹配如此不可靠,一种潜在解决方案是,至少在具有显著且不同运动模糊的图像对之间完全放弃图像特征匹配。
2)首先对图像进行去模糊处理:在图像被用于特征提取之前,执行去模糊处理,以去除图像中的运动模糊。
3)在计算关键点描述子时补偿运动模糊:在计算关键点描述子时,使用对图像运动的估计来补偿运动模糊的影响。这种方法与“首先对图像进行去模糊处理”的不同之处在于,运动模糊的去除或补偿是对关键点的邻域而不是对整个图像进行的。
4)提取模糊不变量特征:当从关键点的邻域计算关键点描述子时,只使用模糊不变量的分量,而忽略那些对运动模糊敏感的分量。因此,即使在图像运动模糊的情况下,关键点描述子也会保持大致相同。
上述方法的不足之处可包括以下几点:
1)不匹配:为了防止模糊图像中特征的错误匹配使SLAM的估计值质量下降,当检测到显著的图像运动时,可以选择根本不进行特征匹配。例如,可选择在这些时候只使用运动传感器输出来执行SLAM。然而,该方法可能会导致图像传感器输出在这些时刻被完全浪费,而SLAM计算可转而变得不太准确和不太稳定。
2)首先对图像进行去模糊处理:图像去模糊通常涉及大量计算。由于SLAM计算通常是在移动平台上进行的,去模糊处理所需的额外计算可能并不总是可得或负担得起。此外,去模糊操作容易给原始图像增加新的伪影,这转而容易对图像特征匹配精度造成负面影响。
3)在计算关键点描述子时补偿运动模糊:因为计算只涉及关键点的邻域,所以在计算关键点描述子时补偿运动模糊通常比对整个图像进行去模糊处理所需的额外计算要少。然而,在图像中引入新伪影的缺点仍然存在。
4)提取模糊不变量特征:由于该方法忽略了对运动模糊敏感的分量,因此可用于执行特征匹配的信息较少。换言之,这种方法可在摄像头大幅运动的情况中提高匹配精度和稳定性,但代价是降低其他情况(例如,运动不明显的情况)下的匹配性能。
提高关键点描述子框架对运动模糊的鲁棒性或稳健性可能是可取的。因此,本文所描述的,使用如本文中公开的适当系统、方法、装置、设备等实施的实施例,可支持在容易出现运动模糊的应用中提高特征匹配操作的精度。本文中所述的实施例可在使用特征匹配的各种应用中实施,这些应用包括图像对齐(例如,图像拼接、图像配准、全景拼接)、三维重建(例如,立体视觉)、索引和内容检索、内窥镜成像、运动跟踪、物体跟踪、物体识别、自动导航、SLAM等。
根据本公开的实施例,深度学习网络被用作关键点描述子运动模糊转换器,或用作关键点描述子比较模块,以解决摄像头帧中存在不同运动模糊时图像特征匹配的挑战。例如,本公开的实施例可用于改善AR/VR应用中的定位和映射性能。此外,当从在不同图像运动情况下拍摄的摄像头帧中提取特征时,本公开的实施例可提高特征匹配精度。因此,当设备正在进行快速运动时,SLAM计算可更准确且更稳定。这是因为以前被浪费的一个或多个模糊摄像头帧现在可被有效用于定位和映射估计。因此,本公开的实施例避免了现有方法的缺点,例如在小幅运动或图像被类似运动模糊时,匹配精度较低的缺点。
图1示出根据本公开一实施例的关键点描述子转换器100的简化示意图。如图1所示,该转换是对从图像I0提取的关键点描述子f0执行的。描述子转换器接受三个输入:关键点描述子f0;在采集图像I0时的图像运动的运动描述子M0;以及在采集图像I1时的图像运动的运动描述子M1。转换器的输出是转换后的关键点描述子f1′。设计目标是:如果描述子f0和f1对应于同一关键点,则转换后的关键点描述子f1′与图像I1中的关键点描述子f1相似;以及如果描述子f0和f1指的是不同的关键点,则转换后描述子f1′和描述子f1有很大差异。
图2示出根据本公开一实施例图像处理方法的简化流程图。图1中示出的图像处理方法100包括任务210、220、230和240。在任务210中,计算第一图像中的关键点的描述子。该第一图像是由图像传感器在第一时间段内采集的。第一运动描述子描述了图像传感器在第一时间段内的运动。在任务220中,计算第二图像中的关键点的描述子。该第二图像是由图像传感器在不同于第一时间段的第二时间段内采集的。第二运动描述子描述了图像传感器在第二时间段内的运动。在任务230中,使用训练好的人工神经网络(ANN),基于第一运动描述子和第二运动描述子,将用于第一图像中的关键点的计算出的描述子转换成转换后描述子。在任务240中,将转换后描述子与用于第二图像中的关键点的计算出的描述子进行比较。例如,任务240可包括在描述子空间中计算转换后描述子与计算出的描述子之间的距离(例如,根据如本文中公开的距离指标,例如欧几里得距离、卡方距离等),并将所计算的距离与阈值进行比较(例如,根据如上文所述的程序)。
应当理解,在图2中示出的具体步骤提供了根据本公开一实施例执行图像处理的具体方法。如上文所述,也可以根据替代实施例执行其他步骤顺序。例如,本公开的替代实施例可以以不同顺序执行上述步骤。此外,图2中示出的单个步骤可包括多个子步骤,这些子步骤可根据单个步骤的情况以不同顺序执行。此外,根据具体应用,还可增加额外步骤或删除步骤。本领域技术人员将认识到许多变型、修改和替代方案。
关键点是图像中的一个点。与图像中的其他点不同,关键点有一个定义明确的空间位置,或以其他方式定位在图像中,并在局部变化和全局变化(例如,尺度变化,光照变化等)下保持稳定。
图3A示出根据本公开一实施例的图像(例如,视频序列中的一帧)的例子。图3B示出根据本公开一实施例在图3A中示出的图像的关键点的例子。参考图3B,图3B中所示的圆圈指示图像中关键点310-322的几个例子的位置。在典型的特征匹配应用中,每个图像中检测到的关键点的数量至少为十二个、二十五个或五十个,并可达到一百个、二百个、五百个或更多。
在特征匹配的典型应用中,对于多个不同的关键点描述子对(f0,f1),在视频序列中的成对连续帧上(例如,在每个连续对帧上),重复在图2中示出的方法200。在一些实施例中,对于在第一图像中检测到的多个关键点中的每一个(每个关键点在第一图像中都有一个对应位置),为每个描述子对重复方法200。每个描述子对包括在第一图像中的关键点的描述子和在第二图像中同一位置的阈值距离(例如,20个像素)内的关键点的描述子。
方法200不受限于第一图像和第二图像的任何具体尺寸或格式。现在提供的是来自典型特征匹配应用的例子。目前大多数AR/VR设备被配置成采集VGA格式的视频(即,具有640x480像素的帧尺寸),每个像素都具有红色、绿色和蓝色分量。在这种设备中常见的最大帧格式是1280x720像素,使得在一个典型应用中,第一图像和第二图像中每一个的最大尺寸大约是一千乘两千像素。在一个典型应用中,第一图像和第二图像中每一个的最小尺寸是大约四分之一VGA(即,320x240像素),因为更小的图像尺寸很可能不足以支持诸如SLAM的算法。
关键点描述子计算任务210和220可使用现有的关键点描述子框架来实现。现有的关键点描述子框架例如为尺度不变特征转换(SIFT)、加速稳健特征(SURF)、二进制稳健恒定可扩展关键点(BRISK)等。这类任务可包括计算关键点的方向。这可包括确定围绕关键点的像素邻域(也称为“图像块”)如何定向或沿什么方向定向。通常在尺度空间的不同尺度处对图像块执行对关键点的定向的计算。关键点的定向的计算可包括检测在图像块中的梯度角最主要的定向。例如,SIFT框架基于在关键点的16个局部邻域中的像素的梯度方向,为每个关键点赋予一个128维的特征向量。
一些关键点描述子框架(例如,SIFT和SURF)包括关键点检测和关键点描述子计算两者。其他关键点描述子框架(例如,二进制稳健独立元素特征(BRIEF))包括关键点描述子计算,但不包括关键点检测。对于使用后一种类型的框架来执行任务210和任务220的情况,可期望在执行任务210之前对第一图像执行关键点检测操作以选择对应关键点,并在执行任务220之前对第二图像执行关键点检测操作以选择对应关键点。在任一情况下,响应于第一运动描述子和第二运动描述子中的任一个具有超过阈值(例如,二十个像素的模糊)的值,则可期望实施本文中的方法,以略过该图像对。这是因为对于具有如此广泛模糊的图像,关键点检测不容易成功。
图4示出根据本公开另一实施例执行图像处理的方法的简化流程图。如图4所示,在方法200中使用的元素也在图4中示出的方法400中使用,方法400还包括在下文中描述的额外元素。因此,与图2有关的描述也适用于图4。本领域技术人员将认识到许多变型、修改和替代方案。
如图4所示,在任务410中,选择第一图像中的关键点,在任务420中,选择第二图像中的关键点。可用于实施任务410和任务420的关键点的例子包括角点检测器(例如,哈里斯角点检测器、加速段测试特征(FAST))和斑点检测器(例如,高斯拉普拉斯算子(LoG)、高斯差分(DoG)、黑塞行列式(DoH))。这种关键点检测器通常配置成利用不同的模糊宽度对图像进行模糊化以及利用不同的采样率对图像进行重新采样以创造尺度空间,以及检测不同尺度的角点和/或斑点。
第一运动描述子描述了图像传感器在采集第一图像时的运动,第二运动描述子描述了图像传感器在采集第二图像期间的运动。第一运动描述子和第二运动描述子可以从运动传感器(例如,IMU)输出和/或从视频序列中的相邻帧(例如,从刚好在正计算运动描述子的帧之前或之后采集的帧)计算。视频序列中每一帧的采集周期通常是帧率的倒数,但是采集周期可能更短。一个典型的视频序列(例如,由安卓手机拍摄)的帧率是30帧每秒(fps)。iPhone手机或头戴式设备的帧率可高达120fps。
每个运动描述子可以被实施以在一个、两个或三个空间维度的坐标空间中描述轨迹或路径。这种轨迹可以被描述为在对应采集周期期间以均匀间隔采样的图像传感器的一个或多个位置的序列。每个采样位置可以被表示为相对于前一个采样位置的运动矢量(例如,将采集周期开始的位置作为坐标空间的原点)。在一个这类例子中,第一运动描述子描述了在空间中具有三个维度的第一轨迹,第二运动描述子描述了在空间中具有三个维度的第二轨迹,该第二轨迹与第一轨迹不同。
每个运动描述子可以被进一步实施以描述六自由度(6DOF)的运动。除了三个空间维度外,这种运动还可包括围绕这些维度的一个或多个轴的旋转。如图5所示,图5示出六自由度(6DOF)的图示。这些旋转可被标记为倾斜(roll)、俯仰(pitch)和摇摆(yaw)。例如,对于图像传感器的每个采样位置,运动描述子可包括,图像传感器的参考方向相对于前一个采样位置的定向的对应定向(例如,观察方向)(例如,将参考定向视为采集周期开始时的定向)。
再次参考图4,在任务230中,使用训练好的人工神经网络(ANN),基于第一运动描述子和第二运动描述子,将用于第一图像中关键点的计算出的描述子转换成转换后描述子。能被训练以在多元素向量之间执行这种复杂转换的ANN的例子包括卷积神经网络(CNN)和自动编码器。可期望ANN被实施为相当小而快:例如,ANN包括少于一万个参数,或少于五千个参数,和/或训练好的ANN占用少于五兆字节的存储空间。在一些实施例中,ANN实施为使得输入层和输出层都是大小为32×32的数组。在典型的生产环境中,训练好的ANN的副本(例如,在制造和/或供应期间)被存储到具有相同型号的视频摄像头(并且,还可能具有相同型号的IMU)的一串设备中的每一个中。在将运动描述子输入到训练好的ANN之前,可期望将运动描述子的值归一化,使其与计算出的关键点描述子的值占用相同范围。
应当理解,在图4中示出的具体步骤提供了根据本公开另一实施例执行图像处理的具体方法。如上文所述,也可以根据替代实施例执行其他步骤顺序。例如,本公开的替代实施例可以以不同的顺序执行上述步骤。此外,图4中示出的单个步骤可包括多个子步骤,这些子步骤可根据单个步骤的情况以不同顺序执行。此外,根据具体应用,还可增加额外步骤或删除步骤。本领域技术人员将认识到许多变型、修改和替代方案。
可期望训练数据足够使训练好的ANN封装复杂的逻辑和计算。图像运动模糊可通过图像处理操作(例如,定向滤波等)模拟,且一个或多个这种操作可用来产生大量的合成训练数据。
图6示出根据本公开一实施例的简化流程图,其示出生成用于网络训练的训练数据的方法。如图6所示,例如,对于训练图像620的集合的每一个图像,可以检测到一些关键点622。然后可以将一些不同的运动模糊(每个都由运动描述子610a-610n的集合中的对应一个描述)应用于图像,以生成对应数量的模糊图像B1-Bn。可以从每个模糊图像中计算出用于所检测的关键点(以及对应运动描述子)的关键点描述子。
图7示出根据本公开一实施例的简化流程图,其示出训练ANN的方法。如图7所示,在ANN的训练期间,对应的计算出的关键点描述子为损失函数提供参考值或真值(groundtruth)。可期望从相对少量的图像中计算出的描述子来增强合成训练数据。该相对少量的图像具有真实运动模糊,并且由人类标注着手动标注。
通过深度学习网络进行推断通常涉及比计算在两个关键点描述子之间的距离更多的计算。因此,为了节省一些计算,可期望实施方法200或方法400,以将第一运动描述子的值与第二运动描述子的值进行比较,并且对于比较结果指示第一运动描述子和第二运动描述子具有类似值的情况,避免使用训练好的网络(例如,使用传统的分数指标代替)。方法200或方法400例如可以被实施为包括任务。该任务计算在第一运动描述子和第二运动描述子之间的距离,并将该距离与阈值相比较。方法200或方法400的这种实施方案可以被配置成,响应于运动描述子比较任务指示第一图像的运动模糊与第二图像的运动模糊相似,使用分数指标(例如,如上文所述的距离),而不是使用训练好的网络,来确定来自第一图像的关键点描述子是否匹配来自第二图像的关键点描述子。
图8示出根据本公开一实施例的装置的简化框图。作为示例,根据包括关键点描述子计算器810、关键点描述子转换器820和关键点描述子比较器830的一般配置,在图8中示出的装置800可用于在移动设备(例如,如智能手机的蜂窝电话,或者头戴式设备)的图像处理。
关键点描述子计算器810被配置成计算在第一图像中的关键点的描述子以及计算在第二图像中的关键点的描述子(例如,如在本文中分别参考任务210和任务220描述地)。第一图像由图像传感器在第一时间段期间采集。第二图像由图像传感器在不同于第一时间段的第二时间段期间采集。关键点描述子转换器820被配置成基于第一运动描述子和第二运动描述子,使用训练好的ANN将用于第一图像中的关键点的计算出的描述子转换为转换后描述子(例如,如在本文中参考任务230所述)。第一运动描述子描述图像传感器在第一时间段期间的运动。第二运动描述子描述图像传感器在第二时间段期间的运动。关键点描述子比较器830被配置成将转换后描述子与用于第二图像中关键点的计算出的描述子进行比较(例如,如本文中参考任务240所述)。
在一些实施例中,装置800在诸如移动电话的设备中实施。该设备通常具有视频摄像头。视频摄像头配置成产生包括第一图像和第二图像的帧序列。该设备还可包括一个或多个运动传感器。该一个或多个运动传感器可配置成确定设备在空间的6DOF运动。在一些实施例中,装置800在诸如一套AR眼镜的头戴式设备中实施。头戴式设备也可具有运动传感器和一个或多个摄像头。
图9示出根据本公开一实施例的简化流程图,其示出使用关键点描述子比较模块900执行特征匹配的方法。如在图9中所示,关键点描述子比较模块900用于确定两个关键点描述子是否匹配,即使这些特征属于两个具有不同图像运动的图像。使用关键点描述子比较模块900是解决由运动模糊引起的特征匹配失败的一种更全面的方法。如图9所示,关键点描述子比较模块900接收四个输入。该四个输入包括两个关键点描述子f0和f1以及运动描述子M0和M1。运动描述子M0和M1对应于f0和f1的源图像的运动模糊。输出是一个二元判定910(即,f0和f1是否匹配)以及表示输出二元判定的置信度的值P 912。
以类似于上述原因的方式,训练深度学习网络以产生关键点描述子比较模块900的匹配指示和置信度值输出。在这种情况下,该网络可以被实施为深度学习领域中已知的分类器网络。在被给予充足的训练数据的情况下,分类器通常会产生一个良好的输出。这类网络(例如,CNN)的训练可使用如上文所述(例如,参考图6)获得的训练数据来执行。
与关键点描述子转换器820相比,关键点描述子比较模块900封装分数指标,且往往具有更高的匹配精度。另一方面,比较模块900比转换器820需要更多的输入,且通常包括更大的网络。因此,这种解决方案往往占用较大的内存,且消耗更多的计算资源。如上文所述,当关键点描述子f0和f1来自具有类似图像运动的图像时,可反而期望使用传统的分数指标,以节省一些计算量。
本文中所讨论的实施例可以在各种领域中实施。这些领域可包括特征匹配,如图像对齐(如全景拼接)、三维重建(如立体视觉),索引和内容检索等。第一图像和第二图像不限于由可见光摄像头产生的图像(例如,在RGB或其他颜色空间)。例如,第一图像和第二图像可以是由对非可见光敏感的摄像头产生的图像(例如,红外(IR)图像、紫外线(UV)图像)、由结构光摄像头产生的图像,和/或由摄像头以外的图像传感器产生的图像(例如,使用雷达、激光雷达、声纳等成像)。此外,本文所述的实施例也可以扩展到运动模糊之外,以涵盖其他可扭曲关键点描述子的因素,诸如光照变化等。
图10示出根据本公开一实施例的计算机系统1000的框图。如本文所述,计算机系统1000及其组件可被配置成执行本文中所述的方法的实施。尽管这些组件被示出为属于同一个计算机系统1000(例如,智能手机或头戴式设备),但计算机系统1000也可以被实施为使得这些组件是分布式的(例如,分布在不同的服务器之间,分布在智能手机和一个或多个网络实体之间等。)
计算机系统1000至少包括处理器1002、存储器1004、存储设备1006、输入/输出外设或外围设备(I/O)1008、通信外设1010以及一个接口总线1012。接口总线1012被配置成在计算机系统1000的各个组件之间通信、传输和传送数据、控制和命令。存储器1004和/或存储设备1006可被配置成存储第一图像和第二图像(例如,存储视频序列帧),且可包括计算机可读存储介质,诸如RAM、ROM、电可擦除可编程只读存储器(EEPROM)、硬盘、CD-ROM、光学存储设备、磁存储设备、例如内存的电子非易失性计算机存储以及其他有形存储介质。任何这类计算机可读存储介质都可被配置成存储体现本公开各个方面的指令或程序代码。存储器1004和存储设备1006还包括计算机可读信号介质。计算机可读信号介质包括体现了计算机可读程序代码的传播数据信号。这种传播信号采取各种形式中的任何一种,包括但不限于电磁、光学或其任何组合。计算机可读信号介质包括任何不是计算机可读存储介质的计算机可读介质,其可以通信、传播或传输用于结合计算机系统1000使用的程序。
此外,存储器1004包括操作系统、程序和应用程序。处理器1002被配置成执行所存储的指令,且处理器1002包括例如逻辑处理单元、微处理器、数字信号处理器和其他处理器。存储器1004和/或处理器1002可以是虚拟的,且可被托管在例如云网络或数据中心的另一个计算机系统内。I/O外设1008包括用户接口、其他输入/输出设备(例如,配置成采集要索引的图像的图像传感器)以及计算组件。用户接口诸如为键盘、屏幕(例如,触摸屏)、麦克风、扬声器。计算组件诸如为图形处理单元、串行端口、并行端口、通用串行总线和其他输入/输出外设。I/O外设1008通过耦合到接口总线1012的任何端口与处理器1002连接。通信外设1010被配置成便于在计算机系统1000和其他计算设备(例如,被配置成执行本文所述的索引和/或查询搜索方法的一部分的云计算实体)之间通过通信网络的通信,且例如包括网络接口控制器、调制解调器、无线和有线接口卡、天线和其他通信外设。
虽然本主题已就其具体实施例进行了详细描述,但应当理解,本领域技术人员在理解了上述内容后,可很容易地对这些实施例进行修改、变型和等效。因此,应当理解,本公开是以举例而非限制的目的提出的,且不排除包括对于本领域技术人员来说容易看出的本主题的修改、变型和/或补充。事实上,本文中描述的方法和系统可以以各种其他形式体现出来。此外,在不背离本公开的精神的情况下,可对本文中描述的方法和系统的形式进行各种省略、替换和变化。所附权利要求书及其等同物旨在涵盖落入本公开的范围和精神内的此类形式或修改。
除非另外具体说明,否则应当理解,在本说明书中,使用诸如“处理”、“计算”、“确定”、“识别”或类似术语的讨论是指计算设备的活动或过程,诸如一个或多个计算机或类似电子计算设备在内存、寄存器或计算平台的其他信息存储设备、传输设备或显示设备中操纵或转换表示为物理电子量或磁性量的数据。
本文中讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可包括任何适当的组件配置,这些组件提供以一个或多个输入为条件的结果。合适的计算设备包括基于多用途微处理器的计算机系统。该计算机系统访问所存储的软件。该软件将计算机系统从通用计算装置编程或配置成实施本主题的一个或多个实施例的专门计算装置。任何合适的编程、脚本或其他类型的语言或语言组合可用于在软件中实施本文所包含的教导,以用于编程或配置计算设备。
本文中公开的方法的实施例可在这类计算设备的操作中执行。上述例子中提出的框的顺序可以变化-例如,框可以被重新排序、组合和/或分成子框。某些框或进程可并行执行。
术语“包含”、“包括”、“具有”等是同义词,并以开放式包括的方式使用,且不排除其他元件、特征、行为、操作等。另外,术语“或”在其包容性的意义上(而不是在其排他性的意义上)使用。因此,当“或”例如用于连接一系列元件时,术语“或”是指该一系列元件中的一个、一些或全部元件。此处使用“适于”或“配置成”的意思是作为开放和包括性的语言,且不排除适于或配置成执行额外任务或步骤的设备。本文中所包括的标题、清单和编号只是为了便于解释,并不意味着是限制性的。
上述各种特征和过程可相互独立地使用,也可以以各种方式组合使用。所有可能的组合和子组合都意图落在本公开的范围内。此外,在一些实施方案中,可省略某些方法或过程框。本文中描述的方法和过程也不限于任何特定顺序,与之相关的框或状态可以以其他适当顺序执行。例如,所描述的框或状态可以以非具体公开的顺序执行,或者多个框或状态可以组合在单个框或状态中。这些示例框或状态可以以串行、并行或以其他方式进行。框或状态可以被添加到所公开的例子中或从其中删除。同样地,本文中所述的示例系统和组件的配置也可与所述不同。例如,与所公开的例子相比,可以添加、删除或重新排列元件。
本文中所公开的装置或系统的实施方案(例如,装置800)的各种元件可以体现在被认为适合预期应用的硬件与软件和/或固件的任何组合中。例如,这些元件可以被制作成电子设备和/或光学设备,例如,驻留在同一芯片上或在一个芯片组中的两个或多个芯片之间的电子设备和/或光学设备。这种元件的一个例子是固定或可编程的逻辑元件阵列,诸如晶体管或逻辑门。这些元件中的任何一个都可以实施为一个或多个这种阵列。这些元件中的任何两个或多个,甚至所有元件都可在同一个或多个阵列中实施。这样的一个或多个阵列可在一个或多个芯片内(例如,在包括两个或多个芯片的芯片组内)实现。这种设备也可被实施为包括被配置成存储第一图像和第二图像的存储器。
本文中所公开的处理器或其他器件可被制作成一个或多个电子设备和/或光学设备,例如,驻留在同一芯片上或在一个芯片组中的两个或多个芯片之间的一个或多个电子设备和/或光学设备。这种元件的一个例子是固定或可编程的逻辑元件阵列,诸如晶体管或逻辑门。这些元件中的任何一个都可以实施为一个或多个这种阵列。这样的一个或多个阵列可在一个或多个芯片内(例如,在包括两个或多个芯片的芯片组内)实现。这种阵列的例子包括固定或可编程逻辑元件阵列,诸如微处理器,嵌入式处理器,IP核,DSP(数字信号处理器),FPGA(现场可编程门阵列)、ASSP(专用标准产品)和ASIC(专用集成电路)。本文所公开的处理器或其他处理手段也可体现为一个或多个计算机(例如,包括一个或多个阵列,被编程为执行一个或多个指令集或指令序列的机器)或其他处理器。本文中所述的处理器可被用于执行任务或执行其他指令集。这些任务或指令集与方法M100或400(或参照本文所述的装置或系统的操作而公开的其他方法)的实施程序没有直接关系。这些任务或指令集例如为与处理器被嵌入其中的设备或系统(例如,语音通信装置,诸如智能手机或智能扬声器)的另一项操作有关的任务。在本文中公开的方法的一部分也有可能在一个或多个其他处理器的控制下执行。
在本文中公开的方法(例如,方法200和/或方法400)的每个任务都可直接体现在硬件中,体现在由处理器执行的软件模块中,或体现在两者的组合中。在本文中所公开的方法的实施的典型应用中,逻辑元件阵列(例如,逻辑门)被配置成执行该方法的各个任务中的一个、一个以上、甚至所有任务。一个或多个任务(可能所有任务)也可以作为代码(例如,一个或多个指令集)实施。这些代码体现在计算机程序产品(例如,一种或多种数据存储介质,诸如磁盘、闪存或其他非易失性存储卡、半导体存储芯片等)中。这些代码可由包括逻辑元件阵列(例如,处理器、微处理器、微控制器或其他有限状态机)的机器(例如,计算机)读取和/或执行。在本文中公开的方法的实施任务也可由一个以上的这种阵列或机器来执行。在这些或其他实施方案中,这些任务可在诸如蜂窝电话或其他具有这种通信能力的设备无线通信设备中执行。这种设备可被配置成(例如,使用一个或多个协议,如VoIP)与电路交换网络和/或分组交换网络进行通信。例如,这种设备可包括被配置成接收和/或发送编码帧的RF电路。
在一个或多个示例实施例中,本文中所述的操作可在硬件、软件、固件或其任何组合中实现。如果用软件实现,这种操作可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输。术语“计算机可读介质”包括计算机可读存储介质和通信(例如,传输)介质。作为例子是不是限制,计算机可读存储介质可包括存储元件阵列,诸如半导体存储器(可包括但不限于动态或静态RAM、ROM、EEPROM和/或闪存),或铁电存储器、磁阻存储器、奥氏存储器、聚合存储器或相变存储器;CD-ROM或其他光盘存储;和/或磁盘存储或其他磁性存储设备。这种存储介质可以以可被计算机访问的指令或数据结构的形式存储信息。通信介质可包括可用于携带具有指令或数据结构形式的所需程序代码且可被计算机所访问的任何介质,包括便于将计算机程序从一个地方传输到另一个地方的任何介质。另外,任何连接都适于被称为计算机可读介质。例如,如果软件从网站、服务器或其他远程来源使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(诸如红外线、无线电和/或微波)传输,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外线、无线电和/或微波)都被包括在介质的定义中。本文中所用的磁盘和光盘包括光盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘TM(加利福尼亚州,环球影城,蓝光光盘协会)。磁盘通常以磁性方式复制数据,而光盘则以激光方式复制数据。上述内容的组合也应被包括在计算机可读介质的范围内。
在一些实施例中,非瞬态计算机可读存储介质包括代码。该代码当由至少一个处理器执行时,使至少一个处理器执行本文中所述的图像处理方法(例如,方法200或方法400)。这种存储介质的其他例子包括还包括代码的介质。该代码当由至少一个处理器执行时,使至少一个处理器执行本文中所述的图像处理方法。
除非受到上下文的明确限制,否则术语“信号”在这里用于表示它的任何普通含义,包括在电线、总线或其他传输介质上表达的存储器位置(或存储器位置集合)的状态。除非受到上下文的明确限制,术语“产生”在这里用来表示其任何普通含义,如计算或以其他方式产生。除非受到上下文的明确限制,术语“计算”在这里用来表示其任何普通含义,如计算、评估、估计和/或从多个数值中选择。除非受到上下文的明确限制,否则术语“获得”用于指示其任何普通含义,诸如计算、推导、接收(例如,从外部设备),和/或检索(例如从存储元件阵列)。除非受到上下文的明确限制,否则术语“选择”用于表示其任何普通的含义,诸如识别、指示、应用和/或使用两个或更多所形成的一组中的至少一个,但是少于全部。除非受到上下文的明确限制,否则术语“确定”用于表示其任何普通含义,诸如决定、明确、得出结论、计算、选择和/或评估。在说明书和权利要求书中使用术语“包括”时,并不排除其他元件或操作。术语“基于”(如“A基于B”)用于表示其任何普通含义,包括如下情况:情况(i)“源于”(如“B是A的前体”);(ii)“至少基于”(如“A至少基于B”)以及(iii)如果在特定上下文中是合适的,“等于”(如“A等于B”)。同样,术语“响应于”用于表示其任何普通含义,包括“至少响应于”。除非另有说明,否则术语“A、B和C中的至少一个”、“A、B和C中的一个或多个”以及“A、B和C中的一个或多个”表示“A和/或B和/或C”。除非另有说明,否则“A、B和C中的每一个”以及“A、B和C之中的每一个”表示“A和B和C”。
除非另有说明,否则对具有特定特征的装置的操作的任何公开,也明确意在公开具有类似特征的方法,反之亦然,而对根据特定配置的装置的操作的任何公开,也明确意在公开根据类似配置的方法,反之亦然。术语“配置”可用于指方法、装置和/或系统,具体根据其特定上下文指示。除非在上下文中具体地另外说明,否则术语“方法”、“过程”、“程序”和“技术”是通用的,且可互换使用。具有多个子任务的“任务”也是一种方法。除非在上下文中具体地另外说明,否则术语“装置”和“设备”也是通用的和可互换的。术语“元件”和“模块”通常用于表示更大配置的一部分。除非受到上下文的明确限制,否则术语“系统”在本文中用于表示其任何普通的含义,包括“一组相互作用以达到共同目的的元件”。
除非最初由定冠词引入,否则用于修饰权利要求元件的序数词(如“第一”、“第二”、“第三”等)本身并不表明该权利要求元件相对于另一元件的任何优先级或顺序,而只是将该权利要求元件与具有相同名称(但使用序数词)的另一权利要求元件区别开来。除非受到上下文的明确限制,否则本文中的每个术语“多个”和“一组”都用于表示大于1的整数。
提供上述描述以使本领域技术人员能够制造或使用所公开的实施方案。这些实施方案的各种修改对于本领域技术人员而言是显而易见的。本文中定义的原理可应用于其他实施方案而不偏离本公开的范围。因此,本公开并不意图局限于本文所示的实施方案,而是要被给予符合以下权利要求书所定义的原理和新颖特征的尽可能宽的范围。
Claims (20)
1.一种图像处理方法,包括:
计算第一图像中的关键点的描述子,所述第一图像由图像传感器在第一时间段期间采集,其中,第一运动描述子描述所述图像传感器在所述第一时间段期间的运动;
计算第二图像中的关键点的描述子,所述第二图像由所述图像传感器在第二时间段期间采集,所述第二时间段与所述第一时间段不同,其中,第二运动描述子描述所述图像传感器在所述第二时间段期间的运动;
基于所述第一运动描述子和所述第二运动描述子,使用训练好的人工神经网络,将用于所述第一图像中的关键点的计算出的描述子转换成转换后描述子;以及
比较所述转换后描述子与用于所述第二图像中的关键点的计算出的描述子。
2.根据权利要求1所述的方法,其特征在于,
所述第一运动描述子描述在空间中具有三个维度的第一轨迹;以及
所述第二运动描述子描述在空间中具有三个维度的第二轨迹,所述第二轨迹不同于所述第一轨迹。
3.根据权利要求1所述的方法,其特征在于,所述第一运动描述子和所述第二运动描述子中的每一个都描述六自由度的运动。
4.根据权利要求1所述的方法,其特征在于,
用于所述第一图像中的关键点的计算出的描述子描述所述第一图像中的关键点的邻域;以及
用于所述第二图像中的关键点的计算出的描述子描述所述第二图像中的关键点的邻域。
5.根据权利要求4所述的方法,其特征在于,由所述第一运动描述子描述的运动是基于由所述图像传感器采集的图像的信息,所述图像不是所述第一图像。
6.根据权利要求4所述的方法,其特征在于,还包括:确定在所述第一运动描述子和所述第二运动描述子之间的距离不小于阈值,其中,取决于所述确定,使用所述训练好的人工神经网络。
7.根据权利要求1所述的方法,其特征在于,还包括:
选择所述第一图像中的关键点,以及选择所述第二图像中的关键点。
8.一种计算机系统,包括:
一个或多个存储器,配置成存储:
由图像传感器在第一时间段期间采集的第一图像,以及
由所述图像传感器在与所述第一时间段不同的第二时间段期间采集的第二图像;以及
一个或多个处理器;其中,
所述一个或多个存储器还配置成存储计算机可读指令,所述计算机可读指令在被所述一个或多个处理器执行时,将所述计算机系统配置成:
计算用于所述第一图像中的关键点的描述子,其中,第一运动描述子描述所述图像传感器在所述第一时间段期间的运动;
计算用于所述第二图像中的关键点的描述子,其中,第二运动描述子描述所述图像传感器在所述第二时间段期间的运动;
基于所述第一运动描述子和所述第二运动描述子,使用训练好的人工神经网络,将用于所述第一图像中的关键点的计算出的描述子转换成转换后描述子;以及
比较所述转换后描述子与用于所述第二图像中的关键点的计算出的描述子。
9.根据权利要求8所述的计算机系统,其特征在于,
所述第一运动描述子描述在空间中具有三个维度的第一轨迹;以及
所述第二运动描述子描述在空间中具有三个维度的第二轨迹,所述第二轨迹不同于所述第一轨迹。
10.根据权利要求8所述的计算机系统,其特征在于,所述第一运动描述子和所述第二运动描述子中的每一个都描述六自由度的运动。
11.根据权利要求8所述的计算机系统,其特征在于,
用于所述第一图像中的关键点的计算出的描述子描述所述第一图像中的关键点的邻域;以及
用于所述第二图像中的关键点的计算出的描述子描述所述第二图像中的关键点的邻域。
12.根据权利要求8所述的计算机系统,其特征在于,由所述第一运动描述子描述的运动是基于由所述图像传感器采集的图像的信息,所述图像不是所述第一图像。
13.根据权利要求8所述的计算机系统,其特征在于,所述计算机可读指令还可操作以将所述计算机系统配置成:确定在所述第一运动描述子和所述第二运动描述子之间的距离不小于阈值,其中,取决于所述确定,使用所述训练好的人工神经网络。
14.根据权利要求8所述的计算机系统,其特征在于,还包括:选择所述第一图像中的关键点,以及选择所述第二图像中的关键点。
15.一个或多个存储指令的非瞬态计算机存储介质,所述指令在计算机系统上执行时,使所述计算机系统执行如下操作:
选择第一图像中的关键点,所述第一图像由图像传感器在第一时间段期间采集,其中,第一运动描述子描述所述图像传感器在所述第一时间段期间的运动;
计算用于所述第一图像中所选择的关键点的对应描述子;
选择第二图像中的关键点,所述第二图像由所述图像传感器在第二时间段期间采集,所述第二时间段与所述第一时间段不同,其中,第二运动描述子描述所述图像传感器在所述第二时间段期间的运动;
计算用于所述第二图像中所选择的关键点的对应描述子;
基于所述第一运动描述子和所述第二运动描述子,使用训练好的人工神经网络,将用于所述第一图像中的选择的关键点的计算出的描述子转换成转换后描述子;以及
比较所述转换后描述子与用于所述第二图像中的选择的关键点的计算出的描述子。
16.根据权利要求15所述的一个或多个非瞬态计算机存储介质,其中:
所述第一运动描述子描述在空间中具有三个维度的第一轨迹;以及
所述第二运动描述子描述在空间中具有三个维度的第二轨迹,所述第二轨迹不同于所述第一轨迹。
17.根据权利要求15所述的一个或多个非瞬态计算机存储介质,其中,所述第一运动描述子和所述第二运动描述子中的每一个都描述六自由度的运动。
18.根据权利要求15所述的一个或多个非瞬态计算机存储介质,其中:
用于所述第一图像中的关键点的计算出的描述子描述所述第一图像中的关键点的邻域;以及
用于所述第二图像中的关键点的计算出的描述子描述所述第二图像中的关键点的邻域。
19.根据权利要求18所述的一个或多个非瞬态计算机存储介质,其中,由所述第一运动描述子描述的运动是基于由所述图像传感器采集的图像的信息,所述图像不是所述第一图像。
20.根据权利要求18所述的一个或多个非瞬态计算机存储介质,其中,所述指令还使所述计算机系统执行包括确定在所述第一运动描述子和所述第二运动描述子之间的距离不小于阈值的操作,其中,取决于所述确定,使用所述训练好的人工神经网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062978462P | 2020-02-19 | 2020-02-19 | |
US62/978,462 | 2020-02-19 | ||
PCT/CN2021/076042 WO2021164615A1 (en) | 2020-02-19 | 2021-02-08 | Motion blur robust image feature matching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115210758A true CN115210758A (zh) | 2022-10-18 |
Family
ID=77392077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180015780.5A Pending CN115210758A (zh) | 2020-02-19 | 2021-02-08 | 运动模糊稳健的图像特征匹配 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115210758A (zh) |
WO (1) | WO2021164615A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2618526A (en) * | 2022-05-03 | 2023-11-15 | Oxa Autonomy Ltd | Generating a descriptor associated with data of a first modality |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952223B (zh) * | 2017-03-17 | 2020-06-02 | 北京邮电大学 | 图像配准方法及装置 |
US10402448B2 (en) * | 2017-06-28 | 2019-09-03 | Google Llc | Image retrieval with deep local feature descriptors and attention-based keypoint descriptors |
CN107968916A (zh) * | 2017-12-04 | 2018-04-27 | 国网山东省电力公司电力科学研究院 | 一种适用于非固定场景的快速视频稳像方法 |
US10997746B2 (en) * | 2018-04-12 | 2021-05-04 | Honda Motor Co., Ltd. | Feature descriptor matching |
CN110516731B (zh) * | 2019-08-20 | 2022-04-29 | 北京影谱科技股份有限公司 | 一种基于深度学习的视觉里程计特征点检测方法及系统 |
-
2021
- 2021-02-08 WO PCT/CN2021/076042 patent/WO2021164615A1/en active Application Filing
- 2021-02-08 CN CN202180015780.5A patent/CN115210758A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021164615A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hannuna et al. | DS-KCF: a real-time tracker for RGB-D data | |
US10936911B2 (en) | Logo detection | |
WO2018086607A1 (zh) | 一种目标跟踪方法及电子设备、存储介质 | |
US9727775B2 (en) | Method and system of curved object recognition using image matching for image processing | |
WO2020211624A1 (zh) | 对象追踪方法、追踪处理方法、相应的装置、电子设备 | |
WO2016034059A1 (zh) | 基于颜色-结构特征的目标对象跟踪方法 | |
US20150205997A1 (en) | Method, apparatus and computer program product for human-face features extraction | |
JP6309549B2 (ja) | 変形可能な表現検出器 | |
EP2591460A1 (en) | Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation | |
CN111709980A (zh) | 基于深度学习的多尺度图像配准方法和装置 | |
CN111091590A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US20130329951A1 (en) | Method and apparatus for estimating a pose of a head for a person | |
US20180068451A1 (en) | Systems and methods for creating a cinemagraph | |
EP4244811A1 (en) | Consistency measure for image segmentation processes | |
CN114511041B (zh) | 模型训练方法、图像处理方法、装置、设备和存储介质 | |
CN112907569A (zh) | 头部图像区域的分割方法、装置、电子设备和存储介质 | |
WO2019100348A1 (zh) | 图像检索方法和装置以及图像库的生成方法和装置 | |
Żak et al. | Local image features matching for real-time seabed tracking applications | |
CN115210758A (zh) | 运动模糊稳健的图像特征匹配 | |
CN113436251A (zh) | 一种基于改进的yolo6d算法的位姿估计系统及方法 | |
CN112070181A (zh) | 一种基于图像流的协同检测方法及装置、存储介质 | |
US11238309B2 (en) | Selecting keypoints in images using descriptor scores | |
US10878577B2 (en) | Method, system and apparatus for segmenting an image of a scene | |
WO2023109086A1 (zh) | 文字识别方法、装置、设备及存储介质 | |
WO2023273227A1 (zh) | 指甲识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |