发明内容
有鉴于此,本公开实施例提供一种图像处理方法、装置及存储介质。
本公开实施例的技术方案是这样实现的:
本公开实施例提供一种图像处理方法,包括:
提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;
确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;
对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;
根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;
将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
上述方案中,所述确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点,包括:
对所述待检测图像进行去噪处理,以形成包括目标人像的肢体特征的待检测图像;
对所述待检测图像中目标人像的肢体位置进行定位,以形成包括目标人像的肢体位置的目标检测区域;
从所述肢体位置中确定相适配的待检测特征点,并对所述目标检测区域中的待检测特征点进行归一化,以实现对所述肢体位置中的待检测特征点的坐标化处理。
上述方案中,所述对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数,包括:
侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量;
根据所述肢体位置中的待检测特征点的形变量,确定所述待检测特征点的形变参数。
上述方案中,所述侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量,包括:
确定待检测特征点中的特征原点与第一待检测特征点之间的第一距离;
确定待检测特征点中的特征原点与第二待检测特征点之间的第二距离;
根据所述第一距离和所述第二距离确定所述肢体位置中的待检测特征点的形变量。
上述方案中,所述根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像,包括:
确定所述待检测特征点与所述卡通图像的形变位置的对应关系;
根据所述待检测特征点的形变参数,确定所述卡通图像的形变顺序;
根据所述待检测特征点的形变参数,确定所述卡通图像的形变量;
根据所述卡通图像的形变顺序和所述卡通图像的形变量,确定经过形变的卡通图像。
上述方案中,所述根据所述待检测特征点的形变参数,确定所述卡通图像的形变量,包括:
根据目标人像的肢体的重心位置与所述待检测特征点,确定所述卡通图像的五官的位置偏移量;
根据所述卡通图像的五官的位置偏移量,确定所述卡通图像的形变量,并根据所述卡通图像的形变量对所述卡通图像的五官的形态进行调整。
上述方案中,所述方法还包括:
根据所述待检测特征点的位置关系确定所述待检测图像中目标人像的肢体特征,以实现所述卡通图像与所述目标人像的肢体特征相适配;
响应于所述待检测图像中目标人像的肢体特征,确定所述待检测图像中目标人像的肢体的位置偏移量;
根据所述目标人像的肢体的位置偏移量确定所述卡通图像中的源锚点和归一化目标锚点的对应变换向量,以实现通过所述变换向量对所述卡通图像的身体的形态进行调整。
本发明还提供了一种图像处理装置,所述装置包括:
图像传输模块,用于提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;
图像处理模块,用于确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;
所述图像处理模块,用于对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;
所述图像处理模块,用于根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;
所述图像处理模块,用于将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
上述方案中,
所述图像处理模块,用于对所述待检测图像进行去噪处理,以形成包括目标人像的肢体特征的待检测图像;
所述图像处理模块,用于对所述待检测图像中目标人像的肢体位置进行定位,以形成包括目标人像的肢体位置的目标检测区域;
所述图像处理模块,用于从所述肢体位置中确定相适配的待检测特征点;
所述图像处理模块,用于对所述目标检测区域中的待检测特征点进行归一化,以实现对所述肢体位置中的待检测特征点的坐标化处理。
上述方案中,
所述图像处理模块,用于侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量;
所述图像处理模块,用于根据所述肢体位置中的待检测特征点的形变量,确定所述待检测特征点的形变参数。
上述方案中,
所述图像处理模块,用于确定待检测特征点中的特征原点与第一待检测特征点之间的第一距离;
所述图像处理模块,用于确定待检测特征点中的特征原点与第二待检测特征点之间的第二距离;
所述图像处理模块,用于根据所述第一距离和所述第二距离确定所述肢体位置中的待检测特征点的形变量。
上述方案中,
所述图像处理模块,用于确定所述待检测特征点与所述卡通图像的形变位置的对应关系;
所述图像处理模块,用于根据所述待检测特征点的形变参数,确定所述卡通图像的形变顺序;
所述图像处理模块,用于根据所述待检测特征点的形变参数,确定所述卡通图像的形变量;
所述图像处理模块,用于根据所述卡通图像的形变顺序和所述卡通图像的形变量,确定经过形变的卡通图像。
上述方案中,
所述图像处理模块,用于根据所述目标人像的肢体的重心位置与所述待检测特征点,确定所述卡通图像的五官的位置偏移量;
所述图像处理模块,用于根据所述卡通图像的五官的位置偏移量,确定所述卡通图像的形变量;
所述图像处理模块,用于根据所述卡通图像的形变量对所述卡通图像的五官的形态进行调整。
上述方案中所述图像处理模块,用于根据所述待检测特征点的位置关系确定所述待检测图像中目标人像的肢体特征,以实现所述卡通图像与所述目标人像的肢体特征相适配;
所述图像处理模块,用于响应于所述待检测图像中目标人像的肢体特征,确定所述待检测图像中目标人像的肢体的位置偏移量;
所述图像处理模块,用于根据所述目标人像的肢体的位置偏移量确定所述卡通图像中的源锚点和归一化目标锚点的对应变换向量,以实现通过所述变换向量对所述卡通图像的身体的形态进行调整。
本公开实施例还提供了一种图像处理装置,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述可执行指令时,实现本公开所提供的图像处理方法。
本公开还提供了一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本公开所提供的图像处理方法。
本公开实施例提供了一种图像处理方法、服务器及存储介质,本公开实施例具有如下技术效果:
通过提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。可以实现快速对视频中的人物的肢体动作信息进行识别,同时根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像,最终形成包括经过形变的卡通图像的新的图像帧,避免通过神经网络对视频中人物动作识别速度慢的缺陷,也避免了仅是卡通图像贴合造成的卡通图像动作僵硬的缺陷,减少了生成不同卡通图像的等待时间,提升了用户的使用体验。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
除非另有定义,本公开所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者服务器不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者服务器所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者服务器中还存在另外的相关要素(例如方法中的步骤或者服务器中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本公开实施例提供的图像处理方法包含了一系列的步骤,但是本公开实施例提供的图像处理方法不限于所记载的步骤,同样地,本公开实施例提供的终端包括了一系列单元,但是本公开实施例提供的终端不限于包括所明确记载的单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。需要说明,在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)目标视频,电子设备在不同使用环境中所拍摄的视频,用户可以在视频的拍摄过程中。
2)特征点,(Facial landmark detection)在对视频中的待检测图像中的人物动作信息进行检测的过程中,需要对人物的肢体区域的不同的特征点(例如手部的特征点)进行检测。
3)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如执行线上直播(视频推流)的功能或者是在线视频的播放功能。
下面说明实现本公开实施例的装置的示例性应用,本公开实施例提供的装置可以实施为平板电脑、笔记本电脑、中央处理器等各种类型的带有图形处理器GPU的电子设备。
现在将参考附图描述实现本公开实施例的图像处理方法的使用场景。参见图1,图1为本公开实施例提供的图像处理方法的应用场景示意图,为实现支撑一个示例性应用,实现本公开实施例的服务器可以是视频服务器,以视频服务器30为例,用户终端10(示例性示出了用户终端10-1和用户终端10-2)通过网络20连接视频服务器30,网络20可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,通过终端10的图形处理器能够对终端10所拍摄的目标视频进行处理,并通过所述网络20将经过处理的目标视频向所述视频服务器30发送。
终端10用于提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧;用户终端10通过图形界面110(示例性示出了图形界面110-1和图形界面110-2)显示向用户展示经过图像处理的包括待检测图像的目标视频,以实现根据所识别的待检测图像中的人物动作信息对所述目标视频进行不同的显示效果处理,视频服务器30用于配合用户终端10在图像处理过程中提供图像处理的后台数据支持,以实现终端的图像处理应用中的不同功能,例如向所述视频服务器30推送包括经过形变的卡通图像的新的图像帧(或者封装为新的携带有卡通图像的视频)。
基于上述图1所示的图像处理方法的使用环境,首先说明实现本公开实施例的图像处理装置,所图像处理装置服务器可以提供为硬件、软件或者软硬件结合的方式。下面说明本公开实施例提供的图像处理装置的各种示例性实施。
下面先说明图像处理装置的软硬件结合的实施。具体地,现在将参考附图描述实现本公开实施例的图像处理装置的硬件结构,下面参考图2,图2为本公开实施例提供的图像处理装置200的一个可选的硬件结构示意图。
本公开实施例中的图像处理装置200可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA,Personal Digital Assistant)、平板电脑(PAD,Portable Android Device)、便携式多媒体播放器(PMP,Portable Media Player)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(TV,Television)、台式计算机等等的带有图像处理装置功能的各类型电子设备。图2示出的图像处理装置200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,图像处理装置200可以包括处理装置(例如中央处理器、图形处理器等)201,其中图形处理器能够执行卡尔曼滤波算法和暗通道去雾算法,所述其可以根据存储在只读存储器(ROM,Read Only Memory)202中的程序或者从存储装置208加载到随机访问存储器(RAM,Random Access Memory)203中的程序而执行各种适当的动作和处理。在RAM203中,还存储有图像处理装置200操作所需的各种程序和数据。处理装置201、ROM 202以及RAM203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
通常,以下装置可以连接至I/O接口205:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置206;包括例如液晶显示器(LCD,LiquidCrystal Display)、扬声器、振动器等的输出装置207;包括例如磁带、硬盘等的存储装置208;以及通信装置209。通信装置209可以允许图像处理装置200与其他设备进行无线或有线通信以交换数据。虽然图2示出了具有各种装置的图像处理装置200,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置209从网络上被下载和安装,或者从存储装置208被安装,或者从ROM 202被安装。在该计算机程序被处理装置201执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、光纤、便携式紧凑磁盘只读存储器(CD-ROM,Compact Disc Read-OnlyMemory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF,Radio Frequency)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述图像处理装置中所包含的;也可以是单独存在,而未装配入该图像处理装置中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该图像处理装置执行时,使得该图像处理装置:提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或图像处理装置上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN,Local Area Network)或广域网(WAN,Wide Area Network)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
作为图像处理装置的硬件实施或软件实施的示例,图像处理装置可以提供为一系列在信号/信息/数据层面存在耦合关系的模块,下面将结合图3进行说明。参见图3,图3为本公开实施例提供的图像处理装置的一个可选的组成结构示意图,示出了实现图像处理装置包括的一系列模块,但是图像处理装置的模块结构不仅仅限于图3所示,例如,可以对其中的模块根据所实现的不同功能而进一步拆分或者合并。
下面说明图像处理装置的纯硬件实施,图像处理装置可以为用于运行应用程序的各种类型的图像处理装置客户端,例如:短视频图像处理装置客户端,图3为本公开实施例提供的图像处理装置的一个可选的功能结构示意图;如图3所示,图像处理装置300包括:图像传输模块301、图像处理模块302。下面对各模块的功能进行详细说明。
图像传输模块301,用于提取目标视频中的待检测图像,其中,所述待检测图像包括至少连续的两帧图像;图像处理模块302,用于确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点;所述图像处理模块302,用于对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数;所述图像处理模块302,用于根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像;所述图像处理模块302,用于将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
在本公开的一些实施例中,图像处理模块302,用于所述图像处理模块,用于对所述待检测图像进行去噪处理,以形成包括目标人像的肢体特征的待检测图像;所述图像处理模块302,用于对所述待检测图像中目标人像的肢体位置进行定位,以形成包括目标人像的肢体位置的目标检测区域;所述图像处理模块302,用于从所述肢体位置中确定相适配的待检测特征点;所述图像处理模块302,用于对所述目标检测区域中的待检测特征点进行归一化,以实现对所述肢体位置中的待检测特征点的坐标化处理。
在本公开的一些实施例中,图像处理模块302,用于侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量;所述图像处理模块302,用于根据所述肢体位置中的待检测特征点的形变量,确定所述待检测特征点的形变参数。
在本公开的一些实施例中,图像处理模块302,用于确定待检测特征点中的特征原点与第一待检测特征点之间的第一距离;所述图像处理模块302,用于确定待检测特征点中的特征原点与第二待检测特征点之间的第二距离;所述图像处理模块302,用于根据所述第一距离和所述第二距离确定所述肢体位置中的待检测特征点的形变量。
在本公开的一些实施例中,所述图像处理模块302,用于确定所述待检测特征点与所述卡通图像的形变位置的对应关系;所述图像处理模块302,用于根据所述待检测特征点的形变参数,确定所述卡通图像的形变顺序;所述图像处理模块302,用于根据所述待检测特征点的形变参数,确定所述卡通图像的形变量;所述图像处理模块302,用于根据所述卡通图像的形变顺序和所述卡通图像的形变量,确定经过形变的卡通图像。
在本公开的一些实施例中,所述图像处理模块302,用于根据所述目标人像的肢体的重心位置与所述待检测特征点,确定所述卡通图像的五官的位置偏移量;所述图像处理模块302,用于根据所述卡通图像的五官的位置偏移量,确定所述卡通图像的形变量;所述图像处理模块302,用于根据所述卡通图像的形变量对所述卡通图像的五官的形态进行调整。
在本公开的一些实施例中,所述图像处理模块302,用于根据所述待检测特征点的位置关系确定所述待检测图像中目标人像的肢体特征,以实现所述卡通图像与所述目标人像的肢体特征相适配;所述图像处理模块302,用于响应于所述待检测图像中目标人像的肢体特征,确定所述待检测图像中目标人像的肢体的位置偏移量;所述图像处理模块302,用于根据所述目标人像的肢体的位置偏移量确定所述卡通图像中的源锚点和归一化目标锚点的对应变换向量,以实现通过所述变换向量对所述卡通图像的身体的形态进行调整。
结合图3示出的图像处理装置300说明本公开实施例提供的图像处理方法,参见图4,图4为本公开实施例提供的图像处理方法一个可选的流程示意图,可以理解地,图4所示的步骤可以由运行图像处理装置300的终端执行,例如图像处理装置300可以是耦合到终端内部/外部接口中的功能模块;图4所示的步骤也可以由运行图像处理装置300的服务器执行,例如图像处理装置300可以是耦合到服务器内部/外部接口的功能模块。下面针对图4示出的步骤进行说明。
步骤401:图像处理装置提取目标视频中的待检测图像;
其中,所述待检测图像包括至少连续的两帧图像,在视频拍摄过程中,用户能够跟随视频的拍摄执行不同的肢体动作,因此通过包括至少连续的两帧图像对视频中人物肢体动作信息进行识别。
步骤402:确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点。
在本公开的一些实施例中,确定所述待检测图像中的目标检测区域,以及所述目标检测区域中的待检测特征点,可以通过以下方式实现:
对所述待检测图像进行去噪处理,以形成包括目标人像的肢体特征的待检测图像;对所述待检测图像中目标人像的肢体位置进行定位,以形成包括目标人像的肢体位置的目标检测区域;从所述肢体位置中确定相适配的待检测特征点,并对所述目标检测区域中的待检测特征点进行归一化,以实现对所述肢体位置中的待检测特征点的坐标化处理。其中,图5为本公开实施例中从视频中提取目标图像的示意图,如图5所示,当视频的拍摄环境光线较暗时,可以对待检测图像中进行暗道去雾处理,形成增强图像,所形成的增强图像可以包括人脸特征和/或肢体特征,具体步骤包括:
确定所述待检测图像的暗通道值;确定所述待检测图像的灰度值;基于所述待检测图像的暗通道值、去雾调节值和所述灰度值确定所述待检测图像的大气光值;根据所述待检测图像的大气光值和光线调节值对所述待检测图像进行处理,以形成增强图像。其中,记所述暗通道值为Dark_channel,所述待检测图像的灰度值为Mean_H和Mean_V,所述待检测图像的大气光值为AirLight;所述去雾调节值为P,光线调节值为A,待增强图像为Input,其取相反数的结果为IR,对于任意一幅输入图像,取其暗通道图像灰度值最大的0.1%的像素点对应于原输入图像的像素位置的每个通道的灰度值的平均值,从而计算出每个通道的大气光值,即大气光值AirLight是一个三元素向量,每一个元素对应于每一个颜色通道。因此,在本公开的一些实施例中,所述方法还包括:
确定所述待检测图像的每个像素点三个通道中的最小值;
将所述去雾图像的每个像素点三个通道中的最小值赋值给所述暗通道的图像中对应的像素点。
其中,通过公式:Dark_channel=min(Input_R,Input_G,Input_B);可以确定所述待检测图像的暗通道值。
在确定所述待检测图像的过程中,首先由公式:Mean_H=间隔采用取每一行的平均值存到一张图像的第一列,之后由公式:Mean_V=将Mean_H的第一列取平均得到全图平均的近似,其余列不做处理,以确定所述待检测图像的灰度值。
在对所述大气光值AirLight的确定过程中,可以通过公式:
AirLight=min(min(p*Mean_V,0.9)*均值滤波后的Input,Input),确定相应的大气光值AirLight。
继续参考图6,图6为本公开实施例中对肢体位置进行定位的示意图,如图6所示,当待检测图像中目标人像的肢体为人像的手部图像时,通过对待检测图像中目标人像的肢体位置进行定位,可以确定人像的手部图像的22个待检测特征点,分别编号0至21,其中,参考图7,图7为本公开实施例中对肢体位置进行定位的示意图,通过对各待检测特征点在图像中的坐标,根据第0、21号待检测特征点确定手部旋转角度,对21个待检测特征点进行旋转归一化,使得0->21向量处于垂直向上状态。同时计算0、21号待检测特征点距离,将其归一化至固定大小,并将21号待检测特征点置于图像中间。
步骤403:对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数。
在本公开的一些实施例中,对所述待检测特征点的运动状态进行检测,以确定所述待检测特征点的形变参数,可以通过以下方式实现:
侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量;根据所述肢体位置中的待检测特征点的形变量,确定所述待检测特征点的形变参数。
在本公开的一些实施例中,侦测所述待检测特征点的运动状态,以确定所述肢体位置中的待检测特征点的形变量,可以通过以下方式实现:
确定待检测特征点中的特征原点与第一待检测特征点之间的第一距离;确定待检测特征点中的特征原点与第二待检测特征点之间的第二距离;根据所述第一距离和所述第二距离确定所述肢体位置中的待检测特征点的形变量。其中,参考图8,图8为本公开实施例中确定待检测特征点的形变量的示意图,其中,以卡通图像睁开眼睛和张开嘴巴为例,图8示出了眼睛序列帧(睁眼过程)和嘴巴序列帧(张嘴过程)的变化过程,继续以用户的手部图像为例,可以根据手指的弯曲程度控制五官的张开程度。具体的,可以将卡通图像的五官的开合过程拆分为多个序列帧,通过量化手指弯曲程度确定具体的序列号,形成对应的卡通贴图。在本公开的一些实施例中,可以通过手部图像的食指弯曲控制睁眼;中指与无名指弯曲控制张嘴。
继续参考图9,图9为本公开实施例中确定待检测特征点的形变量的示意图,其中,计算指尖与第1关节距离记为d1,计算指尖与掌指关节距离记为d2,归一化弯曲程度计算公式如下:
Bending=max(min(α·d1/d2+β,0),1)
其中,α控制灵敏度,β控制默认张合程度。结合前序图5和图6所示,当手指完全伸直时,弯曲值达最大。当手指蜷缩时,弯曲值最小。由归一化的弯曲程度乘以序列帧个数向下取整得到索引值,其中序列帧个数可选为8,卡通图像的嘴巴的序列号由中指与无名指获得的索引值取较小值所确定。
继续参考图10,图10为本公开实施例中确定待检测特征点的形变量的示意图,其中,手部图像的食指弯曲控制睁眼;中指与无名指弯曲控制张嘴,计算指尖与第1关节距离记为d1,计算指尖与掌指关节距离记为d2,确定相应的弯曲度Bending包括:Bending mouth=7,Bending eyes=0,也就是对应的卡通图像的五官中,嘴巴完全张开,眼睛完全闭合。
步骤404:根据所述待检测特征点的形变参数,确定与所述待检测特征点的形变参数相对应的卡通图像的形变参数,以形成经过形变的卡通图像。
步骤405:将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
继续结合图3示出的图像处理装置300说明本公开实施例提供的图像处理方法,参见图11,图11为本公开实施例提供的图像处理方法一个可选的流程示意图,可以理解地,图11所示的步骤可以由运行图像处理装置300的终端执行,例如图像处理装置300可以是耦合到终端内部/外部接口中的功能模块;图11所示的步骤也可以由运行图像处理装置300的服务器执行,例如图像处理装置300可以是耦合到服务器内部/外部接口的功能模块。下面针对图11示出的步骤进行说明。
步骤1101:确定所述待检测特征点与所述卡通图像的形变位置的对应关系。
步骤1102:根据所述待检测特征点的形变参数,确定所述卡通图像的形变顺序。
步骤1103:根据所述待检测特征点的形变参数,确定所述卡通图像的形变量。
在本公开的一些实施例中,根据所述待检测特征点的形变参数,确定所述卡通图像的形变量,可以通过以下方式实现:
根据所述目标人像的肢体的重心位置与所述待检测特征点,确定所述卡通图像的五官的位置偏移量;
根据所述卡通图像的五官的位置偏移量,确定所述卡通图像的形变量,并根据所述卡通图像的形变量对所述卡通图像的五官的形态进行调整。
步骤1104:根据所述卡通图像的形变顺序和所述卡通图像的形变量,确定经过形变的卡通图像。
在本公开的一些实施例中,所述方法还包括:
根据所述待检测特征点的位置关系确定所述待检测图像中目标人像的肢体特征,以实现所述卡通图像与所述目标人像的肢体特征相适配;
响应于所述待检测图像中目标人像的肢体特征,确定所述待检测图像中目标人像的肢体的位置偏移量;
根据所述目标人像的肢体的位置偏移量确定所述卡通图像中的源锚点和归一化目标锚点的对应变换向量,以实现通过所述变换向量对所述卡通图像的身体的形态进行调整。
继续参考图12,图12为本公开实施例中确定待检测特征点的形变量的示意图,其中,由于卡通图像的五官形态的变化与用户肢体动作的改变同步,因此,为得到更加逼真的图像互动效果,可以通过计算手部姿势实现卡通图像五官向用户手指朝向偏移,以实现对卡通图像的五官变化进行调整。具体的,结合前序图5-10所示,如图12所示,可以根据待检测特征点信息对手指朝向进行估计。具体方法为计算归一化后食指、中指、无名指与小拇指的重心位置,与21号待检测特征点的坐标做差,得到x轴方向的偏差乘上预设灵敏度系数α,确定眼睛与嘴巴的左右偏移量,其中,
{fingers}={8,12,16,20},Num=4 (公式2)
继续参考图13,图13为本公开实施例中确定卡通图像五官的示意图,其中,由于卡通图像的五官形态的变化与用户肢体动作的改变同步,其中,通过侦测用户不同的肢体动作(手部动作)可以控制相应的卡通图像的五官形态发生改变。
继续参考图14,图14为本公开实施例中确定卡通图像身体形态的示意图,其中,结合前序图5-10所示,当获得五指的归一化待检测特征点位置后,可以同时根据5号和17号待检测特征点左右位置关系判断左右手和手心手背情况。当x_5>x_17时,交换左右待检测特征点坐标,以实现左右手的适配。对归一化的大小拇指向下偏移固定距离,由此,通过优化大小拇指对身体形变的控制能力综上处理后,获得源锚点(其中卡通图像的UV坐标上已预先固定位置)和归一化目标锚点的对应变换向量。由于前序实施例中对所述肢体位置中的待检测特征点的坐标化处理,通过侦测肢体位置中的待检测特征点的坐标变化,既可以实现对相应的卡通图像的身体位置的调整。具体的,可以通过以下公式计算最终卡通图像的身体位置,其中,
目标函数和约束条件,求解出每个网格点j的Mj,Tj
通过Mj,Tj,计算每个网格点vj变形后的位置fs(vj),即:
fs(vj)=vjMj+Tj (公式5)
其中,公式中的参数参考表1
参数符号 |
参数含义 |
i |
拖拽点相关的索引 |
j |
网格点相关的索引 |
v<sub>j</sub> |
第j个网格点原始坐标 |
f<sub>s(vj)</sub> |
第j个网格点映射坐标 |
M<sub>j</sub> |
第j个网格点的变换矩阵 |
T<sub>j</sub> |
第j个网格点的平移向量 |
w<sub>ij</sub> |
第j个网格点和第i个拖拽点的权重 |
p<sub>i</sub> |
第i个拖拽点起点坐标 |
q<sub>i</sub> |
第i个拖拽点终点坐标 |
α |
权重衰减系数 |
γ |
优化权重系数 |
β |
优化权重偏置 |
表1
继续参考图15,图15为本公开实施例中形成包括经过形变的卡通图像的新的图像帧的示意图,其中,结合前序图5-14所示,形成经过形变的卡通图像之后需要将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧。
在本公开的一些实施例中,卡通图像的不同组成可以位于不同的浮层中,例如将卡通图像的身体置于底层浮层,双眼和嘴巴置于上层浮层。其中,0,21号归一化待检测特征点的位置与真实图像0,21号未归一化待检测特征点的位置之间的对应关系,计算刚性变换公式用于Opengl渲染过程中顶点坐标的变换,具体计算公式如下:
其中,θ1=atan2(dst_y21-dst_y0,dst_x21-dst_x0)
θ2=atan2(origin_y21-origin_y0,origin_x21-origin_x0) (公式7)
由此,经过形变的卡通图像之后需要将所述经过形变的卡通图像和所述目标检测区域进行融合,形成包括经过形变的卡通图像的新的图像帧,其中,新的图像帧中的卡通图像能够根据用户肢体的动作进行调整。
本领域内的技术人员应明白,本公开实施例可提供为方法、系统、或计算机程序产品。因此,本公开实施例可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开实施例是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序操作实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序操作到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的操作产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的服务器。
这些计算机程序操作也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的操作产生包括操作服务器的制造品,该操作服务器实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序操作也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的操作提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围,凡在本公开的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的保护范围之内。