使用循环一致对抗网络增强用于手部姿势估计的可靠训练数据

文档序号:1926673 发布日期:2021-12-03 浏览:9次 >En<

阅读说明:本技术 使用循环一致对抗网络增强用于手部姿势估计的可靠训练数据 (Enhancing reliable training data for hand pose estimation using a cyclic consensus antagonism network ) 是由 林斯姚 谢于晟 王堃 韩连漪 范伟 于 2020-03-27 设计创作,主要内容包括:一种用于生成用于手部姿势估计的增强训练数据的方法和设备包括:接收与第一光照条件相关联的源数据。接收与第二光照条件相关联的目标数据。确定第一光照条件与第二光照条件之间的光照条件转换。基于光照条件转换和源数据来生成光照转换数据。基于目标数据和光照转换数据来生成用于手部姿势估计的增强训练数据。(A method and apparatus for generating enhanced training data for hand pose estimation comprising: source data associated with a first lighting condition is received. Target data associated with a second lighting condition is received. A lighting condition transition between the first lighting condition and the second lighting condition is determined. Illumination conversion data is generated based on the illumination condition conversion and the source data. Enhanced training data for hand pose estimation is generated based on the target data and the illumination conversion data.)

使用循环一致对抗网络增强用于手部姿势估计的可靠训练 数据

相关申请的交叉引用

本申请要求于2019年5月24日提交于美国专利与商标局的美国专利申请第16/421,607号的优先权,该美国专利申请通过引用其整体并入本文。

背景技术

数十年来,估计人类手部姿势由于其对许多领域例如人类行为分析、医疗保健、机器人、人机交互等的广泛适用性而引起了越来越多的关注。最近的研究工作已经成功地利用了深度神经网络(deep neural network,DNN)来从单目图像或深度图推断手部姿势。尽管性能相对较好,但是利用DNN推断手部姿势需要大量训练数据。这一要求在实践中可能无法满足。

发明内容

根据本公开内容的一方面,一种用于生成用于手部姿势估计的增强训练数据的方法包括:由设备接收与第一光照条件相关联的源数据;由该设备接收与第二光照条件相关联的目标数据;由该设备并且使用模型确定第一光照条件与第二光照条件之间的光照条件转换;由该设备基于第一光照条件与第二光照条件之间的光照条件转换,使用源数据来生成光照转换数据;以及由该设备基于目标数据和光照转换数据来生成用于手部姿势估计的增强训练数据。

根据本公开内容的一方面,一种设备包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取程序代码并且按照程序代码所指示的进行操作,该程序代码包括:接收代码,其被配置成使至少一个处理器:接收与第一光照条件相关联的源数据;以及接收与第二光照条件相关联的目标数据;确定代码,其被配置成使至少一个处理器使用模型确定第一光照条件与第二光照条件之间的光照条件转换;以及生成代码,其被配置成使至少一个处理器:基于第一光照条件与第二光照条件之间的光照条件转换,使用源数据来生成光照转换数据;以及基于目标数据和光照转换数据来生成用于手部姿势估计的增强训练数据。

根据一些可能的实现方式,一种存储指令的非暂态计算机可读介质,该指令包括以下一个或更多个指令:所述一个或更多个指令在由设备的一个或更多个处理器执行时使一个或更多个处理器:接收与第一光照条件相关联的源数据;接收与第二光照条件相关联的目标数据;使用模型确定第一光照条件与第二光照条件之间的光照条件转换;基于第一光照条件与第二光照条件之间的光照条件转换,使用源数据来生成光照转换数据;以及基于目标数据和光照转换数据来生成用于手部姿势估计的增强训练数据。

附图说明

图1是本文所描述的示例实现方式的概述的图;

图2是在其中可以实现本文中描述的系统和/或方法的示例环境的图;

图3是图2的一个或更多个设备的示例部件的图;以及

图4是用于使用循环一致对抗网络(cycle-consistent adversarial network,CycleGAN)生成增强训练数据的示例处理的流程图。

具体实施方式

本公开内容提供了用于生成用于手部姿势估计的可靠的增强训练数据以训练鲁棒深度模型的数据增强方法。利用诸如Blender、Maya、3DMAX等的各种三维(threedimensional,3D)模型模拟器,本文中的一些实现方式容易地产生用于模型训练的大量合成的3D手部姿势图像。

合成的手部姿势图像可以用各种手部姿势来表示,并且可以包括不同的光照条件。为了产生真实的训练示例,可以通过将合成的手部姿势图像附加至真实世界背景图像中来生成增强数据。为了提高所生成的图像的准确性,本文中的一些实现方式提供了基于循环一致对抗网络(CycleGAN)的图像到图像风格转换方案,以学习合成的手部姿势图像(源图像)的光照条件与背景图像(目标图像)的光照条件之间的映射。

