CN111541943B - 视频处理方法、视频操作方法、装置、存储介质和设备 - Google Patents

视频处理方法、视频操作方法、装置、存储介质和设备 Download PDF

Info

Publication number
CN111541943B
CN111541943B CN202010562604.0A CN202010562604A CN111541943B CN 111541943 B CN111541943 B CN 111541943B CN 202010562604 A CN202010562604 A CN 202010562604A CN 111541943 B CN111541943 B CN 111541943B
Authority
CN
China
Prior art keywords
target
video
frame
target image
image sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010562604.0A
Other languages
English (en)
Other versions
CN111541943A (zh
Inventor
贺思颖
尚焱
张亚彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010562604.0A priority Critical patent/CN111541943B/zh
Publication of CN111541943A publication Critical patent/CN111541943A/zh
Application granted granted Critical
Publication of CN111541943B publication Critical patent/CN111541943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally

Abstract

本申请提供一种视频处理方法、视频操作方法、装置、存储介质和设备,属于计算机技术领域,涉及人工智能和计算机视觉技术。本申请对于从视频中获取的目标图像序列中的各个图像帧,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度,根据目标对象的稳定度满足设定条件目标图像序列得到稳定视频片段。通过上述方法,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段,与人工进行筛选相比,可以提高视频筛选的稳定性和效率。

Description

视频处理方法、视频操作方法、装置、存储介质和设备
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种视频处理方法、视频操作方法、装置、存储介质和设备。
背景技术
随着计算机和网络技术的发展,电子设备的功能越来越多样化。例如,用户可以通过电子设备进行视频剪辑。通常,用户可以拍摄一段长视频,通过视频剪辑软件从中挑选出若干个包含主体目标或感兴趣场景的子片段,然后通过特效转场的方式将挑选出的子片段拼接在一起,最终得到一个完整的经过剪辑加工的视频合辑。
由于用户拍摄的视频中,常常会出现画面镜头抖动或者画面主体目标模糊的情况,因此经过剪辑后得到的视频合辑中也容易包含不稳定画面或不稳定目标,影响视频合辑的观看效果。
用户往往倾向于选择包含稳定画面和稳定目标的子片段,作为视频剪辑的素材片段,而仅通过人工筛选子片段,不仅效率低,而且很难保证子片段中不包含不稳定画面和不稳定目标。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种视频处理方法、视频操作方法、装置、存储介质和设备,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段。
为达到上述目的,本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供一种视频处理方法,包括:
从视频中获取至少两个目标图像帧组成的目标图像序列,每个目标图像帧中包含目标对象;
获取各个目标图像帧中用于标示所述目标对象的目标检测框的位置信息;
根据目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度;
当所述目标对象的稳定度满足设定条件时,获得所述目标图像序列组成的稳定视频片段。
在一种可选的实施例中,所述目标检测框为多边形框,所述目标检测框的位置信息包括位于目标检测框上的至少两个目标点的坐标;获取所述目标图像序列的所有目标检测框的整体动态范围,包括:
确定所有目标检测框上的目标点的坐标中的横坐标最小值和纵坐标最小值,以及横坐标最大值和纵坐标最大值;
将得到的横坐标最小值和纵坐标最小值作为所述整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为所述整体动态范围的右下角角点坐标,得到包围所有多边形框的方形的整体动态范围。
在一种可选的实施例中,所述多边形框为方形,所述至少两个目标点为目标检测框的对角线两端的角点。
另一方面,本申请实施例提供一种视频操作方法,包括:
响应针对待处理视频的视频操作;
采用上述一方面中所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
将获取的视频片段展示给用户;
响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
又一方面,本申请实施例提供一种视频操作方法,包括:
接收客户端发送的针对待处理视频的视频处理请求,采用上述一方面所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
将获得的视频片段发送至所述客户端,以使所述客户端将所述视频片段展示给用户;
接收客户端发送的视频操作请求,所述视频操作请求携带有用户选定的视频片段;
根据所述视频操作请求,对用户选定的视频片段进行视频操作。
再一方面,本申请实施例提供一种视频处理装置,包括:
图像序列获取单元,用于从视频中获取至少两个目标图像帧组成的目标图像序列,并获取各个目标图像帧中用于标示所述目标对象的目标检测框的位置信息;每个目标图像帧中包含目标对象;
图像序列分析单元,用于根据目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度;
视频片段获取单元,用于当所述目标对象的稳定度满足设定条件时,获得所述目标图像序列组成的稳定视频片段。
在一种可选的实施例中,所述目标对象的稳定度包括目标抖动度;所述图像序列分析单元,具体用于:
根据所述目标图像序列的各个目标图像帧中的目标检测框的位置信息,确定各个目标检测框的面积;
从各个目标检测框的面积中选择最小检测框面积;
获取所述目标图像序列的所有目标检测框的整体动态范围;所述整体动态范围为包围所有目标检测框的包络线所包围的区域的面积;
将所述整体动态范围的面积与所述最小检测框面积的比值,作为所述目标图像序列的目标抖动度。
在一种可选的实施例中,所述目标检测框为多边形框,所述目标检测框的位置信息包括位于目标检测框上的至少两个目标点的坐标;所述图像序列分析单元,具体用于:
确定所有目标检测框上的目标点的坐标中的横坐标最小值和纵坐标最小值,以及横坐标最大值和纵坐标最大值;
将得到的横坐标最小值和纵坐标最小值作为所述整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为所述整体动态范围的右下角角点坐标,得到包围所述多边形框的方形的整体动态范围。
在一种可选的实施例中,所述多边形框为方形,所述至少两个目标点为目标检测框的对角线两端的角点。
在一种可选的实施例中,所述目标检测框为圆形框,所述目标检测框的位置信息包括目标检测框的圆心坐标和半径长度;所述图像序列分析单元,具体用于:
根据所有目标检测框的圆心坐标,确定整体动态范围的圆心坐标;所述整体动态范围的圆心为所有目标检测框的圆心的几何中心;
确定所有目标检测框上的轮廓点至所述整体动态范围的圆心的最远距离;
将所述最远距离作为所述整体动态范围的半径长度,得到圆形的整体动态范围。
再一方面,本申请实施例提供一种视频操作装置,包括:
视频素材获取单元,用于响应针对待处理视频的视频操作,采用上述一方面中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
视频片段展示单元,用于将获取的视频片段展示给用户;
视频剪辑单元,用于响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
又一方面,本申请实施例还提供一种视频操作装置,包括:
视频处理单元,用于接收客户端发送的针对待处理视频的视频处理请求,采用上述一方面中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;将获得的视频片段发送至所述客户端,以使所述客户端将所述视频片段展示给用户;
视频操作单元,用于接收客户端发送的视频操作请求,所述视频操作请求携带有用户选定的视频片段;根据所述视频操作请求,对用户选定的视频片段进行视频操作。
又一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的视频处理方法。
再一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述视频操作方法。
又一方面,本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述的视频处理方法或视频操作方法。
本申请实施例的视频处理方法、视频操作方法、装置、存储介质和设备,对于从视频中获取的目标图像序列中的各个图像帧,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据各个目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度,根据目标对象的稳定度满足设定条件目标图像序列得到稳定视频片段。通过上述方法,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段,与人工进行筛选相比,可以提高视频筛选的稳定性和效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频处理方法的应用场景示意图;
图2为本申请实施例提供的一种视频处理方法的流程示意图;
图3为本申请实施例提供的一种获取图像帧中的目标检测框的示意图;
图4为本申请实施例提供的一种确定目标图像序列的目标抖动度的示意图;
图5为本申请实施例提供的一种确定目标检测框的整体动态范围的示意图;
图6为本申请实施例提供的另一种确定目标检测框的整体动态范围的示意图;
图7为本申请实施例提供的另一种视频处理方法的流程示意图;
图8为本申请实施例提供的一种选择目标图像序列的示意图;
图9为本申请实施例提供的一种确定目标图像序列的目标抖动标识的示意图;
图10为本申请实施例提供的另一种确定目标检测框的整体动态范围的示意图;
图11为本申请实施例提供的一种确定目标图像序列的目标偏离标识的示意图;
图12为本申请实施例提供的一种确定目标检测框对应的交并比的示意图;
图13为本申请实施例提供的一种视频操作方法的流程示意图;
图14为本申请实施例提供的一种视频操作方法中服务器与客户端的交互过程示意图;
图15为本申请实施例提供的一种视频处理展示界面的示意图;
图16为本申请实施例提供的一种视频处理装置的结构示意图;
图17为本申请实施例提供的一种视频操作装置的结构示意图;
图18为本申请实施例提供的另一种视频操作装置的结构示意图;
图19为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)连续目标片段:对于一个由连续图像帧组成的视频片段(如通过摄像头拍摄的视频片段),若该视频片段的所有图像帧都包含预先指定的目标对象,则称该视频片段为连续目标片段。
(2)MtCNN(Multi-task Convolutional Neural Networks,多任务卷积神经网络)模型:一种用于人脸检测的网络模型,MtCNN模型可以实现三个任务,第一个是分类任务,即采用滑动窗口遍历输入的图像帧,并对每个滑动窗口对应的区域进行人脸或非人脸的分类;第二个是回归任务,即确定脸部区域在图像帧中的位置,并在对应位置标出目标检测框;第三个是特征点定位任务,即确定出5个脸部特征点的位置,分别为左眼、右眼、鼻尖、左嘴角和右嘴角。上述三个任务相辅相成,例如,确定5个脸部特征点的位置有助于确定脸部区域在图像帧中的位置。
(3)DMP(Deformable Part Model,可变形的组件模型):一种基于组件的人脸检测网络模型,可以将人脸器官视为组件,对扭曲、多姿态、多角度的人脸进行检测,具有很好的检测效果。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合附图及具体实施例对本申请作进一步详细的说明。
目前,用户在进行视频剪辑时,由于原始视频中常常会出现画面镜头抖动或者画面主体目标模糊的情况,因此经过剪辑后得到的视频合辑中也容易包含不稳定画面或不稳定目标,影响视频合辑的观看效果。基于此,本申请实施例提供了一种视频处理方法、装置、电子设备和存储介质,对于从视频中获取的目标图像序列中的各个图像帧,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据各个目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度,根据目标对象的稳定度满足设定条件目标图像序列得到稳定视频片段。通过上述方法,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段,与人工进行筛选相比,可以提高视频筛选的稳定性和效率。
本申请实施例涉及人工智能(Artificial Intelligence, AI)和机器学习技术,基于人工智能中的计算机视觉(Computer Vision, CV)技术和机器学习(MachineLearning, ML)而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、图像检索、视频监控、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
计算机视觉技术是人工智能的重要应用,其研究相关的理论和技术,试图建立能够从图像、视频或者多维数据中获取信息,以代替人的视觉判读的人工智能系统。典型的计算机视觉技术通常包括图像处理和视频分析。本申请实施例提供的视频处理方法属于视频分析的一种方法。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本申请实施例在视频处理的过程中,采用基于机器学习或深度学习的目标检测模型对获取的视频中的各个图像帧进行目标检测,确定图像帧中是否包含指定的目标对象。该目标对象可以是人,也可以是其他动物、植物或指定物品。
本申请实施例提供的视频处理方法的一种应用场景可以参见图1所示,该应用场景中包括终端设备11和服务器12。终端设备11与服务器12之间可以通过通信网络进行通信。该通信网络可以是有线网络或无线网络。服务器12可以通过通信网络与多个终端设备11连接,接收各个终端设备11上传的视频等数据。
其中,终端设备11为可以安装各类应用程序,并且能够将已安装的应用程序中提供的对象进行显示的电子设备,该电子设备可以是移动的,也可以是固定的,例如,手机、平板电脑、各类可穿戴设备、车载设备或其它能够实现上述功能的电子设备等。各个终端设备11通过通信网络与服务器12连接,服务器12可以是视频服务平台的服务器,可以是一台服务器或由若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台。
例如,终端设备11上安装有可以调用拍摄功能的客户端,用户10可以通过终端设备11中安装的客户端拍摄视频,并通过客户端中的视频剪辑功能对拍摄的视频进行剪辑。用户也可以通过客户端中的视频剪辑功能对预先保存在终端设备11上的视频进行剪辑。终端设备11接收到用户对视频进行剪辑的操作指示后,将拍摄的视频发送至服务器12,服务器12可以采用本申请实施例提供的视频处理方法,从终端设备11发送的视频中获取一个或多个稳定视频片段。服务器12将获取的稳定视频片段发送至终端设备11,由终端设备11将稳定视频片段展示给用户,以使用户可以使用稳定视频片段进行视频剪辑。
图2示出了本申请实施例提供的一种视频处理方法的流程示意图,该方法可以由图1中的服务器12执行,也可以由终端设备11或其它电子设备执行。下文以服务器作为执行主体为例,说明本申请实施例提供的一种视频处理方法。如图2所示,该视频处理方法包括如下步骤:
步骤S201,从视频中获取至少两个目标图像帧组成的目标图像序列,每个目标图像帧中包含目标对象。
其中,目标对象可以是人,也可以是其他动物、植物或指定物品。为方便理解,在本申请实施例中以人作为目标对象为例进行说明。
对视频中的各个图像帧进行目标检测,从视频中选出包含目标对象的目标图像帧。具体地说,可以将视频中的各个图像帧分别输入已训练的目标检测网络模型,得到目标检测网络模型输出的图像识别结果;图像识别结果用于指示输入的图像帧中是否包含目标对象。根据视频中图像帧的排序和各个图像帧对应的图像识别结果,从视频中获取包含目标对象的至少两个目标图像帧。示例性地,目标检测网络模型可以是人脸检测网络模型,采用人脸检测网络模型,可以检测出视频的各个图像帧中是否包含人脸。
根据视频中图像帧的排序,从视频中获取至少两个目标图像帧,将获取的目标图像帧组成的目标图像序列。也可以说,从包含目标对象的目标图像帧中,选取连续的多个目标图像帧组成目标图像序列。对于两个图像帧而言,如果在视频中,两个图像帧之间还存在其他图像帧,而其他图像帧由于不包含目标对象而被去除,则这两个图像帧不是连续的图像帧;如果在视频中,两个图像帧之间不存在其他图像帧,则这两个图像帧是连续的图像帧。
步骤S202,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息。
在采用人脸检测算法或人脸检测网络模型对图像帧进行目标检测时,如果图像帧中包含人,人脸检测算法或人脸检测网络模型可以输出目标检测框,用于标示人在图像帧中的位置。
对于各个目标图像帧,可以获取目标图像帧中的目标检测框的位置信息。目标检测框的位置信息可以通过目标检测框上关键点的位置坐标表示,也可以通过其他方式表示,将在下文中详细说明。
步骤S203,根据目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度。
在一个目标图像序列中,如果目标对象是稳定的,则在目标对象在各个目标图像帧中的位置相差不会太大。相反,如果目标对象在各个目标图像帧中的位置相差太大,说明目标对象存在抖动或其他不稳定现象,因此,可以根据目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度。
在一些实施例中,可以根据所有目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度。在另一些实施例中,可以根据设定数量的目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度。
步骤S204,当目标对象的稳定度满足设定条件时,获得目标图像序列组成的稳定视频片段。
在一些实施例中,目标对象的稳定度可以包括目标对象的目标抖动度和目标对象的目标偏离度,设定条件可以包括目标对象的目标抖动度满足设定抖动阈值并且目标对象的目标偏离度满足设定偏离阈值。
如果一个目标图像序列中目标对象的稳定度满足设定条件,可以认为该目标图像序列中的所有目标图像帧均为包含稳定目标的稳定画面。因此,可以将该目标图像序列中的各个目标图像帧按时间顺序合成稳定视频片段。
本申请实施例的视频处理方法,对于从视频中获取的目标图像序列中的各个图像帧,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据各个目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度,根据目标对象的稳定度满足设定条件目标图像序列得到稳定视频片段。通过上述方法,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段,与人工进行筛选相比,可以提高视频筛选的稳定性和效率。
具体地说,在一些实施例中,步骤S201可以采用如下方法获取目标图像序列:对视频中的各个图像帧进行目标检测,根据视频中图像帧的排序,从视频中获取至少两个目标图像帧,并在每个目标图像帧中标识目标图像的目标检测框,确定每个目标图像帧目标检测框中的图像清晰度,当每个图像帧中目标检测框对应的图像清晰度均满足设定清晰度条件时,获得上述至少两个目标图像帧组成的目标图像序列。其中,至少两个目标图像帧为视频中连续的图像帧。
例如,对于视频中的任意一个图像帧,可以采用人脸检测算法或人脸检测网络模型检测该图像帧中是否包含人。
在一种实施例中,可以采用人脸检测算法检测该图像帧中是否包含人。其中,人脸检测算法可以是模板匹配法,即用人脸模板图像与被检测的图像帧的各个位置进行匹配,以确定该位置是否包含人脸,如果包含,则输出包围该位置的目标检测框。如果一个图像帧的任何一个位置与人脸模板图像均不匹配,则该图像帧没有对应的目标检测框输出。需要说明的是,如果以人为目标对象,上述的人脸模板图像也可以采用人的整个身体的模板图像替代;如果目标对象是其他动物,上述的人脸模板图像可以其他动物的模板图像替代。
在另一种实施例中,可以采用人脸检测网络模型检测该图像帧中是否包含人。可选地,人脸检测网络模型可以采用卷积网络实现,其网络结构可以是但不限于AdaBoost、DMP、FacenessNet、MTCNN、InceptionNet等网络结构。
在该步骤中,使用人工智能中的机器学习或深度学习技术建立人脸检测网络模型,人脸检测网络模型通过对脸部样本图像中的脸部特征进行学习,可以对输入的图像帧进行人脸检测,输出目标检测框位置及目标检测框中包含人脸的概率。
例如,人脸检测网络模型可以包括特征提取网络、与特征提取网络连接的回归子网络和分类子网络。特征提取网络用于提取该图像帧的图像特征,得到该图像帧对应的特征图。分类子网络用于基于该图像帧的特征图确定该图像帧是否包含目标对象;回归子网络用于基于该图像帧的特征图确定目标对象在该图像帧中的位置。
示例性地,特征提取网络可以采用全卷积神经网络(Fully ConvolutionalNeuron networks,FCN)实现。全卷积神经网络可以包括至少一个卷积层和至少一个池化层。卷积层和池化层可以间隔设置,即相邻的池化层之间可以设置一个或多个卷积层。每个卷积层包括一个或多个用于从输入的脸部样本图像中提取特征信息的卷积核,用卷积核按照一定的步长遍历输入的图像帧的像素矩阵,得到至少一个特征值,由至少一个特征值组成卷积特征图。池化层用于将卷积层输出的卷积特征图进行降维处理,最后一个池化层输出从图像帧中提取特征得到的特征图。
特征提取网络的每个卷积层可以包括多个神经元,不同的神经元用于提取图像帧的不同位置的特征。
特征提取网络也可以包括残差网络和FPN(Feature Pyramid Networks,特征金字塔网络)。残差网络包括多个特征提取层,特征金字塔网络包括对应的多个网络层。通过残差网络的多个特征提取层,输出多个尺寸的特征响应图,将多个尺寸的特征响应图对应输入特征金字塔网络的多个网络层,通过自下而上的特征融合,可以得到多个尺寸的特征图。
例如,残差网络的每个特征提取层可以将输入的特征响应图缩小至原来的1/2。特征金字塔网络的每个网络层可以将输入的特征图放大至原来的2倍。
采用残差网络和特征金字塔网络,可以获取脸部样本图像的多个不同尺寸的特征图,感受野的变化范围也较大,可以用于检测不同尺寸的脸部图像。其中,感受野又可称为接收野,被定义为卷积神经网络特征所能看到输入图像的区域,也可理解为特征图上的一个点对应输入图像上的区域。采用残差网络和特征金字塔网络,具有多种感受野,能够对不同大小的脸部图像进行检测。
回归子网络包括多个卷积层,主要用于目标定位,目标定位任务也可认为是回归任务。将图像帧的特征图输入回归子网络,回归子网络可以确定输入的图像帧中人脸的位置,即人脸在图像帧中的位置。回归子网络可以输出标示目标对象位置的目标检测框,该目标检测框可以是方形框、圆形框,也可以是其它形状或者是包围目标对象的包络线。可选地,回归子网络可以输出目标检测框的位置信息。
分类子网络可以包括至少一个全连接层,用于进行分类。全连接层之后可以采用Softmax等激活函数来输出分类的概率。分类子网络也可以采用SVM(Support VectorMachine,支持向量机)分类器实现。SVM分类器是一种线性分类器,主要用于二分类,SVM分类器可以基于输入的特征图确定图像帧中包括人脸或不包括人脸。将图像帧的特征图输入分类子网络,分类子网络可以判断输入的特征图中是否有人脸出现,输出人脸出现的可能性,即人脸在图像帧中出现的可能性。分类子网络还可以输出每个目标检测框中包含目标对象的概率。
例如,在一种实施例中,将图像帧输入人脸检测网络模型,可以得到人脸检测网络模型输出的目标检测框的位置信息,以及目标检测框的图像清晰度。在另一种实施例中,如图3所示,将图像帧输入人脸检测网络模型,可以得到人脸检测网络模型输出的目标检测框K的位置信息,以及目标检测框K中包含目标对象的概率。需要说明的是,在一个图像帧中,目标对象越清晰,越容易确定该对象是目标对象,该目标对象的目标检测框中对应的概率越高;目标对象越模糊,越不容易确定该对象是否是目标对象,该目标对象的目标检测框中对应的概率越低。因此,可以根据目标检测框中包含目标对象的概率,确定目标检测框的图像清晰度。
在另一些实施例中,步骤S201可以采用如下方法获取目标图像序列:对视频中的各个图像帧进行目标检测,并确定得到的每个目标检测框中的图像清晰度。剔除不包含目标对象的图像帧,将包含目标对象的图像帧作为目标图像帧,去除选取的目标图像帧中目标检测框对应的图像清晰度小于设定得分阈值的目标图像帧,从剩余的目标图像帧中选取连续的目标图像帧组成目标图像序列。
在另一些实施例中,步骤S201可以采用如下方法获取目标图像序列:对视频中的各个图像帧进行目标检测,并确定得到的每个目标检测框中的图像清晰度。剔除不包含目标对象的图像帧,将包含目标对象的图像帧作为目标图像帧。从选取的目标图像帧中选择连续的目标图像帧组成图像序列,可以得到一个或多个图像序列。从得到的图像序列中,选取所有图像帧中目标检测框对应的图像清晰度均大于或等于设定得分阈值的图像序列作为目标图像序列。在本实施例中,如果剔除不包含目标对象的图像帧后,得到一个由连续的目标图像帧组成的图像序列,可以将图像序列划分为多个图像子序列,选取所有图像帧中目标检测框对应的图像清晰度均大于或等于设定得分阈值的图像子序列作为目标图像序列。
得到目标图像序列之后,可以获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据各个目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度。
在一些实施例中,目标对象的稳定度包括目标抖动度,确定目标抖动度的方法,可以包括图4所示的如下步骤:
步骤S401,根据目标图像序列的各个目标图像帧中的目标检测框的位置信息,确定各个目标检测框的面积。
在一种实施例中,如果目标检测框为方形框,如长方形框或正方形框,目标检测框的位置信息包括目标检测框的左上角角点坐标和右下角角点坐标。对于一个目标检测框,可以确定该目标检测框的右下角角点与左上角角点的横坐标差值,以及右下角角点与左上角角点的纵坐标差值,将横坐标差值与纵坐标差值的乘积,作为该目标检测框的面积。
例如,假设以图像帧的左下角作为原点建立平面坐标系,目标检测框的左上角角点坐标为P1(x1,y1)和右下角角点坐标为P2(x2,y2)。该目标检测框的面积可以通过如下公式确定:
Figure DEST_PATH_IMAGE002
在另一种实施例中,如果目标检测框为圆形框,目标检测框的位置信息包括目标检测框的圆心坐标和半径长度。对于一个目标检测框,可以根据该目标检测框的半径长度,确定该目标检测框的面积。
例如,假设以图像帧的左下角作为原点建立平面坐标系,目标检测框的圆心坐标为P3(x3,y3),半径长度为r1。该目标检测框的面积可以通过如下公式确定:
Figure DEST_PATH_IMAGE004
如果目标检测框为包围目标对象的包络线,可以根据包络线实际包围的区域的面积,确定目标检测框的面积。
步骤S402,从各个目标检测框的面积中选择最小检测框面积。
步骤S403,获取目标图像序列的所有目标检测框的整体动态范围。
其中,整体动态范围为包围所有目标检测框的包络线所包围的区域的面积。
在一种实施例中,如果目标检测框为多边形框,例如包括矩形框、正方形框、六边形框等等,目标检测框的位置信息包括位于目标检测框上的至少两个目标点的坐标。本实施例中,所述目标检测框为矩形框,可以确定所有目标检测框上的目标点的坐标中的横坐标最小值和纵坐标最小值,以及横坐标最大值和纵坐标最大值;将得到的横坐标最小值和纵坐标最小值作为整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为整体动态范围的右下角角点坐标,得到矩形的整体动态范围。如果多边形框为方形,至少两个目标点为目标检测框的对角线两端的角点,如左上角角点和右下角角点,或者,左下角角点和右上角角点。
具体地,在一种实施例中,如果目标检测框为方形框,目标检测框的位置信息包括目标检测框的左上角角点坐标和右下角角点坐标。确定所有目标检测框的左上角角点坐标中横坐标最小值和纵坐标最小值,以及所有目标检测框的右下角角点坐标中横坐标最大值和纵坐标最大值,将得到的横坐标最小值和纵坐标最小值作为整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为整体动态范围的右下角角点坐标,得到方形的整体动态范围。
例如,如图5所示,假设目标图像序列中包括4个目标图像帧,每个目标图像帧中的目标检测框的位置分别如图5中的K1、K2、K3、K4所示,在4个目标检测框的左上角角点坐标中,K1的左上角的横坐标x4值最小。x4为所有目标检测框的左上角角点坐标中横坐标最小值。在4个目标检测框的左上角角点坐标中,K2的左上角的纵坐标y5值最小。y5为所有目标检测框的左上角角点坐标中纵坐标最小值。由此可以确定整体动态范围M1的左上角角点坐标为P3(x4,y5)。在4个目标检测框的左上角角点坐标中,K4的右下角的横坐标x7值最大。x7为所有目标检测框的右下角角点坐标中横坐标最大值。在4个目标检测框的左上角角点坐标中,K3的右下角的纵坐标y6值最大。y6为所有目标检测框的右下角角点坐标中纵坐标最大值。由此可以确定整体动态范围M1的右下角角点坐标为P4(x7,y6)。
在另一种实施例中,如果目标检测框为圆形框,目标检测框的位置信息包括目标检测框的圆心坐标和半径长度。根据所有目标检测框的圆心坐标,确定整体动态范围的圆心坐标,其中,整体动态范围的圆心为所有目标检测框的圆心的几何中心。确定所有目标检测框上的轮廓点至整体动态范围的圆心的最远距离,将最远距离作为整体动态范围的半径长度,得到圆形的整体动态范围。
例如,如图6所示,假设目标图像序列中包括3个目标图像帧,每个目标图像帧中的目标检测框的位置分别如图6中的K5、K6、K7所示,其中,目标检测框K5的圆心坐标为P5(x8,y8),目标检测框K6的圆心坐标为P6(x9,y9),目标检测框K7的圆心坐标为P7(x10,y10),根据目标检测框K5、K6、K7的圆心坐标,确定整体动态范围M2的圆心坐标P8(x11,y11)。其中,
Figure DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE008
。计算目标检测框K5、K6、K7上的每个轮廓点与整体动态范围的圆心P8的距离,从得到的距离中选择最远距离r2作为整体动态范围M2的半径长度,得到圆形的整体动态范围M2。
步骤S404,将整体动态范围的面积与最小检测框面积的比值,作为目标图像序列的目标抖动度。
在一种实施例中,如果整体动态范围为方形,整体动态范围的面积为方形的长与宽的乘积。例如,如图5中的整体动态范围,其左上角角点坐标为P3(x4,y5),右下角角点坐标为P4(x7,y6)。则该整体动态范围的面积可以通过如下公式确定:
Figure DEST_PATH_IMAGE010
在另一种实施例中,如果整体动态范围为圆形,可以根据该整体动态范围的半径长度,确定该目标检测框的面积。例如,如图5中的整体动态范围,其半径长度为r2。该目标检测框的面积可以通过如下公式确定:
Figure DEST_PATH_IMAGE012
在一个目标图像系列中,如果目标对象不稳定,则其在目标图像系列的各个图像帧中的位置变化较大,导致整体动态范围中的各个目标检测框彼此相隔会较远,从而求解得到的整体动态范围的面积与最小检测框面积的比值较大。如果目标对象稳定,则整体动态范围中的各个目标检测框彼此相隔会较近,所求解得到的整体动态范围的面积与最小检测框面积的比值较小。因此,可以将整体动态范围的面积与最小检测框面积的比值,作为目标图像序列的目标抖动度,或称为ASC(area_shaking_coefficeint,不稳定系数)。假设整体动态范围的面积为S_mar,最小检测框面积为S_min,则目标抖动度ASC = S_mar / S_min。
如果目标对象的稳定度包括目标抖动度,则设定条件可以包括目标对象的目标抖动度满足设定抖动阈值,或者说,目标对象的目标抖动度小于或等于设定抖动阈值。抖动阈值Thr_shake可以根据实际使用时的具体情况确定,示例性地,抖动阈值可以为Thr_shake=4。
在一些实施例中,目标对象的稳定度包括目标偏离度,可以采用如下方法确定目标偏离度:对于目标图像序列的各个目标图像帧中的目标检测框,分别确定每个目标检测框对应的交并比。其中,目标检测框对应的交并比为该目标检测框和选定目标检测框的相交面积与相并面积的比值。选定目标检测框为图像清晰度最高的目标检测框。将得到的交并比中的最小值,作为目标图像序列的目标偏离度。
对于一个目标图像序列中的每个目标检测框,可以通过上文介绍的方法确定目标检测框的图像清晰度,将图像清晰度最高的目标检测框作为选定目标检测框。对于其它任意一个目标检测框,确定该目标检测框与选定目标检测框的相交面积S_0,以及该目标检测框与选定目标检测框的相并面积S_1,则该目标检测框与选定目标检测框的交并比为S_0/S_1。
通过上述方法,计算得到每个目标检测框对应的交并比,将得到的交并比中的最小值,作为目标图像序列的目标偏离度。在一种实施例中,可以选择目标图像序列中与选定目标检测框对应的图像帧相邻的两个或三个图像帧对应的目标检测框,分别确定选择的目标检测框对应的交并比,将得到的交并比中的最小值,作为目标图像序列的目标偏离度。
如果目标对象的稳定度包括目标偏离度,则设定条件可以包括目标对象的目标偏离度满足设定偏离阈值,或者说,目标对象的目标偏离度大于或等于设定偏离阈值。偏离阈值Thr_a可以根据实际使用时的具体情况确定,示例性地,偏离阈值可以为Thr_a=0.35。
如果一个目标图像序列中目标对象的稳定度满足设定条件,可以认为该目标图像序列中的所有目标图像帧均为包含稳定目标的稳定画面。因此,可以基于该目标图像序列中的各个目标图像帧得到稳定视频片段。在一些实施例中,得到的稳定视频片段可以用于为视频剪辑提供视频素材。例如,可以将得到的稳定视频片段展示给用户,以供用户从稳定视频片段中选择视频素材,采用用户选择的视频素材生成视频合辑。由于稳定视频片段中不包含不稳定画面或不稳定目标,因此生成的视频合辑均是稳定的画面,可以提高视频合辑的观看效果。在另一些实施例中,得到的稳定视频片段可以用作为训练素材,用于训练对视频进行稳定性监督的网络模型等,可以提高模型训练的准确度。
为了更便于理解本申请实施例提供的视频处理方法,下文详细介绍一个具体实施例。如图7所示,该方法包括如下步骤:
步骤S701,从视频中获取连续目标片段,以及连续目标片段对应的目标检测框位置信息列表和图像清晰度得分列表。
其中,连续目标片段的所有图像帧都包含预先指定的目标对象,并且为视频中连续的图像帧。
以人作为目标对象为例,对于视频中的任意一个图像帧,可以采用人脸检测网络模型检测该图像帧中是否包含人脸。具体地说,可以将待检测的图像帧输入人脸检测网络模型,如果该图像帧中包含人脸,人脸检测网络模型可以输出该图像帧中用于标识人所在位置的目标检测框的位置坐标以及目标检测框对应的图像清晰度得分。其中,图像清晰度得分可以通过目标检测框中包含人的概率值体现。如果一个图像帧中输入人脸检测网络模型后,没有得到目标检测框,说明该图像帧中不包含人脸。
对视频中的各个图像帧进行目标检测,剔除不包含目标对象的图像帧,将包含目标对象的图像帧作为目标图像帧,从选取的目标图像帧中选择连续的目标图像帧组成连续目标片段。
如果图像帧中包含多个人,可以将面积最大的目标检测框作为目标对象的目标检测框,其余的目标检测框可以忽略或去除,以得到单目标的连续目标片段。
将连续目标片段的每个图像帧中目标检测框的位置坐标组成连续目标片段对应的目标检测框位置信息列表enclose_list;将连续目标片段的每个图像帧中目标检测框的图像清晰度得分组成连续目标片段对应的图像清晰度得分列表score_list。
步骤S702,对连续目标片段进行拆分,得到连续目标片段的多个子片段。
可以随机对连续目标片段进行拆分,或者按照设定规则对连续目标片段进行拆分。每个子片段包括至少两个目标图像帧,每个子片段均具有对应的目标检测框位置信息子列表和图像清晰度得分子列表。
步骤S703,从得到的多个子片段中,选取图像清晰度得分子列表中的所有图像清晰度得分均大于或等于设定得分阈值的子片段作为目标图像序列。
如图8所示,经过目标检测得到的连续目标片段对应的图像清晰度得分列表为score_list。将连续目标片段拆分为多个子片段,子片段对应的图像清晰度得分子列表可以表示为score_list[i]。考虑到连续拍摄的视频存在相机运动模糊或者目标对象剧烈晃动的情况,此时部分图像帧中目标对象会出现因失真,其目标预测得分会偏低。通过设定得分阈值thr_score可以筛除掉图像清晰度得分较低的帧,从多个子片段中选出符合条件的目标图像序列。
例如,将一个子片段对应的图像清晰度得分子列表中的每个图像清晰度得分与设定得分阈值thr_score进行比较,如果所有图像清晰度得分均大于或等于设定得分阈值,则认为该子片段符合条件,可以作为目标图像序列。如果一个子片段对应的图像清晰度得分子列表中包含小于设定得分阈值的图像清晰度得分,则认为该子片段不符合条件,丢弃该子片段。图8所示的实施例中,采用的得分阈值thr_score=0.8。
通过上述过程,可以得到多个目标图像序列,每个目标图像序列对应的目标检测框位置信息子列表可以表示为enclose_list[i],每个目标图像序列对应的图像清晰度得分子列表可以表示为score_list[i]。其中,i=0,1,…,N。N为得到的目标图像序列的数量。
由于经过上述方法得到的目标图像序列,目标图像序列内的每个图像帧中的目标检测框对应的图像清晰度得分都大于或等于设定得分阈值,因此目标图像序列大概率是清晰连续的片段。
步骤S704,根据目标图像序列对应的目标检测框位置信息子列表,确定目标图像序列的目标抖动标识。
为能够得到目标稳定的片段,筛除掉目标对象出现上下左右晃动或者靠近/远离镜头的运动画面,本申请实施例设计了画面稳定滤波器,用于判断某一视频片段中的目标对象是否足够稳定。
对于每个目标图像序列,将该目标图像序列对应的目标检测框位置信息子列表输入画面稳定滤波器,可以得到画面稳定滤波器输出的该目标图像序列的目标抖动标识。以第i个目标图像序列为例,画面稳定滤波器执行的方法如图9所示,可以包括如下步骤:
步骤S7041,根据目标图像序列对应的目标检测框位置信息子列表中的每个目标检测框的位置信息,确定所有目标检测框的整体动态范围,并从每个目标检测框的面积中选择最小检测框面积。
对于第i个目标图像序列对应的目标检测框位置信息子列表enclose_list[i],经过画面稳定滤波器中的动态范围提取器和面积求解模块,分别得到所有目标检测框的整体动态范围max_active_range的面积S_mar和最小检测框面积S_min。整体动态范围和最小检测框面积的具体确定方法,可以参照上文中的描述执行。
例如,假设第i个目标图像序列中包括三个图像帧,则其对应的目标检测框位置信息子列表enclose_list[i]中包括三个目标检测框的位置信息。如图10所示,外围的黑色矩形为视频中的图像帧的边界,目标检测框用圆型或椭圆形表示,图10展示了连续三个图像帧中目标对象的运动情况,其中K1、K2和K3,分别表示目标对象在第一图像帧、第二图像帧、第三图像帧中的位置及形状。位置的变化反应的是目标对象出现上下左右晃动的情况,形状的变化反应的是主体目标出现刚体旋转或者靠近/远离镜头的运动情况。其中,K2的面积最小,K2的面积为最小检测框面积。最外围的圆形K4为中间三个几何形状的包络线,其所包括的范围即为整体动态范围。
步骤S7042,将整体动态范围的面积与最小检测框面积的比值,作为目标图像序列的目标抖动度。
采用公式可以表示为:ASC = S_mar / S_min。
步骤S7043,判断目标抖动度是否小于或等于设定抖动阈值;如果是,执行步骤S7044,如果否,执行步骤S7045。
步骤S7044,确定目标图像序列的目标抖动标识为False。
步骤S7045,确定目标图像序列的目标抖动标识为Ture。
将目标图像序列的目标抖动度ASC与设定抖动阈值Thr_shake进行比较,如果目标抖动度ASC>Thr_shake,则将目标抖动标识is_large_area_shaking_sample设置为True,表示该目标图像序列中的目标对象存在剧烈晃动;如果ASC≤Thr_shake,则将目标抖动标识is_large_area_shaking_sample设置为False,表示该目标图像序列中的目标对象相对比较稳定。
步骤S705,根据目标图像序列对应的图像清晰度得分子列表以及目标检测框位置信息子列表,确定目标图像序列的目标偏离标识。
为了获取目标对象在一段视频画面内的稳定图像序列,本申请实施例还设计了目标偏离滤波器,用于剔除掉目标对象出现短时剧烈偏离的视频片段。对于每个目标图像序列,目标偏离滤波器可以采用图11所示的方法确定目标图像序列的目标偏离标识,具体可以包括如下步骤:
步骤S7051,从目标图像序列对应的图像清晰度得分子列表中,确定最高图像清晰度得分对应的选定目标检测框。
仍以第i个目标图像序列为例,从该目标图像序列对应的图像清晰度得分子列表score_list[i]中,确定最高图像清晰度得分score_max对应的选定目标检测框enclose_max。
步骤S7052,分别确定目标图像序列中每个目标检测框对应的交并比。
对于任意一个目标检测框,确定该目标检测框与选定目标检测框enclose_max的相交面积S_0,以及该目标检测框与选定目标检测框enclose_max的相并面积S_1,则该目标检测框与选定目标检测框enclose_max的交并比为S_0/S_1。
步骤S7053,判断所有目标检测框对应的交并比是否均大于或等于设定偏离阈值;如果是,执行步骤S7054;如果否,执行步骤S7055。
步骤S7054,确定目标图像序列的目标偏离标识为False。
步骤S7055,确定目标图像序列的目标偏离标识为Ture。
如果每个目标检测框对应的交并比S_0/S_1均大于或等于设定偏离阈值thr_a,则目标图像序列的目标偏离标识为False,表示该目标图像序列未出现目标偏离。如果存在至少一个目标检测框对应的交并比S_0/S_1小于设定偏离阈值thr_a,则目标图像序列的目标偏离标识为True,表示该目标图像序列出现目标偏离。
如图12所示,目标检测框K1为目标对象的初始所在位置,随着帧数的增加,目标对象逐渐移动到视频图像帧的右下方的目标检测框Kn所在位置。假定目标检测框K1所在位置为最高图像清晰度得分所对应的目标检测框,可以发现,随着目标对象的移动,不同图像帧所对应的目标检测框与目标检测框K1之间的距离越来越远,相应的交并比也会越来越小。目标检测框Kn与目标检测框K1的相交面积为0,因此目标检测框Kn对应的交并比为0,小于设定偏离阈值thr_a,则图12所示的目标图像序列的目标偏离标识为True。
步骤S706,选择目标抖动标识和目标偏离标识均满足要求的目标图像序列,基于选择的目标图像序列获得稳定视频片段。
对于一个目标图像序列,如果该目标图像序列的目标抖动标识为False,并且目标偏离标识也为False,则该目标图像序列为目标稳定序列,否则,如果该目标图像序列的目标抖动标识为True,或者目标偏离标识为True,则该目标图像序列为目标不稳定序列。基于目标稳定序列可以获得稳定视频片段。
上述实施例中使用的人脸检测网络模型可以采用如下方法进行训练,包括以下步骤:
步骤一,获取训练图像样本集。
训练图像样本集中包括多张脸部样本图像,每张脸部样本图像均携带有人工标注的人脸位置标签。
步骤二,将从训练图像样本集中抽取的脸部样本图像输入待训练的人脸检测网络模型,得到脸部样本图像的人脸检测结果。
从训练图像样本集中抽取的脸部样本图像,将抽取的脸部样本图像输入待训练的人脸检测网络模型。通过人脸检测网络模型中的特征提取网络对脸部样本图像进行特征提取,得到脸部样本图像的特征图,将脸部样本图像的特征图输入分类子网络和回归子网络,得到脸部样本图像的人脸检测结果,人脸检测结果包括目标检测框的位置信息及其对应的概率。
步骤三,根据脸部样本图像的人脸检测结果与脸部样本图像的人脸位置标签,确定损失值。
计算损失值时,可以采用预设的损失函数计算损失值,损失函数可以采用交叉熵损失函数,例如Sigmoid函数。通常,损失值是判定实际的输出与期望的输出的接近程度。损失值越小,说明实际的输出越接近期望的输出。
步骤四,判断损失值是否收敛;如果是,执行步骤六;如果否,执行步骤五。
判断损失值是否收敛至预设的期望值,如果损失值小于或等于预设的期望值,或者,连续N次训练得到的损失值的变化幅度小于或等于预设的期望值时,认为损失值已收敛至预设的期望值,说明损失值收敛;否则,说明损失值尚未收敛。
步骤五,根据损失值对人脸检测网络模型的参数进行调整。
如果损失值尚未收敛,可以采用反向传播算法,根据损失值调整人脸检测网络模型的参数,然后返回步骤二继续抽取脸部样本图像对人脸检测网络模型进行训练。
步骤六,将当前参数作为人脸检测网络模型的参数,获得已训练的人脸检测网络模型。
获得已训练的人脸检测网络模型之后,可以采用人脸检测网络模型对视频中的各个图像帧分别进行人脸检测,确定各个图像帧中是否包含人脸。
与上述方法基于同一发明构思,本申请实施例还提供了一种视频操作方法,该方法可以由终端设备或其它电子设备执行,或者说,由安装在终端设备上的客户端执行。如图13所示,该方法包括如下步骤:
步骤S1301,响应针对待处理视频的视频操作,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段。
用户可以通过安装在终端设备上的视频处理客户端对拍摄的视频或保存在终端设备上的视频进行剪辑。例如,视频处理客户端提供视频剪辑功能按键,用户选择待处理视频后,点击视频剪辑功能按键,终端设备接收到用户针对待处理视频输入的视频操作。
在一种实施例中,终端设备接收到用户针对待处理视频输入的视频剪辑操作之后,可以采用上文中介绍的任意一种方法,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段。
步骤S1302,将获取的视频片段展示给用户。
终端设备将获取的视频片段通过显示屏展示给用户。
步骤S1303,响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
在一种实施例中,终端设备接收到用户选择视频片段的操作,将用户选定的视频片段进行拼接,组成视频合辑,或者,基于用户选定的视频片段进行视频的特效处理等操作,生成用户期望的视频。
与上述方法基于同一发明构思,本申请实施例还提供了一种视频操作方法,该方法由服务器和安装在终端设备上的客户端协作完成。为方便理解,图14示出了在该方法的执行过程中,客户端与服务器之间的交互图。如图14所示,该方法包括如下步骤:
步骤S1401,客户端接收用户针对待处理视频的视频操作。
步骤S1402,客户端向服务器发送视频处理请求,该视频处理请求中携带有待处理视频或待处理视频的标识。
其中,客户端可以是安装在终端设备上的视频处理客户端。用户可以通过视频处理客户端对拍摄的视频或保存在终端设备上的视频进行剪辑。例如,视频处理客户端提供视频剪辑功能按键,用户选择待处理视频后,可以点击视频剪辑功能按键,对待处理视频进行相应操作。客户端接收用户针对待处理视频的视频操作,生成视频处理请求并发送至服务器。
步骤S1403,服务器接收到视频处理请求,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段。
在一种实施例中,视频处理请求中携带有待处理视频。服务器可以从视频处理请求中获取待处理视频,采用上文中介绍的任意一种方法,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段。
在另一种实施例中,服务器中存储有客户端预先发送的多个视频。视频处理请求中携带有待处理视频的标识。服务器可以视频处理请求中待处理视频的标识,从存储的多个视频中查找到待处理视频,采用上文中介绍的任意一种方法,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段。
步骤S1404,服务器将获得的视频片段发送至客户端。
步骤S1405,客户端将接收到的视频片段展示给用户。
步骤S1406,客户端接收用户选择视频片段的操作。
步骤S1407,客户端向服务器发送视频操作请求,视频操作请求中携带有用户选定的视频片段。
客户端展示给用户的视频片段可以多选,用户可以从其中选择一个或多个视频片段进行视频编辑操作。
步骤S1408,服务器根据接收到的视频操作请求,对用户选定的视频片段进行视频操作。
步骤S1409,服务器将视频操作得到的视频合辑发送至客户端。
服务器接收到客户端发送的视频操作请求,将用户选定的视频片段进行拼接,组成视频合辑后发送至客户端;或者,服务器基于用户选定的视频片段进行视频的特效处理等操作,生成用户期望的视频合辑后发送至客户端。
在本实施例的方法中,服务器执行如下步骤:接收客户端发送的针对待处理视频的视频处理请求,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段,将获得的视频片段发送至上述客户端,以使客户端将视频片段展示给用户。接收客户端发送的视频操作请求,该视频操作请求携带有用户选定的视频片段;根据该视频操作请求,对用户选定的视频片段进行视频操作。
图15示出了一种视频操作过程的界面图。如图15中的页面(a)所示,假设对待处理视频进行处理后,共获取到4个目标对象的稳定度满足设定条件的视频片段,分别为片段1、片段2、片段3和片段4,终端设备将4个视频片段展示给用户。用户可以从4个视频中选择一个或多个视频片段,用于拼接成视频合辑。如图15中的页面(b)所示,假设用户选择片段2、片段3和片段4三个视频片段,然后点击“确定”按键,终端设备对用户选定的三个视频片段进行拼接,并向用户展示拼接界面,如图15中的页面(c)所示。
在图15中的页面(c)所示的拼接界面中,可以看到,片段2的长度为5s,片段3的长度为3s,片段4的长度为4s,由片段2、片段3和片段4三个视频片段拼接得到的视频合辑的长度为12s。目前三个视频片段的拼接顺序为片段2、片段3、片段4,用户可以通过拖动片段2、片段3或片段4的位置改变三个视频片段的拼接顺序。例如,用户可以将片段4拖动至片段2之前,则三个视频片段的拼接顺序改变为片段4、片段2、片段3。在拼接界面中,用户还可以对得到视频合辑进行剪辑或加特效等操作,完成对视频合辑的编辑后,用户可以点击屏幕右上角的“导出”按键,将得到的视频合辑导出。
用户可以点击“导出”按键后,终端设备将视频合辑导出并保存至相册中,完成导出后,显示图15中页面(d)所示的界面,告知用户已将视频合辑保存至相册。在图15中页面(d)所示的界面中,用户可以点击“完成”按键,完成对待处理视频的剪辑,还可以对视频合辑进行再次编辑或者将得到的视频合辑分享给其他用户。
在上述实施例中,由于采用本申请实施例提供的方法,从待处理视频中获取的视频片段为目标稳定的视频片段,基于目标稳定的视频片段得到的视频中不会包含不稳定画面或不稳定目标,因此可以提高视频的观看效果。
与图2所示的视频处理方法基于同一发明构思,本申请实施例中还提供了一种视频处理装置,该视频处理装置可以布设在服务器或终端设备中。由于该装置是本申请实施例视频处理方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图16示出了本申请实施例提供的一种视频处理装置的结构示意图,如图16所示,该视频处理装置包括:图像序列获取单元161、图像序列分析单元162和视频片段获取单元163;其中,
图像序列获取单元161,用于从视频中获取至少两个目标图像帧组成的目标图像序列,并获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息;每个目标图像帧中包含目标对象;
图像序列分析单元162,用于根据目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度;
视频片段获取单元163,用于当目标对象的稳定度满足设定条件时,获得目标图像序列组成的稳定视频片段。
在一种可选的实施例中,图像序列获取单元161,具体用于:
根据视频中图像帧的排序,从视频中获取至少两个目标图像帧,并在每个目标图像帧中标识目标图像的目标检测框;
确定每个目标图像帧目标检测框中的图像清晰度;
当每个图像帧中目标检测框对应的图像清晰度均满足设定清晰度条件时,获得至少两个目标图像帧组成的目标图像序列。
在一种可选的实施例中,图像序列获取单元161,具体用于:
将视频中的各个图像帧分别输入已训练的目标检测网络模型,得到目标检测网络模型输出的图像识别结果;图像识别结果用于指示输入的图像帧中是否包含目标对象;
根据视频中图像帧的排序和各个图像帧对应的图像识别结果,从视频中获取包含目标对象的至少两个目标图像帧。
在一种可选的实施例中,目标对象的稳定度包括目标抖动度;设定条件包括目标抖动度满足设定抖动阈值;图像序列分析单元162,具体用于:
根据目标图像序列的各个目标图像帧中的目标检测框的位置信息,确定各个目标检测框的面积;
从各个目标检测框的面积中选择最小检测框面积;
获取目标图像序列的所有目标检测框的整体动态范围;整体动态范围为包围所有目标检测框的包络线所包围的区域的面积;
将整体动态范围的面积与最小检测框面积的比值,作为目标图像序列的目标抖动度。
在一种可选的实施例中,目标检测框为多边形框,所述目标检测框的位置信息包括位于目标检测框上的至少两个目标点的坐标;图像序列分析单元162,具体用于:
确定所有目标检测框上的目标点的坐标中的横坐标最小值和纵坐标最小值,以及横坐标最大值和纵坐标最大值;
将得到的横坐标最小值和纵坐标最小值作为所述整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为所述整体动态范围的右下角角点坐标,得到包围所有多边形框的方形的整体动态范围。
在一种可选的实施例中,多边形框为方形,至少两个目标点为目标检测框的对角线两端的角点。
在一种可选的实施例中,目标检测框为圆形框,目标检测框的位置信息包括目标检测框的圆心坐标和半径长度;图像序列分析单元162,具体用于:
根据所有目标检测框的圆心坐标,确定整体动态范围的圆心坐标;整体动态范围的圆心为所有目标检测框的圆心的几何中心;
确定所有目标检测框上的轮廓点至整体动态范围的圆心的最远距离;
将最远距离作为整体动态范围的半径长度,得到圆形的整体动态范围。
在一种可选的实施例中,目标对象的稳定度包括目标偏离度;设定条件包括目标偏离度满足设定偏离阈值;图像序列分析单元162,具体用于:
根据目标图像序列的各个目标图像帧中的目标检测框的位置信息,确定各个目标检测框的面积;
分别确定每个目标检测框对应的交并比;其中,目标检测框对应的交并比为该目标检测框和选定目标检测框的相交面积与相并面积的比值;选定目标检测框为图像清晰度最高的目标检测框;
将得到的交并比中的最小值,作为目标图像序列的目标偏离度。
在一种可选的实施例中,所述目标对象的稳定度包括目标抖动度和目标偏离度;图像序列分析单元162,还用于:
根据目标对象在目标图像序列中的目标抖动度,为目标图像序列设置目标抖动标识;
根据目标对象在目标图像序列中的目标偏离度,为目标图像序列设置目标抖动标识;
根据目标图像序列的目标抖动标识和目标偏离标识,确定目标对象的稳定度是否满足设定条件。
本申请实施例的视频处理装置,对于从视频中获取的目标图像序列中的各个图像帧,获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息,根据各个目标图像帧中的目标检测框的位置信息,确定目标对象在目标图像序列中的稳定度,根据目标对象的稳定度满足设定条件目标图像序列得到稳定视频片段。通过上述方法,可以从视频中筛选出仅包含稳定画面和稳定目标的稳定视频片段,与人工进行筛选相比,可以提高视频筛选的稳定性和效率。
与图13所示的视频操作方法基于同一发明构思,本申请实施例中还提供了另一种视频操作装置,该视频操作装置可以布设在终端设备中。由于该装置是本申请实施例视频操作方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图17示出了本申请实施例提供的另一种视频操作装置的结构示意图,如图17所示,该视频操作装置包括:视频素材获取单元171、视频片段展示单元172和视频剪辑单元173;其中,
视频素材获取单元171,用于响应针对待处理视频的视频操作,采用图13所示的视频操作方法,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
视频片段展示单元172,用于将获取的视频片段展示给用户;
视频剪辑单元173,用于响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
与图14所示的视频操作方法基于同一发明构思,本申请实施例中还提供了另一种视频操作装置,该视频操作装置可以布设在服务器中。由于该装置是本申请实施例视频操作方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图18示出了本申请实施例提供的另一种视频操作装置的结构示意图,如图18所示,该视频处理装置包括:视频处理单元181和视频操作单元182;其中,
视频处理单元181,用于接收客户端发送的针对待处理视频的视频处理请求,采用图14中服务器侧的视频操作方法,从待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;将获得的视频片段发送至客户端,以使客户端将视频片段展示给用户;
视频操作单元182,用于接收客户端发送的视频操作请求,视频操作请求携带有用户选定的视频片段;根据所述视频操作请求,对用户选定的视频片段进行视频操作。
该装置由于采用本申请实施例提供的方法,从待处理视频中获取的视频片段为目标稳定的视频片段,基于目标稳定的视频片段得到的视频中不会包含不稳定画面或不稳定目标,因此可以提高视频的观看效果。
与上述方法实施例相对应地,本申请实施例还提供了一种电子设备。该电子设备可以是服务器,如图1中所示的服务器12,也可以是智能手机、平板电脑,手提电脑或计算机等电子设备,该电子设备至少包括用于存储数据的存储器和用于数据处理的处理器。其中,对于用于数据处理的处理器而言,在执行处理时,可以采用微处理器、CPU、GPU(GraphicsProcessing Unit,图形处理单元)、DSP或FPGA实现。对于存储器来说,存储器中存储有操作指令,该操作指令可以为计算机可执行代码,通过该操作指令来实现上述本申请实施例的视频处理方法的流程中的各个步骤。
图19为本申请实施例提供的一种电子设备的结构示意图;如图19所示,本申请实施例中该电子设备110包括:处理器111、显示器112、存储器113、输入设备116、总线115和通讯模块114;该处理器111、存储器113、输入设备116、显示器112和通讯模块114均通过总线115连接,该总线115用于该处理器111、存储器113、显示器112、通讯模块114和输入设备116之间传输数据。
其中,存储器113可用于存储软件程序以及模块,如本申请实施例中的视频处理方法对应的程序指令/模块,处理器111通过运行存储在存储器113中的软件程序以及模块,从而执行电子设备110的各种功能应用以及数据处理,如本申请实施例提供的视频处理方法。存储器113可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个应用的应用程序等;存储数据区可存储根据电子设备110的使用所创建的数据(比如待处理视频、目标图像序列、训练好的网络模型等相关数据)等。此外,存储器113可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器111是电子设备110的控制中心,利用总线115以及各种接口和线路连接整个电子设备110的各个部分,通过运行或执行存储在存储器113内的软件程序和/或模块,以及调用存储在存储器113内的数据,执行电子设备110的各种功能和处理数据。可选的,处理器111可包括一个或多个处理单元,如CPU、GPU(Graphics Processing Unit,图形处理单元)、数字处理单元等。
本申请实施例中,处理器111将视频处理结果,如得到的稳定视频片段等通过显示器112展示给用户。
处理器111还可以通过通讯模块114连接网络,获取待处理视频或视频处理结果等。如果电子设备为服务器,则处理器111可以通过通讯模块114连接终端设备,获取待处理视频。如果电子设备为终端设备,则处理器111可以通过通讯模块114连接服务器,获取视频处理后得到的稳定视频片段。
该输入设备116主要用于获得用户的输入操作,当该电子设备不同时,该输入设备116也可能不同。例如,当该电子设备为计算机时,该输入设备116可以为鼠标、键盘等输入设备;当该电子设备为智能手机、平板电脑等便携设备时,该输入设备116可以为触控屏。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于实现本申请任一实施例所述的视频处理方法。
在一些可能的实施方式中,本申请提供的动态表情获取方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的动态表情获取的步骤,例如,所述计算机设备可以执行如图2所示的步骤S201~S204中的视频处理流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (15)

