CN111898172A - 虚拟世界中的经验学习 - Google Patents

虚拟世界中的经验学习 Download PDF

Info

Publication number
CN111898172A
CN111898172A CN202010371444.1A CN202010371444A CN111898172A CN 111898172 A CN111898172 A CN 111898172A CN 202010371444 A CN202010371444 A CN 202010371444A CN 111898172 A CN111898172 A CN 111898172A
Authority
CN
China
Prior art keywords
domain
scene
virtual
scenario
real
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.)
Pending
Application number
CN202010371444.1A
Other languages
English (en)
Inventor
A·雷耶步斯夫
M·布尔克纳福德
M·梅兹格汉尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of CN111898172A publication Critical patent/CN111898172A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Medical Informatics (AREA)

Abstract

本发明尤其涉及一种计算机实现的机器学习方法。该方法包括提供场景的测试数据集。测试数据集属于测试域。该方法包括提供域自适应神经网络。域自适应神经网络是对从训练域获得的数据进行学习的机器学习的神经网络。域自适应神经网络被配置用于推断测试域的场景中的空间上能够重构的对象。该方法还包括确定中间域。就数据分布而言,中间域比测试域更接近训练域。该方法还包括通过应用域自适应神经网络,根据在中间域上转移的测试域的场景来推断空间上能够重构的对象。这样的方法构成了用包括空间上能够重构的对象的场景的数据集的改进的机器学习方法。

Description

