掌桥专利:专业的专利平台
掌桥专利
首页

一种基于强化学习的选帧决策方法及装置

文献发布时间:2024-04-18 19:58:21


一种基于强化学习的选帧决策方法及装置

技术领域

本申请涉及图像处理技术领域,尤其涉及一种基于强化学习的选帧决策方法及装置。

背景技术

目前,大多数电子设备都具备视频录制(也可称为录像)功能,用户可以使用录像功能来记录生活。然而在一些情况下,由于录像得到的视频较长可能会导致用户没有耐心观看视频。

为了能让用户快速浏览录制的视频的精彩瞬间,相关技术中,通常是等到视频录制结束后,通过编写好的代码逻辑,来决策出这段视频对应的若干张精彩帧图像,以使得用户能够通过查看该若干张精彩帧图像,来获取到该段视频对应的精彩瞬间。

然而,采用上述方式来决策视频的精彩帧图像至少存在以下问题:实时性较差,也就是说,用户在录像结束后需要等待较长的时间,才能看到该段视频对应的若干张精彩帧图像,会使得用户的体验较差。

发明内容

本申请提供一种基于强化学习的选帧决策方法及装置,可以动态地、实时标记视频对应的精彩帧,提高视频中精彩帧标记的效率,优化用户的录像体验。

第一方面,本申请提供一种基于强化学习的选帧决策方法,可应用在电子设备或实现电子设备功能的组件(比如芯片系统),包括:在拍摄视频的过程中获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧。

基于本申请提供的方法,在拍摄预设视频的过程中,可以根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新预设视频对应的候选精彩帧。从而可以在视频拍摄过程中实现动态地、实时决策视频对应的精彩帧,提高决策视频对应的精彩帧的效率。并且预设的选帧决策模型可以根据电子设备缓存的当前视频帧(也即拍摄到的最后一个图像帧)以及若干张候选精彩帧来实时地进行标记,无需缓存更多的帧。或者预设的选帧决策模型还可以根据电子设备缓存的当前视频帧、当前视频帧的前x帧(例如,前2帧)以及若干张候选精彩帧在拍摄过程中实时地进行标记,其中,x为正整数。

由此可见,采用本申请实施例提供的在拍摄的同时实时确定候选精彩帧的方式,可以几乎不受电子设备缓存限制的影响,并可以保证输入数据完整性。

在第一方面的一种可能的实施方式中,N张图像帧包括视频中的图像帧。基于此,候选精彩帧可以包括预设视频中的图像帧,可以对拍摄到的最后一个图像帧执行以下操作:根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新预设视频对应的候选精彩帧。从而可以实现动态地、实时基于视频的每一帧的构图信息决策视频对应的精彩帧,提高决策视频对应的精彩帧的效率。并且由于预设的选帧决策模型可以根据电子设备缓存的当前视频帧以及若干张候选精彩帧来实时地进行标记。由此可见,采用本申请实施例提供的在拍摄的同时实时确定候选精彩帧的方式,可以几乎不受电子设备缓存限制的影响,并可以保证输入数据完整性。

在第一方面的另一种可能的实施方式中,在更新视频对应的候选精彩帧之后,方法还包括:在视频拍摄结束后,根据更新后的候选精彩帧对应的收益,更新预设的选帧决策模型的网络参数。

基于本申请提供的方法,在预设视频拍摄结束后,可以基于候选精彩帧对应的收益来更新预设的选帧决策模型的网络参数。从而可以基于客观因素,即决策出的候选精彩帧对应的收益,来更新预设的选帧决策模型的网络参数。进而提高了预设的选帧决策模型决策的可靠性。

在第一方面的另一种可能的实施方式中,根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧,包括:根据预设的选帧决策模型的预设策略,基于当前帧的构图信息、候选精彩帧的构图信息更新视频对应的候选精彩帧;其中,预设策略用于指示当前状态信息与预设动作之间的映射关系,当前状态信息包括当前帧的构图信息和候选精彩帧的构图信息,预设策略随着预设的选帧决策模型的网络参数的改变而改变。

基于本申请提供的方法,预设的选帧决策模型可以将基于预设视频的每一帧的构图信息决策得到的候选精彩帧,确定为视频对应的精彩帧。由此可见,本申请实施例中电子设备可以调用的预设的选帧决策模型的输入数据包括视频的每一帧数据,从而保证了输入数据的完整性,进而可以提高输出精彩帧的可靠性。

在第一方面的另一种可能的实施方式中,更新视频对应的候选精彩帧,包括以下预设动作中的任意一种:根据预设策略,将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变,其中,M为小于或者等于N的正整数。

基于本申请提供的方法,预测策略可以指示当前状态信息和以下任意一种动作的映射关系,即根据预设策略将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变。

在第一方面的另一种可能的实施方式中,构图信息包括以下信息中的一个或多个:清晰度、对比度、主体人物个数、非主体人物个数、主体人物的运动情况、非主体人物的运动情况、主体人物的人脸分数、非主体人物的人脸分数、对称性。

基于本申请提供的方法,可以基于当前帧的构图信息和候选精彩帧的构图信息更新预设视频对应的候选精彩帧。其中,构图信息可以包括以下信息中的一个或多个:清晰度、对比度、主体人物个数、非主体人物个数、主体人物的运动情况、非主体人物的运动情况、主体人物的人脸分数、非主体人物的人脸分数、对称性。从而可以实现动态地、实时基于视频的每一帧的构图信息决策视频对应的精彩帧,提高决策视频对应的精彩帧的效率。

在第一方面的另一种可能的实施方式中,候选精彩帧对应的收益可以基于以下表达式计算得到:

其中,A

相关技术中,通过某段代码的比较逻辑来选择若干张精彩的图片的方式存在以下问题:由于比较逻辑可能较单一,因而可能会选择出相似重复的精彩图片,从而造成选择结果的同质化。基于本申请实施例提供的方法,可以避免得到相似重复的精彩帧图像。

在第一方面的另一种可能的实施方式中,在拍摄视频之前,方法还包括:初始化预设的选帧决策模型的网络参数。

基于本申请实施例提供的方法,在训练预设的选帧决策模型的开始阶段可以初始化预设的选帧决策模型的网络参数,从而可以通过设置预设的选帧决策模型的网络参数对预设的选帧决策模型的性能进行调解,使得预设的选帧决策模型可以适应后续训练的处理流程,保证预设的选帧决策模型决策候选精彩帧的处理效果。

在第一方面的另一种可能的实施方式中,根据候选精彩帧对应的收益,更新预设的选帧决策模型的网络参数包括:将预设的选帧决策模型的网络参数与学习率乘以预设导数的和,作为更新后的预设的选帧决策模型的网络参数,其中,预设导数为收益对网络参数的导数。

基于本申请实施例提供的方法,由于决策逻辑不依赖于个人的审美偏好,因而预设的选帧决策模型决策结果相对客观。

在第一方面的另一种可能的实施方式中,在更新选帧决策模型的网络参数后,方法还包括:若更新预设的选帧决策模型的网络参数的次数大于预设次数,确定预设的选帧决策模型训练完成。