利用DNN从单目图像(或深度图)推断手部姿势需要大量的训练示例。这一需求在实践中可能无法得到满足。为了解决这个问题,存在如下提供的两种主要的解决方案。

转移学习是用于在有限的训练数据的情况下训练神经网络的一种广泛采用的解决方案。使用源域中的大型数据集预先训练DNN模型。通过学习从源域到目标域的变换,目标域中的DNN模型可以重新使用来自源域中的参数,并且使用有限的训练数据进行微调。

最近的研究工作通过使用大量合成的示例来训练模型来提供改进的姿势估计模型。可以使用任何商业3D模型模拟器容易地生成合成的数据。利用用于模型训练的合成的训练数据可以缓解有限的训练数据的问题。

对于通过模拟器的转移学习和数据增强方案,存在两个关键的限制。

转移学习可能仅在源域和目标域中的数据模态是相同例如为图像时才工作。在现代真实世界的应用中,可以使用诸如加速度计、陀螺仪、数据手套、光学运动捕捉系统等各种新兴的或定制的设备来捕获数据。另一方面,公共手部姿势数据集的规模仍然不够。

关于由模拟器产生的合成的数据,这种策略的主要问题是合成的背景不真实。为了生成用于模型训练的更真实的数据,将合成的手部姿势图像和真实世界背景图像组合是更合适的。然而,这两种图像之间的光照条件可能不一致。

生成对抗网络(Generative Adversarial Network,GAN)可以被训练成将图像从一种图像转换成另一种图像并且从另一种图像转换成一种图像。标准图像到图像转换的目标是使用对齐图像对的训练集来学习输入图像与输出图像之间的映射。然而,针对许多任务的配对的训练数据可能不可用。CycleGAN已被开发用于在没有配对的训练示例的情况下将图像从源域X转换至目标域Z。为了解决合成的手部姿势图像和背景图像的不同光照条件的问题,本公开内容提供了利用CycleGAN来确定从合成的手部姿势图像到背景图像的光照转换以生成看起来更真实的数据的方法。以这种方式,可以使用这种改进的训练数据来训练模型,从而提高模型的功能性和准确性。

图1是用于生成用于手部姿势估计的增强训练数据的方法的概述。

如图1并且由附图标记110所示,光照转换模型接收源数据。源数据可以包括与第一光照条件相关联的合成的手部姿势图像。例如,第一光照条件可以指代合成的手部姿势图像的颜色参数、值、色相、色调、效果等。可以使用三维模型模拟器生成源数据。

如由附图标记120所示,光照转换模型接收目标数据。目标数据可以包括与第二光照条件相关联的真实世界图像。例如,第二光照条件可以指代真实世界图像的颜色参数、值、色相、色调、效果等。此外,第二光照条件可以与第一光照条件不同。换句话说,合成的手部姿势图像和真实世界图像如果叠加,则可能会显得不真实。

如由附图标记130所示,光照转换模型可以确定光照条件转换。光照转换模型可以是循环一致对抗网络(CycleGAN)。此外,光照转换模型可以被配置成基于源数据和目标数据确定光照条件转换。例如,光照条件转换可以指代映射光照条件的值、量等。作为具体的示例,光照条件转换可以指代映射合成的源图像的第一光照条件和真实世界图像的第二光照条件的值、量等。

如由附图标记140所示,光照转换模型可以生成光照转换数据。光照转换数据可以包括使用光照条件转换调整后的源数据。换句话说,光照转换数据可以是包括第二光照条件而不是第一光照条件的源数据。以这种方式,光照转换数据和目标数据包括一致的光照条件。

如由附图标记150所示,基于目标数据和光照转换数据生成用于手部姿势估计的增强训练数据。增强训练数据可以包括目标数据与叠加的光照转换数据。

以这种方式,可以针对目标数据的不同光照条件来转换合成的手部姿势图像,并且将其添加至各种背景图像以增加训练数据的多样性,其中合成的手部姿势图像的光照条件与背景图像的光照条件是一致的。以这种方式,可以使用大量合成的训练数据来训练手部姿势估计器模型。

本文中的一些实现方式通过使用CycleGAN来确定源图像与目标图像之间的光照转换映射。

此外,并且以这种方式,本文中的一些实现方式生成更真实且可靠的合成的训练示例。最终,可以使用这些生成的训练数据来训练手部姿势估计模型,从而提高手部姿势估计模型的准确性。

图2是在其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括用户设备210、平台220和网络230。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合进行互连。

用户设备210包括能够接收、生成、存储、处理和/或提供与平台220相关联的信息的一个或更多个设备。例如,用户设备210可以包括计算设备(例如,台式计算机、笔记本电脑、平板电脑、掌上电脑、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一副智能眼镜或者智能手表)或者类似的设备。在一些实现方式中,用户设备210可以从平台220接收信息和/或向平台220发送信息。

