CN113556600B - 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 - Google Patents
基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113556600B CN113556600B CN202110788537.9A CN202110788537A CN113556600B CN 113556600 B CN113556600 B CN 113556600B CN 202110788537 A CN202110788537 A CN 202110788537A CN 113556600 B CN113556600 B CN 113556600B
- Authority
- CN
- China
- Prior art keywords
- video frame
- driving
- key point
- training
- processed
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于时序信息的驱动控制方法、装置、电子设备和可读存储介质,通过获取包含目标对象的连续多帧视频帧,而该多帧视频帧中包含待处理视频帧和在时序上位于待处理视频帧之前的相邻视频帧,对各视频帧中的目标对象进行关键点提取得到多组关键点信息,再利用预先训练得到的驱动模型对多组关键点信息进行处理,输出待处理视频帧中目标对象对应的驱动信号,进而基于驱动信号对目标虚拟形象进行驱动控制。该方案中,结合待处理视频帧和相邻视频帧,得到待处理视频帧对应的驱动信号,利用连续视频帧在时序上的上下文信息,可降低驱动信号误差,可以有效缓解待处理视频帧存在缺失或抖动情况下驱动信号准确性低的问题。
Description
技术领域
本申请涉及直播技术领域,具体而言,涉及一种基于时序信息的驱动控制方法、装置、电子设备和可读存储介质。
背景技术
随着计算机视觉技术的快速发展,计算机视觉技术被广泛应用到各种领域。例如,在网络直播应用场景中,为了增加网络直播的趣味性,在直播界面上渲染虚拟形象的直播方式受到大众喜爱。在这种直播方式中,可以采集用户的视频图像,并利用计算机视觉技术对视频图像进行处理,从而得到可以用于驱动虚拟形象进行随动的驱动信号。
在现有方式中,往往是分别针对单帧视频图像进行处理以得到对应的驱动信号,这种方式由于独立地基于单帧视频图像得到驱动信号,在单帧视频图像存在缺失或抖动不稳时,将难以得到准确地驱动信号,造成随动效果不佳的问题。
发明内容
本申请的目的包括,例如,提供了一种基于时序信息的驱动控制方法、装置、电子设备和可读存储介质,其能够有效缓解存在缺失或抖动情况下驱动信号准确性低的问题。
本申请的实施例可以这样实现:
第一方面,本申请提供一种基于时序信息的驱动控制方法,所述方法包括:
获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧;
对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息;
利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号;
利用所述驱动信号对目标虚拟形象进行驱动控制。
在可选的实施方式中,所述关键点信息包括关键点的坐标和置信度;
所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型,在所述待处理视频帧中存在不可信关键点时,减小所述待处理视频帧的关键点坐标所占权重并增大各所述相邻视频帧的关键点坐标所占权重,所述不可信关键点为置信度低于预设值的关键点;
基于权重调整后的多组关键点信息,输出所述待处理视频帧中目标对象对应的驱动信号。
在可选的实施方式中,所述减小所述待处理视频帧的关键点坐标所占权重并增大各所述相邻视频帧的关键点坐标所占权重的步骤,包括:
确定各所述相邻视频帧中与所述不可信关键点对应的参考关键点;
减小所述不可信关键点的坐标所占的权重,并增大各所述参考关键点的坐标所占的权重。
在可选的实施方式中,所述驱动模型为预先利用训练样本对构建的网络模型进行训练得到;
所述训练样本包含不存在置信度低于预设值的关键点的正样本,以及存在置信度低于预设值的关键点的负样本,其中,所述负样本由对正样本中的关键点坐标进行随机扰动后获得。
在可选的实施方式中,所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型;
针对任一目标视频帧,获得所述目标视频帧的前一帧,并获取该前一帧的关键点信息对应的状态特征,其中,所述目标视频帧为任一相邻视频帧或待处理视频帧;
根据所述前一帧的状态特征和所述目标视频帧的关键点信息,得到所述目标视频帧的状态特征;
根据所述待处理视频帧的状态特征,输出所述待处理视频帧中目标对象对应的驱动信号。
在可选的实施方式中,所述多帧视频帧还包含在时序上位于所述待处理视频帧之后的相邻视频帧;
所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型;
对所述多组关键点信息进行处理,并在完成位于待处理视频帧之后的相邻视频帧的处理后,输出所述待处理视频帧中目标对象对应的驱动信号。
在可选的实施方式中,所述方法应用于直播提供端;
所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理的步骤包括:
获取所述直播提供端的设备性能信息;
根据所述设备性能信息从多个预先训练得到的驱动模型中确定与所述直播提供端适配的驱动模型;
利用所确定的驱动模型对所述多组关键点信息进行处理。
在可选的实施方式中,所述方法还包括预先训练得到驱动模型的步骤,该步骤包括:
构建第一网络模型和第二网络模型,其中,所述第一网络模型为计算量大于第一计算量的网络模型,所述第二网络模型为计算量小于第二计算量的网络模型,所述第一计算量大于所述第二计算量;
利用所述第一网络模型和第二网络模型分别对获取的各个训练样本进行处理,得到对应的输出结果;
调整所述第二网络模型的模型参数,以减小所述第二网络模型与所述第一网络模型的输出结果的差异后继续训练,直至满足预设要求时获得由所述第二网络模型优化得到的驱动模型。
在可选的实施方式中,所述方法还包括预先训练得到驱动模型的步骤,该步骤包括:
获取多个训练样本,各个训练样本包括连续的多帧训练视频帧,各个训练样本具有相应的真实驱动信号;
将各个训练样本导入构建的网络模型进行训练,得到相应的输出驱动信号;
对由所述真实驱动信号和所述输出驱动信号构建的时序损失函数进行最小化处理,并在多次迭代训练直至满足设定要求时,获得由所述网络模型优化得到的驱动模型。
在可选的实施方式中,所述真实驱动信号和所述输出驱动信号包括六维空间信息;
所述时序损失函数由所述多帧训练视频帧的真实驱动信号和输出驱动信号包含的六维空间信息、基于所述六维空间信息投影得到的2D关键点坐标信息、基于所述六维空间信息投影得到的3D关键点坐标信息中的任意一种或多种所构建。
第二方面,本申请提供一种基于时序信息的驱动控制装置,所述装置包括:
获取模块,用于获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧;
提取模块,用于对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息;
处理模块,用于利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号;
驱动模块,用于利用所述驱动信号对目标虚拟形象进行驱动控制。
第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
本申请实施例的有益效果包括,例如:
本申请提供一种基于时序信息的驱动控制方法、装置、电子设备和可读存储介质,通过获取包含目标对象的连续多帧视频帧,而该多帧视频帧中包含待处理视频帧和在时序上位于待处理视频帧之前的相邻视频帧,对各视频帧中的目标对象进行关键点提取得到多组关键点信息,再利用预先训练得到的驱动模型对多组关键点信息进行处理,输出待处理视频帧中目标对象对应的驱动信号,进而基于驱动信号对目标虚拟形象进行驱动控制。该方案中,结合待处理视频帧和相邻视频帧,得到待处理视频帧对应的驱动信号,利用连续视频帧在时序上的上下文信息,可降低驱动信号误差,可以有效缓解待处理视频帧存在缺失或抖动情况下驱动信号准确性低的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的基于时序信息的驱动控制方法的应用场景示意图;
图2为本申请实施例提供的基于时序信息的驱动控制方法的流程图;
图3为本申请实施例提供的流式视频帧的示意图;
图4为本申请实施例提供预先训练驱动模型的方法的流程图;
图5为本申请实施例提供的利用蒸馏损失方式训练驱动模型的示意图;
图6为本申请实施例提供预先训练驱动模型的方法的另一流程图;
图7为图2中步骤S230包含的子步骤的流程图之一;
图8为图2中步骤S230包含的子步骤的流程图之二;
图9为本申请实施例提供的LSTM网络模型的示意图;
图10为本申请实施例提供的全连接网络模型的示意图;
图11为图2中步骤S230包含的子步骤的流程图之三;
图12为图2中步骤S230包含的子步骤的流程图之四;
图13为本申请实施例提供的电子设备的结构框图;
图14为本申请实施例提供的基于时序信息的驱动控制装置的功能模块框图。
图标:100-直播提供端;110-存储介质;120-处理器;130-基于时序信息的驱动控制装置;131-获取模块;132-提取模块;133-处理模块;134-驱动模块;140-通信接口;200-直播服务器;300-直播接收端。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如图1所示,为本申请实施例提供的基于时序信息的驱动控制方法的应用场景示意图,该应用场景中可以包括直播提供端100、直播接收端300和与该直播提供端100和该直播接收端300分别通信连接的直播服务器200。
其中,所述直播提供端100可以为主播在直播时使用的终端设备(如手机、平板电脑、电脑等),所述直播接收端300可以为观众在观看直播时使用的终端设备(如手机、平板电脑、电脑等)。
本实施例中,在该场景中还可以包括用于采集主播的视频帧的视频采集设备,该视频采集设备可以是,但不限于摄像头、数码照相机的镜头、监控摄像头或网络摄像头等。
其中,视频采集设备可以直接安装或集成于直播提供端100。例如,视频采集设备可以是配置在直播提供端100上的摄像头,直播提供端100中的其他模块或组件可以经由内部总线接收从视频采集设备处发送的视频、图像等。或者,视频采集设备也可以独立于直播提供端100,两者之间通过有线或无线的方式进行通信。
直播提供端100可以将直播视频流发送至直播服务器200,观众可以通过直播接收端300访问直播服务器200以观看直播视频。
结合图2,本申请实施例还提供一种可应用于电子设备的基于时序信息的驱动控制方法,用于对直播视频中的虚拟形象进行驱动控制。其中,该电子设备可以是上述的直播提供端100,也可以是上述直播服务器200。所述基于时序信息的驱动控制方法有关的流程所定义的方法步骤可以由所述电子设备实现。下面将对图2所示的具体流程进行详细阐述。
步骤S210,获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧。
步骤S220,对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息。
步骤S230,利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号。
步骤S240,利用所述驱动信号对目标虚拟形象进行驱动控制。
在直播应用场景下,用户可以利用直播提供端100进行网络直播,其中,目标用户可以是如进行网络直播的主播。视频采集设备可以持续采集主播的直播视频流。采集到的直播视频流可以是一组顺序、大量、快速、连续的视频帧,也即流式视频数据。
本实施例中,在直播画面可渲染显示虚拟形象,虚拟形象可以是如萝莉形象、动物形象等。其中,目标虚拟形象可为与目标对象建立有关联关系的虚拟形象,也即,可以驱动控制目标虚拟形象跟随目标对象的肢体动作而做出相同的动作。
可选地,视频采集设备采集到的视频数据可以发送到直播提供端100进行分析处理,进而基于得到的驱动信号对目标虚拟形象进行控制。此外,视频采集设备采集到的视频数据也可发送到直播服务器200进行分析处理,直播服务器可以利用得到的驱动信号,控制相应直播间内的虚拟形象进行肢体运动。
本实施例中,在对视频数据进行分析处理时,可将视频数据进行分帧处理得到多帧视频帧。而需要获得某一帧视频帧所对应的驱动信号时,可以结合利用该视频帧的前面几帧视频帧的信息,以综合得到该帧视频帧的驱动信号。
详细地,对于待处理视频帧的处理,还可以获得待处理视频帧前面的相邻视频帧,可以是前面的一帧相邻视频帧,也可以是前面的几帧相邻视频帧,如图3中所示。
可以将各个视频帧导入到预先训练得到的关键点检测网络,得到目标对象的关键点信息,其中,关键点可以包括如针对手臂的关键点,如肩部关键点、手肘关键点、手腕关键点等。此外,还可以包括如针对腿部、躯干等的关键点。每一个视频帧可以得到相应的一组关键点信息,关键点信息可体现目标对象的肢体动作。
本实施例中,还预先训练得到驱动模型,可以将待处理视频帧、相邻视频帧的多组关键点信息导入到驱动模型进行处理。驱动模型可以结合相邻视频帧的关键点信息和待处理视频帧的关键点信息,综合得到待处理视频帧中目标对象对应的驱动信号。
最后,可根据驱动信号对目标虚拟形象进行驱动控制,其中,驱动信号可以是针对目标虚拟形象的对应关键点,如手肘关键点、肩部关键点等的控制信息。从而可以驱动虚拟形象的手臂、躯干、腿部等作出和目标对象一样的动作。
本实施例中,结合待处理视频帧和待处理视频帧前面的相邻视频帧的处理,综合多帧视频帧的时序信息从而得到待处理视频帧对应的驱动信号。通过结合视频信号的上下文信息,可以降低驱动信号误差,提高驱动信号的连贯性,可以有效缓解待处理视频帧存在缺失或抖动情况下驱动信号准确性低的问题。
本实施例中,可预先训练得到驱动模型,以下首先对驱动模型的获得过程进行介绍。
本实施例中的驱动模型可以是轻量化的LSTM(Long Short-Term Memory,长短期记忆)网络模型,或者是轻量化的全连接网络模型。所谓的轻量化可以是计算量低于一定计算量的模型。现有的用于进行视频帧处理的驱动模型往往占用的计算量较大,难以应用在如终端设备等处理性能较低的设备上。并且,在实时性上也存在缺陷,对于直播应用场景下,难以满足对虚拟形象进行实时驱动控制的需求。
本实施例中,采用轻量化的网络模型可以适用于各种消费级的终端设备,并且可以实现对虚拟形象的实时控制。
由于采用的是轻量化的网络模型,对网络结构进行简化后可能会一定程度的降低模型输出结果的准确性。为了避免模型输出结果的准确性的降低,本实施例中,采用了蒸馏损失的方式予以解决。请参阅图4,本实施例中,可以通过以下方式预先训练得到驱动模型。
步骤S110A,构建第一网络模型和第二网络模型。其中,所述第一网络模型为计算量大于第一计算量的网络模型,所述第二网络模型为计算量小于第二计算量的网络模型,所述第一计算量大于所述第二计算量。
步骤S120A,利用所述第一网络模型和第二网络模型分别对获取的各个训练样本进行处理,得到对应的输出结果。
步骤S130A,调整所述第二网络模型的模型参数,以减小所述第二网络模型与所述第一网络模型的输出结果的差异后继续训练,直至满足预设要求时获得由所述第二网络模型优化得到的驱动模型。
网络模型的计算量的单位为GFlops,一般性地,若无其他区别的情况下,计算量大的网络模型相比计算量小的网络模型的输出结果准确性更高。本实施例中,构建的第一网络模型即可为计算量较大的大模型,而本实施例中驱动模型优化之前的第二网络模型可为计算量较小的小模型。
预先还可采集多个训练样本,每个训练样本可分别导入到第一网络模型和第二网络模型中进行处理。第一网络模型和第二网络模型可分别输出同一训练样本的输出结果。在对第二网络模型进行优化之前,第一网络模型和第二网络模型由于网络结构上的差异,其对同一训练样本的输出结果应当是不相同的。
本实施例中对第二网络模型的训练的目的即为使第二网络模型的输出结果尽可能与第一网络模型的输出结果一致。请参阅图5,以第二网络模型和第一网络模型为LSTM模型为例,第一网络模型分别包括大LSTM层1、大LSTM层2以及大全连接层1,第二网络模型可包括LSTM层1、LSTM层2以及全连接层1。
各个训练样本分别包含连续的多帧视频帧,关键点信息可以是二维坐标信息,假设包含连续的四帧视频帧,每帧视频帧中具有7个关键点,则对于第二网络模型而言,LSTM层1的输入为56维的信息,其输出为256维特征信息。LSTM层2的输入为256维特征信息,输出为512维特征信息。对于第一网络模型而言,大LSTM层1的输入为56维的信息,其输出为1024维特征信息,大LSTM层2的输入为1024维特征信息,输出为512维特征信息。
本实施例中,第二网络模型还可包括全连接层2,但是为了统一第一网络模型和第二网络模型的输出,因此,在对第二网络模型的训练时,将全连接层1的输出作为模型输出结果,并与第一网络模型的大全连接层1的输出结果进行比对。
本实施例中,可构建基于第一网络模型和第二网络模型的输出结果的蒸馏损失函数,可如下式所示:
其中,N特征总维数,表示第二网络模型的输出结果,/>表示第一网络模型的输出结果。蒸馏损失函数可表征第一网络模型和第二网络模型的输出结果之间的二范式距离。
基于构建的蒸馏损失函数,对蒸馏损失函数进行最小化处理,并在迭代过程中调整第二网络模型的模型参数。在蒸馏损失函数达到收敛不再降低,或者是训练迭代次数达到设定的最大次数时,可以停止对第二网络模型的训练。
通过借助计算量较大的第一网络模型以对第二网络模型进行训练,可以使计算量较小的第二网络模型训练得到的驱动模型也可具有较高的准确率。而得到的轻量化的驱动模型可以适用于如直播终端等处理性能较低的终端设备,且可以满足直播应用场景下高实时性的要求。
本实施例中,分别利用上述采用蒸馏方式得到的驱动模型和并未采用蒸馏方式得到的驱动模型进行了比对,比对结果可如表1中所示。本实施例中,利用pa-mpjpe(Procrustes analysis-Mean Per Joint Position Error,对齐后平均每关节位置误差)作为比对指标,pa-mpjpe越小则表明结果误差越小。由表1中数据可知,采用蒸馏方式所得到的驱动模型的pa-mpjpe的数值更小,表明蒸馏方式下其结果误差更小。
表1
pa-mpjpe | |
不采用蒸馏方式 | 46.77 |
采用蒸馏方式 | 45.21 |
本实施例中,在对驱动模型的训练过程中,除了可以通过与计算量大的网络模型进行比对,以使输出结果尽可能达到大的网络模型的输出结果精度之外,驱动模型本身的训练可以基于训练样本的真实标签进行。请参阅图6,作为一种可能的实现方式,对于驱动模型的预先训练,还可包括以下步骤:
步骤S110B,获取多个训练样本,各个训练样本包括连续的多帧训练视频帧,各个训练样本具有相应的真实驱动信号。
步骤S120B,将各个训练样本导入构建的网络模型进行训练,得到相应的输出驱动信号。
步骤S130B,对由所述真实驱动信号和所述输出驱动信号构建的时序损失函数进行最小化处理,并在多次迭代训练直至满足设定要求时,获得由所述网络模型优化得到的驱动模型。
本实施例中,预先采集的各个训练样本中标记有真实驱动信号,例如,若训练样本包含四帧训练视频帧,如按时序前后排列的第一训练视频帧、第二训练视频帧、第三训练视频帧和第四训练视频帧。若第三训练视频帧为待识别的视频帧,则真实驱动信号即为待识别的视频帧中的用户的肢体动作所对应的驱动信号。
利用构建的网络模型对各个训练样本进行处理,网络模型可得到训练样本的输出驱动信号,即训练样本中作为待识别视频帧对应的输出驱动信号。
对于网络模型的训练的目的,即为使网络模型的输出尽可能与训练样本的真实标签一致。因此,可以构建由真实驱动信号和输出驱动信号构成的时序损失函数。可对时序损失函数进行最小化处理,并在训练过程中不断调整网络模型的模型参数,在达到设定要求时,可以得到由网络模型优化得到的驱动模型。其中,设定要求可以是如在时序损失函数达到收敛不再减小,或者是训练时长或训练次数达到设置的最大值等。
本实施例中,最终得到的输出驱动信号可以是六维空间信息,利用六维空间信息可以连续地表示驱动信号,且又可以避免维度太高造成的数据冗余太大的问题。相应地,各个训练视频帧的真实驱动信号也是六维空间信息。
传统方式中,由于往往是针对单帧视频帧进行处理,因此,构建的损失函数也是基于单帧视频帧的输出结果和真实结果所构建,难以结合其他视频帧的信息以构建得到综合性的损失函数。而本实施例中,所构建的时序损失函数不只考虑了待识别的视频帧,还结合了其他相邻视频帧的信息。
此外,最终输出的结果是六维空间信息,基于六维空间信息可以通过投影获得2D关键点坐标信息和3D关键点坐标信息。
因此,构建的时序损失函数可以由多帧训练视频帧的真实驱动信号和输出驱动信号包含的六维空间信息、基于六维空间信息投影得到的2D关键点坐标信息、基于六维空间信息投影得到的3D关键点坐标信息中的任意一种或多种所构建。
例如,单独基于六维空间信息构建得到的时序损失函数可如下式所示:
T表示训练视频帧的总帧数,N表示驱动信号中针对的关键点个数,PossG表示真实驱动信号的六维空间信息,PossP表示输出驱动信号的六维空间信息。
此外,单独基于六维空间信息投影得到的2D关键点坐标信息构建得到的时序损失函数可如下式所示:
N2D表示关键点的总个数,表示真实驱动信号的六维空间信息投影得到的2D关键点坐标信息,/>表示输出驱动信号的六维空间信息投影得到的2D关键点坐标信息。
此外,单独基于六维空间信息投影得到的3D关键点坐标信息构建得到的时序损失函数可如下式所示:
表示真实驱动信号的六维空间信息投影得到的3D关键点坐标信息,/>表示输出驱动信号的六维空间信息投影得到的3D关键点坐标信息。
本实施例中,可以单独基于上述任意一种时序损失函数进行驱动模型的训练,也可以利用其中任意两种或者是三种相结合进行训练。例如,在利用其中两种或三种时,可将不同的时序损失函数设置不同权重后叠加,以得到的综合的时序损失函数进行训练。
本实施例中,结合利用连续的多帧训练视频帧的时序损失函数进行模型训练,相比利用单帧视频帧构建的时序损失函数而言,优化得到的模型的对齐效果更佳。
此外,在六维空间信息的驱动信号的基础上,还考虑了可加入投影得到的2D关键点坐标信息和3D关键点坐标信息到损失函数中,可以进一步提升投影后的关键点对齐结果,后续能够提高目标虚拟形象和目标对象在动作上的对齐效果。
利用连续多帧训练视频帧,并综合其六维空间信息、2D关键点坐标信息和3D关键点坐标信息构建的时序损失函数,与利用单帧训练视频帧的六维空间信息构建的损失函数,分别对网络模型进行训练,最终分别得到的驱动模型的pa-mpjpe可如下表2所示。由表中数据可以看出,本实施例提供的时序损失函数相比单帧训练视频的损失函数进行训练相比,模型的pa-mpjpe更小,也即,关节位置误差更低。
表2
本实施例中,输入到网络模型的信息实质是各个训练视频帧的关键点信息,可预先利用构建的关键点检测模型识别得到训练视频帧的关键点信息。得到的关键点信息包含关键点的坐标和关键点的置信度。其中,关键点的置信度可表征关键点的准确性,例如,置信度越低则表明关键点的准确性越低,反之,置信度越高表明关键点的准确性越高。
由于训练视频帧中用户的部分位置可能被遮挡或者是抖动现象太严重,则得到的关键点信息可能并不完全准确。针对这种情形,为了使模型能够更多地利用相邻视频帧的信息,从而弥补待处理的视频帧中这种不准确的关键点的对结果的干扰,本实施例中,可在预先训练驱动模型时采用数据增强策略,以通过对这类不准确的关键点进行标记,从而使模型能够得到针对性地训练。
本实施例中,驱动模型为预先利用训练样本对构建的网络模型进行训练得到,在一种可能的实现方式中,训练样本包含不存在置信度低于预设值的关键点的正样本,以及存在置信度低于预设值的关键点的负样本。其中,负样本由对正样本中的关键点坐标进行随机扰动后获得。
本实施例中,为了使网络模型可以通过学习一些关键点不准确的样本,以针对这类样本采用更多利用其相邻视频帧中的信息得到输出结果的方式,从而可以避免不准确的关键点对于结果的干扰。
其中,在关键点置信度低于预设值时可以表征对应关键点是不准确的关键点。一般采集得到的训练样本中关键点均是准确的,为了构建负样本,可以对采集的部分正样本中的关键点坐标进行随机调整,从而变换成不准确的关键点。例如,可以对采集到的正样本中的30%的样本进行干扰,如随机选取样本中的几个关键点进行坐标调整。通过对部分正样本进行扰动产生负样本,一则可以解决实际场景中可能负样本数据量较少的问题,二则可以针对性地产生明确的负样本。
在将正样本和负样本输入网络模型时,可对各个关键点进行标记。例如,准确的(即置信度不低于预设值)的关键点标记为0,不准确的(置信度低于预设值)的关键点标记为1。本实施例中,在利用负样本对网络模型进行训练时,不改变网络的学习目标,如此,可以使网络模型可以在负样本中包含不准确的关键点的情况下,更多地利用其相邻视频帧的信息进行学习。可选地,网络模型可以通过各个关键点的标记信息来确定关键点是否准确。本实施例中,分别对各种情形下网络模型的训练结果进行了比对,具体地,可参见下表3所示。
表3
网络结构 | pa-mpjpe |
单帧网络 | 52.31 |
LSTM网络模型,使用数据增强策略 | 46.77 |
LSTM网络模型,不使用数据增强策略 | 48.65 |
全连接网络模型,使用数据增强策略 | 48.34 |
全连接网络模型,不使用数据增强策略 | 49.81 |
由表中数据可以看出,其中,利用单帧视频帧训练得到的网络模型,其得到的pa-mpjpe最大,表明其误差最大,效果最差。而利用多帧视频帧结合时序信息,并且通过对不准确地关键点进行标记的方式训练得到的网络模型,得到的pa-mpjpe最小,表明其误差最小,效果最好。
以上过程即为预先训练得到驱动模型的过程,在得到驱动模型后可以将驱动模型用于直播应用场景中,基于用户肢体动作实时驱动虚拟形象的控制中。
由上述可知,本实施例中,驱动模型可以是LSTM网络模型,也可以是全连接网络模型。其中,LSTM网络模型对时序信息的提取效果更好,因此整体性能结果更优。但是,LSTM网络模型的部署兼容性较差,难以应用到各种终端设备。全连接网络模型同样可以提取时序信息,但是提取的时序特征不如LSTM网络模型。但是全连接网络模型方便部署到各种终端设备。
因此,在预先训练得到多个不同的驱动模型的基础上,请参阅图7,作为一种可能的实现方式,上述步骤S230中利用驱动模型对关键点信息进行处理时,可以通过以下方式实现:
步骤S231A,获取所述直播提供端100的设备性能信息。
步骤S232A,根据所述设备性能信息从多个预先训练得到的驱动模型中确定与所述直播提供端100适配的驱动模型。
步骤S233A,利用所确定的驱动模型对所述多组关键点信息进行处理。
本实施例中,由于主播所使用的直播提供端100可能性能各异,因此,相应的最优适配的驱动模型也并不相同。为了使得驱动模型能够在终端设备上正常运行、达到更好的效果,以让用户可以无感知地使用更适合的模型,本实施例中,可以基于设备性能信息确定适配的驱动模型,并利用适配的驱动模型基于关键点信息进行处理。
可选地,设备性能信息可包括显卡、CPU等信息,例如,若终端设备具有Nvidia1050以上的显卡,或者是CPU为AMD锐龙5 3600或英特尔i7-8700的终端设备,则可以确定性能更优的LSTM网络模型为适配的模型,除此之外的其他终端设备可确定全连接网络模型为适配的模型。
需要说明的是,上述对于终端设备的设备性能信息和适配规则仅为举例说明,实施时可根据实际需求进行相应设置,本申请并不限定于此。
本实施例中,在获得连续多帧视频帧的关键点信息后,驱动模型可以提取其时序信息进行处理,请参阅图8,在一种可能的实现方式中,在上述步骤S230中利用驱动模型对关键点信息进行处理时,可以通过以下方式实现:
步骤S231B,将所述多组关键点信息导入预先训练得到的驱动模型。
步骤S232B,针对任一目标视频帧,获得所述目标视频帧的前一帧,并获取该前一帧的关键点信息对应的状态特征,其中,所述目标视频帧为任一相邻视频帧或待处理视频帧。
步骤S233B,根据所述前一帧的状态特征和所述目标视频帧的关键点信息,得到所述目标视频帧的状态特征。
步骤S234B,根据所述待处理视频帧的状态特征,输出所述待处理视频帧中目标对象对应的驱动信号。
驱动模型可为LSTM模型和全连接模型,结合图9所示,以驱动模型为LSTM网络模型为例进行说明。其中,LSTM模型包括多层网络层,例如包括第一LSTM层、第二LSTM层、第一全连接层和第二全连接层。获得的连续多帧视频帧包括时序上依次排列的视频帧t-2、视频帧t-1、视频帧t和视频帧t+1。其中,视频帧t可为待处理视频帧。首先可以利用关键点识别模型对各个视频帧进行关键点提取,得到4组关键点信息。
将得到4组关键点信息导入到LSTM模型中,分别利用第一LSTM层、第二LSTM层、第一全连接层和第二全连接层对各组关键点信息进行处理。LSTM模型的各个网络层在进行处理时,例如,针对任一目标视频帧(任意相邻视频帧或待处理视频帧),网络层的输入为目标视频帧的前一帧的状态特征、目标视频帧的关键点信息,输出为目标视频帧的状态特征。也即,每一个视频帧的处理需结合其前一帧的中间状态进行,利用了前一帧的信息。如此,可以结合多帧视频帧的上下文信息得到输出结果,提高结果的连贯性。
详细地,第一LSTM层的输入为56维信息(4帧*7个关键点*二维坐标信息)、输出为256维特征。第二LSTM层的输入为256维特征、输出为512维特征。每个LSTM层的输出为两组多维特征向量,该两组特征向量分别表征LSTM网络的记忆门和遗忘门特征,从而使其具有长期的记忆能力。
实施时,对于除第一帧之外的其他视频帧,在进行处理时,其输入均具有前一帧的状态特征,而第一帧视频帧由于不具有前一帧,则输入的状态特征为0。
第二LSTM层输出的512维的状态特征带有时序信息,并将其输入到第一全连接层中。全连接层的核心操作是矩阵向量乘积,可以通过对全连接层进行训练,以不断调整网络层中矩阵参数的设置,从而使得到的乘积结果不断接近真实的驱动信息。全连接层的输入和输出都是向量,其保存的参数是网络层矩阵,实际操作可以简化为利用网络层的矩阵乘以输入的向量,得到输出结果。
其中,第一全连接层的输出为512维抽象特征数据,将得到的抽象特征数据输入到第二全连接层,最终输出144维的驱动信号。最终输出的驱动信号为六维空间信息,例如得到的驱动信号是针对虚拟形象的24个关节点,则驱动信号为24*6的信号。
其中,第二全连接层包括三层结构,该三层结构的输入输出分别是,第一层结构的输入为512维抽象特征数据、输出为512维特征信息,第二结构的输入为512维特征信息、输出为256维特征信息,第三层结构的输入为256维特征信息、输出为144维的驱动信号。
本实施例中,针对任一视频帧均按以上处理方式进行处理,则针对待处理视频帧,第二LSTM层可以输出待处理视频帧的状态特征。基于待处理视频帧的状态特征,再通过第一全连接层、第二全连接层的处理后,可以输出待处理视频帧中目标对象对应的驱动信号。
此外,在利用全连接模型对多帧视频帧进行处理时,请结合参阅图10,全连接模型可包括三层全连接层,全连接模型可将输入的多组关键点信息按时序进行拼接,即输入为56维信息。三层全连接层的输入和输出分别为,输入56维输出256维、输入256维输出256维、输入256维输出144维。最终得到的是144维的六维空间信息的驱动信号。
需要说明的是,全连接模型的处理原理与LSTM模型类似,因此,具体处理过程可参见上述对LSTM模型的处理过程的描述,本实施例在此不作赘述。
本实施例中,将单帧视频帧的处理情况、基于时序信息的LSTM模型的处理情况和基于时序信息的全连接模型的处理情况进行了比对,具体可参见表4中所示。由表4可见,虽然基于时序信息的LSTM模型和全连接模型的耗时相比单帧视频而言有所增加,但是还是在可满足实时需求的范围内,并且,LSTM模型和全连接层模型的输出结果在预测精度上相比单帧视频帧而言,得到了较大幅度的提升。
表4
单帧模型 | 基于全连接的时序模型 | 基于LSTM的时序模型 | |
pa-mpjpe | 53.23 | 48.34 | 46.77 |
平均一帧消耗时间 | 12.3ms | 13.5ms | 14.8ms |
常见的驱动信号包括四元数(4维)、轴角(3维)、旋转矩阵(9维)。本实施例中,对于虚拟形象关节的驱动需要利用三维空间的旋转角度。在表示三维空间的转角中,至少要5维的向量才可以连续的表示驱动信号。因此,本实施例中选择了六维空间信息进行驱动控制。是因为六维空间信息和四元数转换更方便(而四元数利于在实际场景中传输到渲染引擎进行虚拟形象驱动),且实际网络性能更好。并且,由于维度越高的表示方法数据冗余性越高,会导致模型训练不稳定,因此,本实施例中并未采用更高维,如9维信息进行驱动。
本实施例中,在直播应用场景下,实时性是一个重要指标,但是若能在观众无感知的前提下,提高驱动控制的流畅性,则将对进一步提升用户的观感体验。基于此考虑,请参阅图11,在本实施例中,在上述步骤S230中基于驱动模型输出驱动信号时,可以通过以下方式实现:
步骤S231C,将所述多组关键点信息导入预先训练得到的驱动模型。
步骤S232C,对所述多组关键点信息进行处理,并在完成位于待处理视频帧之后的相邻视频帧的处理后,输出所述待处理视频帧中目标对象对应的驱动信号。
本实施例中,在需要获得待处理视频帧对应的驱动信号时,可以将在时序上位于待处理视频帧之前的多帧相邻视频帧以及位于待处理视频帧之后的相邻视频帧,同待处理视频帧一起导入预先训练得到的驱动模型。
驱动模型可对导入的多帧视频帧进行依次处理,本实施例中,为了提高最终输出结果的流畅性,因此,在得到待处理视频帧的驱动信号时,并不立即将驱动信号输出以对虚拟形象进行驱动,而是在位于其后的相邻视频帧完成处理之后,再输出待处理视频帧的驱动信号。如此,采用延迟一段时间输出的方式,可以有效地提高各帧输出结果之间流畅性。
为了避免用户对于延迟有所感知,因此,位于待处理视频帧之后的相邻视频帧可为一帧,也即可延迟一帧进行输出。例如,如图9中所示,输入驱动模型的多帧视频帧可为视频帧t-2、视频帧t-1、视频帧t和视频帧t+1。其中,视频帧t为待处理视频帧,视频帧t-2和视频帧t-1为位于待处理视频帧之前的相邻视频帧,视频帧t+1为位于待处理视频帧之后的相邻视频帧。在完成对视频帧t+1的处理之后,可以输出待处理视频帧t的驱动信号,以驱动虚拟形象。
如此,在保障用户对于延迟无感知的情况下,可提高驱动控制的流畅性。
由上述可知,在预先训练驱动模型时可以对正样本和负样本进行标记,以使模型针对负样本可以利用更多的前后帧的信息进行学习。相应地,在使用驱动模型进行视频帧的实时处理时,对于视频帧中不准确的关键点可以更多的利用其相邻视频帧进行处理,从而避免不准确的关键点对结果造成的影响。基于此,请参阅图12,在一种可能的实现方式中,上述步骤S230中在利用驱动模型对关键点信息进行处理时,可以通过以下方式实现:
步骤S231D,将所述多组关键点信息导入预先训练得到的驱动模型,在所述待处理视频帧中存在不可信关键点时,减小所述待处理视频帧的关键点坐标所占权重并增大各所述相邻视频帧的关键点坐标所占权重。所述不可信关键点为置信度低于预设值的关键点。
步骤S232D,基于权重调整后的多组关键点信息,输出所述待处理视频帧中目标对象对应的驱动信号。
本实施例中,先利用关键点检测模型对各帧视频帧进行关键点检测,得到的关键点信息中包含关键点的坐标和置信度。其中,置信度低于预设值的关键点为不可信关键点,例如可能是被遮挡的关键点、由于抖动严重难以准确确定的关键点等。
相邻视频帧的关键点信息和待处理视频帧的关键点信息导入到驱动模型后,驱动模型基于关键点信息中的关键点置信度可确定出其中的不可信关键点。在待处理视频帧中包含不可信关键点时,则模型可以减小待处理视频帧中关键点坐标所占权重,并增大相邻视频帧的关键点所占权重。
从而,驱动模型可以更多的利用相邻视频帧中关键点的信息以得到驱动信号,避免由于待处理视频帧中存在的不可信关键点对结果造成的影响。
由于各个视频帧中包含有多个关键点,其中,可能仅是部分关键点不可靠。例如,待处理视频帧中包含7个关键点,其中,有2个关键点为不可信关键点。若是将待处理视频帧中所有关键点坐标均降低权重值,则其余的并非不可信关键点的部分将受到影响。
基于此考虑,本实施例中,在待处理视频帧中存在不可信关键点时,可确定各相邻视频帧中与不可信关键点对应的参考关键点,减小不可信关键点的坐标所占的权重,并增大参考关键点的坐标所占的权重。
如此,仅针对与不可信关键点以及与其对应的关键点进行权重值的调整,避免对其他的准确的关键点的无谓的干扰,进一步提高得到的输出结果的精准性。
请参阅图13,为本申请实施例提供的电子设备的示例性组件示意图,该电子设备可为图1中所示的直播提供端100或直播服务器200,电子设备可包括存储介质110、处理器120、基于时序信息的驱动控制装置130、通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
基于时序信息的驱动控制装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述基于时序信息的驱动控制方法的软件功能模块。
如图14所示,上述基于时序信息的驱动控制装置130可以包括获取模块131、提取模块132、处理模块133和驱动模块134,下面分别对该基于时序信息的驱动控制装置130的各个功能模块的功能进行详细阐述。
获取模块131,用于获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧;
可以理解,该获取模块131可以用于执行上述步骤S210,关于该获取模块131的详细实现方式可以参照上述对步骤S210有关的内容。
提取模块132,用于对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息;
可以理解,该提取模块132可以用于执行上述步骤S220,关于该提取模块132的详细实现方式可以参照上述对步骤S220有关的内容。
处理模块133,用于利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号;
可以理解,该处理模块133可以用于执行上述步骤S230,关于该处理模块133的详细实现方式可以参照上述对步骤S230有关的内容。
驱动模块134,用于利用所述驱动信号对目标虚拟形象进行驱动控制。
可以理解,该驱动模块134可以用于执行上述步骤S240,关于该驱动模块134的详细实现方式可以参照上述对步骤S240有关的内容。
在一种可能的实现方式中,所述关键点信息包括关键点的坐标和置信度,所述处理模块133具体可以用于:
将所述多组关键点信息导入预先训练得到的驱动模型,在所述待处理视频帧中存在不可信关键点时,减小所述待处理视频帧的关键点坐标所占权重并增大各所述相邻视频帧的关键点坐标所占权重,所述不可信关键点为置信度低于预设值的关键点;
基于权重调整后的多组关键点信息,输出所述待处理视频帧中目标对象对应的驱动信号。
在一种可能的实现方式中,处理模块133具体可以用于通过以下方式确定调整权重:
确定各所述相邻视频帧中与所述不可信关键点对应的参考关键点;
减小所述不可信关键点的坐标所占的权重,并增大各所述参考关键点的坐标所占的权重。
在一种可能的实现方式中,所述驱动模型为预先利用训练样本对构建的网络模型进行训练得到;
所述训练样本包含不存在置信度低于预设值的关键点的正样本,以及存在置信度低于预设值的关键点的负样本,其中,所述负样本由对正样本中的关键点坐标进行随机扰动后获得。
在一种可能的实现方式中,所述处理模块133具体可以用于:
将所述多组关键点信息导入预先训练得到的驱动模型;
针对任一目标视频帧,获得所述目标视频帧的前一帧,并获取该前一帧的关键点信息对应的状态特征,其中,所述目标视频帧为任一相邻视频帧或待处理视频帧;
根据所述前一帧的状态特征和所述目标视频帧的关键点信息,得到所述目标视频帧的状态特征;
根据所述待处理视频帧的状态特征,输出所述待处理视频帧中目标对象对应的驱动信号。
在一种可能的实现方式中,所述多帧视频帧还包含在时序上位于所述待处理视频帧之后的相邻视频帧;所述处理模块133具体可以用于:
将所述多组关键点信息导入预先训练得到的驱动模型;
对所述多组关键点信息进行处理,并在完成位于待处理视频帧之后的相邻视频帧的处理后,输出所述待处理视频帧中目标对象对应的驱动信号。
在一种可能的实现方式中,所述处理模块133具体可以用于:
获取所述直播提供端100的设备性能信息;
根据所述设备性能信息从多个预先训练得到的驱动模型中确定与所述直播提供端100适配的驱动模型;
利用所确定的驱动模型对所述多组关键点信息进行处理。
在一种可能的实现方式中,所述基于时序信息的驱动控制装置130还包括训练模块,该训练模块可以用于:
构建第一网络模型和第二网络模型,其中,所述第一网络模型为计算量大于第一计算量的网络模型,所述第二网络模型为计算量小于第二计算量的网络模型,所述第一计算量大于所述第二计算量;
利用所述第一网络模型和第二网络模型分别对获取的各个训练样本进行处理,得到对应的输出结果;
调整所述第二网络模型的模型参数,以减小所述第二网络模型与所述第一网络模型的输出结果的差异后继续训练,直至满足预设要求时获得由所述第二网络模型优化得到的驱动模型。
在一种可能的实现方式中,训练模块还可以用于:
获取多个训练样本,各个训练样本包括连续的多帧训练视频帧,各个训练样本具有相应的真实驱动信号;
将各个训练样本导入构建的网络模型进行训练,得到相应的输出驱动信号;
对由所述真实驱动信号和所述输出驱动信号构建的时序损失函数进行最小化处理,并在多次迭代训练直至满足设定要求时,获得由所述网络模型优化得到的驱动模型。
在一种可能的实现方式中,所述真实驱动信号和所述输出驱动信号包括六维空间信息;
所述时序损失函数由所述多帧训练视频帧的真实驱动信号和输出驱动信号包含的六维空间信息、基于所述六维空间信息投影得到的2D关键点坐标信息、基于所述六维空间信息投影得到的3D关键点坐标信息中的任意一种或多种所构建。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
进一步地,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的基于时序信息的驱动控制方法。
具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述基于时序信息的驱动控制方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
综上所述,本申请提供一种基于时序信息的驱动控制方法、装置、电子设备和可读存储介质,通过获取包含目标对象的连续多帧视频帧,而该多帧视频帧中包含待处理视频帧和在时序上位于待处理视频帧之前的相邻视频帧,对各视频帧中的目标对象进行关键点提取得到多组关键点信息,再利用预先训练得到的驱动模型对多组关键点信息进行处理,输出待处理视频帧中目标对象对应的驱动信号,进而基于驱动信号对目标虚拟形象进行驱动控制。该方案中,结合待处理视频帧和相邻视频帧,得到待处理视频帧对应的驱动信号,利用连续视频帧在时序上的上下文信息,可降低驱动信号误差,可以有效缓解待处理视频帧存在缺失或抖动情况下驱动信号准确性低的问题。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种基于时序信息的驱动控制方法,其特征在于,所述方法包括:
获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧;
对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息;所述关键点信息包括关键点的坐标和置信度;利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号;
利用所述驱动信号对目标虚拟形象进行驱动控制;
其中,所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型,在所述待处理视频帧中存在不可信关键点时,确定各所述相邻视频帧中与所述不可信关键点对应的参考关键点;所述不可信关键点为置信度低于预设值的关键点;
减小所述不可信关键点的坐标所占的权重,并增大各所述参考关键点的坐标所占的权重
基于权重调整后的多组关键点信息,输出所述待处理视频帧中目标对象对应的驱动信号。
2.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于,所述驱动模型为预先利用训练样本对构建的网络模型进行训练得到;
所述训练样本包含不存在置信度低于预设值的关键点的正样本,以及存在置信度低于预设值的关键点的负样本,其中,所述负样本由对正样本中的关键点坐标进行随机扰动后获得。
3.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于, 所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型;
针对任一目标视频帧,获得所述目标视频帧的前一帧,并获取该前一帧的关键点信息对应的状态特征,其中,所述目标视频帧为任一相邻视频帧或待处理视频帧;
根据所述前一帧的状态特征和所述目标视频帧的关键点信息,得到所述目标视频帧的状态特征;
根据所述待处理视频帧的状态特征,输出所述待处理视频帧中目标对象对应的驱动信号。
4.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于,所述多帧视频帧还包含在时序上位于所述待处理视频帧之后的相邻视频帧;
所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号的步骤,包括:
将所述多组关键点信息导入预先训练得到的驱动模型;
对所述多组关键点信息进行处理,并在完成位于待处理视频帧之后的相邻视频帧的处理后,输出所述待处理视频帧中目标对象对应的驱动信号。
5.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于,所述方法应用于直播提供端;
所述利用预先训练得到的驱动模型对所述多组关键点信息进行处理的步骤包括:
获取所述直播提供端的设备性能信息;
根据所述设备性能信息从多个预先训练得到的驱动模型中确定与所述直播提供端适配的驱动模型;
利用所确定的驱动模型对所述多组关键点信息进行处理。
6.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于,所述方法还包括预先训练得到驱动模型的步骤,该步骤包括:
构建第一网络模型和第二网络模型,其中,所述第一网络模型为计算量大于第一计算量的网络模型,所述第二网络模型为计算量小于第二计算量的网络模型,所述第一计算量大于所述第二计算量;
利用所述第一网络模型和第二网络模型分别对获取的各个训练样本进行处理,得到对应的输出结果;
调整所述第二网络模型的模型参数,以减小所述第二网络模型与所述第一网络模型的输出结果的差异后继续训练,直至满足预设要求时获得由所述第二网络模型优化得到的驱动模型。
7.根据权利要求1所述的基于时序信息的驱动控制方法,其特征在于,所述方法还包括预先训练得到驱动模型的步骤,该步骤包括:
获取多个训练样本,各个训练样本包括连续的多帧训练视频帧,各个训练样本具有相应的真实驱动信号;
将各个训练样本导入构建的网络模型进行训练,得到相应的输出驱动信号;
对由所述真实驱动信号和所述输出驱动信号构建的时序损失函数进行最小化处理,并在多次迭代训练直至满足设定要求时,获得由所述网络模型优化得到的驱动模型。
8.根据权利要求7所述的基于时序信息的驱动控制方法,其特征在于,所述真实驱动信号和所述输出驱动信号包括六维空间信息;
所述时序损失函数由所述多帧训练视频帧的真实驱动信号和输出驱动信号包含的六维空间信息、基于所述六维空间信息投影得到的2D关键点坐标信息、基于所述六维空间信息投影得到的3D关键点坐标信息中的任意一种或多种所构建。
9.一种基于时序信息的驱动控制装置,其特征在于,所述装置包括:
获取模块,用于获取包含目标对象的连续多帧视频帧,所述多帧视频帧包含待处理视频帧和在时序上位于所述待处理视频帧之前的相邻视频帧;
提取模块,用于对各所述视频帧中的目标对象进行关键点提取,得到多组关键点信息;
处理模块,用于利用预先训练得到的驱动模型对所述多组关键点信息进行处理,输出所述待处理视频帧中目标对象对应的驱动信号;
驱动模块,用于利用所述驱动信号对目标虚拟形象进行驱动控制;
所述处理模块,具体用于:将所述多组关键点信息导入预先训练得到的驱动模型,在所述待处理视频帧中存在不可信关键点时,确定各所述相邻视频帧中与所述不可信关键点对应的参考关键点,所述不可信关键点为置信度低于预设值的关键点;减小所述不可信关键点的坐标所占的权重,并增大各所述参考关键点的坐标所占的权重;基于权重调整后的多组关键点信息,输出所述待处理视频帧中目标对象对应的驱动信号。
10.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-8中任意一项所述的基于时序信息的驱动控制方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-8中任意一项所述的基于时序信息的驱动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110788537.9A CN113556600B (zh) | 2021-07-13 | 2021-07-13 | 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110788537.9A CN113556600B (zh) | 2021-07-13 | 2021-07-13 | 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113556600A CN113556600A (zh) | 2021-10-26 |
CN113556600B true CN113556600B (zh) | 2023-08-18 |
Family
ID=78131666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110788537.9A Active CN113556600B (zh) | 2021-07-13 | 2021-07-13 | 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113556600B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113920232A (zh) * | 2021-10-29 | 2022-01-11 | 上海商汤智能科技有限公司 | 动画生成方法、装置、计算机设备和存储介质 |
CN115811581A (zh) * | 2022-11-14 | 2023-03-17 | 百果园技术(新加坡)有限公司 | 一种特效处理方法、装置、服务器、存储介质及程序产品 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930505A (zh) * | 2012-09-09 | 2013-02-13 | 西南技术物理研究所 | 图像点特征具有旋转不变性的电路实现方法 |
CN102999913A (zh) * | 2012-11-29 | 2013-03-27 | 清华大学深圳研究生院 | 一种基于可信点传播的局部立体匹配方法 |
CN105405150A (zh) * | 2015-10-21 | 2016-03-16 | 东方网力科技股份有限公司 | 基于融合特征的异常行为检测方法和装置 |
CN107260179A (zh) * | 2017-06-08 | 2017-10-20 | 朱翔 | 基于惯性和体感传感器数据质量评价的人体运动跟踪方法 |
CN110111351A (zh) * | 2019-05-10 | 2019-08-09 | 电子科技大学 | 融合rgbd多模态信息的行人轮廓跟踪方法 |
CN110139115A (zh) * | 2019-04-30 | 2019-08-16 | 广州虎牙信息科技有限公司 | 基于关键点的虚拟形象姿态控制方法、装置及电子设备 |
CN110765967A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的动作识别方法和相关装置 |
CN111079695A (zh) * | 2019-12-30 | 2020-04-28 | 北京华宇信息技术有限公司 | 一种人体关键点检测与自学习方法及装置 |
CN111523402A (zh) * | 2020-04-01 | 2020-08-11 | 车智互联(北京)科技有限公司 | 一种视频处理方法、移动终端及可读存储介质 |
CN112800850A (zh) * | 2020-12-31 | 2021-05-14 | 上海商汤智能科技有限公司 | 一种视频处理方法、装置、电子设备及存储介质 |
CN112836085A (zh) * | 2021-02-08 | 2021-05-25 | 深圳市欢太科技有限公司 | 一种权重调整方法及装置、存储介质 |
CN112989913A (zh) * | 2019-12-16 | 2021-06-18 | 辉达公司 | 利用面部标志和相关联的置信度值的基于神经网络的面部分析 |
CN113066069A (zh) * | 2021-03-31 | 2021-07-02 | 深圳中科飞测科技股份有限公司 | 调整方法及装置、调整设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012167475A1 (zh) * | 2011-07-12 | 2012-12-13 | 华为技术有限公司 | 生成形体动画的方法及装置 |
CN104778736B (zh) * | 2015-04-03 | 2017-10-20 | 北京航空航天大学 | 单视频内容驱动的服装三维动画生成方法 |
CN109584276B (zh) * | 2018-12-04 | 2020-09-25 | 北京字节跳动网络技术有限公司 | 关键点检测方法、装置、设备及可读介质 |
CN110874865A (zh) * | 2019-11-14 | 2020-03-10 | 腾讯科技(深圳)有限公司 | 三维骨架生成方法和计算机设备 |
-
2021
- 2021-07-13 CN CN202110788537.9A patent/CN113556600B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930505A (zh) * | 2012-09-09 | 2013-02-13 | 西南技术物理研究所 | 图像点特征具有旋转不变性的电路实现方法 |
CN102999913A (zh) * | 2012-11-29 | 2013-03-27 | 清华大学深圳研究生院 | 一种基于可信点传播的局部立体匹配方法 |
CN105405150A (zh) * | 2015-10-21 | 2016-03-16 | 东方网力科技股份有限公司 | 基于融合特征的异常行为检测方法和装置 |
CN107260179A (zh) * | 2017-06-08 | 2017-10-20 | 朱翔 | 基于惯性和体感传感器数据质量评价的人体运动跟踪方法 |
CN110139115A (zh) * | 2019-04-30 | 2019-08-16 | 广州虎牙信息科技有限公司 | 基于关键点的虚拟形象姿态控制方法、装置及电子设备 |
CN110111351A (zh) * | 2019-05-10 | 2019-08-09 | 电子科技大学 | 融合rgbd多模态信息的行人轮廓跟踪方法 |
CN110765967A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的动作识别方法和相关装置 |
CN112989913A (zh) * | 2019-12-16 | 2021-06-18 | 辉达公司 | 利用面部标志和相关联的置信度值的基于神经网络的面部分析 |
CN111079695A (zh) * | 2019-12-30 | 2020-04-28 | 北京华宇信息技术有限公司 | 一种人体关键点检测与自学习方法及装置 |
CN111523402A (zh) * | 2020-04-01 | 2020-08-11 | 车智互联(北京)科技有限公司 | 一种视频处理方法、移动终端及可读存储介质 |
CN112800850A (zh) * | 2020-12-31 | 2021-05-14 | 上海商汤智能科技有限公司 | 一种视频处理方法、装置、电子设备及存储介质 |
CN112836085A (zh) * | 2021-02-08 | 2021-05-25 | 深圳市欢太科技有限公司 | 一种权重调整方法及装置、存储介质 |
CN113066069A (zh) * | 2021-03-31 | 2021-07-02 | 深圳中科飞测科技股份有限公司 | 调整方法及装置、调整设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113556600A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11699217B2 (en) | Generating gaze corrected images using bidirectionally trained network | |
Chen et al. | Study of 3D virtual reality picture quality | |
CN105052129B (zh) | 级联相机运动估计、滚动快门检测和用于视频稳定性的相机抖动检测 | |
CN111464834B (zh) | 一种视频帧处理方法、装置、计算设备及存储介质 | |
CN113556600B (zh) | 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 | |
US20220329880A1 (en) | Video stream processing method and apparatus, device, and medium | |
US20230154104A1 (en) | UNCERTAINTY-AWARE FUSION TOWARDS LARGE-SCALE NeRF | |
WO2024022065A1 (zh) | 虚拟表情生成方法、装置、电子设备和存储介质 | |
WO2022148248A1 (zh) | 图像处理模型的训练方法、图像处理方法、装置、电子设备及计算机程序产品 | |
US20230166157A1 (en) | Electronic apparatus and control method therefor | |
CN115841602A (zh) | 基于多视角的三维姿态估计数据集的构建方法及装置 | |
CN104732560B (zh) | 基于动作捕捉系统的虚拟摄像机拍摄方法 | |
WO2022226724A1 (en) | Method and system of image processing with multi-skeleton tracking | |
WO2022041182A1 (zh) | 音乐推荐方法和装置 | |
CN116523962B (zh) | 针对目标对象的视觉跟踪方法、装置、系统、设备和介质 | |
CN111292234B (zh) | 一种全景图像生成方法及装置 | |
CN112954313A (zh) | 一种对全景图像感知质量的计算方法 | |
CN113542721A (zh) | 深度图处理方法、视频重建方法及相关装置 | |
CN111988520B (zh) | 一种画面切换方法、装置、电子设备及存储介质 | |
CN113724176A (zh) | 一种多摄像头动作捕捉无缝衔接方法、装置、终端及介质 | |
CN113592875A (zh) | 数据处理方法、图像处理方法、存储介质及计算设备 | |
US20240193824A1 (en) | Computing device and method for realistic visualization of digital human | |
CN112492375B (zh) | 视频处理方法、存储介质、电子设备及视频直播系统 | |
CN110210306B (zh) | 一种人脸跟踪方法和相机 | |
US20240029283A1 (en) | Image depth prediction method, electronic device, and non-transitory storage medium |
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 |