基于本申请实施例提供的方法,当预设的选帧决策模型的网络参数的迭代次数大于预设次数时,可以确定预设的选帧决策模型训练完成。从而可以得到基于收益数据,迭代过至少预设次数的预设的选帧决策模型。

在第一方面的另一种可能的实施方式中,在视频拍摄结束后,方法还包括:在第一界面上显示视频对应的候选精彩帧;或,响应于用户播放视频的操作,显示视频的播放界面,其中,播放界面包括一个或多个标记,标记与候选精彩帧相对应。

基于本申请实施例提供的方法,在预设视频拍摄结束后,可以显示预设视频对应的候选精彩帧,或者在预设视频的播放界面上显示与候选精彩帧相对应的标记。从而丰富了预设视频对应的候选精彩帧的展示方式。

在第一方面的另一种可能的实施方式中,响应于用户对一个或多个标记中第一标记的操作,跳转至第一标记处播放视频内容。

基于本申请实施例提供的方法,可以响应于用户选择第一标记的操作,而跳转至播放第一标记处的视频内容。从而可以呈现给用户与候选精彩帧相对应的标记出的帧图像。

在第一方面的另一种可能的实施方式中,响应于用户对一个或多个标记中第一标记的位置调整操作,对应改变第一标记的插入位置。

基于本申请实施例提供的方法,可以响应于用户对第一标记的位置的调整操作,从而改变预设视频中第一标记的插入位置,进而可以提高候选精彩帧相对应的标记的位置的灵活性。

在第一方面的另一种可能的实施方式中,响应于用户对一个或多个标记中第一标记的删除操作,删除第一标记。

基于本申请实施例提供的方法,可以响应于用户对第一标记的删除操作,从而删除掉与某个候选精彩帧相对应的第一标记,即可以基于用户的喜好调整预设视频对应的候选精彩帧。

第二方面,本申请提供一种电子设备,该电子设备包括:无线通信模块、存储器和一个或多个处理器。该无线通信模块、存储器与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当该计算机指令被处理器执行时,使得电子设备执行如第一方面及其任一种可能的实施方式的方法。

在第二方面的一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:在拍摄视频的过程中获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧。

在第二方面的一种可能的实施方式中,N张图像帧包括视频中的图像帧。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备执行如下步骤:根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新预设视频对应的候选精彩帧,包括:根据预设的选帧决策模型的预设策略,基于当前帧的构图信息、候选精彩帧的构图信息更新预设视频对应的候选精彩帧;其中,预设策略用于指示当前状态信息与预设动作之间的映射关系,当前状态信息包括当前帧的构图信息和候选精彩帧的构图信息,预设策略随着预设的选帧决策模型的网络参数的改变而改变。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:更新视频对应的候选精彩帧,包括以下预设动作中的任意一种:根据预设策略,将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变,其中,M为小于或者等于N的正整数。

在第二方面的另一种可能的实施方式中,构图信息包括以下信息中的一个或多个:清晰度、对比度、主体人物个数、非主体人物个数、主体人物的运动情况、非主体人物的运动情况、主体人物的人脸分数、非主体人物的人脸分数、对称性。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:在视频拍摄结束后,方法还包括:在第一界面上显示视频对应的候选精彩帧;或,响应于用户播放视频的操作,显示视频的播放界面,其中,播放界面包括一个或多个标记,标记与候选精彩帧相对应。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:响应于用户对一个或多个标记中第一标记的操作,跳转至第一标记处播放视频内容。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:响应于用户对一个或多个标记中第一标记的位置调整操作,对应改变第一标记的插入位置。

在第二方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得电子设备还执行如下步骤:响应于用户对一个或多个标记中第一标记的删除操作,删除第一标记。

第三方面,本申请提供一种服务器,该服务器包括:无线通信模块、存储器和一个或多个处理器。该无线通信模块、存储器与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当该计算机指令被处理器执行时,使得电子设备执行如第一方面及其任一种可能的实施方式的方法。

在第三方面的一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器执行如下步骤:在拍摄视频的过程中获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧。

在第三方面的一种可能的实施方式中,N张图像帧包括视频中的图像帧。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:在更新预设视频对应的候选精彩帧之后,方法还包括:在更新视频对应的候选精彩帧之后,方法还包括:在视频拍摄结束后,根据更新后的候选精彩帧对应的收益,更新预设的选帧决策模型的网络参数。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧,包括:根据预设的选帧决策模型的预设策略,基于当前帧的构图信息、候选精彩帧的构图信息更新视频对应的候选精彩帧;其中,预设策略用于指示当前状态信息与预设动作之间的映射关系,当前状态信息包括当前帧的构图信息和候选精彩帧的构图信息,预设策略随着预设的选帧决策模型的网络参数的改变而改变。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:更新视频对应的候选精彩帧,包括以下预设动作中的任意一种:根据预设策略,将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变,其中,M为小于或者等于N的正整数。

在第三方面的另一种可能的实施方式中,构图信息包括以下信息中的一个或多个:清晰度、对比度、主体人物个数、非主体人物个数、主体人物的运动情况、非主体人物的运动情况、主体人物的人脸分数、非主体人物的人脸分数、对称性。

在第三方面的另一种可能的实施方式中,候选精彩帧对应的收益可以基于以下表达式计算得到:

其中,A

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:在拍摄预设视频之前,方法还包括:初始化预设的选帧决策模型的网络参数。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:根据候选精彩帧对应的收益,更新预设的选帧决策模型的网络参数包括:将预设的选帧决策模型的网络参数与学习率乘以预设导数的和,作为更新后的预设的选帧决策模型的网络参数,其中,预设导数为收益对网络参数的导数。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:在更新选帧决策模型的网络参数后,方法还包括:若更新预设的选帧决策模型的网络参数的次数大于预设次数,确定预设的选帧决策模型训练完成。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:在第一界面上显示视频对应的候选精彩帧;或,响应于用户播放视频的操作,显示视频的播放界面,其中,播放界面包括一个或多个标记,标记与候选精彩帧相对应。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:响应于用户对一个或多个标记中第一标记的操作,跳转至第一标记处播放视频内容。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:响应于用户对一个或多个标记中第一标记的位置调整操作,对应改变第一标记的插入位置。

在第三方面的另一种可能的实施方式中,当上述计算机指令被处理器执行时,使得服务器还执行如下步骤:响应于用户对一个或多个标记中第一标记的删除操作,删除第一标记。

第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的实施方式的方法。

第五方面,本申请提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如第一方面及任一种可能的实施方式的方法。该计算机可以是上述电子设备。

第六方面,本申请提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器。接口电路和处理器通过线路互联。该芯片系统应用于包括通信模块和存储器的电子设备;接口电路用于从存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令。当处理器执行计算机指令时,电子设备执行如第一方面及任一种可能的实施方式的方法。

