图像处理方法、装置、设备及介质与流程

文档序号:16309785发布日期:2018-12-19 05:13阅读:161来源:国知局
图像处理方法、装置、设备及介质与流程

本公开的实施方式一般涉及对图像数据的处理,并且更具体地,涉及用于图像处理的方法、装置、设备和计算机可读存储介质。

背景技术

课堂教学是传授知识的一种方式,老师在课堂教学中扮演者重要的角色。随着人工智能(ai)的普及,虚拟老师由于其可以节省人力成本而逐渐受到欢迎。虚拟老师能够基于事先确定的动作与学生实现互动,从而完成课堂传授。如何改进虚拟老师的特征,使得虚拟老师更加贴近真实世界中的老师是一项重要的任务。虚拟老师与真实的老师越贴近,学生们在与虚拟老师的互动中会觉得越自然,进而越会乐于听取课堂上传授的内容,由此,可以显著提高课听课效率。



技术实现要素:

根据本公开内容的示例实施方式,提供了一种用于处理图像数据的方案。

在本公开内容的第一方面中,提供了一种图像处理方法,包括:分别从备选视频和目标视频中获取各自对应的备选图像和目标图像;确定备选图像中讲话者覆盖嘴型区域的备选区域,以及确定目标图像中讲话者覆盖嘴型区域的目标区域;将备选区域缩放至目标区域的大小;以及使用经缩放的备选区域替换目标区域。

在本公开内容的第二方面中,提供了一种图像处理装置,包括:图像获取模块,被配置为分别从备选视频和目标视频中获取各自对应的备选图像和目标图像;区域确定模块,被配置为确定备选图像中讲话者覆盖嘴型区域的备选区域,以及确定目标图像中讲话者覆盖嘴型区域的目标区域;缩放模块,被配置为将备选区域缩放至目标区域的大小;以及区域替换模块,被配置为使用经缩放的备选区域替换目标区域。

在本公开内容的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开内容的第一方面的方法。

在本公开内容的第四方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开内容的第一方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开内容的实施方式的关键或重要特征,亦非用于限制本公开内容的范围。本公开内容的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开内容的各实施方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了根据本公开的一些实施方式的用于图像处理的方法的流程图;

图2示出了根据本公开的一些实施方式的用于确定备选区域的方法的流程图;

图3示出了根据本公开的一些实施方式的用于确定备选区域的方法的流程图;

图4示出了根据本公开的一些实施方式的用于确定备选区域和目标区域的示意图;

图5示出了用于更新备选区域和目标区域中的关键点的方法的流程图;

图6示出了根据图5所示的方法来更新关键点的更多细节的示意图;

图7示意性示出了根据本公开内容的示例性实施方式的用于图像处理的装置的框图;以及

图8示出了能够实施本公开内容的多个实施方式的计算设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开内容的实施方式。虽然附图中显示了本公开内容的某些实施方式,然而应当理解的是,本公开内容可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施方式,相反提供这些实施方式是为了更加透彻和完整地理解本公开内容。应当理解的是,本公开内容的附图及实施方式仅用于示例性作用,并非用于限制本公开内容的保护范围。

在本公开内容的实施方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施方式”或“该实施方式”应当理解为“至少一个实施方式”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如上文所提及的,期望的是通过计算机实现虚拟老师来替换传统的老师。在课堂教学中,有些语句往往是重复的或者类似的。例如,虚拟老师可能会在课堂的某一时刻发出指令:“请张三同学起立回答这个问题”,不久之后会针对另一名同学发出类似的指令:“请李四同学起立回答这个问题”。同时,随着课堂教学内容的进一步变得丰富,这样的指令会越来越多。例如,虚拟老师可能会针对张三发出新的指令“请张三同学坐下”。为了覆盖所有的情况,可能需要根据每条指令针对每一位同学都事先录制好视频,导致工作负担增加。可以设想基于备选视频来更新目标视频。在更新过程中,需要对目标图像进行处理。

针对上述问题,本公开的实施方式提供了一种用于处理图像的方案。

在本公开的上下文中,术语“目标视频”是反映教学指令的视频,其中该视频包括指令所针对的对象。例如,该目标视频可以例如是“请张三同学起立回答这个问题”,其中,这条语句包括指令所针对的对象,即“张三同学”。应当理解,上述示例仅仅是为了说明的目的,而无意限制本公开的实施方式的范围。