1.一种视频处理方法,其特征在于,包括:
从视频中获取至少两个目标图像帧组成的目标图像序列,每个目标图像帧中包含目标对象;
获取各个目标图像帧中用于标示所述目标对象的目标检测框的位置信息;
根据各个目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度;
当所述目标对象在所述目标图像序列中的稳定度满足设定条件时,获得所述目标图像序列组成的稳定视频片段。
2.根据权利要求1所述的方法,其特征在于,所述从视频中获取至少两个目标图像帧组成的目标图像序列,包括:
根据视频中图像帧的排序,从视频中获取至少两个目标图像帧,并在每个目标图像帧中标示所述目标对象的目标检测框;
确定每个目标图像帧中目标检测框对应的图像清晰度;
当每个目标图像帧中目标检测框对应的图像清晰度均满足设定清晰度条件时,获得所述至少两个目标图像帧组成的所述目标图像序列。
3.根据权利要求2所述的方法,其特征在于,根据视频中图像帧的排序,从视频中获取至少两个目标图像帧,包括:
将所述视频中的各个图像帧分别输入已训练的目标检测网络模型,得到所述目标检测网络模型输出的图像识别结果;所述图像识别结果用于指示输入的图像帧中是否包含目标对象;
根据视频中图像帧的排序和各个图像帧对应的图像识别结果,从所述视频中获取包含目标对象的至少两个目标图像帧。
4.根据权利要求1所述的方法,其特征在于,所述目标对象在所述目标图像序列中的稳定度包括目标抖动度;所述设定条件包括目标抖动度满足设定抖动阈值;所述根据各个目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度,包括:
根据所述目标图像序列的各个目标图像帧中的目标检测框的位置信息,确定各个目标检测框的面积;
从各个目标检测框的面积中选择最小检测框面积;
获取所述目标图像序列的所有目标检测框的整体动态范围;所述整体动态范围为包围所有目标检测框的包络线所包围的区域的面积;
将所述整体动态范围的面积与所述最小检测框面积的比值,作为所述目标图像序列的目标抖动度。
5.根据权利要求4所述的方法,其特征在于,所述目标检测框为多边形框,所述目标检测框的位置信息包括位于目标检测框上的至少两个目标点的坐标;获取所述目标图像序列的所有目标检测框的整体动态范围,包括:
确定所有目标检测框上的目标点的坐标中的横坐标最小值和纵坐标最小值,以及横坐标最大值和纵坐标最大值;
将得到的横坐标最小值和纵坐标最小值作为所述整体动态范围的左上角角点坐标,将得到的横坐标最大值和纵坐标最大值作为所述整体动态范围的右下角角点坐标,得到包围所有多边形框的方形的整体动态范围。
6.根据权利要求4所述的方法,其特征在于,所述目标检测框为圆形框,所述目标检测框的位置信息包括目标检测框的圆心坐标和半径长度;获取所述目标图像序列的所有目标检测框的整体动态范围,包括:
根据所有目标检测框的圆心坐标,确定整体动态范围的圆心坐标;所述整体动态范围的圆心为所有目标检测框的圆心的几何中心;
确定所有目标检测框上的轮廓点至所述整体动态范围的圆心的最远距离;
将所述最远距离作为所述整体动态范围的半径长度,得到圆形的整体动态范围。
7.根据权利要求1或4所述的方法,其特征在于,所述目标对象在所述目标图像序列中的稳定度包括目标偏离度;所述设定条件包括目标偏离度满足设定偏离阈值;所述根据各个目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度,包括:
对于所述目标图像序列的各个目标图像帧中的目标检测框,分别确定每个目标检测框对应的交并比;其中,目标检测框对应的交并比为该目标检测框和选定目标检测框的相交面积与相并面积的比值;所述选定目标检测框为图像清晰度最高的目标检测框;所述图像清晰度为目标检测框对应的图像清晰度;
将得到的交并比中的最小值,作为所述目标图像序列的目标偏离度。
8.根据权利要求1~6任一项所述的方法,其特征在于,所述目标对象在所述目标图像序列中的稳定度包括目标抖动度和目标偏离度;确定所述目标对象在所述目标图像序列中的稳定度之后,所述方法还包括:
根据所述目标对象在目标图像序列中的目标抖动度,为所述目标图像序列设置目标抖动标识;
根据所述目标对象在目标图像序列中的目标偏离度,为所述目标图像序列设置目标偏离标识;
根据所述目标图像序列的目标抖动标识和目标偏离标识,确定所述目标对象的稳定度是否满足设定条件。
9.一种视频操作方法,其特征在于,包括:
响应针对待处理视频的视频操作,采用权利要求1~8中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
将获取的视频片段展示给用户;
响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
10.一种视频操作方法,其特征在于,包括:
接收客户端发送的针对待处理视频的视频处理请求,采用权利要求1~8中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
将获得的视频片段发送至所述客户端,以使所述客户端将所述视频片段展示给用户;
接收客户端发送的视频操作请求,所述视频操作请求携带有用户选定的视频片段;
根据所述视频操作请求,对用户选定的视频片段进行视频操作。
11.一种视频处理装置,其特征在于,包括:
图像序列获取单元,用于从视频中获取至少两个目标图像帧组成的目标图像序列,并获取各个目标图像帧中用于标示目标对象的目标检测框的位置信息;每个目标图像帧中包含目标对象;
图像序列分析单元,用于根据各个目标图像帧中的目标检测框的位置信息,确定所述目标对象在所述目标图像序列中的稳定度;
视频片段获取单元,用于当所述目标对象在所述目标图像序列中的稳定度满足设定条件时,获得所述目标图像序列组成的稳定视频片段。
12.一种视频操作装置,其特征在于,包括:
视频素材获取单元,用于响应针对待处理视频的视频操作,采用权利要求1~8中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;
视频片段展示单元,用于将获取的视频片段展示给用户;
视频剪辑单元,用于响应用户选择视频片段的操作,基于用户选定的视频片段进行视频操作。
13.一种视频操作装置,其特征在于,包括:
视频处理单元,用于接收客户端发送的针对待处理视频的视频处理请求,采用权利要求1~8中任一项所述的方法,从所述待处理视频中获得目标对象的稳定度满足设定条件的至少一个视频片段;将获得的视频片段发送至所述客户端,以使所述客户端将所述视频片段展示给用户;
视频操作单元,用于接收客户端发送的视频操作请求,所述视频操作请求携带有用户选定的视频片段;根据所述视频操作请求,对用户选定的视频片段进行视频操作。
14.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~8中任一项所述的方法、权利要求9所述的方法或者权利要求10所述的方法。
15.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~8中任一项所述的方法、权利要求9所述的方法或者权利要求10所述的方法。
CN202010562604.0A 2020-06-19 2020-06-19 视频处理方法、视频操作方法、装置、存储介质和设备 Active CN111541943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010562604.0A CN111541943B (zh) 2020-06-19 2020-06-19 视频处理方法、视频操作方法、装置、存储介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010562604.0A CN111541943B (zh) 2020-06-19 2020-06-19 视频处理方法、视频操作方法、装置、存储介质和设备