可以理解地,上述提供的第二方面及其任一种可能的实现方式的电子设备,第三方面及其任一种可能的实现方式的服务器,第四方面的计算机存储介质,第五方面的计算机程序产品,以及第六方面的芯片系统所能达到的有益效果,可参考第一方面及其任一种可能的实施方式中的有益效果,此处不再赘述。

附图说明

图1为本申请实施例提供的一种马尔可夫决策过程的示意图;

图2为本申请实施例提供的一种录像的场景示意图;

图3为本申请实施例提供的一种手机的显示示意图;

图4为本申请实施例提供的一种电子设备的硬件架构示意图;

图5为本申请实施例提供的一种软件架构示意图;

图6为本申请实施例提供的一种基于强化学习的选帧决策方法的流程示意图;

图7为本申请实施例提供的一种基于强化学习的选帧决策方法的交互图;

图8为本申请实施例提供的另一种手机的显示示意图;

图9为本申请实施例提供的另一种手机的显示示意图;

图10为本申请实施例提供的另一种手机的显示示意图;

图11为本申请实施例提供的一种基于强化学习的预设的选帧决策模型的训练原理示意图;

图12为本申请实施例提供的另一种基于强化学习的选帧决策方法的流程示意图;

图13为本申请实施例提供的一种基于强化学习的预设的选帧决策模型的训练过程的示意图;

图14为本申请实施例提供的另一种基于强化学习的选帧决策方法的流程示意图;

图15为本申请实施例提供的一种芯片系统的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样仅用于描述目的,并不对数量和执行次序进行限定,也不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。并且“第一”、“第二”等字样也并不限定一定不同。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”的含义是两个或两个以上。

在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。

发明相关术语:

强化学习(reinforcement learning,RL):又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境(environment)的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题,强化学习的常见模型是标准的马尔可夫决策过程。

马尔可夫决策过程(markov decision process,MDP):是序贯决策(sequentialdecision)的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报。如图1中所示,MDP是在环境中模拟智能体的随机性策略(policy)与回报的数学模型,且环境的状态具有马尔可夫性质。由定义可知,MDP包含一组交互对象,即智能体和环境,智能体与环境之间可进行交互。

其中,智能体可以指:MDP中进行机器学习的代理,可以感知外界环境的状态进行决策、对环境做出动作并通过环境的反馈调整决策。环境可以指:MDP模型中智能体外部所有事物的集合,其状态会受智能体动作的影响而改变,且上述改变可以完全或部分地被智能体感知。环境在每次决策后可以给智能体相应的反馈(也可称为收益)。在某个时刻t,智能体可以接收到来自环境的状态S

在一些实施例中,用户可以使用电子设备进行录像,以电子设备是手机为例,示例性地,如图2中所示,手机可以接收用户在相机应用或者第三方应用中触发录像的操作,响应于该操作,开始录制一段视频。如图3中的(a)所示,手机可以接收用户在相机应用中点击“录像”按钮301的操作,响应于该操作,手机可以开始录制一段视频。如图3中的(b)所示,手机还可以接收用户在相机应用中点击“停止”按钮302的操作,响应于该操作,手机可以结束录制该段视频。如图3中的(c)所示,手机可以显示视频应用的界面303,界面303可以包括该段视频。在视频结束后的一段时间内,如图3中的(d)所示,手机还可以显示相册应用的界面304,界面304中可以包括若干张与该段视频对应的精彩帧图像。

在一些实施例中,在录像结束后,手机可以随机选取该段视频中的若干帧图像,并通过某段代码的比较逻辑,选择若干张精彩的图片。然而,这种方式至少存在以下问题:

1)由于手机的缓存限制,手机难以将视频中较多数量的图片缓存下来,因而存在输入数据完整性差的问题。2)由于手机是对录制完成的视频进行处理,因而在录像结束后的一段时间内,手机才可以将决策出的若干张精彩的图片展示给用户。也即,在录像结束后,用户需等待较长的时间,降低了用户的录像体验。

由此可见,这种选取精彩图片的方式存在实时性差,输入数据完整性差的问题。

为了动态地、实时决策视频对应的精彩帧,提高决策视频对应的精彩帧的效率,在另一些实施例中,电子设备可以在录像的过程中,通过基于强化学习的预设的选帧决策模型来主动、动态地判断和决策录制视频对应的精彩帧。当视频录制结束时,电子设备可以在第一时间内将该段视频对应的精彩帧呈现给用户,例如,电子设备可以在应用程序(如相册应用)中展示该段视频对应的精彩帧图像。

需要说明的是,预设的选帧决策模型可以基于当前视频帧的构图信息(如清晰度、对比度、人脸角度等等)与候选精彩帧的构图信息,来实时地标记并更新候选精彩帧。其中,候选精彩帧中可以包括多张帧图像。可以理解,预设的选帧决策模型在标记时,可以根据电子设备缓存的当前视频帧(也即拍摄到的最后一个图像帧)以及若干张候选精彩帧来实时地进行标记。由此可见,采用本申请实施例提供的在拍摄的同时实时标记候选精彩帧的方式,可以几乎不受电子设备缓存限制的影响,并可以保证输入数据完整性。

当视频录制结束后,预设的选帧决策模型可以将基于视频的每一帧的构图信息决策得到的候选精彩帧,作为视频对应的精彩帧,以在应用程序(如相册应用)中呈现给用户。由此可见,本申请实施例中电子设备可以调用的预设的选帧决策模型的输入数据包括视频的每一帧数据,从而保证了输入数据的完整性,进而可以提高输出精彩帧的可靠性。

需要说明的是,精彩帧也可称为精彩帧图像或精彩图像帧等等,并且精彩帧以及精彩帧图像等仅为一种描述示例,本申请实施例对从某段视频中选取的若干张图片的名称(叫法)不作任何限定。例如,从某种视频中选取的若干张图片也可以被称作优秀帧图像、预设帧图像、关键帧等等。

本申请实施例提供的设备控制方法可以应用于电子设备。电子设备例如可以为手机(包括折叠屏手机和直板手机,本申请实施例不限定)、平板电脑、台式机(手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)虚拟现实(virtual reality,VR)设备等,本申请实施例对电子设备的具体形态和功能等不作特殊限制。

本申请实施例中以图4所示的第一设备是电子设备400(如手机)为例,对本申请实施例提供的第一设备的结构进行举例说明。如图4所示,电子设备400(如手机)可以包括:处理器410,外部存储器接口420,内部存储器421,通用串行总线(universal serial bus,USB)接口430,充电管理模块440,电源管理模块441,电池442,天线1,天线2,移动通信模块450,无线通信模块460,音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,传感器模块480,按键490,马达491,指示器492,摄像头493,显示屏494,以及用户标识模块(subscriber identification module,SIM)卡接口495等。

可以理解的是,本实施例示意的结构并不构成对电子设备400的具体限定。在另一些实施例中,电子设备400可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器410可以包括一个或多个处理单元,例如:处理器410可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

充电管理模块440用于从充电器接收充电输入。充电管理模块440为电池442充电的同时,还可以通过电源管理模块441为电子设备供电。