在本公开的上下文中,术语“备选视频”是反映课堂上每个同学的姓名的视频。例如,该备选视频可以例如是“李四同学”、“王五同学”等。应当理解,上述示例仅仅是为了说明的目的,而无意限制本公开的实施方式的范围。

在虚拟老师需要针对特定同学使用特定指令时,仅需将该名同学的名字替换指令视频中的“张三同学”。这样在一个具有n名同学的课堂上,如果虚拟老师需要发出m条指令,那么仅需要事先录制m+n-1个视频,从而会大大减小事先录制视频的数量,并且随着同学数量n和指令数量m的增多,这样的录制方式的优势将更加明显。

在基于备选视频更新目标视频时,为了使得更新后的目标视频中老师的原始面部特征被最大程度地保留下来,可以仅对老师的嘴部进行替换,而不替换整个面部区域。这是因为基于整个面部区域的替换会面临新脸与被替换头部不匹配的问题。因此,本公开提出一种基于备选视频更新目标视频的方法,借助于这种方法,可以使被替换视频(即目标视频)中的仅嘴部区域被替换,同时确保替换后的视频图像中在拼接区域具有平滑的过渡。

下面将结合图1到图8来具体描述本公开的实施方式。

图1示出了根据本公开的一些实施方式的用于图像处理的方法100的流程图。方法100可以由计算设备来执行。

在框102,分别从备选视频和目标视频中获取各自对应的备选图像和目标图像。例如,备选图像是一组连续的图像,其间隔时间可以为0.5秒。随着视频处理精度的提高,间隔时间可以更短。在根据本公开的实施方式中,可以根据多任务卷积神经网络(mtcnn,multi-taskconvolutionalneuralnetwork)算法对备选图像和目标图像中的人脸区域进行检测,如果未在备选图像和目标图像都检测到人脸,则重新获取符合要求的备选图像和目标图像。将会理解,尽管在上文中仅示意性示出了基于mtcnn来检测人脸区域的技术方案,在本公开的其他实施方式中,还可以采用现有技术中已知的或者将在未来开发的其他图像识别技术来检测人脸区域。

在框104,确定备选图像中讲话者覆盖嘴型区域的备选区域,以及确定目标图像中讲话者覆盖嘴型区域的目标区域。例如,该讲话者可以是老师。计算设备还可以确定目标图像中的一组目标区域,该目标区域覆盖目标图像中的讲话者的嘴型。

在下文中,将参见图2描述有关在框104处执行的操作的更多细节。在此,可以通过多种方式来确定覆盖一组备选图像中的讲话者的嘴型的一组备选区域。图2示出了根据本公开的一些实施方式的用于确定备选区域的方法200的流程图。方法200可以由计算设备来执行。本领域技术人员知晓的是,虽然基于备选区域的确定来描述方法200,该方法200也适用于确定覆盖目标图像中的讲话者的嘴型的目标区域。

在框202,获取描述讲话者的面部特征的多个关键点。关键点的识别可以例如通过本领域中已知的开源工具包dlib里的人脸关键点检测算法得出。通过这种方法,可以识别人脸的68个关键点,其中包括人脸轮廓、眉毛、眼睛、鼻子和嘴巴几块特征区域的特征点。将会理解,可以识别更多或者更少数量的关键点,可以使用其他方法来识别人脸关键点。在本公开中并不限定有关识别关键点的具体细节,而是只要能够获取描述面部特征的关键点即可。

在框204,基于多个关键点中的最左关键点、最右关键点和最下关键点,确定给定备选图像中的讲话者的覆盖嘴型区域的备选区域。

如上所述,也可以对目标图像采用方法200,从而确定覆盖给定目标图像中的讲话者的嘴型的目标区域。

现在返回图1,在框106,将备选区域缩放至目标区域的大小,经过缩放的备选区域的大小与目标区域的大小一致。

在框108,使用经缩放的备选区域替换目标区域,由此,可以更加使得替换后的图像更加平滑,而不会存在过渡非常明显的非平滑区。

根据本公开内容的示例性实施方式,备选区域可以基于多个子区域来确定。下面结合图3和图4介绍根据本公开的实施方式的确定备选区域的示例性方法。图3示出了根据本公开的一些实施方式的用于确定备选区域的方法300的流程图。图4示出了根据本公开的一些实施方式的用于确定目标区域420和备选区域460的示意图400。图4的左侧部分是目标图像420的示意图,右侧部分是备选图像460的示意图。如图4所示,子区域可以包括图像上的左替换区域422、462和右替换区域424、464。根据本公开的一些实施方式的用于确定备选区域的方法300可以由计算设备来执行。

