CN118097189A - 图像匹配方法、模型训练方法、装置、设备及存储介质 - Google Patents
图像匹配方法、模型训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118097189A CN118097189A CN202410409905.8A CN202410409905A CN118097189A CN 118097189 A CN118097189 A CN 118097189A CN 202410409905 A CN202410409905 A CN 202410409905A CN 118097189 A CN118097189 A CN 118097189A
- Authority
- CN
- China
- Prior art keywords
- features
- feature
- image
- mask
- score
- 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
- 238000000034 method Methods 0.000 title claims abstract description 211
- 238000012549 training Methods 0.000 title claims abstract description 86
- 238000003860 storage Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 135
- 230000008569 process Effects 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 21
- 230000000295 complement effect Effects 0.000 claims description 10
- 230000003321 amplification Effects 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 28
- 238000013473 artificial intelligence Methods 0.000 abstract description 22
- 238000005520 cutting process Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 68
- 230000015654 memory Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 15
- 230000002829 reductive effect Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000010606 normalization Methods 0.000 description 7
- 238000012216 screening Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 239000012530 fluid Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 101100272279 Beauveria bassiana Beas gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009901 attention process Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种图像匹配方法、模型训练方法、装置、设备及存储介质,其适用于图像处理领域,或适用于云技术、人工智能、智慧交通、辅助驾驶等场景,该方法包括:对第一图像进行特征编码得到第一图像特征,以及对第二图像进行特征编码得到第二图像特征;通过自我裁剪对第一图像特征进行特征裁剪,得到k个第一特征,以及通过自我裁剪对第二图像特征进行特征裁剪,得到k个第二特征;通过交叉裁剪对k个第一特征进行特征裁剪,得到i个第一特征,以及通过交叉裁剪对k个第二特征进行特征裁剪,得到j个第二特征;对i个第一特征和j个第二特征进行特征匹配。该方法能够在保证图像匹配的鲁棒性的基础上,提升图像匹配的匹配效率。
Description
技术领域
本申请涉及图像处理领域或地图领域,并且更具体地,涉及一种图像匹配方法、模型训练方法、装置、设备及存储介质。
背景技术
局部特征匹配是计算机视觉的基础研究领域,包括检测器、描述符和匹配器等复杂流程。通常情况下,局部特征匹配的方法可以分为基于检测器(Detector-base)的匹配方法和无检测器(detector-free)的匹配方法。
对于基于检测器的方法,其主要用于对图像中稀疏关键点的匹配。
对于无检测器的匹配方法,其分为粗粒度(Coarse-level)和最终(fine-level)阶段。在粗粒度节点,先通过对原始图像进行特征编码得到粗粒度下的图像,然后使用粗粒度下的图像中的全部像素参与匹配过程,以得到粗粒度下的匹配结果。在最终阶段,将粗粒度下的匹配结果细化到亚像素级别,得到最终的匹配结果。
与基于检测器的匹配方法相比,由于无检测器的匹配方法将粗粒度下的图像中的所有像素视为潜在特征点,而不局限于稀疏的关键点,因此,这种方法能够捕捉到更多的信息,进而可以提供更大的鲁棒性。但是,基于检测器的匹配方法会增加计算需求,由于处理粗粒度下的图像中的所有像素,无检测器的匹配方法通常需要更多的计算资源,因此可能在计算效率上不如基于检测器的匹配方法。即无检测器的匹配方法存在由于计算需求过大导致图像匹配的匹配效率过低的问题。例如,如果粗粒度下的图像的尺寸为840*840,则参与匹配的特征点会高达11025个,由于参与匹配的特征点的数量过大会导致图像匹配的匹配效率过低。
发明内容
本申请实施例提供了一种图像匹配方法、模型训练方法、装置、设备及存储介质,能够在保证图像匹配的鲁棒性的基础上,提升图像匹配的匹配效率。
第一方面,本申请实施例提供了一种图像匹配方法,包括:
对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;
对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;
基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;
对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
对该i个第一特征和该j个第二特征进行特征匹配,得到该第一图像和该第二图像之间的第一匹配结果。
第二方面,本申请实施例提供了一种模型训练方法,包括:
对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
利用得分预测模型,对该第一样本图像特征进行特征处理,得到该第一样本图像特征中每一个第一特征的得分,以及利用该得分预测模型,对该第二样本图像特征进行特征处理,得到该第二样本图像特征中每一个第二特征的得分,该得分用于表征对样本图像匹配的重要程度;
基于该每一个第一特征的得分,对该第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二样本图像特征进行特征裁剪,得到k个第二特征;
利用交叉裁剪模型,对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
基于该每一个第一特征的得分和该每一个第二特征的得分,训练该得分预测模型,以及基于该第一掩码和该第二掩码,训练该交叉裁剪模型。
第三方面,本申请实施例提供了一种图像匹配装置,包括:
编码单元,用于对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;
第一处理单元,用于对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;
裁剪单元,用于基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;
第二处理单元,用于对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
匹配单元,用于对该i个第一特征和该j个第二特征进行特征匹配,得到该第一图像和该第二图像之间的第一匹配结果。
第四方面,本申请实施例提供了一种模型训练装置,包括:
编码单元,用于对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
第一处理单元,用于利用得分预测模型,对该第一样本图像特征进行特征处理,得到该第一样本图像特征中每一个第一特征的得分,以及利用该得分预测模型,对该第二样本图像特征进行特征处理,得到该第二样本图像特征中每一个第二特征的得分,该得分用于表征对样本图像匹配的重要程度;
裁剪单元,用于基于该每一个第一特征的得分,对该第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二样本图像特征进行特征裁剪,得到k个第二特征;
第二处理单元,用于利用交叉裁剪模型,对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
训练单元,用于基于该每一个第一特征的得分和该每一个第二特征的得分,训练该得分预测模型,以及基于该第一掩码和该第二掩码,训练该交叉裁剪模型。
第五方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面的方法或上文涉及的第二方面的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面的方法或上文涉及的第二方面的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面的方法或上文涉及的第二方面的方法。
在本申请实施例中,该图像匹配方法包括:对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;对该i个第一特征和该j个第二特征进行特征匹配,得到该第一图像和该第二图像之间的第一匹配结果。
一方面,本申请考虑到不同的特征对匹配过程的重要性不同,比如一些在天空中、流体、树木等物体对应的特征会随着时间其状态发生变化也就是不稳定,使得其不适合用于进行图像匹配;基于此,本实施例中,对第一图像进行特征编码得到第一图像特征,以及对第二图像进行特征编码得到第二图像特征后,先对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;然后基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;相当于,通过引入得分,能够区分每一个第一特征和每一个第二特征对图像匹配的重要性,进而,基于该每一个第一特征的得分,对该第一图像特征中的第一特征进行筛选,以及基于该每一个第二特征的得分,对该第二图像特征中的第二特征进行筛选,能够在保证图像匹配的鲁棒性的基础上,降低参与图像匹配的特征的数量,进而能够提升图像匹配的匹配效率。
另一方面,考虑到对于输入的两张图像,参与匹配的特征只需要考虑位于公共视场的特征,基于此,本实施例中,先对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;相当于,通过第一掩码,可以筛选出该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,以及通过第二掩码,可以筛选出该k个第二特征中与该k个第一特征存在公共视场的j个第二特征,即能够在保证图像匹配的鲁棒性的基础上,降低需要匹配的特征的数量,进而能够提升图像匹配的匹配效率。
应当理解,本实施例中,由于该第一图像特征中每一个第一特征的得分是通过对该第一图像特征进行特征处理得到的得分,并且该第二图像特征中每一个第二特征的得分是通过对该第二图像特征进行特征处理得到的得分,因此,基于得分进行的特征裁剪也可称为自我裁剪(self-pruning),通过自我裁剪,可以在第一图像特征中筛选出具有意义的k个第一特征,以及在第二图像特征中筛选出具有意义的k个第二特征;此外,由于第一掩码和第二掩码都是对该k个第一特征和该k个第二特征进行特征处理得到的掩码,因此,基于掩码进行的特征裁剪也可以称为交叉裁剪(interactive pruning),通过交叉裁剪,可以在k个第一特征中筛选与k个第二特征存在公共视场的i个第一特征,以及在k个第二特征中筛选出与k个第一特征存在公共视场的j个第二特征。本实施例中,通过自我裁剪和交叉裁剪,实现了对参与图像匹配的特征进行了两次筛选,能够在保证图像匹配的鲁棒性的基础上,降低需要匹配的特征的数量,进而能够提升图像匹配的匹配效率。尤其是,在工业质检和地图项目中,由于大部分图像都是背景占大多数,本申请提供的图像匹配方法可以在保证图像匹配的鲁棒性的基础上,其匹配效率提升了50%左右。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统框架的示例。
图2是本申请实施例提供的图像匹配方法的示意性流程图。
图3是本申请实施例提供的DICS的示意性结构图。
图4是本申请实施例提供的模型训练方法的示意性流程图。
图5是本申请实施例提供的图像匹配方法的另一示意性流程图。
图6是本申请实施例提供的图像匹配装置的示意性框图。
图7是本申请实施例提供的模型训练装置的示意性框图。
图8是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请提供的技术方案,下面对相关术语进行说明。
1. 自我裁剪(Self-pruning):只使用本图的特征进行高置信度候选点的筛选。
2. 交叉裁剪(Interactive-pruning):结合两张图的特征进行共视(公共视场)区域高置信度候选点的筛选。
3. 无检测器(Detector-free)的匹配方法:指匹配不需要特征提取器,直接输入两张图像到网络,得到匹配对。
其中,无检测器的匹配方法包括局部特征转换器(Local Feature Transformers,LoFTR)和四叉树(QuadTree)。LoFTR的原理是基于转换(Transformer)架构,通过自注意力和交叉注意层(cross-attention layer)处理从卷积网络中提取的密集局部特征,以实现特征匹配。具体来说,LoFTR首先在低分辨率图像上提取密集候选点,然后从这些候选点中选择具有高可信度的候选点进行匹配,再使用基于相关的方法将其细化到亚像素级别。四叉树(QuadTree)的原理是将二维平面递归分割成四等分的矩形区域,形成无数个矩形区域,每个区域都可能包含1个数据点。在每个递归层级上,根据数据点的数量和密度,对区域进行进一步的分割,直到满足某种终止条件。
4. 基于检测器(Detector-base)的匹配方法:需要特征点提取器,得到特征点的坐标和特征后输入到匹配网络得到匹配对。
值得注意的是,尽管一些基于检测器的匹配方法试图加速匹配,如聚类图神经网络(ClusterGNN)和光胶(LightGlue),但它们的性能仍不如无检测器的匹配方法。ClusterGNN是一种注意力图神经网络(Graph Neural Network,GNN)架构。ClusterGNN采用聚类方法学习特征匹配任务,自适应地将关键点划分为不同的子图,以最小化冗余连接,并利用粗到细的范例减轻图像内的误分类。LightGlue在超胶(SuperGlue)的基础上展示了适应问题难度的能力,在图像对之间有更大的视觉重叠或有限外观变化的情况下,以加速推理过程。
5. 粗粒度(Coarse-level):指detector-free中处理粗糙特征(coarse feature)部分相关的操作。
6. 高度一致点匹配(Highly Consistent Point Matching,HCPM):是一种基于特征匹配的方法,旨在提高匹配的鲁棒性和准确性。该方法的主要思想是在匹配过程中,通过严格的筛选和优化,确保匹配点的一致性和可靠性。HCPM采用了一种两阶段的匹配策略。在第一阶段,使用一种快速的匹配方法(如SIFT、SURF等)在两幅图像之间找到大量的候选匹配点。这些匹配点是初步的对应关系,但可能包含许多错误和不可靠的点。在第二阶段,HCPM对这些候选匹配点进行严格的筛选和优化。它采用一种基于几何验证的方法,通过计算匹配点之间的几何变换(如仿射变换),评估它们的一致性和可靠性。具体来说,HCPM会检查匹配点之间的距离、角度、比例等几何特征,以确定它们是否符合真实场景的约束。通过这种筛选和优化过程,HCPM能够去除许多错误的匹配点,保留更加可靠和一致的匹配结果。这有助于提高匹配的鲁棒性和准确性,使其在处理复杂场景和挑战性条件下表现更加出色。总的来说,HCPM是一种有效的特征匹配方法,适用于各种计算机视觉任务,如图像配准、三维重建、目标检测等。它通过严格的筛选和优化过程,提高了匹配的鲁棒性和准确性,为这些任务提供了更加可靠和准确的结果。
7. 尺度不变特征变换(Scale-Invariant Feature Transform,SIFT):是一种计算机视觉算法,用于检测和描述图像中的局部特征。局部特征是指图像中局部区域所表现出的特性,常见的局部特征包括角点、边缘、线条、纹理等。与全局特征相比,局部特征更加关注图像中的细节信息,因此对于图像的旋转、尺度、光照等变化具有较强的不变性。在实际应用中,局部特征通常用于目标检测、图像识别、图像匹配等领域,可以帮助人们更好地理解图像内容。SIFT算法能够在不同尺度和旋转下检测图像中的关键点,并且对光照变化、噪声和遮挡等具有较好的鲁棒性。
8. 局部响应特征最大值:是一种特征匹配策略,它通过在图像中对局部区域进行响应并选择最大值作为特征点。这种方法可以用于图像处理、计算机视觉和机器学习等领域。具体来说,局部响应特征最大值算法会在图像中划分若干个小的局部区域,并在每个区域上计算一个响应值。这个响应值可以是像素的最大值、最小值、平均值或标准差等。在计算出响应值后,算法会选择每个区域中响应值最大的像素点作为特征点。这些特征点通常具有比较明显的边缘、纹理或颜色变化,因此能够很好地描述图像的内容。
9. 残差网络特征金字塔网络(ResNet Feature Pyramid Network,ResNet-FPN):是一种深度学习模型,结合了ResNet和FPN的优点。它主要用于目标检测和语义分割等计算机视觉任务。
10. LogSoftmax:是一种常用的激活函数,通常用于多类别分类问题中神经网络的输出层。它将输入的原始分数转化为对数概率分布,以便更好地处理数值稳定性和训练的问题。
11. 归一层(Layer Normalization):是一种在深度学习模型中常用的归一化技术,尤其在循环神经网络(RNN)和Transformer等模型中广泛应用。归一层对每一个神经元的输入进行归一化处理,使得每一个神经元都有相似的尺度,从而提高模型的稳定性和训练效果。具体来说,归一层会对每一个神经元的输入进行均值和方差的归一化,然后再进行线性变换。
12. argmax:是一种数学函数,用于在给定函数中找到最大值的参数。具体来说,给定一个函数y=f(x),argmax函数将返回一个值x0,使得f(x0)取得f(x)的最大值。argmax函数通常用于机器学习和深度学习等领域,用于解决分类、回归和聚类等问题。例如,在分类问题中,argmax函数可以用于确定每个样本所属的类别;在聚类问题中,argmax函数可以用于确定每个聚类的中心点。
13. Gumbel-Softmax:是一种基于采样的概率分布生成算法,用于从一个具有固定参数的分布中生成一组概率分布。具体来说,它可以通过使用伯努利分布对样本进行采样来生成一个概率分布序列。Gumbel-Softmax的应用包括生成离散变量的序列和特权探测机制等。Gumbel-Softmax的生成过程包括两个步骤:首先从一个Gumbel(0,1)分布中采样,并使用负对数对其进行缩放;然后通过Softmax函数将结果转换为一个概率向量。
14. 多层感知机(Multilayer Perceptron,MLP):是一种深度学习模型,由多层全连接的神经元组成。MLP可以用于分类、回归和聚类等任务,其基本结构包括输入层、隐藏层和输出层。隐藏层可以有一层或多层,每层都包含多个神经元。在MLP中,每个神经元都接收来自输入层或前一隐藏层的输入,通过激活函数将其转换为输出信号,并将其传递给下一层。激活函数是sigmoid函数和ReLU函数。MLP的训练通常使用反向传播算法和梯度下降优化算法,通过调整权重和偏置项来最小化损失函数。
15. 多视角三角测量:是一种通过使用多个相机或传感器从不同角度获取同一场景的图像,然后利用三角测量原理来确定场景中物体的三维位置和姿态的方法。这种方法应用于机器人视觉、增强现实、虚拟现实和无人驾驶等领域。多视角三角测量是一种基于图像的三维重建方法,通过使用多个相机或传感器从不同角度获取同一场景的图像,并利用三角测量原理计算出每个像素点的三维坐标,从而实现高精度的场景重建和目标定位。
16. 语义或检测流水线:是一种计算机视觉任务中的常见方法,主要用于图像分割、目标检测等任务。其基本思想是将任务分解为多个阶段,每个阶段使用不同的算法或模型进行计算,并将结果传递给下一个阶段。在这个过程中,每个阶段都会对输入的数据进行一定的处理和变换,以提取出有用的特征或信息。
17. 独热(One-hot)向量:是一种特殊的向量表示方式,主要用于表示分类问题中的离散变量。每个元素在向量中只有一位是1,其余位都是0,表示该变量对应的类别。One-hot编码通常用于将分类变量转换为机器学习算法可以理解和使用的格式。例如,对于一个有两个类别的分类问题,可以将每个类别表示为一个one-hot向量,如[0, 1]和[1, 0]。这样,机器学习算法就可以通过比较输入样本与每个类别向量的相似性来决定该样本属于哪个类别。
18. 交叉熵(Cross Entropy,CE)损失:是一种用于分类问题的损失函数,衡量的是预测值与真实值之间的差异。
19. 焦点损失(Focal Loss):是一种损失函数,主要用于解决分类问题中的类别不平衡问题。在目标检测等分类问题中,由于各类别样本的不均衡,容易导致模型偏向于数量较多的类别,从而影响对数量较少类别的识别。Focal Loss的设计初衷就是为了解决这一问题。Focal Loss对样本的不同难度赋予不同的权重,使得模型更加关注那些难以分类的样本。它通过修改交CE损失函数的形式,使得对于容易分类的样本,其损失较小;而对于难以分类的样本,其损失较大。这样可以促使模型更多地关注那些难以分类的样本,从而提高整体分类性能。
需要说明的是,本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
例如,本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。术语“至少一项”,仅仅是一种描述列举对象的组合关系,表示可以存在一项或多项,例如,以下中的至少一项:A、B、C,可以表示以下几种组合情况:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在A和C,同时存在B和C,同时存在A、B以及C。术语“多个”是指两个或两个以上。字符“/”,一般表示前后关联对象是一种“或”的关系。
再如,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。术语“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。术语“预定义”或“预配置”可以在设备中预先保存相应的代码、表格或其他可用于指示的相关信息,也可以是指由协议约定。“协议”可以指本领域的标准协议。术语“在……时”可以被解释成为“如果”或“若”或“当……时”或“响应于”等类似描述。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”等类似描述。术语“第一”、“第二”、“第三”、“第四”、“第A”、“第B”等是用于区别不同对象,而不是用于描述特定顺序。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不(或非)排他的包含。其中,数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。
本申请提供的图像匹配方法适用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
例如,本申请提供的图像匹配方法适用于云工业(也可称为工业云)质检场景。工业云质检通常指的是利用云计算、大数据、人工智能等技术对工业生产过程中的产品进行质量检查与控制。
本申请提供的图像匹配方法适用于地图领域。
本申请提供的图像匹配方法的执行主体可以是用户终端,该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
本申请提供的方案可涉及云技术。云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义的云计算可以指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生变革。
结合本申请提供的图像匹配方法来说,该图像匹配方法中涉及的计算过程可以通过云计算实现。
本申请提供的方案可涉及人工智能(Artificial Intelligence,AI)技术领域。其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。应理解,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
例如,本申请实施例可涉及人工智能技术中的计算机视觉(Computer Vision,CV)技术,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、检测和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(OpticalCharacter Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、三维(3D)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
结合本申请提供的图像匹配方法来说,该图像匹配方法涉及的图像处理、图像识别等过程可以通过CV技术实现。
再如,本申请实施例也可以涉及人工智能技术中的机器学习(Machine Learning,ML),ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
结合本申请提供的图像匹配方法来说,该图像匹配方法涉及的各个模型可以通过ML实现。
需要说明的是,上述应用场景仅为示例,本实施例提供的图像匹配方法还可以应用于其他场景中,此处不做限定。
需要说明的是,本申请书中相关数据收集处理(例如用于进行图像匹配的图像的收集和处理)在应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意,并且在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
图1是本申请实施例提供的系统框架100的示例。
如图1所示,该系统框架100可以包括服务器11和终端12。终端12和服务器11可以通过有线或无线通信方式进行直接或间接地连接,本申请对此不做限制。
其中,服务器11可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端12包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
本申请实施例中,服务器11和终端12均可以用于进行对图像进行匹配。例如,服务器11可以从终端12获取参与图像匹配的两张图像,并对获取的这两张图像进行图像匹配。再如,终端12从服务器11获取参与图像匹配的两张图像,并对获取的这两张图像进行图像匹配。甚至于,服务器11或终端12可以通过自带的图像采集装置获取参与图像匹配的两张图像,并对获取的这两张图像进行图像匹配。本申请对此不作具体限定。
本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。本申请提供的图像匹配方法的执行主体可以是终端12,该终端12包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
应当理解,图1仅为应用场景的示例,不应理解为对本申请的限制。例如,图1仅示例性地包括一个服务器11和一个终端12,但在其他可替代实施例中,该系统框架100可以包括多个终端或多个服务器,甚至不包括终端或不包括服务器。
值得注意的是,不管是服务器11还是终端12,其用于进行图像匹配的图像匹配方法通常可以分为基于检测器(Detector-base)的匹配方法和无检测器(detector-free)的匹配方法。
对于基于检测器的方法,由于其主要用于对图像中稀疏关键点的匹配。
基于检测器的匹配方法关注稀疏关键点匹配,这种方法主要集中在图像中的稀疏关键点上进行特征提取和匹配,通常这些关键点是具有代表性的、易于检测的点。另一方面,基于检测器的匹配方法的计算效率较高,由于只处理少量的关键点,基于检测器的匹配方法通常更加注重计算效率,它们旨在快速地匹配这些关键点并完成相应的任务。但是,基于检测器的匹配方法可能缺乏鲁棒性,具体地,由于只关注少量关键点,这种方法的鲁棒性可能较差,例如在图像有较大变化或存在遮挡的情况下,基于检测器的匹配方法可能难以获得准确的结果。
对于无检测器的匹配方法,其分为粗粒度(Coarse-level)和最终(fine-level)阶段。在粗粒度节点,先通过对原始图像进行特征编码得到粗粒度下的图像,然后使用粗粒度下的图像中的全部像素参与匹配过程,以得到粗粒度下的匹配结果。在最终阶段,将粗粒度下的匹配结果细化到亚像素级别,得到最终的匹配结果。
与基于检测器的匹配方法相比,由于无检测器的匹配方法将粗粒度下的图像中的所有像素视为潜在特征点,而不局限于稀疏的关键点,因此,这种方法能够捕捉到更多的信息,进而可以提供更大的鲁棒性。但是,基于检测器的匹配方法会增加计算需求,由于处理粗粒度下的图像中的所有像素,无检测器的匹配方法通常需要更多的计算资源,因此可能在计算效率上不如基于检测器的匹配方法。即无检测器的匹配方法存在由于计算需求过大导致图像匹配的匹配效率过低的问题。例如,如果粗粒度下的图像尺寸为840*840,则参与匹配的特征点会高达11025个,由于参与匹配的特征点的数量过大会导致图像匹配的匹配效率过低。
总之,基于检测器的匹配方法关注稀疏关键点的匹配,注重计算效率但可能缺乏鲁棒性;而无检测器匹配方法将整个图像视为潜在特征点,以增加计算需求为代价提供更大的鲁棒性。有鉴于此,本申请实施例提供了一种图像匹配方法、模型训练方法、装置、设备及存储介质,通过对粗粒度下的图像的所有像素中进一步筛选图像匹配的像素点,能够在保证图像匹配的鲁棒性的基础上,提升图像匹配的匹配效率。
图2示出了根据本申请实施例的图像匹配方法200的示意性流程图,该方法200可以由电子设备执行。该电子设备可实施为终端设备或服务器。
该终端设备可以是用户终端,该用户终端包括但不限于智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP4播放器、MP4播放器和膝上型便携计算机等。本申请提供的图像匹配方法可以适用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础服务的云服务器。
为便于描述,下面以图像匹配装置为例对该方法200进行示例性说明。
如图2所示,该方法200可包括:
S210,对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征。
示例性地,图像匹配装置可以使用特征提取算法(如SIFT、SURF、ORB等)对第一图像和第二图像进行特征编码。该第一图像特征和该第二图像特征均可以包括一系列特征,这些特征代表了图像中的关键信息。
示例性地,图像匹配装置可以先对第一图像进行尺寸对齐,即将第一图像和特定的图像尺寸进行对齐,然后对经过尺寸对齐的第一图像进行下采样或降采样,以得到该第一图像特征。类似的,图像匹配装置可以先对第二图像进行尺寸对齐,即将第二图像和特定的图像尺寸进行对齐,然后对经过尺寸对齐的第二图像进行下采样或降采样,以得到该第二图像特征。
应当理解,该第一图像和该第二图像可以是原始图像、处理后的图像、该图像匹配装置采集的图像、其他设备采集的图像、该图像匹配装置下载的图像或该图像匹配装置解码得到的图像等,本申请对此不作具体限定。
S220,对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度。
示例性地,图像匹配装置可以对提取出来的第一图像特征进行进一步特征处理,以评估该第一图像特征中的每一个第一特征在图像匹配中的重要性,该重要性可通过得分表征。
例如,图像匹配装置可以对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的特征类型,进而基于每一个第一特征的特征类型,确定相应的得分。例如,对该第一图像特征进行特征处理,对于一些在天空中、流体、树木等物体对应的特征,其会随着时间其状态发生变化也就是不稳定,相应的是不适合匹配的,因此,可以将第一得分确定为其得分,将大于该第一得分的第二得分确定为其他类型的特征的得分。再如,图像匹配装置可以对该第一图像特征进行特征处理,确定该第一图像特征中每一个第一特征是否为背景,如果为背景则可以将第一得分确定为其得分,如果不为背景则将大于该第一得分的第二得分确定为其得分。
类似的,图像匹配装置可以对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的特征类型,进而基于每一个第二特征的特征类型,确定相应的得分。例如,对于一些在天空中、流体、树木等物体对应的特征,其会随着时间其状态发生变化也就是不稳定,相应的是不适合匹配的,因此,可以将第一得分确定为其得分,将大于该第一得分的第二得分确定为其他类型的特征的得分。再如,图像匹配装置可以对该第二图像特征进行特征处理,确定该第二图像特征中每一个第二特征是否为背景,如果为背景则可以将第一得分确定为其得分,如果不为背景则可以将大于该第一得分的第二得分确定为其得分。
示例性地,图像匹配装置可以通过一个基于机器学习的得分预测模型对该第一图像特征中每一个第一特征的得分进行预测,得到每一个第一特征的得分,以及通过该得分预测模型对该第二图像特征中每一个第二特征的得分进行预测,得到每一个第二特征的得分。该得分预测模型可以是预先训练好的模型。
S230,基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征。
示例性地,k为正整数。例如,k小于该第一图像特征中第一特征的数量或该第二图像特征中第二特征的数量。
示例性地,图像匹配装置可以根据每个第一特征的得分,裁剪掉得分较低的第一特征,保留得分较高的第一特征,以及基于每一个第二特征的得分,裁剪掉得分较低的第二特征,而保留得分较高的第二特征,这样做可以减少参与图像匹配的第一特征和第二特征的数量,进而能够减少图像匹配的计算量,即能够提高匹配效率。
示例性地,图像匹配装置可以根据每个第一特征的得分和第一阈值,裁剪掉得分较低的第一特征,保留得分较高的第一特征,例如,图像匹配装置可以基于每一个第一特征的得分,裁剪掉得分小于该第一阈值的第一特征,并保留得分大于或等于该第一阈值的第一特征。类似的,图像匹配装置可以基于每一个第二特征的得分和第二阈值,裁剪掉得分较低的第二特征,保留得分较高的第二特征,例如,图像匹配装置可以基于每一个第二特征的得分,裁剪掉得分小于该第二阈值的第二特征,而保留得分大于或等于该第二阈值的第二特征,这样做可以减少参与图像匹配的第一特征和第二特征的数量,进而能够减少图像匹配的计算量,即能够提高匹配效率。应当理解,用于裁剪第一特征的第一阈值和用于裁剪第二特征的第二阈值可以相同或不同,本申请对用于裁剪第一特征的第一阈值和用于裁剪第二特征的第二阈值的确定方式不作具体限定。
示例性地,图像匹配装置可以根据每个第一特征的得分和第一比例,裁剪掉得分较低的第一特征,保留得分较高的第一特征,例如,图像匹配装置可以基于该第一图像特征中第一特征的数量和该第一比例,确定需要裁减的第一特征的数量,由此,图像匹配装置可以基于每一个第一特征的得分,按照得分由大到小的顺序,裁剪掉该第一图像特征中靠后的相应数量的第一特征,并保留剩余的第一特征。类似的,图像匹配装置可以根据每个第二特征的得分和第二比例,裁剪掉得分较低的第二特征,保留得分较高的第二特征,例如,图像匹配装置可以基于该第二图像特征中第二特征的数量和该第二比例,确定需要裁减的第二特征的数量,由此,图像匹配装置可以基于每一个第二特征的得分,按照得分由大到小的顺序,裁剪掉该第二图像特征中靠后的相应数量的第二特征,并保留剩余的第二特征。应当理解,用于裁剪第一特征的第一比例和用于裁剪第二特征的第二比例可以相同或不同,本申请对用于裁剪第一特征的第一比例和用于裁剪第二特征的第二比例的确定方式不作具体限定。
当然,在其他可替代实施例中,上文涉及的第一比例可以替换为用于确定需要保留的第一特征的数量的比例,类似的,上文涉及的第二比例可以替换为用于确定需要保留的第二特征的数量的比例,本申请对此不作具体限定。
S240,对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征。
示例性地,该公共视场(Common Field of View)也可称为共可见区域,指的是两个或多个图像中重叠的部分,也就是这些图像都能够观察到的区域。在图像匹配的场景中,特别是当两个图像是从不同的视角或位置捕获的同一场景时,它们之间通常会有部分重叠。这部分重叠的区域就是公共视场。
示例性地,该第一掩码用于从k个第一特征中提取与k个第二特征有共同视场(即两个图像中都能观察到的区域)的特征。同样,第二掩码用于提升那些与第一图像特征有共同视场的第二图像特征。这有助于确保在匹配过程中只考虑那些在两个图像中都可见且具有相似性的特征。
示例性地,图像匹配装置可以基于该k个第一特征和该k个第二特征进行自注意力计算和交叉注意力计算,以得到该第一掩码和该第二掩码。例如,该图像匹配装置可以基于该k个第一特征的自注意力计算的结果和该k个第二特征,确定该第一掩码;以及该图像匹配装置可以基于该k个第二特征的自注意力计算的结果和该k个第一特征,确定该第二掩码。
示例性地,考虑到对于输入的两张图像,参与匹配的特征只需要考虑位于公共视场的特征,基于此,图像匹配装置可基于该第一掩码可以从k个第一特征中选择出i个与第二图像有共同视场的特征,而基于该第二掩码可以从k个第二特征中选择出j个与第一图像有共同视场的特征。这样,该i个第一特征和该j个第二特征作为两个优化后的特征集,它们只包含那些在两个图像中都可见且具有相似性的特征,在特征匹配阶段,图像匹配装置只需要在公共视场内的特征之间寻找匹配关系,从而提高了匹配效率。
示例性地,i小于或等于k,j小于或等于k。
示例性地,图像匹配装置可以通过一个基于机器学习的交叉裁剪模型对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码。该交叉裁剪模型可以是预先训练好的模型。
S250,对该i个第一特征和该j个第二特征进行特征匹配,得到该第一图像和该第二图像之间的第一匹配结果。
示例性地,图像匹配装置可以使用匹配算法(如暴力匹配、FLANN匹配等)对i个第一特征和j个第二特征进行匹配,得到第一图像和第二图像之间的第一匹配结果,即该i个第一特征和该j个第二特征之间的对应关系。图像匹配装置可以对该第一匹配结果进行调整或优化,或将其直接用于后续的任务,如图像对齐、目标检测或场景识别等。本申请对此不作具体限定。
本实施例中,一方面,本申请考虑到不同的特征对匹配过程的重要性不同,比如一些在天空中、流体、树木等物体对应的特征会随着时间其状态发生变化也就是不稳定,使得其不适合用于进行图像匹配;基于此,本实施例中,对第一图像进行特征编码得到第一图像特征,以及对第二图像进行特征编码得到第二图像特征后,先对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;然后基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;相当于,通过引入得分,能够区分每一个第一特征和每一个第二特征对图像匹配的重要性,进而,基于该每一个第一特征的得分,对该第一图像特征中的第一特征进行筛选,以及基于该每一个第二特征的得分,对该第二图像特征中的第二特征进行筛选,能够在保证图像匹配的鲁棒性的基础上,降低参与图像匹配的特征的数量,进而能够提升图像匹配的匹配效率。
另一方面,考虑到对于输入的两张图像,参与匹配的特征只需要考虑位于公共视场的特征,基于此,本实施例中,先对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;相当于,通过第一掩码,可以筛选出该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,以及通过第二掩码,可以筛选出该k个第二特征中与该k个第一特征存在公共视场的j个第二特征,即能够在保证图像匹配的鲁棒性的基础上,降低需要匹配的特征的数量,进而能够提升图像匹配的匹配效率。
应当理解,本实施例中,由于该第一图像特征中每一个第一特征的得分是通过对该第一图像特征进行特征处理得到的得分,并且该第二图像特征中每一个第二特征的得分是通过对该第二图像特征进行特征处理得到的得分,因此,基于得分进行的特征裁剪也可称为自我裁剪(self-pruning),通过自我裁剪,可以在第一图像特征中筛选出具有意义的k个第一特征,以及在第二图像特征中筛选出具有意义的k个第二特征;此外,由于第一掩码和第二掩码都是对该k个第一特征和该k个第二特征进行特征处理得到的掩码,因此,基于掩码进行的特征裁剪也可以称为交叉裁剪(interactive pruning),通过交叉裁剪,可以在k个第一特征中筛选与k个第二特征存在公共视场的i个第一特征,以及在k个第二特征中筛选出与k个第一特征存在公共视场的j个第二特征。本实施例中,通过自我裁剪和交叉裁剪,实现了对参与图像匹配的特征进行了两次筛选,能够在保证图像匹配的鲁棒性的基础上,降低需要匹配的特征的数量,进而能够提升图像匹配的匹配效率。尤其是,在工业质检和地图项目中,由于大部分图像都是背景占大多数,本申请提供的图像匹配方法可以在保证图像匹配的鲁棒性的基础上,其匹配效率提升了50%左右。
值得注意的是,本申请涉及的“匹配”是指将两幅或多幅图像中的相似区域或特征进行对应。在计算机视觉和图像处理中,匹配通常涉及到将一幅图像中的特征与另一幅图像中的特征进行匹配,以确定它们之间的对应关系。具体来说,匹配通常涉及到特征检测、特征描述和特征匹配三个步骤。特征检测是从图像中提取出一些具有代表性的特征,如角点、边缘、斑点等;特征描述则是为每个特征点生成一个描述符,以描述该特征点的局部图像信息;特征匹配则是将描述符进行比对,找出相似的特征,并建立它们之间的对应关系。该第一匹配结果是特征对,这些特征对表示两幅图像中的相似区域或特征之间的对应关系。根据不同的应用需求,这种对应关系可以用于图像拼接、目标检测、立体视觉等领域。在图像拼接中,匹配的结果可以用于将多幅图像拼接成一幅完整的图像;在目标检测中,匹配的结果可以用于检测目标在图像序列中的位置和姿态;在立体视觉中,匹配的结果可以用于从两幅或多幅图像中恢复出场景的三维结构。
在一些实施例中,该S230包括:
基于预定义的比例确定k;基于该每一个第一特征的得分,按照得分从大到小的顺序,将该第一图像特征中的前k个第一特征,确定为该k个第一特征,以及基于该每一个第二特征的得分,按照得分从大到小的顺序,将该第二图像特征中的前k个第二特征,确定为该k个第二特征。
示例性地,图像匹配装置可以根据预定义的比例确定k,然后基于k裁剪掉得分较低的第一特征,保留得分较高的第一特征,例如,图像匹配装置可以基于每一个第一特征的得分,按照得分由大到小的顺序,裁剪掉该第一图像特征中除前k个位置之外的第一特征,即保留前k个位置的第一特征,并将保留的第一特征作为该k个第一特征。类似的,图像匹配装置可以基于k裁剪掉得分较低的第二特征,保留得分较高的第二特征,例如,图像匹配装置可以基于每一个第二特征的得分,按照得分由大到小的顺序,裁剪掉该第二图像特征中除前k个位置之外的第二特征,即保留前k个位置的第二特征,并将保留的第二特征作为该k个第二特征。
当然,在其他可替代实施例中,上文涉及的预定义的比例可以用于确定需要裁剪的第一特征的数量或用于确定需要裁剪的第二特征的数量,本申请对此不作具体限定。
示例性地,该预定义的比例可以是根据经验、实验或算法优化得出的比例。
本实施例中,图像匹配装置基于预定义的比例确定k;基于该每一个第一特征的得分,按照得分从大到小的顺序,将该第一图像特征中的前k个第一特征,确定为该k个第一特征,以及基于该每一个第二特征的得分,按照得分从大到小的顺序,将该第二图像特征中的前k个第二特征,确定为该k个第二特征。这样做可以减少参与图像匹配的第一特征和第二特征的数量,进而能够减少图像匹配的计算量,即能够提高匹配效率。
在一些实施例中,基于预定义的比例确定k包括:
基于该比例和该第一图像特征的尺寸确定k,或基于该比例和该第二图像特征的尺寸确定k。
示例性地,该第一图像特征的尺寸指该第一图像特征中第一特征的数量,基于此,图像匹配装置可以基于该比例和该第一图像特征中第一特征的数量确定k,例如,该图像匹配装置可以利用该比例乘以该第一图像特征中第一特征的数量,得到k。
示例性地,该第二图像特征的尺寸指该第二图像特征中第二特征的数量,基于此,图像匹配装置可以基于该比例和该第二图像特征中第二特征的数量确定k,例如,该图像匹配装置可以利用该比例乘以该第二图像特征中第二特征的数量,得到k。
示例性地,该第一图像特征的尺寸和该第二图像特征的尺寸相等的情况下,图像匹配装置可以基于该比例和该第一图像特征的尺寸确定k,或基于该比例和该第二图像特征的尺寸确定k。
在一些实施例中,该S240包括:
确定该k个第一特征对应的第一初始掩码,以及确定该k个第二特征对应的第二初始掩码;基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第一特征进行更新,得到k个第一更新特征,以及基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第二特征进行更新,得到k个第二更新特征;基于该k个第一更新特征,对该第一初始掩码进行更新,得到第一更新掩码,以及基于该k个第二更新特征,对该第二初始掩码进行更新,得到第二更新掩码;基于该第一更新掩码确定该第一掩码,以及基于该第二更新掩码确定该第二掩码。
示例性地,图像匹配装置基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第一特征进行更新时,可以对该k个第一特征和该第一初始掩码进行融合,并基于该k个第二特征和该第二初始掩码对融合后的特征进行处理,得到该k个第一更新特征。类似的,图像匹配装置基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第二特征进行更新时,可以对该k个第二特征和该第二初始掩码进行融合,并基于该k个第一特征和该第一初始掩码对融合后的特征进行处理,得到该k个第二更新特征。
示例性地,图像匹配装置基于该k个第一更新特征对该第一初始掩码进行更新时,可以基于该k个第一更新特征,预测该k个第一更新特征的掩码,然后利用该k个第一更新特征的掩码和该第一初始掩码,确定该第一更新掩码。类似的,图像匹配装置基于该k个第二更新特征对该第二初始掩码进行更新时,可以基于该k个第二更新特征,预测该k个第二更新特征的掩码,然后利用该k个第二更新特征的掩码和该第二初始掩码,确定该第二更新掩码。
本实施例中,通过特征的更新过程,可以提升该k个第一更新特征和该k个第二更新特征在匹配任务上的表现,提升第一更新掩码对参与图像匹配的第一特征的选择效果或指导效果,以及提升第二更新掩码对参与图像匹配的第二特征的选择效果或指导效果,从而能够实现更精确的图像匹配。
在一些实施例中,确定该k个第一特征对应的第一初始掩码,以及确定该k个第二特征对应的第二初始掩码之前,该方法200还包括:
在该第一图像的尺寸和该第二图像的尺寸未对齐的情况下,将该第一图像和该第二图像对齐至相同的尺寸;其中,确定该k个第一特征对应的第一初始掩码,以及确定该k个第二特征对应的第二初始掩码,包括:
基于该第一图像的对齐处理中填充的像素,确定该第一初始掩码,该第一初始掩码中,与该k个第一特征中填充的像素的特征对应的元素为背景;基于该第二图像的对齐处理中填充的像素,确定该第二初始掩码,该第二初始掩码中,与该k个第二特征中填充的像素的特征对应的元素为背景。
示例性地,该第一初始掩码中与该K个第二特征中填充的像素的特征对应的元素可以是置0的元素。
示例性地,图像匹配装置对第一图像进行特征编码时,需要对该第一图像进行尺寸对齐,即需要将该第一图像的尺寸对齐到特定的尺寸,在这个过程中,有可能需要对该第一图像进行裁剪或像素调整,该第一图像的对齐处理中填充的像素可以是图像匹配装置对第一图像进行像素填充时填充的像素。类似的,图像匹配装置对第二图像进行特征编码时,需要对该第二图像进行尺寸对齐,即需要将该第二图像的尺寸对齐到特定的尺寸,在这个过程中,有可能需要对该第二图像进行裁剪或像素调整,该第二图像的对齐处理中填充的像素可以是图像匹配装置对第二图像进行像素填充时填充的像素。
示例性地,在该第一图像的尺寸和该第二图像的尺寸未对齐的情况下,图像匹配装置将该第一图像对齐至特定的尺寸,得到第一对齐图像,并基于该第一对齐图像中填充的像素,确定该第一初始掩码;该第一初始掩码中,与该k个第一特征中填充的像素的特征对应的元素为背景;图像匹配装置将该第二图像对齐至该特定的尺寸,得到第二对齐图像,并基于该第二对齐图像中填充的像素,确定该第二初始掩码,该第二初始掩码中,与该k个第二特征中填充的像素的特征对应的元素为背景。
本实施例中,该第一图像的对齐处理中填充的像素被认为是相对不重要的像素。相反,除填充的像素之外的像素被视为关键的像素。同样的逻辑应用于第二图像,其中填充的像素同样被设定为在初期匹配阶段不重要的像素,而其余非填充的像素则被认为是重要的像素。通过这种方式,算法可以集中精力于那些最有利于图像匹配和识别的关键像素上,从而能够提高整体的匹配性能和效率。
在一些实施例中,基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第一特征进行更新,得到k个第一更新特征和k个第二更新特征,以及基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第二特征进行更新,得到k个第二更新特征,包括:
利用该第一初始掩码乘以该k个第一特征,得到k个第一输入特征,以及利用该第二初始掩码乘以该k个第二特征,得到k个第二输入特征;利用第一自注意力块对该k个第一输入特征进行自注意力计算,并利用第一交叉注意力块对该k个第二输入特征和该第一自注意力块的输出的k个特征,得到该k个第一更新特征,以及利用第二自注意力块对该k个第二输入特征进行自注意力计算,并利用第二交叉注意力块对该k个第一输入特征和该第二自注意力块的输出的k个特征,得到该k个第二更新特征。
在注意力机制中,Q代表查询(query),K代表键(key),V代表值(value)。
其中,查询(Q):表示当前的输入或需要注意的内容,其用于指导针对键值对的关注程度。本实施例中,可以直接对该第一自注意力块的输入(例如该k个第一输入特征)和该第一自注意力块的Q值的权重进行乘法运算,得到该第一自注意力块的Q值。
键(K):表示与查询相关的特征或属性。本实施例中,可以直接对该第一自注意力块的输入(例如该k个第一输入特征)和该第一自注意力块的K值的权重进行乘法运算,得到该第一自注意力块的K值。
值(V):表示需要关注的内容或信息。本实施例中,可以直接对该第一自注意力块的输入(例如该k个第一输入特征)和该第一自注意力块的V值的权重进行乘法运算,得到该第一自注意力块的V值。
以第一注意力块为例,在得到该第一注意力块的Q值、K值以及V值后,将Q值与K值进行比较,可以计算得到自注意力图,其可以用于表征对V值的关注程度或用于衡量V值的重要程度。其中,注意力机制中注意力图的计算可以使用点积(dot product)或其他相似性度量(如欧氏距离、余弦相似度)来计算,注意力机制的输出可以对计算得到的注意力图和V值进行乘法运算的方式进行计算。本实施例中,可以对该第一自注意力块的Q值和该第一自注意力块的K值的转置进行点积(dot product)运算,得到自注意力图,然后对该第一自注意力块的V值和该自注意力图进行乘法运算,得到该第一自注意力块输出的k个特征。
值得注意的是,在自注意力机制中,用于计算Q值、K值以及V值的输入相同。例如,对于第一自注意力块,用于计算Q值、K值以及V值的输入均为该第一自注意力块的输入(例如该k个第一输入特征)。在交叉注意力机制中,用于计算Q值和K值的输入不相同,并且用于计算K值和V值的输入相同。例如,对于第一交叉注意力块,用于计算Q值的输入为该第一自注意力块输出的特征(例如该第一自注意力块的输出的k个特征),用于计算K值以及V值的输入均为其他特征(例如该k个第二输入特征)。应当理解,上文中涉及的第二自注意力块和第二交叉注意力块,其Q值、K值以及V值的定义可参考第一自注意力块和第一交叉注意力块的相关描述,为避免重复,此处不再进行赘述。
在一些实施例中,基于该k个第一更新特征,对该第一初始掩码进行更新,得到第一更新掩码,以及基于该k个第二更新特征,对该第二初始掩码进行更新,得到第二更新掩码,包括:
对该k个第一更新特征进行特征处理,得到该k个第一更新特征中每一个第一更新特征对应的两个概率,以及对该k个第二更新特征进行特征处理,得到该k个第二更新特征中每一个第二更新特征对应的两个概率,该两个概率用于表征属于公共视场的特征的概率和不属于公共视场的特征的概率;基于该每一个第一更新特征对应的两个概率,确定该k个第一更新特征对应的k个第一索引,以及基于该每一个第二更新特征对应的两个概率,确定该k个第二更新特征对应的k个第二索引,该第一索引用于表征第一更新特征对应的两个概率中最大概率值所属的通道的标识,该第二索引用于表征第二更新特征对应的两个概率中最大概率值所属的通道的标识;对该k个第一索引进行补运算处理,得到k个第一概率,以及对该k个第二索引进行补运算处理,得到k个第二概率;利用该第一初始掩码乘以该k个第一概率,得到该第一更新掩码,以及利用该第二初始掩码乘以该k个第二概率,得到该第二更新掩码。
示例性地,图像匹配装置对该k个第一更新特征进行特征处理,得到该k个第一更新特征中每一个第一更新特征对应的两个概率,该两个概率用于表征属于公共视场的特征的概率和不属于公共视场的特征的概率。相当于,图像匹配装置对k个第一更新特征进行特征处理得到两个通道对应的概率值,其中,该两个通道的维度为k,该两个通道中的一个通道为属于公共视场的通道,其包括每一个第一更新特征属于公共视场的概率值,这两个通道中的另一个通道为不属于公共视场的通道,其包括每一个第一更新特征不属于公共视场的概率值。类似的,图像匹配装置对该k个第二更新特征进行特征处理,得到该k个第二更新特征中每一个第二更新特征对应的两个概率,该两个概率用于表征属于公共视场的特征的概率和不属于公共视场的特征的概率。相当于,图像匹配装置对k个第二更新特征进行特征处理得到两个通道对应的概率值,其中,该两个通道的维度为k,该两个通道中的一个通道为属于公共视场的通道,其包括每一个第二更新特征属于公共视场的概率值,这两个通道中的另一个通道为不属于公共视场的通道,其包括每一个第二更新特征不属于公共视场的概率值。
以图像匹配装置对该k个第一更新特征进行特征处理,得到该k个第一更新特征中第一个第一更新特征对应的两个概率为例,该第一个第一更新特征对应的两个概率值为0.8和0.7,其中,0.8是属于公共视场的通道中与该第一个第一更新特征对应的概率值,0.7是不属于公共视场的通道中与该第一个第一更新特征对应的概率值。
示例性地,图像匹配装置基于该每一个第一更新特征对应的两个概率,确定该k个第一更新特征对应的k个第一索引,该第一索引用于表征第一更新特征对应的两个概率中最大概率值所属的通道的标识。相当于,图像匹配装置可以通过比较每一个第一更新特征对应的两个概率,进而将这两个概率中最大概率值所属的通道的标识,确定为该k个第一索引中的一个第一索引。类似的,图像匹配装置基于该每一个第二更新特征对应的两个概率,确定该k个第二更新特征对应的k个第二索引,该第二索引用于表征第二更新特征对应的两个概率中最大概率值所属的通道的标识。相当于,图像匹配装置可以通过比较每一个第二更新特征对应的两个概率,进而将这两个概率中最大概率值所属的通道的标识,确定为该k个第二索引中的一个第二索引。
以图像匹配装置基于第一个第一更新特征对应的两个概率,确定该第一个第一更新特征对应的第一索引为例,如果该第一个第一更新特征对应的两个概率值为0.8和0.7,其中,0.8是属于公共视场的通道中与该第一个第一更新特征对应的概率值,0.7是不属于公共视场的通道中与该第一个第一更新特征对应的概率值,由于0.8大于0.7,则该第一个第一更新特征对应的第一索引为0。如果该第一个第一更新特征对应的两个概率值为0.6和0.7,其中,0.6是属于公共视场的通道中与该第一个第一更新特征对应的概率值,0.7是不属于公共视场的通道中与该第一个第一更新特征对应的概率值,由于0.6小于0.7,则该第一个第一更新特征对应的第一索引为1。
示例性地,图像匹配装置对该k个第一索引进行补运算处理,得到k个第一概率,该k个第一概率可以作为第一更新特征的掩码,该第一更新特征的掩码可以用于对第一初始掩码进行更新,进而得到该第一更新掩码。类似的,图像匹配装置对该k个第二索引进行补运算处理,得到k个第二概率,该k个第二概率可以作为第二更新特征的掩码,该第二更新特征的掩码可以用于对第二初始掩码进行更新,进而得到该第二更新掩码。
以图像匹配装置基于第一个第一更新特征对应的两个概率,确定该第一个第一更新特征对应的第一索引为例,如果该第一个第一更新特征对应的两个概率值为0.8和0.7,其中,0.8是属于公共视场的通道中与该第一个第一更新特征对应的概率值,0.7是不属于公共视场的通道中与该第一个第一更新特征对应的概率值,由于0.8大于0.7,则该第一个第一更新特征对应的第一索引为0,基于此,图像匹配装置可以通过补运算,将该第一个第一更新特征对应的第一索引转换为:该k个第一更新特征的掩码中与该第一个第一更新特征对应的元素,即为1。如果该第一个第一更新特征对应的两个概率值为0.6和0.7,其中,0.6是属于公共视场的通道中与该第一个第一更新特征对应的概率值,0.7是不属于公共视场的通道中与该第一个第一更新特征对应的概率值,由于0.6小于0.7,则该第一个第一更新特征对应的第一索引为1,基于此,图像匹配装置可以通过补运算,将该第一个第一更新特征对应的第二索引转换为:该k个第一更新特征的掩码中与该第一个第一更新特征对应的元素,即为1。
本实施例中,考虑到公共视场会受到k个第一特征和k个第二特征的影响,如果直接基于阈值或比例,在k个第一特征中选择属于公共视场的概率值较大的第一特征对该第一初始掩码进行更新,或者,如果直接基于阈值或比例,在k个第二特征中选择属于公共视场的概率值较大的第二特征对该第一初始掩码进行更新,会导致阈值或比例难以设计而影响更新后的掩码的准确度,为解决这一问题,本实施例中,针对每一个第一更新特征和每一个第二更新特征,通过确定的两个概率值进行索引确定以及将确定的索引转换为概率,可以直接利用通过转换得到的k个第一概率乘以第一初始掩码,对该第一初始掩码进行更新,以及可以直接利用通过转换得到的k个第二概率乘以第二初始掩码,对该第二初始掩码进行更新,避免了引入阈值或比例,能够降低由于阈值或比例难以设计而影响更新后的掩码的准确度的问题。
图3是本申请实施例提供的DICS模块的示意性结构图。
如图3所示,用于表征该k个第一更新特征中的第i个第一更新特征时,图像匹配装置可以通过可微分的交互式候选选择(Differentiable Interactive CandidateSelection,DICS)模块对该/>进行特征处理,得到该/>对应的第一概率,即p i。/>用于表征该k个第二更新特征中的第i个第二更新特征时,图像匹配装置可以通过DICS模块对该/>进行特征处理,得到该/>对应的第二概率,即p i。
以得到该对应的第一概率为例,DICS模块先利用归一层对该/>进行归一处理,然后利用MLP对归一化后的特征进行处理,接着利用激活函数(例如LogSoftmax)对经过MLP的特征进行处理,得到该/>对应的两个概率;接着利用第一数学函数(例如argmax)对该/>对应的两个概率进行处理,得到该/>对应的第一索引,然后对该对应的第一索引进行补运算,得到该/>对应的第一概率,即p i。如果在训练过程中,在得到该/>对应的两个概率后,可以利用第二数学函数(例如Gumbel-Softmax)对该对应的两个概率进行处理,得到该/>对应的第一索引,然后对该/>对应的第一索引进行补运算,得到该/>对应的第一概率,即p i。
在一些实施例中,该基于该k个第一更新特征,对该第一初始掩码进行更新,得到第一更新掩码,以及基于该k个第二更新特征,对该第二初始掩码进行更新,得到第二更新掩码,包括:
基于该k个第一更新特征、该k个第二更新特征、该第一更新掩码以及该第二更新掩码,对该k个第一更新特征进行更新,得到k个第三更新特征,以及基于该k个第一更新特征、该k个第二更新特征、该第一更新掩码以及该第二更新掩码,对该k个第二更新特征进行更新,得到k个第四更新特征;基于该k个第三更新特征,对该第一更新掩码进行更新,得到第三更新掩码,以及基于该k个第四更新特征,对该第二更新掩码进行更新,得到第四更新掩码;基于该第三更新掩码确定该第一掩码,以及基于该第四更新掩码确定该第二掩码,该第一掩码为该第一初始掩码的迭代更新次数等于或大于预设阈值时得到的更新掩码,该第二掩码为该第二初始掩码的迭代更新次数等于或大于该预设阈值时得到的更新掩码。
示例性地,图像匹配装置得到第一初始掩码和第二初始掩码后,可以利用这k个第一特征、k个第二特征、第一初始掩码和第二初始掩码对k个第一特征进行迭代更新,以及可以利用这k个第一特征、k个第二特征、第一初始掩码和第二初始掩码对k个第二特征进行迭代更新,这个迭代更新过程可以包括特征的重新加权、调整或融合。类似的,图像匹配装置在每一个迭代更新过程中,得到k个第一特征的迭代更新特征和k个第二特征的迭代更新特征后,可以基于该k个第一特征的迭代更新特征对该第一初始掩码进行迭代更新,以及可以基于该k个第二特征的迭代更新特征对该第二初始掩码进行迭代更新,以此类推,直至迭代次数等于或大于预设阈值时,图像匹配装置可以将第一初始掩码的迭代更新后的掩码确定为该第一掩码,以及将该第二初始掩码的迭代更新后的掩码,确定为该第二掩码。
本实施例中,通过迭代更新过程,可以逐步提升该k个第一特征的迭代更新特征和该k个第二特征的迭代更新特征在匹配任务上的表现,逐步提升第一初始掩码经过迭代后的掩码对参与图像匹配的第一特征的选择效果或指导效果,以及逐步提升第二初始掩码经过迭代后的掩码对参与图像匹配的第二特征的选择效果或指导效果,从而能够实现更精确的图像匹配。
在一些实施例中,该S210包括:
对该第一图像进行特征编码,得到该第一图像特征和第三图像特征,以及对第二图像进行特征编码,得到该第二图像特征和第四图像特征,该第一图像特征的尺寸和该第三图像特征的尺寸不同,该第二图像特征的尺寸和该第四图像特征的尺寸不同;其中,该S250之后,该方法200还包括:
基于该第一匹配结果、该第一图像特征的尺寸、该第三图像特征的尺寸以及该第三图像特征,对该第三图像特征进行特征裁剪,得到该i个第一特征对应的i个图像块,以及基于该第一匹配结果、该第二图像特征的尺寸、该第四图像特征的尺寸以及该第四图像特征,对该第四图像特征进行特征裁剪,得到该j个第二特征对应的j个图像块;基于该i个图像块和该j个图像块对该i个图像块进行更新,得到i个更新块,以及基于该i个图像块和该j个图像块对该j个图像块进行更新,得到j个更新块;对该i个更新块的中心位置进行提取,得到i个中心位置,以及基于该第三图像和该第四图像之间的尺度差异,对该j个更新块进行缩小或放大处理,得到j个缩放块;对该j个缩放块进行位置回归处理,得到该j个缩放块对应的j个回归位置;对该i个中心位置和该j个回归位置进行匹配,第一图像和该第二图像之间的第二匹配结果。
示例性地,本申请涉及的图像特征的尺寸可以理解为图像特征在高度方向上的特征的数量与图像特征在宽度方向的特征的数量。
本实施例中,图像匹配装置获取该第一匹配结果后,通过引入第三图像特征和第四图像特征,可以将该第一匹配结果转换为在第三图像特征和第四图像特征下的第二匹配结果,提升了图像匹配的灵活性。尤其是,该第三图像特征的尺寸大于该第一图像特征的尺寸或该第四图像特征的尺寸大于该第二图像特征的尺寸的情况下,相当于,将粗粒度的匹配结果转换为细粒度的匹配结果,进而能够提升图像匹配的可靠性。
在一些实施例中,对该j个缩放块进行位置回归处理,得到该j个缩放块对应的j个回归位置,包括:
获取该j个缩放块中的第一缩放块中每一个特征的位置权重;对该第一缩放块中每一个特征的位置权重和位置进行加权计算,得到该第一缩放块的回归位置。
示例性地,图像匹配装置可以基于该第一缩放块中每一个特征的位置,确定相应的位置权重。例如,图像匹配装置可以将该第一缩放块中每一个特征的位置对应的权重,确定为相应的位置权重。
示例性地,图像匹配装置对该第一缩放块中每一个特征的位置权重和位置进行加权计算,得到该第一缩放块的回归位置,该回归位置可以是整数或浮点数,本申请对此不作具体限定。
当然,在其他可替代实施例中,图像匹配装置也可以采用其他方式确定该第一缩放块的回归位置,本申请对此不作具体限定。
图4是本申请实施例提供的模型训练方法300的示意性流程图。该方法300可以由电子设备执行。该电子设备可实施为终端设备或服务器。
该终端设备可以是用户终端,该用户终端包括但不限于智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP4播放器、MP4播放器和膝上型便携计算机等。本申请提供的图像匹配方法可以适用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础服务的云服务器。
为便于描述,下面以模型训练装置为例对该方法300进行示例性说明。
如图4所示,该方法300可包括:
S310,对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
示例性地,模型训练装置可以使用特征提取算法(如SIFT、SURF、ORB等)对第一样本图像和第二样本图像进行特征编码。该第一样本图像特征和该第二样本图像特征均可以包括一系列特征,这些特征代表了样本图像中的关键信息。
示例性地,模型训练装置可以先对第一样本图像进行尺寸对齐,即将第一样本图像和特定的样本图像尺寸进行对齐,然后对经过尺寸对齐的第一样本图像进行下采样或降采样,以得到该第一样本图像特征。类似的,模型训练装置可以先对第二样本图像进行尺寸对齐,即将第二样本图像和特定的样本图像尺寸进行对齐,然后对经过尺寸对齐的第二样本图像进行下采样或降采样,以得到该第二样本图像特征。
应当理解,该第一样本图像和该第二样本图像可以是原始样本图像、处理后的样本图像、该模型训练装置采集的样本图像、其他设备采集的样本图像、该模型训练装置下载的样本图像或该模型训练装置解码得到的样本图像等,本申请对此不作具体限定。
S320,利用得分预测模型,对该第一样本图像特征进行特征处理,得到该第一样本图像特征中每一个第一特征的得分,以及利用该得分预测模型,对该第二样本图像特征进行特征处理,得到该第二样本图像特征中每一个第二特征的得分,该得分用于表征对样本图像匹配的重要程度;
示例性地,模型训练装置可以利用得分预测模型对提取出来的第一样本图像特征进行进一步特征处理,以评估该第一样本图像特征中的每一个第一特征在样本图像匹配中的重要性,该重要性可通过得分表征。
例如,模型训练装置可以利用得分预测模型对该第一样本图像特征进行特征处理,得到该第一样本图像特征中每一个第一特征的特征类型,进而基于每一个第一特征的特征类型,确定相应的得分。例如,对该第一样本图像特征进行特征处理,对于一些在天空中、流体、树木等物体对应的特征,其会随着时间其状态发生变化也就是不稳定,相应的是不适合匹配的,因此,可以将第一得分确定为其得分,将大于该第一得分的第二得分确定为其他类型的特征的得分。再如,模型训练装置可以对该第一样本图像特征进行特征处理,确定该第一样本图像特征中每一个第一特征是否为背景,如果为背景则可以将第一得分确定为其得分,如果不为背景则将大于该第一得分的第二得分确定为其得分。
类似的,模型训练装置可以利用得分预测模型对该第二样本图像特征进行特征处理,得到该第二样本图像特征中每一个第二特征的特征类型,进而基于每一个第二特征的特征类型,确定相应的得分。例如,对于一些在天空中、流体、树木等物体对应的特征,其会随着时间其状态发生变化也就是不稳定,相应的是不适合匹配的,因此,可以将第一得分确定为其得分,将大于该第一得分的第二得分确定为其他类型的特征的得分。再如,模型训练装置可以对该第二样本图像特征进行特征处理,确定该第二样本图像特征中每一个第二特征是否为背景,如果为背景则可以将第一得分确定为其得分,如果不为背景则将大于该第一得分的第二得分确定为其得分。
S330,基于该每一个第一特征的得分,对该第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二样本图像特征进行特征裁剪,得到k个第二特征;
示例性地,k为正整数。例如,k小于该第一样本图像特征中第一特征的数量或该第二样本图像特征中第二特征的数量。
示例性地,模型训练装置可以根据每个第一特征的得分,裁剪掉得分较低的第一特征,保留得分较高的第一特征,以及基于每一个第二特征的得分,裁剪掉得分较低的第二特征,而保留得分较高的第二特征,这样做可以减少参与样本图像匹配的第一特征和第二特征的数量,进而能够减少样本图像匹配的计算量,即能够提高匹配效率。
示例性地,模型训练装置可以根据每个第一特征的得分和第一阈值,裁剪掉得分较低的第一特征,保留得分较高的第一特征,例如,模型训练装置可以基于每一个第一特征的得分,裁剪掉得分小于该第一阈值的第一特征,并保留得分大于或等于该第一阈值的第一特征。类似的,模型训练装置可以基于每一个第二特征的得分和第二阈值,裁剪掉得分较低的第二特征,保留得分较高的第二特征,例如,模型训练装置可以基于每一个第二特征的得分,裁剪掉得分小于该第二阈值的第二特征,而保留得分大于或等于该第二阈值的第二特征,这样做可以减少参与样本图像匹配的第一特征和第二特征的数量,进而能够减少样本图像匹配的计算量,即能够提高匹配效率。应当理解,用于裁剪第一特征的第一阈值和用于裁剪第二特征的第二阈值可以相同或不同,本申请对用于裁剪第一特征的第一阈值和用于裁剪第二特征的第二阈值的确定方式不作具体限定。
示例性地,模型训练装置可以根据每个第一特征的得分和第一比例,裁剪掉得分较低的第一特征,保留得分较高的第一特征,例如,模型训练装置可以基于该第一样本图像特征中第一特征的数量和该第一比例,确定需要裁减的第一特征的数量,由此,模型训练装置可以基于每一个第一特征的得分,按照得分由大到小的顺序,裁剪掉该第一样本图像特征中靠后的相应数量的第一特征,并保留剩余的第一特征。类似的,模型训练装置可以根据每个第二特征的得分和第二比例,裁剪掉得分较低的第二特征,保留得分较高的第二特征,例如,模型训练装置可以基于该第二样本图像特征中第二特征的数量和该第二比例,确定需要裁减的第二特征的数量,由此,模型训练装置可以基于每一个第二特征的得分,按照得分由大到小的顺序,裁剪掉该第二样本图像特征中靠后的相应数量的第二特征,并保留剩余的第二特征。应当理解,用于裁剪第一特征的第一比例和用于裁剪第二特征的第二比例可以相同或不同,本申请对用于裁剪第一特征的第一比例和用于裁剪第二特征的第二比例的确定方式不作具体限定。
当然,在其他可替代实施例中,上文涉及的第一比例可以替换为用于确定需要保留的第一特征的数量的比例,类似的,上文涉及的第二比例可以替换为用于确定需要保留的第二特征的数量的比例,本申请对此不作具体限定。
S340,利用交叉裁剪模型,对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
示例性地,该公共视场(Common Field of View)也可称为共可见区域,指的是两个或多个样本图像中重叠的部分,也就是这些样本图像都能够观察到的区域。在样本图像匹配的场景中,特别是当两个样本图像是从不同的视角或位置捕获的同一场景时,它们之间通常会有部分重叠。这部分重叠的区域就是公共视场。
示例性地,该第一掩码用于从k个第一特征中提取与k个第二特征有共同视场(即两个样本图像中都能观察到的区域)的特征。同样,第二掩码用于提升那些与第一样本图像特征有共同视场的第二样本图像特征。这有助于确保在匹配过程中只考虑那些在两个样本图像中都可见且具有相似性的特征。
示例性地,模型训练装置可以基于该k个第一特征和该k个第二特征,利用交叉裁剪模型进行自注意力计算和交叉注意力计算,以得到该第一掩码和该第二掩码。例如,该模型训练装置可以基于该k个第一特征的自注意力计算的结果和该k个第二特征,确定该第一掩码;以及该模型训练装置可以基于该k个第二特征的自注意力计算的结果和该k个第一特征,确定该第二掩码。
示例性地,考虑到对于输入的两张样本图像,参与匹配的特征只需要考虑位于公共视场的特征,基于此,模型训练装置可基于该第一掩码可以从k个第一特征中选择出i个与第二样本图像有共同视场的特征,而基于该第二掩码可以从k个第二特征中选择出j个与第一样本图像有共同视场的特征。这样,该i个第一特征和该j个第二特征作为两个优化后的特征集,它们只包含那些在两个样本图像中都可见且具有相似性的特征,在特征匹配阶段,只需要在公共视场内的特征之间寻找匹配关系,从而提高了匹配效率。
示例性地,i小于或等于k,j小于或等于k。
S350,基于该每一个第一特征的得分和该每一个第二特征的得分,训练该得分预测模型,以及基于该第一掩码和该第二掩码,训练该交叉裁剪模型。
示例性地,该模型训练装置基于该每一个第一特征的得分和该每一个第二特征的得分,训练该得分预测模型,以及基于该第一掩码和该第二掩码,训练该交叉裁剪模型,可以提升得分和掩码的准确度,进而能够应用该得分预测模型和交叉裁剪模型进行图像匹配时,可以提升匹配效果。
在一些实施例中,该S350包括:
基于用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,和该第一样本图像特征中的第一特征的得分之间的差异,构建第一损失函数;基于用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,和该第二样本图像特征中的第二特征的得分之间的差异,构建第二损失函数;基于该第一损失函数和该第二损失函数,训练该得分预测模型。
示例性地,模型训练装置利用用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,对该第一样本图像特征中的第一特征的得分进行监督,以及利用用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,对该第二样本图像中的第二特征的得分进行监督。相当于,用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,可以作为该第一样本图像特征中的第一特征的标签,用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,可以作为该第二样本图像中的第二特征的得分的标签。或者说,该第一样本图像和该第二样本图像作为训练集中的样本图像时,模型训练装置在得到每一个第一特征的得分和每一个第二特征的得分后,可以利用用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,对该第一样本图像特征中的第一特征的得分进行监督,以及利用用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,对该第二样本图像中的第二特征的得分进行监督。
换言之,模型训练装置可以基于该第一样本图像特征中第一特征的得分和用于表征该第一样本图像特征中的第一特征是否具有深度信息的掩码,来构建第一样本图像特征中第一特征的得分的第一损失函数,以及模型训练装置可以基于该第二样本图像特征中第二特征的得分和用于表征该第二样本图像特征中的第二特征是否具有深度信息的掩码,来构建第二样本图像特征中第二特征的得分的第二损失函数。基于此,模型训练装置可以基于该第一损失函数和该第二损失函数对该得分预测模型的参数进行调整,即能够实现对该得分预测模型的训练。
示例性地,由于该第一样本图像特征中的第一特征是否具有深度信息的掩码,可以用于表征相应的第一特征是否为前景(例如,该第一样本图像特征中的第一特征是否具有深度信息的掩码的取值为1时表示为前景,该第一样本图像特征中的第一特征是否具有深度信息的掩码的取值为0时表示为背景),因此该得分预测模型的训练可以设计为:该第一样本图像特征中为前景的第一特征的得分较高,该第一样本图像特征中为背景的第一特征的得分较低;或者可以设计为:得分较高第一特征(例如得分靠前的k个第一特征)为该第一样本图像特征中为前景。也即是说,可以基于用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,和该第一样本图像特征中的第一特征的得分之间的差异,构建第一损失函数,以及基于该第一损失函数对该第一样本图像特征中的第一特征的得分进行监督,使得用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,和该第一样本图像特征中的第一特征的得分尽可能的匹配。
类似的,由于该第二样本图像特征中的第二特征是否具有深度信息的掩码,可以用于表征相应的第二特征是否为前景(例如,该第二样本图像特征中的第二特征是否具有深度信息的掩码的取值为1时表示为前景,该第二样本图像特征中的第二特征是否具有深度信息的掩码的取值为0时表示为背景),因此该得分预测模型的训练可以设计为:该第二样本图像特征中为前景的第二特征的得分较高,该第二样本图像特征中为背景的第二特征的得分较低;或者可以设计为:得分较高第二特征(例如得分靠前的k个第二特征)为该第二样本图像特征中为前景。也即是说,可以基于用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,和该第二样本图像特征中的第二特征的得分之间的差异,构建第二损失函数,以及基于该第二损失函数对该第二样本图像特征中的第二特征的得分进行监督,使得用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,和该第二样本图像特征中的第二特征的得分尽可能的匹配。
本实施例中,利用用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,对该第一样本图像特征中的第一特征的得分进行监督,以及利用用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,对该第二样本图像中的第二特征的得分进行监督,相当于,可以激励得分预测模型为具有深度信息的特征(第一特征或第二特征)赋予更高的得分,或激励得分预测模型为得分靠前的k个特征(第一特征或第二特征)为具有深度信息的特征,使得在实际匹配过程中,筛选出的k个第一特征和k个第二特征都是具有深度信息的像素的特征,由此基于该得分预测模型预测得到的得分对第一特征和第二特征的裁剪时,进而可以减少参与样本图像匹配的第一特征和第二特征的数量,进而能够减少样本图像匹配的计算量,即能够提高匹配效率。
在一些实施例中,该S350包括:
基于该第一掩码和公共掩码之间的差异,构建第三损失函数,以及基于该第二掩码和公共掩码之间的差异,构建第四损失函数;其中,该公共掩码为用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码;基于该第三损失函数和该第四损失函数,训练该交叉裁剪模型。
示例性地,模型训练装置利用用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码,对该第一掩码和该第二掩码进行监督。相当于,该公共掩码可以作为该第一掩码和该第二掩码的标签,用于对该交叉裁剪模型进行训练。或者说,该第一样本图像和该第二样本图像作为训练集中的样本图像时,模型训练装置在得到该第一掩码和该第二掩码后,可以利用用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码,对该第一掩码和该第二掩码进行监督。
换言之,模型训练装置可以基于该第一掩码和用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码,来构建第三损失函数,以及模型训练装置可以基于该第二掩码和用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码,来构建第四损失函数。由此,该模型训练装置可以基于该第一损失函数和该第四损失函数对该交叉裁剪模型进行模型参数的调整,进而能够实现对该交叉裁剪模型的训练。
示例性地,由于该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,因此该交叉裁剪模型的训练可以设计为:该公共视场中为前景的第一特征作为需要提取的第一特征,该公共视场中为背景的第一特征作为不需要提取的第一特征。也即是说,基于该第一掩码和公共掩码之间的差异,构建第三损失函数,以及基于该第三损失函数对该第一掩码进行监督,使得用于表征公共视场内是否具有深度信息的掩码,和该第一掩码尽可能的匹配。
类似的,由于该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征,因此该交叉裁剪模型的训练可以设计为:该公共视场中为前景的第二特征作为需要提取的第二特征,该公共视场中为背景的第二特征作为不需要提取的第二特征。也即是说,基于该第二掩码和公共掩码之间的差异,构建第三损失函数,以及基于该第三损失函数对该第二掩码进行监督,使得用于表征公共视场内是否具有深度信息的掩码,和该第二掩码尽可能的匹配。
本实施例中,利用用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码,对该第一掩码和该第二掩码进行监督,相当于,可以激励交叉裁剪模型为具有深度信息的特征(第一特征或第二特征)赋予更高的得关注,即利用该第一掩码对该k个第一特征进行裁剪,以及利用该第二掩码对该k个第二特征进行裁剪时,可以减少参与样本图像匹配的第一特征和第二特征的数量,进而能够减少样本图像匹配的计算量,即能够提高匹配效率。
需要说明的是,该方法300中的S310~S340可参考上文涉及的方法200中的S210~S240,为避免重复,此处不再进行赘述。
图5是本申请实施例提供的图像匹配方法的另一示意性流程图。
如图5所示,本申请提供的图像匹配方法的整体流程可以分为第一阶段、匹配层(matching layer)和第二阶段。该第一阶段也可以称为粗阶段(coarse-level),第二阶段也可以称为最终阶段(fine-level)),其中裁剪(pruning)筛选操作主要在第一阶段,得到筛选过后的特征后得到两张图之间的缩放(scale),输入到第二阶段对其进行缩放后再进行位置回归。
下面对各个过程进行详细说明。
一、第一阶段中的自我裁剪(Self-pruning)。
图像匹配装置可以采用ResNet-FPN架构对第一图像和第二图像进行特征编码分别进行特征提取,得到第一图像特征和第二图像特征,该第一图像特征和该第二图像特征可以表示为。为了处理这些特征,本申请可以使用一个简单的MLP将/>从原始的256通道编码为单通道表示。然后,可以应用Sigmoid函数将单通道标识转换为相应的得分。例如,可通过以下公式确定该第一图像特征中每一个第一特征的得分和第二图像特征中每一个第二特征的得分:
。
其中,表示得分,/>表示第一图像特征或第二图像特征。
图像匹配装置得到该第一图像特征中每一个第一特征的得分和第二图像特征中每一个第二特征的得分后,可以基于一个给定的选择比例α,可以根据的尺寸计算出所选的特征数量(即上文涉及的k)。例如,首先可以收集第一图像特征中得分较高的k个第一特征,可将其记为/>,以及收集第二图像特种中得分较高的k个第二特征,可将其记为/>。只有选定的/>参与匹配流程的下一阶段。这种方法旨在消除该第一图像特征中不适合的第一特征和第二图像特征中不适合的第二特征,同时,/>能够保留具有信息的区域,进而能够实现效率和准确性之间的平衡。由于匹配过程中的信息候选特征总是可以从多视角三角测量中重建深度,因此可以使用深度信号进行自我裁剪的结果监督。
值得注意的是,常规的特征提取方法,如SIFT,通常在梯度显著的区域识别关键点。随着深度学习的发展,出现了各种基于深度学习的关键点和描述符方法。但是,这些方法中的大多数将局部响应特征最大值作为关键点,大多数关键点可用于匹配刚性、静态物体。相反,天空、行人和植物等区域通常不适合关键点,对图像匹配构成挑战。
本申请实施例中,认为图像中的所有特征(包括第一图像特征中所有的第一特征和第二图像特征中所有的第二特征)对图像匹配的重要性并不相同,基于此,本实施例中,通过引入得分,得到,避免了将第一图像特征中所有的第一特征和第二图像特征中所有的第二特征纳入匹配过程,自动过滤掉不适合匹配的第一特征和第二特征,从而集中在最具信息的第一特征和第二特征上,能够提升图像匹配的匹配效率。
二、第一阶段中的交叉裁剪(Interactive-pruning)。
与仅涉及单图像信息的自我裁剪不同,交叉裁剪通常将作为输入,这种方法允许更全面地进行信息交互以及利用/>的信息。此外,与自我裁剪的选择不同,本申请设计了一个DICS模块,可以在不引入阈值或比例的情况下,在k个第一特征中选择i个第一特征,在k个第二特征中选择j个第二特征,实现自动选择过程且无需任何超参数。另外,本申请提供的方案中,在经过DICS模块的处理后,图像匹配装置可以丢弃裁剪的特征或可以保留裁剪的特征作为隐式特征。
图像匹配装置进行交叉裁剪时,可以先基于第一图像的对齐处理中填充的像素确定其对应的第一初始掩码,以及基于该第二图像的对齐处理中填充的像素确定其对应的第二初始掩码。例如,在该第一图像的尺寸和该第二图像的尺寸未对齐的情况下,图像匹配装置将该第一图像对齐至特定的尺寸,得到第一对齐图像,并基于该第一对齐图像中填充的像素,确定该第一初始掩码;该第一初始掩码中,与该k个第一特征中填充的像素的特征对应的元素为背景;图像匹配装置将该第二图像对齐至该特定的尺寸,得到第二对齐图像,并基于该第二对齐图像中填充的像素,确定该第二初始掩码,该第二初始掩码中,与该k个第二特征中填充的像素的特征对应的元素为背景。
进一步的,如图5所示,图像匹配装置得到第一初始掩码和第二初始掩码后,可以利用、第一初始掩码和第二初始掩码进行自注意力和交叉注意力计算,得到经过第一次更新后的特征以及/>经过第一次更新后的特征,然后,图像匹配装置可基于/>经过第一次更新后的特征,利用DICS模块得到第一初始掩码经过第一次更新后的掩码,以及基于/>经过第一次更新后的特征,利用DICS模块得到第二初始掩码经过第一次更新后的掩码;接着,图像匹配装置可以利用/>、第一初始掩码经过第一次更新后的掩码和第二初始掩码经过第一次更新后的掩码进行自注意力和交叉注意力计算,得到/>经过第二次更新后的特征以及/>经过第二次更新后的特征,然后,图像匹配装置可基于/>经过第二次更新后的特征,利用DICS模块得到第一初始掩码经过第二次更新后的掩码,以及基于/>经过第二次更新后的特征,利用DICS模块得到第二初始掩码经过第二次更新后的掩码;以此类推,图像匹配装置得到第一初始掩码经过第N次更新后的掩码和第二初始掩码经过第N次更新后的掩码后,可以将第一初始掩码经过第N次更新后的掩码,确定为用于在/>中选择i个第一特征的掩码,以及将第二初始掩码经过第N次更新后的掩码,确定为用于在/>中选择i个第一特征的掩码。
关于自注意力计算和交叉注意力计算,其可采用以下公式进行计算:
。
。
。
。
其中,SA表示自注意力计算,CA表示交叉注意力计算,表示/>经过第n次更新后的特征,/>表示/>经过第n-1次更新后的特征,/>表示/>经过第n次更新后的特征,/>表示/>经过第n-1次更新后的特征,/>表示该第一初始掩码经过第n-1次更新后的掩码,/>表示该第二初始掩码经过第n-1次更新后的掩码。
DICS模块旨在高效地选择和利用自注意力计算和交叉注意计算后的最相关、最可靠的特征,以提高匹配过程中的性能。
与通常在图像匹配模型中使用的普通和线性注意机制不同,本实施例中采用DICS模块,计算在每个注意过程后需要裁剪的候选特征。如果一个令牌需要裁剪,相应的掩码将更改为无效(False)。为了确定在每个注意操作后保留或裁剪哪些候选特征,本申请可以引入一个轻量级的网络,基于保留概率和裁剪概率,即/>和/>。例如,可通过以下公式预测:
。
。
其中,表示基于/>经过第n次更新后的特征预测的保留概率和裁剪概率,表示基于/>经过第n次更新后的特征预测的保留概率和裁剪概率,/>表示经过第n次更新后的特征,/>表示/>经过第n次更新后的特征。
图像匹配装置得到后,需要设置一个比例来决定保留的特征。然而,不同的特征对具有不同的公共视场,使得选择候选特性的比例难以设计。为解决这个问题,本实施例中,在DICS模块的训练过程中,可以将离散的top-K掩码的采样放宽为连续近似,使用Gumbel-Softmax使离散决策可微。例如,可以通过以下公式,来确定用于对/>和进行更新:
。
。
。
。
其中,表示基于/>经过第n次更新后的特征预测的保留概率和裁剪概率,表示/>经过第n次更新后的特征的最大概率所在的通道的索引,/>表示该第一初始掩码经过第n-1次更新后的掩码,/>表示基于/>经过第n次更新后的特征预测的保留概率和裁剪概率,/>表示/>经过第n次更新后的特征的最大概率所在的通道的索引,/>表示该第二初始掩码经过第n-1次更新后的掩码。
在DICS模块的训练阶段,可以获得两通道的独热(one-hot)向量,并选择第一个通道作为保留通道,基于进行交互式选择。对于DICS模块的测试阶段,可以使用argmax,其中/>和/>用于选择。与自我裁剪不同,直接丢弃裁剪的候选特征,DICS模块保留它们,但使用掩码隐式地裁剪它们。这种方法使得裁剪过程更灵活、更高效,因为如果需要,仍可以访问和利用裁剪的候选特征,而掩码确保在主要计算过程中不考虑它们。此外,argmax更快一些,训练时argmax不可导,所以在训练阶段使用Gumbel-Softmax,在测试阶段使用argmax。
三、第一阶段和第二阶段中采用的损失函数。
第一阶段和第二阶段中采用的损失函数主要包括两部分:裁剪损失和匹配损失。
裁剪阶段包括自我裁剪和隐式交互式裁剪过程。本申请将两者都视为每个候选特征的二分类任务。对于自我裁剪,它由深度有效信息监督,表示为/>,其中值1表示深度大于0。对于隐式交互式裁剪,使用选定的公共视场的深度信息/>进行监督,这些候选特征是基于深度、相机姿态、内在参数和自我裁剪结果计算的。自我裁剪损失记为/>,其可以使用交叉熵(CE)损失。另一方面,交互式裁剪损失记为/>,其可以使用Focal损失,因为交互结果受到自我裁剪结果的影响,导致共可见候选特征类别不平衡。
。
。
其中,表示为/>是否具有深度信息的掩码(即用于表征/>中的第一特征是否具有深度信息的掩码),/>表示为/>是否具有深度信息的掩码(即用于表征中的第二特征是否具有深度信息的掩码),/>表示为/>的公共视场是否具有深度信息的掩码(即上文涉及的公共掩码),/>表示该第一初始掩码经过第N次更新后的掩码(即上文涉及的第一掩码),/>表示该第二初始掩码经过第N次更新后的掩码(即上文涉及的第二掩码)。
例如,第一阶段和第二阶段中采用的损失函数可以通过以下公式表示:
。
其中,表示自我裁剪损失,/>表示交互式裁剪损失,/>表示粗匹配损失,/>表示精细匹配损失/>。其中,在第一阶段得到一个匹配的概率矩阵Pc,/>就是对Pc的监督,而第二阶段则是对特征的位置偏差的监督,因为有深度和相机内参,给定图像中一个特征坐标(x,y)通过多视几何计算就能找到其在另一张图中的位置(x', y')。这个(x',y')和估计出来位置的偏差就是对应的精细匹配损失。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上文涉及的实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上文涉及的具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上文涉及的各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图6是本申请实施例提供的图像匹配装置400的示意性框图。
如图6所示,该图像匹配装置400可包括:
编码单元410,用于对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;
第一处理单元420,用于对该第一图像特征进行特征处理,得到该第一图像特征中每一个第一特征的得分,以及对该第二图像特征进行特征处理,得到该第二图像特征中每一个第二特征的得分,该得分用于表征对图像匹配的重要程度;
裁剪单元430,用于基于该每一个第一特征的得分,对该第一图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二图像特征进行特征裁剪,得到k个第二特征;
第二处理单元440,用于对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
匹配单元450,用于对该i个第一特征和该j个第二特征进行特征匹配,得到该第一图像和该第二图像之间的第一匹配结果。
在一些实施例中,该裁剪单元430具体用于:
基于预定义的比例确定k;
基于该每一个第一特征的得分,按照得分从大到小的顺序,将该第一图像特征中的前k个第一特征,确定为该k个第一特征,以及基于该每一个第二特征的得分,按照得分从大到小的顺序,将该第二图像特征中的前k个第二特征,确定为该k个第二特征。
在一些实施例中,该裁剪单元430具体用于:
基于该比例和该第一图像特征的尺寸确定k,或基于该比例和该第二图像特征的尺寸确定k。
在一些实施例中,该第二处理单元440具体用于:
确定该k个第一特征对应的第一初始掩码,以及确定该k个第二特征对应的第二初始掩码;
基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第一特征进行更新,得到k个第一更新特征,以及基于该k个第一特征、该k个第二特征、该第一初始掩码以及该第二初始掩码,对该k个第二特征进行更新,得到k个第二更新特征;
基于该k个第一更新特征,对该第一初始掩码进行更新,得到第一更新掩码,以及基于该k个第二更新特征,对该第二初始掩码进行更新,得到第二更新掩码;
基于该第一更新掩码确定该第一掩码,以及基于该第二更新掩码确定该第二掩码。
在一些实施例中,该第二处理单元440确定该k个第一特征对应的第一初始掩码,以及确定该k个第二特征对应的第二初始掩码之前,还用于:
在该第一图像的尺寸和该第二图像的尺寸未对齐的情况下,将该第一图像和该第二图像对齐至相同的尺寸;其中,该第二处理单元440具体用于:
基于该第一图像的对齐处理中填充的像素,确定该第一初始掩码,该第一初始掩码中,与该k个第一特征中填充的像素的特征对应的元素为背景;基于该第二图像的对齐处理中填充的像素,确定该第二初始掩码,该第二初始掩码中,与该k个第二特征中填充的像素的特征对应的元素为背景。
在一些实施例中,该第二处理单元440具体用于:
利用该第一初始掩码乘以该k个第一特征,得到k个第一输入特征,以及利用该第二初始掩码乘以该k个第二特征,得到k个第二输入特征;
利用第一自注意力块对该k个第一输入特征进行自注意力计算,并利用第一交叉注意力块对该k个第二输入特征和该第一自注意力块的输出的k个特征,得到该k个第一更新特征,以及利用第二自注意力块对该k个第二输入特征进行自注意力计算,并利用第二交叉注意力块对该k个第一输入特征和该第二自注意力块的输出的k个特征,得到该k个第二更新特征。
在一些实施例中,该第二处理单元440具体用于:
对该k个第一更新特征进行特征处理,得到该k个第一更新特征中每一个第一更新特征对应的两个概率,以及对该k个第二更新特征进行特征处理,得到该k个第二更新特征中每一个第二更新特征对应的两个概率,该两个概率用于表征属于公共视场的特征的概率和不属于公共视场的特征的概率;
基于该每一个第一更新特征对应的两个概率,确定该k个第一更新特征对应的k个第一索引,以及基于该每一个第二更新特征对应的两个概率,确定该k个第二更新特征对应的k个第二索引,该第一索引用于表征第一更新特征对应的两个概率中最大概率值所属的通道的标识,该第二索引用于表征第二更新特征对应的两个概率中最大概率值所属的通道的标识;
对该k个第一索引进行补运算处理,得到k个第一概率,以及对该k个第二索引进行补运算处理,得到k个第二概率;
利用该第一初始掩码乘以该k个第一概率,得到该第一更新掩码,以及利用该第二初始掩码乘以该k个第二概率,得到该第二更新掩码。
在一些实施例中,该第二处理单元440具体用于:
基于该k个第一更新特征、该k个第二更新特征、该第一更新掩码以及该第二更新掩码,对该k个第一更新特征进行更新,得到k个第三更新特征,以及基于该k个第一更新特征、该k个第二更新特征、该第一更新掩码以及该第二更新掩码,对该k个第二更新特征进行更新,得到k个第四更新特征;
基于该k个第三更新特征,对该第一更新掩码进行更新,得到第三更新掩码,以及基于该k个第四更新特征,对该第二更新掩码进行更新,得到第四更新掩码;
基于该第三更新掩码确定该第一掩码,以及基于该第四更新掩码确定该第二掩码,该第一掩码为该第一初始掩码的迭代更新次数等于或大于预设阈值时得到的更新掩码,该第二掩码为该第二初始掩码的迭代更新次数等于或大于该预设阈值时得到的更新掩码。
在一些实施例中,该编码单元410具体用于:
对该第一图像进行特征编码,得到该第一图像特征和第三图像特征,以及对第二图像进行特征编码,得到该第二图像特征和第四图像特征,该第一图像特征的尺寸和该第三图像特征的尺寸不同,该第二图像特征的尺寸和该第四图像特征的尺寸不同;
其中,该匹配单元420得到该第一图像和该第二图像之间的第一匹配结果之后,还用于:
基于该第一匹配结果、该第一图像特征的尺寸、该第三图像特征的尺寸以及该第三图像特征,对该第三图像特征进行特征裁剪,得到该i个第一特征对应的i个图像块,以及基于该第一匹配结果、该第二图像特征的尺寸、该第四图像特征的尺寸以及该第四图像特征,对该第四图像特征进行特征裁剪,得到该j个第二特征对应的j个图像块;
基于该i个图像块和该j个图像块对该i个图像块进行更新,得到i个更新块,以及基于该i个图像块和该j个图像块对该j个图像块进行更新,得到j个更新块;
对该i个更新块的中心位置进行提取,得到i个中心位置,以及基于该第三图像和该第四图像之间的尺度差异,对该j个更新块进行缩小或放大处理,得到j个缩放块;
对该j个缩放块进行位置回归处理,得到该j个缩放块对应的j个回归位置;
对该i个中心位置和该j个回归位置进行匹配,第一图像和该第二图像之间的第二匹配结果。
在一些实施例中,该匹配单元420具体用于:
获取该j个缩放块中的第一缩放块中每一个特征的位置权重;
对该第一缩放块中每一个特征的位置权重和位置进行加权计算,得到该第一缩放块的回归位置。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。具体地,图像匹配装置400可以对应于执行本申请实施例的方法200中的相应主体,并且图像匹配装置400中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
图7是本申请实施例提供的模型训练装置500的示意性框图。
如图7所示,该模型训练装置500可包括:
编码单元510,用于对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
第一处理单元520,用于利用得分预测模型,对该第一样本图像特征进行特征处理,得到该第一样本图像特征中每一个第一特征的得分,以及利用该得分预测模型,对该第二样本图像特征进行特征处理,得到该第二样本图像特征中每一个第二特征的得分,该得分用于表征对样本图像匹配的重要程度;
裁剪单元530,用于基于该每一个第一特征的得分,对该第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于该每一个第二特征的得分,对该第二样本图像特征进行特征裁剪,得到k个第二特征;
第二处理单元540,用于利用交叉裁剪模型,对该k个第一特征和该k个第二特征进行特征处理,得到该k个第一特征对应的第一掩码和该k个第二特征对应的第二掩码,该第一掩码用于提取该k个第一特征中与该k个第二特征存在公共视场的i个第一特征,该第二掩码用于提升该k个第二特征中与该k个第一特征存在公共视场的j个第二特征;
训练单元550,用于基于该每一个第一特征的得分和该每一个第二特征的得分,训练该得分预测模型,以及基于该第一掩码和该第二掩码,训练该交叉裁剪模型。
在一些实施例中,该训练单元550具体用于:
基于用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,和该第一样本图像特征中的第一特征的得分之间的差异,构建第一损失函数;基于用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,和该第二样本图像特征中的第二特征的得分之间的差异,构建第二损失函数;基于该第一损失函数和该第二损失函数,训练该得分预测模型。
在一些实施例中,该训练单元550具体用于:
基于该第一掩码和公共掩码之间的差异,构建第三损失函数,以及基于该第二掩码和公共掩码之间的差异,构建第四损失函数;其中,该公共掩码为用于表征该k个第一特征和该k个第二特征的公共视场是否具有深度信息的掩码;基于该第三损失函数和该第四损失函数,训练该交叉裁剪模型。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。具体地,模型训练装置500可以对应于执行本申请实施例的方法300中的相应主体,并且模型训练装置500中的各个单元分别为了实现方法300中的相应流程,为了简洁,在此不再赘述。
还应理解,本申请实施例涉及的装置400或装置500中的各个单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现,甚至,这些功能也可以由一个或多个其它单元协助实现。例如,装置400或装置500中的部分或全部合并为一个或若干个另外的单元。再如,装置400或装置500中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。再如,装置400或装置500也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
还应理解,本申请实施例涉及的术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的装置400或装置500,以及来实现本申请实施例的方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,计算机程序用来实现本申请实施例的相应方法。换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为利用硬件译码处理器执行完成,或者利用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。存储器中的软件可通过处理器运行,以完成上文涉及的方法实施例中的步骤。
图8是本申请实施例提供的电子设备600的示意结构图。
如图8所示,该电子设备600至少包括处理器610以及计算机可读存储介质620。其中,处理器610以及计算机可读存储介质620可通过总线或者其它方式连接。计算机可读存储介质620用于存储计算机程序621,计算机程序621包括计算机指令,处理器610用于执行计算机可读存储介质620存储的计算机指令。处理器610是电子设备600的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器610也可称为中央处理器(Central Processing Unit,CPU)。处理器610可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立元件门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质620可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器610的计算机可读存储介质。具体而言,计算机可读存储介质620包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
如图8所示,该电子设备600还可以包括收发器630。
其中,处理器610可以控制该收发器630与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器630可以包括发射机和接收机。收发器630还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备600中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。值得注意的是,该电子设备600可以是任意一种具有数据处理能力的电子设备。该计算机可读存储介质620中存储有第一计算机指令,该第一计算指令由处理器610加载并执行,可以实现图2或图4所示方法实施例中的相应步骤。为避免重复,此处不再进行赘述。
根据本申请的另一方面,本申请实施例提供了一种芯片。该芯片可以是一种集成电路芯片,具有信号的处理能力,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。该芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。该芯片可应用到各种能够安装芯片的电子设备中,使得安装有该芯片的设备能够执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。例如,该芯片可以是适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
根据本申请的另一方面,本申请实施例提供了一种计算机可读存储介质(Memory)。该计算机可读存储介质是计算机的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机中的内置存储介质,当然,也可以包括计算机所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备的操作系统。该存储空间中存放了适于被处理器加载并执行的计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。
根据本申请的另一方面,本申请实施例提供了一种计算机程序产品或计算机程序。该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。换言之,当使用软件实现本申请提供的方案时,可以全部或部分地以计算机程序产品或计算机程序的形式实现。该计算机程序产品或计算机程序包括一个或多个计算机指令。在计算机上加载和执行这些计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。
值得注意的是,本申请涉及的计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。本申请涉及的计算机指令可以存储在计算机可读存储介质中,或者可以从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。换言之,专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请所保护的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的基本思想,其同样应当视为本申请所公开的内容。
Claims (17)
1.一种图像匹配方法,其特征在于,包括:
对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;
对所述第一图像特征进行特征处理,得到所述第一图像特征中每一个第一特征的得分,以及对所述第二图像特征进行特征处理,得到所述第二图像特征中每一个第二特征的得分,所述得分用于表征对图像匹配的重要程度;
基于所述每一个第一特征的得分,对所述第一图像特征进行特征裁剪,得到k个第一特征,以及基于所述每一个第二特征的得分,对所述第二图像特征进行特征裁剪,得到k个第二特征;
对所述k个第一特征和所述k个第二特征进行特征处理,得到所述k个第一特征对应的第一掩码和所述k个第二特征对应的第二掩码,所述第一掩码用于提取所述k个第一特征中与所述k个第二特征存在公共视场的i个第一特征,所述第二掩码用于提升所述k个第二特征中与所述k个第一特征存在公共视场的j个第二特征;
对所述i个第一特征和所述j个第二特征进行特征匹配,得到所述第一图像和所述第二图像之间的第一匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述每一个第一特征的得分,对所述第一图像特征进行特征裁剪,得到k个第一特征,以及基于所述每一个第二特征的得分,对所述第二图像特征进行特征裁剪,得到k个第二特征,包括:
基于预定义的比例确定k;
基于所述每一个第一特征的得分,按照得分从大到小的顺序,将所述第一图像特征中的前k个第一特征,确定为所述k个第一特征,以及基于所述每一个第二特征的得分,按照得分从大到小的顺序,将所述第二图像特征中的前k个第二特征,确定为所述k个第二特征。
3.根据权利要求2所述的方法,其特征在于,所述基于预定义的比例确定k,包括:
基于所述比例和所述第一图像特征的尺寸确定k,或基于所述比例和所述第二图像特征的尺寸确定k。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述k个第一特征和所述k个第二特征进行特征处理,得到所述k个第一特征对应的第一掩码和所述k个第二特征对应的第二掩码,包括:
确定所述k个第一特征对应的第一初始掩码,以及确定所述k个第二特征对应的第二初始掩码;
基于所述k个第一特征、所述k个第二特征、所述第一初始掩码以及所述第二初始掩码,对所述k个第一特征进行更新,得到k个第一更新特征,以及基于所述k个第一特征、所述k个第二特征、所述第一初始掩码以及所述第二初始掩码,对所述k个第二特征进行更新,得到k个第二更新特征;
基于所述k个第一更新特征,对所述第一初始掩码进行更新,得到第一更新掩码,以及基于所述k个第二更新特征,对所述第二初始掩码进行更新,得到第二更新掩码;
基于所述第一更新掩码确定所述第一掩码,以及基于所述第二更新掩码确定所述第二掩码。
5.根据权利要求4所述的方法,其特征在于,在所述对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征之前,所述方法还包括:
在所述第一图像的尺寸和所述第二图像的尺寸未对齐的情况下,将所述第一图像和所述第二图像对齐至相同的尺寸;
所述确定所述k个第一特征对应的第一初始掩码,以及确定所述k个第二特征对应的第二初始掩码,包括:
基于所述第一图像的对齐处理中填充的像素,确定所述第一初始掩码,所述第一初始掩码中,与所述k个第一特征中填充的像素的特征对应的元素为背景;
基于所述第二图像的对齐处理中填充的像素,确定所述第二初始掩码,所述第二初始掩码中,与所述k个第二特征中填充的像素的特征对应的元素为背景。
6.根据权利要求4所述的方法,其特征在于,所述基于所述k个第一特征、所述k个第二特征、所述第一初始掩码以及所述第二初始掩码,对所述k个第一特征进行更新,得到k个第一更新特征和k个第二更新特征,以及基于所述k个第一特征、所述k个第二特征、所述第一初始掩码以及所述第二初始掩码,对所述k个第二特征进行更新,得到k个第二更新特征,包括:
利用所述第一初始掩码乘以所述k个第一特征,得到k个第一输入特征,以及利用所述第二初始掩码乘以所述k个第二特征,得到k个第二输入特征;
利用第一自注意力块对所述k个第一输入特征进行自注意力计算,并利用第一交叉注意力块对所述k个第二输入特征和所述第一自注意力块的输出的k个特征,得到所述k个第一更新特征,以及利用第二自注意力块对所述k个第二输入特征进行自注意力计算,并利用第二交叉注意力块对所述k个第一输入特征和所述第二自注意力块的输出的k个特征,得到所述k个第二更新特征。
7.根据权利要求4所述的方法,其特征在于,所述基于所述k个第一更新特征,对所述第一初始掩码进行更新,得到第一更新掩码,以及基于所述k个第二更新特征,对所述第二初始掩码进行更新,得到第二更新掩码,包括:
对所述k个第一更新特征进行特征处理,得到所述k个第一更新特征中每一个第一更新特征对应的两个概率,以及对所述k个第二更新特征进行特征处理,得到所述k个第二更新特征中每一个第二更新特征对应的两个概率,所述两个概率用于表征属于公共视场的特征的概率和不属于公共视场的特征的概率;
基于所述每一个第一更新特征对应的两个概率,确定所述k个第一更新特征对应的k个第一索引,以及基于所述每一个第二更新特征对应的两个概率,确定所述k个第二更新特征对应的k个第二索引,所述第一索引用于表征第一更新特征对应的两个概率中最大概率值所属的通道的标识,所述第二索引用于表征第二更新特征对应的两个概率中最大概率值所属的通道的标识;
对所述k个第一索引进行补运算处理,得到k个第一概率,以及对所述k个第二索引进行补运算处理,得到k个第二概率;
利用所述第一初始掩码乘以所述k个第一概率,得到所述第一更新掩码,以及利用所述第二初始掩码乘以所述k个第二概率,得到所述第二更新掩码。
8.根据权利要求4所述的方法,其特征在于,所述基于所述k个第一更新特征,对所述第一初始掩码进行更新,得到第一更新掩码,以及基于所述k个第二更新特征,对所述第二初始掩码进行更新,得到第二更新掩码,包括:
基于所述k个第一更新特征、所述k个第二更新特征、所述第一更新掩码以及所述第二更新掩码,对所述k个第一更新特征进行更新,得到k个第三更新特征,以及基于所述k个第一更新特征、所述k个第二更新特征、所述第一更新掩码以及所述第二更新掩码,对所述k个第二更新特征进行更新,得到k个第四更新特征;
基于所述k个第三更新特征,对所述第一更新掩码进行更新,得到第三更新掩码,以及基于所述k个第四更新特征,对所述第二更新掩码进行更新,得到第四更新掩码;
基于所述第三更新掩码确定所述第一掩码,以及基于所述第四更新掩码确定所述第二掩码,所述第一掩码为所述第一初始掩码的迭代更新次数等于或大于预设阈值时得到的更新掩码,所述第二掩码为所述第二初始掩码的迭代更新次数等于或大于所述预设阈值时得到的更新掩码。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征,包括:
对所述第一图像进行特征编码,得到所述第一图像特征和第三图像特征,以及对第二图像进行特征编码,得到所述第二图像特征和第四图像特征,所述第一图像特征的尺寸和所述第三图像特征的尺寸不同,所述第二图像特征的尺寸和所述第四图像特征的尺寸不同;
其中,所述得到所述第一图像和所述第二图像之间的第一匹配结果之后,所述方法还包括:
基于所述第一匹配结果、所述第一图像特征的尺寸、所述第三图像特征的尺寸以及所述第三图像特征,对所述第三图像特征进行特征裁剪,得到所述i个第一特征对应的i个图像块,以及基于所述第一匹配结果、所述第二图像特征的尺寸、所述第四图像特征的尺寸以及所述第四图像特征,对所述第四图像特征进行特征裁剪,得到所述j个第二特征对应的j个图像块;
基于所述i个图像块和所述j个图像块对所述i个图像块进行更新,得到i个更新块,以及基于所述i个图像块和所述j个图像块对所述j个图像块进行更新,得到j个更新块;
对所述i个更新块的中心位置进行提取,得到i个中心位置,以及基于所述第三图像和所述第四图像之间的尺度差异,对所述j个更新块进行缩小或放大处理,得到j个缩放块;
对所述j个缩放块进行位置回归处理,得到所述j个缩放块对应的j个回归位置;
对所述i个中心位置和所述j个回归位置进行匹配,第一图像和所述第二图像之间的第二匹配结果。
10.根据权利要求9所述的方法,其特征在于,所述对所述j个缩放块进行位置回归处理,得到所述j个缩放块对应的j个回归位置,包括:
获取所述j个缩放块中的第一缩放块中每一个特征的位置权重;
对所述第一缩放块中每一个特征的位置权重和位置进行加权计算,得到所述第一缩放块的回归位置。
11.一种模型训练方法,其特征在于,包括:
对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
利用得分预测模型,对所述第一样本图像特征进行特征处理,得到所述第一样本图像特征中每一个第一特征的得分,以及利用所述得分预测模型,对所述第二样本图像特征进行特征处理,得到所述第二样本图像特征中每一个第二特征的得分,所述得分用于表征对样本图像匹配的重要程度;
基于所述每一个第一特征的得分,对所述第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于所述每一个第二特征的得分,对所述第二样本图像特征进行特征裁剪,得到k个第二特征;
利用交叉裁剪模型,对所述k个第一特征和所述k个第二特征进行特征处理,得到所述k个第一特征对应的第一掩码和所述k个第二特征对应的第二掩码,所述第一掩码用于提取所述k个第一特征中与所述k个第二特征存在公共视场的i个第一特征,所述第二掩码用于提升所述k个第二特征中与所述k个第一特征存在公共视场的j个第二特征;
基于所述每一个第一特征的得分和所述每一个第二特征的得分,训练所述得分预测模型,以及基于所述第一掩码和所述第二掩码,训练所述交叉裁剪模型。
12.根据权利要求11所述的方法,其特征在于,所述基于所述每一个第一特征的得分和所述每一个第二特征的得分,训练所述得分预测模型,包括:
基于用于表征第一样本图像特征中的第一特征是否具有深度信息的掩码,和所述第一样本图像特征中的第一特征的得分之间的差异,构建第一损失函数;以及基于用于表征第二样本图像特征中的第二特征是否具有深度信息的掩码,和所述第二样本图像特征中的第二特征的得分之间的差异,构建第二损失函数;
基于所述第一损失函数和所述第二损失函数,训练所述得分预测模型。
13.根据权利要求11或12所述的方法,其特征在于,所述基于所述第一掩码和所述第二掩码,训练所述交叉裁剪模型,包括:
基于所述第一掩码和公共掩码之间的差异,构建第三损失函数,以及基于所述第二掩码和公共掩码之间的差异,构建第四损失函数;其中,所述公共掩码为用于表征所述k个第一特征和所述k个第二特征的公共视场是否具有深度信息的掩码;
基于所述第三损失函数和所述第四损失函数,训练所述交叉裁剪模型。
14.一种图像匹配装置,其特征在于,包括:
编码单元,用于对第一图像进行特征编码,得到第一图像特征,以及对第二图像进行特征编码,得到第二图像特征;
第一处理单元,用于对所述第一图像特征进行特征处理,得到所述第一图像特征中每一个第一特征的得分,以及对所述第二图像特征进行特征处理,得到所述第二图像特征中每一个第二特征的得分,所述得分用于表征对图像匹配的重要程度;
裁剪单元,用于基于所述每一个第一特征的得分,对所述第一图像特征进行特征裁剪,得到k个第一特征,以及基于所述每一个第二特征的得分,对所述第二图像特征进行特征裁剪,得到k个第二特征;
第二处理单元,用于对所述k个第一特征和所述k个第二特征进行特征处理,得到所述k个第一特征对应的第一掩码和所述k个第二特征对应的第二掩码,所述第一掩码用于提取所述k个第一特征中与所述k个第二特征存在公共视场的i个第一特征,所述第二掩码用于提升所述k个第二特征中与所述k个第一特征存在公共视场的j个第二特征;
匹配单元,用于对所述i个第一特征和所述j个第二特征进行特征匹配,得到所述第一图像和所述第二图像之间的第一匹配结果。
15.一种模型训练装置,其特征在于,包括:
编码单元,用于对第一样本图像进行特征编码,得到第一样本图像特征,以及对第二样本图像进行特征编码,得到第二样本图像特征;
第一处理单元,用于利用得分预测模型,对所述第一样本图像特征进行特征处理,得到所述第一样本图像特征中每一个第一特征的得分,以及利用所述得分预测模型,对所述第二样本图像特征进行特征处理,得到所述第二样本图像特征中每一个第二特征的得分,所述得分用于表征对样本图像匹配的重要程度;
裁剪单元,用于基于所述每一个第一特征的得分,对所述第一样本图像特征进行特征裁剪,得到k个第一特征,以及基于所述每一个第二特征的得分,对所述第二样本图像特征进行特征裁剪,得到k个第二特征;
第二处理单元,用于利用交叉裁剪模型,对所述k个第一特征和所述k个第二特征进行特征处理,得到所述k个第一特征对应的第一掩码和所述k个第二特征对应的第二掩码,所述第一掩码用于提取所述k个第一特征中与所述k个第二特征存在公共视场的i个第一特征,所述第二掩码用于提升所述k个第二特征中与所述k个第一特征存在公共视场的j个第二特征;
训练单元,用于基于所述每一个第一特征的得分和所述每一个第二特征的得分,训练所述得分预测模型,以及基于所述第一掩码和所述第二掩码,训练所述交叉裁剪模型。
16.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1至13中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410409905.8A CN118097189A (zh) | 2024-04-07 | 2024-04-07 | 图像匹配方法、模型训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410409905.8A CN118097189A (zh) | 2024-04-07 | 2024-04-07 | 图像匹配方法、模型训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118097189A true CN118097189A (zh) | 2024-05-28 |
Family
ID=91165165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410409905.8A Pending CN118097189A (zh) | 2024-04-07 | 2024-04-07 | 图像匹配方法、模型训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118097189A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322745A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Local Image Statistics Collection |
CN110728330A (zh) * | 2019-10-23 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象识别方法、装置、设备及存储介质 |
CN114882301A (zh) * | 2022-07-11 | 2022-08-09 | 四川大学 | 基于感兴趣区域的自监督学习医学图像识别方法及装置 |
CN115731408A (zh) * | 2022-11-21 | 2023-03-03 | 上海励驰半导体有限公司 | 图像处理模型的训练方法、装置、电子设备及存储介质 |
-
2024
- 2024-04-07 CN CN202410409905.8A patent/CN118097189A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322745A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Local Image Statistics Collection |
CN110728330A (zh) * | 2019-10-23 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象识别方法、装置、设备及存储介质 |
CN114882301A (zh) * | 2022-07-11 | 2022-08-09 | 四川大学 | 基于感兴趣区域的自监督学习医学图像识别方法及装置 |
CN115731408A (zh) * | 2022-11-21 | 2023-03-03 | 上海励驰半导体有限公司 | 图像处理模型的训练方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
董荣胜;程德强;李凤英;: "用于图像检索的多区域交叉加权聚合深度卷积特征", 计算机辅助设计与图形学学报, no. 04, 15 April 2018 (2018-04-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131978B (zh) | 一种视频分类方法、装置、电子设备和存储介质 | |
EP3757905A1 (en) | Deep neural network training method and apparatus | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
US20220222918A1 (en) | Image retrieval method and apparatus, storage medium, and device | |
CN111523621A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111353076A (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
CN112639828A (zh) | 数据处理的方法、训练神经网络模型的方法及设备 | |
CN112348117B (zh) | 场景识别方法、装置、计算机设备和存储介质 | |
CN109711422A (zh) | 图像数据处理、模型的建立方法、装置、计算机设备和存储介质 | |
CN111639677B (zh) | 一种基于多分路通道扩容网络的垃圾图像分类方法 | |
CN113033507B (zh) | 场景识别方法、装置、计算机设备和存储介质 | |
CN113569598A (zh) | 图像处理方法和图像处理装置 | |
CN113705596A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN113449548A (zh) | 更新物体识别模型的方法和装置 | |
CN111291785A (zh) | 目标检测的方法、装置、设备及存储介质 | |
CN116110074A (zh) | 一种基于图神经网络的动态小股行人识别方法 | |
CN118097189A (zh) | 图像匹配方法、模型训练方法、装置、设备及存储介质 | |
Li et al. | Global attention network for collaborative saliency detection | |
CN113822291A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
Yang et al. | Boundary-guided DCNN for building extraction from high-resolution remote sensing images | |
CN111079704A (zh) | 一种基于量子计算的人脸识别方法及装置 | |
CN113989579B (zh) | 图像检测方法、装置、设备以及存储介质 | |
CN117058498B (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 |