电源管理模块441用于连接电池442,充电管理模块440与处理器410。电源管理模块441接收电池442和/或充电管理模块440的输入,为处理器410,内部存储器421,外部存储器,显示屏494,摄像头493,和无线通信模块460等供电。在其他一些实施例中,电源管理模块441也可以设置于处理器410中。在另一些实施例中,电源管理模块441和充电管理模块440也可以设置于同一个器件中。

电子设备400的无线通信功能可以通过天线1,天线2,移动通信模块450,无线通信模块460,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。

移动通信模块450可以提供应用在电子设备400上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块450可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块450可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块450还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏494显示图像或视频。

无线通信模块460可以提供应用在电子设备400上的包括WLAN(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块460经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器410。无线通信模块460还可以从处理器410接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

电子设备400通过GPU,显示屏494,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏494和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器410可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏494用于显示图像,视频等。该显示屏494包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),发光二极管(light-emitting diode,LED),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。

在本申请实施例中,显示屏494上可以显示相机应用的界面、相册应用的界面以及视频应用的界面等等。其中,相机应用的界面上可以包括:文字“录像”、“录像”图标以及“停止”图标等等。

电子设备400可以通过ISP,摄像头493,视频编解码器,GPU,显示屏494以及应用处理器等实现拍摄功能。ISP用于处理摄像头493反馈的数据。摄像头493用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。视频编解码器用于对数字视频压缩或解压缩。电子设备400可以支持一种或多种视频编解码器。这样,电子设备400可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

摄像头493可以包括1~N个。每个摄像头包括感光元件(如电荷耦合元件(Charge-coupled Device,CCD)/互补金属氧化物半导体(Complementary Metal OxideSemiconductor,CMOS)),电子设备400可以通过感光元件(CCD/CMOS)进行感光,收集光子并转换成电荷。

例如,电子设备400可以包括2个前置摄像头和3个后置摄像头。其中,前置摄像头可以包括前置主摄像头和TOF摄像头。其中,TOF摄像头可以包括TX和RX,TX可以用于发射光信号(红外光或激光脉冲),RX可以用于接收成像。TX例如可以为红外光发射器。RX例如可以为互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)或者电荷耦合器件(charge coupled device,CCD)图像感应器。

可选地,前置摄像头还可以包括其他类型的摄像头,例如,还可以包括深度摄像头模组、黑白摄像头模组、微距摄像头模组等,本申请不做限定。可选的,本申请实施例中对摄像头所处位置不做任何限定,例如,多个前置摄像头的位置分布于电子设备400的多个位置。

其中,后置摄像头例如可以包括后置主摄像头、广角摄像头(也可以称为超广角摄像头)和远焦摄像头等。当然,后置摄像头还可以包括其他类型的摄像头,例如,还可以包括深度摄像头模组、黑白摄像头模组、微距摄像头模组等,本申请不做限定。其中,后置主摄像头可以为广角摄像头,后置主摄像头与超广角摄像头的视角可以不同。

外部存储器接口420可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备400的存储能力。外部存储卡通过外部存储器接口420与处理器410通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器421可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器410通过运行存储在内部存储器421的指令,从而执行电子设备400的各种功能应用以及数据处理。例如,在本申请实施例中,处理器410可以通过执行存储在内部存储器421中的指令,内部存储器421可以包括存储程序区和存储数据区。

电子设备400可以通过音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块470用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器470A可以用于将音频电信号转换为声音信号。受话器470B可以用于将音频电信号转换成声音信号。麦克风470C可以用于将声音信号转换为电信号。耳机接口470D用于连接有线耳机。

按键490包括开机键,音量键等。马达491可以产生振动提示。指示器492可以是指示灯,可以用于指示充电状态,电量变化等。SIM卡接口495用于连接SIM卡。

以下实施例中的方法均可以在具有上述硬件结构的电子设备400中实现。

上述电子设备400的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施例中,

其中,应用程序层可以包括一系列应用程序包。

如图5所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,无线局域网(wireless local area networks,WLAN),蓝牙,音乐,视频,短信息、锁屏应用、设置应用、相机应用、相册应用等应用程序。当然,应用程序层还可以包括其他应用程序包,例如支付应用,购物应用、银行应用、聊天应用或理财应用等,本申请不做限定。

其中,相机应用具有拍摄和录像的功能,响应于用户打开相机应用的操作,电子设备可以进行拍摄或录像。可以理解的是,相机应用的拍摄和录像功能也可以被其他应用调用。例如,锁屏应用可以调用相机应用的拍摄功能,根据拍摄得到的图像进行人像识别或人脸解锁。

应用程序包还可以包括其它需要使用摄像头的应用(也称为第三方应用)。某些情况下,第三方应用可以调用摄像头。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如可以包括活动管理器、窗口管理器,内容提供器,视图系统,资源管理器,通知管理器和相机服务(Camera Service)等,本申请实施例对此不做任何限制。

其中,Camera Service可以在电子设备开机阶段启动,可以用于传递和保存摄像头的相关信息。

视图系统可以包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成。例如,网络连接应用的显示界面,可以包括显示文字的视图以及显示图片的视图。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图像引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。

SGL是2D绘图的绘图引擎。

安卓运行时(Android Runtime)包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

HAL层是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层硬件的实现细节。

HAL层中可以包括Wi-Fi HAL,音频(audio)HAL和相机HAL等。

其中,相机HAL是摄像头(Camera)的核心软件框架。相机HAL中可以包括多种图像处理算法。例如,人脸识别算法、美肤算法、年龄识别算法、补光算法、瘦脸算法、亮眼算法、祛痘算法、去皱算法、滤镜算法、美妆算法、发型更换算法、马赛克算法、对比度算法、饱和度算法、锐化算法、背景虚化算法以及高动态范围图像算法等图像处理算法。

本申请实施例中,相机HAL中还可以包括基于强化学习的预设的选帧决策模型。预设的选帧决策模型可以用于实时决策摄像头录制的视频对应的精彩帧。需要解释的是,预设的选帧决策模型可以基于视频帧的构图信息,来实时地决策并更新视频对应的候选精彩帧。其中,候选精彩帧可以包括多张视频帧图像。

当视频录制结束后,预设的选帧决策模型可以将基于视频的每一帧的构图信息决策得到的候选精彩帧,作为视频对应的精彩帧,以在应用程序(如相册应用)中呈现给用户。

本申请实施例中,摄像头驱动可以包括后置主摄像头对应的驱动、广角摄像头对应的驱动、远焦摄像头对应的驱动和前置摄像头对应的驱动等。其中,前置摄像头对应的驱动可以包括前置主摄像头对应的驱动和TOF摄像头对应的驱动。

硬件层包括显示器、摄像头等。其中,摄像头可以包括后置主摄像头、广角摄像头、远焦摄像头和前置摄像头等。其中,前置摄像头可以包括前置主摄像头和TOF摄像头等。