虚拟世界中的经验学习
技术领域
本公开涉及计算机程序和系统的领域,并且更具体地涉及具有包括空间上能够重构的对象的场景的数据集的机器学习的方法、系统和程序。
背景技术
市场上提供了许多用于对象的设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩略词,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩略词,例如它涉及用于仿真未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩略词,例如它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要的作用。这些技术可能嵌入在产品生命周期管理(PLM)系统内。PLM指的是一种商业策略,其帮助公司共享产品数据,应用公共过程,并利用公司知识进行从概念到产品生命尽头的跨扩展企业概念的产品开发。由达索系统(Dassault Systèmes)(以CATIA、ENOVIA和DELMIA为商标)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心和实现企业集成和连接到工程和制造中心中的企业中心。整个系统提供了开放的对象模型,所述对象模型连接产品、过程和资源,以实现动态的、基于知识的产品创建和决策支持,其驱动优化的产品定义、制造准备、生产和服务。
在该上下文和其他上下文中,机器学习正变得越来越重要。
以下论文与该领域相关,并且在下文中引用:
[1]A.Gaidon,Q.Wang,Y.Cabon,and E.Vig,“Virtual worlds as proxy formulti-object tracking analysis,”in CVPR,2016.
[2]S.R.Richter,V.Vineet,S.Roth,and V.Koltun,“Playing for data:Groundtruth from computer games,”in ECCV,2016.
[3]M.Johnson-Roberson,C.Barto,R.Mehta,S.N.Sridhar,K.Rosaen,andR.Vasudevan,“Driving in the matrix:Can virtual worlds replace human-generatedannotations for real world tasks?”in ICRA,2017.
[4]S.R.Richter,Z.Hayder,and V.Koltun,“Playing for benchmarks,”inICCV,2017.
[5]S.Hinterstoisser,V.Lepetit,P.Wohlhart,and K.Konolige,“Onpretrained image features and synthetic images for deep learning,”in arXiv:1710.10710,2017.
[6]D.Dwibedi,I.Misra,and M.Hebert,“Cut,paste and learn:Surprisinglyeasy synthesis for instance detection,”in ICCV,2017.
[7]J.Tobin,R.Fong,A.Ray,J.Schneider,W.Zaremba,and P.Abbeel,“Domainrandomization for transferring deep neural networks from simulation to thereal world,”in IEEE/RSJ International Conference on Intelligent Robots andSystems(IROS),2017.
[8]J.Tremblay,A.Prakash,D.Acuna,M.Brophy,V.Jampani,C.Anil,T.To,E.Cameracci,S.Boochoon,andS.Birchfield,“Training deep networks with syntheticdata:Bridging the reality gap by domain randomization,”in CVPR Workshop onAutonomous Driving(WAD),2018.
[9]K.He,G.Gkioxari,P.Dollar,and R.Girshick.“Mask r-cnn“.arXiv:1703.06870,2017.
[10]J.Deng,A.Berg,S.Satheesh,H.Su,A.Khosla,and L.Fei-Fei.ILSVRC-2017,2017.URLhttp://www.image-net.org/challenges/LSVRC/2017/.
[11]Y.Chen,W.Li,and L.Van Gool.ROAD:Reality oriented adaptation forsemantic segmentation of urban scenes.In CVPR,2018.
[12]Y.Chen,W.Li,C.Sakaridis,D.Dai,and L.Van Gool.Domain adaptiveFaster R-CNN for object detection in the wild.In CVPR,2018.
[13]Y.Zou,Z.Yu,B.Vijaya Kumar,and J.Wang.Unsupervised domainadaptation for semantic segmentation via class-balanced self-training.InECCV,September 2018.
[14]A.Geiger,P.Lenz,and R.Urtasun,“Are we ready for autonomousdriving?The KITTI vision benchmark suite,”in CVPR,2012.
[15]A.Prakash,S.Boochoon,M.Brophy,D.Acuna,E.Cameracci,G.State,O.Shapira,and S.Birchfield.Structured domain randomization:Bridging thereality gap by contextaware synthetic data.arXiv preprint arXiv:1810.10093,2018.
[16]J.Deng,W.Dong,R.Socher,L.-J.Li,K.Li,and L.Fei-Fei.ImageNet:ALarge-Scale Hierarchical Image Database.In CVPR09,2009.
[17]T.-Y.Lin,M.Maire,S.Belongie,J.Hays,P.Perona,D.Ramanan,P.Dollar,and C.L.Zitnick.Microsoft COCO:Common objects in′context.In ECCV.2014.
[18]Shaoqing Ren,Kaiming He,Ross B.Girshick,and Jian Sun.Faster R-CNN:towards real-time object detection with region proposal networks.CoRR,abs/1506.01497,2015.
[19]D.E.Rumelhart,G.E.Hinton,R.J.Williams,Learning internalrepresentations by error propagation,Parallel distributed processing:explorations in the microstructure of cognition,vol.1:foundations,MIT Press,Cambridge,MA,1986.
[20]Jun-Yan Zhu,Taesung Park,Phillip Isola,and AlexeiA.Efros.Unpaired image-to-image translation using cycle-consistentadversarial networks.CoRR,abs/1703.10593,2017.
[21]M.Heusel,H.Ramsauer,T.Unterthiner,B.Nessler,and S.Hochreiter.Ganstrained by a two time-scale update rule converge to a local nashequilibrium.In Advances in Neural Information Processing Systems(NIPS),2017.
[22]C.Szegedy,W.Liu,Y.Jia,P.Sermanet,S.Reed,D.Anguelov,D.Erhan,V.Vanhoucke,and A.Rabinovich.Going deeper with convolutions.In Proceedings ofthe IEEE Conference on Computer Vision and Pattern Recognition,pages1–9,2015.
深度学习技术已经在2D/3D对象识别和检测、语义分割、姿势估计或运动捕捉之类的若干领域显示了出色的性能(参见[9,10])。然而,此类技术通常(1)需要大量的训练数据来充分发挥其潜能,并且(2)通常需要昂贵的手动标记(也称为注释):
(1)实际上,因为数据稀缺或机密性原因,因此在若干领域(例如,制造、健康或室内运动捕捉的域)中,很难收集数十万的标记数据。公开可用的数据集通常包括日常生活中的对象,这些对象经由众包平台手动标记(参见[16,17])。
(2)除了数据收集问题外,标记还非常耗时。公知的ImageNet数据集的注释(参见[16])持续了数年,其中每个图像都用“仅”单个标签标记。每图像的逐像素标记平均需要超过一小时。另外,手动注释可能会出现一些错误,并且缺乏准确性。一些注释需要域特定的专有技术(例如,制造装备标签)。
出于所有这些原因,近年来,利用虚拟数据来学习深度模型已引起越来越多的关注(参见[1、2、3、4、5、6、7、8、15])。虚拟(也称为合成)数据是使用CAD或3D建模软件创建的计算机生成的数据,而不是由实际事件生成的数据。实际上,可以生成虚拟数据来满足现有(真实)数据中不可用的非常特定的需求或条件。当隐私需要限制了数据的可用性或使用,或者当根本不存在测试环境所需的数据时,这可以很有用。注意到,在虚拟数据的情况下,标签是没有成本且没有错误的。
然而,虚拟数据和真实数据之间的固有域差异(也称为现实差距(reality gap))可能会使学习的模型无法胜任现实世界场景。这主要是由于过拟合问题,导致网络学习仅存在于虚拟数据中的详细信息,而未能很好地泛化并无法提取真实数据的信息表示。
最近,特别是对于与自动驾驶汽车有关的识别问题变得普遍的一种方式是收集照片现实的虚拟数据(photo-realistic virtual data),该数据可以以低成本自动注释,例如视频游戏数据。
例如,Richter等(参见[2])构建了大规模的合成城市场景数据集,用于来自GTAV游戏的语义分割。基于GTA的数据(参见[2、3、4])使用大量资产来生成各种现实的驾驶环境,这些环境可以以像素级别自动标记(约25K个图像)。此类照片现实的虚拟数据通常不存在于除了驾车和城市上下文之外的领域。例如,现有的虚拟制造环境是非照片现实的基于CAD的环境(对于制造领域不存在视频游戏)。制造规范不要求照片现实性(realism)。此外,在这样的虚拟环境中具有阴影和亮点(lightening)可能会令人困惑。因此,所有工作都集中在制作语义和几何上精确的CAD模型而不是照片现实的CAD模型上。此外,由于不同车间和工厂的布局之间存在很大可变性,因此为训练目的创建照片现实的制造环境并不相关。与城市上下文不同(在城市上下文中,城市场景具有很强的特质性(例如,建筑物、街道、汽车等的大小和空间关系)),没有用于制造场景的“固有”空间结构。还要注意,一些以前的工作(例如,VKITTI(参见[1]))创建了现实世界的驾驶场景的副本,并且因此与那些原始的真实数据高度相关,并且缺乏可变性。
此外,即使具有高度的现实性,如何有效地使用照片现实的数据来训练神经网络对真实数据进行操作也并不明显。通常,在训练神经网络期间会使用跨域自适应组件(参见[11、12、13]),以缩小虚拟表示与真实表示之间的差距。
综上所述,照片现实的虚拟数据集需要小心设计的仿真环境或存在带注释的真实数据作为起点,这在许多领域(例如,制造)中都是不可行的。
为了减轻这种困难,Tobin等人(参见[7])引入了域随机化(DR)的概念,在这种概念中,避免了现实渲染,而倾向于随机变化。他们的方法随机改变前景对象的纹理和颜色、背景图像、场景中的灯的数量、灯的姿势、相机位置和前景对象。目标是通过生成具有足够变化量(网络将现实世界数据视为另一种变化量)的虚拟数据来缩小现实差距。他们使用DR来训练神经网络,以估计各种基于形状的对象相对于固定于桌子的机械臂的3D世界位置。最近的工作(参见[8])展示了DR在现实世界KITTI数据集中实现汽车2D边界框检测的最高水准(参见[14])。然而,在这样的变化量的情况下,DR需要非常大量的数据进行训练(每对象类别约100K),网络经常发现很难学习正确的特征,并且缺乏上下文导致DR无法检测到较小的对象或被遮挡的对象。实际上,这项工作的结果限于(1)较大的汽车,其(2)完全可见(KITTI Easy数据集)。当用于诸如对象检测之类的复杂推断任务时,此方法需要边界框内有足够的像素以供经学习的模型在无周围上下文的情况下做出决策。所有这些缺点在(参见[15])中得到了定量的证实。
为了处理更具挑战性的标准(例如,较小的汽车、部分遮挡),[15]的作者提出了DR的变体,其中他们通过根据由眼前的特定问题(即,在城市上下文中的汽车检测)产生的概率分布而不是先前基于DR的工作中使用的统一概率分布随机地放置对象,来利用城市上下文信息和城市结构场景。
同样,基于DR的方法(参见[5、6、7、15])主要集中在“容易”对象类上,这些对象类的类内可变性很小(例如“汽车”类)。显著的类内可变性可能会导致这些方法的性能显著下降,因为在数据创建期间要考虑的变化量可能呈指数增长。在空间上能够重构的对象就是这种情况,例如铰接的对象。
空间上能够重构的对象或铰接的对象是具有经由关节附件的组件的并且可以相对于彼此移动的对象,这可以给予每种对象类型无限可能的状态范围。
在处理多个对象类(类间与类内可变性)的同时,可能会出现相同的问题。
在这种上下文内,仍然需要使用包括空间上能够重构的对象的场景数据集来改进机器学习的方法。
发明内容
因此,提供了一种计算机实现的机器学习方法。该方法包括提供场景的测试数据集。测试数据集属于测试域。该方法包括提供域自适应神经网络。域自适应神经网络是对从训练域获得的数据学习的机器学习的神经网络。自适应神经网络被配置用于推断测试域场景中的空间上能够重构的对象。该方法还包括确定中间域。就数据分布而言,中间域比测试域更接近训练域。该方法还包括通过应用域自适应神经网络,从在中间域上转移的测试域的场景中推断空间上能够重构的对象。
该方法可以包括以下各项中的一项或多项:
-对于测试数据集的每个场景,对中间域的确定包括:
·将测试数据集的场景变换为就数据分布而言更接近训练域的另一个场景;
-场景的变换包括:
·根据测试数据集的场景生成虚拟场景,另一个场景是根据测试数据集的场景和所生成的虚拟场景来推断的;
-根据测试数据集的场景生成虚拟场景包括将虚拟场景生成器应用于测试数据集的场景,该虚拟场景生成器是机器学习的神经网络,其被配置用于从测试域的场景中推断虚拟场景;
-已经在均包括一个或多个空间上能够重构的对象的场景数据集上学习了虚拟场景生成器;
-确定中间域还包括将测试数据集的场景与所生成的虚拟场景进行混合,该混合产生另一个场景;
-测试数据集的场景与生成的虚拟场景的混合是线性混合;
-测试数据集包括真实场景;
-测试数据集的每个真实场景都是真实制造场景,其包括一个或多个空间上能够重构的制造工具,该域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具;
-训练域包括虚拟场景的训练数据集,每个场景包括一个或多个空间上能够重构的对象;
-虚拟场景数据集中的每个虚拟场景都是虚拟制造场景,其包括一个或多个空间上能够重构的制造工具,域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具;和/或
-从训练域获得的数据包括另一个中间域的场景,已经在另一个中间域上学习了域自适应神经网络,就数据分布而言,另一个中间域比训练域更接近中间域。
还提供了一种计算机程序,其包括用于执行该方法的指令。
还提供了一种设备,该设备包括在其上记录有计算机程序的数据存储介质。
该设备可以形成或用作非暂时性计算机可读介质,例如在SaaS(软件即服务)或其他服务器上,或在基于云的平台等上。该设备可以替代地包括耦合到数据存储介质的处理器。因此,该设备可以全部或部分地形成计算机系统(例如,该设备是整个系统的子系统)。该系统可以进一步包括耦合到处理器的图形用户界面。
附图说明
现在将通过非限制性示例并参考附图来描述本发明的实施例,其中:
-图1示出了结合该方法的示例的计算机实现的过程的流程图;
-图2至图4示出了流程图,其示出了计算机实现的过程的示例和/或方法的示例;
-图5示出了系统的图形用户界面的示例;
-图6示出了系统的示例;并且
-图7至图32示出了过程和/或方法。
具体实施方式
提供了利用场景的数据集的计算机实现的机器学习方法,场景的数据集包括空间上能够重构的对象。
特别地,提供了第一机器学习方法。第一方法包括提供虚拟场景的数据集。虚拟场景的数据集属于第一域。第一方法还包括提供真实场景的测试数据集。测试数据集属于第二域。第一方法还包括确定第三域。就数据分布而言,第三域比第一域更接近第二域。第一方法还包括基于第三域学习域自适应神经网络。域自适应神经网络是被配置用于推断真实场景中空间上能够重构的对象的神经网络。在下文中,该第一方法可以被称为“域自适应学习方法”。
域自适应学习方法形成了一种利用场景数据集的改进的机器学习方法,场景数据集包括可空间重构对象。
值得注意的是,域自适应学习方法提供了域推断神经网络,该神经网络能够推断真实场景中的空间上能够重构的对象。这允许在推断真实场景中的空间上能够重构的对象的过程(例如,推断真实制造场景中的空间上能够重构的制造工具(例如,工业铰接式机器人)的过程)中使用域自适应学习方法。
此外,可能无法直接在真实场景的数据集上学习域自适应神经网络,但是域自适应神经网络仍然能够推断出真实场景中的实际空间上能够重构的对象。这种改进尤其是通过根据域自适应学习方法确定第三域来实现的。实际上,因为由虚拟场景构成,因此第一域就数据分布而言可能与第二域(即,由真实场景构成的域自适应神经网络的测试数据集的域)相对较远。这样的现实差距可能使将直接基于虚拟场景的数据集的域自适应神经网络的学习变得困难和/或不准确。这样的学习确实可以得到这样的域自适应神经网络,其就推断真实场景中的空间上能够重构的对象而言可能会产生不准确的结果。相反,域自适应学习方法确定了就数据分布而言比第一域更接近第二域的第三域,并将对域自适应神经网络的学习基于该第三域。这使得以下成为可能:对域自适应神经网络的学习能够准确地推断真实场景中的空间上能够重构的对象,而所提供的仅有的数据集(即,作为域自适应学习方法的输入给出)实际上是虚拟场景的数据集。换句话说,学习型和学习后的域自适应神经网络二者都更鲁棒。
这相当于说,虚拟场景的数据集在理论上旨在成为域自适应神经网络的训练集(或学习集),并且域自适应学习方法包括:在实际学习之前,对训练集的预处理阶段(即,确定第三域)以便学习具有先前讨论的改进的域自适应神经网络。换句话说,域自适应神经网络的真正训练/学习域是第三域,并且源于对最初旨在作为域自适应神经网络的训练/学习域的域(即,第一域)的预处理。然而,依靠虚拟场景的数据集作为理论训练集(即,如前所述,在用于训练之前要进行处理)允许使用具有大量场景的数据集。实际上,通常可能没有或至少没有很多可用的包括空间上能够重构的对象的真实场景的大型数据集,所述真实场景例如包括空间上能够重构的制造工具的制造场景。因为隐私/机密性问题,所以此类数据集确实可能很难获得:例如,具有空间上能够重构的制造工具(例如,机器人)的制造场景通常是机密的,并且因此无法公开获得。此外,即使如此大的真实场景数据集将是可获得的,它也可能包含许多注释(例如,标记)错误:对空间上能够重构的对象(例如,制造工具,例如机器人)进行注释对于未拥有针对其的适当的技能的人来说确实可能很困难,因为空间上能够重构的对象可能具有如此众多和/或如此复杂的位置,以至于其在真实场景中的识别和其手工注释将需要一定数量的技能和知识。另一方面,例如通过使用仿真软件来容易地生成虚拟场景,可以容易地获得虚拟场景的大数据集。此外,对虚拟场景中的对象(例如,空间上能够重构的对象)的注释相对容易,并且最重要的是,可以自动执行而没有错误。实际上,仿真软件通常知道与仿真有关的对象的规格,因此可以通过软件自动执行其注释,并且注释错误的风险低。
在示例中,虚拟场景的数据集的每个虚拟场景是包括一个或多个空间上能够重构的制造工具的虚拟制造场景。在这些示例中,将域自适应神经网络被配置为推断真实制造场景中的空间上能够重构的制造工具。附加地或替代地,测试数据集的每个真实场景是包括一个或多个空间上能够重构的制造工具的真实制造场景。在这种情况下,将域自适应神经网络配置为推断真实制造场景中的空间上能够重构的制造工具。
在这样的示例中,在任何情况下域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具(例如,空间上能够重构的制造机器人)。在这些示例中,特别强调了域自适应学习方法带来的先前讨论的改进。特别地,难以依靠包括空间上能够重构的制造工具的大量真实制造场景的训练集,因为这样的集合通常是机密的和/或公开但不充分注释的。另一方面,提供包括空间上能够重构的制造工具的虚拟制造场景的大型数据集作为训练集是特别方便的,因为这样的数据集可以容易地获得并自动注释,例如通过使用能够在虚拟制造环境中生成虚拟仿真的软件。
还提供了一种可根据域自适应学习方法学习的域自适应神经网络。
还提供了第二种计算机实现的机器学习方法。该第二方法包括提供场景的测试数据集。测试数据集属于测试域。第二方法包括提供域自适应神经网络。域自适应神经网络是基于从训练域获得的数据学习的机器学习的神经网络。域自适应神经网络被配置用于推断测试域场景中的空间上能够重构的对象。第二方法还包括确定中间域。就数据分布而言,中间域比测试域更接近训练域。第二方法还包括通过应用域自适应神经网络,从在中间域上传输的测试域的场景推断空间上能够重构的对象。该第二方法可以被称为“域自适应推断方法”。
域自适应推断方法形成了一种改进的机器学习方法,该方法利用包括空间上能够重构的对象的场景数据集。
值得注意的是,域自适应推断方法允许从场景推断空间可配置对象。这允许在空间上能够重构的对象的推断过程中(例如,在制造场景中对空间上能够重构的制造工具(例如,工业铰接式机器人)的推断过程中)使用域自适应推断方法。
此外,该方法允许从测试数据集的场景准确地推断空间上能够重构的对象,而用于这种推断的域自适应神经网络已经基于从训练域获得的数据进行了机器学习,训练域可能就数据分布而言远离测试域(测试数据集所属的测试域)。这种改进特别是通过确定中间域来实现。实际上,为了更好地使用域自适应神经网络,在应用域自适应神经网络进行推断之前,域自适应推断方法将测试域的场景转换为属于中间域的场景,换句话说,就数据分布而言更接近于域自适应神经网络的学习场景的场景。换句话说,域自适应推断方法允许不直接将测试域的场景作为输入提供给域自适应神经网络,而是将更接近已在其上学习域自适应神经网络的场景的场景作为输入提供给域自适应神经网络,以便提高域自适应神经网络的输出的准确性和/或质量(它们是在测试域的相应场景中推断出的每个一个或多个空间上能够重构的对象)。
因此,在测试域和训练域彼此相对较远的示例中,特别强调了域自适应推断方法带来的改进。例如,当训练域是由虚拟场景组成,并且测试域是由真实场景组成时,可能是这种情况。例如,当训练域和测试域二者都由虚拟场景组成,但是测试域的场景比训练域的场景更加照片现实时,也可能是这种情况。在所有这些示例中,该方法包括对测试域的场景进行预处理的阶段(即,确定中间域),这些场景作为输入提供给域自适应神经网络(例如,在域自适应神经网络的测试阶段中),以便使它们就照片现实性(其可以就数据分布而言进行量化)而言更接近训练域的场景。结果,被提供作为对域自适应神经网络的输入的场景的照片现实性水平接近于在其上已经学习了域自适应神经网络的场景的照片现实性。这确保了域自适应神经网络的更好的输出质量(即,在测试域的场景上推断出的推断的可空间重构的对象)。
在示例中,训练域包括虚拟场景的训练数据集,每个虚拟场景包括一个或多个空间上能够重构的对象。另外,虚拟场景的数据集的每个虚拟场景可以是包括一个或多个空间上能够重构的制造工具的虚拟制造场景,在这种情况下,将域自适应神经网络配置用于推断真实制造场景中的空间上能够重构的制造工具。附加地或替代地,测试数据集包括真实场景。在这种情况的示例中,测试数据集的每个真实场景是包括一个或多个空间上能够重构的制造工具的真实制造场景,并且域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具。
在这些示例中,在任何情况下域自适应神经网络可以被配置用于推断真实制造场景中的空间上能够重构的制造工具(例如,空间上能够重构的制造机器人)。在这些示例中,特别强调了以前通过域自适应推断方法带来的改进。特别地,难以依靠包括空间上能够重构的制造工具的大量真实制造场景的训练集,因为这样的集合通常是机密的和/或公开但不充分注释的。另一方面,将包括空间上能够重构的制造工具的虚拟制造场景的大型数据集用作训练集特别方便,因为这样的数据集可以轻松获得并自动注释,例如通过使用能够在虚拟制造环境中生成虚拟仿真的软件。至少出于这些原因,可能已经在虚拟制造场景的训练集上学习了域自适应神经网络。因此,通过确定中间域来执行前面讨论的测试数据集的预处理,从而通过巧妙地使测试数据集的真实制造场景就数据分布而言更接近测试场景的场景,来考虑域自适应神经网络的训练集,以便确保域自适应神经网络的输出质量更好。
域自适应推断方法和域自适应学习方法可以独立地执行。特别地,可以已经根据域自适应学习方法或通过任何其他机器学习方法来学习根据域自适应推断方法提供的域自适应神经网络。根据域自适应推断方法来提供域自适应神经网络可以包括例如通过网络远程地访问数据存储介质,在其学习(例如,根据域自适应学习方法)并从数据库检索出域自适应神经网络之后,在所述数据存储介质上已经存储了域自适应神经网络。
在示例中,从训练域获得的数据包括另一中间域的场景。在这些示例中,已经在另一个中间域上学习了域自适应神经网络。就数据分布而言,另一个中间域比训练域更接近中间域。在这样的示例中,域自适应神经网络可以是可根据域自适应学习方法学习的域自适应神经网络。根据域自适应学习方法的测试数据集可以等于根据域自适应推断方法的测试数据集,并且根据域自适应推断方法的测试域可以等于根据域自适应学习方法的第二域。根据域自适应推断方法的训练域可以等于根据域自适应学习方法的第一域,并且从训练域获得的数据可以属于(例如,形成)根据域自适应学习方法确定的第三域。另一个中间域可以是根据域自适应学习方法确定的第三域。
这些示例组合了先前讨论的域自适应学习方法和域自适应推断方法带来的改进:使用正确注释的虚拟场景的大数据集作为域自适应神经网络训练集,通过确定第三域(或另一个中间域)来执行的训练集的预处理阶段,这提高了域自适应神经网络的输出的质量和/或准确性,以及通过确定中间域来执行真实场景的测试数据集,这进一步提高了域自适应神经网络输出的质量和/或准确性。
可以替代地将域自适应学习方法和域自适应推断方法集成到相同的计算机实现的过程中。图1示出了图示该过程的流程图,现在对该过程进行讨论。
该过程包括离线阶段,其集成了域自适应学习方法。离线阶段包括根据域自适应学习方法来提供S10虚拟场景的数据集和真实场景的测试数据集。虚拟场景的数据集属于第一域,该第一域形成(理论上,如前所述)根据域自适应学习方法来学习的域自适应神经网络的训练域。真实场景的测试数据集属于第二域,该第二域形成了根据域自适应学习方法来学习的域自适应神经网络的测试域。离线阶段还包括根据域自适应学习方法来确定S20第三域。就数据分布而言,第三域比第一域更接近第二域。离线阶段还包括根据域自适应学习方法的对域自适应神经网络的学习30。
在离线阶段之后,因此通过根据域自适应学习方法学习的域自适应神经网络的处理来提供它。换句话说,域自适应神经网络可以形成离线阶段的输出。离线阶段之后可以是存储所学习的域自适应神经网络的阶段,例如存储在设备的数据存储介质上。
该过程还包括在线阶段,其集成了域自适应推断方法。在线阶段包括根据域自适应推断方法来提供S40在离线阶段期间学习的域自适应神经网络。值得注意的是,提供S40域自适应神经网络可以包括例如通过网络远程访问例如数据存储介质(在离线阶段结束时已在该数据存储介质上存储了域自适应神经网络),并从数据库检索域自适应神经网络。在线阶段还包括根据域自适应推断方法来确定S50中间域。就数据分布而言,中间域比第二域更接近第一域。可以理解的是,在该过程的上下文中:域自适应学习方法的第一域是域自适应推断方法的训练域,域自适应学习方法的第二域是域自适应推断方法的测试域,域自适应学习方法的测试数据集是域自适应推断方法的测试数据集,并且从域自适应推断方法的训练域获得的数据属于(例如,形式)第三域。在线阶段还可以包括根据域自适应推断方法的对空间上能够重构的对象的推断S60。
该过程组合了先前讨论的由域自适应学习方法和域自适应推断方法带来的改进:使用正确注释虚拟场景的大数据集作为域自适应神经网络训练集,通过确定第三域来执行训练集的预处理阶段,这提高了域自适应神经网络的输出的质量和/或准确性,以及通过确定中间域执行的真实场景的测试数据集的预处理阶段,这进一步提高了域自适应神经网络的输出的质量和/或准确性。
该过程可以构成推断真实制造场景中的空间上能够重构的制造工具(例如,空间上能够重构的制造机器人)的过程。实际上,在该过程的示例中,第一域的虚拟场景可以是包括一个或多个空间上能够重构的制造工具的每个虚拟制造场景,并且第二域的真实场景可以是包括一个或多个空间上能够重构的制造工具的每个真实制造场景。因此,在这些示例中,将离线阶段期间学习的域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具。离线阶段受益于域自适应学习方法在制造工具推断的特定情况下所提供的先前讨论的改进:虚拟制造场景易于大量获取并正确注释,而先前讨论的训练集的预处理可以使训练集的场景更接近测试数据集的真实场景,这提高了经学习的域自适应神经网络的鲁棒性和准确性。与这些改进相组合的是集成在过程在线阶段中的域自适应推断方法带来的改进。这些改进包括先前讨论的测试数据集的预处理,以便使测试数据集的真实场景更接近第三域的场景,在离线阶段已在该第三域上学习了域自适应神经网络,从而提高了域自适应神经网络输出的质量。结果,在在线阶段在真实制造场景中推断S60空间上能够重构的制造工具是特别准确和鲁棒的。因此,该过程可以构成在真实制造场景中推断空间上能够重构的制造工具的特别鲁棒和准确的过程。
域自适应学习方法、域自适应推断方法和该过程是计算机实现的。现在讨论计算机实现方法(或过程)的概念。
“方法(或过程)是计算机实现的”意指该方法(或过程)的步骤(或实质上所有步骤)由至少一台计算机或任何类似系统执行。因此,该方法(或过程)的步骤由计算机执行,可能是全自动执行,也可能是半自动执行。在示例中,可以通过用户计算机交互来执行该方法(或过程)的至少一些步骤的触发。所需的用户-计算机交互级别可以取决于所预见的自动性级别,并与实现用户意愿的需求保持平衡。在示例中,该级别可以是用户定义的和/或预定义的。
方法(或过程)的计算机实现的典型示例是利用适于此目的系统来执行该方法(或过程)。该系统可以包括耦合到存储器和图形用户界面(GUI)的处理器,该存储器上记录有计算机程序,其包括用于执行该方法(或过程)的指令。存储器还可以存储数据库。该存储器是适于这种存储的任何硬件,可能包括几个物理上不同的部分(例如,一个用于程序,而可能一个用于数据库)。
图5示出了系统的GUI的示例,其中该系统是CAD系统。
GUI2100可以是典型的类似于CAD的界面,具有标准菜单栏2110、2120以及底部和侧面工具栏2140、2150。此类菜单和工具栏包含一组用户可选图标,每个图标与如本领域中已知的一种或多种操作或功能相关联。这些图标中的一些与软件工具相关联,适于编辑在GUI2100中显示的3D建模对象2000和/或在GUI2100中显示的3D建模对象2000上工作。软件工具可以被分组为工作台。每个工作台包含软件工具的子集。特别地,工作台之一是适合用于编辑建模产品2000的几何特征的编辑工作台。在操作中,设计人员可以例如预先选择对象2000的一部分,并且然后通过选择适当的图标来发起操作(例如,更改尺寸、颜色等)或编辑几何约束。例如,典型的CAD操作是对显示在屏幕上的3D建模对象的打孔或折叠进行建模。GUI可以例如显示与所显示的产品2000有关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和盘的制动组装件。GUI还可以示出各种类型的图形工具2130、2070、2080,例如用于促进对象的3D取向,以用于触发对所编辑产品的操作的仿真或呈现所显示产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。
图6示出了该系统的示例,其中该系统是客户端计算机系统,例如用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还被提供有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如,硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。上述中的任一项都可以由专门设计的ASIC(专用集成电路)补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等。在客户端计算机中使用光标控制设备,以允许用户将光标选择性地定位在显示器1080上的任何期望位置处。此外,光标控制设备允许用户选择各种命令,并输入控制信号。光标控制设备包括多个信号生成设备,以用于将控制信号输入到系统。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替代地或附加地,客户计算机系统可以包括敏感垫和/或敏感屏幕。
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行域自适应学习方法、域自适应推断方法和/或过程的单元。该程序可以是可记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或它们的组合来实现。该程序可以被实现为装置,例如有形地体现在机器可读存储设备中以供可编程处理器执行的产品。处理/方法步骤(即,域自适应学习方法、域自适应推断方法和/或过程的步骤)可以通过以下方式来执行:编程处理器执行指令程序来通过对输入数据进行操作并且产生输出来执行过程的功能。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。如果被期望,则可以以高级过程或面向对象的编程语言或汇编或机器语言来实现应用程序。在任何情况下,该语言都可以是被编译或解释的语言。该程序可以是完整的安装程序或更新程序。在任何情况下,程序在系统上的应用得到用于执行域自适应学习方法、域自适应推断方法和/或过程的指令。
将讨论提供场景数据集的概念,涉及域自适应学习方法、域自适应推断方法和过程。在讨论该概念之前,现在讨论其中涉及的数据结构。如将认识到的,在提供域自适应学习方法、域自适应推断方法和/或过程的情况下,本文提供的数据结构定义和示例可以应用于任何数据集的至少一部分(例如全部)。
在本公开的上下文中,场景在一个时间点指定背景中一个或多个对象的布置(例如,部署(disposition))。背景通常表示现实世界的物理环境,对象通常表示现实世界的物理对象,并且对象的布置通常表示在该时间点处现实世界对象在现实世界环境的部署。这相当于说,场景是现实世界对象在其现实世界环境中某个时间点处的表示。该表示可以是真实的、几何上真实的、语义上真实的、照片现实的和/或虚拟的。在下文中将讨论真实、几何上真实、语义上真实、照片现实和虚拟场景的概念。场景通常(但不总是)是三维的。在下文中,为了简单起见,将不对场景(例如,虚拟或真实)和其表示(例如,通过虚拟或真实图像表示)之间进行区分。
在本公开的上下文中,场景的数据集通常包括大量场景,例如高于1000、10000、100000或1000000个场景。本公开的场景的任何数据集可以由或实质上由来自相同上下文的场景组成(例如,制造场景、建筑工地场景、港口场景或停机坪场景)。域自适应学习方法、域自适应推断方法和/或过程中涉及的场景实际上可以是来自相同上下文(例如,制造场景、建筑工地场景、港口场景或停机坪场景)的所有场景。
域自适应学习方法、域自适应推断方法和/或过程中涉及的任何场景可以包括一个或多个空间上能够重构的对象。在空间上能够重构的对象是包括几个(例如,机械的)部分的对象,该对象的特征在于,在所述对象的所述部分之间存在一个或多个语义上现实的空间关系。空间上能够重构的对象通常可以是彼此物理连接的部分的(例如,机械的)组装件,该组装件具有至少一个自由度。这意味着对象的至少第一部分相对于对象的至少第二部分是可移动的,而至少第一部分和至少第二部分二者都保持物理上附接到组装件。例如,至少第一部分可以相对于至少第二部分平移和/或旋转。因此,空间上能够重构的对象可以具有非常多的空间配置和/或位置,这使得对象对于没有适当技能的人难以识别,例如,难以标记。在本公开的上下文中,空间上能够重构的对象可以是制造场景中的空间上能够重构的制造工具(例如,工业铰接式机器人)、建筑工地场景中的起重机、停机坪场景中的空中通道或港口场景中的港口起重机。
在本公开的上下文中,场景可以是制造场景。制造场景是表示现实世界制造环境中的现实世界对象的场景。制造环境可以是工厂或工厂的一部分。工厂或工厂的一部分中的对象可以是制造的产品,即已经通过与场景相关的时间点处在工厂处执行的一个或多个制造过程制造的产品。工厂或工厂的一部分中的对象还可以是正被制造的产品,即通过在与场景有关的时间点处在工厂处执行的一个或多个制造过程来制造的产品。工厂或工厂的一部分中的对象还可以是(例如,空间上能够重构的)制造工具,该工具是在工厂处执行的一个或多个制造过程中涉及的工具。工厂中的对象也可以是构成工厂背景的对象。
换句话说,表示工厂或工厂一部分的场景可以因此包括一个或多个产品(每个产品正通过工厂的一种或多种制造过程进行制造或已经通过该过程进行制造)以及一个或多个制造工具,例如每个都在一个或多个所述产品的制造中涉及。产品通常可以是(例如,机械的)零件或零件的组装件(或等效地是零件的组装件,因为从本公开的观点来看,零件的组装件可以被看作是零件本身)。
机械零件可以是陆地载具(包括例如汽车和轻型卡车装备、赛车、摩托车、卡车和机动车装备、卡车和公共汽车、火车)的一部分、飞行器(包括机身装备、航空航天装备、推进装备、国防产品、航空装备、航天装备)的一部分、海军载具(包括海军装备、商用船、海上装备、游艇和工作船、船舶装备)的一部分、通用机械零件(包括例如工业制造机械、重型移动机械或装备、安装的装备、工业装备产品、金属制品、轮胎制品、铰接式和/或能够重造的制造装备(例如,机械臂))、机电或电子零件(包括例如消费类电子产品、安全和/或控制和/或仪器产品、计算和通信装备、半导体、医疗设备和装备)、消费品(包括例如家具、家居和花园产品、休闲用品、时尚产品、硬商品零售商的产品、软商品零售商的产品)、包装(包括食品和饮料和烟草、美容和个人护理、家用产品包装)。
机械零件也可以是以下各项中的一项或其可能的组合:模制零件(即,通过模制制造过程制造的零件)、机加工零件(即,通过机加工制造过程制造的零件)、钻孔零件(即,通过钻孔制造过程制造的零件)、车削零件(即,通过车削制造过程制造的零件)、锻造零件(即,通过锻造制造过程制造的零件)、冲压件(即,通过冲压制造过程制造的零件)和/或折叠零件(即,通过折叠制造过程制造的零件)。
制造工具可以是以下各项中任何一项:
-机加工工具(即,执行加工过程的至少一部分的工具),例如拉床、钻床、齿轮成型机、滚齿机、磨刀石、车床、螺杆机、铣床机、钣金剪切机)、整形机、锯、刨床、斯图尔特平台铣床、磨床、多任务机床(例如,具有将车削、铣削、磨削和/或材料处理结合在一起成为高度自动化的机床的多个轴);
-压缩成型机(即,执行压缩成型过程的至少一部分的机器),通常包括至少一个模具或成型基质,例如快速柱塞型模具、直柱塞型或落地柱塞型模具;
-注射成型机(即,执行注射成型过程的至少一部分的机器),例如压铸机、金属注射成型机、塑料注射成型机、液硅注射成型机或反应注塑机;
-旋转切削工具(例如,执行钻孔过程的至少一部分),例如钻头、锥口钻、平底扩孔钻、丝锥、模具、铣刀、铰刀或冷锯片;
-非旋转切削工具(例如,执行车削过程的至少一部分),例如带尖工具或成型工具;
-锻造机器(即,执行锻造过程的至少一部分),例如机械锻造压力机(通常包括至少一个锻模)、液压锻造压力机(通常包括至少一个锻模)、由压缩空气驱动的锻锤、由电力驱动的锻锤、由液压系统驱动的锻锤或由蒸汽驱动的锻锤;
-压模机(即,执行压模过程的至少一部分),例如压模机、机压机、冲压机、落料机、压花机、折弯机、翻边机或压铸机;
-折弯机或折页机(即,执行折弯或折页过程的至少一部分),例如箱式和盘式制动器、压弯机、折叠机、板弯机或压机;
-点焊机器人;或者
-电动喷漆工具(即,执行产品喷漆过程的至少一部分),例如(例如,电动的)汽车喷漆机器人。
上面列出的制造工具中的任何一个可以是空间上能够重构的制造工具,即在空间上能够重构的制造工具,或者可以形成空间上能够重构的制造工具的至少一部分。例如,由空间上能够重构的制造工具的工具持有器所持有的制造工具形成了空间上能够重构的制造工具的至少一部分。空间上能够重构的制造工具(例如,上面列出的工具中的任何一种)可以是制造机器人,例如(例如,铰接式)工业机器人。
现在讨论真实场景的概念。如前所述,场景表示现实世界环境(即,场景的背景)中现实世界对象的布置。当部署的表示形式是源自与其在现实世界中相同的物理布置的获取的物理布置,场景是真实的。可以通过数字图像获取过程来执行该获取,该过程创建了对象在其环境中的物理布置的视觉特征的数字编码表示。为了简单起见,以下可以将这种数字编码的表示称为“图像”或“数字图像”。数字图像获取过程可以可选地包括这种图像的处理、压缩和/或存储。可以通过相机或类似设备、扫描器或类似设备和/或摄像机或类似设备直接从物理环境创建数字图像。替代地,可以通过图像扫描仪或类似设备从类似介质中的另一个图像获得数字图像,例如照片、摄影胶片(例如,数字图像是胶片瞬间的快照)或印刷纸。数字图像也可以通过处理非图像数据来获得,例如用断层摄影装备、扫描仪、侧面扫描声纳、射电望远镜、X射线探测器和/或可光激发磷光板(PSP)采集的非图像数据。在本公开的上下文中,真实的制造场景可以例如源于由位于工厂中的相机(或类似设备)获得的数字图像。替代地,制造场景可以源自由位于工厂的一个或多个摄像机所获取的胶片的快照。
图7至12示出了真实制造场景的示例,每个场景分别包括铰接式工业机器人70和72、80、90、92、94、96和98、100、102和104、110和112、120、122和124。
现在讨论虚拟场景的概念。当场景源自计算机生成的数据时,该场景是虚拟的。这样的数据可以由(例如,3D)仿真软件、(例如,3D)建模软件、CAD软件或视频游戏生成。这相当于说,场景本身是计算机生成的。虚拟场景的对象可以放置在虚拟场景中的现实位置。替代地,虚拟场景的对象可以被放置在虚拟场景中的非现实位置,例如当所述对象被随机地放置在已经存在的虚拟场景中时,如在下文中特别讨论的。这相当于说,虚拟场景表示虚拟背景(例如,现实世界环境的虚拟表示)中的虚拟对象(例如,现实世界对象的虚拟表示)的部署。对于虚拟对象的至少一部分,所述部署可以是物理上现实的,即,所述至少一部分的虚拟对象的部署表示现实世界对象的现实世界物理布置。附加地或替代地,虚拟对象的至少另一部分可以以非现实的部署(即,不对应于现实世界物理布置)来设置(例如,相对于彼此和/或相对于所述至少一部分的对象),例如当所述至少一部分的虚拟对象被随机放置或设置时,如在下文中特别讨论的。虚拟场景的任何对象都可以自动被注释或标记。标记对象的概念将在下面进一步讨论。虚拟制造场景可以通过用于制造环境的3D建模软件、用于制造环境的3D仿真软件或CAD软件来生成。虚拟制造场景中的任何对象(例如,产品或制造工具)可以虚拟地由表示实体(例如,B-rep模型)的皮肤(例如,外表面)的3D建模对象表示。3D建模对象可能已经由用户用CAD系统设计和/或可能源自由3D仿真软件针对制造环境执行的虚拟制造仿真。
建模对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,表达“建模对象”表示数据本身。根据执行域自适应学习方法、域自适应推断方法和/或过程的系统的类型,可以通过不同种类的数据来定义建模对象。该系统确实可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在那些不同的系统中,建模对象由对应的数据定义。因此,可以提到CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统并不是彼此排斥的,因为可以通过与这些系统的任何组合相对应的数据来定义建模对象。从下面提供的这种系统的定义将显而易见的是,系统因此也可以是CAD和PLM系统。
CAD系统附加地意味着至少适于基于建模对象的图形表示来设计建模对象的任何系统,例如CATIA。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边或线(在某些情况下用面或表面)来提供CAD建模对象的表示。线、边或表面可以各种方式表示,例如非均匀有理B样条(NURBS)。具体而言,CAD文件包含可以从中生成几何图形的规范,该规范转而允许表示形式被生成。建模对象的规范可以存储在单个CAD文件或多个CAD文件中。表示CAD系统中建模对象的文件的典型大小在每零件1MB的范围内。并且建模对象通常可以是数千个零件的组装件。
CAM解决方案附加地意味着适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案用于计划和优化产品的整个制造过程。例如,它可以为CAM用户提供有关可行性、制造过程的持续时间或在制造过程的特定步骤层可以被使用的资源(例如,特定机器人)数量的信息;并且因此,允许对管理或所需的投资的决定。CAM是CAD过程和潜在的CAE过程之后的后续过程。此类CAM解决方案由Dassault Systèmes以商标
Figure BDA0002478265900000231
提供。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如表示产品(例如,零件或零件的组装件),或者可能是产品组装件。“3D建模对象”意味着由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度查看零件。例如,当被3D表示时,3D建模对象可以被处理并围绕其任何轴或围绕在其上显示表示的屏幕中的任何轴来旋转。特别是,这不包括未进行3D建模的2D图标。3D表示的显示有助于设计(即,提高设计人员统计上完成他们的任务的速度)。由于产品的设计是制造过程的一部分,因此这可以加快工业中的制造过程。
图13至图17示出了虚拟制造场景,每个虚拟场景分别包括虚拟铰接式工业机器人130、140、150和152、160和162、以及170和172。
虚拟场景可以是几何上和语义上现实的,这意味着场景中的虚拟对象(例如,制造场景中的产品或制造工具)的几何形状和功能是现实的,例如,现实地表示它们在现实世界中的对应几何形状和功能。虚拟场景可以是几何上和语义上真实的,而不是照片现实的。替代地,虚拟场景可以是几何上和语义上现实的,并且也可以是照片现实的。
照片现实图像的概念可以就多个可见特征而言来理解,所述特征例如:底纹(即,表面的颜色和亮度如何随光照而变化)、纹理映射(即,将细节应用于表面的方法)、凹凸贴图(即,在表面上仿真小规模凹凸的方法)、起雾/参与介质(即,当光在穿过不透明的大气或空气时如何变暗)、阴影(即,遮挡光的效果)、柔和阴影(即,由部分遮挡的光源引起的变化的黑暗)、反射(即,镜面或高度光泽的反射)、透明或不透明(即,光通过固体对象的尖锐透射)、半透明(即,光通过固体对象的高度散射的透射)、折射(即,与透明度相关联的光的弯曲)、衍射(即,穿过干扰射线的对象或孔的光线的弯曲、散布和干扰)、间接照明(即,表面是由其他表面反射的光而不是直接从光源照射(也称为全局照明)、焦散线(即,间接照明的一种形式,光从发光对象上反射,和/或通过透明对象聚焦,以在另一个对象上产生明亮的高光)、景深(即,对象在对焦对象前或后太远的距离内显得模糊或失焦)和/或运动模糊(即,由于高速运动或相机的运动而导致对象显得模糊)。这样的特性的存在使得这样的数据(即,对应于虚拟照片现实场景的或该虚拟照片现实场景所源自于的)与真实数据(表示真实场景的图像所源自于的)具有相似的分布。在这种上下文中,虚拟集分布越接近现实世界的数据,它看起来就越照片现实。
现在讨论数据分布的概念。在构建机器学习(ML)模型的上下文中,通常期望在来自相同分布的数据上对模型进行训练并针对来自相同分布的数据进行测试。在概率论和统计学中,概率分布是一种数学函数,其提供实验中发生不同可能结果的概率。换句话说,概率分布是就事件的概率而言对随机现象的描述。概率分布是就基础样本空间而言定义的,该基础样本空间是被观察到的随机现象的所有可能结果的集合。样本空间可以是实数集或较高维向量空间,或者其可以是非数值列表。可以理解的是,在对虚拟数据进行训练和对真实数据进行测试时,人们面对分布偏移问题。当用真实图像修改虚拟图像以解决偏移问题时,域自适应学习方法、域自适应推断方法和/或过程可以变换虚拟数据的分布以更好地与真实数据的分布对齐。为了量化两个分布如何对齐,可以使用几种方法。为了说明,下面是方法的两个示例。
第一方法是直方图方法。考虑创建N个图像对的情况。每个图像对包括第一创建的虚拟图像和第二创建的虚拟图像,所述第二创建的虚拟图像对应于表示与第一虚拟图像相同场景的真实图像,该真实图像是通过使用虚拟到真实生成器获得的。为了评估修改训练数据的相关性,域自适应学习方法、域自适应推断方法和/或过程量化了虚拟图像分布在合成到真实修改前后与真实图像数据的对齐程度。为此,域自适应学习方法、域自适应推断方法和/或过程可以考虑一组真实图像,并在合成到真实修改之前和之后计算真实数据的平均图像与虚拟数据之间的欧几里得距离。形式上,考虑Dv={v1,...,vN}和Dv′={v′1,...,v′N},深层特征从预先训练的网络导出,例如在修改之前和之后分别对虚拟图像进行ImageNet分类任务(起始网络,参见[22])方面的训练。通过用mreal表示从真实数据集的均值图像导出的深层特征,欧几里德差为EDv={v1-m,...,vN-m}和EDv′={v 1-m,...,v N-m}。为了评估与真实数据分布的对齐,域自适应学习方法、域自适应推断方法和/或过程使用直方图比较EDv和EDv′的分布。直方图是数字数据分布的准确表示。它是对连续变量的概率分布的估计。图18示出了EDv与EDv′之间的欧几里得距离的分布的直方图。根据图18,与在使用原始虚拟图像EDv时获得的分布(蓝色)相比,当表示来自修改后的虚拟图像EDv′(红色)时,分布更加集中在0附近。该直方图验证了所测试的假设,该假设假定就数据分布而言,修改后的虚拟数据被传输到比根虚拟数据更接近现实世界数据的新域。就照片现实性而言,考虑要求人们视觉上猜测给定图像是人造还是真实的测试。看起来很明显,与原始虚拟图像相比,修改后的图像在视觉上更可能愚弄人类。这直接与通过上述直方图评估的分布对齐方式相关。
第二种方法是Frechet起始距离(FID)方法(参见[21])。FID比较两组图像的起始嵌入的分布(从起始的倒数第二层的激活,参见[22])。这两个分布都被建模为多维高斯模型,通过它们相应的均值和协方差进行参数化。形式上,令DA={(xA)}是场景的第一数据集(例如,真实场景的第一数据集),并且令DB={(xB)}是第二数据集(例如,虚拟场景的第二数据集)。第二种方法首先使用从例如在ImageNet分类任务上进行训练的预训练网络(初始网络,参见[22])导出的特征提取器网络分别从xA和xB提取深度特征vA和vB。接下来,第二种方法收集vA中的特征。这将产生多个C维向量,其中C是特征维。然后,第二种方法是通过计算这些向量的均值
Figure BDA0002478265900000251
和协方差矩阵
Figure BDA0002478265900000252
使多元高斯拟合这些特征向量。类似地,我们有
Figure BDA0002478265900000253
Figure BDA0002478265900000254
这些提取的特征之间的FID为:
Figure BDA0002478265900000261
距离越小,DA和DB的分布越接近。从照片现实性的观点来看,在第一数据集是真实场景的数据集而第二数据集是虚拟场景的数据集的情况下,距离越小,来自DB的照片现实的图像越多。此度量允许评估就分布对齐而言将我们的数据从一个域修改为另一个域的相关性。
关于数据分布的先前讨论之后,可以通过诸如前面讨论的欧几里得距离或FID之类的距离来量化场景的两个数据集之间的距离。因此,在本公开的上下文中,场景的“第一数据集(例如,族,例如域,下面讨论的域的概念)比场景的第三数据集(例如,族,例如域)更接近场景的第二数据集(例如,族,例如域)”,这意味着:第一数据集(或者族或域)和第二数据集(或者族或域)之间的距离小于第三数据集(或者族或域)和第二数据集(或者族或域)之间的距离。在第二数据集是真实场景的数据集并且第三和第一数据集二者都是虚拟场景的数据集的情况下,可以说第一数据集比第三数据集更照片现实。
现在讨论“域”的概念。域指定场景族的分布。因此,一个域也是一个分布族。如果数据集的场景和族的场景就数据分布而言接近,则场景的数据集属于域。在示例中,这意味着存在预定阈值,使得数据集的场景与族场景之间的距离(例如,如前所述的欧几里得或FID)小于预定阈值。应当理解,场景的数据集也可以这样形成域本身,在这种情况下,该域可以被称为“场景的域”或“由数据集的场景构成的域”。根据域自适应学习方法的第一域是虚拟场景的域,例如均在几何和语义上是现实的但不是照片现实的虚拟场景的域。根据域自适应学习方法的第二域是真实场景的域。根据域自适应学习方法的测试域可以是真实场景的域。替代地,测试域可以是虚拟场景的域,例如,在几何和语义上现实并且可选地是照片现实的。根据域自适应学习方法的训练域可以是虚拟场景的域,例如在几何和语义上是现实的并且可选地是照片现实的。在示例中,训练域是虚拟场景的域,其比测试域的场景的照片现实性低,例如训练域是虚拟场景的域,而测试域是真实场景的域。
现在讨论提供场景数据集的概念。
在本公开的上下文中,提供场景的数据集可以自动地执行或由用户执行。例如,用户可以从存储数据集的存储器中检索数据集。用户可以进一步选择通过向已经检索到的数据集添加(例如,逐个地)一个或多个场景来完成数据集。添加一个或多个场景可以包括从一个或多个存储器中检索它们并将它们包括在数据集中。替代地,用户可以创建数据集的场景的至少一部分(例如,全部)。例如,如先前所讨论的,当提供虚拟场景的数据集时,用户可以首先通过使用3D仿真软件和/或3D建模软件和/或CAD软件来获得场景的至少一部分(例如,全部)。更一般地,在域自适应学习方法、域自适应推断方法和/或过程的上下文中,提供虚拟场景的数据集之前可以是获得(例如,计算)场景的步骤,例如通过使用3D仿真软件(例如,用于制造环境)和/或3D建模软件和/或CAD软件,如先前所讨论的。类似地,在域自适应学习方法、域自适应推断方法和/或过程的上下文中,提供真实场景的数据集之前可以是例如通过如前所述的数字图像获取过程获得(例如,获取)场景的步骤,如前所述。
在域自适应学习方法和/或过程的示例中,虚拟场景的数据集的每个虚拟场景是包括一个或多个空间上能够重构的制造工具的虚拟制造场景。在这些示例中,将域自适应神经网络配置用于推断真实制造场景中的空间上能够重构的制造工具。在这些示例中,虚拟场景的数据集的虚拟场景可以均源自仿真。因此,在提供虚拟场景的数据集的步骤S10之前,可以进行执行仿真的步骤,例如,在制造环境中使用3D仿真软件,如前所述。在示例中,仿真可以是3D体验(即,具有精确建模并具有忠实(例如,依从性,例如,符合现实)行为的虚拟场景),其中仿真给定场景的不同配置,例如给定场景中对象的不同布置和/或给定场景中某些对象(例如,空间上能够重构的对象)的不同配置。数据集可以特别地包括对应于所述不同配置的虚拟场景。
在域自适应学习方法和/或过程的示例中,测试数据集的每个真实场景是包括一个或多个空间上能够重构的制造工具的真实制造场景。在这些示例中,将域自适应神经网络配置用于推断真实制造场景中的空间上能够重构的制造工具。在这些示例中,测试数据集的真实场景均可以源自在数字采集过程中采集的图像。因此,在提供S10虚拟场景的测试数据集之前,可以是以下步骤:获取工厂的图像,测试数据集的场景源自该工厂的图像,例如通过使用一个或多个扫描和/或一个或多个相机和/或一个或多个摄像机。
在域自适应推断方法和/或过程的示例中,测试数据集包括真实场景。在这些示例中,测试数据集的每个真实场景可以是包括一个或多个在空间上能够重构的制造工具的真实制造场景,域自适应神经网络被可选地配置用于推断真实制造场景中的空间上能够重构的制造工具。因此,在提供S10虚拟场景的测试数据集,可以是以下步骤:获取工厂的图像,测试数据集的场景源自该工厂的图像,例如通过使用一个或多个扫描和/或一个或多个相机和/或一个或多个摄像机。
现在讨论第三域的确定S20。
第三域的确定S20使得就数据分布而言,第三域比第一域更接近第二域。这样,第三域的确定S20针对属于第一域的虚拟场景的数据集的每个虚拟场景指定另一个场景的推断,使得所有推断出的另一个场景形成(或至少属于)一个域,即第三域,就数据分布而言,该第三域比第一域更接近第二域。所述另一个场景的推断可以包括虚拟场景到所述另一个场景的变换(例如,转换)。所述变换可以包括,例如使用能够将图像从一个域转移到另一个域的生成器,将虚拟场景变换为所述另一个场景。应当理解,这样的变换可以仅涉及虚拟场景的一个或多个部分:所述一个或多个部分被变换,例如使用生成器,而其余场景保持不变。所述另一个场景可以包括一个或多个部分被变换而其余场景不变的场景。替代地,该变换可以包括用某些其他场景的一部分(例如,属于第二域)替换场景的其余部分。在这样的情况下,所述另一个场景可以包括一个或多个部分被变换而其余的场景被某个其他场景的所述部分替换的场景。应该理解的是,可以对第一域的所有场景,类似地进行推断,例如具有适用于所有场景的相同范例。
现在参考图2讨论确定第三域的S20的示例,图2示出了图示确定第三域的S20的示例的流程图。
在示例中,第三域的确定S20包括针对虚拟场景的数据集的每个场景,从场景中提取S200一个或多个空间上能够重构的对象。在这些示例中,确定S20还包括针对每个提取的对象,将提取的对象转换S210为就数据分布而言比提取的对象更接近第二域的对象。
如先前所讨论的,可以在虚拟场景数据集的提供S10之前,例如通过使用3D仿真软件计算场景所源自的虚拟仿真来获得虚拟场景数据集的虚拟场景。仿真的计算可以包括每个虚拟场景中的每个空间上能够重构的对象的自动定位和注释。对于数据集的每个虚拟场景,以及对于虚拟场景中的每个空间上能够重构的对象,定位可包括计算空间上能够重构的对象周围的边界框。边界框是一个矩形框,其轴与表示场景的图像的侧面平行。边界框以四个坐标为特征,并以适当的比例和标度以空间上能够重构的对象为中心,以包围整个空间上能够重构的对象。在本公开的上下文中,在场景中包围对象可以意味着包含在场景上完全可见的对象的所有部分,所述部分是整个对象或仅是对象的一部分。注释可以包括向每个计算出的边界框分配标签,该标签指示边界框包含空间上能够重构的对象。应当理解的是,标签可以指示关于边界框的其他信息,例如边界框包围空间上能够重构的制造工具,例如工业机器人。
对于一个或多个空间上能够重构的对象中的每个相应的一个,从虚拟场景提取S200空间上能够重构的对象可以指定导致将空间上能够重构的对象与虚拟场景分离的任何动作,并且可以通过能够执行这样的分离的任何方法来执行。实际上,从虚拟场景中提取S200空间上能够重构的对象可以实际上包括:检测包围该空间上能够重构的对象的边界框,该检测基于边界框的标签,并且可选地包括访问标签。提取S200可以还包括将边界框与虚拟场景分离,从而也将空间上能够重构的对象与虚拟场景分离。
提取的对象的变换S210可以指定将提取的对象改变为就数据分布而言更接近第二域的另一对象的任何变换。“更接近第二域”是指被提取的对象被变换成的对象自身是场景,该场景属于比第一域更接近第二域的域。当对象的提取S200包括如前所述从虚拟场景分离包围对象的边界框时,所提取的对象的变换S210可以包括整个边界框(因此包括所提取的对象)或仅仅所提取的对象的修改,其中整个边界框或提取的对象的修改仅使其就数据分布而言更接近第二域。修改可以包括将能够将虚拟图像转换成就数据分布而言更加照片现实的图像的生成器应用于边界框或具有边界框的空间上能够重构的对象。
在一个实施方式中,可以通过在两组空间上能够重构的对象(虚拟集和真实集)上进行训练的CycleGAN虚拟到真实网络(参见[20])来执行变换S210。它产生了一个虚拟到真实的空间上能够重构的对象(例如,机器人)生成器,该生成器用于修改虚拟图像中的空间上能够重构的对象(例如,机器人)。CycleGAN模型将图像从一个域转移到另一个域。它提出了一种方法,其可以在没有任何成对的训练示例的情况下,学习捕获一个图像集的特殊特性,并弄清楚如何将这些特征转换为第二图像集合。实际上,具有一对一映射的这种放松使得这种公式化非常强大。这是通过生成模型(特别是称为CycleGAN的生成对抗网络(GAN)来实现的。
图19示出了两个虚拟工业铰接式机器人190和192的提取S200和变换S210的示例。这些机器人190和192中的每一个已经从相应的虚拟场景中提取S200。然后,将所提取的机器人190和192分别变换S210为更具照片现实性的机器人194和196。
仍然参考图2的流程图,第三域的确定还可包括:对于每个变换的提取对象,将变换的提取对象放置S220在一个或多个场景中,每个场景就数据分布而言均比第一域更接近第二域。在这种情况下,第三域包括放置了变换后的提取对象的每个场景。
一个或多个场景中的每个场景可以是不包括空间上能够重构的对象的场景,例如背景场景(即,包括唯一背景的场景,尽管背景本身可以包括背景对象)。一个或多个场景中的每个场景也可以是与变换后的提取对象最初所属的场景来自同一上下文的场景。实际上,该相同上下文可以是虚拟场景的数据集的所有场景的上下文。
一个或多个场景中的每个场景都比第一域更接近第二域。“更接近第二域”是指一个或多个场景中的每个场景属于比第一域更接近第二域的域。在示例中,一个或多个场景中的每个场景是直接从现实中获取的真实场景,如先前所讨论的。替代地,一个或多个场景的每个场景可以从虚拟场景的数据集的相应虚拟场景中生成,所述相应虚拟场景之一例如是经变换的提取对象所属的虚拟场景,使得所生成的场景比相应的虚拟场景更真实和/或更有照片现实性。从数据集的相应虚拟场景生成场景可以包括将能够将虚拟图像转换成真实和/或更加真实照片的图像的生成器应用于虚拟场景。在一种实现中,可以由在两组背景(例如,工厂背景)(虚拟集和真实集)上训练的CycleGAN虚拟到真实生成器(参见[20])来执行场景的生成。它产生了一个虚拟到真实的背景(例如,工厂背景)生成器,该生成器用于修改虚拟图像中的背景(例如,工厂背景)。CycleGAN模型(参见[20])将图像从一个域转移到另一个域。它提出了一种方法,其可以在没有任何成对的训练示例的情况下,学习捕获一个图像集的特殊特征,并弄清楚如何将这些特征转换为第二图像集合。实际上,具有一对一映射的这种放松使得这种公式化非常强大。这是通过生成模型(特别是称为CycleGAN的生成对抗网络(GAN))来实现的。
可以通过能够将对象的单个和/或多个图像粘贴到背景图像中的任何方法来(例如,自动地)执行变换后的提取对象的放置S220。将变换后的提取对象放置S220到所述一个或多个场景上因此可以包括应用这样的方法以将变换后的提取的对象粘贴在一个或多个场景的每个相应的一个上。应当理解,变换后的提取对象在其上的场景可以包括已经被放置S220在场景上的一个或多个其他的变换后的提取对象。
从以上讨论的示例得出,在这些示例中,第三域的确定S20可以特别地分别变换场景的空间上能够重构的对象和它们所属的场景的背景,并且然后可以将每个变换后的空间上能够重构的对象放置到一个或多个变换后的背景中。第一,与完全变换(即,不分离空间上能够重构的对象及其背景)虚拟场景的数据集的虚拟场景相比,这允许在变换后的背景中获得更多的变换后对象配置。由于域自适应神经网络的学习S30基于第三域的场景,因此,由于第三域更接近测试域所以学习更加鲁棒。第二,完全变换虚拟场景数据集的虚拟场景可能会导致结果不足,因为由于实际的背景可变性,测试域的场景之间可能没有基本关系。例如,完全变换包括空间上能够重构的对象的虚拟场景可以得到无法将空间上能够重构的对象与背景区分开(例如与背景混合)的变换后场景。由于所有这些原因,完全变换虚拟场景数据集的虚拟场景可能会导致结果不足,例如通过产生第三域,该第三域可能不比第一域更接近第二域。此外,第三域的场景在这种情况下可能不适合学习,因为这些场景中感兴趣的对象(空间上能够重构的对象)的特性可能会受到转换的影响。
图20示出了变换后的提取对象的放置S220的示例。图20示出了分别放置S220在工厂背景场景200和202中的图19的示例的变换后的提取的工业铰接式机器人194和196。
仍然参考图2的流程图,在示例中,随机地执行将变换后的提取对象放置S220在一个或多个场景中。可以通过能够将对象的单个和/或多个图像随机粘贴到背景图像中的任何方法来(例如,自动地)对变换后的提取对象进行这样的随机放置S220。因此,将变换后的提取对象随机放置S220在一个或多个场景中可以包括应用这样的方法以将变换后的提取对象随机粘贴到一个或多个场景的每个相应场景上。
随机地放置S220变换后的提取对象提高了域自适应神经网络的学习S30的鲁棒性,该学习基于由第三域的场景构成的学习集。实际上,随机放置变换后的提取对象可确保在学习S30期间,域自适应神经网络不会专注于变换后的提取对象的位置上,因为此类位置的稀疏范围太大而使学习S30无法依靠它们和/或学习变换后的提取对象与其位置之间的相关性。相反,学习S30可以真正地专注于空间上能够重构的对象的推断,而不管它们的位置如何。顺便提及,不依赖于空间上能够重构的对象的位置允许显著降低域自适应神经网络仅出于对象没有占据适当的位置的原因遗漏域自适应神经网络应推断出的空间重构对象的风险。
在以上示例中,对于每个变换后的提取对象,第三域包括变换后的提取对象放置S220在其上的每个场景。例如,第三域由这种场景构成。换句话说,对于虚拟场景的数据集的所有场景,类似地执行提取S200、变换S210和放置S220。例如,执行它们以使得在其上放置一个或多个变换后的提取对象的所有场景具有基本相同的级别的照片现实性。换句话说,它们属于和/或形成一个域,即第三域。
仍然参考图2的流程图,确定S20第三域可以包括将一个或多个干扰器放置S230在第三域中包括的一个或多个场景的每个相应一个场景中。干扰器是一个不是空间上能够重构的对象的对象。
干扰器可以是与变换后的提取对象具有基本相同级别的照片现实性的对象。实际上,干扰器可以是虚拟场景的数据集的虚拟场景的对象,该虚拟场景的虚拟场景的对象从所述虚拟场景中提取,被变换为更接近第二域的对象,并以与关于虚拟场景的空间上能够重构的对象类似的方式放置在第三域的场景中。替代地,干扰器可以源自真实或虚拟干扰器的另一个数据集,在这种情况下,确定S20可以包括提供这样的数据集的步骤。应当理解,在任何情况下,干扰器都具有一定的照片现实性,使得可以将它们放置S230在第三域的场景中,并且在放置S230之后,这些场景仍然属于第三域。
干扰器可以是机械零件,例如如前所述从虚拟制造场景提取和变换的,或任何其他对象(例如,其是虚拟(例如,制造)场景背景的一部分。图21示出了在制造场景的上下文中将放置在第三域的一个或多个场景中的三个干扰器210、212和214。干扰器210、212和214分别是安全帽(其是制造场景的背景对象)、金属板(其是机械零件)和铁马蹄形锻件(其是机械零件)。
放置S230干扰器,尤其是与变换后的提取对象相似获得的干扰器(如前所述),可以降低神经网络对数值(例如数字,例如成像)伪像的敏感性。实际上,作为提取S200和/或变换S210和/或放置S220的结果,可能是包括至少一个变换后的提取对象的第三域的场景在放置S220有至少一个变换后的提取对象的该位置的特征为一个或多个数值伪像。将干扰器放置S230在场景中可能导致相同种类的伪像出现在放置有干扰器的位置。因此,当被学习S30时,域自适应神经网络将不会专注于伪像,或者至少不会将伪像与空间上能够重构的对象链接,正是因为伪像也是由干扰器引起的。这使得学习S30更加鲁棒。
返回参考图1的流程图,现在讨论域自适应神经网络的学习S30。
首先简要讨论“机器学习”和“学习神经网络”的一般概念。
从机器学习的领域中已知,通过神经网络对输入的处理包括将操作应用于输入,该操作由包括权重值的数据定义。因此,神经网络的学习包括基于被配置用于这种学习的数据集来确定权重的值,这样的数据集可以被称为学习数据集或训练数据集。为此,数据集包括数据片段,每个数据片段形成各自的训练样本。训练样本表示学习后要使用神经网络的情况的多样性。本文涉及的任何数据集都可以包含高于1000、10000、100000或1000000的多个训练样本。在本公开的上下文中,“基于数据集学习神经网络”是指该数据集是神经网络的学习/训练集。“基于域学习神经网络”是指神经网络的训练集是属于和/或形成域的数据集。
本公开的任何神经网络,例如域自适应神经网络,或例如检测器、教师提取器或学生提取器,将在后面进行讨论,它们可以是由任何深度学习技术学习的深度神经网络(DNN)。深度学习技术是神经网络中功能强大的一组学习技术(参见[19]),这是一种受生物启发的编程范例,使计算机能够从观测数据中学习。在图像识别中,DNN的成功归因于其学习丰富的中级媒体表示的能力,而不是其他图像分类方法(SVM、增强(Boosting)、随机森林(Random Forest))中使用的手工设计的低级功能(Zernike矩、HOG、词袋(Bag-of-Word)、SIFT)。更具体地说,DNN专注于基于原始数据的端到端学习。换句话说,通过完成从原始要素开始并以标签结尾的端到端优化,他们可以最大程度地远离要素工程。
现在讨论“被配置用于推断场景中的空间上能够重构的对象”的概念。讨论特别地适用于根据域自适应学习方法、域自适应推断方法或过程中的任何一种的域自适应神经网络,而与学习域自适应神经网络的方式无关。推断场景中的空间上能够重构的对象意味着推断包含一个或多个此类对象的场景中的一个或几个空间上能够重构的对象。这可能意味着推断场景中的所有空间上能够重构的对象。这样,被配置用于推断场景中的空间上能够重构的对象的神经网络将场景和与一个或多个空间上能够重构的对象的位置有关的输出数据作为输入。例如,神经网络可输出场景的(例如,数字)图像表示,其中相应的边界框均包围所推断的空间上能够重构的对象中的相应一个。推断还可以包括这样的边界框的计算和/或边界框(例如,包围场景的空间上能够重构的对象)的标记和/或推断的空间上能够重构的对象(作为空间上能够重构的对象)的标记。神经网络的输出可以存储在数据库中和/或显示在计算机的屏幕上。
域自适应神经网络的学习S30可以通过能够学习被配置用于推断真实场景中的空间上能够重构的对象的神经网络的任何机器学习算法来执行。
域自适应神经网络的学习S30基于第三域。因此,第三域是或至少包含域自适应神经网络的训练/学习集。从关于第三域的确定S20的先前讨论中清楚地看出,域自适应神经网络的训练/学习集源于(例如,获得自)所提供S10的虚拟场景数据集。换句话说,确定S20可以被认为是理论训练/学习集的预处理,该理论训练/学习集是虚拟场景的数据集,以便将其变换成实际的训练/学习集,即第三域的场景,其更接近神经网络(一旦被学习)将接受其输入的集合。如先前所讨论的,这提高了学习S30的鲁棒性和域自适应神经网络的输出质量。
域自适应神经网络可以包括(例如,可以由其构成)检测器,也称为对象检测器,其形成域自适应神经网络的至少一部分。因此,检测器本身就是神经网络,其还被配置用于检测真实场景中的空间上能够重构的对象。检测器通常可以包括数百万个参数和/或权重。域自适应方法的学习S30可以包括对检测器的训练,该检测器设置这些参数和/或权重的值。这种训练通常可以包括更新这些值,这包括针对检测器所获取的每个输入,根据检测器的输出来连续校正这些值。在训练期间,检测器的输入是场景,并且输出包括(至少在适当的训练之后)与该场景中一个或多个(例如,所有)空间上能够重构的对象的位置有关的数据(例如,边界框和/或注释,如前所述)。
值的校正可以基于与每个输入相关联的注释。注释是与特定输入相关联的一组数据,该组数据允许评估模型的输出是真还是假。例如,并且如先前所讨论的,属于第三域的场景的每个空间上能够重构的对象可以被边界框包围。如前所述,在本公开的上下文中,在场景中包围对象可能意味着包围在场景上完全可见的对象的所有部分。可以对边界框进行注释,以指示其包围空间上能够重构的对象。值的校正因此可以包括评估输入到检测器的第三域场景的边界框的这种注释,并且基于所评估的注释,确定边界框中包围的空间上能够重构的对象是否确实由检测器输出。确定检测器的输出是否包括包围在边界框中的空间上能够重构的对象可以包括评估检测器的输出与空间上能够重构的对象之间的对应关系,例如,通过评估输出是否为真(例如,其是否包括空间上能够重构的对象)或假(例如,其是否包括空间上能够重构的对象)。
通过使用虚拟数据集的注释训练检测器的上述方式可以称为“监督学习”。检测器的训练可以通过任何监督学习方法来进行。训练完检测器后,值的校正停止。在这一点上,检测器能够处理新的输入(即,在训练检测器期间看不见的输入)并返回检测结果。在本公开的上下文中,检测器的新输入是测试域的场景。训练后,检测器将返回两个不同的输出,因为“检测”任务意味着在测试数据集的真实场景中共同执行空间上能够重构的对象的识别(或分类)任务和定位(localization)任务。
定位任务包括计算边界框,每个边界框均包围输入到检测器的真实场景的空间上能够重构的对象。如前所述,边界框是一个矩形框,其轴平行于图像边,并以四个坐标为特征。在示例中,对于输入到检测器的场景的每个空间上能够重构的对象,检测器返回以适当的比率和标度在对象上居中的边界框。
分类任务包括用相应的标签(或注释)标记每个计算出的边界框,并将置信度分数与该标签相关联。置信度分数反映了检测器的置信度,即边界框确实包围了作为输入提供的场景的空间上能够重构的对象。置信度分数可以是介于0和1之间的实数。在这种情况下,置信度分数越接近1,检测器对于与相应边界框关联的标签真实地注释空间上能够重构的对象的置信度就越大。
现在参考图3讨论域自适应神经网络的学习S30的示例,图3示出了图示域自适应神经网络的学习S30的示例的流程图。
参考图3的流程图,域自适应神经网络的学习S30可以包括提供S300教师提取器。教师提取器是配置用于输出真实场景的图像表示的机器学习的神经网络。在这种情况下,域自适应神经网络的学习S30还包括训练S310学生提取器。学生提取器是被配置用于输出属于第三域的场景的图像表示的神经网络。学生提取器的训练S310包括使损失最小化。对于一个或多个真实场景的每个场景,损失惩罚了将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的差异。
学生提取器是被配置用于输出属于第三域的场景的图像表示的神经网络。学生提取器可以是检测器的一部分,因此,学生提取器可以进一步被配置为将属于第三域的场景的所述图像表示输出到检测器的其他部分。如先前所讨论的,此类其他部分中的至少一个可以被配置用于定位任务,并且此类其他部分中的至少一个可以被配置用于分类任务。因此,学生提取器可以将第三域的场景的图像表示输出到所述其他部分,以使得所述其他部分可以执行定位和分类的任务。替代地,学生提取器可以是域自适应神经网络的一部分,并且在这种情况下可以将图像表示输出到域自适应神经网络的其他部分(例如,检测器)。
这等于说,学生提取器监督属于第三域的场景的输出图像表示,而域自适应神经网络的至少一个其他部分(例如,先前讨论的检测器)则监督检测(例如,定位和分类)第三域的每个场景中的空间上能够重构的对象。所述检测可以基于学生提取器输出的所述图像表示。换句话说,由学生提取器输出的图像表示被馈送到域自适应神经网络的其余部分,例如如果学生提取器构成检测器的一部分,则为检测器的其余部分。
在提供S300的教师提取器的帮助下,对学生提取器进行了训练。教师提取器是配置用于输出真实场景的图像表示的机器学习的神经网络。在示例中,这意味着已经在真实场景上学习了教师提取器,以例如通过学习用于真实数据样式的鲁棒卷积滤波器来输出真实场景的图像表示。教师提取器的神经元层通常对要输出的真实图像的表示进行编码。教师提取器可以是在任何真实场景的数据集上学习的,例如可通过任何机器学习技术从开放源代码获得。提供S300教师提取器可以包括访问数据库,在该数据库中,教师提取器在学习之后已经被存储,并且从数据库检索教师提取器。应该理解,教师提取器可能已经可用,即,域自适应学习方法可能不包括仅通过提供S300已经可用的教师提取器来学习教师提取器。替代地,域自适应学习方法可以包括:在提供S300教师提取器之前,通过任何机器学习技术来学习教师提取器。
仍然参考图2的流程图,现在讨论学生提取器的训练S320。
所述训练S320包括使对于一个或多个真实场景的每个场景惩罚了将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的差异的损失最小化。一个或多个真实场景的至少一部分(例如,全部)可以是测试数据集的场景,和/或一个或多个真实场景的至少一部分(例如,全部)可以是属于第二域的真实场景的另一数据集的场景,例如其未被注释并且不一定很多。损失的最小化涉及将教师提取器和学生提取器两者应用于一个或多个真实场景中的每个相应真实场景的结果,这意味着在后者的训练S310期间将所述真实场景馈送到教师提取器和学生提取器两者中。因此,虽然在属于第三域的虚拟数据(例如,先前讨论的检测器)上训练了域自适应神经网络的至少一部分,但是对于域自适应神经网络的至少一部分,即学生提取器,根据真实数据进行了训练。
损失可以是针对一个或多个真实场景中的每个真实场景度量在将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的相似度和/或相异度的量(例如,函数)。例如,损失可以是将一个或多个真实场景的每个场景作为参数的函数,该函数将将教师提取器应用于该场景的结果以及将学生提取器应用于该场景的结果作为输入,并输出一个量(例如,正实数),表示在将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的相似度和/或相异度。对于一个或多个真实场景的每个场景,将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的差异可以是对将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的相异度进行量化。惩罚差异可能意味着损失是差异的递增的函数。
通过惩罚教师提取器和学生提取器的输出之间的差异,使损失最小化提高了域自适应神经网络的学习S30的鲁棒性。特别地,已经学习过的教师提取器并且因此在学生提取器的训练S320期间未修改其权重和/或参数的教师提取器指导学生提取器。确实,由于惩罚了学生提取器和教师提取器的输出之间的差异,因此修改了学生提取器的参数和/或权重,以便学生提取器学习输出就数据分布而言与教师提取器输出的图像表示接近的真实图像表示。换句话说,训练学生提取器从而以输出真实图像表示的方式模仿教师提取器。因此,学生提取器可以针对真实数据样式学习与教师提取器在训练期间所学习的相同或基本相同的鲁棒卷积滤波器。结果,即使就数据分布而言,这些场景可能与第二域(由真实场景构成)相距相对较远,学生提取器也会输出最初属于第三域的场景的真实图像表示。这允许使域自适应神经网络,或者在适当情况下,使其检测器对于数据外观不变,这是因为学生提取器的训练方式S320使域自适应神经网络能够从真实场景中推断空间上能够重构的对象,同时在第三域的带注释的虚拟场景上进行训练。
该损失可以被称为“蒸馏损失”,并且使用教师提取器对学生提取器的训练S320可以被称为“蒸馏方法”。蒸馏损失的最小化可以通过任何最小化算法或任何放松算法来进行。蒸馏损失可以是域自适应神经网络的损失的一部分,可选地还包括先前讨论的检测器的损失。在一个实施方式中,域自适应神经网络的学习S30可以包括使域自适应神经网络的损失最小化,其类型可以是:
Ltraining=Ldetector+Ldistillation
其中Ltraining是与域自适应神经网络的学习S30相对应的损失,Ldetector是与检测器的训练相对应的损失,Ldistillation是蒸馏损失。最小化域自适应神经网络的损失Ltraining因此可以包括通过任何放松算法同时或独立地最小化检测器Ldetector的损失和蒸馏损失Ldistillation
在示例中,将教师提取器应用于场景的结果是第一格拉姆矩阵,而将学生提取器应用于场景的结果是第二格拉姆矩阵。提取器(例如,学生或教师)的格拉姆矩阵是表示提取器输出的图像上的数据分布的一种形式。更具体地,将提取器应用于场景产生图像表示,并且计算图像表示的格拉姆矩阵产生图像表示的分布的嵌入,即所谓的图像的基于格拉姆的表示。这相当于说在示例中,将教师提取器应用于场景的结果是教师提取器输出的图像表示的基于第一格拉姆的表示,这是通过计算由教师提取器输出的图像表示的第一格拉姆矩阵得出的,并且将学生提取器应用于场景的结果是学生提取器输出的图像表示的第二基于格拉姆的表示,这是由学生提取器输出的图像表示的第二格拉姆矩阵的计算得出的。例如,格拉姆矩阵可以包含有关提取器输出的图像的非本地化信息,例如纹理、形状和权重。
在示例中,在教师提取器的几个神经元层上计算第一格拉姆矩阵。所述神经元层至少包括最后一个神经元层。在这些示例中,第二格拉姆矩阵是在学生提取器的几个神经元层上计算的。所述神经元层至少包括最后一个神经元层。
提取器(教师或学生)的最后一个神经元层对提取器输出的图像进行编码。第一和第二格拉姆矩阵都是在几层神经元上计算的,这是神经元的更深层。这意味着它们都比图像本身包含更多有关输出图像的信息。这使得对学生提取器的训练更加鲁棒,因为它增加了教师提取器和学生提取器的输出之间的真实风格接近度,这是将损失最小化的目的。值得注意的是,学生提取器由此可以像其教师一样准确地推断出真实图像的两层表示。
在示例中,差异是将教师提取器应用于场景的结果与将学生提取器应用于场景的结果之间的欧几里得距离。
现在讨论使蒸馏损失最小化的实施方式。在该实施方式中,由提取器(教师或学生)在神经元
Figure BDA0002478265900000401
的某些层处输出的图像的样式表示由该层中图像的特征分布来编码。在此实施方式中,使用格拉姆矩阵对特征相关性进行编码,这是特征分布嵌入的一种形式。形式上,对于具有长度为
Figure BDA0002478265900000402
的滤波器的响应
Figure BDA0002478265900000403
的层
Figure BDA0002478265900000404
特征相关性由格拉姆矩阵
Figure BDA0002478265900000405
给出,其中
Figure BDA0002478265900000406
是层
Figure BDA0002478265900000407
中矢量化特征图i和j之间的内积:
Figure BDA0002478265900000408
所提议的蒸馏方法背后的直觉是要确保在学习过程中,学生提取器的权重得到更新,以使其输出的数据样式表示形式接近于教师提取器根据真实数据生成的形式。为此,学习S30包括在特征提取器级别最小化基于格拉姆的蒸馏损失Ldistillation。给定真实图像,令
Figure BDA0002478265900000409
Figure BDA00024782659000004010
分别是在学生提取器和教师提取器的某个层
Figure BDA00024782659000004011
处的对应特征图输出。因此,所提议的层
Figure BDA00024782659000004012
的蒸馏损失为以下类型:
Figure BDA00024782659000004013
其中
Figure BDA00024782659000004014
是相应的格拉姆矩阵
Figure BDA00024782659000004015
Figure BDA00024782659000004016
之间的任何距离(例如,欧几里得距离)。考虑从层
Figure BDA00024782659000004017
中蒸馏知识,那么蒸馏损失的类型为:
Figure BDA00024782659000004018
如前所述,域自适应神经网络的学习S30然后可以包括最小化以下类型的损失:
Ltraining=Ldetector+Ldistillation
返回参考图1的流程图,现在讨论确定中间域的S50。
中间域的确定S50使得就数据分布而言中间域比测试域更接近训练域。这样,中间域的确定S50针对场景的测试数据集的每个场景指定另一个场景的推断,使得所有推断出的另一个场景形成就数据分布而言比测试域更接近训练的域,即中间域。所述另一个场景的推断可以包括该场景到所述另一个场景的变换(例如,转换)。所述变换可以包括例如使用能够将图像从一个域转移到另一域的生成器将场景变换成所述另一个场景。应当理解,这样的变换可以仅涉及场景的一个或多个部分:所述一个或多个部分被变换,例如使用生成器,而其余场景保持不变。所述另一个场景可以包括一个或多个部分被变换而其余场景不变的场景。替代地,该变换可以包括用某些其他场景的一部分(例如,属于训练域)代替场景的其余部分。在这样的情况下,所述另一个场景可以包括一个或多个部分被变换而其余的场景被某个其他场景的所述部分替换的场景。应该理解的是,可以对测试域的所有场景,类似地进行推断。例如具有适用于所有场景的相同范例。
域自适应神经网络不是在训练域上学习的,而是在从训练域获得的数据上学习的。这样的数据可以是训练域的数据处理的结果。例如,从训练域获得的数据可以是场景的数据集,每个场景都是通过变换训练域的相应场景而获得的。这相当于说,从训练域获得的数据可以形成属于一个域的场景数据集,该域是域自适应神经网络的真实训练/学习域。可以通过进行类似的操作和步骤将这样的域精确地确定为第三域。在任何情况下,中间域的确定S50可以以这样的方式来执行(例如,通过前面讨论的场景的变换),使得中间域比测试域更接近由从训练域获得的数据所形成的域。在示例中,从训练域获得的数据形成另一个中间域,就数据分布而言,该中间域比训练域更接近中间域。所述另一个中间域可以是先前讨论的第三域。在所有这些示例中,中间域的确定S50相当于测试数据集的预处理,以便使其更接近已在其上学习了域自适应神经网络的真实训练/学习集。如前所述,这提高了域自适应神经网络的输出质量。
在示例中,对于测试数据集的每个场景,中间域的确定S50包括将测试数据集的场景变换成就数据分布而言更接近训练域的另一个场景。
将场景变换为另一个场景可以包括使用能够将图像从一个域转移到另一域的生成器。应当理解,这样的变换可以仅涉及场景的一个或多个部分:所述一个或多个部分被变换,例如使用生成器,而其余场景保持不变。所述另一个场景可以包括一个或多个部分被变换而其余场景不变的场景。替代地,该变换可以包括用某个其他场景的一部分(例如,属于训练域)代替场景的其余部分。在这样的情况下,所述另一个场景可以包括一个或多个部分被变换而场景的其余部分被某个其他场景的所述部分替换的场景。应该理解的是,可以对测试域的所有场景,类似地进行推断,例如具有对于所有场景的相同范例。
现在参考图4讨论确定中间域的S50的示例,图4示出了图示中间域的确定S50的示例的流程图。
参考图4的流程图,场景的变换可以包括从测试数据集的场景生成S500虚拟场景。在这种情况下,将根据测试数据集的场景和所生成的虚拟场景来推断另一个场景。
可以通过应用能够从测试域的场景生成虚拟场景的任何生成器来执行生成S500。可以通过混合测试数据集的场景和生成的虚拟场景和/或通过组合(例如,混合、无缝克隆或合并(例如,通过合并图像通道的方法))测试数据集的场景和生成的虚拟场景来推断另一个场景。
仍然参考图4的流程图,从测试数据集的场景生成S500虚拟场景可以包括将虚拟场景生成器应用于测试数据集的场景。在这种情况下,虚拟场景生成器是机器学习的神经网络,其被配置用于从测试域的场景推断虚拟场景。
虚拟场景生成器将测试域的场景作为输入,并输出虚拟场景,例如比测试域的场景具有更低的照片现实性的虚拟场景。应当理解,虚拟生成器可能已经被训练/学习。这样,虚拟场景的生成S500可以包括提供虚拟场景生成器,例如通过在训练/学习虚拟场景生成器之后访问存储了虚拟场景生成器的存储器,并从存储器中检索虚拟场景生成器。附加地或替代地,在提供虚拟场景生成器之前,可以通过适合于这种训练的任何机器学习技术来学习/训练虚拟场景生成器。
在示例中,已经在场景的数据集上学习了虚拟场景生成器,每个场景包括一个或多个空间上能够重构的对象。在这样的示例中,当向虚拟场景生成器馈送包括一个或多个空间上能够重构的对象的场景时,虚拟场景生成器能够输出场景的虚拟化,该场景是还包括一个或多个空间上能够重构的对象的虚拟场景,例如全部位于相同的位置和/或采用相同的配置。如前所述,应当理解,域自适应推断方法和/或过程可以仅包括提供虚拟场景生成器(即,其未进行学习),或者可以还包括对虚拟场景生成器的学习。
在域自适应推断方法和/或过程的实施方式中(其中测试数据集由包含制造机器人的真实制造场景构成),生成器是在包含制造机器人的两个制造场景数据集(虚拟数据集和真实数据集)上训练的CycleGAN真实到虚拟网络。在该实施方式中,该方法和/或过程包括在两个数据集上训练CycleGAN网络,以适应机器人在测试场景的测试图像中的出现,从而更接近于域自适应神经网络的训练集,在此实施方式中为根据域自适应学习方法的第三域,并且由包含虚拟制造机器人的虚拟制造场景构成。训练产生了一个真实到虚拟的机器人生成器,该生成器能够修改真实的测试图像以对其进行虚拟化。
图22示出了使用CycleGAN生成器进行生成S500的示例。在此示例中,测试数据集由真实的制造场景组成,每个场景均包含一个或多个制造机器人。图22示出了测试数据集的第一真实场景220和第二真实场景222。这两个场景都是包括铰接式机器人的制造场景。图22还示出了通过应用CycleGAN生成器分别从第一场景220和第二场景222生成的第一虚拟场景224和第二虚拟场景226。
仍然参考图4的流程图,确定中间域的S50可以包括将测试数据集的场景和所生成的虚拟场景混合S510。在这种情况下,混合得到另一个场景。
形式上,令I为测试数据集的场景,令I′为生成的虚拟场景,并且令I|为另一个场景。混合S510I和I’可以指能够混合I和I’以便混合得到I”的任何方法。在示例中,测试数据集的场景与所生成的虚拟场景的混合S510是线性混合。在一种实施方式中,线性混合包括通过以下公式计算另一个场景I”:
I”=α*I+(1-α)*I′。
图23示出了线性混合的示例。图23示出了包括真实制造机器人和由真实场景230生成的虚拟场景232的真实制造场景230。图23还示出了线性混合的结果,其是虚拟制造场景234。
返回参考图1的流程图,现在讨论从在中间域上转移的测试域的测试数据集的场景推断S60空间上能够重构的对象。
首先,从场景推断S60空间上能够重构的对象可以包括:从一个场景推断空间上能够重构的对象,或者针对场景的输入数据集的每个场景推断,从场景的输入数据集的每个场景推断空间上能够重构的对象。值得注意的是,推断S60可以构成域自适应神经网络的测试阶段,其中(例如,相继地)提供测试数据集的所有场景作为域自适应神经网络的输入,该域自适应神经网络推断每个输入的场景中的一个或多个空间上能够重构的对象。附加地或替代地,推断S60可以构成域自适应学习方法和/或域自适应推断方法和/或过程的应用阶段,其中输入数据集是测试域场景的数据集,其不等于测试数据集。在这种情况下,应用阶段可以包括提供输入数据集,将输入数据集的每个场景输入到域自适应神经网络,并对每个场景执行推断S60。还应理解,推断S60一个场景中的空间上能够重构的对象可以包括推断(例如,同时或相继地)包括一个或多个这样的对象的场景中的一个或多个空间上能够重构的对象,例如通过推断场景中所有空间上能够重构的对象。
现在讨论一个场景中一个空间上能够重构的对象的推断S60,该推断可以是场景中更多空间上能够重构的对象的推断S60的一部分。通过应用域自适应神经网络来推断S60场景中的空间上能够重构的对象包括将场景输入到域自适应神经网络。然后,域自适应神经网络输出与空间上能够重构的对象的位置有关的数据。例如,神经网络可以输出场景的(例如,数字)图像表示,其中相应的边界框包围所推断的空间上能够重构的对象。推断还可以包括这样的边界框的计算和/或边界框的标记(例如,包围场景的空间上能够重构的对象)和/或推断的空间上能够重构的对象(作为空间上能够重构的对象)的标记。神经网络的输出可以存储在数据库中和/或显示在计算机的屏幕上。
图24至图29示出了在真实制造场景中的制造机器人的推断。图24至图29均示出了作为域自适应神经网络的输入而馈送的测试域的相应真实场景,以及围绕被包括在每个相应场景中的所有制造机器人计算和注释的边界框。如图26至图30所示,可以在真实场景中推断出多个机器人和/或至少部分地被遮挡的机器人。
实际上,空间上能够重构的对象的推断可以由检测器执行,该检测器形成域自适应神经网络的至少一部分,该神经网络联合执行测试数据集的真实场景中空间上能够重构的对象的识别(或分类)任务和定位任务。定位任务包括计算边界框,每个边界框包围输入到检测器的场景的空间上能够重构的对象。如前所述,边界框是一个矩形框,其轴平行于图像边,并以四个坐标为特征。在示例中,对于输入到检测器的场景的每个空间上能够重构的对象,检测器返回以适当的比例和标度在对象上居中的边界框。分类任务包括用相应的标签(或注释)标记每个计算出的边界框,并将置信度分数与该标签相关联。置信度分数反映了检测器的置信度,即边界框确实包围了作为输入提供的场景的空间上能够重构的对象。置信度分数可以是介于0和1之间的实数。在这种情况下,置信度分数越接近1,检测器对于与相应边界框关联的标签真实地注释空间上能够重构的对象的置信度就越大。
在将域自适应神经网络配置为推断真实场景中的对象的示例中,例如当测试域是由真实场景构成的并且中间域是由虚拟场景构成时,域自适应神经网络还可以包括提取器。提取器形成域自适应神经网络的一部分,该域神经网络被配置为输出真实场景的图像表示并将它们馈送到域自适应神经网络的其他部分,例如检测器或检测器的一部分,例如监督对空间上能够重构的对象的检测。在示例中,这意味着提取器可以例如通过学习用于真实数据样式的鲁棒卷积滤波器来处理中间域的场景以输出场景的图像表示。提取器的神经元层通常编码要输出的真实或照片现实图像的表示。这相当于说,提取器监督属于中间域的场景的输出图像表示,而域自适应神经网络的至少一个其他部分(例如,先前讨论的检测器)则监督检测(例如,定位和分类)第三域的每个输入场景中的空间上能够重构的对象。所述检测可以基于学生提取器输出的所述图像表示。这允许高效地处理和输出真实数据。
作为输入到域自适应神经网络的每个场景都是属于测试域的场景,但是会在确定的中间域上进行转移。换句话说,将场景作为输入提供给域自适应神经网络包括:在中间域上转移场景,并将所转移的场景作为输入馈送给域自适应神经网络。可以通过能够将场景从一个域转移到另一域的任何方法来执行场景的转移。在示例中,转移场景可以包括将场景变换成另一个场景,以及可选地将场景与变换后的场景混合。在这种情况下,可以如先前参考图4的流程图所描述的示例中那样进行变换和可选地混合。值得注意的是,中间域的场景实际上可以是在中间域上转移的测试数据集的场景。
现在讨论该过程的实施方式。
此实施方式提出了虚拟世界中的学习框架,以解决制造数据不足的问题。该实施方式特别是利用用于学习的虚拟仿真数据集和图像处理方法的效率来学习域自适应神经网络,即深度神经网络(DNN)。
虚拟仿真构成获得用于训练的虚拟数据的一种形式。后者似乎已成为一种有前途的技术,以解决难以获得机器学习任务所需的训练数据的难题。通过算法生成虚拟数据,以模仿真实数据的特征,同时具有自动、无错误和无成本的标记。
通过这种实施方式提出了虚拟仿真,以更好地探索不同制造设备的工作机制。形式上,在学习过程中通过这些工具在运行时会呈现出的不同状态来考虑不同的制造工具。
深度神经网络:是神经网络中功能强大的一组学习技术[19],这是一种受生物启发的编程范例,使计算机能够从观测数据中学习。在图像识别中,DNN的成功归因于其学习丰富的中级媒体表示的能力,而不是其他图像分类方法(SVM、增强、随机森林等)中使用的手工设计的低级功能(Zernike矩、HOG、词袋、SIFT等)。更具体地说,DNN专注于基于原始数据的端到端学习。换句话说,通过完成从原始要素开始并以标签结尾的端到端优化,它们可以最大程度地远离要素工程。
域适应:是与机器学习和转移学习相关的领域。当旨在从源数据分布中学习在不同(但相关)的目标数据分布上表现良好的模型时,就会出现这种场景。域适应的目的是找到一种有效的机制,以将知识从一个域转移或适应到另一个域。这是通过引入跨域桥接组件来弥补训练数据和测试数据之间的跨域差距而实现的。
所提出的实施方式特别地由图31示出,其示出了图示该过程的离线和在线阶段的图。
1.离线阶段:此阶段旨在使用虚拟数据训练模型,该模型在推断现实世界时应具有能力。它包含两个主要步骤。注意到,此阶段对用户是透明的。
1)在虚拟制造环境中进行虚拟仿真,以生成具有表示性的虚拟训练数据,并自动对其进行注释。虚拟制造环境是几何现实的,而不是照片现实的。注释类型取决于目标推断任务。
2)基于虚拟数据学习神经网络模型。它包括基于域自适应DNN的模型。
2.在线阶段:给定现实世界的媒介,学习到的域自适应模型被应用于推断制造装备。
该过程的这种实施方式特别涉及完全监督的对象检测领域。具体而言,在此特定实施方式中,我们对制造环境感兴趣,目标是在工厂图像中检测工业机器人手臂。对于所述完全监督领域,训练数据集应包含多达数十万条带注释的数据,这证明使用虚拟数据进行训练是合理的。
最新的对象检测器基于深度学习模型。数以百万计的参数的值无法手动设置,这些都是模型的特征。因此,必须借助学习算法来设置这些参数。当学习算法更新模型参数时,模型被称为处于“训练模式”。由于与每个输入关联的注释,它包括根据每个输入的输出连续“校正”模型。注释是与特定输入相关联的一组数据,该数据允许评估模型的输出是真还是假。例如,训练以区分猫和狗的图像的对象分类器需要猫和狗的带注释的图像的数据集,每个注释是“猫”或“狗”。因此,如果对象分类器在其训练模式下针对输入的猫图像输出为“狗”,则学习算法将通过更新其参数来校正模型。这种通过带注释的数据集来监督模型训练的方法称为“监督学习”。训练模型后,我们将停止更新其参数。然后,该模型仅用于处理新的输入(即,训练模式期间看不见的输入)并返回检测结果,这称为该模型处于“测试模式”。
在本实施方式的上下文中,对象检测器返回两个不同的输出,因为“检测”任务意味着共同执行识别(或分类)任务和定位任务。
1.定位输出:由于有边界框,因此可以进行对象定位。边界框是一个矩形框,其轴平行于图像边。它的特征是四个坐标。理想情况下,对象检测器针对每个对象返回一个以适当的比例和标度在对象上居中的边界框。
2.分类输出:对象分类是通过与每个边界框的置信度分数相关联的类别标签进行的。置信度分数是0到1之间的实数。值越接近1,则对象检测器对于与相应边界框关联的类别标签的置信度越高。
该实施方式特别地由图32示出,其示出了在离线阶段和在线阶段二者上都使用的域自适应组件。
其涉及使用生成的虚拟数据学习对象检测模型。在离线和在线这两个阶段内,都应用了几种域适应方法来解决虚拟与现实域之间的差距。
1.离线阶段:此阶段旨在使用虚拟数据训练模型,该模型在推断现实世界时应具有能力。此阶段包含两个主要步骤。
1)在虚拟制造环境中进行虚拟仿真,以生成具有表示性的虚拟训练数据,这些数据会自动用边界框和“机器人”标签进行注释。
2)域自适应变换
i.在训练集级别上:将训练集变换到一个新的训练域,该新的训练域就数据分布而言更接近于现实世界。
ii.在模型架构级别上:将域自适应模块插入模型中,以解决有问题的虚拟与现实域偏移。
2.在线阶段:将现实世界中的媒体转换为新的测试域,然后再由学习的检测模型对其进行更好的处理,然后再由学习的检测模型进行推断。换句话说,新的测试域比原始的真实域更接近训练域。
重要的是要注意,此实施方式的一个特殊性是它没有遇到虚拟到真实图像变换精度的问题。当前工作的直觉是考虑虚拟世界和现实世界之间的中间域,而不是尝试将虚拟数据迁移到现实世界。形式上,虚拟训练数据和真实测试数据分别被拖到域偏移最小的训练和测试中间域。
根据上述框架,可以理解当前讨论的实施方式基于两个主要步骤:
·用于学习的虚拟数据生成。
·域自适应。
为了应对工厂图像的稀缺性,此实施方式依靠基于仿真的虚拟数据生成方法来实现。训练集包括3D渲染的工厂场景。这些工厂场景是由公司的内部设计应用程序生成的,并带有在像素级别对感兴趣的对象(机器人)进行分割的蒙版(mask)。将每个场景仿真成多个帧,以描述机器人可能具有的多种功能状态。
此步骤生成具有独特和复杂功能的虚拟图像集,用于在制造环境中检测机器人的任务。尽管这似乎是一个“简单”的单目标检测任务,但基线检测器和最新的域自适应网络在此问题上无法胜任。从形式上讲,生成的集合不是照片现实性的,而是“卡通化的”。生成的虚拟场景的简单性反映了生成我们的训练数据的简便性,这是本实施方式的主要优势。同时,由于关注对象的复杂性,很难使用解决此类虚拟数据的最新方法,即域随机化DR技术(参见[7,15])。
实际上,域随机化通过以非照片现实性方式随机干扰环境来放弃照片真实性。该DR背后的直觉是教导该算法,以迫使网络学会专注于图像的基本特征,并忽略场景中不感兴趣的对象。更形式地,虚拟数据中缺少的主要真实特征是图像的低级形式,例如纹理、照明和底纹。DR确保在训练数据集上扰动这些特征,以使算法不会依赖于它们来识别对象。按照相同的逻辑,DR将不会影响真实数据和虚拟数据之间的共同特征。在所使用的虚拟数据生成的范围内,人们可能会了解到,学习过的模型期望学习所依赖的正确特征是形状和轮廓。这在DR技术中很重要。
此外,本实施方式的关注对象是机器人,它具有许多关节的配置(通常为6个自由度),这些配置通过连续的值范围进行校准。这为每种机器人类型给予了可能状态的无限范围。因此,对于这种复杂的工业对象,除了学习的形状和轮廓以外,将所有独特的特征随机化并不是最佳选择。实际上,当对象的形状和轮廓复杂时,很难满足它们表示对象的形状和轮廓所需要的可变性。特别是对于机器人示例而言,学习能够提取并关注具有无限关节位置的各种机器人类型的独特形状和轮廓以识别图像中的对象的模型确实是不可想象的。
所提出的实施方式建立了一个学习问题,该问题在数据复杂(例如,当前情况)时是胜任的。
所提出的域自适应方法可以被认为是部分域随机化技术。形式上,它提议通过有意地将数据特征随机化或转换到比虚拟环境更好地表示现实世界的新域,来增强模型正在学习的正确特征。例如,它可以更好地探索纹理特征的特异性。为此,在当前讨论的实施方式中实现了三种新颖的技术:
1、虚拟到真实的转换
为了纠正跨域偏移,现有技术文章中的一种常见方法是更改虚拟数据的外观,使其看起来好像是从真实域中提取的一样,即它们获得的分布可以更好地表示现实世界。为此,使用真实场景对虚拟图像进行整体修改,而相似对象之间没有任何对应关系。然而,为了获得最佳的图像到图像转换性能,可能猜测将真实的机器人纹理转移到虚拟场景中的机器人上,并针对背景使用它是有益的。
当前的实施方式是基于这种有针对性的外观转移,通过将不同的图像到图像转换网络分别应用于训练集中每种媒体的机器人和工厂背景来实现。
为此,我们使用CycleGAN模型[20]将图像从一个域转换到另一个域。提出了一种方法,其可以在没有任何成对的训练示例的情况下,学习捕获一个图像集的特殊特征,并弄清楚如何将这些特征转换为第二图像集合。实际上,具有一对一映射的这种放松使得这种表达方式非常强大。这是通过生成模型,特别是称为CycleGAN的生成对抗网络(GAN)来实现的。
如上所述,分别训练了两个不同的模型
·CycleGAN虚拟到真实网络1:在两个工厂背景集上进行训练:虚拟集和真实集。它会生成虚拟到现实工厂生成器,该生成器用于修改虚拟图像中的背景。
·CycleGAN虚拟到真实2:在两个机器人集(虚拟集和真实集)上进行训练。这将得到虚拟到现实机器人生成器,该生成器用于修改虚拟映像中的机器人。
2、基于格拉姆的蒸馏
为了更好地强调关于域偏移的模型鲁棒性,我们提出了一种在检测器级别实施的新颖的知识蒸馏方法。注意到,大多数现有技术的检测器(参见[18,9])都包含特征提取器,该特征提取器是卷积层的深层网络。特征提取器输出图像表示,以将其馈送到检测器的其余部分。蒸馏的直觉是指导检测模型学习用于真实数据样式的鲁棒的卷积滤波器,这与使模型对于数据外观不变的主要目标一致。
形式上,该实施方式包括在虚拟媒体上训练检测器,同时更新检测器的特征提取器权重,以接近由馈入我们的检测器和在来自开源的真实数据上进行预训练的第二检测器二者的真实图像的两层表示编码的样式。
请注意,某个层
Figure BDA0002478265900000501
处的图像的样式表示由该层中的特征分布编码。对于此实施方式,我们使用编码特征相关性的格拉姆矩阵,这是特征分布嵌入的一种形式。形式上,对于具有长度为
Figure BDA0002478265900000502
的滤波器的响应
Figure BDA0002478265900000503
的层
Figure BDA0002478265900000504
特征相关性由格拉姆矩阵
Figure BDA0002478265900000505
给出,其中
Figure BDA0002478265900000506
是层
Figure BDA0002478265900000507
中矢量化特征图i和j之间的内积:
Figure BDA0002478265900000511
提议进行蒸馏的直觉是要确保在学习过程中检测器的特征提取器权重得到更新,以使其输出的数据样式表示接近另一个在真实数据上进行预训练的特征提取器将生成的数据样式表示。为此,当前讨论的实施方式在特征提取器级别实现基于格拉姆的蒸馏损失Ldistillation
给定一个真实的图像,我们分别用
Figure BDA0002478265900000512
Figure BDA0002478265900000513
表示检测器的特征提取器和预先训练的特征提取器的层
Figure BDA0002478265900000514
的相应特征图输出。因此,在层
Figure BDA0002478265900000515
处的提出的蒸馏损失是相应的格拉姆矩阵
Figure BDA0002478265900000516
Figure BDA0002478265900000517
之间的欧几里得距离
Figure BDA0002478265900000518
考虑从层
Figure BDA0002478265900000519
中蒸馏知识,则蒸馏损失定义为
Figure BDA00024782659000005110
总的训练损失为
Ltraining=Ldetector+Ldistillation
3、真实到虚拟的转换
可能期望将虚拟映像转换为真实域的任务无法被完美完成。这意味着修改后的数据比虚拟数据更接近现实世界,而与现实分布却不完全匹配。因此,我们假设将修改后的虚拟数据转移到位于合成域和真实域之间的新域D1中。这项工作的一个贡献是通过将真实测试数据拖动到另一个新域D2来将域适应范围扩展到真实测试数据。为了使用此方法,就分布而言,D2应该比真实域更接近D1;这是在本应用案例中通过比较数据表示所确认的假设。通过在测试数据上应用真实到虚拟数据转换(即,先前在训练阶段应用于虚拟数据的逆运算)来实现这种形式的适应。
在本实施方式的上下文中,通过训练在两个机器人集(虚拟集和真实集)上训练过的CycleGAN真实到虚拟网络来确保变换。这将产生真实到虚拟机器人生成器,该生成器用于修改真实的测试图像。在此级别上,我们选择在机器人集上训练CycleGAN网络,因为我们主要对适应机器人在测试图像中的外观以便被检测器识别感兴趣。注意到,也可以像对训练集做的那样通过单独地以区域为目标来对测试数据执行更复杂的图像转换。然而,改进是有限的,并且我们满足于对于整个测试图像应用一个CycleGAN网络。

