CN115661724B - 一种适用于连续帧序列单应性变换的网络模型及训练方法 - Google Patents
一种适用于连续帧序列单应性变换的网络模型及训练方法 Download PDFInfo
- Publication number
- CN115661724B CN115661724B CN202211587820.6A CN202211587820A CN115661724B CN 115661724 B CN115661724 B CN 115661724B CN 202211587820 A CN202211587820 A CN 202211587820A CN 115661724 B CN115661724 B CN 115661724B
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- sequence
- homography
- matrix
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
一种适用于连续帧序列单应性变换的网络模型及训练方法,包括如下步骤:步骤1.构建第一数据集,该数据集由视频中每帧有效图像随机进行单应性变换后形成的图像对作为数据组成;步骤2.搭建深度卷积神经网络模型,并以第一数据集完成训练;步骤3.构建第二数据集,第二数据集包括多组帧序列;步骤4.以步骤2训练完成的深度卷积神经网络模型作为循环单元,构建双向循环神经网络模型并以第二数据集进行训练,训练完成后获得适用于连续帧序列单应性变换的网络模型。本发明可在较少数据标注量的基础上,针对输入图像对内容变化可能较大场景,准确生成连续视频帧序列之间的单应性矩阵。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种适用于连续帧序列单应性变换的网络模型及训练方法。
背景技术
拍摄视角到目标视角,如标准顶视图视角的单应性变换,是后续各种依赖位置信息进行竞技体育视频分析的基础,如基于位置信息获取球员运动速度、识别球队战术、制定训练策略等。现有的单应性矩阵求解方法主要分为两类,第一类基于点或者线段的对应关系进行求解,该类型方案的核心在于获取两张图像中具有相同特征的点或者线,受限于关键点检测技术的发展,现有关键点检测算法受到光照、纹理、运动模糊等众多噪声的干扰,对持续变换角度的竞技体育运动场景适用性有限,尤其是在拍摄角度不断变化的比赛直播视频中;而对于关键线段的检测与匹配,其可能包含的检测目标对象包括直线和曲线,除了受限于持续改进的线段检测方法,其主要适用于图像内容无变化或者变化较小的场景,由于竞技体育比赛中,球员之间的激烈的对抗和拍摄镜头的持续移动导致目标画面中可能的线段无规律的被遮挡,从而呈现出难以匹配的间断线段,最终使得单应性矩阵的计算失效。
第二类是基于深度学习方法进行求解,与遮挡导致传统算法失效类似,由于球员的运动,使得输入深度神经网络模型中的连续视频帧图像中的不同位置产生了遮挡,这极大降低了已有的深度神经网络模型生成的单应性矩阵的准确率。同时由于是针对视频中的连续帧序列的单应性变换的研究,若直接采用已有的深度神经网络模型进行计算,需要标注的数据集是海量的,因此工程应用中基本难以实现。
发明内容
为克服现有技术存在的缺陷;本发明公开了一种适用于连续帧序列单应性变换的网络模型及训练方法。
本发明所述适用于连续帧序列单应性变换的网络模型训练方法,包括如下步骤:
步骤1.构建第一数据集,该数据集由目标视频中每帧有效图像随机进行单应性变换后形成的图像对作为数据组成,其中每个数据的标签是该图像对两个图像之间的单应性变换矩阵;
步骤2.搭建深度卷积神经网络模型,以第一数据集训练深度卷积神经网络模型,获得可实现内容相同的两帧图像单应性变换矩阵求解的网络模型;所谓内容相同,是指两帧图像的拍摄时间和拍摄对象相同,但拍摄角度不同;
步骤3.构建第二数据集,第二数据集包括多组帧序列,每组帧序列是目标视频中,某一时间段内持续固定方向运动的相机拍摄的连续多帧图像;
步骤4.以步骤2训练完成的深度卷积神经网络模型作为循环单元,形成双向循环神经网络模型;对第二数据集中的每一组帧序列,重复步骤4-1至4-4;
步骤4-1.利用帧序列中的所有正向图像对计算帧序列首帧向尾帧进行单应性变换时的正向序列误差lossR;
以第二数据集中帧序列的相邻两帧图像组成的正向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(P-1,P),(P-2,P-1)…(i,j)…(0,1)图像对进行计算,其中(i,j)表示帧序列的第i帧和第j帧图像组成的图像对,j=i+1;P表示帧序列的帧总数;
每次循环中输出该次循环中输入的正向图像对之间的正向图像对单应性变换矩阵hij;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
所有正向图像对都输入模型完成训练后,得到利用帧序列中的所有正向图像对进行帧序列首帧向尾帧进行单应性变换的正向序列误差lossR;
步骤4-2.利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL;
以第二数据集中帧序列的相邻两帧图像组成的反向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(1,0),(2,1)…(j,i)…(P,P-1)图像对进行计算,其中(j,i)表示帧序列的第j帧和第i帧图像组成的图像对;j=i+1,P表示帧序列的帧总数;
每次循环中输出该次循环中输入的反向图像对之间的反向图像对单应性变换矩阵hji;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
所有反向图像对都输入模型完成训练后,得到利用帧序列中的所有反向图像对进行帧序列尾帧向首帧进行单应性变换的反向序列误差lossL;
步骤4-3.利用帧序列中每个图像对从两个不同方向进行单应性变换时的互逆性,计算整体互逆性误差lossM;
具体为:
利用公式ei=hij*hji计算单个图像对从正反两个不同方向获得的正向图像对单应性变换矩阵和反向图像对单应性变换矩阵的乘积ei,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);
E[k]和ei[k]分别表示矩阵E和ei的第k个元素,k元素标号从0开始;
累加各次循环的互逆性误差,得到整体互逆性误差lossM=loss(0)+loss(1)+...loss(i)+…loss(P-1),P表示帧序列的帧总数;
步骤4-4.以公式lossALL=α*(lossR+lossL)+β*lossM计算双向循环神经网络模型针对当前输入的帧序列的总体误差lossALL,α和β分别为第一和第二调和系数;
步骤5.重复输入各个帧序列的图像对进行训练,直到总体误差lossALL符合训练要求或达到预定训练轮次。
优选的,所述步骤2中对深度卷积神经网络模型训练的训练目标是:通过模型预测得出输入的图像对之间的单应性变换矩阵,计算其与该图像对标签的单应性变换矩阵的偏差,并重复输入第一数据集中的多组图像对进行单应性矩阵预测,直到对所有输入图像对计算的偏差均小于设定值,认为达到训练目标;否则继续训练。
优选的,所述步骤4-1中利用帧序列中的所有正向图像对计算帧序列首帧向尾帧进行单应性变换时的正向序列误差lossR的过程具体为:
设定当前输入的正向图像对(i,j)中编号为i的图像中位置分别为(0,0),(a,0),(0,b),(a,b)的4点为图像对单应性变换的基准点,其中a和b分别表示图像i的长度和宽度信息;
循环单元预测出当前正向图像对中4个基准点之间的位置偏差{δ0,δ1,δ2,δ3,δ4,δ5,δ6,δ7},其中δ0和δ1分别表示第1个基准点在x和y方向上的偏差,δ2和δ3分别表示第2个基准点在x和y方向上的偏差,δ4和δ5分别表示第3个基准点在x和y方向上的偏差,δ6和δ7分别表示第4个基准点在x和y方向上的偏差;并计算依赖于该偏差的基准点正向图像对单应性变换矩阵
利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式He*Hbe=Hb计算帧序列首帧向尾帧进行单应性变换的正向序列直接单应性矩阵Hbe。
循环单元预测出当前正向图像对的两帧图像之间的单应性变换矩阵相对Hbe的正向图像对偏差矩阵△Hij,
该正向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成。
根据:h(P-1)P*h(P-2)(P-1)*hij…*h12*h01=hr,--公式2
计算hr;
其中hr表示按照i向j(i<j)的方向计算获得的首帧向尾帧图像变换时对应的正向序列间接单应性变换矩阵;h01表示对第一组正向图像对计算得到的正向图像对单应性变换矩阵;h12表示对第二组正向图像对计算得到的正向图像对单应性变换矩阵,依次类推;P表示帧序列的帧总数,循环单元的循环次数为P-1;最后利用hr与Hbe,并结合L2损失函数计算获得正向序列误差lossR;
所述步骤4-2中利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL的过程具体为:
设定当前输入的反向图像对(j,i)中编号为j的图像中位置分别为(0,0),(a,0),(0,b),(a,b)的4点为图像对单应性变换的基准点,其中a和b分别表示图像j的长度和宽度信息;
循环单元预测出当前反向图像对中4个基准点之间的位置偏差{δ0,δ1,δ2,δ3,δ4,δ5,δ6,δ7},其中δ0和δ1分别表示第1个基准点在x和y方向上的偏差,δ2和δ3分别表示第2个基准点在x和y方向上的偏差,δ4和δ5分别表示第3个基准点在x和y方向上的偏差,δ6和δ7分别表示第4个基准点在x和y方向上的偏差;并计算依赖于该偏差的基准点反向图像对单应性变换矩阵
利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式Hb*Heb=He计算帧序列尾帧向首帧进行单应性变换的反向序列直接单应性矩阵Heb。
循环单元预测出当前反向图像对的两帧图像之间的单应性变换矩阵相对Heb的反向图像对偏差矩阵△Hji,
该反向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成。
根据:h10*h21*…*h(P-1)(P-2)*hP(P-1)=hl,--公式4
计算hl;
其中hl表示按照j向i(i<j)的方向计算获得的尾帧向首帧图像变换时对应的反向序列间接单应性变换矩阵;h10表示对第一组反向图像对计算得到的反向图像对单应性变换矩阵;h21表示对第二组反向图像对计算得到的反向图像对单应性变换矩阵,依次类推;P表示帧序列的帧总数,循环单元的循环次数为P-1;最后利用hl与Heb,并结合L2损失函数计算获得反向序列误差lossL。
优选的,利用L2损失函数计算正向序列误差lossR时,具体方式为:
Hbe[k]和hr[k]分别表示矩阵Hbe和hr的第k个元素,k元素标号从0开始;
利用L2损失函数计算反向序列误差lossL时,具体方式为:
Heb[k]和hl[k]分别表示矩阵Heb和hl的第k个元素,k元素标号从0开始。
a和b分别为输入网络模型的图像长和宽。
本发明所述适用于连续帧序列单应性变换的网络模型,采用如前所述训练方法训练获得。
采用本发明所述适用于连续帧序列单应性变换的网络模型及训练方法,可在较少数据标注量的基础上,针对输入图像对内容变化可能较大场景,生成连续视频帧序列之间的单应性变换矩阵,由于网络模型在训练时添加了单应性矩阵的可分解性约束与互逆性约束,本发明可在较少数据标注量的基础上,针对输入图像对内容变化可能较大场景,准确生成连续视频帧序列之间的单应性矩阵。
本发明即使只标注连续帧序列中的任一帧图像到目标视角图像的单应性变换矩阵,即可准确生成连续视频帧序列之间的单应性变换矩阵,优选可以分别标注连续帧序列中的首帧和尾帧图像到目标视角图像的单应性变换矩阵,可更加精确的生成连续视频帧序列之间的单应性变换矩阵。
附图说明
图1为本发明所述深度卷积神经网络模型的一种具体实施方式示意图;
图2为本发明所述双向循环神经网络模型一种具体实施方式示意图;
图1和图2中包括不同数字1、2…的六边形表示不同的图像编号,包括两位数10,01…的圆形表示不同的图像对,CONV表示卷积神经网络,OUT表示网络输出模块,Xbmm表示矩阵乘法,loss(0),loss(1)...分别表示各个单次循环中的互逆性误差;lossM表示双向循环神经网络模型的整体互逆性误差,lossL表示反向序列误差,lossR表示正向序列误差;所谓正向,是指图2中图像0到5的方向,反向则相反。
图3为本发明一个具体实施例中所选择的帧序列,包括连续六帧图像;图4为利用本发明对图3所示的帧序列进行单应性变换结果叠加得到的试验结果;图5为利用现有技术对图3所示的帧序列进行单应性变换结果叠加得到的试验结果。
具体实施方式
下面对本发明的具体实施方式作进一步的详细说明。
本发明所述适用于连续帧序列单应性变换的网络模型及训练方法,其特征在于,包括如下步骤:
步骤1.构建第一数据集,该数据集由目标视频中每帧有效图像随机进行单应性变换后形成的图像对作为数据组成,其中每个数据的标签是该图像对两个图像之间的单应性变换矩阵;
步骤2.搭建深度卷积神经网络模型,以第一数据集训练深度卷积神经网络模型,获得可实现内容相同的两帧图像单应性变换矩阵求解的网络模型;所谓内容相同,是指两帧图像的拍摄时间和拍摄对象相同,但拍摄角度不同;
首先构建第一数据集,该数据集由视频中每帧有效图像随机进行单应性变换后形成的图像对作为数据组成,其中每个数据的标签是该图像对两个图像之间的单应性变换矩阵。
所谓图像对,即原始的有效图像和由该图像进行单应性变换后得到的变换后图像,单应性变换使用的单应性变换矩阵为该图像对的标签。
单应性变换矩阵至少需要四个基准点进行图像变换,并且单应性变换矩阵为3*3形式,除1个固定常数外,还有八个可变量,可体现单应性变换的八个自由度。以下对单应性变换矩阵的四个基准点简称为基准点,八个可变量简称为可变量。
以第一数据集训练深度卷积神经网络模型,获得可实现内容相同的两帧图像单应性变换矩阵求解的模型参数。所谓内容相同,是指两帧图像的拍摄时间和拍摄对象相同,但拍摄角度不同。
深度卷积神经网络模型的一个具体实施方式如图1所示,第零和第一两帧图像组成一个图像对,图像对输入卷积神经网络,卷积神经网络训练后通过后续的网络输出模块进行输出。
对深度卷积神经网络模型训练的训练目标可以是,通过模型预测得出输入的图像对之间的单应性变换矩阵,计算其与该图像对标签的单应性变换矩阵的偏差,并重复输入第一数据集中的多组图像对进行单应性矩阵预测,直到对所有输入图像对计算的偏差均小于设定值,认为达到训练目标;否则继续训练。
步骤3.构建第二数据集,第二数据集包括多组帧序列,每组帧序列是目标视频中某一时间段内持续固定方向运动的相机拍摄的连续多帧图像;
第二数据集由众多组帧序列构成,如5帧图像构成一组帧序列,每组帧序列是某一时间段内朝同一方向运动的相机拍摄的竞技体育视频中的连续多帧图像,这些图像都是来自源视频帧序列的抽样,可以是按照时间进行的等间隔帧抽样,也可以是按照每帧画面变化幅度进行的非等间隔帧抽样,需标记每组帧序列首尾两帧图像中的球场向目标视角下球场图像进行单应性变换获得的单应性变换矩阵,分别为Hb和He。
步骤4.以步骤2训练完成的深度卷积神经网络模型作为循环单元,形成双向循环神经网络模型;
所述双向循环神经网络的循环单元为深度卷积神经网络模型,采用循环训练方法,以第二数据集作为输入数据对双向循环神经网络进行训练,循环过程中针对每组帧序列,作为循环单元的深度卷积神经网络模型以输入的帧序列中的每个图像对进行计算,输出两组参数,其中第一组为输入图像对中的4个基准点之间的位置偏差C1,第二组为体现输入图像对单应性矩阵中8个可变量相对该组帧序列直接单应性变换矩阵的可变量偏差C2;神经网络根据图像对进行位置偏差C1和可变量偏差C2计算为现有技术,在此不再赘述。
训练过程包括以下步骤:
步骤4-1.进行正向序列误差计算;
以第二数据集中帧序列的相邻两帧图像组成的正向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(P-1,P),(P-2,P-1)…(i,j)…(0,1)图像对进行计算,其中(i,j)表示帧序列的第i帧和第j帧图像组成的图像对,j=i+1;P表示帧序列的帧总数;
每次循环中输出该次循环中输入的正向图像对之间的正向图像对单应性变换矩阵hij;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
训练结束后,得到正向序列误差lossR;
步骤4-2.进行反向序列误差计算;
以第二数据集中帧序列的相邻两帧图像组成的反向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(1,0),(2,1)…(j,i)…(P,P-1)图像对进行计算,其中(j,i)表示帧序列的第j帧和第i帧图像组成的图像对;j=i+1,P表示帧序列的帧总数;
每次循环中输出该次循环中输入的反向图像对之间的反向图像对单应性变换矩阵hji;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
训练结束后,得到反向序列误差lossL;
步骤4-3.计算表示双向循环神经网络模型的整体互逆性误差lossM;
首先计算单次循环的互逆性误差;
利用公式ei=hij*hji计算单个图像对从正反两个不同方向获得的正向图像对单应性变换矩阵和反向图像对单应性变换矩阵的乘积ei,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);
累加各次循环的互逆性误差,得到整体互逆性误差lossM=loss(0)+loss(1)+...loss(i)+…loss(P-1),P表示帧序列的帧总数;
步骤4-4.以公式lossALL=α*(lossR+lossL)+β*lossM计算双向循环神经网络模型针对当前输入的帧序列的总体误差lossALL,实现对双向循环神经网络的模型训练。α和β分别为第一和第二调和系数。
将第二数据集的各个帧序列重复上述步骤4-1至4-4,直到总体误差lossALL符合训练要求或达到预定训练轮次。
所述双向循环神经网络模型的一个典型实施方式如图2所示,双向循环神经网络模型实际只包括一个循环单元,通过反复调用该循环单元输入不同的图像对,完成训练。
图2中底部不同数字的六边形表示输入连续帧序列的不同帧,不同数字的圆圈表示不同帧组合形成的顺序不同的图像对,例如由第0和第1帧两幅图像组成两个图像对10和01,Xbmm表示矩阵乘法,即torch.bmm函数所代表的矩阵乘法计算,loss(0),loss(1)...分别表示各个单次循环中的互逆性误差,表征不同循环次数中根据输入图像对之间单应性矩阵的互逆性计算的损失误差;lossM表示双向循环神经网络模型的整体互逆性误差。
假设第二数据集的某个帧序列包括6帧图像,分别以0、1、2、3、4、5六个数字表示,相邻两帧图像组成图像对,在有正反两种排布顺序的情况下,共有(01)、(10)...(45)、(54)十个图像对。
图2表示一次训练过程,训练过程包括5个单次循环,虚线框内表示一个单次循环,单次循环包括两个不同的循环方向,图2的虚线框中以两个相同的循环单元分别表示不同的循环方向,两个不同循环方向分别以不同的图像对作为输入,如图2所示,输入的两个图像对的两个图像相同,但顺序不同。如图2虚线框内,左侧的循环单元表示反向循环方向输入的图像对顺序为10,右侧的正向循环方向输入的图像对顺序为01。
如图2所示,假设首先进行正向循环,第一次循环以(45)图像对作为输入,输入到循环单元中进行计算,得到该次循环的正向图像对单应性变换矩阵h45;计算完成后,再以(34)图像对输入到循环单元中进行计算,得到该次循环的正向图像对单应性变换矩阵h34;依次类推直到(01)图像对输入并完成训练,正向循环的训练结束后,最后一次计算得到正向序列误差lossR;
再进行反向循环,第一次循环以(10)图像对作为输入,输入到循环单元中进行计算,得到该次循环的反向图像对单应性变换矩阵h10;训练完成后,再以(21)图像对输入到循环单元中进行计算,得到该次循环的反向图像对单应性变换矩阵h21;依次类推直到(54)图像对输入并完成训练,反向循环的训练结束后,最后一次计算得到反向序列误差lossL。
以训练完成后的深度卷积神经网络模型作为循环单元,构建双向循环神经网络模型。以第二数据集依序输入所述双向循环神经网络模型的循环单元,每次循环输入一个图像对。
第二数据集中包括多组帧序列,每组帧序列是某一时间段内朝同一方向运动的相机拍摄的竞技体育视频中的连续多帧图像,这些图像都是来自源视频帧序列的抽样,可以是按照时间进行的等间隔帧抽样,也可以是按照每帧画面变化幅度进行的非等间隔帧抽样,需标记每组帧序列首尾两帧图像中的球场向目标视角下球场图像进行单应性变换获得的单应性变换矩阵,分别为Hb和He。
循环单元以相邻两帧组成的图像对作为输入,并输出代表该两帧图像对进行单应性变换所需最低数量的4个基准点的位置偏差C1,以及代表输入图像对单应性矩阵中8个可变量相对其所在组帧序列直接单应性变换矩阵的可变量偏差C2。
循环单元每次训练时针对每个输入的图像对预测输出两组共16个参数,其中第一组8个参数代表定义单应性矩阵最低数量的4个基准点在输入图像对中的位置偏差C1,第二组8个参数代表单应性矩阵中的8个可变量的可变量偏差C2,后续训练过程中,每一次训练都可能导致这两组参数的变化,每一次训练使用上一次训练结束后输出的参数。
以下给出一个更具体的损失函数计算过程。
首先利用双向循环神经网络的正向循环提取该组帧序列的特征,计算正向序列误差lossR。
计算正向序列误差过程中,各次循环依次利用图像对45、34、23、12、01进行。
该基准点正向图像对单应性变换矩阵的具体计算方法为:令输入网络模型的图像长宽大小分别为a和b,设定当前输入的正向图像对(i,j)中编号为i的图像中位置分别为(0,0),(a,0),(0,b),(a,b)的4点为图像对单应性变换的基准点,由于每个基准点为二维坐标,四个基准点在标号为j的二维图像平面坐标共有八个坐标偏差,即基准点位置偏差C1可由{δ0,δ1,δ2,δ3,δ4,δ5,δ6,δ7}表示,其中δ0和δ1分别表示第1个基准点在x和y方向上的偏差,δ2和δ3分别表示第2个基准点在x和y方向上的偏差,δ4和δ5分别表示第3个基准点在x和y方向上的偏差,δ6和δ7分别表示第4个基准点在x和y方向上的偏差
则根据4个基准点计算单应性矩阵的方程可以化解为:
利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式He*Hbe=Hb计算帧序列首帧向尾帧进行单应性变换的正向序列直接单应性矩阵Hbe。
其中△Hij表示本次正循环中,通过输入的图像对,预测输出的体现单应性变换的8个自由度相对矩阵Hbe的可变量偏差C2与常数1组成的正向图像对偏差矩阵。
例如可变量偏差C2包括八个参数:
△Hij[0]、△Hij[1]、△Hij[2]、△Hij[3]、△Hij[4]、△Hij[5],△Hij[6]、△Hij[7]与数字1按照顺序构建3*3的正向图像对偏差矩阵
而正向图像对单应性变换矩阵hij代表的是由公式计算的ij两帧之间的单应性矩阵,是由4个基准点的坐标位置偏差信息即基准点正向图像对单应性变换矩阵以及8个可变量偏差信息与正向序列直接单应性矩阵Hbe叠加而得的(Hbe+△Hij)部分,共同来计算得到。
图2所示的具体实施方式中,按照上述方式求得各次循环中产生的正向图像对单应性变换矩阵hij;i=0、1、2、3、4,j=i+1,
则继续按照公式2:h45*h34*h23*h12*h01=hr,计算hr;hr表示按照i向j(i<j)的方向计算获得的首帧向尾帧图像变换时对应的正向序列间接单应性变换矩阵,并利用正向序列间接单应性变换矩阵hr与正向序列直接单应性矩阵Hbe求解正向序列误差lossR,其中损失函数可以采用L2损失函数。
利用L2损失函数计算正向序列误差lossR时,具体方式为:
Hbe[k]和hr[k]分别表示矩阵Hbe和hr的第k个元素,k元素标号从0开始;
随后利用反向循环提取该组帧序列的特征,计算反向序列误差lossL。
计算反向序列误差过程中,利用图像对10、21、32、43、54进行。
利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式Hb*Heb=He计算帧序列尾帧向首帧进行单应性变换的反向序列直接单应性矩阵Heb。
其中△Hji表示本次反向循环中,通过输入的图像对,计算输出的体现单应性变换的8个自由度相对矩阵Heb的可变量偏差C2与常数1组成的反向图像对偏差矩阵。
例如可变量偏差C2包括八个参数:
△Hji[0]、△Hji[1]、△Hji[2]、△Hji[3]、△Hji[4]、△Hji[5],△Hji[6]、△Hji[7],与数字1按照顺序构建3*3的反向图像对偏差矩阵
而反向图像对单应性变换矩阵hji代表的是由公式计算的ji两帧之间的单应性矩阵,是由4个基准点的坐标位置偏差信息即基准点反向图像对单应性变换矩阵以及8个可变量偏差信息与反向序列直接单应性矩阵Heb叠加而得的(Heb+△Hji)部分,共同来计算得到。
图2所示的具体实施方式中,按照上述方式求得各次循环中产生的反向图像对单应性变换矩阵hji;i=0、1、2、3、4,j=i+1,则继续按照公式4:h10*h21*h32*h43*h54=hl,计算hl;hl表示按照j向i(i<j)的方向计算获得的尾帧向首帧图像变换时对应的反向序列间接单应性变换矩阵;并利用反向序列间接单应性变换矩阵hl与反向序列直接单应性矩阵Heb求解反向序列误差lossL,其中损失函数可以采用L2损失函数。
利用L2损失函数计算反向序列误差lossL时,具体方式为:
Heb[k]和hl[k]分别表示矩阵Heb和hl的第k个元素,k元素标号从0开始。
同时,利用单应性矩阵的互逆性,即理论上hij*hji=E,计算正反两个方向进行特征提取时获得的相同图像对之间的乘积ei,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);
利用L2损失函数计算获得单次循环互逆性误差loss(i)的具体方式为:
,E[k]和ei[k]分别表示矩阵E和ei的第k个元素,k元素标号从0开始。
累加各次循环的互逆性误差,得到整体互逆性误差lossM=loss(0)+loss(1)+...loss(i)+…loss(P-1),P表示帧序列的帧总数;
如图2中给出6帧图像构成的5个图像对,则P等于6。
hij*hji=ei中不存在误差时的理想情况下ei应为单位矩阵,而实际情况中计算得到的hij*hji一般不是单位矩阵,根据单应性矩阵的可逆性,如果两个方向的单应性矩阵计算无误,那么乘积结果应该是单位矩阵,但如果计算有误,则乘积结果不是单位矩阵,则loss(0)、loss(1)...loss(N)不为零。
最后双向循环神经网络模型以公式lossALL=α*(lossR+lossL)+β*lossM计算双向循环神经网络模型针对当前输入的帧序列的总体误差lossALL,α和β分别为第一和第二调和系数,可在不同应用场景根据实验获得;例如在室内灯光照明的运动场景下,α和β的一个可能取值为α取0.2,β取0.8,重复输入各个帧序列的图像对进行训练,直到总体误差lossALL符合训练要求或达到预定训练轮次。
本发明所述适用于连续帧序列单应性变换的网络模型及训练方法,可在较少数据标注量的基础上,针对输入图像对内容变化可能较大场景,生成连续视频帧序列之间的单应性变换矩阵。即若只标注连续帧序列中的任一帧图像到目标视角图像的单应性变换矩阵,则可准确生成连续视频帧序列之间的单应性变换矩阵,若分别标注连续帧序列中的首帧和尾帧图像到目标视角图像的单应性变换,则可更加准确的生成连续视频帧序列之间的单应性变换矩阵。
图3到是针对篮球比赛视频获取的一段包含6帧图像的连续视频帧序列,图4和图5分别表示利用本发明和现有技术针对图3中的连续视频帧序列求解单应性矩阵后,并利用各帧间的单应性矩阵转换各帧图像后叠加合成的结果,从图4和图5可看出,本发明得到的图像叠加误差更小,表明针对连续视频帧序列之间的单应性矩阵变换更为准确。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (6)
1.一种适用于连续帧序列单应性变换的网络模型训练方法,其特征在于,包括如下步骤:
步骤1.构建第一数据集,该数据集由目标视频中每帧有效图像随机进行单应性变换后形成的图像对作为数据组成,其中每个数据的标签是该图像对两个图像之间的单应性变换矩阵;
步骤2.搭建深度卷积神经网络模型,以第一数据集训练深度卷积神经网络模型,获得可实现内容相同的两帧图像单应性变换矩阵求解的网络模型;所谓内容相同,是指两帧图像的拍摄时间和拍摄对象相同,但拍摄角度不同;
步骤3.构建第二数据集,第二数据集包括多组帧序列,每组帧序列是目标视频中,某一时间段内持续固定方向运动的相机拍摄的连续多帧图像;
步骤4.以步骤2训练完成的深度卷积神经网络模型作为循环单元,形成双向循环神经网络模型;对第二数据集中的每一组帧序列,重复步骤4-1至4-4;
步骤4-1.利用帧序列中的所有正向图像对计算帧序列首帧向尾帧进行单应性变换时的正向序列误差lossR;
以第二数据集中帧序列的相邻两帧图像组成的正向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(P-1,P),(P-2,P-1)…(i,j)…(0,1)图像对进行计算,其中(i,j)表示帧序列的第i帧和第j帧图像组成的图像对,j=i+1;P表示帧序列的帧总数;每次循环中输出该次循环中输入的正向图像对之间的正向图像对单应性变换矩阵hij;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
所有正向图像对都输入模型完成训练后,得到利用帧序列中的所有正向图像对进行帧序列首帧向尾帧进行单应性变换的正向序列误差lossR;步骤4-2.利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL;
以第二数据集中帧序列的相邻两帧图像组成的反向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(1,0),(2,1)…(j,i)…(P,P-1)图像对进行计算,其中(j,i)表示帧序列的第j帧和第i帧图像组成的图像对;j=i+1,P表示帧序列的帧总数;
每次循环中输出该次循环中输入的反向图像对之间的反向图像对单应性变换矩阵hji;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;
所有反向图像对都输入模型完成训练后,得到利用帧序列中的所有反向图像对进行帧序列尾帧向首帧进行单应性变换的反向序列误差lossL;步骤4-3.利用帧序列中每个图像对从两个不同方向进行单应性变换时的互逆性,计算整体互逆性误差lossM;
具体为:
利用公式ei=hij*hji计算单个图像对从正反两个不同方向获得的正向图像对单应性变换矩阵和反向图像对单应性变换矩阵的乘积ei,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);
E[k]和ei[k]分别表示矩阵E和ei的第k个元素,k元素标号从0开始;累加各次循环的互逆性误差,得到整体互逆性误差lossM=loss(0)+
loss(1)+...loss(i)+…loss(P-1),P表示帧序列的帧总数;
步骤4-4.以公式lossALL=α*(lossR+lossL)+β*lossM计算双向循环神经网络模型针对当前输入的帧序列的总体误差lossALL,α和β分别为第一和第二调和系数;
步骤5.重复输入各个帧序列的图像对进行训练,直到总体误差lossALL符合训练要求或达到预定训练轮次。
2.如权利要求1所述网络模型训练方法,其特征在于,所述步骤2中对深度卷积神经网络模型训练的训练目标是:通过模型预测得出输入的图像对之间的单应性变换矩阵,计算其与该图像对标签的单应性变换矩阵的偏差,并重复输入第一数据集中的多组图像对进行单应性矩阵预测,直到对所有输入图像对计算的偏差均小于设定值,认为达到训练目标;否则继续训练。
3.如权利要求1所述网络模型训练方法,其特征在于,所述步骤4-1中利用帧序列中的所有正向图像对计算帧序列首帧向尾帧进行单应性变换时的正向序列误差lossR的过程具体为:
设定当前输入的正向图像对(i,j)中编号为i的图像中位置分别为(0,0),(a,0),(0,b),(a,b)的4点为图像对单应性变换的基准点,其中a和b分别表示图像i的长度和宽度信息;
循环单元预测出当前正向图像对中4个基准点之间的位置偏差{δ0,δ1,δ2,δ3,δ4,δ5,δ6,δ7},其中δ0和δ1分别表示第1个基准点在x和y方向上的偏差,δ2和δ3分别表示第2个基准点在x和y方向上的偏差,δ4和δ5分别表示第3个基准点在x和y方向上的偏差,δ6和δ7分别表示第4个基准点在x和y方向上的偏差;并计算依赖于该偏差的基准点正向图像对单应性变换矩阵利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式He*Hbe=Hb计算帧序列首帧向尾帧进行单应性变换的正向序列直接单应性矩阵Hbe;
循环单元预测出当前正向图像对的两帧图像之间的单应性变换矩阵相对Hbe的正向图像对偏差矩阵△Hij,
该正向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成;
根据:h(P-1)P*h(P-2)(P-1)*hij…*h12*h01=hr,--公式2
计算hr;
其中hr表示按照i向j(i<j)的方向计算获得的首帧向尾帧图像变换时对应的正向序列间接单应性变换矩阵;h01表示对第一组正向图像对计算得到的正向图像对单应性变换矩阵;h12表示对第二组正向图像对计算得到的正向图像对单应性变换矩阵,依次类推;P表示帧序列的帧总数,循环单元的循环次数为P-1;
最后利用hr与Hbe,并结合L2损失函数计算获得正向序列误差lossR;所述步骤4-2中利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL的过程具体为:
设定当前输入的反向图像对(j,i)中编号为j的图像中位置分别为(0,0),(a,0),(0,b),(a,b)的4点为图像对单应性变换的基准点,其中a和b分别表示图像j的长度和宽度信息;
循环单元预测出当前反向图像对中4个基准点之间的位置偏差{δ0,δ1,δ2,δ3,δ4,δ5,δ6,δ7},其中δ0和δ1分别表示第1个基准点在x和y方向上的偏差,δ2和δ3分别表示第2个基准点在x和y方向上的偏差,δ4和δ5分别表示第3个基准点在x和y方向上的偏差,δ6和δ7分别表示第4个基准点在x和y方向上的偏差;并计算依赖于该偏差的基准点反向图像对单应性变换矩阵利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签Hb和He,结合公式Hb*Heb=He计算帧序列尾帧向首帧进行单应性变换的反向序列直接单应性矩阵Heb;
循环单元预测出当前反向图像对的两帧图像之间的单应性变换矩阵相对Heb的反向图像对偏差矩阵△Hji,
该反向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成;
根据:h10*h21*…*h(P-1)(P-2)*hP(P-1)=hl,--公式4
计算hl;
其中hl表示按照j向i(i<j)的方向计算获得的尾帧向首帧图像变换时对应的反向序列间接单应性变换矩阵;h10表示对第一组反向图像对计算得到的反向图像对单应性变换矩阵;h21表示对第二组反向图像对计算得到的反向图像对单应性变换矩阵,依次类推;P表示帧序列的帧总数,循环单元的循环次数为P-1;
最后利用hl与Heb,并结合L2损失函数计算获得反向序列误差lossL。
6.一种适用于连续帧序列单应性变换的网络模型,其特征在于,采用如权利要求1-5任意一项所述训练方法训练获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587820.6A CN115661724B (zh) | 2022-12-12 | 2022-12-12 | 一种适用于连续帧序列单应性变换的网络模型及训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211587820.6A CN115661724B (zh) | 2022-12-12 | 2022-12-12 | 一种适用于连续帧序列单应性变换的网络模型及训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115661724A CN115661724A (zh) | 2023-01-31 |
CN115661724B true CN115661724B (zh) | 2023-03-28 |
Family
ID=85018758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211587820.6A Active CN115661724B (zh) | 2022-12-12 | 2022-12-12 | 一种适用于连续帧序列单应性变换的网络模型及训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115661724B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191299A (zh) * | 2019-04-15 | 2019-08-30 | 浙江大学 | 一种基于卷积神经网络的多重帧插值方法 |
CN113657528A (zh) * | 2021-08-24 | 2021-11-16 | 湖南国科微电子股份有限公司 | 图像特征点提取方法、装置、计算机终端及存储介质 |
CN114092679A (zh) * | 2020-08-10 | 2022-02-25 | 罗伯特·博世有限公司 | 目标鉴别方法及设备 |
CN114390186A (zh) * | 2020-10-19 | 2022-04-22 | 华为技术有限公司 | 视频拍摄方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084952B (zh) * | 2020-09-10 | 2023-08-15 | 湖南大学 | 一种基于自监督训练的视频点位跟踪方法 |
-
2022
- 2022-12-12 CN CN202211587820.6A patent/CN115661724B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191299A (zh) * | 2019-04-15 | 2019-08-30 | 浙江大学 | 一种基于卷积神经网络的多重帧插值方法 |
CN114092679A (zh) * | 2020-08-10 | 2022-02-25 | 罗伯特·博世有限公司 | 目标鉴别方法及设备 |
CN114390186A (zh) * | 2020-10-19 | 2022-04-22 | 华为技术有限公司 | 视频拍摄方法及电子设备 |
CN113657528A (zh) * | 2021-08-24 | 2021-11-16 | 湖南国科微电子股份有限公司 | 图像特征点提取方法、装置、计算机终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115661724A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schneider et al. | RegNet: Multimodal sensor registration using deep neural networks | |
CN104103058B (zh) | 图像匹配系统及方法 | |
CN113361542B (zh) | 一种基于深度学习的局部特征提取方法 | |
CN104794728A (zh) | 由多幅图像重构人脸实时三维数据的方法 | |
CN110232706A (zh) | 多人跟拍方法、装置、设备及存储介质 | |
CN109255783B (zh) | 一种多人图像上的人体骨骼关键点的位置排布检测方法 | |
CN113129430A (zh) | 基于双目结构光的水下三维重建方法 | |
CN110827321A (zh) | 一种基于三维信息的多相机协同的主动目标跟踪方法 | |
CN110741413B (zh) | 一种刚体配置方法及光学动作捕捉方法 | |
CN115661724B (zh) | 一种适用于连续帧序列单应性变换的网络模型及训练方法 | |
EP3995993A1 (en) | Process for the extension of deep-learning based 2d-object-detectors for the 6d-pose-estimation | |
Kang et al. | Ego3dpose: Capturing 3d cues from binocular egocentric views | |
CN111047513B (zh) | 一种用于柱面全景拼接的鲁棒性图像对齐方法及装置 | |
CN112070181A (zh) | 一种基于图像流的协同检测方法及装置、存储介质 | |
CN107424194A (zh) | 键盘轮廓度的检测方法 | |
CN113920179B (zh) | 一种基于标记点的多视觉2d-3d图像非刚性配准方法及系统 | |
CN113920178B (zh) | 一种基于标记点的多视觉2d-3d图像配准方法及系统 | |
CN115953428A (zh) | 一种基于时序编解码网络的羽毛球检测与跟踪方法 | |
CN106980601B (zh) | 基于三目极线约束的基础矩阵高精度求解方法 | |
Santamaría et al. | Tackling the coplanarity problem in 3D camera calibration by means of fuzzy landmarks: a performance study in forensic craniofacial superimposition | |
CN114581340A (zh) | 一种图像校正方法及设备 | |
CN114332156A (zh) | 基于图卷积神经网络的实时三维运动补全方法 | |
Dabhi et al. | High fidelity 3d reconstructions with limited physical views | |
Song et al. | A CNN-based online self-calibration of binocular stereo cameras for pose change | |
Liu et al. | DKNAS: a practical deep keypoint extraction framework based on neural architecture search |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |