具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,由于传统戏剧的唱腔独特,导致不具有戏剧基础或者对剧情不熟悉的观众在观看传统戏剧的现场演出时,难以准确辨识戏剧演员的吐字,导致这些观众不能准确理解剧情,影响观看体验。
为了帮助观众准确识别戏剧演员的吐字,又不影响观众欣赏戏剧演出,本发明通过以下实施例提出基于增强现实的戏剧观看方法和装置,借助于增强现实技术,提高观众现场观看戏剧的体验。
需要说明的是,在实施以下戏剧观看方法之前,可以预先执行一些准备工作。具体地,利用剧台正上方的摄像机,竖直向下地拍摄一整出样本戏剧视频,并将拍摄的样本戏剧视频发送给剧院的服务器。服务器均匀地从样本戏剧视频中抽取出多个样本视频帧,例如服务器每隔5秒钟,从样本戏剧视频中抽取出一个样本视频帧,则服务器获得以下演出进度所对应的样本视频帧:0小时0分05秒、0小时0分10秒、0小时0分15秒…1小时05分10秒、1小时05分15秒…1小时48分25秒等。
服务器针对每个样本视频帧,对该样本视频帧中的演员进行检测,以确定该样本视频帧中每个演员的坐标,然后将多个演员的坐标组成该样本视频帧所对应的标准位置向量,该标准位置向量也与该样本视频帧所对应的演出进度相对应。为便于理解,假设某一样本视频帧所对应的演出进度为1小时05分10秒,则该样本视频帧的标准位置向量所对应的演出进度为1小时05分10秒。如此,建立了标准位置向量与演出进度之间的对应关系。
此外,还可以预先为每一演出进度匹配相应的字幕。如此,相当于进一步建立了标准位置向量、演出进度以及字幕等三者之间的对应关系。
还需要说明的是,对于如何检测演员、组建标准位置向量,可参考下文,此处暂不赘述。
参考图1,图1是本发明一实施例提出的基于增强现实的戏剧观看方法的示意图,该方法应用剧院的服务器。如图1所示,该方法包括以下步骤:
步骤S11:接收剧台正上方的摄像机周期性上传的剧台照片,每张剧台照片是所述摄像机竖直向下对准所述剧台所拍摄的照片。
具体实现时,摄像机每隔预设时间长度(例如每隔30秒)拍摄一张剧台照片。摄像机每拍摄一张剧台照片,就将该张剧台照片上传给剧院的服务器。
步骤S12:每接收到一张剧台照片后,对该张剧台照片中的演员进行检测,以确定该张剧台照片中的演员位置。
可选地,在一些具体实施方式中,服务器在接收到剧台照片后,为了检测剧台照片中的演员,可以将剧台照片输入预先训练的目标检测模型中,从而得到目标检测模型输出的检测结果。
其中,上述目标检测模型可以是通过以下方式训练得到的:搜集多个样本剧台照片,针对每个样本剧台照片,人工标记出每个演员在该样本剧台照片中的位置。然后将每个标记了演员位置的样本剧台照片输入MaskRCNN或FasterRCNN等目标检测模型,从而对目标检测模型进行训练。最后,获得经过训练的目标检测模型,该目标检测模型专门用于检测剧台照片中的演员,并输出演员的位置。
需要说明的,上述检测演员及其位置的方式,以及训练目标检测模型的方式,仅作为本发明的一种可选的具体实施方式。本领域技术人员在实施本发明期间,还可以采用其熟知的其他技术方案,本发明对此不做限定。
还需要说明的,对于上文所述的对样本视频帧中的演员进行检测,其检测方式可参考上述具体实施方式。
步骤S13:根据该张剧台照片中的演员位置,确定当前演出进度和当前演出进度所对应的字幕。
可选地,在一些具体实施方式中,步骤S13具体包括以下子步骤:
子步骤S13-1:确定每个演员在该张剧台照片中的坐标,并将多个演员的坐标组成一个演员位置向量。
子步骤S13-2:将组成的演员位置向量与预先组建的多个标准位置向量进行比较,从多个标准位置向量中确定出与所述演员位置向量的向量距离最小的标准位置向量。
子步骤S13-3:将确定出的标准位置向量所对应的演出进度,确定为当前演出进度,并将该演出进度所对应的字幕,确定为当前演出进度所对应的字幕。
如前所述,所述标准位置向量可以是通过以下方式组建的:所述服务器获取所述摄像头拍摄的样本戏剧视频,从样本戏剧视频中均匀地抽取出多个样本视频帧,针对每个样本视频帧,确定该视频帧中每个演员的坐标,将多个演员的坐标组成一个标准位置向量。
此外,所述服务器预先为每个标准位置向量匹配对应的演出时间点,作为该标准位置向量所对应的演出进度。
在执行子步骤S13-1时,具体地,可以按照预设顺序,依次遍历该张剧台照片中的每个像素点,针对遍历到的像素点,判断该像素点是否属于一个演员的所在位置;如果该像素点属于一个演员的所在位置,且该演员的所在位置还没有被遍历过,则将该像素点的坐标排列至正在组建的演员位置向量的末尾,以及将该演员的所在位置确定为已经被遍历过;在遍历完该张剧台照片的全部像素点后,得到由若干坐标拼接成的演员位置向量,如果该演员位置向量的长度小于预设长度,则将不足预设长度的部分补充为0。
为便于理解,如图2所示,图2是本发明一实施例提出的组建演员位置向量的示意图。如图2所示,目标检测模型输出的检测结果是一张标记有演员位置的剧台照片,该剧台照片具有多个像素点。多个像素点中,聚成一团的灰色像素点,表示一个演员的所在位置。
针对图2中的剧台照片,从左上角第一个像素点开始,按照从左至右、从上之下的顺序,依次遍历每个像素点。针对遍历到的每个像素点,执行上述判断。如图2所示,当遍历到像素点a时,由于像素点a属于一个演员的所在位置,且该演员的所在位置还没有被遍历过,因此将像素点a的坐标排列至正在组建的演员位置向量的末尾。此外,还将像素点a所属的演员所在位置确定为已经遍历过的。由于像素点a属于遍历到的第一个演员所在位置,因此像素点a的坐标排列在正在组建的演员位置向量的一个位。
如图2所示,当遍历到像素点b时,虽然像素点b属于一个演员的所在位置,但是由于该演员所在位置被确定为已经遍历过的,因此不会再将像素点b的坐标排列至正在组建的演员位置向量的末尾。同样地,也不会将像素点c、像素点d等的坐标排列至正在组建的演员位置向量的末尾。
如图2所示,当遍历到像素点m时,由于像素点m属于一个演员的所在位置,且该演员的所在位置还没有被遍历过,因此将像素点m的坐标排列至正在组建的演员位置向量的末尾,也即排列在像素点a的坐标之后。此外,还将像素点m所属的演员所在位置确定为已经遍历过的。
依次类推,完成对剧台照片的所有像素点的遍历。最终,像素点a、像素点m、像素点p以及像素点y等的坐标,组成了演员位置向量。假设像素点a、像素点m、像素点p以及像素点y等的坐标分别为(11,19)、(16,208)、(117,38)以及(256,189),则组成的演员位置向量为{(11,19)(16,208)(117,38) (256,189)}。
需要说明的是,上述几个坐标的坐标值,仅作为示例,不应理解为是对本发明的限定。
此外,假设演员位置向量的预设长度为6位,而由于上述演员位置向量仅有4位,因此需要对相差的2位补零。补零后的演员位置向量为{(11,19)(16,208)(117,38)(256,189)(0,0)(0,0)}。
还需要说明的是,如果剧台照片的像素点还没有遍历完,而已经组成了6位长度的演员位置向量,则可以放弃遍历后续还没有遍历的像素点。将已经组成的6位长度的演员位置向量确定为最终的演员位置向量。
还需要说明的是,对于上文所述的组建标准位置向量,其组建方式可参考图2所示的具体实施方式。
在执行子步骤S13-2时,具体地,可以根据当前这张剧台照片的上一张剧台照片所对应的历史演出进度,获取该历史演出进度之后预设数量的标准位置向量;然后将组成的演员位置向量与所述预设数量的标准位置向量进行比较,从所述预设数量的标准位置向量中确定出与所述演员位置向量的向量距离最小的标准位置向量。
为便于理解,示例地,假设预设数量设定为8,又假设当前这张剧台照片的上一张剧台照片所对应的历史演出进度为1小时05分10秒,该历史演出进度是在处理所述上一张剧台照片时,为所述上一张剧台照片确定出的演出进度。该历史演出进度(也即1小时05分10秒)之后的8个标准位置向量,分别是以下演出进度所分别对应的标准位置向量:1小时05分15秒、1小时05分20秒、1小时05分25秒、1小时05分30秒、1小时05分35秒、1小时05分40秒、1小时05分45秒、以及1小时05分50秒。
在获取到这8个标准位置向量后,将子步骤S13-1中为当前这张剧台照片所组建的演员位置向量,与这8个标准位置向量一一进行比较。具体的比较方式为:计算演员位置向量与每个标准位置向量之间的向量距离。最后,从8个标准位置向量中,确定向量距离最小的标准位置向量。向量距离最小的标准位置向量,也即是与演员位置向量最相近的向量。换言之,也即是演员站位最接近的向量。考虑到向量距离的计算方法为现有技术,本发明在此不对向量距离的计算方法进行赘述。
需要说明的是,本发明中,通过根据上一张剧台照片所对应的历史演出进度,获取该历史演出进度之后预设数量的标准位置向量,然后将组成的演员位置向量与预设数量的标准位置向量进行比较。相当于有效缩小了标准位置向量的比较范围,一方面有利于减小计算量,提高比较效率,另一方面有利于提高比较结果的准确性,降低演出进度匹配错误的概率。
在执行子步骤S13-3时,为便于理解,示例地,假设当前这张剧台照片的演员位置向量,与演出进度为1小时05分35秒的标准位置向量之间的向量距离最小。因此,当前这张剧台照片所对应的当前演出进度为:1小时05分35秒。又例如演出进度1小时05分35秒所对应的字幕为“云敛晴空,冰轮乍涌,好一派清秋光景”,则当前演出进度所对应的字幕也为“云敛晴空,冰轮乍涌,好一派清秋光景”。
步骤S14:将当前演出进度所对应的字幕和该字幕之后预设数量的字幕发送给每个观众的AR眼镜,以使得每个AR眼镜显示其接收到的字幕。
可选地,在一些具体实施方式中,步骤S14具体包括以下子步骤:
子步骤S14-1:根据当前演出进度和所述摄像机周期性上传剧台照片的周期长度,确定下一周期所对应的未来演出进度。
子步骤S14-2:获取当前演出进度和未来演出进度之间的区间字幕。
子步骤S14-3:将当前演出进度所对应的字幕和所述区间字幕一并发送给给每个观众的AR眼镜,以使得每个AR眼镜显示其接收到的字幕。
为便于理解,示例地,假设当前演出进度为1小时05分35秒,又假设摄像机每30秒上传一张剧台照片,则下一周期所对应的未来演出进度为1小时06分05秒。然后获取1小时05分35秒与1小时06分05秒之间的字幕,作为区间字幕。最后,将1小时05分35秒所对应的字幕,以及上述区间字幕,一并发送给给每个观众的AR眼镜进行显示。
本发明中,剧院的服务器通过对剧台照片中的演员进行检验,从而确定剧台照片中每个演员的位置。然后根据每个演员的位置,确定出当前演出进度和当前演出进度所对应的字幕。最后,将当前演出进度所对应的字幕和该字幕之后预设数量的字幕发送给每个观众的AR眼镜。观众的AR眼镜接收到字幕后,将字幕显示给观众。如此,观众在面向剧台观看戏剧演出的同时,能看到AR眼镜中显示的字幕,以便于准确识别戏剧演员的吐字,又不影响欣赏戏剧演出。
并且,由于摄像机安装在剧台正上方,且竖直向下地对准剧台拍摄照片,因此,剧台照片中每个演员的影像不会发生重叠,有利于服务器更准确地确定出每个演员的位置,进而更准确地确定当前演出进度和相应字幕。
此外,由于摄像机周期性地向服务器上传剧台照片,服务器每接收到一张剧台照片,就执行上述处理。如此,使得观众的AR眼镜可以持续地接收到最新的字幕,每次接收到的字幕都是与接下来一段时间的戏剧演出相对应的字幕。
基于同一发明构思,本发明实施例还提供一种基于增强现实的戏剧观看装置。参考图3,图3是本发明一实施例提出的基于增强现实的戏剧观看装置的示意图,该装置应用于剧院的服务器。如图3所示,该装置包括:
照片接收模块31,用于接收剧台正上方的摄像机周期性上传的剧台照片,每张剧台照片是所述摄像机竖直向下对准所述剧台所拍摄的照片;
演员检测模块32,用于每接收到一张剧台照片后,对该张剧台照片中的演员进行检测,以确定该张剧台照片中的演员位置;
字幕确定模块33,用于根据该张剧台照片中的演员位置,确定当前演出进度和当前演出进度所对应的字幕;
字幕发送模块34,用于将当前演出进度所对应的字幕和该字幕之后预设数量的字幕发送给每个观众的AR眼镜,以使得每个AR眼镜显示其接收到的字幕。
可选地,在一些具体实施方式中,所述字幕确定模块包括:
演员位置向量组建单元,用于确定每个演员在该张剧台照片中的坐标,并将多个演员的坐标组成一个演员位置向量;
位置向量比较单元,用于将组成的演员位置向量与预先组建的多个标准位置向量进行比较,从多个标准位置向量中确定出与所述演员位置向量的向量距离最小的标准位置向量;
字幕确定单元,用于将确定出的标准位置向量所对应的演出进度,确定为当前演出进度,并将该演出进度所对应的字幕,确定为当前演出进度所对应的字幕;
其中,所述标准位置向量是通过以下方式组建的:所述服务器获取所述摄像头拍摄的样本戏剧视频,从样本戏剧视频中均匀地抽取出多个样本视频帧,针对每个样本视频帧,确定该视频帧中每个演员的坐标,将多个演员的坐标组成一个标准位置向量;
此外,所述服务器预先为每个标准位置向量匹配对应的演出时间点,作为该标准位置向量所对应的演出进度。
可选地,在一些具体实施方式中,所述位置向量比较单元,具体用于:根据当前这张剧台照片的上一张剧台照片所对应的历史演出进度,获取该历史演出进度之后预设数量的标准位置向量;将组成的演员位置向量与所述预设数量的标准位置向量进行比较,从所述预设数量的标准位置向量中确定出与所述演员位置向量的向量距离最小的标准位置向量。
可选地,在一些具体实施方式中,所述演员位置向量组建单元,具体用于:按照预设顺序,依次遍历该张剧台照片中的每个像素点,针对遍历到的像素点,判断该像素点是否属于一个演员的所在位置;
如果该像素点属于一个演员的所在位置,且该演员的所在位置还没有被遍历过,则将该像素点的坐标排列至正在组建的演员位置向量的末尾,以及将该演员的所在位置确定为已经被遍历过;在遍历完该张剧台照片的全部像素点后,得到由若干坐标拼接成的演员位置向量,如果该演员位置向量的长度小于预设长度,则将不足预设长度的部分补充为0。
可选地,在一些具体实施方式中,所述字幕发送模块,包括:
未来演出进度确定单元,用于根据当前演出进度和所述摄像机周期性上传剧台照片的周期长度,确定下一周期所对应的未来演出进度;
区间字幕获取单元,用于获取当前演出进度和未来演出进度之间的区间字幕;
字幕发送单元,用于将当前演出进度所对应的字幕和所述区间字幕一并发送给给每个观众的AR眼镜,以使得每个AR眼镜显示其接收到的字幕。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。