CN113962846A - 图像对齐方法及装置、计算机可读存储介质及电子设备 - Google Patents
图像对齐方法及装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN113962846A CN113962846A CN202111056372.2A CN202111056372A CN113962846A CN 113962846 A CN113962846 A CN 113962846A CN 202111056372 A CN202111056372 A CN 202111056372A CN 113962846 A CN113962846 A CN 113962846A
- Authority
- CN
- China
- Prior art keywords
- image
- optical flow
- homography
- feature
- source
- 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 72
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 230000003287 optical effect Effects 0.000 claims abstract description 226
- 239000011159 matrix material Substances 0.000 claims abstract description 80
- 238000003062 neural network model Methods 0.000 claims abstract description 63
- 238000012549 training Methods 0.000 claims description 53
- 238000000605 extraction Methods 0.000 claims description 52
- 239000013598 vector Substances 0.000 claims description 32
- 230000004927 fusion Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 abstract description 18
- 230000000694 effects Effects 0.000 abstract description 14
- 230000000875 corresponding effect Effects 0.000 description 29
- 230000009466 transformation Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 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 3
- 230000009471 action Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003313 weakening effect Effects 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001575 pathological effect Effects 0.000 description 1
- 230000007170 pathology Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G06T3/04—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G06T3/14—
Abstract
本申请涉及图像处理技术领域,提供一种图像对齐方法及装置、计算机可读存储介质及电子设备。其中,图像对齐方法包括:基于源图像和目标图像,利用神经网络模型计算得到多个权重;利用多个权重将对应的多个光流基进行求和,得到第一单应性光流;利用第一单应性光流将源图像向目标图像对齐;方法中的每个权重对应第一单应性光流的一个光流基,第一单应性光流为源图像和目标图像之间的单应性矩阵对应的光流。该方法通过高效率、高精度的单应性估计,显著改善了图像对齐的效果,并且方法具有良好的鲁棒性,能够适应图像中的不同场景。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种图像对齐方法及装置、计算机可读存储介质及电子设备。
背景技术
图像对齐是计算机视觉应用的基础之一,例如,高动态范围(High-DynamicRange,简称HDR)、超分辨率、降噪、全景创建、图像/视频拼接、同步定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)、增强现实(Augmented Reality,简称AR)以及视频稳定功能等方向都会涉及图像对齐技术。
图像对齐针技术对的基本场景是不同时刻(或不同摄像头、不同条件下)获取的两张图像,以其中一张图像为目标图像,另一张图像为源图像,对源图像中的像素进行坐标变换,使得在变换后两张图像中对应于实际场景的同一位置的像素能够完全对准。
在现有的各种图像对齐方法中,基于单应性的方法由于其简单和高效的特点得到了广泛应用。这类方法的大致过程如下:首先提取源图像和目标图像中的特征点;然后确定两张图像中匹配的特征点,形成若干点对,并剔除其中的匹配错误点对;接着根据剩余的点对进行直接线性变换(Direct Linear Transform,简称DLT)求解,得到单应性矩阵;最后根据得到的单应性矩阵将源图像对齐到目标图像。
然而,若图像是在弱纹理、低光照等环境下采集的,上述步骤中的特征点匹配将存在困难,导致图像对齐效果较差。
发明内容
本申请实施例的目的在于提供一种图像对齐方法及装置、计算机可读存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种图像对齐方法,包括:基于源图像和目标图像,利用神经网络模型计算得到多个权重;其中,每个权重对应第一单应性光流的一个光流基,所述第一单应性光流为所述源图像和所述目标图像之间的单应性矩阵对应的光流;利用所述多个权重将对应的多个光流基进行求和,得到所述第一单应性光流;利用所述第一单应性光流将所述源图像向所述目标图像对齐。
上述方法中使用了神经网络进行单应性计算,因此是一种基于深度学习的方法,对图像中存在弱纹理、低光照等情况也能够较好地处理,并且也不需要进行直接线性变换求解,其运算量较低。
并且,上述方法中的神经网络回归的是光流基的权重,而非直接回归单应性矩阵的参数。一方面,单应性矩阵的参数只是代数值,其物理意义不明显,而不同的光流基对应不同的运动模式,其权重相对而言物理意要明显一些,从而有利于网络学习到具有物理意义的特征,提高单应性光流的估计精度。另一方面,单应性矩阵的各参数之间量纲差别较大(例如,可能在10-5~102之间浮动),利用神经网络直接进行参数回归精度较差,而权重在量纲上基本没有差别,回归精度较高。此外,在加权求和时,权重作用于光流基中的每个像素,即回归权重的方式有利于从全局角度实现图像对齐。
总之,该方法通过高效率、高精度的单应性估计,显著改善了图像对齐的效果,并且方法具有良好的鲁棒性,能够适应图像中的不同场景。
在第一方面的一种实现方式中,所述光流基的数量不少于8个。
由于单应性矩阵中有8个自由度(对应单应性矩阵的8个参数),因此,为了较好地描述单应性光流,可以采用8个或8个以上的光流基。
在第一方面的一种实现方式中,所述光流基的数量为8个,在所述基于源图像和目标图像,利用神经网络模型计算得到多个权重之前,所述方法还包括:生成8个原始光流基;其中,所述原始光流基的尺寸和所述源图像的尺寸以及所述目标图像的尺寸均相同,且所述8个原始光流基中的像素分别按照以下8种方式取值:(1,0)、(0,1)、(x,0)、(0,y)、(y,0)、(0,x)、(x2,xy)、(xy,y2),x和y分别代表像素的横坐标和纵坐标;对所述8个原始光流基进行正交化,得到对应的8个光流基。
首先,上述实现方式给出了8个原始光流基的数学形式,该数学形式与源图像、目标图像的内容无关,仅与其尺寸有关,使得生成原始光流基的步骤变得十分简单;其次,上述8个原始光流基的数学形式可以通过修改恒等单应性矩阵(主对角线元素为1、其他元素为0的3×3矩阵)产生,即与单应性估计具有紧密的联系;再者,上述8个原始光流基的数学形式可以代表图像中不同的运动模式:(1,0)、(0,1)代表平移,(x,0)、(0,y)、(y,0)、(0,x)代表仿射变换,(x2,xy)、(xy,y2)则代表透射变换,因此其对应的权重也有比较好的物理意义;最后,在生成光流基时还会对原始光流基进行正交化,有利于简化运算,进一步提高单应性光流的估计精度。
在第一方面的一种实现方式中,所述神经网络模型中包括至少一个低秩重构模块,所述低秩重构模块用于利用子空间投影对模块的输入特征进行降秩。
由于单应性矩阵自由度只有8,因此有理由相信,在理想情况下,神经网络所提取到的、与单应性矩阵对应的特征,其秩应该是比较低的。然而,实际中发现这些特征的秩往往比较高,发明人研究后认为,图像中存在多平面运动、运动物体、亮度变化等噪声(这里的噪声可以理解为对单应性估计不利的因素)时,都会导致特征的秩增加,通过在神经网络模型中设置低秩重构模块对特征进行降秩,使得网络只能在一个低秩空间中去回归光流基的权重,这样网络学习到的特征就会更加符合单应性矩阵对运动描述,从而很好地削弱了上述噪声所造成的影响,进而基于这样的特征进行单应性估计(在本申请的方案中具体指回归权重)也就越准确。
注意,由于单应性矩阵的局限性,图像中不同像素的运动方式通常并不能用一个单应性矩阵进行精确描述,因此本申请的方案中估计的单应性矩阵可以认为是一个主导单应性矩阵,即图像中大多数像素的运动方式都符合或者基本符合此单应性矩阵对运动的描述,从而用此单应性矩阵进行图像对齐自然会获得较好的效果。
在第一方面的一种实现方式中,所述低秩重构模块包括:第一分支、第二分支以及投影结构;其中,所述第一分支用于基于所述输入特征构建子空间的基,并向所述投影结构传递所述子空间的基,所述第二分支用于直接向所述投影结构传递所述输入特征,所述投影结构用于根据所述子空间的基将所述输入特征投影到所述子空间内,并输出投影后的特征;所述子空间的维度小于所述输入特征所在的向量空间的维度。
低秩重构模块的两个分支分别用于向投影结构传递输入特征和低秩子空间的基,投影结构依据线性代数中的子空间投影公式即可实现对输入特征的降维,整个模块设计简单、执行效率高。
在第一方面的一种实现方式中,所述神经网络模型包括:特征提取单元、特征融合单元以及权重预测单元;所述基于源图像和目标图像,利用神经网络模型计算得到多个权重,包括:利用所述特征提取单元分别提取所述源图像的基础特征和所述目标图像的基础特征;利用所述特征融合单元融合所述源图像的基础特征和所述目标图像的基础特征,得到融合基础特征;利用所述权重预测单元基于所述融合基础特征计算所述多个权重;其中,所述权重预测单元中包括所述至少一个低秩重构模块。
在上述神经网络模型的结构中,首先,通过特征提取及特征融合,将源图像和目标图像的因素纳入单应性估计的考虑范畴,其次,通过设置低秩重构模块对特征进行降秩,从而有利于提高估计精度,进而改善图像对齐的效果。
在第一方面的一种实现方式中,所述神经网络模型对应的损失函数包括三重态损失,所述三重态损失中的锚点特征为目标训练图像经所述特征提取单元处理后得到的特征,正样本特征为源训练图像先经所述特征提取单元处理、再利用第二单应性光流扭曲后得到的特征,负样本特征为所述源训练图像经所述特征提取单元处理后得到的特征;其中,所述源训练图像和所述目标训练图像均为训练所述神经网络模型时使用的图像,所述第二单应性光流为训练时利用所述神经网络模型计算得到的、所述源训练图像和所述目标训练图像之间的单应性矩阵对应的光流。
三重态损失(Triplet Loss)中定义了锚点(Anchor,简称A)、正样本(Positive,简称P)以及负样本(Negative,简称N)的概念,锚点和正样本是同类样本,锚点和负样本是不同类的样本,三重态损失的目的在于尽可能减小锚点特征(网络对锚点进行特征提取的结果)与正样本特征(网络对正样本进行特征提取的结果)之间的距离、并尽量增大正样本特征与负样本特征(网络对负样本进行特征提取的结果)之间的距离,从而提高网络对相似样本的区分能力。
上述实现方式将三重态损失与单应性估计这一场景进行了有机结合,有利于提高图像对齐精度,同时有利于避免神经网络模型收敛到病态的全零解上。
在第一方面的一种实现方式中,所述神经网络模型对应的损失函数还包括特征恒等损失,所述特征恒等损失表征第一特征与第二特征的差异,所述第一特征为所述源训练图像先经所述特征提取单元处理、再利用所述第二单应性光流扭曲后得到的特征,所述第二特征为所述源训练图像先利用所述第二单应性光流扭曲、再经所述特征提取单元处理后得到的特征。
特征恒等损失可视为在三重态损失的基础上所引入的一个正则化项,该正则化项可起到对特征提取单元的参数进行约束的作用,避免神经网络模型收敛到某种病态的局部最优解上。
第二方面,本申请实施例提供一种图像对齐装置,包括:权重计算模块,用于基于源图像和目标图像,利用神经网络模型计算得到多个权重;其中,每个权重对应第一单应性光流的一个光流基,所述第一单应性光流为所述源图像和所述目标图像之间的单应性矩阵对应的光流;光流计算模块,用于利用所述多个权重将对应的多个光流基进行求和,得到所述第一单应性光流;图像对齐模块,用于利用所述第一单应性光流将所述源图像向所述目标图像对齐。
第三方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第五方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种图像对齐方法的流程;
图2示出了本申请实施例提供的一种神经网络模型的结构;
图3示出了本申请实施例提供的一种图像对齐装置的结构;
图4示出了本申请实施例提供的一种电子设备的结构。
具体实施方式
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,简称AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
在计算机视觉中,图像对齐是一项基础任务,而基于单应性的图像对齐又是一类被广泛使用的方法,这类方法的基本思想是估计一个源图像和目标图像之间的单应性矩阵,然后利用该单应性矩阵将源图像变换到目标图像的坐标系下。可见,这类方法的关键在于单应性估计,所谓单应性估计,既可以是直接估计源图像和目标图像之间的单应性矩阵,也可以是估计单应性光流,单应性估计的估计精度直接决定图像对齐效果。
其中,单应性矩阵是一个3×3的矩阵,单应性光流也是一个矩阵,其尺寸与源图像的尺寸及目标图像的尺寸相同(源图像和目标图像尺寸通常是相同的),该矩阵中的每个像素值(也可以称为光流值)包括一个x分量和一个y分量。单应性光流可由单应性矩阵转换得到,其可以代替单应性矩阵进行图像对齐。例如,一种转换方法如下:对于源图像中的任一坐标(x,y),将其与单应性矩阵H相乘,会得到一个新的坐标(x’,y’),用该新坐标减去原始坐标即可以得到坐标(x,y)处的单应性光流值flow_H(x,y)=(x’-x,y’-y),遍历源图像中的所有坐标,就可以得到单应性光流flow_H。
传统方法使用特征匹配的方式进行单应性估计,已证明在弱纹理、低光照等场景下表现较差(因为这些场景下不容易找到匹配的特征点)。
在一些替代方案中,使用深度学习的方法进行单应性估计,例如,将源图像和目标图像输入至一个训练好的神经网络模型,利用该神经网络模型进行单应性估计。基于深度学习的方法又存在诸多变种:例如,直接利用神经网络模型回归单应性矩阵的参数;又例如,利用神经网络模型回归图像中4个角点(也可能是其他既定点)的运动情况,这样就可以得到另一张图像上4个对应的点,进而形成4个点对,再根据点对进行直接线性变换求解,得到单应性矩阵,等等。
发明人研究发现,基于深度学习的方法通过学习具有鲁棒性的深度特征(而非传统方法中显式的图像特征),能够很好地应对弱纹理、低光照等场景带来的挑战。但这类方法对于图像中存在运动物体、多平面运动、光照变化等噪声(这里的噪声可以理解为对单应性估计不利的因素)的情况,所提取到的特征易受其影响,而导致单应性估计精度下降,进而导致图像对齐效果不佳。
本申请实施例中图像对齐方法,从总体上说属于一种基于深度学习进行单应性估计的方法,但又通过一些改进措施,改善了这类方法所存在的固有缺陷,提高了图像对齐精度。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1示出了本申请实施例提供的一种图像对齐方法的流程,该方法可以但不限于由一电子设备执行,图4示出了该电子设备的一种可能的结构,具体见后文关于图4的阐述。参照图1,该方法包括:
步骤S110:基于源图像和目标图像,利用神经网络模型计算得到多个权重。
步骤S120:利用多个权重将对应的多个光流基进行求和,得到第一单应性光流。
步骤S130:利用第一单应性光流将源图像向目标图像对齐。
其中,目标图像是作为对齐的基准的图像,而源图像则是要进行对齐的图像,源图像和目标图像如何获取不限,例如可以是摄像头实时采集,可以利用计算机视觉算法生成,可以是从已有的数据集中读取,等等。
在后文阐述时,主要以源图像和目标图像满足如下两个条件的情况为例,其他情况可以类似分析:
(1)源图像和目标图像的内容针对同一场景
源图像和目标图像的内容若并非针对同一场景,则对二者进行图像对齐也没有太大意义。例如,若源图像和目标图像是同一摄像头在不同时刻针对同一场景采集的图像,或者,源图像和目标图像是不同摄像头在同一时刻针对同一场景采集的图像,都可以满足条件(1)。
(2)源图像和目标图像尺寸相同
源图像和目标图像具有相同的尺寸,可以简化图像对齐过程中的运算。若最开始获得两张原始图像尺寸不同,则可以通过填充0、缩放等方式将二者的尺寸调整为相同。在后文的例子中,假设源图像和目标图像的尺寸均为H×W×1,其中H表示图像的高度,W表示图像的宽度,1表示图像的通道数。
步骤S110中的神经网络模型是预先训练好的,该模型的输入为源图像和目标图像,输出为多个权重,但也不排除包含其他输入或输出量。神经网络模型的具体结构不限,在后文会给出具体的例子。
步骤S110中输出的权重是步骤S120中对光流基进行加权求和所使用的,因此权重的数量和光流基的数量是相同的,并且每个权重对应一个光流基。这里先介绍一下光流基的概念:
根据前文内容可知,单应性光流为单应性矩阵对应的光流,其尺寸为H×W×2,由于单应性光流的每个像素值都包括一个x分量和一个y分量,所以其通道数为2。一组光流基,实际上也就是一组线性无关的光流,光流基的尺寸与单应性光流的尺寸是相同的,也是H×W×2。如果光流基共有N个(N>1),则它们形成了一个N维向量空间,若将单应性光流视为该向量空间中的光流,则根据线性代数的知识,单应性光流必然是这N个光流基的线性组合,即可以通过N个权重对N个光流基进行加权求和来重构单应性光流。
这里需要澄清一个问题,一般而言,线性相关/无关所针对的对象是向量而非矩阵,因此上面所说各个光流基之间是线性无关的,严格来说是指光流基转化成的向量之间是线性无关的,例如,可以将尺寸为H×W×2的光流基整形(reshape)成S×1的向量,其中S=H×W×2。同理,上面所说的将单应性光流视为N维向量空间中的光流,可以理解为将单应性光流转化成的向量视为N维向量空间中的向量。
通过上面的分析不难看出,能否用一组光流基重构单应性光流,取决于单应性光流是否属于这组光流基所形成的向量空间。
此条件看似难以判断,但其实可以这样理解:单应性光流并没有所谓的“标准答案”,利用单应性进行图像对齐本来就有其局限性(当然也有其优势),图像中不同像素的运动方式很可能是不同的,仅仅用一个矩阵并不能完美地表达每个像素的运动情况,因此本申请的方案中所要估计的单应性光流也只是一个主导单应性矩阵的光流,该主导单应性矩阵能够有效描述图像中大多数像素的运动方式,从而基于其进行图像对齐对于大多数像素都具有较好的效果。所以,选择不同的光流基(包括光流基中的像素值不同和/或光流基的数量不同)来重构单应性光流,只是影响单应性光流的重构精度,并不存在不能进行重构的限制。
在步骤S120中,将源图像和目标图像之间的单应性光流称为第一单应性光流,便于和后文的第二单应性光流区分。重构第一单应性光流所使用的光流基可以在步骤S110执行之前的某个时刻生成,在步骤S120中直接读取使用即可。另外,光流基在生成时,可以只受源图像和目标图像尺寸的影响(与二者尺寸相同),但不受源图像和目标图像内容的影响,换句话说,对于有多组源图像和目标图像的情况,如果源图像和目标图像的尺寸保持不变,则可以只生成一次光流基,后续一直使用这组光流基,无需另外生成光流基,后文会给出生成光流基的例子。
例如,将源图像记为Ia,目标图像记为Ib,对于有8个光流基的情况,步骤S110得到的8个权重分别记为a1~a8,8个对应的光流基分别记为h1~h8,第一单应性光流记为hab,则hab的计算公式为:
这里要注意,在代入上述公式计算时,需要先将h1~h8转化成向量的形式(因为该加权求和关系在向量空间中才成立),在计算出hab后,则可将其从向量形式转化为矩阵形式,这也符合对单应性光流的一般表达方式。
在步骤S120中计算好第一单应性光流后,步骤S130则可利用第一单应性光流对源图像进行坐标变换,将其对齐到目标图像,具体变换方式可参考现有技术。需要注意的是,获得了第一单应性光流后就可以进行图像对齐,没有必要再将第一单应性光流转换为对应的单应性矩阵。
下面分析一下上述图像对齐方法的有益效果:
其一,该方法中使用了神经网络进行单应性计算,因此是一种基于深度学习的方法,所以对图像中存在弱纹理、低光照等情况也能够较好地处理,并且也不需要进行直接线性变换求解,其运算量较低。
其二,该方法中的神经网络模型回归的是光流基的权重,而非直接回归单应性矩阵的参数,也不是回归既定点的运动情况。一方面,单应性矩阵的参数只是代数值,其物理意义不明显,而不同的光流基对应不同的运动模式(因为光流直接就反映像素坐标的运动),其权重相对而言物理意要明显一些,从而有利于网络学习到具有物理意义的特征,提高单应性光流的估计精度。另一方面,单应性矩阵的各参数之间量纲差别较大(例如,单应性矩阵中与平移相关的参数其量纲可能是102级别,与透射变换相关的参数其量纲可能是10-5级别),利用神经网络模型直接进行参数回归精度较差,而权重在量纲上基本没有差别,回归精度较高。此外,在加权求和时,权重作用于光流基中的每个像素,即回归权重的方式有利于从全局角度实现图像对齐,而回归既定点的方式则过分关注既定点的运动状态,缺乏对图像像素的整体运动状态的考虑。
总之,上述图像对齐方法通过高效率、高精度的单应性估计,显著改善了图像对齐的效果,并且方法具有良好的鲁棒性,能够适应图像中存在的不同场景。
下面,在以上实施例的基础上,继续阐述光流基的选择与生成:
单应性矩阵共有9个元素,按照从左到右、从上到下的顺序,前8个元素(也称为单应性矩阵的8个参数)是可变的,即自由度为8,最后一个元素一般固定为1。这8个参数中,前2个参数为平移参数,中间4个参数为仿射变换(包括旋转、缩放、错切)参数,后2个参数为透射变换参数。
从而,在一些实现方式中,可选择不少于8个的光流基,即光流基的数量至少与单应性矩阵的8个参数对应,以便较好地重构第一单应性光流。其中,单应性矩阵的前6个参数可以分别对应一个光流基,最后2个透射变换参数则可以对应2个或2个以上的光流基。
进一步的,以光流基的数量为8个的情况为例,在执行步骤S110之前,可以通过以下方式得到8个光流基:
步骤A:生成8个原始光流基。
其中,原始光流基的尺寸和光流基的尺寸相同,也是H×W×1。并且,8个原始光流基中的像素分别按照以下8种方式取值:(1,0)、(0,1)、(x,0)、(0,y)、(y,0)、(0,x)、(x2,xy)、(xy,y2),这里的x和y分别代表像素的横坐标和纵坐标。例如,对于第一个原始光流基,其中的每个像素值均为(1,0),对于第三个原始光流基,其第一行的第一个像素值为(0,0),第一行的第二个像素值为(1,0),第一行的第三个像素值为(2,0),以此类推。
8个原始光流基也可以通过修改恒等单应性矩阵(主对角线元素为1、其他元素为0的3×3矩阵,该矩阵对应一个恒等变换)中的参数产生,每次修改一个参数,共修改8次,且各次修改相互独立(即都是基于恒等单应性矩阵修改,而不是在其他修改的基础上进一步修改),例如,第一次修改可将恒等单应性矩阵的第一个元素的值从1改为1.2,第二次修改可将恒等单应性矩阵的第二个元素的值从0改为1,以此类推,具体要修改为什么值没有严格限制(但不要修改成0)。每次修改后,将得到的单应性矩阵转化为对应的单应性光流,然后再对得到的单应性光流进行归一化,即可得到8个原始光流基。其中,对某个单应性光流进行归一化,可以是指将该单应性光流中的每个像素值除以该单应性光流中的像素值最大值,通过归一化,可以消除之前在修改恒等单应性矩阵时所采用的修改值不同的影响。
可以证明,通过修改恒等单应性矩阵的方式计算出的8个原始光流基的数学表达是就是前面所给出的。从而,一旦固化下了8个原始光流基的表达式,后续只需按照表达式以及原始光流基的尺寸就可以生成原始光流基。
步骤B:对8个原始光流基进行正交化,得到对应的8个光流基。
通过正交化,可以使得所得到的8个光流基是两两正交的。正交化可以采用QR分解(分解后取Q矩阵作为光流基)、Schmidt正交化等方式。
下面简单分析一下通过上述步骤A和B得到光流基的优势:
其一,上述实现方式给出了8个原始光流基的数学形式,该数学形式与源图像、目标图像的内容无关,仅与其尺寸有关,使得生成原始光流基的步骤变得十分简单高效。
其二,上述8个原始光流基的数学形式可以通过修改恒等单应性矩阵产生,即与单应性矩阵中的参数具有紧密的联系,并非凭空产生。
其三,上述8个原始光流基的数学形式可以代表图像中不同的运动模式:(1,0)、(0,1)代表平移,(x,0)、(0,y)、(y,0)、(0,x)代表仿射变换,(x2,xy)、(xy,y2)则代表透射变换,因此其对应的权重也有比较好的物理意义。
其四,在生成光流基时会对原始光流基进行正交化,有利于简化运算,进一步提高单应性光流的估计精度。
应当指出,虽然上面给出的光流基的生成方式是较好的,但也不排除其他生成光流基的方式。例如,也可以直接将上面的原始光流基作为光流基,不进行正交化操作;又例如,也可以直接将修改恒等单应性矩阵得到的单应性光流作为光流基(即原始光流基往前回溯一个归一化步骤);或者,也可以采用通过其他方式所确定的一组不相关的光流作为光流基。在光流基的数量N<<H×W时,即使随机确定N个光流,大概率都可以构成一组光流基,由于H和W往往都比较大(例如,均大于100),N往往都比较小(例如,小于100),因此该条件基本能够满足。
此外,还应当指出,即使将N个并非完全不相关的光流误当做了一组光流基,一般也不会导致单应性光流估计失效(除非这N个光流中任意两个都是线性相关的),无非就是这N个光流中仅有部分的光流能够形成一组真实的光流基而已。
下面,在以上实施例的基础上,继续阐述本申请实施例中的神经网络模型的设计:
在一些实现方式中,该神经网络模型可以包括特征提取单元、特征融合单元以及权重预测单元。其中,特征提取单元用于分别提取源图像的特征和目标图像的特征,不妨称为基础特征;特征融合单元用于融合源图像的基础特征和目标图像的基础特征,得到融合基础特征;权重预测单元用于基于融合基础特征回归得到多个权重。
图2示出了满足上述描述的一种神经网络模型的结构。参照图2,Ia和Ib分别代表源图像和目标图像,其尺寸均为H×W×1。
图2中的f(.)代表特征提取单元,其中包含3个卷积模块,卷积模块可以理解为由至少一个卷积层组成的网络组件(例如,ResNet中的残差块就是一个卷积模块)。Ia经过特征提取单元处理后得到的基础特征为Fa,Ib经过特征提取单元处理后得到的基础特征为Fb,在图2中Fa和Fb的尺寸恰好也是H×W×1(在其他实现方式中不一定)。注意,虽然在图2中示出了2个特征提取单元,但实际网络中只有一个特征提取单元,图2这样绘制只是为了表明Ia和Ib是分别(而非一起)输入特征提取单元的。在一些替代方案中,图2中的2个特征提取单元也可以设计成相互独立的两个网络。
图2中的特征融合单元是一个拼接(concate)结构,用于将Fa和Fb按通道拼接在一起,拼接后得到的融合基础特征记为Fab,其尺寸为H×W×2。在一些替代方案中,图2中的特征融合单元也可以采用其他具有融合功能的结构,例如加法结构、乘法结构、内积结构等。
图2中的h(.)代表权重预测单元,权重预测单元又可以分为两部分:
第一部分称为运动特征提取网络,该网络在Fab的基础上进一步进行特征提取,提取到的特征称为运动特征,在图2中,运动特征提取网络以ResNet34网络为基本框架,并增加了2个低秩重构模块(Low Rank Reconstruction,简称LRR),关于低秩重构模块的功能,稍后再阐述。在一些替代方案中,运动特征提取网络也可以采用其他结构,如ResNet50、VGG16等结构,并且低秩重构模块的个数也不限于2个,也可能是1个、3个或更多。
第二部分则包括一个群卷积层(Group Conv)和一个自适应平均池化层(AdaptiveAverage Pool),其中,群卷积层将运动特征按照通道分组后,在各组内分别进行卷积,自适应平均池化层则是先设定好输出尺寸(8×1,对应8个权重a1~a8),然后根据输出尺寸对输入该层的特征分块后进行平均池化。通过设置群卷积层,使得对于每个权重的回归能够具有一定的独立性。在一些替代方案中,群卷积层也可以替换为普通卷积层甚至也可以去掉,或者也可以在群卷积层之前再增加一个或多个普通卷积层。
应当理解,上面将权重预测单元划分为两部分只是一个逻辑上的划分,也可以将权重预测单元视为一个整体,或者在某些权重预测单元的实现中也可能不便于将其划分为两部分。但无论怎样划分,权重预测单元中应包括至少一个低秩重构模块。
另外,从整体上看,在一些替代方案中,神经网络模型也未必要采用特征提取单元、特征融合单元以及权重预测单元依次连接的结构,例如也可能采用图像融合单元和权重预测单元连接的结构,其中图像融合单元用于融合源图像和目标图像,权重预测单元用于根据融合图像回归得到多个权重,等等。相应地,低秩重构模块也未必一定位于权重预测单元中,也可能位于神经网络模型的其他部分。
下面继续对低秩重构模块进行介绍:
低秩重构模块用于利用线性代数中的子空间投影(subspace projection)的方法对模块的输入特征进行降秩。子空间投影,简单来说,就是将一个高维空间中的向量投影到一个低维子空间中(也可以理解为用低维子空间的基来重构高维空间中的向量),这里的“空间”均可理解为向量空间。低秩重构模块所进行的子空间投影用公式可以表示为:
Mout=V(VTV)-1VT·Min
其中,Min表示低秩重构模块的输入特征,Mout表示低秩重构模块的输出特征,V表示低维子空间的基(严格来说,是矩阵V的列向量构成低维子空间的一组基)。Min和Mout的尺寸均为H×W×C,V的尺寸为H×W×K,其中,H和W表示宽和高,C和K则表示通道数。
在使用上述公式运算时,需要先将Min的每个通道都转化为一个向量,即将Min转化为一个M×C的矩阵,其中M=H×W,类似地,V的每个通道也都转化为一个向量,即将V转化为一个M×K的矩阵。对于投影后得到的、尺寸为M×K的Mout,则是要将其包含的每个列向量转化为一个通道,即将Mout转化为一个H×W×C的矩阵后再输出。
对于Min的列向量,可以认为是M维空间(高维空间)中的向量,而V的列向量,则是K维空间(低维子空间)的一组基,这样,上述公式就和子空间投影的定义一致了。在子空间投影的过程中,Min的每个列向量都被投影到K维空间中。其中,K<M,这个条件很容易满足,例如K可以取8、16等小于100的数,而M通常都在1000以上。
从秩的角度来看,不妨考虑M>C>K的情况(这种情况比较典型,例如,M=256×256,C=32,K=16),Min是一个M×C的矩阵,该矩阵的列秩不超过C,Mout是也一个M×C的矩阵,但该矩阵的列秩不超过K,即低秩重构模块实现了对Min的降秩。其原理在于,由某个向量空间中的向量所构成的矩阵,其秩不会超过向量空间的维度。特别地,如果Min的列秩本来就不超过K,那无非就是低秩重构模块起不到降秩的作用(此时本来也没有降秩的必要),并不会导致什么不良现象。对于M、C、K具有其他大小关系的情况可以类似分析,低秩重构模块均能起到降秩(或者维持秩不变)的效果。
简单分析一下低秩重构模块带来的好处:
由于单应性矩阵自由度只有8,因此有理由相信,在理想情况下,神经网络模型所提取到的、与单应性矩阵对应的特征,其秩应该是比较低的,然而,实际中却发现这些特征的秩往往比较高。发明人研究后认为,图像中存在多平面运动、运动物体、亮度变化、异常数据等噪声时,都会导致特征的秩增加,而通过在神经网络模型中设置低秩重构模块对特征进行降秩,使得网络只能在一个低秩空间(即维度较低的子空间)中去回归光流基的权重,这样网络学习到的特征就会更加符合单应性矩阵(指前文提到的主导单应性矩阵)对运动描述,从而很好地削弱了上述噪声所造成的影响,进而基于这样的特征进行单应性估计也就越准确。
低秩重构模块在神经网络中的位置不作限定,但也可以有一些考量。例如,在图2中,低秩重构模块被设置在运动特征提取网络的后半部分(网络的前半部分、后半部分可以以卷积模块的个数为划分依据),其原因在于,特征在降秩后,信息通常是存在损失的,即低秩重构模块多数情况下并不能无损地重构输入特征,对于网络中比较靠后的特征,即使损失掉一些信息,由于剩余的网络结构已经不多,所以对后续的权重回归影响也有限。反之,若将低秩重构模块设置在运动特征提取网络的前半部分,则会使网络中早早就出现信息损失,对后续的权重回归影响比较大。
低秩重构模块的数量也不限定,例如,可以根据实验确定。若存在多个低秩重构模块,则它们相互之间不应直接连接(因为这样做没有什么意义),而需要间隔一定的网络结构。例如,在图2中,2个低秩重构模块之间间隔了3个卷积模块,卷积模块由于引入了非线性操作,将导致第一个低秩重构模块(LRR1)的输出特征的秩再次升高,因此可通过第二个低秩重构模块(LRR2)再次进行降秩。
在一些实现方式中,低秩重构模块内部可以包括第一分支、第二分支以及投影结构。其中,第一分支用于基于输入特征构建子空间的基,并向投影结构传递子空间的基,第二分支用于直接向投影结构传递输入特征,而投影结构则用于根据子空间的基将输入特征投影到子空间内,并输出投影后的特征。整个模块设计简单、执行效率高。
参照图2,在低秩重构模块中,第一分支包含若干个1×1的卷积层以及一个加法结构,用于基于Min构造子空间的基V。第二分支则与投影结构直接连接,投影结构以Min和V输入,内部基于上面给出的子空间投影用公式进行投影计算,最后输出计算结果Mout,注意在计算时可能涉及矩阵形状的转化,前文已经提及。
可以理解的,第一分支通过卷积与求和运算得到的矩阵V,不一定能严格保证它的K个列向量一定是一组基,但对于K<<M的情况(这个条件容易满足),V的K个列向量大概率是一组基,或者即使不是一组基,其中的部分列向量也能够形成一组基,无非是导致降秩效果更显著一些。第一分支中采用的1×1卷积运算量较小,在一些替代方案中,也可以采用其他尺度的卷积。另外,卷积层的个数也可以和图2中不同(图2中有5个1×1卷积)。
下面,在以上实施例的基础上继续介绍本申请实施例中的神经网络模型的训练以及损失函数的设计:
神经网络模型的训练过程可以包括如下步骤:
步骤a:基于源训练图像和目标训练图像,利用神经网络模型计算得到多个权重。
步骤a和步骤S110类似,只是源图像和目标图像分别换成了源训练图像和目标训练图像,二者都是训练集中的图像,目标训练图像是作为对齐的基准的图像,而源训练图像则是要进行对齐的图像。步骤a的其余内容不再详细阐述,可以参考前文。
步骤b:利用多个权重将对应的多个光流基进行求和,得到第二单应性光流。
步骤b和步骤S120类似,只是步骤b中的光流基是用于重构第二单应性光流的。其中,每个权重对应第二单应性光流的一个光流基,第二单应性光流为源训练图像和目标训练图像之间的单应性矩阵对应的光流。步骤b的其余内容不再详细阐述,可以参考前文。
步骤c:利用第二单应性光流以及设定好的损失函数计算损失值。
神经网络模型可以采用有监督学习,也可以采用无监督学习,由于单应性光流标注起来比较困难,特别是对于真实图像(相应地,还有人工生成的图像)更是不易标注,所以后文主要以无监督学习的情况为例,介绍几种可能采用的损失函数。应当理解,步骤c中的损失函数不限于后文所介绍的几种。
步骤d:根据损失值更新神经网络模型的参数。
更新神经网络模型的参数可采用反向传播等算法,而损失值则作为判断神经网络模型是否收敛的条件。例如,对于图2而言,神经网络模型的参数可以包括特征提取单元以及权重预测单元中的权重、偏置参数。
下面在神经网络模型包括特征提取单元、特征融合单元以及权重预测单元这个前提的基础上,继续介绍步骤c中可能采用的损失函数。若神经网络模型具有其他结构,也可以类似分析:
(1)三重态损失
三重态损失(Triplet Loss)中定义了锚点(Anchor,简称A)、正样本(Positive,简称P)以及负样本(Negative,简称N)的概念,锚点和正样本是同类样本,锚点和负样本是不同类的样本,三重态损失的目的在于尽可能减小锚点特征(网络对锚点进行特征提取的结果)与正样本特征(网络对正样本进行特征提取的结果)之间的距离、并尽量增大正样本特征与负样本特征(网络对负样本进行特征提取的结果)之间的距离,从而提高网络对相似样本的区分能力。例如,三重态损失的一种形式为:
其中,N表示样本总数,i表示样本序号,分别表示锚点、正样本以及负样本,分别表示锚点特征、正样本特征以及负样本特征,d(.)表示某种距离计算方式(例如可以是欧式距离、曼哈顿距离等),Margin则表示和之间的最小间隔。
上面是对三重态损失的一个通用介绍。具体到本申请的方案,三重态损失中的锚点特征可以是目标训练图像经特征提取单元处理后得到的特征,正样本特征可以是源训练图像先经特征提取单元处理、再利用第二单应性光流扭曲后得到的特征,负样本特征可以是源训练图像经特征提取单元处理后得到的特征。在本申请的方案中,三重态损失的一种表示方式为:
其中,Qa和Qb分别表示源训练图像和目标训练图像,表示三重态损失,Ga表示Qa经特征提取单元处理后得到的特征(负样本特征),即Ga=f(Qa),Gb表示Qb经特征提取单元处理后得到的特征(锚点特征),即Gb=f(Qb),G′a表示Qa先经特征提取单元处理、再利用第二单应性光流扭曲(Warp,也就是前文提到的坐标变换)后得到的特征(正样本特征),即G′a=Wab(f(Qa))=Wab(Ga),Wab表示利用第二单应光流进行的扭曲操作。需要指出,若采用图2中的网络结构,Ga和Qa的尺寸相同,因此也可以直接利用第二单应光流对Ga进行扭曲,但若在某种网络结构中Ga和Qa的尺寸不相同,则可以对Ga进行缩放之后再进行扭曲。
前面通用公式中的d(.)取1-范数|.|1,Margin则取0。显然,在替代方案中,d(.)也可以采用其他类型的距离,Margin也可以取非0值。至于本申请方案中的正样本、负样本与锚点则可以理解为Q′a、Qa与Qb,其中Q′a表示Qa经第二单应性光流扭曲后的结果(即对齐结果)。
使用三重态损失还有一个优势是可以避免神经网络模型收敛到病态的全零解上。其原理分析如下:
根据上面的阐述,的第一个距离与单应性估计精度直接挂钩,其取值越小越好,最好能取0,而使得该距离为0的一种最简单的优化方式就是让G′a=Gb=0,从而,只要让特征提取单元的参数全部取0就可以达到这一目的,但显然,全0的参数是不恰当的。的第二个距离的取值则是越大越好,显然,在特征提取单元的参数全部取0时,Ga=Gb=0,即第二个距离的值也是0,这样就没法使得的取值最小(有可能为负数),自然就可以避免特征提取单元的参数全部被优化为0的问题了。
(2)特征恒等损失
特征恒等损失表征第一特征与第二特征的差异。其中,第一特征为源训练图像先经特征提取单元处理、再利用第二单应性光流扭曲后得到的特征,第二特征为源训练图像先利用第二单应性光流扭曲、再经特征提取单元处理后得到的特征。
特征恒等损失的一种表示方式为:
其中,表示特征恒等损失,第一特征Wab(f(Qa))就是介绍三重态损失时提到的G′a,而Wab(Qa)就是介绍三重态损失时提到的Q′a,第二特征f(Wab(Qa))则要将Q′a输入特征提取单元后才能得到,|.|2表示2-范数,也可以替换为其他类型的距离。
特征恒等损失可以在三重态损失的基础上引入,该损失实际上是作为一个正则化项,到对三重态损失的参数优化过程进行约束,避免其收敛到某些病态的局部最优解上。其原理分析如下:
发明人发现,在没有设置特征恒等损失时,有时三重态损失的取值很小,但图像对齐的效果不仅没有变好,却反而变差。研究后发现是因为过度优化了三重态损失中的第二个距离,即使得该距离变得很大,但三重态损失中的第一个距离却并没有变得很小,根据前文阐述,第一个距离直接与单应性估计精度挂钩,所以这样的优化方式是不当的,最终模型将会收敛到病态的局部最优解上,自然图像对齐效果也不佳。
引入特征恒等损失这个正则化项后,相当于对神经网络模型的参数优化施加了一项约束(因为损失表达式中的f、Wab都取决于网络参数),从而可以避免优化过程向着错误的方向进行。应当理解,也可以用其他正则化项代替特征恒等损失。
在同时包含三重态损失与特征恒等损失时,神经网络模型的总损失函数可以通过这两项损失函数加权求和得到,例如:
其中,λ为加权系数。当然也可以采用其他形式,例如:
其中,α和β为加权系数。在步骤c中,可以基于L的表达式计算损失值。
在其他的实现方式中,也可以只设置三重态损失,不设置特征恒等损失,或者也可以这两项损失都不设置,而设置其他形式的损失函数。
图3示出了本申请实施例提供的图像对齐装置200的功能模块图。参照图3,图像对齐装置200包括:
权重计算模块210,用于基于源图像和目标图像,利用神经网络模型计算得到多个权重;其中,每个权重对应第一单应性光流的一个光流基,所述第一单应性光流为所述源图像和所述目标图像之间的单应性矩阵对应的光流;
光流计算模块220,用于利用所述多个权重将对应的多个光流基进行求和,得到所述第一单应性光流;
图像对齐模块230,用于利用所述第一单应性光流将所述源图像向所述目标图像对齐。
在图像对齐装置200的一种实现方式中,所述光流基的数量不少于8个。
在图像对齐装置200的一种实现方式中,所述光流基的数量为8个,所述装置还包括:光流基生成模块,用于:在权重计算模块210基于源图像和目标图像,利用神经网络模型计算得到多个权重之前,生成8个原始光流基;其中,所述原始光流基的尺寸和所述源图像的尺寸以及所述目标图像的尺寸均相同,且所述8个原始光流基中的像素分别按照以下8种方式取值:(1,0)、(0,1)、(x,0)、(0,y)、(y,0)、(0,x)、(x2,xy)、(xy,y2),x和y分别代表像素的横坐标和纵坐标;对所述8个原始光流基进行正交化,得到对应的8个光流基。
在图像对齐装置200的一种实现方式中,所述神经网络模型中包括至少一个低秩重构模块,所述低秩重构模块用于利用子空间投影对模块的输入特征进行降秩。
在图像对齐装置200的一种实现方式中,所述低秩重构模块包括:第一分支、第二分支以及投影结构;其中,所述第一分支用于基于所述输入特征构建子空间的基,并向所述投影结构传递所述子空间的基,所述第二分支用于直接向所述投影结构传递所述输入特征,所述投影结构用于根据所述子空间的基将所述输入特征投影到所述子空间内,并输出投影后的特征;所述子空间的维度小于所述输入特征所在的向量空间的维度。
在图像对齐装置200的一种实现方式中,所述神经网络模型包括:特征提取单元、特征融合单元以及权重预测单元;权重计算模块210基于源图像和目标图像,利用神经网络模型计算得到多个权重,包括:利用所述特征提取单元分别提取所述源图像的基础特征和所述目标图像的基础特征;利用所述特征融合单元融合所述源图像的基础特征和所述目标图像的基础特征,得到融合基础特征;利用所述权重预测单元基于所述融合基础特征计算所述多个权重;其中,所述权重预测单元中包括所述至少一个低秩重构模块。
在图像对齐装置200的一种实现方式中,所述神经网络模型对应的损失函数包括三重态损失,所述三重态损失中的锚点特征为目标训练图像经所述特征提取单元处理后得到的特征,正样本特征为源训练图像先经所述特征提取单元处理、再利用第二单应性光流扭曲后得到的特征,负样本特征为所述源训练图像经所述特征提取单元处理后得到的特征;其中,所述源训练图像和所述目标训练图像均为训练所述神经网络模型时使用的图像,所述第二单应性光流为训练时利用所述神经网络模型计算得到的、所述源训练图像和所述目标训练图像之间的单应性矩阵对应的光流。
在图像对齐装置200的一种实现方式中,所述神经网络模型对应的损失函数还包括特征恒等损失,所述特征恒等损失表征第一特征与第二特征的差异,所述第一特征为所述源训练图像先经所述特征提取单元处理、再利用所述第二单应性光流扭曲后得到的特征,所述第二特征为所述源训练图像先利用所述第二单应性光流扭曲、再经所述特征提取单元处理后得到的特征。
本申请实施例提供的图像对齐装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图4示出了本申请实施例提供的电子设备300的一种可能的结构。参照图4,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(Neural-network Processing Unit,简称NPU)、图形处理器(Graphics ProcessingUnit,简称GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。
处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。特别地,在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的图像对齐方法。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。若无需与其他设备通信,则电子设备300可以不设置通信接口330。
可以理解,图4所示的结构仅为示意,电子设备300还可以包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如手机、PC机、平板电脑、笔记本电脑、服务器、可穿戴设备、机器人等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的图像对齐方法。例如,计算机可读存储介质可以实现为图4中电子设备300中的存储器320。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的图像对齐方法。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种图像对齐方法,其特征在于,包括:
基于源图像和目标图像,利用神经网络模型计算得到多个权重;其中,每个权重对应第一单应性光流的一个光流基,所述第一单应性光流为所述源图像和所述目标图像之间的单应性矩阵对应的光流;
利用所述多个权重将对应的多个光流基进行求和,得到所述第一单应性光流;
利用所述第一单应性光流将所述源图像向所述目标图像对齐。
2.根据权利要求1所述的图像对齐方法,其特征在于,所述光流基的数量不少于8个。
3.根据权利要求2所述的图像对齐方法,其特征在于,所述光流基的数量为8个,在所述基于源图像和目标图像,利用神经网络模型计算得到多个权重之前,所述方法还包括:
生成8个原始光流基;其中,所述原始光流基的尺寸和所述源图像的尺寸以及所述目标图像的尺寸均相同,且所述8个原始光流基中的像素分别按照以下8种方式取值:(1,0)、(0,1)、(x,0)、(0,y)、(y,0)、(0,x)、(x2,xy)、(xy,y2),x和y分别代表像素的横坐标和纵坐标;
对所述8个原始光流基进行正交化,得到对应的8个光流基。
4.根据权利要求1-3中任一项所述的图像对齐方法,其特征在于,所述神经网络模型中包括至少一个低秩重构模块,所述低秩重构模块用于利用子空间投影对模块的输入特征进行降秩。
5.根据权利要求4所述的图像对齐方法,其特征在于,所述低秩重构模块包括:第一分支、第二分支以及投影结构;
其中,所述第一分支用于基于所述输入特征构建子空间的基,并向所述投影结构传递所述子空间的基,所述第二分支用于直接向所述投影结构传递所述输入特征,所述投影结构用于根据所述子空间的基将所述输入特征投影到所述子空间内,并输出投影后的特征;
所述子空间的维度小于所述输入特征所在的向量空间的维度。
6.根据权利要求4或5所述的图像对齐方法,其特征在于,所述神经网络模型包括:特征提取单元、特征融合单元以及权重预测单元;
所述基于源图像和目标图像,利用神经网络模型计算得到多个权重,包括:
利用所述特征提取单元分别提取所述源图像的基础特征和所述目标图像的基础特征;
利用所述特征融合单元融合所述源图像的基础特征和所述目标图像的基础特征,得到融合基础特征;
利用所述权重预测单元基于所述融合基础特征计算所述多个权重;其中,所述权重预测单元中包括所述至少一个低秩重构模块。
7.根据权利要求6所述的图像对齐方法,其特征在于,所述神经网络模型对应的损失函数包括三重态损失,所述三重态损失中的锚点特征为目标训练图像经所述特征提取单元处理后得到的特征,正样本特征为源训练图像先经所述特征提取单元处理、再利用第二单应性光流扭曲后得到的特征,负样本特征为所述源训练图像经所述特征提取单元处理后得到的特征;
其中,所述源训练图像和所述目标训练图像均为训练所述神经网络模型时使用的图像,所述第二单应性光流为训练时利用所述神经网络模型计算得到的、所述源训练图像和所述目标训练图像之间的单应性矩阵对应的光流。
8.根据权利要求7所述的图像对齐方法,其特征在于,所述神经网络模型对应的损失函数还包括特征恒等损失,所述特征恒等损失表征第一特征与第二特征的差异,所述第一特征为所述源训练图像先经所述特征提取单元处理、再利用所述第二单应性光流扭曲后得到的特征,所述第二特征为所述源训练图像先利用所述第二单应性光流扭曲、再经所述特征提取单元处理后得到的特征。
9.一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-8中任一项所述的方法。
11.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056372.2A CN113962846A (zh) | 2021-09-09 | 2021-09-09 | 图像对齐方法及装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056372.2A CN113962846A (zh) | 2021-09-09 | 2021-09-09 | 图像对齐方法及装置、计算机可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113962846A true CN113962846A (zh) | 2022-01-21 |
Family
ID=79461177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111056372.2A Pending CN113962846A (zh) | 2021-09-09 | 2021-09-09 | 图像对齐方法及装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113962846A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494804A (zh) * | 2022-04-18 | 2022-05-13 | 武汉明捷科技有限责任公司 | 一种基于域特有信息获取的无监督领域适应图像分类方法 |
-
2021
- 2021-09-09 CN CN202111056372.2A patent/CN113962846A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494804A (zh) * | 2022-04-18 | 2022-05-13 | 武汉明捷科技有限责任公司 | 一种基于域特有信息获取的无监督领域适应图像分类方法 |
CN114494804B (zh) * | 2022-04-18 | 2022-10-25 | 武汉明捷科技有限责任公司 | 一种基于域特有信息获取的无监督领域适应图像分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110414432B (zh) | 对象识别模型的训练方法、对象识别方法及相应的装置 | |
Qi et al. | Geonet: Geometric neural network for joint depth and surface normal estimation | |
Fu et al. | Deep ordinal regression network for monocular depth estimation | |
Žbontar et al. | Stereo matching by training a convolutional neural network to compare image patches | |
WO2021043168A1 (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
WO2020228525A1 (zh) | 地点识别及其模型训练的方法和装置以及电子设备 | |
Zou et al. | Manhattan Room Layout Reconstruction from a Single 360^ ∘ 360∘ Image: A Comparative Study of State-of-the-Art Methods | |
WO2019227479A1 (zh) | 人脸旋转图像的生成方法及装置 | |
Ren et al. | Deep Robust Single Image Depth Estimation Neural Network Using Scene Understanding. | |
CN111625667A (zh) | 一种基于复杂背景图像的三维模型跨域检索方法及系统 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
Heo et al. | Monocular depth estimation using whole strip masking and reliability-based refinement | |
CN112084917A (zh) | 一种活体检测方法及装置 | |
CN111368672A (zh) | 一种用于遗传病面部识别模型的构建方法及装置 | |
WO2021218238A1 (zh) | 图像处理方法和图像处理装置 | |
CN110968734A (zh) | 一种基于深度度量学习的行人重识别方法及装置 | |
Joung et al. | Unsupervised stereo matching using confidential correspondence consistency | |
US20230298307A1 (en) | System for three-dimensional geometric guided student-teacher feature matching (3dg-stfm) | |
Hu et al. | LDF-Net: Learning a displacement field network for face recognition across pose | |
Fu et al. | Learning to reduce scale differences for large-scale invariant image matching | |
Hirner et al. | FC-DCNN: A densely connected neural network for stereo estimation | |
Qin et al. | Depth estimation by parameter transfer with a lightweight model for single still images | |
CN114494395A (zh) | 基于平面先验的深度图生成方法、装置、设备及存储介质 | |
CN114764870A (zh) | 对象定位模型处理、对象定位方法、装置及计算机设备 | |
Nguyen et al. | Robust stereo data cost with a learning strategy |
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 |