Publications (2)

Publication Number Publication Date
CN111541943A CN111541943A (zh) 2020-08-14
CN111541943B true CN111541943B (zh) 2020-10-16

Family

ID=71979700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010562604.0A Active CN111541943B (zh) 2020-06-19 2020-06-19 视频处理方法、视频操作方法、装置、存储介质和设备

Country Status (1)

Country Link
CN (1) CN111541943B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985419B (zh) * 2020-08-25 2022-10-14 腾讯科技(深圳)有限公司 视频处理方法及相关设备
CN112200022A (zh) * 2020-09-23 2021-01-08 上海联影医疗科技股份有限公司 图像处理方法、医疗成像设备和存储介质
CN112348686B (zh) * 2020-11-24 2021-07-13 德联易控科技(北京)有限公司 理赔图片的采集方法、装置及通讯设备
CN113642481A (zh) * 2021-08-17 2021-11-12 百度在线网络技术(北京)有限公司 识别方法、训练方法、装置、电子设备以及存储介质
CN114331887A (zh) * 2021-12-23 2022-04-12 北京达佳互联信息技术有限公司 一种视频特效处理方法、装置、电子设备及存储介质
CN114727093B (zh) * 2022-03-18 2023-03-24 百度在线网络技术(北京)有限公司 数据分析方法、装置、电子设备及计算机存储介质
CN114885210B (zh) * 2022-04-22 2023-11-28 海信集团控股股份有限公司 教程视频处理方法、服务器及显示设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049911A (zh) * 2012-12-20 2013-04-17 成都理想境界科技有限公司 轮廓检测稳定性判断方法及图像检索方法
CN104618627A (zh) * 2014-12-31 2015-05-13 小米科技有限责任公司 视频处理方法和装置
CN108234859A (zh) * 2017-08-30 2018-06-29 珠海市魅族科技有限公司 视频防抖控制方法、装置、计算机装置及可读存储介质
CN110049309A (zh) * 2018-12-10 2019-07-23 阿里巴巴集团控股有限公司 视频流中图像帧的稳定性检测方法和装置
CN110351579A (zh) * 2019-08-16 2019-10-18 深圳特蓝图科技有限公司 一种视频的智能剪辑算法
CN110490075A (zh) * 2019-07-17 2019-11-22 阿里巴巴集团控股有限公司 获取稳定帧的方法、装置以及计算机可读介质
CN110913271A (zh) * 2019-11-29 2020-03-24 Oppo广东移动通信有限公司 视频处理方法、移动终端及非易失性计算机可读存储介质
CN110996169A (zh) * 2019-07-12 2020-04-10 北京达佳互联信息技术有限公司 剪辑视频的方法、装置、电子设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721388B2 (en) * 2018-03-23 2020-07-21 Hulu, LLC Video motion effect generation based on content analysis

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049911A (zh) * 2012-12-20 2013-04-17 成都理想境界科技有限公司 轮廓检测稳定性判断方法及图像检索方法
CN104618627A (zh) * 2014-12-31 2015-05-13 小米科技有限责任公司 视频处理方法和装置
CN108234859A (zh) * 2017-08-30 2018-06-29 珠海市魅族科技有限公司 视频防抖控制方法、装置、计算机装置及可读存储介质
CN110049309A (zh) * 2018-12-10 2019-07-23 阿里巴巴集团控股有限公司 视频流中图像帧的稳定性检测方法和装置
CN110996169A (zh) * 2019-07-12 2020-04-10 北京达佳互联信息技术有限公司 剪辑视频的方法、装置、电子设备及计算机可读存储介质
CN110490075A (zh) * 2019-07-17 2019-11-22 阿里巴巴集团控股有限公司 获取稳定帧的方法、装置以及计算机可读介质
CN110351579A (zh) * 2019-08-16 2019-10-18 深圳特蓝图科技有限公司 一种视频的智能剪辑算法
CN110913271A (zh) * 2019-11-29 2020-03-24 Oppo广东移动通信有限公司 视频处理方法、移动终端及非易失性计算机可读存储介质