Claims (15)

1.一种计算机实现的机器学习方法,包括:
-提供:
-(S10)属于测试域的场景的测试数据集;以及
-(S40)域自适应神经网络,所述域自适应神经网络是对从训练域获得的数据进行学习的机器学习的神经网络,所述域自适应神经网络被配置用于推断所述测试域的场景中的空间上能够重构的对象;
-确定(S50)中间域,就数据分布而言,所述中间域比所述测试域更接近所述训练域;以及
-通过应用所述域自适应神经网络,根据在所述中间域上转移的所述测试域的场景来推断(S60)空间上能够重构的对象。
2.根据权利要求1所述的方法,其中,对所述中间域的确定(S50)包括对于所述测试数据集的每个场景进行以下操作:
-将所述测试数据集的所述场景变换为就数据分布而言更接近所述训练域的另一场景。
3.根据权利要求2所述的方法,其中,对所述场景的变换包括:
-根据所述测试数据集的所述场景来生成(S500)虚拟场景,
所述另一场景是基于所述测试数据集的所述场景以及所生成的虚拟场景来推断的。
4.根据权利要求3所述的方法,其中,根据所述测试数据集的所述场景生成(S500)所述虚拟场景包括将虚拟场景生成器应用于所述测试数据集的所述场景,所述虚拟场景生成器是被配置用于根据所述测试域的场景来推断虚拟场景的机器学习的神经网络。
5.根据权利要求4所述的方法,其中,所述虚拟场景生成器在场景的数据集上已被学习,每个场景包括一个或多个空间上能够重构的对象。
6.根据权利要求3、4或5所述的方法,其中,对所述中间域的确定(S50)还包括将所述测试数据集的所述场景与所生成的虚拟场景进行混合(S510),混合产生了所述另一场景。
7.根据权利要求6所述的方法,其中,对所述测试数据集的所述场景与所生成的虚拟场景的混合(S510)是线性混合。
8.根据权利要求1至7中的任一项所述的方法,其中,所述测试数据集包括真实场景。
9.根据权利要求8所述的方法,其中,所述测试数据集的每个真实场景是包括一个或多个空间上能够重构的制造工具的真实制造场景,所述域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具。
10.根据权利要求1至9中的任一项所述的方法,其中,所述训练域包括虚拟场景的训练数据集,每个虚拟场景包括一个或多个空间上能够重构的对象。
11.根据权利要求10所述的方法,其中,虚拟场景的所述数据集的每个虚拟场景是包括一个或多个空间上能够重构的制造工具的虚拟制造场景,所述域自适应神经网络被配置用于推断真实制造场景中的空间上能够重构的制造工具。
12.根据权利要求1至11中的任一项所述的方法,其中,从所述训练域获得的所述数据包括另一中间域的场景,所述域自适应神经网络在所述另一中间域上已被学习,就数据分布而言,所述另一中间域比所述训练域更接近所述中间域。
13.一种计算机程序,包括用于执行根据权利要求1至12中的任一项所述的方法的指令。
14.一种设备,包括在其上记录有权利要求13所述的计算机程序的数据存储介质。
15.根据权利要求14所述的设备,还包括耦合到所述数据存储介质的处理器。
CN202010371444.1A 2019-05-06 2020-05-06 虚拟世界中的经验学习 Pending CN111898172A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19305580.3A EP3736741A1 (en) 2019-05-06 2019-05-06 Experience learning in virtual world
EP19305580.3 2019-05-06

