一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于混合生成对抗网络合成真实手部图像的方法及装置与流程

2022-02-20 00:17:01 来源:中国专利 TAG:

基于混合生成对抗网络合成真实手部图像的方法及装置
1.相关申请的交叉引用
2.本技术要求于2019年9月23日提交美国专利局、申请号为16/578,555的美国正式申请的优先权,其全部内容通过引用结合在本技术中。


背景技术:

3.从单一的红、绿和蓝(rgb)图像进行三维(3d)手部姿势估计非常重要,但是由于缺乏足够大的手部姿势数据集以及精确的3d手部关键点注释进行训练,因此具有挑战性。由于深度神经网络(dnn)的快速发展,从单目rgb图像估计手部姿势已经取得了重大进展。这些基于dnn的方法,结合了学习手部表示和估计姿势。尽管有效,但是基于dnn的方法高度依赖于大量的训练数据。然而,使用人工手部关键点注释,收集所有感兴趣的手部姿势进行训练,非常昂贵。
4.最近关于手部姿势估计的工作,已经针对合成训练数据,对模型进行了训练。例如,合成的手部姿势数据集可以由开源模拟器生成,并用作增强训练数据,来改进姿势估计器的学习。然而,由ar模拟器产生的合成手部图像,看起来是人造的,从而导致性能增益有限。为了解决这个问题,最近的研究利用对抗性学习来提高合成手部图像的质量。
5.利用生成对抗网络(gan)生成逼真图像已经成为一种研究趋势。例如,pix2pix网络已经用于学习从草图到逼真图像的映射,例如,将汽车草图转换为汽车图像。与需要成对训练数据的gan不同,cyclegan采用循环一致的对抗网络,将图像从源域转换到具有未成对示例的目标域。为了增加训练数据量,simgan采用模拟和无监督学习,来提高具有未标记真实数据的模拟器输出的真实性。然而,模拟器的数据仅包括对象,而忽略了背景场景。因此,所得到的合成图像是填充对象,然而,在实践中,背景信息通常是至关重要的。
6.数十年来,手部姿势估计已经引起了越来越多的关注。研究工作可以根据其输入数据格式进行分类,其中,主要包括具有深度信息的二维(2d)rgb图像和3d rgbd图像。最近的进展是尝试从单目rgb图像估计3d手部姿势。例如,已经提出了一种基于粒子群优化的手部跟踪方法,以及用于从rgb图像计算手部关键点的多视图引导法。另一提议涉及3d姿势回归网,其能够从rgb图像进行3d手部姿势估计。然而,还欠缺这样的技术:对前景(手部)和背景(手部出现的自然场景)的调整方案。


技术实现要素:

7.根据本技术实施例,提供了一种使用混合生成对抗网络blendgan合成手部图像的方法,包括:获取合成3维3d手部姿势,所述合成3d手部姿势包括手部的3d模型;获取真实背景图像;将所述合成3d手部姿势与所述真实背景图像进行组合,创建合成手部图像;及,使用blendgan对所述合成手部图像进行混合,创建混合的合成手部图像。
8.根据本技术实施例,提供了一种使用混合生成对抗网络blendgan合成手部图像的设备,包括:
9.至少一个存储器,用于存储计算机程序代码;
10.至少一个处理器,用于读取所述计算机程序代码,根据所述计算机程序代码的指令进行操作,所述程计算机程序代码包括:
11.第一获取代码,用于使得所述至少一个处理器,获取合成3维3d手部姿势,所述合成3d手部姿势包括手部的3d模型;
12.第二获取代码,用于使得所述至少一个处理器,获取真实背景图像;
13.组合代码,用于使得所述至少一个处理器,将所述合成3d手部姿势与所述真实背景图像进行组合,创建合成手部图像;及,
14.混合代码,用于使得所述至少一个处理器,使用blendgan对所述合成手部图像进行混合,创建混合的合成手部图像。
15.根据本技术实施例,还提供了一种非易失性计算机可读介质,其上存储有计算机代码,所述计算机代码由至少一个处理器执行时,使得所述至少一个处理器对使用混合生成对抗网络blendgan合成手部图像,包括:获取合成3维3d手部姿势,所述合成3d手部姿势包括手部的3d模型;获取真实背景图像;将所述合成3d手部姿势与所述真实背景图像进行组合,创建合成手部图像;及,使用blendgan对所述合成手部图像进行混合,创建混合的合成手部图像。
附图说明
16.图1示出了根据本技术实施例的概览图;
17.图2示出了本技术所实施的系统和/或方法中的示例环境的示意图;
18.图3示出了图2中至少一个设备的示例部件;
19.图4示出了根据本技术实施例的示例实施示意图;
20.图5示出了根据本技术实施例的使用blendgan合成手部图像的示例流程图。
具体实施方式
21.本技术实施例涉及生成逼真的手部姿势。现有的手部姿势估计算法,可以通过使用生成的手部姿势增强训练数据,而得到极大的改进,所生成的手部姿势自然地带有地面实况注释。具体地,增强现实模拟器可以通过精确的3d手部关键点注释来合成手部姿势。这些合成的手部姿势可能看起来不自然,并且不适合用于训练。虽然合成的手部姿势带有精确的关节标签,但是,它们看起来不自然并且不适合用于训练。
22.为了产生更逼真的手部姿势,本技术实施例中,将每个合成手部姿势与真实背景混合,并且,开发混合生成对抗网络(blendgan),其可以对齐合成手部姿势和真实背景之间的色调和颜色分布,并且可以生成高质量的手部姿势。
23.图1图示了根据本技术实施例的使用blendgan 104合成逼真的手部姿势图像102的过程100的概观。如图1所示,由ar模拟器生成的合成手部姿势106与真实背景图像108组合,生成合成手部图像110,然后将其发送到blendgan 104,来生成更逼真的手部图像102。
24.因此,本技术实施例中,对合成手部姿势106和真实背景图像108进行融合或组合,使得所得到的合成手部图像110可以更加逼真。接下来,blendgan 104执行有条件的对抗学习,并且,将合成手部姿势106与真实背景图像108进行更无缝的混合,以创建逼真的手部姿势图像102。使用逼真的手部姿势图像102训练的现有姿势估计器,可以在2d和3d数据集上,
获得优于当前最先进技术水平的显著改进。
25.因此,本技术实施例可以对齐合成手部姿势与真实背景之间的色调和颜色分布,并且可以生成高质量的手部姿势。本技术实施例可以使合成训练示例更加逼真可靠。本文描述的新型数据增加方案的实施例,可以缓解用有限的训练数据进行手部姿势估计器训练的问题。
26.以此,本技术的一些实现方式,允许改进手部姿势估计任务。诸如过程100的结果,使合成手部姿势106和真实背景图像108之间的手部形状和色调分布对齐。实验结果表明,借助于由诸如过程100生成的训练数据,可以大大改进现有技术的手部姿势估计器。
27.图2是其中可以实现本技术描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括用户设备210、平台220和网络230。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。
28.用户设备210包括能够接收、生成、存储、处理和/或提供与平台220相关联的信息的一个或多个设备。例如,用户设备210可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一对智能眼镜或智能手表)或类似设备。在一些实现方式中,用户设备210可以从平台220接收信息和/或向平台220传输信息。
29.平台220包括能够通过多频带同步神经声码器生成音频输出信号的一个或多个设备,如本技术别处所述。在一些实现方式中,平台220可以包括云服务器或一组云服务器。在一些实现方式中,平台220可以被设计为模块化的,使得可以根据特定需要换入或换出某些软件部件。这样,平台220可以容易地和/或快速地重新配置用于不同的用途。
30.在一些实现方式中,如图所示,平台220可以托管在云计算环境222中。值得注意的是,虽然本技术描述的实现方式将平台220描述为托管在云计算环境222中,但是在一些实现方式中,平台220不是基于云的(即,可以在云计算环境之外实现)或者可以是部分基于云的。
31.云计算环境222包括托管平台220的环境。云计算环境222可以提供不需要最终用户(例如,用户设备210)了解托管平台220的一个或多个系统和/或设备的物理位置和配置的计算、软件、数据访问、存储等服务。如图所示,云计算环境222可以包括一组计算资源224(统称为“计算资源224”,并且单独称为“计算资源224”)。
32.计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实现方式中,计算资源224可以是托管平台220。云资源可以包括在计算资源224中执行的计算实例、在计算资源224中提供的存储设备、由计算资源224提供的数据传送设备等。在一些实现方式中,计算资源224可以经由有线连接、无线连接或有线和无线连接的组合与其它计算资源224通信。
33.如图2中进一步所示,计算资源224包括一组云资源,诸如一个或多个应用程序(“app”)224-1、一个或多个虚拟机(“vm”)224-2、虚拟化存储(“vs”)224-3、一个或多个管理程序(“hyp”)224-4等。
34.应用程序224-1包括可以提供给用户设备210和/或传感器设备220或由用户设备210和/或传感器设备220访问的一个或多个软件应用程序。应用程序224-1可以消除在用户设备210上安装和执行软件应用程序的需要。例如,应用程序224-1可以包括与平台220
相关联的软件和/或能够经由云计算环境222提供的任何其它软件。在一些实现方式中,一个应用程序224-1可以经由虚拟机224-2向/从一个或多个其它应用程序224-1发送/接收信息。
35.虚拟机224-2包括像物理机器一样执行程序的机器(例如,计算机)的软件实现。虚拟机224-2可以是系统虚拟机或进程虚拟机,这取决于虚拟机224-2的使用和与任何真实机器的对应程度。系统虚拟机可以提供支持完整操作系统(“os”)的执行的完整系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实现方式中,虚拟机224-2可以代表用户(例如,用户设备210)执行,并且可以管理云计算环境222的基础设施,诸如数据管理、同步或长持续时间数据传送。
36.虚拟化存储224-3包括使用计算资源224的存储系统或设备内的虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实现方式中,在存储系统的上下文中,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储与物理存储的抽象(或分离),使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员在管理员如何管理最终用户的存储方面具有灵活性。文件虚拟化可以消除在文件级访问的数据与物理地存储文件的位置之间的依赖性。这可以实现存储使用、服务器整合和/或无中断文件迁移的性能的优化。
37.管理程序224-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224等主机计算机上并发执行的硬件虚拟化技术。管理程序224-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化的硬件资源。
38.网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(5g)网络、长期演进(lte)网络、第三代(3g)网络、码分多址(cdma)网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网络(例如,公共交换电话网络(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
39.图2中所示的设备和网络的数量和布置被提供作为示例。在实践中,可以存在比图2所示的设备和/或网络更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络,或不同布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以实现为多个分布式设备。附加地或替换地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
40.图3是设备300的示例部件的图。设备300可以对应于用户设备210和/或平台220。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360和通信接口370。
41.总线310包括允许设备300的部件之间的通信的部件。处理器320以硬件、固件或硬件和软件的组合来实现。处理器320是中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或另一类型的处理部件。在一些实现方式中,处理器320包括能够被编程以执行功能的一个或多个处理器。存储器330包括随机存取存储器(ram)、只读存储器(rom)和/
或存储供处理器320使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
42.存储部件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储部件340可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、压缩盘(cd)、数字通用光盘(dvd)、软盘、盒式磁带、磁带和/或其它类型的非易失性计算机可读介质,以及对应的驱动器。
43.输入部件350包括允许设备300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)接收信息的部件。附加地或替换地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(gps)部件、加速度计、陀螺仪和/或致动器)。输出部件360包括提供来自设备300的输出信息的部件(例如,显示器、扬声器和/或一个或多个发光二极管(led))。
44.通信接口370包括类似收发器的部件(例如,收发器和/或单独的接收器和发射器),其使得设备300能够诸如经由有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、wi-fi接口、蜂窝网络接口等。
45.设备300可以执行本技术描述的一个或多个过程。设备300可以响应于处理器320执行由诸如存储器330和/或存储部件340等非易失性计算机可读介质存储的软件指令而执行这些过程。计算机可读介质在本技术中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备的存储器空间。
46.软件指令可以经由通信接口370从另一计算机可读介质或从另一设备读入存储器330和/或存储部件340。当被执行时,存储在存储器330和/或存储部件340中的软件指令可以使处理器320执行本技术描述的一个或多个过程。附加地或替换地,硬连线电路可以代替软件指令或与软件指令结合使用,以执行本技术描述的一个或多个过程。因此,本技术描述的实现方式不限于硬件电路和软件的任何特定组合。
47.图3中所示的部件的数量和布置被提供作为示例。在实践中,设备300可以包括与图3所示的部件相比更多的部件、更少的部件、不同的部件或不同布置的部件。附加地或替换地,设备300的一组部件(例如,一个或多个部件)可以执行被描述为由设备300的另一组部件执行的一个或多个功能。
48.如上所述,合成训练数据是解决训练数据不足的一种可行方法。最近的研究已经采用增强现实(ar)模拟器来生成大规模的训练示例。以此,可以系统地合成具有各种姿势、皮肤纹理和光照条件的许多手部图像。此外,还可以对这些合成的手部图像进行准确的手部关键点注释。但是,由于真实数据和合成数据之间的差异,使用这种合成图像进行训练,不会导致手部姿势估计器有很大的改进。因此,如上示例性实施例所述,将前景中的合成手部姿势图像106与真实背景图像108混合,使得混合图像102足够逼真以用作高质量的训练数据。
49.虽然通过使用ar模拟器进行数据增强,可以缓解训练数据的不足,但是合成图像的背景是人工的。合成的和真实的手部姿势之间的背景色调和颜色分布是不一致的。这些问题使得合成的手部姿势不太适合作为训练数据。pix2pix网络提供了一个利用形状图来
约束输出图像的示例。本技术示例性实施例中,使用blendgan 104来考虑颜色分布和形状特征。
50.图4图示了根据实施例的blendgan 104的示例。给定叠加图像x,对应于上述合成手部图像110,模糊对应物xb和形状图xs分别用作颜色参考和形状参考。模糊对应物xb可以通过对x应用平均滤波器来导出,而形状图xs可以通过使用整体嵌套边缘检测(hed)检测器来获得。对于真实图像y,对应于一个真实的非合成的手部真实图像,可以使用相同的方案来提取形状图ys和颜色图yb。形状图xs和颜色图xc可以作为附加输入层,发送到生成器402和鉴别器404,使得xs、xb和输出g(xs,xb,z)被变换成联合隐藏表示。
51.blendgan导出从形状图xs和颜色图xb到生成图像g(xs,xb,z)之间的映射。生成器102(可以表示为g)通过将合成手部姿势(例如合成手部姿势图像106)与真实背景图像(例如真实背景图像108)混合,来学习产生逼真的图像,以欺骗鉴别器104(可以表示为d),而鉴别器104旨在从真实图像中分离出伪图像或合成图像。
52.在训练期间,blendgan 104学习从xs、xb、随机矢量z到所生成的输出y之间的映射,即g:{xs,xb,z}