平台220包括如本文中其他地方描述的能够生成用于手部姿势估计的增强训练数据的一个或更多个设备。在一些实现方式中,平台220可以包括云服务器或云服务器组。在一些实现方式中,平台220可以被设计成模块化的,使得可以根据特定需要换入或换出某些软件部件。因此,可以容易地和/或快速地针对不同的用途重新配置平台220。

在一些实现方式中,如所示出的,平台220可以被托管在云计算环境222中。值得注意的是,虽然本文中描述的实现方式将平台220描述为托管在云计算环境222中,但是在一些实现方式中,平台220不是基于云的(即,可以在云计算环境的外部实现),或者可以是部分基于云的。

云计算环境222包括托管平台220的环境。云计算环境222可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备210)知道托管平台220的系统和/或设备的物理位置和配置。如所示出的,云计算环境222可以包括一组计算资源224(统称为“计算资源(computing resources)224”并且单独称为“计算资源(computingresource)224”)。

计算资源224包括一个或更多个个人计算机、工作站计算机、服务器设备或其他类型的计算和/或通信设备。在一些实现方式中,计算资源224可以托管平台220。云资源可以包括在计算资源224中执行的计算实例、在计算资源224中提供的存储设备、由计算资源224提供的数据传输设备等。在一些实现方式中,计算资源224可以经由有线连接、无线连接或者有线连接和无线连接的组合与其他计算资源224通信。

如图2进一步所示,计算资源224包括一组云资源,例如一个或更多个应用(“application,APP”)224-1、一个或更多个虚拟机(“virtual machine,VM”)224-2、虚拟化存储装置(“virtualized storage,VS”)224-3、一个或更多个监管器(“hypervisor,HYP”)224-4等。

应用224-1包括可以提供给用户设备210和/或传感器设备220或者由用户设备210和/或传感器设备220访问的一个或更多个软件应用。应用224-1可以消除在用户设备210上安装和执行软件应用的需求。例如,应用224-1可以包括与平台220相关联的软件和/或能够经由云计算环境222提供的任何其他软件。在一些实现方式中,一个应用224-1可以经由虚拟机224-2向一个或更多个其他应用224-1发送信息/从一个或更多个其他应用224-1接收信息。

虚拟机224-2包括像物理机一样执行程序的机器(例如,计算机)的软件实现。虚拟机224-2可以是系统虚拟机或者处理虚拟机,这取决于虚拟机224-2对任何真实机的使用和对应程度。系统虚拟机可以提供支持完整操作系统(“operating system,OS”)的执行的完整系统平台。处理虚拟机可以执行单个程序,并且可以支持单个处理。在一些实现方式中,虚拟机224-2可以代表用户(例如,用户设备210)执行,并且可以管理云计算环境222的基础架构,例如数据管理、同步或长持续时间数据传输。

虚拟化存储装置224-3包括在计算资源224的存储系统或设备内部使用虚拟化技术的一个或更多个存储系统和/或一个或更多个设备。在一些实现方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指代逻辑存储从物理存储的提取(或分离),以使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员在管理员管理针对终端用户的存储方面的灵活性。文件虚拟化可以消除以文件级别访问的数据与物理地存储文件的位置之间的依赖性。这可以使得能够优化存储使用、服务器整合和/或无中断文件迁移的性能。

监管器224-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224的主计算机上同时执行的硬件虚拟化技术。监管器224-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。

网络230包括一个或更多个有线网络和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(long-term evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(code division multiple access,CDMA)网络等)、公共陆地移动网络(public land mobile network,PLMN)、局域网(localarea network,LAN)、广域网(wide area network,WAN)、城域网(metropolitan areanetwork,MAN)、电话网络(例如,公共交换电话网络(Public Switched TelephoneNetwork,PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等以及/或者这些或其他类型的网络的组合。

图2所示的设备和网络的数目和布置被作为示例提供。实际上,与图2所示的那些设备和/或网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以被实现为多个分布式设备。附加地或替选地,环境200的一组设备(例如,一个或更多个设备)可以执行被描述为由环境200的另一组设备执行的一个或更多个功能。

图3是设备300的示例部件的图。设备300可以对应于用户设备210和/或平台220。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360和通信接口370。

总线310包括允许设备300的部件之间通信的部件。处理器320以硬件、固件或者硬件和软件的组合来实现。处理器320是中央处理单元(central processing unit,CPU)、图形处理单元(graphics processing unit,GPU)、加速处理单元(accelerated processingunit,APU)、微处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)或另一类型的处理部件。在一些实现方式中,处理器320包括能够被编程为执行功能的一个或更多个处理器。存储器330包括随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)以及/或者存储供处理器320使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器和/或光存储器)。