下面,结合图3和图4来描述针对备选图像的用于确定备选区域的方法300。本领域技术人员清楚的是,这样的方法也适用于确定目标图像中的目标区域。

在框302,基于最左关键点452和最下关键点456确定备选图像中的人脸442的左替换区域462。在图4所示出的实施方式中,左替换区域462为矩形。该矩形由最左关键点452和最下关键点456作为对角线而确定。当然,这仅仅是示例性的,左替换区域462的具体形状并不受限于此。例如,可以基于最左关键点452和最下关键点456来确定人脸边缘外侧的弧线,并且基于弧线来修改矩形的左替换区域462的左侧边和下侧边。同样,左替换区域424的确定方式也并不局限于根据对角线来确定。

如图4中的左侧部分所示,在对目标图像中的人脸402进行处理时,基于最左关键点412和最下关键点416确定左替换区域422。

在框304,基于最右关键点454和最下关键点456确定备选图像中的人脸442的右替换区域464。在图4所示出的实施方式中,右替换区域464为矩形。该矩形由最右关键点454和最下关键点456作为对角线而确定。当然,这仅仅是示例性的,右替换区域464的具体形状并不受限于此。同样,右替换区域464的确定方式也并不局限于根据对角线来确定。

如图4中的左侧部分所示,在对目标图像中的人脸402进行处理时,基于最右关键点414和最下关键点416确定右替换区域424。

在框306,基于左替换区域462和右替换区域464确定备选区域460。人脸左右两侧边缘的关键点高度往往存在落差,针对这种情况,在此描述的方法通过生成左替换区域462和右替换区域464,能够避免单个备选区域所带来的边缘匹配不精确的问题。

如图4中的左侧部分所示,基于左替换区域422和右替换区域424确定目标区域420。

图5示出了用于更新备选区域和目标区域的关键点的方法500的流程图。图6根据图5所示的方法来更新关键点的更多细节的示意图600。下面结合图5和图6描述根据像素值梯度来更新备选图像中的关键点的示例性过程。本领域技术人员清楚的是,可以将方法500适用于更新目标图像中的关键点。

在框502,在关键点附近的预定范围内,沿着备选图像的坐标的方向选择候选点。例如,如图6所示,针对最左关键点652,获取最左关键点652在横坐标上的前后各五个像素,作为最左关键点652的候选点。针对最右关键点654,获取最右关键点654在横坐标上的前后各五个像素,作为最右关键点654的候选点。针对最下关键点656,获取最下关键点656在纵坐标上的上下各五个像素,作为最下关键点656的候选点。

当然,像素的数量可以是不同于五的任意正整数,并且针对最左关键点652、最右关键点654和最下关键点656的像素数量可以彼此相同、可以彼此不同,也可以两两相同。这些设置都落入本公开的范围中。

在框504,确定候选点的像素值与候选点周围点的像素值的梯度。在根据本公开的一些实施方式中,梯度的计算方式可以是该候选点的像素值减去横向或纵向前一个点的像素值。由此,可以确定最左关键点652、最右关键点654和最下关键点656的周边候选区域中的所有点的梯度值。

在框506,响应于梯度高于另一候选点的像素值与另一候选点周围点的像素值的另一梯度,基于候选点更新最左关键点。由此,可以将最左关键点652、最右关键点654和最下关键点656分别更新为相应关键点的对应候选区域里像素值的梯度最大的像素点。这样的步骤是基于下列的认识,即人脸的准确边界点应该是人脸的图像与背景图像中反差最大的点。基于像素值梯度最大的像素点,可以更加准确地确定最左关键点652、最右关键点654和最下关键点656,由此使得左替换区域和右替换区域的选取更加准确,进而使得备选区域和目标区域的选取更加准确。

根据本公开的实施方式的方法,从目标视频获取一组目标图像可以包括基于替换请求所指定的待替换片段在目标视频中的位置,确定一组目标图像。由此设置,可以精确地完成对目标视频中的目标图像的替换。例如,可以准确地将“请张三同学起立回答这个问题”中的“张三同学”所在的备选视频中的备选图像准确地替换为对应于“李四同学”的目标视频中的目标图像。