y。blendgan 104的目标可以被设计为等式1,如下所示:
[0053][0054]
在blendgan 104中表示为g的生成器402,可以使用等式2进行优化,如下所示:
[0055]g*
=argmingmaxdl
tagan
(g,d) l
ta
(g,xs,xb)
ꢀꢀꢀ
(2)
[0056]
其中,表示损失函数,用于增强xs和y间的形状相似性以及xb和y之间的颜色一致性。损失可以由等式3定义,如下所示:
[0057][0058]
其中,dc(.)和ds(.)分别表示颜色距离函数和形状距离函数。常数λ1和λ2是权重。形状距离函数ds表示为等式4,如下所示:
[0059]ds
(xb,xs,z,y)=‖y-g(xb,xs,z)‖
ꢀꢀꢀ
(4)
[0060]
除了形状条件之外,使用色调对齐损失来对齐输入图像和生成图像的颜色分布,可以使用等式5定义来dc,如下所示:
[0061][0062]
其中,hy和hg分别表示y和g(xb,xs,z)的颜色直方图。因此,dc(
·
)可以是两个直方图之间的kullback-leibler散度。
[0063]
图5是用于使用blendgan(例如blendgan 104)合成手部图像的示例过程500的流程图。在一些实现方式中,图5的一个或多个过程框可以由平台220执行。在一些实现方式中,图5的一个或多个过程框可以由与平台220分离或包括平台220的另一设备或一组设备(诸如用户设备210)执行。
[0064]
如图5所示,过程500可以包括获取合成3d手部姿势,例如,合成手部姿势106,包括手部的3d模型(框510)。
[0065]
如图5中进一步所示,过程500可以包括获取真实背景图像,例如,真实背景图像108(框520)。
[0066]
如图5中进一步所示,过程500可以包括将合成3d手部姿势与真实背景图像进行组
合,创建合成手部图像,例如,合成手部图像110(框530)。
[0067]
如图5中进一步所示,过程500可以包括使用blendgan(例如blendgan 104)对合成手部图像进行混合,创建混合的合成手部图像,其可以对应于例如逼真的手部姿势图像102(框540)。
[0068]
在实施例中,混合的合成手部图像可以包括在多个混合的合成手部图像中,并且过程500可以进一步包括使用多个混合的合成手部图像,训练手部姿势估计算法。
[0069]
在实施例中,合成3d手部图像可以包括3d手部关键点注释,并且真实背景图像可以从诸如照片的静止图像获得。
[0070]
在实施例中,blendgan可以包括生成器算法(例如生成器402)和鉴别器算法(例如鉴别器404)。
[0071]
在实施例中,可以通过对真实手部图像应用平均滤波器,创建真实手部图像的颜色图,并且可以通过对合成手部图像应用平均滤波器,创建合成手部图像的颜色图。
[0072]
在实施例中,可以通过对真实手部图像执行整体嵌套边缘检测,创建真实手部图像的形状图,并且可以通过对合成手部图像执行整体嵌套边缘检测,创建合成手部图像的形状图。
[0073]
虽然图5示出了过程500的示例框,但是在一些实现方式中,过程500可以包括与图4中描绘的那些框相比更多的框、更少的框、不同的框或不同布置的框。附加地或替换地,可以并行地执行过程500的两个或更多个框。
[0074]
上述公开内容提供了说明和描述,但并不旨在穷举或将实现方式限制为所公开的精确形式。根据上述公开内容可以进行修改和变化,或者可以从实现方式的实践中获得修改和变化。
[0075]
如本技术所使用的,术语部件旨在被广泛地解释为硬件、固件或硬件和软件的组合。
[0076]
显然,本技术描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不是对实现方式的限制。因此,本技术描述了系统和/或方法的操作和行为,而没有参考特定的软件代码——应当理解,软件和硬件可以被设计成基于本技术的描述来实现系统和/或方法。
[0077]
即使在权利要求中列举和/或在说明书中公开了特征的特定组合,这些组合并不旨在限制可能实现方式的公开。事实上,这些特征中的许多特征可以以权利要求中未具体叙述和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可以直接依赖于仅一个权利要求,但是可能实现方式的公开包括与权利要求集中的所有其它权利要求结合的每个从属权利要求。
[0078]
除非明确说明,否则本技术使用的任何元素、行为或指令均不应被解释为关键或必要的。此外,如本技术所使用的,冠词“一(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本技术所使用的,术语“组”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”互换使用。在仅意指一个项目的情况下,使用术语“一个(one)”或类似语言。此外,如本技术所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献