【技术实现步骤摘要】
一种适用于连续帧序列单应性变换的网络模型及训练方法
[0001]本专利技术属于图像处理
,具体涉及一种适用于连续帧序列单应性变换的网络模型及训练方法。
技术介绍
[0002]拍摄视角到目标视角,如标准顶视图视角的单应性变换,是后续各种依赖位置信息进行竞技体育视频分析的基础,如基于位置信息获取球员运动速度、识别球队战术、制定训练策略等。现有的单应性矩阵求解方法主要分为两类,第一类基于点或者线段的对应关系进行求解,该类型方案的核心在于获取两张图像中具有相同特征的点或者线,受限于关键点检测技术的发展,现有关键点检测算法受到光照、纹理、运动模糊等众多噪声的干扰,对持续变换角度的竞技体育运动场景适用性有限,尤其是在拍摄角度不断变化的比赛直播视频中;而对于关键线段的检测与匹配,其可能包含的检测目标对象包括直线和曲线,除了受限于持续改进的线段检测方法,其主要适用于图像内容无变化或者变化较小的场景,由于竞技体育比赛中,球员之间的激烈的对抗和拍摄镜头的持续移动导致目标画面中可能的线段无规律的被遮挡,从而呈现出难以匹配的间断线段,最终使得单应性矩阵的计算失效。
[0003]第二类是基于深度学习方法进行求解,与遮挡导致传统算法失效类似,由于球员的运动,使得输入深度神经网络模型中的连续视频帧图像中的不同位置产生了遮挡,这极大降低了已有的深度神经网络模型生成的单应性矩阵的准确率。同时由于是针对视频中的连续帧序列的单应性变换的研究,若直接采用已有的深度神经网络模型进行计算,需要标注的数据集是海量的,因此工程应用中基本难以实现。r/>
技术实现思路
[0004]为克服现有技术存在的缺陷;本专利技术公开了一种适用于连续帧序列单应性变换的网络模型及训练方法。
[0005]本专利技术所述适用于连续帧序列单应性变换的网络模型训练方法,包括如下步骤:步骤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表示帧序列的帧总数;每次循环中输出该次循环中输入的正向图像对之间的正向图像对单应性变换矩阵h
ij
;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;所有正向图像对都输入模型完成训练后,得到利用帧序列中的所有正向图像对进行帧序列首帧向尾帧进行单应性变换的正向序列误差lossR;步骤4
‑
2.利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL;以第二数据集中帧序列的相邻两帧图像组成的反向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(1,0),(2,1)
…
(j,i)
…
(P,P
‑
1)图像对进行计算,其中(j,i)表示帧序列的第j帧和第i帧图像组成的图像对;j=i+1,P表示帧序列的帧总数;每次循环中输出该次循环中输入的反向图像对之间的反向图像对单应性变换矩阵h
ji
;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;所有反向图像对都输入模型完成训练后,得到利用帧序列中的所有反向图像对进行帧序列尾帧向首帧进行单应性变换的反向序列误差lossL;步骤4
‑
3.利用帧序列中每个图像对从两个不同方向进行单应性变换时的互逆性,计算整体互逆性误差lossM;具体为:利用公式e
i
= h
ij
* h
ji
计算单个图像对从正反两个不同方向获得的正向图像对单应性变换矩阵和反向图像对单应性变换矩阵的乘积e
i
,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);利用L2损失函数计算获得单次循环互逆性误差loss(i)的具体方式为:E[k]和e
i
[k]分别表示矩阵E和e
i
的第k个元素,k元素标号从0开始;累加各次循环的互逆性误差,得到整体互逆性误差lossM= loss(0)+ loss(1)+... loss(i)+
…
loss(P
‑
1) ,P表示帧序列的帧总数;步骤4
‑
4.以公式lossALL=α*(lossR+lossL)+β*lossM计算双向循环神经网络模型针对当前输入的帧序列的总体误差lossALL,α和β分别为第一和第二调和系数;步骤5.重复输入各个帧序列的图像对进行训练,直到总体误差lossALL符合训练要求或达到预定训练轮次。
[0006]优选的,所述步骤2中对深度卷积神经网络模型训练的训练目标是:通过模型预测得出输入的图像对之间的单应性变换矩阵,计算其与该图像对标签的单应性变换矩阵的偏差,并重复输入第一数据集中的多组图像对进行单应性矩阵预测,直到对所有输入图像对
计算的偏差均小于设定值,认为达到训练目标;否则继续训练。
[0007]优选的,所述步骤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方向上的偏差;并计算依赖于该偏差的基准点正向图像对单应性变换矩阵
ћ
ij本文档来自技高网...
【技术保护点】
【技术特征摘要】
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表示帧序列的帧总数;每次循环中输出该次循环中输入的正向图像对之间的正向图像对单应性变换矩阵h
ij
;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;所有正向图像对都输入模型完成训练后,得到利用帧序列中的所有正向图像对进行帧序列首帧向尾帧进行单应性变换的正向序列误差lossR;步骤4
‑
2.利用帧序列中的所有反向图像对计算帧序列尾帧向首帧进行单应性变换时的反向序列误差lossL;以第二数据集中帧序列的相邻两帧图像组成的反向图像对作为双向循环神经网络模型的输入,即单次循环中依次输入(1,0),(2,1)
…
(j,i)
…
(P,P
‑
1)图像对进行计算,其中(j,i)表示帧序列的第j帧和第i帧图像组成的图像对;j=i+1,P表示帧序列的帧总数;每次循环中输出该次循环中输入的反向图像对之间的反向图像对单应性变换矩阵h
ji
;下标i,j表示该次循环使用的图像对的图像编号;循环结束时更换图像对输入继续训练;所有反向图像对都输入模型完成训练后,得到利用帧序列中的所有反向图像对进行帧序列尾帧向首帧进行单应性变换的反向序列误差lossL;步骤4
‑
3.利用帧序列中每个图像对从两个不同方向进行单应性变换时的互逆性,计算整体互逆性误差lossM;具体为:利用公式e
i
= h
ij
* h
ji
计算单个图像对从正反两个不同方向获得的正向图像对单应性变换矩阵和反向图像对单应性变换矩阵的乘积e
i
,并结合同等形状的单位矩阵E,利用L2损失函数计算获得单次循环互逆性误差loss(i);利用L2损失函数计算获得单次循环互逆性误差loss(i)的具体方式为:
E[k]和e
i
[k]分别表示矩阵E和e
i
的第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方向上的偏差;并计算依赖于该偏差的基准点正向图像对单应性变换矩阵
ћ
ij
;利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签H
b
和H
e
,结合公式H
e
*H
be
=H
b
计算帧序列首帧向尾帧进行单应性变换的正向序列直接单应性矩阵H
be
;循环单元预测出当前正向图像对的两帧图像之间的单应性变换矩阵相对H
be
的正向图像对偏差矩阵
△
H
ij
,该正向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成;利用 [(H
be
+
△
H
ij
)+
ћ
ij
]/2=h
ij
ꢀꢀ‑‑
公式1获得循环单元对当前输入的正向图像对计算后的正向图像对单应性矩阵h
ij
;根据:h
(P
‑
1)P
*h
(P
‑
2)(P
‑
1)
*h
ij
…
*h
12
*h
01
=h
r
,
‑‑
公式2计算h
r
;其中h
r
表示按照i向j(i<j)的方向计算获得的首帧向尾帧图像变换时对应的正向序列间接单应性变换矩阵;h
01
表示对第一组正向图像对计算得到的正向图像对单应性变换矩阵;h
12
表示对第二组正向图像对计算得到的正向图像对单应性变换矩阵,依次类推; P表示帧序列的帧总数,循环单元的循环次数为P
‑
1;
最后利用h
r
与H
be
,并结合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方向上的偏差;并计算依赖于该偏差的基准点反向图像对单应性变换矩阵
ћ
ji
;利用帧序列首帧和尾帧向目标视角下图像进行变换所需的单应性矩阵标签H
b
和H
e
,结合公式H
b
*H
eb
=H
e
计算帧序列尾帧向首帧进行单应性变换的反向序列直接单应性矩阵H
eb
;循环单元预测出当前反向图像对的两帧图像之间的单应性变换矩阵相对H
eb
的反向图像对偏差矩阵
△
H
ji
,该反向图像对偏差矩阵为3阶矩阵,前8个元素由模型预测输出,第9个元素由常数1组成;利用 [(H
eb
+
△
H
ji
)+
ћ
ji
]/2=h
ji
ꢀꢀ‑‑
公式3获得循环单元对当前输入的反向图像对计算后的反向图像对单应性矩阵h
ij
;根据:h
10
*h
21
*
…ꢀ
*h
(P
‑
1)(P
‑
2)
*h
P(P
‑
1)
=h
l
,
‑‑
公式4计算h
l
;其中h
l
表示按照j向i(i<j)的方向计算获得的尾帧向首帧图...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。