Publications (1)

Publication Number Publication Date
CN111898172A true CN111898172A (zh) 2020-11-06

Family

ID=66625891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010371444.1A Pending CN111898172A (zh) 2019-05-06 2020-05-06 虚拟世界中的经验学习

Country Status (4)

Country Link
US (1) US11977976B2 (zh)
EP (1) EP3736741A1 (zh)
JP (1) JP2020205033A (zh)
CN (1) CN111898172A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240119A (zh) * 2021-04-08 2021-08-10 南京大学 一种用于游戏ai策略解释的跨模型蒸馏装置
CN113627433A (zh) * 2021-06-18 2021-11-09 中国科学院自动化研究所 基于数据扰动的跨域自适应语义分割方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2585078B (en) * 2019-06-28 2023-08-09 Sony Interactive Entertainment Inc Content generation system and method
US11386662B2 (en) 2020-05-28 2022-07-12 Microsoft Technology Licensing, Llc Tracking multiple objects in a video stream using occlusion-aware single-object tracking
US11604947B2 (en) * 2020-08-26 2023-03-14 X Development Llc Generating quasi-realistic synthetic training data for use with machine learning models
US11335008B2 (en) * 2020-09-18 2022-05-17 Microsoft Technology Licensing, Llc Training multi-object tracking models using simulation
CN112329885B (zh) * 2020-11-25 2021-07-09 江苏云从曦和人工智能有限公司 模型训练方法、装置以及计算机可读存储介质
CN112816496B (zh) * 2021-01-05 2022-09-23 广州市华颉电子科技有限公司 一种汽车域控制器的接口装配质量自动光学检测方法及装置
WO2022266101A1 (en) * 2021-06-14 2022-12-22 The Johns Hopkins University Systems, methods, and computer programs for using a network of machine learning models to detect an image depicting an object of interest which can be partially occluded by another object
US11653071B2 (en) 2021-09-23 2023-05-16 International Business Machines Corporation Responsive video content alteration
US20230274563A1 (en) * 2022-02-28 2023-08-31 Jio Platforms Limited System and method for multi attribute based data synthesis

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060122820A1 (en) * 2004-12-03 2006-06-08 The Mitre Corporation Scripting language for domain-specific modification of a simulation model
US11195057B2 (en) 2014-03-18 2021-12-07 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US11074377B2 (en) * 2015-09-08 2021-07-27 Halliburton Energy Services, Inc. Simulators and simulation methods using adaptive domains
WO2017044074A1 (en) * 2015-09-08 2017-03-16 Halliburton Energy Services, Inc. Domain-adaptive hydraulic fracture simulators and methods
WO2018013495A1 (en) * 2016-07-11 2018-01-18 Gravity Jack, Inc. Augmented reality methods and devices
EP3343502B1 (en) 2016-12-28 2019-02-20 Dassault Systèmes Depth sensor noise
US20180330194A1 (en) * 2017-05-15 2018-11-15 Siemens Aktiengesellschaft Training an rgb-d classifier with only depth data and privileged information
US10456909B2 (en) 2017-06-02 2019-10-29 Foshan Huashu Robotics Co., Ltd. Multi-joint industrial robot-Bispir
US11273553B2 (en) * 2017-06-05 2022-03-15 Autodesk, Inc. Adapting simulation data to real-world conditions encountered by physical processes
US10242292B2 (en) * 2017-06-13 2019-03-26 Digital Surgery Limited Surgical simulation for training detection and classification neural networks
US11055989B2 (en) 2017-08-31 2021-07-06 Nec Corporation Viewpoint invariant object recognition by synthesization and domain adaptation
WO2019167042A1 (en) 2018-02-27 2019-09-06 Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. Systems and methods for using and training a neural network
US10896535B2 (en) * 2018-08-13 2021-01-19 Pinscreen, Inc. Real-time avatars using dynamic textures
US11481751B1 (en) * 2018-08-28 2022-10-25 Focal Systems, Inc. Automatic deep learning computer vision based retail store checkout system
US11521009B2 (en) 2018-09-04 2022-12-06 Luminar, Llc Automatically generating training data for a lidar using simulated vehicles in virtual space
US11205028B2 (en) * 2018-09-06 2021-12-21 Terrafuse, Inc. Estimating physical parameters of a physical system based on a spatial-temporal emulator
US10373023B1 (en) 2019-01-28 2019-08-06 StradVision, Inc. Learning method and learning device for runtime input transformation of real image on real world into virtual image on virtual world, to be used for object detection on real images, by using cycle GAN capable of being applied to domain adaptation
EP3736740A1 (en) * 2019-05-06 2020-11-11 Dassault Systèmes Experience learning in virtual world
US11921473B2 (en) * 2019-06-28 2024-03-05 Intel Corporation Methods and apparatus to generate acceptability criteria for autonomous systems plans
US11176700B2 (en) * 2019-07-18 2021-11-16 Hitachi, Ltd. Systems and methods for a real-time intelligent inspection assistant
US11935271B2 (en) * 2020-01-10 2024-03-19 Tencent America LLC Neural network model compression with selective structured weight unification
US20210232891A1 (en) * 2020-01-23 2021-07-29 Tencent America LLC Neural network model compression with structured weight unification
EP4244782A1 (en) * 2020-11-13 2023-09-20 Telefonaktiebolaget LM Ericsson (publ) Machine-learning models and apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240119A (zh) * 2021-04-08 2021-08-10 南京大学 一种用于游戏ai策略解释的跨模型蒸馏装置
CN113240119B (zh) * 2021-04-08 2024-03-19 南京大学 一种用于游戏ai策略解释的跨模型蒸馏装置
CN113627433A (zh) * 2021-06-18 2021-11-09 中国科学院自动化研究所 基于数据扰动的跨域自适应语义分割方法及装置
CN113627433B (zh) * 2021-06-18 2024-04-09 中国科学院自动化研究所 基于数据扰动的跨域自适应语义分割方法及装置