存储部件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储部件340可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、致密盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)、软盘、盒式磁带、磁带和/或另一类型的非暂态计算机可读介质以及对应的驱动器。

输入部件350包括允许设备300例如经由用户输入接收信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或替选地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(global positioning system,GPS)部件、加速度计、陀螺仪和/或致动器)。输出部件360包括提供来自设备300的输出信息的部件(例如,显示器、扬声器和/或一个或更多个发光二极管(light-emitting diode,LED))。

通信接口370包括使得设备300能够例如经由有线连接、无线连接或者有线连接和无线连接的组合与其他设备通信的类似收发器的部件(例如,收发器和/或单独的接收器和发送器)。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光接口、同轴接口、红外接口、射频(radiofrequency,RF)接口、通用串行总线(universal serial bus,USB)接口、Wi-Fi接口、蜂窝网络接口等。

设备300可以执行本文中描述的一个或更多个处理。设备300可以响应于处理器320执行由诸如存储器330和/或存储部件340的非暂态计算机可读介质存储的软件指令来执行这些处理。计算机可读介质在本文中被限定为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。

可以经由通信接口370从另一计算机可读介质或从另一设备将软件指令读入存储器330和/或存储部件340中。当被执行时,存储在存储器330和/或存储部件340中的软件指令可以使处理器320执行本文中描述的一个或更多个处理。附加地或替选地,可以使用硬连线电路来代替软件指令或者与软件指令组合来执行本文中描述的一个或更多个处理。因此,本文中描述的实现方式不限于硬件电路与软件的任何特定组合。

图3所示的部件的数目和布置被作为示例提供。实际上,与图3所示的那些部件相比,设备300可以包括附加的部件、更少的部件、不同的部件或不同地布置的部件。附加地或替选地,设备300的一组部件(例如,一个或更多个部件)可以执行被描述为由设备300的另一组部件执行的一个或多个功能。

图4是用于生成用于手部姿势估计的增强训练数据的示例处理400的流程图。在一些实现方式中,图4的一个或更多个处理块可以由平台220执行。在一些实现方式中,图4的一个或多个处理块可以由与平台220分离或者包括平台220的另一设备或一组设备例如用户设备210执行。

如图4所示,处理400可以包括接收与第一光照条件相关联的源数据(块410)。

如图4进一步所示,处理400可以包括接收与第二光照条件相关联的目标数据(块420)。

如图4进一步所示,处理400可以包括使用模型确定第一光照条件与第二光照条件之间的光照条件转换(块430)。

如图4进一步所示,处理400可以包括确定经转换的光照条件与第二光照条件之间的相似度值是否满足阈值(块440)。例如,经转换的光照条件可以指代经调整的第一光照条件。

如图4进一步所示,如果相似度值不满足阈值(块450-否),则处理400可以包括对模型进行更新。

如图4进一步所示,如果相似度值确实满足阈值(块450-是),则处理400可以包括生成光照转换数据和增强训练数据。

尽管图4示出了处理400的示例块,但是在一些实施方式中,与图4所描绘的那些块相比,处理400可以包括附加的块、更少的块、不同的块或不同地布置的块。附加地或替选地,处理400的块中的两个或更多个块可以并行执行。

前述公开内容提供了说明和描述,但并非旨在是穷举的或者将实现方式限制为所公开的精确形式。鉴于以上公开内容,可以进行修改和变型,或者可以从实现方式的实践中获得修改和变型。

如本文中使用的,术语部件旨在被广义地解释为硬件、固件或者硬件和软件的组合。

将明显的是,本文中描述的系统和/或方法可以以不同形式的硬件、固件或者硬件和软件的组合来实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为——应当理解的是,可以将软件和硬件设计成基于本文中的描述实现系统和/或方法。

即使在权利要求中记载了以及/或者在说明书中公开了特征的特定组合,这些组合也不旨在限制可能的实现方式的公开内容。实际上,这些特征中的许多特征可以以权利要求中未具体记载以及/或者说明书中未公开的方式组合。尽管所列出的每个从属权利要求可能直接引用仅一个权利要求,但是可能的实现方式的公开内容包括结合权利要求组中的每个其他权利要求的每个从属权利要求。

除非对此明确地描述,否则本文中使用的元件、动作或指令均不应当被解释为关键的或必要的元件、动作或指令。此外,如本文中使用的,冠词“一种”和“一个”旨在包括一个或更多个项,并且可以与“一个或更多个”互换使用。此外,如本文所使用的,术语“组”旨在包括一个或更多个项(例如,相关项、不相关项、相关项与不相关项的组合等),并且可以与“一个或更多个”互换使用。在意指仅一项的情况下,使用术语“一个”或类似语言。此外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在为开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:根据摆姿势的单目视频的边界估计

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!