本技术实施例涉及视频处理,尤其涉及一种视频处理方法、电子设备、芯片系统及存储介质。
背景技术:
1、随着电子设备中视频技术的发展,用户对视频剪辑功能的需求越来越高。视频剪辑需要识别视频中用户有意进行视频创作的片段,比如用户在拍摄时运用镜头推拉等拍摄手法,使得拍摄的视频具有更多的视觉冲击效果。如何在视频中检测出推拉镜头的片段是目前亟需解决的问题。
技术实现思路
1、本技术实施例提供一种视频处理方法、电子设备、芯片系统及存储介质,能够精准定位出推拉镜头片段的位置。
2、第一方面,本技术实施例提供一种视频处理方法,应用于电子设备,该方法包括获取原视频的图像流;对图像流中的图像帧进行物体检测,获得图像帧的检测框信息;根据多个图像帧的检测框信息为图像帧编码,得到图像帧的状态值;根据第一队列、第二队列以及图像流中连续多个图像帧的状态值,确定原视频的镜头片段,第一队列和第二队列用于存储状态值,第一队列的第一存储长度不同于第二队列的第二存储长度;保存镜头片段和/或镜头片段对应的镜头标签,镜头标签包括镜头片段的运镜方式、起始时刻以及终止时刻。
3、通过对图像帧进行检测,确定检测框,以在后续根据多个图像帧的检测框信息确定图像帧的状态(变大、变小或不变),进而为图像帧编码,确定图像帧的状态值。且通过设置双队列来对图像流中连续多个图像帧的状态值进行滤波,基于双队列可以快速高效地定位镜头片段的位置。
4、在一种可能的实现方式中,根据多个图像帧的检测框信息为图像帧编码,得到图像帧的状态值包括:确定目标对象;确定当前帧中目标对象的第一检测框,并获取第一检测框的信息得到第一检测框信息;确定对比帧中目标对象的第二检测框,并获取第二检测框的信息得到第二检测框信息,对比帧为图像流中在当前帧前n帧的图像帧,n为大于或等于2的整数;确定首帧中目标对象的第三检测框,并获取第三检测框的信息得到第三检测框信息,首帧包括图像流中到首次检测到物体的图像帧,或,图像流中在上一镜头片段的终止帧后检测到物体的图像帧;根据第一检测框信息、第二检测框信息以及第三检测框信息确定当前帧的状态值。
5、针对每一当前帧,将当前帧与对比帧的检测框进行对比,且将当前帧与首帧的检测框进行对比,以避免在检测算法出现误差或在进行物体检测时,检测结果复用而导致的检测框对比不明显的现象,由此可以更精准地确定出检测框的状态。通过获取物体检测框来确定视频中存在的对主体拍摄对象的推拉运镜并确定推拉运镜的起始帧和终止帧。
6、在一种可能的实现方式中,根据第一检测框信息、第二检测框信息以及第三检测框信息确定当前帧的状态值包括:根据第一检测框信息、第二检测框信息以及第三检测框信息确定目标对象的检测框的变化规律;当目标对象的检测框的变化规律指示目标对象的检测框变大时,确定当前帧的状态值为第一状态值;当目标对象的检测框的变化规律指示目标对象的检测框变小时,确定当前帧的状态值为第二状态值;当目标对象的检测框的变化规律指示目标对象的检测框不变时,确定当前帧的状态值为第三状态值,第一状态值、第二状态值以及第三状态值均不同。
7、通过为当前帧的不同状态编码不同的状态值,以在后续数据处理时更方便且更高效,如可以快速地根据状态值确定当前帧的检测框的状态。
8、在一种可能的实现方式中,根据第一检测框信息、第二检测框信息以及第三检测框信息确定目标对象的检测框的变化规律包括:当第一检测框的面积大于第二检测框的面积,且第一检测框的面积大于第三检测框的面积时,或,当第一检测框占据画面的比例大于第二检测框占据画面的比例,且第一检测框占据画面的比例大于第三检测框占据画面的比例时,确定检测框的变化规律指示目标对象的检测框变大;当第一检测框的面积小于第二检测框的面积,且第一检测框的面积小于第三检测框的面积时,或,当第一检测框占据画面的比例小于第二检测框占据画面的比例,且第一检测框占据画面的比例小于第三检测框占据画面的比例时,确定检测框的变化规律指示目标对象的检测框变小;当第一检测框的面积与第二检测框的面积一致,且第一检测框的面积与第三检测框的面积一致时,或,当第一检测框占据画面的比例与第二检测框占据画面的比例一致,且第一检测框占据画面的比例与第三检测框占据画面的比例一致时,确定检测框的变化规律指示目标对象的检测框不变。
9、通过将当前帧与对比帧以及首帧进行对比,对比检测框的面积、尺寸或检测框占据画面的比例来确定首帧的检测框相对于其之前的图像帧的检测框的变化。可以理解,基于同一图像流中图像帧的画面的整体面积是稳定的,检测框的面积越大,检测框占据画面比例越大。
10、在一种可能的实现方式中,根据第一检测框信息、第二检测框信息以及第三检测框信息确定目标对象的检测框的变化规律包括:计算第一检测框的面积,得到第一值;计算第二检测框的面积,得到第二值;计算第三检测框的面积,得到第三值;将第一值与第二值作差,得到第一差值;将第一值与第三值作差,得到第二差值;计算第一差值的绝对值占第二值的比值,得到第一变化值;计算第二差值的绝对值占第三值的比值,得到第二变化值;当第一变化值大于第一阈值,第二变化值大于第二阈值,且第一差值和第二差值均大于0时,确定当前帧的状态值为第一状态值;当第一变化值大于第一阈值,第二变化值大于第二阈值,且第一差值和第二差值均小于0时,确定当前帧的状态值为第二状态值;当第一变化值小于第一阈值和/或第二变化值小于第二阈值时,确定当前帧的状态值为第三状态值。
11、通过计算当前帧、对比帧以及首帧中检测框的面积,进而计算各个检测框面积的差异,通过计算差值以及计算比值,然后将比值对比对应的阈值,可以精准地确定出当前帧的检测框的变化。
12、在一种可能的实现方式中,确定目标对象包括:响应于用户的操作,追焦图像帧中的被摄对象,并将追焦的被摄对象作为目标对象;或,当图像帧中未存在追焦的被摄对象时,根据去除背景原则、主体原则、去除小脸原则、最大面积原则以及中心原则中的一个或多个,从图像帧的被摄对象中选出一被摄对象作为目标对象,其中,去除背景原则用于去除图像帧的背景,主体原则用于将图像帧中的主体作为目标对象;去除小脸原则用于排除人脸面积小于预设阈值的人物主体,最大面积原则用于将检测框面积最大的被摄对象为目标对象,中心原则用于将最靠近画面中心的被摄对象作为目标对象。
13、通过确定目标对象,将目标对象的检测框信息作为图像帧的检测框信息,以此确定检测框的判断基础,进而通过对比首帧、对比帧以及当前帧中目标对象的检测框的变化可以确定当前的运镜方式。
14、在一种可能的实现方式中,根据第一队列、第二队列以及图像流中连续多个图像帧的状态值,确定原视频的镜头片段包括:针对每一图像帧,将图像帧的状态值和图像帧的帧信息作为图像帧的元素,帧信息用于指示图像帧在图像流中的位置;将图像流中连续多个图像帧的元素存储至第一队列和第二队列,其中,第一队列包括第二队列中所有的元素,第一队列或第二队列中存储满元素时,清除对应的队列中最先入队的元素;根据第一队列和第二队列所存储的状态值确定原视频的镜头片段。
15、通过绑定图像帧的状态值和图像帧的帧信息,以得到该图像帧的元素,进而将该图像帧的元素存储至第一队列和第二队列,后续可以根据第一队列和第二队列的状态值确定原视频的镜头片段,在确定出镜头片段时,还可以基于帧信息快速确定起始帧和终止帧。
16、在一种可能的实现方式中,第三状态值为0,第一状态值和第二状态值的绝对值不为0,第一存储长度为第二存储长度的两倍,根据第一队列和第二队列所存储的状态值确定原视频的镜头片段包括:获取第一队列中所有状态值的绝对值,并计算所有绝对值的和,得到第一加和值;获取第二队列中所有状态值的绝对值,并计算所有绝对值的和,得到第二加和值;当第一加和值和第二加和值满足第一条件时,确定第二队列中最先入队的图像帧为镜头片段的起始帧;当第一加和值和第二加和值满足第二条件时,确定第二队列中最先入队的图像帧为镜头片段的终止帧;根据起始帧和/或终止帧所对应的状态值确定镜头片段的运镜方式。
17、第一队列和第二队列可以为fifo队列,使用两个长度相差一半的fifo队列确定推拉的起始和结束位置,定位精度高。通过第一队列和第二队列进行滑动窗口滤波,可以将由漏检误检引起的噪声过滤掉。
18、在一种可能的实现方式中,根据起始帧和/或终止帧所对应的状态值确定镜头片段的运镜方式包括:当起始帧和/或终止帧所对应的状态值为第一状态值时,确定镜头片段的运镜方式为推镜头;当起始帧和/或终止帧所对应的状态值为第二状态值时,确定镜头片段的运镜方式为拉镜头。
19、基于对图像帧的检测框进行比较确定图像帧的状态值,进而可以基于状态值快速确定镜头片段的运镜方式。
20、在一种可能的实现方式中,第一状态值和第二状态值的绝对值为1,第三状态值为0,方法还包括:当第一加和值大于或等于第一预设阈值,且第二加和值大于或等于第二存储长度时,满足第一条件,第一预设阈值大于或等于第二存储长度且小于或等于第一存储长度;或,当第一加和值等于第二存储长度,且第二加和值大于或等于第二存储长度时,满足第一条件;当第一加和值大于或等于第一预设阈值,且第二加和值等于0时,满足第二条件;或,当第一加和值大于或等于第一预设阈值,且第二加和值小于或等于第二存储长度的预设百分比时,满足第二条件,预设百分比小于百分百。
21、设置第一条件和第二条件,以精准定位判断出起始帧和终止帧。
22、在一种可能的实现方式中,获取原视频的图像流包括响应于电子设备录制原视频,获取原视频的图像流;或,响应于对电子设备所存储的原视频进行剪辑,获取原视频的图像流。
23、可以在不同场景如录制视频或视频剪辑场景中识别出图像流中的推镜头片段和拉镜头片段。
24、在一种可能的实现方式中,电子设备包括相机算法库,对图像流中的图像帧进行物体检测,获得图像帧的检测框信息包括:调用相机算法库中的检测算法对图像流中的图像帧进行物体检测,获得图像帧的检测框信息。
25、第二方面,本技术实施例提供一种电子设备,包括:处理器和存储器;存储器,用于存储计算机程序,计算机程序包括程序指令;处理器,用于调用计算机程序,执行如上任一项视频处理方法。
26、第三方面,本技术实施例提供一种芯片系统,芯片系统应用于电子设备,芯片系统包括一个或多个处理器,处理器用于调用计算机指令以使得电子设备执行如上任一项视频处理方法。
27、第四方面,本技术实施例提供一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上任一项视频处理方法。
28、上述第二方面、第三方面和第四方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。