Also Published As

Publication number Publication date
US20200356899A1 (en) 2020-11-12
JP2020205033A (ja) 2020-12-24
EP3736741A1 (en) 2020-11-11
US11977976B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
US11568109B2 (en) Experience learning in virtual world
US11977976B2 (en) Experience learning in virtual world
JP6878011B2 (ja) 3dモデル化オブジェクトの再構築
CN107038751B (zh) 从2d图像进行3d建模对象的识别的方法、介质与系统
CN112836734A (zh) 一种异源数据融合方法及装置、存储介质
CN112785526B (zh) 一种用于图形处理的三维点云修复方法
JP2019032820A (ja) 画像を入力とする関数を学習するためのデータセット
CN109886297A (zh) 一种用于从二维图像识别三维模型对象的方法
Oyekan et al. Utilising low cost RGB-D cameras to track the real time progress of a manual assembly sequence
CN114707628A (zh) 用于3d对象检测的机器学习
Pérez-Villar et al. Spacecraft pose estimation based on unsupervised domain adaptation and on a 3d-guided loss combination
Tang et al. Two-stage filtering method to improve the performance of object detection trained by synthetic dataset in heavily cluttered industry scenes
WO2019192745A1 (en) Object recognition from images using cad models as prior
Vysocky et al. Generating synthetic depth image dataset for industrial applications of hand localization
Yu et al. HandO: a hybrid 3D hand–object reconstruction model for unknown objects
Pucihar et al. FUSE: Towards AI-Based Future Services for Generating Augmented Reality Experiences
Irgenfried et al. Realization and evaluation of image processing tasks based on synthetic sensor data: 2 use cases
CN113068017A (zh) 增强真实场景的视频通量
Vanherle et al. Real-time detection of 2d tool landmarks with synthetic training data
Hodapp et al. Advances in Automated Generation of Convolutional Neural Networks from Synthetic Data in Industrial Environments.
CN117437366B (zh) 一种多模态大规模场景数据集的构建方法
Ruiz et al. A tool for building multi-purpose and multi-pose synthetic data sets
Löfgren et al. Generating Synthetic Data for Evaluation and Improvement of Deep 6D Pose Estimation
Barton et al. Image segmentation and robust edge detection for collision avoidance in machine tools
Oliveira A Tool for Building Multi-purpose and Multi-pose Synthetic Data Sets

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