本申请实施例涉及计算机技术领域,具体涉及计算机视觉等人工智能技术领域,尤其涉及一种视频处理方法、装置、设备以及存储介质。
背景技术:
随着互联网视频内容不断的丰富,视频内容制作方提供的视频内容形式也越来越多,且该视频内容形式会随视频格式、画面大小等因拍摄设备不同而不同。因此,如何制作符合屏幕显示模式的视频是当前亟需解决的问题。
目前,制作符合屏幕显示模式的视频包括以下几种方式:(1)使用视频编辑软件,直接将原视频的尺寸进行缩小,然后放入原视频的中间区域,或者通过添加滤镜的方式对周边区域进行填充。(2)使用裁剪放大的方式,对原视频中部分画面进行裁剪,然后再对裁剪区域做放大,以达到跟播放设备一样的尺寸。
技术实现要素:
本申请实施例提出了一种视频处理方法、装置、设备以及存储介质。
第一方面,本申请实施例提出了一种视频处理方法,该视频处理方法包括:获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。
第二方面,本申请实施例提出了一种视频处理装置,该视频处理装置包括:数据获取模块,被配置为获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;第一确定模块,被配置为针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;第二确定模块,被配置为根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;视频处理模块,被配置为根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。
第三方面,本申请实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
本申请实施例提供的视频处理方法、装置、设备以及存储介质,首先获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;之后,针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;而后,根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;然后,根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频;本申请能够将由位置信息、待播放视频的尺寸信息和屏幕尺寸比例所确定的裁剪区域,自动完成对待播放视频的裁剪,得到与不同屏幕显示模式匹配的待播放视频。整个过程无需手工操作,且不同的屏幕显示模式对应不同的待播放视频,满足了用户在不同屏幕显示模式下,播放视频的需求。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请可以应用于其中的示例性系统架构;
图2是根据本申请的视频处理方法的一个实施例的流程图;
图3(a)~(d)为对象跟踪匹配的示意图;
图4是确定目标对象的示意图;
图5是平滑处理前和处理后的对比图;
图6是本申请的确定裁剪区域的一个实施例的流程图;
图7是检测框的示意图;
图8是本申请的应用场景示意图;
图9是根据本申请的视频处理装置的示意图;
图10是用来实现本申请实施例的视频处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的视频处理方法或视频处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102,网络103和服务器104。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络103与服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种应用,例如各种客户端应用、与处理图像相关的应用、多方交互应用、人工智能应用等。
终端设备101、102可以是硬件,也可以是软件。当终端设备101、102为硬件时,可以是支持文档处理应用的各种电子设备,包括但不限于智能终端、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器104可以是提供各种服务的服务器,例如对终端设备101、102提供支持的后台服务器。后台服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
在实践中,本公开实施例所提供的视频处理方法可以由终端设备101、102或服务器104执行,视频处理装置也可以设置于终端设备101、102或服务器104中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的视频处理方法的一个实施例的流程200。该视频处理方法200包括以下步骤:
步骤201:获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频。
在本实施例中,视频处理方法的执行主体(例如图1所示的终端设备101、102或服务器104)可以获取目标设备的屏幕显示模式匹配的尺寸比例,以及从远程或本地获取待播放视频。其中,待播放视频可以是由目标设备拍摄、从目标设备本地存储或从其他外部设备获取的视频。目标设备可以为图1所示的终端设备101、102或服务器104。
在这里,屏幕尺寸比例可以为目标设备的屏幕的长宽比例。与屏幕显示模式匹配的屏幕尺寸比例可以为适用于不同屏幕显示模式的屏幕尺寸比例;例如适用于竖屏显示模式对应的屏幕尺寸比例,适用于横屏显示模式对应的屏幕尺寸比例。
屏幕显示模式可以由用户设置或出厂时设置,该屏幕显示模式在用户通过目标设备播放视频时,用户可以改变目标设备的当前屏幕显示模式,以获得与当前屏幕显示模式匹配的待播放视频,以满足用户不同的观看需求。
步骤202:针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息。
在本实施例中,上述执行主体可以对待播放视频中的对象进行识别,以确定待播放视频中的对象,以及在确定图像中的对象之后,确定对象在其所在的图像中的位置信息。待播放视频中的图像可以为待播放设备中的至少一帧图像。
其中,确定待播放视频中的对象,包括:通过目标检测算法对待播放视频进行逐帧识别,以得到待播放视频中的对象。上述目标检测算法包括但不限于:候选窗 深度学习分类:通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案;基于深度学习的回归方法。
其中,确定对象在图像中的位置信息,包括:基于深度学习的r-cnn(region-convolutionalneuralnetwork,基于区域的卷积网络)算法或fasterrcnn(基于快速区域的卷积网络)算法,确定对象在图像中的位置。
在对待播放视频中的对象进行识别之前,还可以将待播放视频进行预处理,例如剔除掉声音效果差,失真的图像,以提供高质量的待播放视频。
步骤203:根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域。
在本实施例中,上述执行主体可以根据待播放视频中图像中的对象在其所在的图像中的位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定图像与屏幕显示模式匹配的裁剪区域。
在这里,裁剪区域可以为针对图像中包含对象的区域,该裁剪区域用于将该裁剪区域包含的对象所在的图像进行裁剪,以获得裁剪后的图像。与屏幕显示模式匹配的裁剪区域可以为适用于屏幕显示模式的裁剪区域,通过该裁剪区域对待播放视频进行裁剪就可以得到与屏幕显示模式匹配的待播放视频;例如,适用于竖屏显示模式的裁剪区域,通过该裁剪区域对待播放视频进行裁剪,可以到适用于竖屏显示模式的待播放视频。
步骤204:根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。
在本实施例中,上述执行主体可以根据图像的裁剪区域,对图像进行裁剪,例如批量裁剪或逐帧裁剪,得到裁剪后的图像;之后,将所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。其中,可以通过裁剪工具进行裁剪,得到裁剪后的图像。其中,与屏幕显示模式匹配的待播放视频可以为适用于不同屏幕显示模式的待播放视频,例如,适用于竖屏显示模式的待播放视频,在目标设备的显示模式为竖屏显示模式时,可以播放适用于竖屏显示模式的待播放视频,以满足用户不同的视频播放需求。
本申请实施例提供的视频处理方法,首先获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;之后,针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;而后,根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;然后,根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频;本申请能够将由位置信息、待播放视频的尺寸信息和屏幕尺寸比例所确定的裁剪区域,自动完成对待播放视频的裁剪,得到与不同屏幕显示模式匹配的待播放视频。整个过程无需手工操作,且不同的屏幕显示模式对应不同的待播放视频,满足了用户在不同屏幕显示模式下,播放视频的需求。
在本实施例的一些可选的实现方式中,针对待播放视频中的图像,确定图像中的对象,包括:将待播放视频中相邻帧图像进行识别,确定待播放视频中首次出现的第一对象,其中,首次出现的第一对象为待播放视频中所有对象中每个对象首次出现的对象;将第一对象,与待播放视频中其他图像中的第二对象进行匹配,其他图像为待播放视频中除包含第一对象的图像之外的图像;响应于第二对象与第一对象匹配,确定第二对象与第一对象为同一对象。
在本实现方式中,上述执行主体可以对待播放视频进行逐帧识别,确定图像中的第一对象,将第一对象设置跟踪编号;之后,将第一对象与待播放视频中的其他图像中的第二对象进行匹配,在第一对象与第二对象匹配时,确定第二对象和第一对象为同一对象,也即将第二对象和第一对象设置相同的跟踪编号,依次类推,直至对待播放视频中的所有图像完成了匹配;如果第二对象与第一对象不匹配,则为第二对象设置新的跟踪编号,依次类推,直至从待播放视频中匹配与第二对象为同一对象的对象,直至对待播放视频中所有图像完成了匹配。
需要说明的是,在每一次匹配到与第一对象为同一对象的对象时,对第一对象在待播放视频中的帧数进行累加,直至匹配完待播放视频中的所有图像,得到第一对象在待播放视频中的总帧数。
需要说明的是,首先出现的第一对象为所有对象中每个对象首次出现的对象,例如包括对象a、b和c;首次出现的第一对象可以为对象a首次出现的对象,还可以为对象b首次出现的对象,还可以为对象c首次出现的对象。
在一个具体的示例中,通过计算(a)帧图像和(b)帧图像中的对象所在的检测框所包含的区域的相似度,设置相同的跟踪编号,在(a)帧图像和(b)帧图像中的对象所在的检测框所包含的区域的相似度大于或等于预设阈值时,确定(a)帧图像和(b)帧图像中的对象为同一对象,设置相同的跟踪编号(如图3中的(c)所示);在(a)帧图像和(b)帧图像中的对象所在的检测框所包含的区域的相似度小于预设阈值时,确定(a)帧图像和(b)帧图像中的对象不为同一对象,设置不同的跟踪编号(如图3中的(d)所示)。
在本实现方式中,针对待播放视频中相邻帧图像进行识别,例如前后帧图像中的对象所在的区域进行匹配,能够匹配上的对象拥有相同的跟踪编号,不能匹配上(新出现的对象)的赋予新的跟踪编号,进而实现对待播放视频中同一对象的确定。上述匹配方法包括但不限于传统图像和深度学习算法的各种模型。
在本实施例的一些可选的实现方式中,该视频处理方法还包括:响应于第二对象和第一对象为同一对象,累计第一对象在待播放视频中的帧数,得到第一对象在待播放视频中的总帧数;根据第一对象的置信度、对象所在的检测框的高度和宽度,得到第一对象的权重;根据总帧数与第一对象的权重,得到第一对象的最终权重;将最终权重最大的对象,作为目标对象。
在本实现方式中,上述执行主体可以在第二对象和第一对象为同一对象,累计第一对象在待播放视频中的帧数,得到第一对象在待播放视频中的总帧数;根据第一对象的置信度、对象所在的检测框的高度和宽度,得到第一对象的权重;根据总帧数与第一对象的权重,得到第一对象的最终权重;将最终权重最大的对象,作为目标对象。其中,检测框包含对象的概率,也称为置信度(confidence)。
在一个具体的示例中,使用前后帧的对象进行比较,按出现频次、画面大小、镜头位置等综合确定图像中的目标对象。以目标对象对应的检测框的几何中心的坐标作为裁剪区域的几何中心的坐标。
对于在某一场景中,如果在该场景中的第i帧上某个对象出现了,计算该对象的权重:
si=wi*hi*fi(1)
(1)式表明检测框面积越大、置信度越高,该对象的权重越大。并对对象在待播放视频中出现的帧数做累积:
tsi=sum(si)(2)
得到该对象的最终权重tsi。
其中,f为检测框包含对象的概率,也称为置信度(confidence),fi为第i帧上对象的置信度;wi为包含第i帧对象的裁剪区域的宽度,hi为包含第i帧对象的裁剪区域的高度。
在实现方式中,根据第一对象的置信度、对象所在的检测框的高度和宽度,得到第一对象的权重;根据第一对象在待播放视频中的总帧数与第一对象的权重,得到第一对象的最终权重;进而基于最终权重最大的对象,实现了对目标对象的确定。
在一个具体的示例中,先对待播放视频进行场景检测;在确定场景之后,针对同一场景下的几帧图像,计算权重的过程包括:
为了方便描述,以第i帧图像和第j帧为示例进行说明。
如图4所示,在第i帧图像中包括:对象a、对象b和对象c;其中,对象a的类型为a1,大小为a2,置信度为a3;对象b的类型为b1,大小为b2,置信度为b3;对象c的类型为c1,大小为c2,置信度为c3;在j帧图像中包括:对象a、对象b和对象c;其中,对象a的类型为a1,大小为a2,置信度为a3;对象b的类型为b1,大小为b2,置信度为b3;对象c的类型为c1,大小为c2,置信度为c3。分别第i帧图像中的对象a、对象b和对象c,以及第j帧图像中的对象、对象b和对象c中每个对象的权重。
由于第i帧图像和第j帧图像中均包括对象b和对象c,则将对象b和对象c的权重进行累加。
最终确定,对象c的权重最大,确定对象c为目标对象。以该对象c为中心进行裁剪,最终输出图像的视觉效果最好。其中,确定目标对象还可以包括由用户指定的方式确定。
本实现方式,通过待播放视频中对象出现次数和对象的权重,确定目标对象的最终权重;之后,根据对象的最终权重从待播放视频中所有对象中确定目标对象。
在本实施例的一些可选的实现方式中,根据总帧数与第一对象的权重,得到第一对象的最终权重,包括:根据第一对象在待播放视频中的总帧数、第一对象的权重,以及第一对象的预设类别系数,得到第一对象的最终权重,其中,预设类别系数为与第一对象属于同类别的对象的系数。
在本实现方式中,上述执行主体可以根据第一对象在待播放视频中的总帧数、第一对象的权重,以及第一对象的预设类别系数,得到第一对象的最终权重,其中,预设类别系数为与第一对象属于同类别的对象的系数。
在一个具体的示例中,不同类别对象设置不同的预设的类别系数kc,得到对象的最终权重为:
p=ts*kc(3)
对所有对象,按p进行排序,挑选出p值最大的对象作为目标对象。
本实现方式,可以通过第一对象在待播放视频中的总帧数、第一对象的权重、第一对象的初始权重预设的类别系数,确定第一对象的最终权重,以便后续基于第一对象的最终权重准确地确定目标对象。其中,预设类别系数可以为与第一对象属于同类别的对象的系数,例如均为人物,那么这两个对象属于同一类别对象,每个类别对象的类别系数可以相同也可以不同。
在本实施例的一些可选的实现方式中,该视频处理方法还包括:响应于待播放视频中的目标图像不包括目标对象,基于目标图像的前一帧图像的裁剪区域,按照线性外推的方法拟合出目标图像的裁剪区域。
在本实现方式中,上述执行主体在对待播放视频进行逐帧识别时,对当前正在识别的图像进行判断,判断该图像中的对象是否为目标对象,在该图像中的对象不为目标对象时,可以基于该图像的前一帧图像的裁剪区域,按照线性外推的方法拟合出目标帧图像的裁剪区域。其中,前一帧图像可以为包括目标对象的图像。
在本实现方式中,在当前图像不包含目标对象时,可以采用线性外推的方法拟合出当前图像的裁剪区域,进而使得当前图像的裁剪区域更符合前一帧图像的裁剪区域包含的对象的位置变化趋势,使得裁剪后的图像中的对象位置变化轨迹更自然更连贯,进而使得裁剪后的图像更真实不失真。
在本实施例的一些可选的实现方式中,根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,包括:采用滚动平均的方式,对裁剪区域进行平滑处理,得到处理后的裁剪区域;基于处理后的裁剪区域,对图像进行裁剪,得到裁剪后的图像(详见图5中平滑处理前和处理后的对比图,图5中的横坐标为待播放视频中的帧数,图5中的竖坐标为裁剪区域中心点的位置信息)。
在本实现方式中,上述执行主体可以采用滚动平均的方式,对裁剪区域进行平滑处理,以消除因目标对象的移动造成图像抖动的问题。
在本实现方式中,针对待播放视频中对象有位置变化的情况,通过滚动平均的方式来消除对象在位置变化时产生的抖动,以提高裁剪后的待播放视频的质量。
在本实施例的一些可选的实现方式中,屏幕显示模式包括竖屏显示模式和横屏显示模式,该视频处理方法还包括:响应于检测到屏幕显示模式由横屏显示模式切换为竖屏显示模式的指令,播放与竖屏显示模式匹配的待播放视频。
在本实现方式中,上述执行主体可以在检测到屏幕显示模式由横屏显示模式切换为竖屏显示模式时,播放与竖屏显示模式匹配的待播放视频。可以根据用户选择的屏幕显示模式通过目标设备播放与用户选择的屏幕显示模式匹配的待播放视频,提高了用户观感。
继续参考图6,其示出了根据本申请的视频处理方法的一个实施例的流程600。该视频处理方法600包括以下步骤:
步骤601:获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频。
步骤602:针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息。
步骤603:将对象所在的检测框的几何中心的位置信息,作为裁剪区域的几何中心的位置信息。检测框可以用于表征对象的检测区域和检测区域内的信息(如图像信息等)(如图7所示的虚线框)。裁剪区域可以包含对象的区域。
在实施例中,上述执行主体可以基于图像中对象所在的检测框的几何中心的位置信息,作为裁剪区域的几何中心的位置信息。
步骤604:根据待播放视频的尺寸信息和屏幕尺寸比例的比值,确定裁剪区域的尺寸信息。
在本实施例中,上述执行主体可以根据待播放视频的尺寸信息与屏幕尺寸比例的比值,确定裁剪区域的尺寸信息。裁剪区域的尺寸信息可以为裁剪区域的高度和宽度尺寸。
步骤605:根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域。
在实施例中,上述执行主体可以根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定在裁剪区域的顶点;之后将由所确定的顶点围成的区域作为裁剪区域。
在一个具体的示例中,上述执行主体可以根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定在裁剪区域上的点;之后将由所确定的点围成的区域作为裁剪区域。
步骤606:根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。
在本实施例中,步骤601、602、606具体操作已在图2所示的实施例中步骤201、202、204进行了详细的介绍,在此不再赘述。
从图6中可以看出,与图2对应的实施例相比,本实施例中的视频处理方法的流程600突出了确定裁剪区域的步骤。由此,本实施例描述的方案提升了确定裁剪区域的准确性。
在本实施例的一些可选的实现方式中,根据该裁剪区域的几何中心的位置信息和该裁剪区域的尺寸信息,确定该裁剪区域,包括:根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域上的第一点和第二点,其中,第一点和第二点分别为裁剪区域的同一对角线上的顶点;将由第一点和第二点所围成的矩形区域,作为裁剪区域。
在本实现方式中,上述执行可以根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定在该裁剪区域的同一对角线上的第一顶点和第二顶点;之后,将由该第一顶点和第二顶点所围成的矩形区域,作为裁剪区域。
在一个具体的示例中,对于每一帧图像,确定裁剪区域的几何中心的位置信息之后,可以通过如下的公式确定裁剪区域上的第一点和第二点。
假设待播放视频的宽度是win,高度是hin,win>hin。
计算裁剪区域的宽度wout和高度hout;由于win>hin(即,待播放视频为横屏视频),为了最大程度的保留图像,可以只在宽度方向做裁剪,所以直接将待播放视频的高度作为输出视频的高度:
hout=hin(4)
假设,屏幕比例尺寸为r,则:
wout=hout/r(5)
计算第一点的(x1,y1)和第二点的坐标(x2,y2)
裁剪区域的几何中心的坐标为(x,y),其高度是hout和wout,可以通过下式计算出:
x1=x–wout/2(6)
y1=y-hout/2(7)
x2=x wout/2(8)
y2=y hout/2(9)
第一点的坐标(x1,y1)和第二点的坐标(x2,y2),裁剪区域的几何中心点的坐标(x,y),其裁剪区域的尺寸信息为hout(高度)和wout(宽度),可以通过以下公式计算出更新后的第一点和第二点的坐标:
需要说明的是,裁剪区域可以为任意形状的裁剪区域;在裁剪区域为任意形状时,可以先确定裁剪区域的顶点;然后,将由所确定的顶点所围成的区域作为裁剪区域。例如,对于矩形的裁剪区域,也可以确定其四个顶点,再将由四个顶点围成的区域作为裁剪区域。可选的,第一点和第二点可以分别为矩形裁剪区域的左上角和右下角对应的点。
在全屏幕显示时,最终得到的与屏幕显示模式匹配的待播放视频的尺寸信息与屏幕尺寸比例一致;在不影响用户体验的情况下,最终得到的与屏幕显示模式匹配的待播放视频的尺寸信息,可能不一定完全覆盖,此时可以根据目标设备的性能或用户的需求设置r。
本实现方式,可以先通过裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域的同一对角线上的第一顶点和第二顶点;之后将由第一顶点和第二顶点所围成的区域,作为裁剪区域,进而准确地确定了裁剪区域。
在本实施例的一些可选的实现方式中,该视频处理方法还包括:响应于第一点不在图像上,将图像上的第一预设点的坐标作为第一点的坐标,并根据第一预设点的坐标值和裁剪区域的尺寸信息,确定第二点的坐标;或,响应于第二点不在图像上,将图像上的第二预设点的坐标作为第二点的坐标,并根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标。
在本实现方式中,上述执行主体在基于裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域上的第一点和第二点之后,还需判断第一点和/或第二点是否在图像上;如果第一点不在图像上,则将图像上的第一预设点的坐标作为第一点的坐标,并根据第一预设点的坐标值和裁剪区域的尺寸信息,确定第二点的坐标。如果第二点不在图像上,将图像上的第二预设点的坐标作为第二点的坐标,并根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标。如果第一点和第二点都不在图像上,则可以将图像上的第一预设点的坐标作为第一点的坐标,以及将图像上的第二预设点的坐标作为第二点的坐标;或者,检测第一点和第二点是否有误,在确定第一点和第二点有误时可以重新确定第一点和第二点,或采用人工的方式对该图像进行裁剪。
本实现方式,在第一点不在图像上时,通过将图像上的第一预设点的坐标作为第一点的坐标,并根据第一预设点的坐标值和裁剪区域的尺寸信息,确定第二点的坐标;在第二点不在图像上,通过将图像上的第二预设点的坐标作为第二点的坐标,并根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标,进而可以基于重新确定的第一点和第二点实现对裁剪区域的确定,实现对裁剪区域的确定。
在本实施例的一些可选的实现方式中,屏幕显示模式包括竖屏显示模式,该裁剪区域的尺寸信息包括宽度和高度,以及根据第一预设点的坐标值和该裁剪区域的尺寸信息,确定第二点的坐标,包括:根据第一预设点的横坐标值和宽度,确定第二点的横坐标;根据第一预设点的纵坐标值和高度,确定第二点的纵坐标。
在本实现方式中,上述执行主体可以根据第一预设点的横坐标值和裁剪区域的宽度,确定第二点的横坐标,以及根据第一预设点的纵坐标值和裁剪区域的高度,确定第二点的纵坐标。
在本实施例的一些可选的实现方式中,根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标,包括:根据第二预设点的横坐标值和宽度,确定第一点的横坐标;根据第二预设点的纵坐标值和高度,确定第一点的纵坐标。
在一个具体的示例中,如果(x1,y1)或者(x2,y2)超出图像边界,需要对裁剪区域做调整,可以通过以下代码确定裁剪区域更新后的第一点的坐标和第二点的坐标:
其中,第一预设点可以为图像左上角的点,例如(0,0);第二预设点可以为右下角的点,例如(win,hin)。
在本实现方式中,在第一点或第二点不在图像上时,可以将第一点和第二点进行调整,以使调整后的第一点和第二点在图像上,进而可以得到针对该图像的裁剪区域,以实现对待播放视频的裁剪。
在本实施例的一些可选的实现方式中,屏幕显示模式包括横屏显示模式,该裁剪区域的尺寸信息包括宽度和高度;以及根据第一预设点的坐标值和该裁剪区域的尺寸信息,确定第二点的坐标,包括:根据第一预设点的横坐标值和宽度,确定第二点的横坐标;根据第一预设点的纵坐标值和高度,确定第二点的纵坐标。
在本实现方式中,上述执行主体可以根据第一预设点的横坐标值和裁剪区域的宽度,确定第二点的横坐标,以及根据第一预设点的纵坐标值和裁剪区域的高度,确定第二点的纵坐标,进而使得由第一点和第二点所围成的区域可以实现对图像的裁剪。
在本实施例的一些可选的实现方式中,屏幕显示模式包括横屏显示模式,该裁剪区域的尺寸信息包括宽度和高度;以及根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标。
为了便于理解,下面提供视频处理的应用场景。在应用场景图8中,(a)为将待播放视频进行逐帧(如图8中的第1~第n帧)识别,以得到每帧图像中的对象;之后,(b)为使用目标跟踪算法,对不同帧图像中的对象进行跟踪,当同一个对象出现在多帧图像上时,需要确定不同帧(例如,第i-1、第i和第i 1帧)上的对象所在的检测框是相关联的,从而将相关联的检测框的对象赋予同一个跟踪编号,即属于同一个对象;之后,(c)为对图像中的对象的权重计算的过程,当某一图像(例如,第i帧)中出现了多个对象时,基于多个对象的权重,确定目标对象;之后,(d)为将前后帧裁剪区域的中心坐标进行平滑,可以得到平稳的裁剪区域,消除图像抖动问题;之后,基于平滑处理后的裁剪框,对待播放视频进行裁剪,得到与屏幕显示模式匹配的待播放视频。
进一步参考图9,作为对上述各图所示方法的实现,本申请提供了一种视频处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图9所示,本实施例的信息生成装置900可以包括:数据获取模块901,被配置为获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;第一确定模块902,被配置为针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;第二确定模块903,被配置为根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;视频处理模块904,被配置为根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频。
在本实施例中,视频处理装置900中:数据获取模块901、第一确定模块902、第二确定模块903和视频处理模块904的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。其中,第一确定模块902和第二确定模块903可以为同一确定模块或不同的确定模块。
在本实施例的一些可选的实现方式中,位置信息为对象所在的检测框的几何中心的位置信息;以及第二确定模块903,包括:位置作为单元,被配置为将对象所在的检测框的几何中心的位置信息,作为裁剪区域的几何中心的位置信息;尺寸确定单元,被配置为根据待播放视频的尺寸信息和屏幕尺寸比例的比值,确定裁剪区域的尺寸信息;区域确定单元,被配置为根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域。
在本实施例的一些可选的实现方式中,区域确定单元,进一步被配置为:根据裁剪区域的几何中心的位置信息和裁剪区域的尺寸信息,确定裁剪区域上的第一点和第二点,其中,第一点和第二点分别为裁剪区域的同一对角线上的顶点;将由第一点和第二点所围成的矩形区域,作为裁剪区域。
在本实施例的一些可选的实现方式中,该视频处理装置900还包括:第三确定模块,被配置为响应于第一点不在图像上,将图像上的第一预设点的坐标作为第一点的坐标,并根据第一预设点的坐标值和裁剪区域的尺寸信息,确定第二点的坐标;或,响应于第二点不在图像上,将图像上的第二预设点的坐标作为第二点的坐标,并根据第二预设点的坐标值和裁剪区域的尺寸信息,确定第一点的坐标。
在本实施例的一些可选的实现方式中,屏幕显示模式包括竖屏显示模式,裁剪区域的尺寸信息包括宽度和高度;以及第三确定模块,进一步被配置为:根据第一预设点的横坐标值和宽度,确定第二点的横坐标;根据第一预设点的纵坐标值和高度,确定第二点的纵坐标。
在本实施例的一些可选的实现方式中,第一确定模块902,进一步配置为:将待播放视频中相邻帧图像进行识别,确定待播放视频中首次出现的第一对象,其中,首次出现的第一对象为待播放视频中所有对象中每个对象首次出现的对象;将第一对象,与待播放视频中其他图像中的第二对象进行匹配,其他图像为待播放视频中除包含第一对象的图像之外的图像;响应于第二对象与第一对象匹配,确定第二对象与第一对象为同一对象。
在本实施例的一些可选的实现方式中,该视频处理装置还包括:帧数确定模块,被配置为响应于第二对象和第一对象为同一对象,累计第一对象在待播放视频中的帧数,得到第一对象在待播放视频中的总帧数;第一得到模块,被配置为根据第一对象的置信度、对象所在的检测框的高度和宽度,得到第一对象的权重;第二得到模块,被配置为根据总帧数与第一对象的权重,得到第一对象的最终权重;对象作为模块,被配置为将最终权重最大的对象,作为目标对象。
在本实施例的一些可选的实现方式中,第二得到单元,进一步配置为:根据第一对象在待播放视频中的总帧数、第一对象的权重,以及第一对象的预设类别系数,得到第一对象的最终权重,其中,预设类别系数为与第一对象属于同类别的对象的系数。
在本实施例的一些可选的实现方式中,该视频处理装置900还包括:区域拟合模块,被配置为响应于待播放视频中的目标图像不包括目标对象,基于目标图像的前一帧图像的裁剪区域,按照线性外推的装置拟合出目标图像的裁剪区域。
在本实施例的一些可选的实现方式中,视频处理模块904,进一步配置为:采用滚动平均的方式,对所述裁剪区域进行平滑处理,得到处理后的裁剪区域;基于所述处理后的裁剪区域,对所述图像进行裁剪,得到裁剪后的图像。
在本实施例的一些可选的实现方式中,屏幕显示模式包括竖屏显示模式和横屏显示模式,视频处理装置900还包括:视频播放模块,被配置为响应于检测到屏幕显示模式由横屏显示模式切换为竖屏显示模式的指令,播放与竖屏显示模式匹配的待播放视频。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例视频处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的视频处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视频处理方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视频处理方法对应的程序指令/模块(例如,附图9所示的数据获取模块901、第一确定模块902、第二确定模块903和视频处理模块904)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视频处理方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据视频处理方法的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至视频处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
视频处理方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与视频处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语音处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
根据本申请的技术方案,首先获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,目标设备用于播放待播放视频;之后,针对待播放视频中的图像,确定图像中的对象,以及对象在图像中的位置信息;而后,根据位置信息、待播放视频的尺寸信息,以及屏幕尺寸比例,确定针对图像与屏幕显示模式匹配的裁剪区域;然后,根据裁剪区域,对图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与屏幕显示模式匹配的待播放视频;本申请能够将由位置信息、待播放视频的尺寸信息和屏幕尺寸比例所确定的裁剪区域,自动完成对待播放视频的裁剪,得到与不同屏幕显示模式匹配的待播放视频。整个过程无需手工操作,且不同的屏幕显示模式对应不同的待播放视频,满足了用户在不同屏幕显示模式下,播放视频的需求。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
1.一种视频处理方法,包括:
获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,所述目标设备用于播放所述待播放视频;
针对所述待播放视频中的图像,确定所述图像中的对象,以及所述对象在所述图像中的位置信息;
根据所述位置信息、所述待播放视频的尺寸信息,以及所述屏幕尺寸比例,确定针对所述图像与所述屏幕显示模式匹配的裁剪区域;
根据所述裁剪区域,对所述图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与所述屏幕显示模式匹配的待播放视频。
2.根据所述权利要求1所述的方法,其中,所述位置信息为所述对象所在的检测框的几何中心的位置信息;以及
所述根据所述位置信息、所述待播放视频的尺寸信息,以及所述屏幕尺寸比例,确定针对所述图像与所述屏幕显示模式匹配的裁剪区域,包括:
将所述对象所在的检测框的几何中心的位置信息,作为所述裁剪区域的几何中心的位置信息;
根据所述待播放视频的尺寸信息和所述屏幕尺寸比例的比值,确定所述裁剪区域的尺寸信息;
根据所述裁剪区域的几何中心的位置信息和所述裁剪区域的尺寸信息,确定所述裁剪区域。
3.根据权利要求2所述的方法,其中,所述根据所述裁剪区域的几何中心的位置信息和所述裁剪区域的尺寸信息,确定所述裁剪区域,包括:
根据所述裁剪区域的几何中心的位置信息和所述裁剪区域的尺寸信息,确定所述裁剪区域上的第一点和第二点,其中,所述第一点和所述第二点分别为所述裁剪区域的同一对角线上的顶点;
将由所述第一点和所述第二点所围成的矩形区域,作为所述裁剪区域。
4.根据权利要求3所述的方法,所述方法还包括:
响应于所述第一点不在图像上,将所述图像上的第一预设点的坐标作为所述第一点的坐标,并根据所述第一预设点的坐标值和所述裁剪区域的尺寸信息,确定第二点的坐标;或,
响应于所述第二点不在图像上,将所述图像上的第二预设点的坐标作为所述第二点的坐标,并根据所述第二预设点的坐标值和所述裁剪区域的尺寸信息,确定第一点的坐标。
5.根据权利要求4所述的方法,其中,屏幕显示模式包括竖屏显示模式,所述裁剪区域的尺寸信息包括宽度和高度;以及所述根据所述第一预设点的坐标值和所述裁剪区域的尺寸信息,确定第二点的坐标,包括:
根据所述第一预设点的横坐标值和所述宽度,确定所述第二点的横坐标;
根据所述第一预设点的纵坐标值和所述高度,确定所述第二点的纵坐标。
6.根据权利要求1所述的方法,其中,所述针对所述待播放视频中的图像,确定所述图像中的对象,包括:
将所述待播放视频中相邻帧图像进行识别,确定所述待播放视频中首次出现的第一对象,其中,所述首次出现的第一对象为所述待播放视频中所有对象中每个对象首次出现的对象;
将所述第一对象,与所述待播放视频中其他图像中的第二对象进行匹配,所述其他图像为所述待播放视频中除包含所述第一对象的图像之外的图像;
响应于所述第二对象与所述第一对象匹配,确定所述第二对象与所述第一对象为同一对象。
7.根据权利要求6所述的方法,所述方法还包括:
响应于所述第二对象和所述第一对象为同一对象,累计所述第一对象在所述待播放视频中的帧数,得到所述第一对象在所述待播放视频中的总帧数;
根据所述第一对象的置信度、对象所在的检测框的高度和宽度,得到所述第一对象的权重;
根据所述总帧数与所述第一对象的权重,得到所述第一对象的最终权重;
将最终权重最大的对象,作为所述目标对象。
8.根据权利要求7所述的方法,其中,所述根据所述总帧数与所述第一对象的权重,得到所述第一对象的最终权重,包括:
根据所述第一对象在待播放视频中的总帧数、所述第一对象的权重,以及所述第一对象的预设类别系数,得到所述第一对象的最终权重,其中,所述预设类别系数为与所述第一对象属于同类别的对象的系数。
9.根据权利要求6所述的方法,所述方法还包括:
响应于待播放视频中的目标图像不包括所述目标对象,基于所述目标图像的前一帧图像的裁剪区域,按照线性外推的方法拟合出所述目标图像的裁剪区域。
10.根据权利要求1所述的方法,其中,所述根据所述裁剪区域,对所述图像进行裁剪,得到裁剪后的图像,包括:
采用滚动平均的方式,对所述裁剪区域进行平滑处理,得到处理后的裁剪区域;
基于所述处理后的裁剪区域,对所述图像进行裁剪,得到裁剪后的图像。
11.根据权利要求1或10所述的方法,所述屏幕显示模式包括竖屏显示模式和横屏显示模式,所述方法还包括:
响应于检测到所述屏幕显示模式由所述横屏显示模式切换为所述竖屏显示模式的指令,播放与所述竖屏显示模式匹配的待播放视频。
12.一种视频处理装置,所述装置包括:
数据获取模块,被配置为获取待播放视频,以及与目标设备的屏幕显示模式匹配的屏幕尺寸比例,其中,所述目标设备用于播放所述待播放视频;
第一确定模块,被配置为针对所述待播放视频中的图像,确定所述图像中的对象,以及所述对象在所述图像中的位置信息;
第二确定模块,被配置为根据所述位置信息、所述待播放视频的尺寸信息,以及所述屏幕尺寸比例,确定针对所述图像与所述屏幕显示模式匹配的裁剪区域;
视频处理模块,被配置为根据所述裁剪区域,对所述图像进行裁剪,得到裁剪后的图像,以及基于所有裁剪后的图像,得到与所述屏幕显示模式匹配的待播放视频。
13.根据所述权利要求12所述的方法装置,其中,所述位置信息为所述对象所在的检测框的几何中心的位置信息;以及所述第二确定模块,包括:
位置作为单元,被配置为将所述对象所在的检测框的几何中心的位置信息,作为所述裁剪区域的几何中心的位置信息;
尺寸确定单元,被配置为根据所述待播放视频的尺寸信息和所述屏幕尺寸比例的比值,确定所述裁剪区域的尺寸信息;
区域确定单元,被配置为根据所述裁剪区域的几何中心的位置信息和所述裁剪区域的尺寸信息,确定所述裁剪区域。
14.根据权利要求13所述的方法装置,其中,所述区域确定单元,进一步被配置为:
根据所述裁剪区域的几何中心的位置信息和所述裁剪区域的尺寸信息,确定所述裁剪区域上的第一点和第二点,其中,所述第一点和所述第二点分别为所述裁剪区域的同一对角线上的顶点;
将由所述第一点和所述第二点所围成的矩形区域,作为所述裁剪区域。
15.根据权利要求14所述的装置,所述装置还包括:
第三确定模块,被配置为响应于所述第一点不在图像上,将所述图像上的第一预设点的坐标作为所述第一点的坐标,并根据所述第一预设点的坐标值和所述裁剪区域的尺寸信息,确定第二点的坐标;或,响应于所述第二点不在图像上,将所述图像上的第二预设点的坐标作为所述第二点的坐标,并根据所述第二预设点的坐标值和所述裁剪区域的尺寸信息,确定第一点的坐标。
16.根据权利要求15所述的装置,其中,屏幕显示模式包括竖屏显示模式,所述裁剪区域的尺寸信息包括宽度和高度;以及所述第三确定模块,进一步被配置为:
根据所述第一预设点的横坐标值和所述宽度,确定所述第二点的横坐标;根据所述第一预设点的纵坐标值和所述高度,确定所述第二点的纵坐标。
17.根据权利要求12所述的装置,其中,所述第一确定模块,进一步配置为:
将所述待播放视频中相邻帧图像进行识别,确定所述待播放视频中首次出现的第一对象,其中,所述首次出现的第一对象为所述待播放视频中所有对象中每个对象首次出现的对象;
将所述第一对象,与所述待播放视频中其他图像中的第二对象进行匹配,所述其他图像为所述待播放视频中除包含所述第一对象的图像之外的图像;
响应于所述第二对象与所述第一对象匹配,确定所述第二对象与所述第一对象为同一对象。
18.根据权利要求17所述的装置,所述装置还包括:
帧数确定模块,被配置为响应于所述第二对象和所述第一对象为同一对象,累计所述第一对象在所述待播放视频中的帧数,得到所述第一对象在所述待播放视频中的总帧数;
第一得到模块,被配置为根据所述第一对象的置信度、对象所在的检测框的高度和宽度,得到所述第一对象的权重;
第二得到模块,被配置为根据所述总帧数与所述第一对象的权重,得到所述第一对象的最终权重;
对象作为模块,被配置为将最终权重最大的对象,作为所述目标对象。
19.根据权利要求18所述的装置,其中,所述第二得到模块,进一步配置为:
根据所述第一对象在待播放视频中的总帧数、所述第一对象的权重,以及所述第一对象的预设类别系数,得到所述第一对象的最终权重,其中,所述预设类别系数为与所述第一对象属于同类别的对象的系数。
20.根据权利要求17所述的装置,所述装置还包括:
区域拟合模块,被配置为响应于待播放视频中的目标图像不包括所述目标对象,基于所述目标图像的前一帧图像的裁剪区域,按照线性外推的装置拟合出所述目标图像的裁剪区域。
21.根据权利要求12所述的装置,其中,所述视频处理模块,进一步配置为:
采用滚动平均的方式,对所述裁剪区域进行平滑处理,得到处理后的裁剪区域;
基于所述处理后的裁剪区域,对所述图像进行裁剪,得到裁剪后的图像。
22.根据权利要求12或21所述的装置,所述屏幕显示模式包括竖屏显示模式和横屏显示模式,所述装置还包括:
视频播放模块,被配置为响应于检测到所述屏幕显示模式由所述横屏显示模式切换为所述竖屏显示模式的指令,播放与所述竖屏显示模式匹配的待播放视频。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-11中任一项所述的方法。
技术总结