需要说明的是,本申请实施例中提供的基于强化学习的预设的选帧决策方法的执行主体可以包括但不限于:手机、平板电脑、台式机、上网本、个人数字助理等设备。在本申请的一些实施例中,基于强化学习的选帧决策模型的训练过程可以在服务器(如台式机)上进行,而训练完成的选帧决策模型可以被部署到电子设备400(如手机)上,以供电子设备400在录像时调用。

下面先对训练完成的选帧决策模型在电子设备400上的应用过程进行说明。

在本申请实施例中,如图6中所示,训练完成的选帧决策模型在电子设备400上的应用过程所包含的步骤包括:

在拍摄视频(也可记为预设视频)的过程中,执行以下操作:

601、在拍摄视频的过程中电子设备获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;

602、电子设备根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧。

其中,N张图像帧可以包括所拍摄视频中的图像帧。

需要说明的是,N张图像帧可以全部为空白帧,或者N张图像帧可以包括空白帧和所拍摄视频中的图像帧,或者N张图像帧可以全部为所拍摄视频中的图像帧。

当前帧,可以指当前时刻拍摄的帧。还可以理解为本次拍摄过程中最新拍摄的帧。

为了便于理解,下面以电子设备400是手机为例,结合附图对本申请实施例提供的训练完成的选帧决策模型在电子设备400上的应用过程包括的具体流程进行说明。如图7所示,本申请实施例提供的基于强化学习的选帧决策方法可以包括以下步骤:

701、应用程序A响应于用户录制视频的操作,向相机服务发送视频录制请求。

在一些实施例中,应用程序A可以接收用户打开相机(也可称为相机应用)的操作。其中,应用程序A可以是相机应用或者第三方应用。在一些实施例中,打开相机的操作包括触发手机在前台运行相机应用的操作。例如,打开相机的操作是用户对图8中的(a)示出的主界面801中图标802的点击操作,图标802是相机应用的应用图标。

或者,打开相机的操作包括触发手机在前台运行第三方应用中使用摄像头的功能的操作。以第三方应用是即时通信应用为例,则使用摄像头的功能可以是录制短视频的功能。相应的,打开相机的操作可以是用户对即时通信应用中录制短视频的按钮的点击操作。

在另一些实施例中,打开相机的操作包括拍摄模式的切换操作。相机应用或者第三方应用中使用摄像头的功能中,可以提供多种拍摄模式,如拍照模式、录像模式、人像模式、夜景模式、专业模式等。相应的,打开相机的操作可以是从一种拍摄模式切换到另一种拍摄模式的操作。以相机应用为例,在启动相机应用后,手机可以显示图8中的(b)示出的拍照模式的取景界面803,打开相机的操作可以是用户对除录像模式之外的任一模式的选择操作,如对专业模式的选择操作。

应理解,在一次拍摄过程中,用户可以多次切换拍摄模式,每次拍摄模式的切换操作都可以视为一次打开相机的操作。

在另一些实施例中,打开相机的操作包括预设摄像头之间的切换操作。示例性的,预设摄像头之间的切换操作可以是前置摄像头和后置摄像头之间的切换操作。以相机应用为例,在启动相机应用后,手机可显示图8中的(b)示出的取景界面803,打开相机的操作可以是用户取景界面803中切换摄像头按钮804的点击操作。

应注意,预设摄像头之间的切换操作通常不包括多个后置摄像头之间的切换操作。例如,用户对图8中的(b)示出的取景界面803中变焦条805的滑动操作,可以触发手机在多个后置摄像头之间进行切换,则打开相机的操作不包括用户对图8中的(b)示出的取景界面803中变焦条805的滑动操作。也就是说,用户对取景界面中变焦条的滑动操作,不会触发开始执行本申请实施例的方案。

在应用程序接收到上述用户打开相机的操作后,应用程序可调用相机接口(如openCamera接口),以请求启动摄像头,即向相机服务发送启动摄像头的请求。其中,该启动摄像头的请求中携带有用于指示前后置类型、拍摄模式和/或变焦倍率的功能参数。从而可以明确指示底层启动一个或多个摄像头来满足相应功能的需求。

示例性的,假设打开相机应用后,手机显示图8中的(b)示出的取景界面803,且取景界面803中的图像是后置、且变焦倍率为1倍的摄像头采集的,拍摄模式为录像模式,则功能参数可以是{7,1x,0}。其中,7用于指示后置摄像头,1x用于指示1倍的变焦倍率,0用于指示拍摄模式为录像模式。

本申请实施例中,用户录制视频的操作可以包括但不限于点击图8中的(b)示出的取景界面703上的录像开始按钮。

702、相机服务向相机硬件抽象层发送视频录制请求。

在一些实施例中,相机服务接收来自应用程序A的视频录制请求之后,向相机硬件抽象层发送视频录制请求,以请求摄像头开始录制视频。

703、相机硬件抽象层向内核层发送视频录制请求。

在一些实施例中,相机硬件抽象层可接收来自相机服务的视频录制请求。

704、内核层响应于视频录制请求,调用摄像头拍摄视频。

其中,可以是内核层中的相机驱动来调用摄像头拍摄视频。

例如,视频录制请求中包括功能参数{7,1x,0},其中,7用于指示后置摄像头,1x用于指示1倍的变焦倍率,0用于指示拍照模式为录像模式,则内核层可调用1倍变焦倍率的后置摄像头拍摄视频。

705、摄像头采集视频的视频帧数据。

在一些实施例中,经内核层的调用,摄像头采集视频帧数据。

706、摄像头向内核层发送视频的视频帧数据。

707、内核层向相机硬件抽象层发送视频的视频帧数据。

708、相机硬件抽象层响应于接收到视频的视频帧数据,调用预设的选帧决策模型对视频帧数据进行处理,得到该视频中的精彩帧的数据(以下简称精彩帧数据)。

本申请实施例中,相机硬件抽象(HAL)层在获取视频帧数据的过程中,可以调用预设的选帧决策模型对接收到的视频帧数据进行实时处理,以决策出候选精彩帧。需要解释的是,相机硬件抽象层可以通过调用预设的选帧决策模型,以在视频录制的过程中持续地基于拍摄到的最后一个图像帧,来更新候选精彩帧数据。

在本申请的一些实施例中,在拍摄视频的过程中获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧;

其中,预设策略可以用于指示当前状态信息与预设动作之间的映射关系。可选的,当前状态信息包括当前帧的构图信息和候选精彩帧的构图信息。可选的,预设策略随着预设的选帧决策模型的网络参数的改变而改变。

在本申请的一些实施例中,更新视频对应的候选精彩帧,包括以下预设动作中的任意一种:根据预设策略,将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变,其中,M为小于或者等于N的正整数。

在本申请的一些实施例中,构图信息可以包括但不限于以下信息中的一个或多个特征的信息:清晰度、对比度、主体人物和/或非主体人物的人脸分数、主体人物个数、非主体人物个数、对称性、主体人物和/或非主体人物的运动情况、是否微笑、是否睁眼、是否是小孩、人脸角度。