Also Published As

Publication number Publication date
CN111541943A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN111541943B (zh) 视频处理方法、视频操作方法、装置、存储介质和设备
WO2019218824A1 (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
Betancourt et al. The evolution of first person vision methods: A survey
US10360710B2 (en) Method of establishing virtual makeup data and electronic device using the same
JP5934653B2 (ja) 画像分類装置、画像分類方法、プログラム、記録媒体、集積回路、モデル作成装置
CN112131978B (zh) 一种视频分类方法、装置、电子设备和存储介质
CN110458805A (zh) 一种平面检测方法、计算设备以及电路系统
CN108898171B (zh) 图像识别处理方法、系统及计算机可读存储介质
US20190108424A1 (en) System and method for facilitating logo-recognition training of a recognition model
WO2021139307A1 (zh) 视频内容识别方法、装置、存储介质、以及计算机设备
CN111491187B (zh) 视频的推荐方法、装置、设备及存储介质
CN112381104A (zh) 一种图像识别方法、装置、计算机设备及存储介质
JP6787831B2 (ja) 検索結果による学習が可能な対象検出装置、検出モデル生成装置、プログラム及び方法
CN111368751A (zh) 图像处理方法、装置、存储介质及电子设备
CN112272295B (zh) 具有三维效果的视频的生成方法、播放方法、装置及设备
CN109670517A (zh) 目标检测方法、装置、电子设备和目标检测模型
CN111432206A (zh) 基于人工智能的视频清晰度处理方法、装置及电子设备
CN114677730A (zh) 活体检测方法、装置、电子设备及存储介质
CN109063776A (zh) 图像再识别网络训练方法、装置和图像再识别方法及装置
Goodrich et al. Reinforcement learning based visual attention with application to face detection
CN112883827B (zh) 图像中指定目标的识别方法、装置、电子设备和存储介质
CN113822965A (zh) 图像渲染处理方法、装置和设备及计算机存储介质
CN113570615A (zh) 一种基于深度学习的图像处理方法、电子设备及存储介质
CN113610953A (zh) 一种信息处理方法、装置及计算机可读存储介质
Weng et al. Trajectory-aware three-stream CNN for video action recognition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40027474

Country of ref document: HK