根据本公开的实施方式的方法,还可以包括使用备选视频中的与一组备选图像相关联音频内容替换目标视频中的与一组目标图像相关联的音频内容。借此,目标视频变得完整。通过音频内容与图像的关联,可以使音频与图像匹配,实现视频的完整替换。

根据本公开的实施方式的方法,目标视频中待替换片段的长度可以与备选视频的长度不同。根据本公开的实施方式的方法,目标视频中待替换片段的长度可以长于备选视频的长度。例如,待替换片段为“张三同学”,备选视频为“甲同学”。在这样的实施方式中,用备选视频替换待替换片段中时间序列靠前的图像,并删除待替换片段中的时间序列靠后的未被替换的图像。

图7示意性示出了根据本公开内容的示例性实施方式的用于处理图像的装置700的框图。具体地,该装置700包括:图像获取模块702,被配置为分别从备选视频和目标视频中获取各自对应的备选图像和目标图像;区域确定模块704,被配置为确定备选图像中讲话者覆盖嘴型区域的备选区域,以及确定目标图像中讲话者覆盖嘴型区域的目标区域;缩放模块706,被配置为将备选区域缩放至目标区域的大小;以及区域替换模块708,被配置为使用经缩放的备选区域替换目标区域。

根据本公开内容的示例性实施方式,区域确定模块704还被配置为:获取描述讲话者的面部特征的多个关键点;以及基于多个关键点中的最左关键点、最右关键点和最下关键点,确定给定备选图像中的讲话者的覆盖嘴型区域的备选区域。

根据本公开内容的示例性实施方式,区域确定模块704还被配置为:基于最左关键点和最下关键点确定左替换区域;基于最右关键点和最下关键点确定右替换区域;以及基于左替换区域和右替换区域确定备选区域。

根据本公开内容的示例性实施方式,装置700还被配置为:在最左关键点附近的预定范围内,沿着备选图像的横坐标的方向选择一组候选点;获得一组候选点中的每个候选点的像素值与候选点周围点像素值之间的梯度值;以及选择梯度值高于其他候选点的梯度值的候选点,基于所选择的候选点更新最左关键点;在最右关键点附近的预定范围内,沿着备选图像的横坐标的方向选择另一组候选点;确定另一组候选点中的每个候选点的像素值与候选点周围点的像素值之间的梯度值;以及选择梯度值高于其他候选点的梯度值的候选点,基于所选择的候选点更新最右关键点。

根据本公开内容的示例性实施方式,装置700还被配置为:在最下关键点附近的预定范围内,沿着备选图像的纵坐标的方向选择一组候选点;确定一组候选点中的每个候选点的像素值与候选点周围点的像素值之间的梯度值;以及选择梯度值高于其他候选点的梯度值的候选点,基于所选择的候选点更新最下关键点。

根据本公开内容的示例性实施方式,其中区域确定模块700还被配置为:在一组目标图像中的给定目标图像中,获取描述讲话者的面部特征的多个关键点;以及基于多个关键点中的最左关键点、最右关键点和最下关键点,确定覆盖给定目标图像中的讲话者的嘴型的目标区域。

根据本公开内容的示例性实施方式,图像获取模块702还被配置为:基于替换请求所指定的待替换片段在目标视频中的位置,确定一组目标图像。

根据本公开内容的示例性实施方式,装置700还被配置为:使用备选视频中的与备选图像相关联音频内容替换目标视频中的与目标图像相关联的音频内容。

根据本公开内容的示例性实施方式,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现根据本公开内容的方法。

根据本公开内容的示例性实施方式,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开内容的方法。

图8示出了能够实施本公开内容的多个实施方式的计算设备800的框图。如图所示,设备800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序指令,来执行各种适当的动作和处理。在ram803中,还可存储设备800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元801执行上文所描述的各个方法和处理,例如方法100、方法200、方法300和/或方法500。例如,在一些实施方式中,方法100、方法200、方法300和/或方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施方式中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram803并由cpu801执行时,可以执行上文描述的方法100、方法200、方法300和/或方法500的一个或多个步骤。备选地,在其他实施方式中,cpu801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100、方法200、方法300和/或方法500。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。

用于实施本公开内容的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有示出的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开内容的范围的限制。在单独的实施方式的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1