其中,是否运动可以但不限于指某帧图像中主体人物和/或非主体人物是否处于运动状态;是否微笑可以但不限于指某帧图像中主体人物和/或非主体人物是否处于微笑状态;是否睁眼可以但不限于指某帧图像中主体人物和/或非主体人物是否处于睁眼状态;是否是小孩可以但不限于包括:某帧图像中主体人物和/或非主体人物是否是小孩。

特征“是否运动”的值、“是否微笑”的值以及“是否睁眼”的值可以包括但不限于为以下值中的任意一种:是、否。

其中,人脸分数对应的打分指标可以包括但不限于人脸是否端正、人脸是否居中、人脸与手机的摄像头之间的距离等等。特征“人脸分数”的值可以但不限于小于等于100。

其中,对称性可以但不限于指帧图像的左右对称度,作为一种示例,可以将帧图像进行左右镜像,并和镜像前的帧图像比较差异性。

其中,人脸角度可以包括但不限于主体人物的人脸角度和/或非主体人物的人脸角度。人脸角度可以包括但不限于偏航角(Yaw)、横滚角(Roll)、俯仰角(Pitch)。示例性地,人脸在x,y,z三维坐标系中的角度可以包括:人脸围绕x轴的旋转的角度,即俯仰角Pitch;围绕y轴的旋转的角度,即偏航角Yaw;围绕z轴的旋转的角度,即横滚角Roll。

其中,特征“对比度”的值可以但不限于大于或等于0,且小于或等于1。特征“清晰度”的值可以但不限于大于或等于0,且小于或等于100,示例性地,帧图像的清晰度越高,特征“清晰度”的值越大。

需要说明的是,候选精彩帧的某个特征信息可以根据某个前序感知算法来获得,例如,可以根据运动检测算法来判断帧图像中主体人物和/或非主体人物是否处于运动状态;可以根据人体检测算法确定帧图像中主体人物的数量和/或非主体人物的数量;可以根据人脸检测算法确定帧图像中某个或者某几个人脸的人脸分数;可以根据对比度检测算法确定帧图像的对比度;可以根据清晰度检测算法确定帧图像的清晰度。

需要解释的是,特征信息的数量可以根据前序感知算法的能力进行调整,候选精彩帧的特征信息可以包括但不限于帧图像的任意一种或多种特征信息,本申请实施例对此不作任何限定。

在本申请的一种具体实施方式中,假设当前帧为录制的视频的第20个帧,候选精彩帧包括视频的第1个帧、第5个帧、第10个帧和第19个帧。那么预设的选帧决策模型可以根据第20个帧的构图信息(如人脸等特征)以及候选精彩帧的构图信息来更新视频对应的候选精彩帧。示例性地,可以将候选精彩帧中的第1个帧(被标记为g1)替换为第20个帧。

类似地,假设候选精彩帧包括视频的第20个帧、第5个帧、第10个帧和第19个帧,在对视频的第21个帧进行处理时,候选精彩帧为第20(替换第1帧)、5、10、19。根据第21帧以及候选xx,更新候选xx。那么预设的选帧决策模型可以根据第21个帧的构图信息(如人脸等特征)以及候选精彩帧的构图信息来更新视频对应的候选精彩帧。

709、相机硬件抽象层向相机服务发送视频的视频帧数据及精彩帧数据。

应理解,响应于用户结束录制视频的操作,例如,点击图8中的(c)示出的取景界面806上的录像停止按钮807,内核层可以关闭摄像头。相机硬件抽象层可以将基于视频的每一帧的构图信息决策得到的候选精彩帧,作为视频对应的精彩帧,发送给相机服务。示例性地,相机硬件抽象层可以将视频的第20个帧、第5个帧、第10个帧和第19个帧,作为视频对应的精彩帧,发送给相机服务。

本申请实施例中,相机硬件抽象层可以将预设视频的视频帧数据及精彩帧数据发送给相机服务,以便应用程序显示。可选地,相机硬件抽象层还可以将视频帧数据发送给相机服务,关于此过程,可参见现有技术中的方式,在此不再赘述。

710、相机服务向应用程序B发送视频的视频帧数据及精彩帧数据。

711、应用程序B响应于接收到视频的视频帧数据及精彩帧数据,显示精彩帧图像以及预设视频。

本申请实施例中,在视频拍摄结束后,手机可以显示该视频对应的候选精彩帧。

可选的,应用程序B可以是一个或多个应用程序。

在本申请实施例中,手机可以在第一界面上显示视频对应的候选精彩帧;或,手机可以响应于用户播放视频的操作,显示视频的播放界面,其中,播放界面包括一个或多个标记,标记与候选精彩帧相对应。

以应用程序B是相册应用为例,相册应用在接收到视频的视频帧数据及精彩帧数据后,可以显示如图8中的(d)中示出的相册应用的界面808(即第一界面),界面808上可以包括精彩帧图像(如图像809)以及该视频的图标810。

以应用程序B包括相册应用以及视频应用为例,如图9中的(a)所示,相册应用在接收到精彩帧数据后,可以显示相册应用的界面901,界面901上可以包括精彩帧图像。如图9中的(b)所示,视频应用在接收到视频的视频帧数据后,可以显示视频应用的界面902,界面902上可以包括该视频的图标903。

示例性的,响应于用户点击如图9中的(b)所示视频的图标903,手机可以如图9中的(c)所示,显示该视频的播放界面904,其中该视频的播放界面904可以包括该视频的时长信息905(即20:12)、播放进度信息906(即播放到5:10)、标记甲907、标记乙908、标记丙909。

在本申请的一些实施例中,响应于用户对一个或多个标记中第一标记的操作,跳转至第一标记处播放视频内容。

示例性地,如图9中的(c)所示,响应于用户对标记丙909的点击操作,可以如图9中的(d)所示,跳转至标记丙909处播放视频内容。

在本申请的一些实施例中,响应于用户对一个或多个标记中第一标记的位置调整操作,对应改变第一标记的插入位置。示例性地,如图10中的(a)所示,响应于用户将第一标记1002从位置1003挪动到位置1004,如图10中的(b)所示,手机可以对应改变第一标记1002的插入位置,即将第一标记1002的插入位置更改到位置1004。

在本申请的一些实施例中,响应于用户对一个或多个标记中第一标记的删除操作,删除第一标记。示例性地,如图10中的(b)所示,手机可以响应于用户按压第一标记1002超过3秒,显示如图10中的(c)所示的弹窗1005,其中,弹窗1005可以包括文字“是否要删除该标记?”、按钮1006等等。响应于用户点击按钮1006,即“是”,手机可以删除第一标记1002。在第一标记1002被删除后,如图10中的(d)所示,界面1007上不包括第一标记1002。

需要说明的是,训练完成的选帧决策模型在服务器(如台式机)上的应用过程可以参照上述过程。

下面结合图11,以在服务器(如台式机)上训练预设的选帧决策模型为例,对本申请实施例提供的基于强化学习的预设的选帧决策模型的训练过程进行说明。

