一种基于图像识别的电竞比赛赛况数据获取方法
文献发布时间:2023-06-19 09:24:30
技术领域
本发明涉及图像识别技术领域,尤其涉及一种基于图像识别的电竞比赛赛况数据获取方法。
背景技术
随着电子竞技产业规模的扩大,电子竞技中的数据分析,开始成为不可缺少的部分。目前可用于数据分析的方法方案,暂时以文本信息输入为主,还不能很好兼容视频类数据源。从视频数据中提取文本信息是必不可少的环节。同时,各类比赛视频样式特别多,按传统的方案,工作量将非常大。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于图像识别的电竞比赛赛况数据获取方法。可方便地从视频数据中提取有用的数据信息。
为了解决上述技术问题,本发明实施例提供了一种基于图像识别的电竞比赛赛况数据获取方法,包括以下步骤:
S1:加载比赛直播视频,使用自调整算法进行比赛画面截取,插入到待识别队列中;
S2:导入图像分类特征数据,引用图像分类算法,归类所述待识别队列中的比赛场景画面,使用比赛场景特征区域提取算法,提取所有特征区域并生成场景特征数据;
S3:导入所述场景特征数据,展开显示所有场景图片,标记各场景名称,保存为场景配置数据;
S4:导入所述场景配置数据,识别比赛场景名称;
S5:导入所述场景特征数据,展开所有场景,选择需内容识别的场景,标记需要识别的区域、知识种类和输出字段,保存识别内容配置;
S6:导入内容素材,训练生成内容特征数据,定义内容所属知识种类,生成知识种类数据配置;
S7:导入所述识别内容配置和知识种类数据配置,识别场景中的内容,按内容配置的输出字段输出识别结果。
其中,所述步骤S1中使用自调整算法进行比赛画面截取的步骤包括:
设视频帧率为F,上一次截图间隔时间为Np,识别队列长度为L,则截图间隔时间N可表示为:
其中,所述步骤S2中归类所述待识别队列中的比赛场景画面的步骤包括:
使用K-近邻分类算法归类比赛场景相同的画面。
其中,所述步骤S2中使用比赛场景特征区域提取算法包括:
设在所有相同场景图像中随机取n张图片对应的矩阵A1、A2、A3...An,初始特征矩阵为S0;
n张图片对应的相同特征矩阵Sn表示为
Sn=S0∩A1∩A2∩A3...∩An=A1∩A2∩A3...∩An;
从特征矩阵Sn中分离红绿蓝三个通道矩阵:
Sn(x,y)={R(x,y),G(x,y),B(x,y)}
求得灰度矩阵Sg:
Sg(x,y)=R(x,y)*0.299+G(x,y)*0.587+B(x,y)*0.114
再求得Sg的二值化矩阵B:
T=max(Sg)-(max(Sg)-min(Sg))/3
再对B进行腐蚀运算,设腐蚀半径为r,则腐蚀后可得二值图像集合:
特征矩阵可表示为:Se=Sn∧S;
可得此场景的一个特征数据C
在所有相同场景图像中再随机取n张图片,重复上面的步骤可再得另一个特征数据C2、C3...CN;
最终该场景特征数据记为Ce={C
则所有场景特征数据记为C(i)={Ce
其中,所述步骤S3中标记各场景名称,保存为场景配置数据的步骤包括:
标记各场景名称,记为集合N,N(i)={N
对C与N做关系映射:
将C与N的关系映射保存入场景配置文件。
实施本发明实施例,具有如下有益效果:本发明能够方便地从电竞比赛赛况视频数据中提取有用的数据信息。
附图说明
图1是本发明的方法流程结构示意图;
图2是矩阵A1、A2相同的特征矩阵的示意图;
图3是进行腐蚀运算后的二值图像;
图4是图2、图3进行与操作后的特征矩阵图像。
图5是展开显示所有场景图片的示意图;
图6是比赛场景画面的示意图;
图7是E1的特征参考矩阵的示意图;
图8是比赛场景画面E2的示意图;
图9是E2的特征参考矩阵的示意图;
图10是展开显示所有场景缩略图和名称的示意图;
图11是标记需要识别的区域、知识种类和输出字段的示意图;
图12是内容素材的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示。
本发明实施例主要的识别流程为:加载比赛直播视频,采用自调整算法截取比赛画面,插入待识别队列中。
导入图像分类特征数据,引用图像分类算法,从待识别队列中获取比赛场景画面并归类。
采用比赛场景特征区域提取算法,提取并生成场景特征数据。
再导入场景特征数据,展示所有场景图片,编辑场景名称和框画场景内识别内容信息,保存为场景配置和识别内容配置。
导入场景配置数据,识别比赛场景名称,导入识别内容配置,识别场景内所有内容,并按编辑的配置格式,输出识别数据。
下述对具体的实施进行说明。
步骤S1:加载比赛直播视频,采用自调整算法进行比赛画面截取,插入待识别队列中。
加载比赛直播视频,获取视频帧率,引用自调整算法动态计算截图间隔时间,按截图间隔时间进行直播画面截取,插入待识别队列中。
设视频帧率为F,上一次截图间隔时间为Np,识别队列长度为L,则间隔时间N可表示为:
用此算法,可以自动调整截图间隔,从而使队列长度趋稳于0~3之间。
步骤S2:导入图像分类特征数据,引用图像分类算法,归类步骤S2待识别队列中的比赛场景画面,采用比赛场景特征区域提取算法,提取并生成场景特征数据。
从上述步骤S1待识别队列中,获取大量比赛场景画面,导入图像分类特征数据,引用K-近邻(k-Nearest Neighbor,KNN)分类算法归类比赛场景相同的画面。过滤掉部分偏差较大的场景画面后,采用比赛场景特征区域提取算法,提取所有特征区域。
设在所有相同场景图像中随机取n张图片对应的矩阵A1、A2、A3...An,初始特征矩阵为S0,则A1与A2的相同特征矩阵可表示为:
S1=S0∩A1=A1
S2=S1∩A2=S0∩A1∩A2=A1∩A2
矩阵A1、A2相同的特征矩阵S2如图2所示,
以此类推n张图片对应的相同特征矩阵Sn可表示如下:
Sn=S0∩A1∩A2∩A3...∩An=A1∩A2∩A3...∩An
从特征矩阵Sn中分离红绿蓝三个通道矩阵:
Sn(x,y)={R(x,y),G(x,y),B(x,y)}
求得灰度矩阵Sg:
Sg(x,y)=R(x,y)*0.299+G(x,y)*0.587+B(x,y)*0.114
再求得Sg的二值化矩阵B:
T=max(Sg)-(max(Sg)-min(Sg))/3
再对B进行腐蚀运算,设腐蚀半径为r,则腐蚀后可得二值图像集合:
以图2为例,其为进行腐蚀运算后的二值图像可以理解图示。
则此场景对应的特征矩阵可表示为:
Se=Sn∧S
则图2和图3与操作后特征矩阵可以理解为图4所示。
即S为此场景的一个特征区域,Se为对应的特征矩阵。此时可得此场景的一个特征数据
C
在所有相同场景图像中再随机取n张图片,重复上面的步骤可再得另一个特征数据C2、C3...CN。
最终该场景特征数据记为
Ce={C
则所有场景特征数据可记为
C(i)={Ce
将C按一定格式保存入场景特征数据文件。
步骤S3:导入步骤S2的场景特征数据,展开显示所有场景图片,标记各场景名称,保存为场景配置。
导入步骤S2生成的场景特征数据,展开显示所有场景图片,如图5。
标记各场景名称,记为集合N.
N(i)={N
从步骤S2可知所有场景特征集合C。
C(i)={Ce
对C与N做关系映射:
将C与N的关系映射按一定格式保存入场景配置文件。
步骤S4:导入步骤S3的场景配置数据,识别比赛场景名称。
导入步骤S3生成的场景配置数据。从上述步骤S1待识别队列中,获取比赛场景画面。
设取一张比赛场景画面对应的矩阵A1,取一个场景E特征数据Ce,由步骤S2可知:
Ce={C
C
则场景E对应特征数据C1的特征参考矩阵可表示为:
Se
对参考矩阵Se1与矩阵Se两个特征矩阵进行比较得出矩阵距离:
A,B=Se
则比赛场景画面矩阵A1,对应场景E中特征数据C1的相似度可表示为:
设此场景E中有N个特征数据,则比赛场景画面矩阵A1对应场景E的相似度可表示为:
p=max{p
则比赛场景画面矩阵A1与各个场景的相似度p与其特征数据集合C存在映射关系可表示为:
由步骤S3中,特征数据集合C与场景名称N的映射关系可得:
则比赛场景画面矩阵A1的场景名称可取最大相似度对应的场景名称:
N=max{p
举个例子,取一张比赛场景画面E1如图6所示。
再用步骤S2中场景E1的其中一个特征区域(图3)与比赛场景画面E1(图6)进行与运算后可得E1的特征参考矩阵如图7。
取一张比赛场景画面E2如图8。
重复上面的操作,可得E2的特征参考矩阵如图9。
图7与图4的相似度高于图9与图4的相似度。则可认为,比赛场景画面E1的特征参考矩阵图7符合场景E的特征,查询场景E名称映射表,可得场景E对应标记的场景名称N。
步骤S5:导入场景特征数据,展开所有场景,选择需内容识别的场景,框画需识别区域,填写知识种类和输出字段,保存识别内容配置。
导入步骤S3生成的场景配置数据,展开显示所有场景缩略图和名称,如图10。
选择需要内容识别的场景。标记需要识别的区域Ar,标记知识种类Kn和输出字段An,如图11。
将输出字段An与区域坐标Ar和知识种类Kn捆绑可得集合Ak。
An(i)={An
Ar(i)={Ar
Kn(i)={Kn
Ak
Ak(i)={Ak
其中,i为场景中标记区域的序号,x为各个场景对应的序号。
结合步骤S4的场景名称生成映射关系如下:
以特定格式将关系映射表保存到内容配置文件。
步骤S6:导入内容素材,训练生成内容特征数据,定义内容所属知识种类,生成知识种类数据配置。
准备内容素材资源包,按以下目录结构规则存放。
-|知识种类名称,例如:hero
---|内容名称,例如:小猪
-----|素材资源.png/.jpg,例如:pigxxx.png
导入内容素材资源包,遍历素材资源目录结构,设知识输出内容为Ko,则生成内容数据集合Pn与索引字典D的映射关系表可表示如下。
D
D={D
Pn={Pn
其中FileSeparator为资源目录相对位置关系,x为内容名称序号,i为素材资源序号。
取一个内容数据矩阵Pn(i),计算其二值化矩阵。从中分离出红绿蓝三个通道矩阵:
Pn
再计算灰度矩阵Sg:
Sg(x,y)=R(x,y)*0.299+G(x,y)*0.587+B(x,y)*0.114
再计算灰度矩阵Sg对应的二值化矩阵B:
T=max(Sg)-(max(Sg)-min(Sg))/3
对B做二维卷积运算得特征矩阵Hni:
其中,G为卷积核,B的行数和列数分别为Mr和Mc,G的行数和列数分别为Nr和Nc。
集合以上特征矩阵Hni得内容数据的特征矩阵集合Hn:
Hn={Hn
则内容数据映射关系如下:
以特定格式将内容数据映射关系表保存到知识种类数据配置文件。
步骤S7:继步骤S4后,导入步骤S5的识别内容配置和步骤S6的知识种类数据配置,识别场景中的内容,按内容配置的输出字段输出识别结果。
继步骤S4后,识别出画面E1对应的场景名称N,再由步骤S5的关系映射表可得画面E1需要识别的内容配置信息Ak。
Ak
则存在:
再由步骤S6的知识种类数据配置中
得
取内容配置信息Ak1中对应的识别区域为Ar1,在画面E1中截取Ar1对应的画面记为Pn1,按步骤S6求取卷积特征矩阵的方法计算得特征矩阵H1。
在特征矩阵集合Hn中取元素Hn1,按步骤S4方法计算Hn1与H1的相似度p1
A,B=Hn1,H1
同理在特征矩阵集合Hn中取元素Hn2,按步骤S4方法计算Hn2与H1的相似度p2,最终可得:
p={p
则存在映射关系:
则相似度最高的特征矩阵可表示为:
由步骤S6中内容数据映射关系
由上述映射关系
最后拼接输出内容得到以Anx为键,Kox为值的Json数据。
比方说,识别出画面E1对应的名称为N=HeroShow,设知识种类数据配置中有两个索引字典D1=hero/小猪,D2=hero/小牛,由D
对Pn1和Pn2分别求特征矩阵得Hn1和Hn2,提取Kn=hero的内容数据的特征矩阵集合:
Hn={Hn
再取待识别场景画面E1用图6表示,在步骤S5中配置内容如下:
An
Ar
Kn
其中An为输出字段,内容为字符串“A1”,Ar为矩阵坐标区域,Kn为知识种类,内容为字符串“hero”。
截取Ar1对应的画面记为Pn1和对应特征矩阵H1。
分别计算Hn1与H1的相似度p1和Hn2与H1的相似度p2。比对后发现:
p1>p2
由于集合中只有两个元素,则认为p1是集合中最大的值,从而推出之对应的特征矩阵为Hn1,输出内容为Ko1=小猪,输出字段An1=A1,则画面E1识别内容为{″A1″:″小猪″},拼接场景名称后,输出内容{″HeroShow″:{″A1″:″小猪″}}。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
- 一种基于图像识别的电竞比赛赛况数据获取方法
- 一种基于光学字符识别的电竞比赛赛况实时输出方法