在相关技术的一些实施例中,在录像结束后,手机可以随机选取该段视频中的若干帧图像,并通过某段代码的比较逻辑,选择若干张精彩的图片。然而,这种方式至少存在以下问题:由于比较逻辑依赖于个人的审美偏好,因而决策结果不具备客观性。

为了能够随着录像的进行,基于视频的每一帧的构图信息实时进行决策视频的候选精彩帧,以保证输入信息的完整性,本申请实施例提供了一种基于强化学习的预设的选帧决策模型。如图11中所示,为基于强化学习的预设的选帧决策模型的训练原理,其描述了预设的选帧决策模型与环境交互的过程。本申请实施例中,策略(也可称为预设策略)可以包括但不限于指示:预设的选帧决策模型在候选精彩帧的状态(也可称为状态信息)是S时,所选择做出的预设动作。也即,策略可以包括但不限于指示:预设的选帧决策模型在感知到环境后,由候选精彩帧的某个状态到某个预设动作的映射关系。需要解释的是,还可以将策略理解为预设的选帧决策模型在候选精彩帧的某个状态下选择执行某一个预设动作的概率。

本申请实施例中,策略可以包括但不限于随机策略、确定策略等。若策略是随机策略,那么策略可以理解为预设的选帧决策模型根据每个预设动作的概率,推理得到预设动作。若策略是确定策略,那么策略可以理解为根据候选精彩帧的状态,推理得到预设动作。

如图11中所示,本申请实施例中,预设的选帧决策模型可以根据当前的候选精彩帧的状态做出决策,决定接下来采取的预设动作;环境可以根据预设的选帧决策模型执行的预设动作给予反馈(也可称为收益),并且由于该预设动作的产生,候选精彩帧的状态可以发生变化;预设的选帧决策模型在与环境不断的交互过程中可以产生大量候选精彩帧的状态数据、预设动作数据以及收益数据,以收益最大为导向,基于这些数据,预设的选帧决策模型可以做出更正确的决策,也就是学习出了策略。

本申请实施例中,候选精彩帧可以包括但不限于p帧图像,p为正整数。预设的选帧决策模型对应的基础模型可以包括但不限于能够起到分类作用的模型,例如,神经网络模型、决策树模型等等。

本申请实施例中,候选精彩帧的状态可以包括但不限于候选精彩帧的构图信息,关于构图信息的相关解释可参照上文。基于本申请实施例提供的方法,由于决策逻辑不依赖于个人的审美偏好,而是根据选帧决策模型的策略,而策略是根据每次迭代决策出的候选精彩帧的收益来调整的,因而决策结果相对客观。

以选帧决策模型为神经网络模型为例,在本申请的一些实施例中,如图12中所示,在拍摄视频的过程中,服务器可以执行以下操作:

1201、服务器在拍摄视频的过程中获取视频对应的候选精彩帧,其中,候选精彩帧包括N张图像帧,N为正整数;

1202、服务器根据预设的选帧决策模型,基于当前帧的构图信息和候选精彩帧的构图信息更新视频对应的候选精彩帧;

1203、在视频拍摄结束后,服务器根据更新后的候选精彩帧对应的收益,更新预设的选帧决策模型的网络参数。

其中,N张图像帧可以包括视频中的图像帧。

需要说明的是,N张图像帧可以全部为空白帧,或者N张图像帧可以包括空白帧和视频中的图像帧,或者N张图像帧可以全部为视频中的图像帧。在本申请的一些实施例中,服务器可以将若干个拍摄好的视频作为预设的选帧决策模型的训练样本。

在本申请的一些实施例中,可以根据选帧决策模型(比如神经网络模型),基于当前帧的构图信息和候选精彩帧的构图信息更新预设视频对应的候选精彩帧,包括:根据选帧决策模型(神经网络模型)的预设策略,基于当前帧的构图信息、候选精彩帧的构图信息更新预设视频对应的候选精彩帧。其中,预设策略可以用于指示当前状态信息与预设动作之间的映射关系,当前状态信息包括当前帧的构图信息和候选精彩帧的构图信息,预设策略可以随着神经网络模型的网络参数的改变而改变。

基于此,以候选精彩帧包括5帧图像,预设的选帧决策模型对应的基础模型为神经网络模型,选精彩帧的构图信息包括7个特征信息,预设策略是确定策略为例,在本申请的一些实施例中,如图13中所示,本申请实施例中,神经网络模型的训练过程可以包括但不限于:将当前帧的状态以及候选精彩帧的状态作为神经网络模型的输入,神经网络模型根据预设策略来执行预设动作,环境可以根据神经网络模型执行的动作(也可记为预设动作)给予反馈(也可称为收益),并且由于该动作的产生,候选精彩帧的状态可以发生变化;神经网络模型在与环境不断的交互过程中可以产生大量候选精彩帧的状态数据、预设动作数据以及收益数据,以收益最大为导向,基于这些数据,预设的神经网络模型可以做出更正确的决策,也就是学习出了预设策略。

需要说明的是,本申请实施例中的神经网络模型可以包括但不限于若干个全连接层,卷积神经网络等。神经网络模型的具体结构可以根据效果而定。示例性地,假设使用全连接层结构,即将输入状态矩阵转换为一维向量,送进全连接层网络,然后输出执行动作(或概率)。

本申请实施例中,神经网络模型的训练目标可以是寻找到最优的预设策略,以使得收益最大。在本申请的一种可能的实现方式中,若收益大于预设收益,那么可以判断神经网络训练完成。

本申请实施例中,以预设策略是确定策略为例,预设策略可以指示:如何根据候选精彩帧的状态以及当前帧的状态,来推理得到预设动作。其中,动作可以包括但不限于:放弃替换当前帧,将标识为预设标识的候选精彩帧替换为当前帧。

其中,候选精彩帧的状态1301可以包括但不限于候选精彩帧的构图信息,候选精彩帧的构图信息可以包括但不限于候选精彩帧的7个特征信息。以下以表的形式示出候选精彩帧的构图信息,示例性地,如表1所示:

表1

其中,当前帧的状态可以包括但不限于当前帧的构图信息,当前帧的构图信息可以包括但不限于当前帧的7个特征信息。以下以表的形式示出候选精彩帧的构图信息,示例性地,如表2所示:

表2

示例性的,当前帧的状态信息以及候选精彩帧的状态信息可以构成6乘7的矩阵,以作为神经网络模型的输入。

在本申请的一种可能的设计中,预设标识可以包括但不限于以下候选精彩帧的标识的任意一种:g1、g2、g3、g4、g5,预设动作可以包括但不限于以下6种动作中的任意一种:放弃替换当前帧,将标识为“g1”的候选精彩帧替换为当前帧,将标识为“g2”的候选精彩帧替换为当前帧,将标识为“g3”的候选精彩帧替换为当前帧,将标识为“g4”的候选精彩帧替换为当前帧,将标识为“g5”的候选精彩帧替换为当前帧。

在相关技术的一些实施例中,在录像结束后,手机可以随机选取该段视频中的若干帧图像,并通过某段代码的比较逻辑,选择若干张精彩的图片。然而,这种方式至少存在以下问题:由于比较逻辑可能较单一,因而可能会选择出相似重复的精彩图片,从而造成选择结果的同质化。

下面以候选精彩帧包括5帧图像,预设的选帧决策模型对应的基础模型为神经网络模型,候选精彩帧的构图信息包括7个特征信息,预设策略是确定策略为例,对神经网络模型的训练过程进行说明。如图14中所示,神经网络模型的训练流程可以包括以下步骤:

1401、初始化网络参数。

在本申请的一些实施例中,在拍摄视频之前,可以初始化神经网络模型的网络参数。初始化网络参数的方式可以包括但不限于:全零初始化,随机初始化,Xavier初始化。以初始化网络参数的方式是随机初始化为例,神经网络模型的初始网络参数可以为θ

1402、初始化视频首帧为当前帧,并将候选精彩帧的状态置0。

本申请实施例中,以候选精彩帧中的N张帧图像均为空白帧为例,示例性地,空白帧的状态可以被置0,。将候选精彩帧的状态置0可以包括但不限于:将候选精彩帧的构图信包括的7个特征信息的值置为0。假设候选精彩帧为第1帧图像-第5帧图像,以下以表的形式示出置0后候选精彩帧的构图信息,示例性地,如表3所示:

表3

1403、获取当前帧的构图信息。

本申请实施例中,当前帧的状态可以包括但不限于当前帧的构图信息,当前帧的构图信息可以包括但不限于当前帧的7个特征信息。以下以表的形式示出候选精彩帧的构图信息,示例性地,如表4所示:

表4

1404、根据当前帧和候选精彩帧的构图信息更新候选精彩帧的状态。

可以理解,候选精彩帧或者当前帧可以发生改变,可以根据目前当前帧和候选精彩帧的构图信息更新候选精彩帧的状态。

1405、将状态信息输入神经网络模型,得到推理结果。

在本申请实施例的一种具体的实现方式中,当前帧的状态信息以及候选精彩帧的状态信息可以构成6乘7的矩阵,以作为神经网络模型的输入。

1406、根据推理结果执行预设动作。

在本申请的一些实施例中,更新视频对应的候选精彩帧,包括以下预设动作中的任意一种:根据预设策略,将候选精彩帧包括的第M帧替换为当前帧或者保持候选精彩帧不变,其中,M为小于或者等于N的正整数。

在本申请实施例的一种具体的实现方式中,神经网络模型可以根据候选精彩帧的状态,推理得到推理结果,并根据推理结果执行预设动作。预设动作可以包括但不限于以下动作中的任意一种:放弃替换当前帧,将候选精彩帧包括的第i帧图像替换为当前帧,其中,i为小于6的正整数。

1407、更新候选精彩帧。

需要说明的是,若神经网络模型执行的预设动作为放弃替换当前帧,那么步骤1407为非必要执行的步骤。

1408、判断视频是否结束。

若判断结果为“否”,如1409、将视频下一帧作为当前帧,并可以跳转到步骤1403以继续执行相关步骤。

若判断结果为“是”,如步骤1410、根据候选精彩帧计算收益。

需要说明的是,本申请实施例中,可以通过反复训练迭代神经网络模型的网络参数,以使得决策过程中的收益大于预设收益。也就是说,神经网络模型的训练目标可以是寻找到最优的预设策略,以使得收益大于预设收益。其中,收益可以用于定义神经网络模型学习的目标。神经网络模型每一次和环境交互,环境可以将收益反馈给神经网络模型,以使得神经网络模型获取奖励或者惩罚。

本申请实施例中,每一轮迭代的收益,可以根据视频结束后候选精彩帧的情况得出。在本申请的一些实施例中,候选精彩帧对应的收益可以基于以下表达式计算得到:

其中,N可以为候选精彩帧所包括的帧的数量,A

作为一种示例,预设规则可以不限于基于图像领域相关经验设定,例如,预设规则可以指示但不限于:清晰度与帧图像得分呈正相关等等。两张帧图像的相似度的计算方法可以包括但不限于余弦相似度算法、哈希算法等等。

相关技术中,通过某段代码的比较逻辑来选择若干张精彩的图片的方式存在以下问题:由于比较逻辑可能较单一,因而可能会选择出相似重复的精彩图片,从而造成选择结果的同质化。

为了方便理解收益公式,可以举例进行说明,以候选精彩帧包括5张帧图像,即N=5,且每张精彩帧图像的得分均为1,即A

由此可见,即使5张帧图像中,每张帧图像得分都很高,若这5张帧图像都非常相似,他们的总收益也不会很高。也就是说,基于本申请实施例提供的方法,可以避免得到相似重复的精彩帧图像。

1411、根据收益更新网络参数。

在本申请的一些实施例中,根据候选精彩帧对应的收益,更新神经网络模型的网络参数的方式可以包括但不限于:

也就是说,可以将神经网络模型的网络参数与学习率乘以预设导数的和,作为更新后的神经网络模型的网络参数,其中,预设导数为收益对网络参数的导数。

也就是说,根据收益来更新神经网络模型的网络参数的方式可以包括但不限于:

可以理解,

1412、判断迭代次数是否大于预设次数。

本申请实施例中,若更新神经网络模型的网络参数的次数大于预设次数,则可以确定神经网络模型训练完成。

其中,预设次数可以包括但不限于10、20等等。

若判断结果为“否”,则可以跳转到步骤1402以继续执行相关步骤。

若判断结果为“是”,如步骤1413、神经网络模型训练完成,即得到训练完成的预设的选帧决策模型。

需要说明的是,在电子设备(如手机)上训练预设的选帧决策模型的方法可参照上述过程。

基于本申请实施例提供的方法,训练得到的预设的选帧决策模型不仅可以随着录像的进行,实施进行视频对应的精彩帧图像的决策,而且还可以尽量避免得到相似的重复精彩帧图像。也就是说,本申请提供的预设的选帧决策模型不仅提高决策视频对应的精彩帧图像的实时性,还可以提升选择出的精彩帧图像的多样性。

本申请一些实施例提供了一种电子设备,该电子设备可以包括:触摸屏、存储器和一个或多个处理器。该触摸屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图4所示的电子设备400的结构。

本申请实施例还提供一种芯片系统(例如,片上系统(system on a chip,SoC)),如图15所示,该芯片系统包括至少一个处理器1501和至少一个接口电路1502。处理器1501和接口电路1502可通过线路互联。例如,接口电路1502可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1502可用于向其它装置(例如处理器1501或者电子设备的触摸屏)发送信号。示例性的,接口电路1502可读取存储器中存储的指令,并将该指令发送给处理器1501。当所述指令被处理器1501执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。

通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种基于深度强化学习的信息聚合短波选频方法
  • 一种基于深度强化学习的车辆低速跟驰决策方法
  • 一种基于端到端的深度强化学习换道决策方法和装置
  • 一种基于强化学习的电网紧急辅助切负荷决策方法及装置
技术分类

06120116484290