CN111328396B - 用于图像中的对象的姿态估计和模型检索 - Google Patents
用于图像中的对象的姿态估计和模型检索 Download PDFInfo
- Publication number
- CN111328396B CN111328396B CN201880073063.6A CN201880073063A CN111328396B CN 111328396 B CN111328396 B CN 111328396B CN 201880073063 A CN201880073063 A CN 201880073063A CN 111328396 B CN111328396 B CN 111328396B
- Authority
- CN
- China
- Prior art keywords
- input image
- dimensional
- candidate
- pose
- image
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 161
- 230000015654 memory Effects 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 description 83
- 230000008569 process Effects 0.000 description 47
- 238000009877 rendering Methods 0.000 description 46
- 238000012549 training Methods 0.000 description 38
- 238000001514 detection method Methods 0.000 description 32
- 230000004807 localization Effects 0.000 description 29
- 230000011218 segmentation Effects 0.000 description 27
- 238000013459 approach Methods 0.000 description 20
- 239000002131 composite material Substances 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 238000013519 translation Methods 0.000 description 13
- 241000282326 Felis catus Species 0.000 description 10
- 238000005457 optimization Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000003936 working memory Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000001994 activation Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 241000272525 Anas platyrhynchos Species 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/653—Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/10—Recognition assisted with metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Artificial Intelligence (AREA)
- Architecture (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Processing Or Creating Images (AREA)
Abstract
提供用于选择三维模型的技术。可以获得包含对象的输入图像,并且可以确定所述输入图像中的所述对象的姿态。可以获得表示在所述所确定的姿态中的一或多个对象的一或多个候选三维模型。从所述一或多个候选三维模型中,可以确定候选三维模型以表示所述输入图像中的所述对象。
Description
相关申请的交叉参考
本申请主张2017年11月15日递交的第62/586,449号美国临时申请的权益,所述申请特此以全文引用的方式并入本文中并且出于所有目的。
技术领域
本发明大体上涉及用于图像中的对象的姿态估计和模型检索,并且更确切地说涉及估计在图像中描绘的对象的姿态并且确定用于表示对象的三维模型。
背景技术
确定存在于真实图像中的对象和那些对象的属性对于许多应用都是有用的。举例来说,可以确定模型以用于表示图像中的对象,并且可以用于促进各种系统的有效操作。此类应用和系统的实例包含扩增现实(AR)、机器人技术、汽车和航空、三维场景理解、对象抓取、对象追踪,外加许多其它应用和系统。
在AR环境中,举例来说,用户可查看人工或虚拟图形与用户的自然周围环境的集成。AR应用允许待处理的真实图像将虚拟对象添加到图像并且在多个维度中对齐虚拟对象与图像。举例来说,存在于现实中的现实世界对象可以使用类似于现实世界对象或是现实世界对象的精确匹配的模型表示。举例来说,当用户继续查看AR环境中的他的或她的自然周围环境时表示坐在跑道上的真实飞机的虚拟飞机的模型可以在AR装置(例如,眼镜、护目镜,或其它装置)的视野中呈现。当查看现实世界场景时查看者可以能够操控模型。在另一实例中,可使用具有AR环境中的不同的色彩或不同的物理属性的模型来识别和渲染坐在桌子上的实际对象。在一些情况下,并不存在于现实中的人工虚拟对象或用户的自然周围环境的实际对象或结构的计算机产生的复本也可以被添加到AR环境。
发明内容
在一些实施例中,描述了用于估计在图像中检测到的对象的姿态并且确定用于表示对象的三维模型的技术和系统。举例来说,本文中所描述的技术和系统可以检测输入图像中的一或多个目标对象。对于在图像中检测到的目标对象中的每一个,可以获得和分析多个3D模型以确定用于对象中的每一个的一或多个候选3D模型。举例来说,3D模型可以从具有不同的类别和不同的几何形状的预定义3D模型的数据库获得。在一些实例中,3D模型可以包含表示各种类别的对象的3D网格。一或多个目标对象的3D姿态可以被估计并且用于渲染针对目标对象确定的一或多个候选3D模型的图像或视图。举例来说,图像可以通过在针对目标对象估计的姿态中的候选3D模型经渲染。举例来说,经渲染的图像可以包含在所估计的姿态中的3D模型的深度图。
在一些情况下,可以识别输入图像中的一或多个目标对象的类别。举例来说,目标对象的类别可以用于从多个3D模型(例如,来自预定义的数据库)中选择用于目标对象的一或多个候选3D模型。在一些情况下,可以估计一或多个目标对象的相对大小。目标对象的所估计的大小可以用于渲染用于目标对象的候选3D模型的图像或视图。举例来说,在根据目标对象的所估计的大小拉伸或压缩3D模型(例如,模型的3D网格)之后可以从目标对象的所估计的3D姿态中渲染候选3D模型的图像(例如,深度图)。除了将3D模型放置在所估计的姿态中之外修改候选3D模型的大小提供了呈接近于输入图像中的目标对象的形式的3D模型。
候选3D模型的经渲染的图像或视图可以随后与输入图像进行比较。基于比较,提供与输入图像中的目标对象的最佳匹配的候选3D模型被选择为将用于表示目标对象的3D模型。各种技术可以用于比较经渲染的图像与输入图像。在一些实例中,可以针对输入图像且针对经渲染的图像确定描述符。举例来说,可以针对对应于目标对象的输入图像的区计算描述符。在一些情况下,针对输入图像中的目标对象计算的描述符可以包含向量,所述向量包含表示目标对象的特征的一或多个值。也可以针对3D模型的经渲染的图像(例如,针对3D网格的深度图)计算描述符。在一些情况下,3D模型描述符可以包含向量,所述向量包含表示在所估计的姿态中的3D模型的特征的一或多个值。可以确定描述符使得可以从描述符之间的比较中估计输入图像与对应的3D模型之间的亲和性。在一些实例中,可以使用最近邻域搜索执行比较。在一些情况下,比较可以基于描述符之间的欧几里得距离。也可以使用其它合适的比较技术和距离的类型。带具有与目标对象的描述符的最接近匹配的描述符的3D模型被选择为用于表示目标对象的3D模型。其它技术也可以用于确定最佳匹配的3D模型。举例来说,如果目标对象的图像和3D模型的经渲染的图像匹配,那么经训练分类器可以用于预测。
选择用于表示目标对象的3D模型可以提供用于由可以利用3D模型(例如,3D网格)的任何合适的应用使用以用于执行一或多个操作。在一个说明性实例中,所选择的3D模型可以由AR应用使用以表示AR环境中的对象。在其它实例中,3D模型的3D网格可以用于3D场景理解、对象抓取(例如,在机器人技术、手术应用和/或其它合适的应用中)、对象追踪、场景导航,和/或其它合适的应用。
根据至少一个实例,提供了一种选择三维模型的方法。所述方法包含获得包含对象的输入图像。所述方法进一步包含确定输入图像中的对象的姿态。所述方法进一步包含获得表示在所确定的姿态中的一或多个对象的一或多个候选三维模型。所述方法进一步包含从一或多个候选三维模型中确定候选三维模型以表示输入图像中的对象。
在另一实例中,提供了一种用于选择三维模型的设备。所述设备包含处理器和经配置以存储包含对象的图像的存储器。所述处理器经配置以并且可以获得包含对象的输入图像。所述处理器进一步经配置以并且可以确定输入图像中的对象的姿态。所述处理器进一步经配置以并且可以获得表示在所确定的姿态中的一或多个对象的一或多个候选三维模型。所述处理器进一步经配置以并且可以从一或多个候选三维模型中确定候选三维模型以表示输入图像中的对象。
在另一实例中,一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时使得所述一或多个处理器:获得包含对象的输入图像;确定输入图像中的对象的姿态;获得表示所确定的姿态中的一或多个对象的一或多个候选三维模型;以及从一或多个候选三维模型中确定候选三维模型以表示输入图像中的对象。
在另一实例中,提供了一种用于选择三维模型的设备。所述设备包含用于获得包含对象的输入图像的装置。所述设备进一步包含用于确定输入图像中的对象的姿态的装置。所述设备进一步包含用于获得表示在所确定的姿态中的一或多个对象的一或多个候选三维模型的装置。所述设备进一步包含用于从一或多个候选三维模型中确定候选三维模型以表示输入图像中的对象的装置。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括基于候选三维模型和输入图像产生输出图像。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:接收用户输入以操控候选三维模型;以及基于用户输入调节输出图像中的候选三维模型的姿态或位置中的一或多个。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:获得额外的输入图像,所述额外的输入图像包含与输入图像中的对象的姿态或位置相比在不同的姿态或不同的位置中的一或多个中的对象;以及基于额外的输入图像中的对象的姿态或位置与输入图像中的对象的姿态或位置之间的差异调节输出图像中的候选三维模型的姿态或位置中的一或多个。
在一些实例中,获得表示一或多个对象的一或多个三维模型包含:获得表示多个对象的多个三维模型;以及选择多个三维模型的子集作为一或多个候选三维模型。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:确定输入图像中的对象的类别;以及确定与多个候选三维模型相关联的一或多个类别。在此类实例中,一或多个候选三维模型是基于具有输入图像中的对象的类别的一或多个候选三维模型选自多个候选三维模型的。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:产生用于一或多个候选三维模型的一或多个图像,其中产生一或多个图像以包含在所确定的姿态中的一或多个对象;产生用于输入图像中的对象的描述符;以及产生用于针对一或多个候选三维模型产生的一或多个图像的一或多个描述符,其中候选三维模型是基于针对对象产生的描述符和针对一或多个图像产生的一或多个描述符确定的。
在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:比较针对一或多个图像产生的一或多个描述符与针对输入图像产生的描述符;以及确定来自针对一或多个图像产生的一或多个描述符中的具有与针对输入图像产生的描述符的最接近的匹配的描述符,其中候选三维模型是基于来自一或多个描述符的具有与针对输入图像产生的描述符的最接近的匹配的描述符确定的。
在一些实例中,比较针对一或多个图像产生的一或多个描述符与针对输入图像产生的描述符包含:使用针对输入图像产生的描述符作为输入执行最近邻域搜索。在一些实例中,针对一或多个候选三维模型产生的一或多个图像包含一或多个深度图。
在一些实例中,一或多个候选三维模型包含表示一或多个对象的一或多个三维网格。
在一些实例中,确定输入图像中的对象的姿态包含:确定输入图像中的对象的三维限界框的多个二维投影;以及使用三维限界框的多个二维投影估计对象的姿态。在一些情况下,三维限界框的多个二维投影是通过将经训练的卷积网络应用到图像确定的。经训练的卷积网络经训练以预测在多个姿态中的对象的三维限界框的二维投影。在一些实例中,使用三维限界框的多个二维投影估计对象的姿态包含使用预测的二维投影与对应于预测的二维投影的三维限界框的三维点之间的对应性应用视角-n-点(PnP)问题。在一些实例中,上文所描述的方法、设备和计算机可读媒体进一步包括:确定三维限界框的三维点,方法是预测三维限界框的一或多个空间维度并且使用一或多个空间维度以按比例缩放单位立方体。
本发明内容并不意图识别所主张的标的物的关键特征或必要特征,也并不意图单独用于确定所主张的标的物的范围。标的物应参考此专利的整个说明书的适当部分、任何或所有图式以及每个权利要求来理解。
在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。
附图说明
下文参考以下附图详细描述本申请的说明性实施例:
图1是根据一些实例说明模型检索系统的实例的框图。
图2A是根据一些实例说明模型检索系统的另一实例的框图。
图2B是根据一些实例说明由模型检索系统使用的网络架构的实例的框图。
图3A到图3D是根据一些实例说明针对输入图像中的对象检索的3D模型的实例的图像。
图4是根据一些实例说明回归因子的实例的框图。
图5是根据一些实例其中限界框以二维投影示出的图像的图示。
图6是根据一些实例说明姿态估计系统的实例的框图。
图7是根据一些实例的输入图像的图示。
图8是根据一些实例的输出图像的图示。
图9A是根据一些实例其中已经执行目标对象定位的实例的图像的图示。
图9B是根据一些实例具有分段为二进制掩码的图像的每个区的图像的图示。
图9C是根据一些实例示出第二分段的应用以获得对象分段的图像的图示。
图9D是根据一些实例具有所估计的对象中心的对象的图像的图示。
图10是根据一些实例其中已经执行目标对象定位的另一实例的图像的图示。
图11A是根据一些实例包含具有某些姿态的对象的输入图像的实例。
图11B是根据一些实例具有在图11A中所示的姿态中的对象的3D模型的经渲染的图像的实例。
图12是根据一些实例说明估计对象的姿态的过程的实例的流程图。
图13A和图13B是根据一些实例说明包含具有某些姿态的对象的输入图像和具有在姿态中的对象的3D模型的经渲染的图像的实例的图像。
图14说明可在其中实施一或多个实施例的计算系统的实例。
具体实施方式
下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可以独立地应用并且它们中的一些可以组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在没有这些特定细节的情况下实践各种实施例。图式和描述并不意图是限制性的。
以下描述仅提供示例性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示例性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的技术人员将理解,所述实施例可以在没有这些特定细节的情况下加以实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它例子中,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构以及技术以免混淆实施例。
并且,应注意,个体实施例可被描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。虽然流程图可将操作描述为依序过程,但是许多操作可以并行或同时执行。另外,可重新布置操作的次序。过程在其操作完成时终止,但是可具有不包含在图中的额外步骤。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止可以对应于所述函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于,便携式或非便携式存储装置、光学存储装置,以及能够存储、含有或携载指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,在非暂时性媒体中可以存储数据,且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含但不限于,磁盘或磁带、光学存储媒体,例如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、种类的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输或类似者的任何合适的装置传递、转发或传输。
此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用来执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。处理器可以执行必要任务。
检索来自图像的对象的三维(3D)形状对于许多应用可以都是有用的,例如扩增现实(AR)应用、3D场景理解、对象抓取、对象追踪,等等。已经提出各种技术用于检索对象的3D形状。举例来说,一个可能的方式是使用立体重新构建。然而,立体重新构建需要若干注册的图像,并且仅提供3D点的非结构化集合。还可以使用基于神经网络的方式。举例来说,由于深度学习的发展,现在有可能在检索来自单个图像的3D几何形状之前使用强图像。举例来说,一些基于深度学习的技术可以检索来自单个图像的深度图。然而,由此类技术引起深度图仍然是非结构化的,并且可以仅提供可见对象几何形状。另一方式是用体素表示对象几何形状。系统可以学习以推断来自图像中的对象的呈体素形式的立体表示。然而,此类方式不能够以纹理和/或材料预测3D模型,并且限于提供对象的低分辨率3D几何形状。
本文中所描述的方法和系统利用3D模型来表示在输入图像中检测到的对象。举例来说,提供可缩放的、有效的且精确的方式来检索用于在图像中检测到的对象的3D网格(表示3D模型)。本文中所描述的方法和系统还提供用于改进图像中的对象的预测的3D姿态的精确度的技术,其允许方法和系统胜过当前技术发展水平姿态确定和建模技术。估计精确3D姿态对于检索用于图像中的对象的3D网格是重要的。如下文更详细地描述,适用于对象的3D网格可以从数据库检索,方法是匹配针对输入图像计算的描述符与针对数据库中的3D网格计算的描述符。在一些情况下,系统和方法可以学习用于3D网格的经渲染的图像的描述符。举例来说,3D网格的经渲染的图像可以包含深度渲染。使用深度渲染可以缓解存在于网格与目标对象之间的纹理的差异,并且甚至可以缓解3D网格的纹理的缺失。
不同的类别和几何形状的预定义3D模型的数据库可以用于确定用于检测到的对象的候选3D模型。此类数据库的一个说明性实例是ShapeNet数据集。3D模型(由3D网格表示)的预定义数据库的另一说明性实例是Pascal3D。所属领域的技术人员将了解可以使用预定义3D模型的任何合适的集合。ShapeNet数据集提供了具有不同的几何形状的对象的非常大面板的类别。举例来说,来自ShapeNet的3D模型表示不同的类别的对象,例如飞机、汽车、椅子、桌子、建筑物,等等。每个类别包含具有不同的几何形状和色彩的3D模型。举例来说,汽车类别包含具有不同的形状、大小和色彩的汽车的3D模型。通过ShapeNet提供的3D模型的数据集的实例可以在www.shapenet.org找到。
3D模型可以用于检索近似在输入图像中检测到的目标对象的3D几何形状的3D模型。3D模型可以由3D网格定义。如本文中所使用,术语“3D模型”和“3D网格”可以互换使用。3D网格的实例可以包含三角形网格或多边形网格,所述网格包含定义多面体对象的形状的顶点、边缘和表面的集合。存在优于例如深度图或体素的先前类型的3D表示的恢复用于2D对象的3D网格(在输入图像中)的众多优点。举例来说,3D网格是经结构化的、轻质的,并且易于通过其它应用算法(例如,AR应用、用于抓取的算法、用于追踪的算法等等)操控。另外,3D网格提供对象的几何形状的精确的表示,并且还提供对于在输入图像中不可见的对象部分的似乎合理的预测。
具有挑战性的是识别很好地适应用于单一色彩图像的对象的3D网格。本文中所描述的方法和系统提供改进此类问题的表现的方式。通过本文中所描述的改进,可以针对在现实世界中(或“在野外”)的图像中俘获的对象确定精确的3D姿态,并且基于此类精确的姿态,可以从非常好的适应于对象的预定义数据库(例如,Pascal3D、ShapeNet或类似者)识别3D网格,如图11A和图11B中所示。举例来说,图11A示出了具有飞机对象1102和汽车对象1104的图像1100A。使用本文中所描述的技术,确定飞机对象1102和汽车对象1104的3D姿态,并且确定飞机对象1102和汽车对象1104的对应的3D模型(3D网格)。图11B示出了通过表示飞机对象1102的经渲染的3D飞机模型1106和表示汽车对象1104的经渲染的3D汽车模型1108的渲染1100B。如所示出,经渲染的3D飞机模型1106和经渲染的3D汽车模型1108在相同的姿态中并且具有与相应地在图像1100A中的飞机对象1102和汽车对象1104类似的特征(例如,从几何形状上和纹理的角度来说)。
如上文所指出,识别很好的对应于输入图像中的目标对象的3D网格是具有挑战性的。举例来说,来自预定义数据库(例如,ShapeNet或3D模型的其它数据库)的3D网格可以具有一些纹理信息,但是一般来说纹理可能并不与对象的外观对应,这可以使得评估对象的图像与3D网格之间的亲和性是具有挑战性的。在野外中的对象的图像也通过不受控制的照明受到影响,这是难以精确地估计的。此外,3D网格未必精确地与对象对齐。
如下文更详细地描述,可以获得和分析一或多个输入图像以检测一或多个输入图像中的一或多个目标对象。可以估计输入图像中的目标对象的3D姿态和大小。在估计对象的3D姿态和大小之后,可以选择3D模型(例如,使用3D网格表示)用于表示对象。3D模型可以选自预定义3D模型的数据库,例如ShapeNet、Pascal3D,和/或表示各种类型的对象的3D模型的其它合适的数据库。如上文所描述,一般来说网格的纹理可能并不对应于目标对象,使得难以评估对象的图像与网格之间的亲和性。描述符可以针对输入图像习得并且还可针对3D网格的经渲染的图像(例如,深度渲染)习得,因此可以从描述符之间的比较中估计此类亲和性。代替3D网格的RGB渲染或基于体素的重新构建的RGB渲染可以从3D网格的深度渲染中计算描述符。举例来说,执行类似于输入图像的渲染(基于3D网格的RGB渲染或基于体素的重新构建的RGB渲染)是困难的并且可以是不可能的,因为纹理信息是大部分不相关的且照明是难以恢复的,并且基于体素的重新构建限于低分辨率模型。深度渲染并不受到网格的不相关的纹理的影响,并且仍然与对象的外观相关,因为照明取决于对象的形状。输入图像的描述符与经渲染的图像的描述符之间的比较可以基于距离测量值(例如,欧几里得距离、曼哈顿距离,或其它合适的距离量度)。使用基于距离的评估可以将问题转变为最近邻域搜索,其可缩放到预定义3D模型的数据库的大小。
图1是说明模型检索系统104的实例的框图。图2A是说明模型检索系统104的详细组件连同具有飞机对象的输入图像202、输入3D模型206、用于飞机对象的候选3D模型的经渲染的深度图222以及用于飞机对象的检索的(或匹配的)3D模型216的视觉表示一起的实例的另一框图。在下文进一步描述了在图2A中示出的模型检索系统104的详细组件的细节。模型检索系统104可以从图像源(未示出)获得输入图像102。模型检索系统104可以处理所获得的输入图像102以确定用于表示在输入图像102中检测到的对象的匹配的3D模型116。输入图像102可以包含彩色图像,例如红色-绿色-蓝色(RGB)图像、具有明度和色度色彩分量(例如,YCbCr、YUV,或类似者)的图像,或以任何其它合适的色彩格式的图像。输入图像102可以单独的图像或者可以是包含图像的序列的视频的部分。视频源可以包含图像俘获装置(例如,相机、相机电话、摄像机、具有内置相机的平板计算机装置,或其它合适的图像俘获装置)、图像存储装置、含有所存储的图像的图像存档、提供图像数据的图像服务器或内容提供者、从服务器或内容提供者接收图像或视频的媒体馈送接口、用于产生计算机图形图像数据的计算机图形系统、此类来源的组合,或图像内容的其它来源。
在一些实例中,模型检索系统104和图像源可以是相同的计算装置的部分。举例来说,计算装置可以包含电子装置,例如相机(例如,数码相机、相机电话、视频电话、具有内置相机的平板计算机装置或其它合适的俘获装置)、移动或静止电话手持机(例如,智能电话、蜂窝式电话或类似者)、桌上型计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置、头戴式显示器(HMD)或虚拟现实头戴装置,或任何其它合适的电子装置。在一些情况下,计算装置(或多个装置)可以包含一或多个无线收发器以用于无线通信。在一些实例中,模型检索系统104和图像源可以是单独的计算装置的部分。
姿态估计系统108可以处理输入图像102中的每一个以检测输入图像102中的一或多个目标对象。图2A中所示的输入图像202是具有飞机对象的图像的实例。图3A说明具有飞机对象302的输入图像的另一实例。任何合适的对象检测器可以由姿态估计系统108使用以检测输入图像中的一或多个对象。对象检测器的实例包含基于深度学习的对象检测器、使用基于特征的对象检测的检测器、使用维奥拉-琼斯对象检测的检测器、使用具有定向梯度的直方图(HOG)特征的SVM分类的检测器、使用基于模板匹配的对象检测的检测器等等。在一些实例中,对象可以被检测到,方法是从图像提取对象的特征并且使用学习算法基于所提取的特征来识别对象类别。在一些实施方案中,姿态估计系统108可以执行对象定位以检测输入图像中的一或多个目标对象,其在下文相对于图2A到图10更详细地描述。
姿态估计系统108也可以估计在输入图像102中检测到的一或多个目标对象的3D姿态。图3B示出了具有飞机对象302的输入图像和针对飞机对象302产生的限界框304的实例。限界框304的八个转角的二维(2D)投影以每个转角上的点示出,包含2D投影306和2D投影308作为两个实例。任何合适的姿态估计技术可以用于确定图像中的对象的3D姿态。举例来说,给定飞机对象的输入图像(图像300,其可以是RGB图像或具有另一色彩格式的图像),可以从八个3D限界框转角的所估计的2D投影(包含2D投影306和308)计算3D姿态。下文相对于图2A到图10描述了姿态估计技术的说明性实例。如图3C中所示和下文所描述,候选3D模型的数个深度图随后在所估计的姿态下经渲染。最佳3D模型随后是基于飞机对象与候选3D模型的深度图之间的比较而选择的。
模型检索系统104可以从数据库(未示出)或其它来源获得输入三维(3D)模型106。如上文所描述,输入3D模型106可以从具有不同的类别和不同的几何形状的预定义3D模型的数据库获得。3D模型包含定义由3D模型表示的对象的几何形状的3D网格。举例来说,飞机的3D模型可以由三角形网格或多边形网格定义,所述网格包含定义飞机的形状的顶点、边缘和表面的集合。在图2A中示出了六个不同的飞机的输入3D模型206的实例。3D模型的此类数据库的一个说明性实例是ShapeNet数据集。然而,所属领域的技术人员将了解可以使用使用3D网格定义的预定义3D形状或模型的任何合适的集合。
对于在输入图像中检测到的目标对象中的每一个,输入3D模型106是通过图像渲染引擎110分析的以确定用于目标对象中的每一个的一或多个候选3D模型。可以基于针对目标对象确定的类别从输入3D模型106中确定用于特定目标对象的一或多个候选3D模型。举例来说,图3A中所示的飞机对象302可以被识别为“飞机”类别。目标对象的类别可以随后用于从输入3D模型106中选择用于目标对象的一或多个候选3D模型。举例来说,如图3C中所示,飞机对象(示出为深度图)的六个候选3D模型是针对飞机对象302选择的。
图像渲染引擎110可以使用输入图像中的一或多个目标对象的3D姿态(通过姿态估计系统108确定)以渲染针对目标对象确定的一或多个候选3D模型的图像。举例来说,图像渲染引擎110可以渲染在针对目标对象估计的姿态中的候选3D模型的3D网格的图像。在各种实施方案中,经渲染的图像可以包含深度图、二进制掩模、彩色图像,或其它合适的渲染。本文中所描述的实施方案使用深度图作为经渲染的图像的实例。然而,所属领域的技术人员将了解可以使用其它类型的经渲染的图像,例如二进制掩模、彩色图像,或其它合适的渲染。
如上文所指出,通过图像渲染引擎110产生的经渲染的图像可以包含在所估计的姿态中的(3D模型的)3D网格的深度图。由于产生类似于输入图像的现实渲染的困难,图像渲染引擎110可以经配置以渲染3D网格的深度图,因为对象的纹理信息是大部分不相关的(例如,纹理可能不对应于对象的外观)并且照明是难以恢复的,并且还因为深度图俘获3D网格的几何形状。举例来说,图像渲染引擎110可以渲染用于在针对目标对象确定的姿态中的候选3D模型中的每一个的深度图。图3C示出了针对六个不同的候选3D飞机模型产生的深度图的实例,每个深度图通过针对飞机对象302确定的姿态中的对应的3D模型产生。
在一些情况下,图像渲染引擎110可以估计在输入图像中检测到的一或多个目标对象的大小。当渲染目标对象的候选3D模型的深度图时可以使用目标对象的所估计的大小。在一个说明性实例中,可以在三个方向上确定对象的相对大小,包含长度、宽度和高度。目标对象的大小可以是使用任何合适的技术估计的。举例来说,如下文相对于图2A和图2B所述,目标对象的3D维度可以在姿态估计期间预测(下文表示为对象的3D限界框的空间维度D=[dx,dy,dz])。
目标对象的所估计的大小可以由图像渲染引擎110使用以渲染针对目标对象确定的候选3D模型的深度图。举例来说,图3C中所示的六个候选3D模型的3D网格可以拉伸或压缩以匹配飞机对象302的所估计的大小。在一个实例中,如下文相对于图2A和图2B所述,3D网格的顶点可以乘以在姿态估计期间计算的预测的3D维度与模型的实际3D维度之间的比率的最小值。针对六个大小经调节的候选3D模型产生的深度图可以随后从飞机对象310的所估计的3D姿态经渲染。除了渲染在目标对象的所估计的姿态中的3D模型的深度图之外修改候选3D模型的大小以类似于目标对象在输入图像中显示的形式的形式提供了深度图。此类大小和姿态对齐可以辅助于下文所描述的图像比较。
用于目标对象的候选3D模型的经渲染的深度图可以随后与输入图像进行比较。举例来说,针对(候选3D模型的)3D网格产生的深度图的特性可以与含有目标对象的输入图像的区进行比较。描述符确定引擎112可以确定用于对应于目标对象的输入图像中的区的描述符以及也用于经渲染的深度图的描述符。举例来说,输入图像可以经裁剪以获得围绕目标对象的区。用于裁剪的区可以通过围绕目标对象放置限界区(例如,限界框、限界矩形、限界椭圆形,或其它合适地形状的限界区)来确定。可以随后裁剪包含在限界区中的图像的部分。在一些情况下,图像的部分可以包含下文相对于图2A到图10所描述的图像窗口W(也被称作图像补丁)在一些情况下,输入图像窗口可以是已知的。在一些情况下,输入图像窗口可以是通过2D对象检测器确定的。此类对象窗口确定的实例描述于S.Ren、K.He、R.Girshick和J.Sun的“较快的R-CNN:关于通过区提议网络的实时对象检测(Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks)”中,在神经信息处理系统中的进展(Advances in Neural Information Processing Systems)中,第91-99页,2015,其以全文引用的方式并入本文中并且出于所有目的。
描述符确定引擎112可以计算用于输入图像的经裁剪的区的描述符,在此情况下描述符对应于在经裁剪的区中的目标对象。用于目标对象的描述符可以包含N维向量,所述N维向量包含表示目标对象的特征的一或多个值,其中向量的每个维度包含特定值。举例来说,可以针对输入图像的经裁剪的区计算2维向量。
描述符确定引擎112也可以计算用于针对目标对象确定的候选3D模型的经渲染的深度图中的每一个的描述符。举例来说,针对候选3D模型中的一个的深度图计算的描述符可以包含N维向量,所述N维向量包含表示具有所估计的姿态的深度图的特征的一或多个值。针对候选3D模型的深度图确定的描述符向量的维度(N)与针对目标对象确定的描述符的维度(N)匹配。举例来说,可以针对候选3D模型的深度图计算2维向量。下文相对于图2A和图2B描述产生用于输入图像且用于3D模型的3D网格的描述符的实例。在一些情况下,描述符确定引擎112可以预先计算用于在各种姿态下看到的(3D模型的)3D网格的描述符。如下文所述,在运行时间,识别匹配的3D网格可以随后通过使用用于输入图像的描述符作为查询执行优化问题(例如,最近邻域搜索)完成。
描述符可以由描述符匹配引擎114使用以确定对应于目标对象的输入图像的区与候选3D模型中的每一个之间的亲和性。目标对象与候选3D模型之间的亲和性可以基于目标对象的描述符与针对候选3D模型的深度图计算的描述符的集合之间的比较来估计。在一些实例中,如上文所指出,描述符匹配引擎114可以使用优化问题执行比较。可以由描述符匹配引擎114使用的优化问题的一个说明性实例是最近邻域搜索。因为最近邻域搜索可以在子线性时间中完成(至少近似地),所以此类比较技术是根据数据集中的3D模型的数目可缩放的。最近邻域搜索可以如下定义:给定空间M中的点的集合S和查询点q∈M,找出S到q中的最接近点。用于候选3D模型的描述符的集合可以组成点的集合集合S,并且针对目标对象计算的描述符可以是查询点q。空间M可以是量度空间并且S点与查询点q之间的差异性可以被确定为距离量度。举例来说,空间M可以是描述符的N维向量空间。
可以通过描述符匹配引擎114执行最近邻域搜索以从3D模型描述符的集合中找出最接近匹配(或最类似于)针对目标对象计算出的描述符的描述符。举例来说,描述符匹配引擎114可以确定目标对象的描述符与候选3D模型的描述符中的每一个之间的距离。距离可以包含欧几里得距离、曼哈顿距离,或任何其它合适的距离量度。使用图3C作为实例,欧几里得距离可以在针对飞机对象302计算的描述符的N维向量与针对六个候选飞机3D模型确定的六个深度图计算的描述符中的每一个的N维向量之间计算。举例来说,使用2D向量作为描述符的实例,将目标对象描述符的2D向量值与每个3D模型深度图的2D向量值进行比较。此类实例的结果是六个欧几里得距离,一个用于每个目标对象描述符-候选3D模型描述符对。
基于比较,提供与输入图像中的目标对象的最佳匹配的候选3D模型被选择为将用于表示目标对象的3D模型。举例来说,具有到目标对象的描述符的最小距离的描述符的3D模型被确定为最接近或最佳匹配目标对象。参考图3C,由限界框310突出显示的飞机3D模型深度图的描述符被确定为最接近匹配飞机对象302。因此,对应于最佳匹配深度图的3D模型被用作呈现给目标对象的3D模型。参考图3D,3D飞机模型312经选择以表示飞机对象302。如所示出,3D飞机模型312经渲染以供显示并且代替图像300中的飞机对象302。
其它合适的比较技术也可以用于比较目标对象与目标对象的候选3D模型以确定最佳匹配的3D模型。举例来说,在一些实施方案中,经训练分类器(例如,基于卷积神经网络的分类器,或其它合适的对象分类器)可以用于预测目标对象(例如,含有目标对象的经裁剪区)和3D网格的深度图(表示3D模型)是否匹配。在此类实例中,分类器可以经训练以基于含有类似类型的对象的数个训练图像和输入到分类器的数个训练3D模型来执行预测。在一些情况下,使用基于分类器的神经网络可能需要在用于目标对象的类别的(3D模型的)可供使用的3D网格的集合上的线性搜索,其可以防止此种发为可缩放的。如上文所指出,最近邻域搜索可以在子线性时间中完成(至少近似地),允许它是根据3D模型数据集中的3D模型的数目可缩放的。
用于表示目标对象的通过描述符匹配引擎114选择的3D网格可以提供用于供可以利用3D网格用于执行一或多个操作的任何合适的应用使用。举例来说,所选择的3D模型可以由AR应用使用以表示AR环境中的对象。举例来说,再次参考图3D,选择3D飞机模型312以表示飞机对象302,并且可以代替图像300中的飞机对象302。查看者可以随后操控3D飞机模型312的位置、定向、几何形状和/或其它特性。在其它实例中,所选择的3D模型的3D网格可以用于3D场景理解、对象抓取、对象追踪、场景导航,和/或其它合适的应用。举例来说,基于场景的2D输入图像,3D场景建模应用可以使用表示场景中的对象的匹配的3D模型的3D网格确定场景的3D布局。作为另一实例,控制机器人的算法可以基于表示现实世界对象的输入3D网格确定机器人尝试抓取的现实世界对象的几何形状和姿态。算法可以随后使得机器人基于由匹配的3D模型的3D网格定义的所估计的几何形状和姿态抓取现实世界对象。
现在详细描述图2A和图2B。如上文所指出,图2A是说明包含在模型检索系统104中的详细的组件的实例的框图。图2B是说明可以用于模型检索系统104中的真实域CNN220和合成域CNN 224的架构的实例的图式。如上文所描述,给定在对象上粗略地居中的图像窗口,模型检索系统可以分析输入图像以预测对象的3D姿态。3D姿态估计是确定在2D图像或其它媒体中(例如,在激光扫描或描绘3D对象的其它媒体中)的对象的定向(或旋转)和平移的过程。姿态估计可以产生具有六个自由度的3D姿态,包含用于定向的三个维度和用于平移的三个维度。模型检索系统104可以随后检索很好的对应于输入图像中的目标对象的3D模型。如上文所描述,3D模型可以通过匹配(对象的)图像窗口的习得的图像描述符与针对在对象的预测的姿态下经渲染的多个候选3D模型计算的描述符来检索。具有最佳匹配的描述符的候选3D模型可以被选择为检索的3D模型。在一些情况下,如上文所描述,目标对象的类别可以被估计并且用于确定候选3D模型。
在一些情况下,目标对象的类别可以被估计并且可以用于辅助3D姿态估计以及3D模型检索。知晓对象类别提供使两个任务容易的有用的先验信息。考虑3D姿态估计,某一类别内的对象倾向于具有可以被利用以改进姿态预测的类似几何形状。考虑3D模型检索,知晓类别减少计算工作负荷,因为它省略了渲染和匹配来自不是目标对象的类别的类别的3D模型。在一些情况下,目标对象的类别可以是已知的。在一些情况下,目标对象的类别可以通过图像分类方法确定。此类图像分类方法的实例描述于K.He、X.Zhang、S.Ren和J.Sun的“用于图像识别的深度残余学习(Deep Residual Learning for Image Recognition)”中,在关于计算机视觉和图案识别的会议(Conference on Computer Vision and PatternRecognition)中,第770-778页,2016年,其以全文引用的方式并入本文中并且出于所有目的。在一些情况下,目标对象的类别也可以由2D对象检测器确定。此类2D对象检测器的实例描述于S.Ren、K.He、R.Girshick和J.Sun的“较快的R-CNN:关于通过区提议网络的实时对象检测(Faster R-CNN:Towards Real-Time Object Detection with Region ProposalNetworks)”中,在神经信息处理系统中的进展(Advances in Neural InformationProcessing Systems)中,第91-99页,2015,其以全文引用的方式并入本文中并且出于所有目的。
参考图2A,给定飞机对象的输入图像202(例如,RGB图像、YCbCr图像,或类似者),可以首先确定飞机对象的3D姿态。真实域卷积神经网络(CNN)220可以用于联合地预测飞机对象的3D维度和3D限界框转角的2D投影(在围绕飞机的限界框的每个转角上的点)。从这些2D预测中,对象姿态是使用视角-n-点(PnP)应用234或算法恢复的。给定输入3D模型206(例如,由3D网格表示),图像渲染引擎110可以产生用于在所估计的姿态下的对象类别的3D网格的深度渲染(例如,通过渲染用于3D网格的深度图)。深度渲染示出为经渲染的深度图222。在一些情况下,类别可以通过检索获得。合成域CNN 224可以随后用于预测用于输入3D模型206的经渲染的深度图222中的每一个的描述符228、230等。如所示出,用于输入图像202的描述符226可以在通过真实域CNN220的姿态估计期间计算,并且可以从真实域CNN220的倒数第二层中提取(如图2B中所示)。计算出的合成图像描述符228、230等可以随后针对真实图像描述符226进行匹配,之后检索最接近的3D模型(示出为检索的3D模型216)。在一些实例中,图像渲染引擎110和描述符确定引擎112可以用于离线预先计算合成图像描述符。
任何合适的技术可以由姿态估计系统108使用以确定图像中的目标对象的姿态。现在将描述姿态估计技术的一个说明性实例。举例来说,3D姿态估计可以通过预测多个虚拟控制点的2D图像位置来执行。举例来说,真实域CNN 220(例如,具有多个隐蔽层的深度CNN)可以用于预测飞机对象的八个3D限界框转角的投影的2D图像位置(在图2A中示出为预测的2D投影221)。随后通过求解视角-n-点(PnP)问题计算对象的实际3D姿态,其恢复来自2D-3D对应性的旋转和平移。举例来说,2D-3D对应性可以包含限界框的点的3D位置(例如,限界框的3D转角)与限界框上的该点的图像中的2D投影之间的对应性。可以使用任何合适的PnP技术,包含P3P、有效的PnP(EPnP),或其它合适的PnP技术。可以使用的PnP算法的一个实例描述于Lepetit,V.;Moreno-Noguer,M.;Fua,P.(2009)的“EPnP:PnP问题的精确的O(n)解(EPnP:An Accurate O(n)Solution to the PnP Problem)”中,计算机视觉的国际期刊(International Journal of Computer Vision),81(2):155-166,其以全文引用的方式并入本文中并且出于所有目的。
为了使用PnP算法,虚拟的控制点的3D坐标必须是已知的。在一些情况下,可以假设在运行时间为已知的精确的3D模型或者可以预测静态3D点的投影,这两者都存在一些限制。在一些情况下,此类限制可以有效的方式克服,方式是预测对象的3D限界框的空间维度D=[dx,dy,dz],并且使用空间维度D以按比例缩放近似地面实况3D坐标的单位立方体。举例来说,单位立方体可以使用空间维度按比例缩放,因此单位立方体的转角的3D坐标在与对象的3D限界框类似的位置处。在一个说明性实例中,具有1的侧面长度的单位立方体在3D坐标系中居中(例如,在位点=(0,0,0)处)。八个单位立方体转角的坐标是((0.5,0.5,0.5)/(0.5,0.5,-0.5)/(0.5,-0.5,0.5)/(0.5,-0.5,-0.5)/(-0.5,0.5,0.5)/(-0.5,0.5,-0.5)/(-0.5,-0.5,0.5)/(-0.5,-0.5,-0.5))。每个坐标可以使用预测的维度D=[dx,dy,dz]按比例缩放以获得在具有以下八个转角((0.5*dx,0.5*dy,0.5*dz)/(0.5*dx,0.5*dy,-0.5*dz)/(0.5*dx,-0.5*dy,0.5*dz)/(0.5*dx,-0.5*dy,-0.5*dz)/(-0.5*dx,0.5*dy,0.5)/(-0.5*dx,0.5*dy,-0.5*dz)/(-0.5*dx,-0.5*dy,0.5*dz)/(-0.5*dx,-0.5*dy,-0.5*dz))的3D坐标系中居中的立方形。
因此,可以使用联合地预测八个3D限界框转角的投影的2D图像位置(16个值)的CNN架构以及3D限界框空间维度(3个值)。图2B中所示的架构支持用于3D对象姿态估计和3D模型检索的联合优化。在真实域CNN 220的输出上计算姿态损失(例如,如由下方的等式(1)定义)。相似性损失是在从真实域CNN 220和合成域CNN 224的最后一个基础网络层中提取的隐藏特征图上计算的。如图2B中所示,CNN架构可以被实施为应用于不同的基础网络的倒数第二层的顶部的单个19神经元线性输出层,所述网络例如VGG或ResNet。
在训练期间,系统104可以针对以下姿态损失优化:
L姿态=L投影+∝L维度+βL规则化,
等式(1)
其是用于虚拟的控制点的投影、维度(D或di)和规则化的预测的损失的线性组合。元参数∝和β控制不同的损失项的影响。在一些实例中,在每个类别内的对象维度之间存在强一致性的情况下,∝和β的选择可以是不敏感的。规则化损失强制网络(CNN 220和CNN224)的参数具有低范数。规则化损失的此类使用可以用于防止过度拟合,这在处理低数目的训练样本时是有用的。在一些情况下,规则化损失可以添加L1权重衰减用于CNN参数以防止过度拟合。在一些情况下,规则化损失可以被设置成0.0001。投影损失:
使用通过旋转R和平移t给出的地面实况姿态,最小化地面实况3D限界框转角Mi的投影ProjR,t(Mi)与通过CNN 220计算的这些投影的预测的位置之间的距离。可以使用胡贝尔损失、平方损失,或其它合适的损失。胡贝尔损失描述于P.J.Huber等人的“位置参数的稳固估计(Robust Estimation of a Location Parameter)”中,数学统计学的年刊(TheAnnals of Mathematical Statistics),35(1):73-101,1964,其以全文引用的方式并入本文中并且出于所有目的。在一些情况下,使用胡贝尔损失有利于平方损失对离群值更加稳固,因为在例如ShapeNet、Pascal3D+或类似者的数据集中可以存在一些不正确的标注。维度损失:
上文所描述的用于确定对象的3D姿态的方式具有与针对在野外中的对象执行姿态估计的其它方法相比的数个优点。举例来说,与基于分类的方法相比,上文所描述的方式的精确度并不受到旋转角度的离散化间隔的限制,因为此类方式经由2D投影回归对象姿态。此外,许多方式执行视角估计(3-DoF旋转),然而上文所描述的方式隐式地计算6-DoF姿态(旋转和平移)。额外的平移信息可以用于优化2D对象定位,方法是重新投影3D限界框或检索的3D模型。这可以是有益于扩增现实(AR)应用的,因为检测到的2D图像窗口的中心时常不同于对象的3D中心的投影。
基于真实关键点估计的姿态估计方式依赖于类别特定的或甚至例子特定的关键点,然而上文所描述的虚拟的控制点跨越不同的类别一般化。因此,上文所描述的姿态估计可以执行类别不可知的姿态估计。此外,上文所描述的方式在理论上能够估计3D对象维度以及以米计量的到相机的距离。
本文中所描述的3D模型检索技术可以被配制成量度学习方式。举例来说,数个候选3D模型可以在输入图像中的对象的预测的姿态下经渲染(例如,作为经渲染的深度图222,例如深度图)。合成域CNN 224可以随后用于提取用于经渲染的深度图222中的每一个的图像描述符。图像描述符在本文中被称作合成描述符。合成描述符可以针对经渲染的深度图中的每一个计算。图像描述符在图2A中被示出为合成描述符228和合成描述符230。在图2A中,由于有限的空间,仅六个输入3D模型206、六个经渲染的深度图222以及两个合成描述符228和230被示出为说明性实例。然而,输入3D模型、经渲染的深度图和合成描述符的数目并不受到限制并且可以是任何合适数目,例如十万个或更大。使用图2A中所示的实例,合成描述符是针对经渲染的深度图222中的每一个计算的,在此情况下将针对经渲染的深度图222产生总共六个合成描述符。六个合成描述符可以随后针对为输入RGB图像计算的图像描述符(在图2A中示出为真实描述符226)匹配,之后识别和检索最佳模型。如上文所指出,此类方式也支持描述符的离线预先计算以用于快速且可缩放的推断,如下文更详细地论述。
在一些情况下,对于在野外中的3D模型检索的量度学习方式可以渲染来自3D模型的RGB图像(或具有其它色彩空间的图像)。这允许此类方式训练单个CNN用于从真实和合成图像的图像描述符提取,同时纯粹地训练合成图像。然而,在真实和合成图像域之间可以存在显著的间隙,这在单个共享的CNN架构中难以考虑。此类问题在本文中通过训练用于包含真实域CNN 220和合成域CNN 224的每个域的个体CNN得到解决。以此方式,模型检索系统104可以通过深度CNN的高度非线性的变换学习桥接合成图像与真实图像之间的域间隙。此多视图学习设置允许模型检索系统104将对象的不同的表示映射到共同的特征空间而没有共享的CNN架构的限制。
模型检索系统104可以通过渲染深度图像代替RGB图像利用多视图量度学习方式的潜能。因此,模型检索系统104可以使用3D模型而没有纹理或材料,并且可以额外避开如何设置用于3D模型的照明的问题。深度图像可以使用任何合适的渲染技术经渲染。在一个说明性实例中,图像渲染引擎110可以使用专用软件工具(例如,Blender3D,或其它合适的软件)以渲染来自3D网格的深度图像。在其它说明性实例中,图像渲染引擎110可以使用硬件加速的渲染应用编程接口(API)(例如,OpenGL、Vulcan、DirectX,或类似者),或软件渲染实施方案。在一些实施方案中,二进制对象掩模可以代替深度图经渲染。在一些情况下,二进制对象掩模与深度图像相比含有较少信息。
在渲染3D模型以产生经渲染的深度图(或二进制对象掩模)之前,3D模型可以经重新按比例缩放以紧密地适配到上文所描述的预测的3D限界框中。举例来说,这可以通过用在姿态估计期间计算的预测的3D维度与模型的实际3D维度之间的比率的最小值乘以所有顶点完成。以此方式,可以改进真实域与合成域之间的对象视图的对齐。
3D模型与RGB图像之间的对应性可以用于训练CNN 220和/或CNN 224。此类对应性在比如Pascal3D+的数据集中是可供使用的,其描述于Y.Xiang、R.Mottaghi和S.Savarese的“除帕斯卡以外:用于在野外中的3D对象检测的基准(Beyond Pascal:A Benchmark for3D Object Detection in the Wild)”中,在关于计算机视觉的应用的IEEE冬季会议的会议记录(Proceedings of the IEEE Winter Conference on Applications of ComputerVision)中,第75-82页,2014,其以全文引用的方式并入本文中并且出于所有目的。
可以随后通过描述符确定引擎112和姿态估计系统108从两个不同的域中提取图像描述符。对于现实世界查询图像(输入图像202),从姿态估计真实域CNN 220(如图2B中所示)的倒数第二层的隐藏特征激活中提取图像描述符(例如,描述符226)。举例来说,真实域CNN 220的倒数第二层的隐藏特征激活是通过倒数第二层计算的输出。输出可以用作图像描述符。在一些情况下,描述符(来自倒数第二层的输出)可以是某一维度(例如,2048的维度)的特征向量。在一些情况下,描述符含有通过真实域CNN 220习得的输入的压缩表示。此类方式的优点在于这些激活是在姿态估计推断期间已经计算的,这意味着模型检索系统104可以获得真实的图像描述符而没有任何额外的计算成本。
对于合成深度渲染(例如,经渲染的深度图222),图像描述符可以从合成域CNN224中提取。举例来说,合成域CNN 224可以学习从深度图像计算合成描述符。深度图像合成描述符可以是通过合成域CNN 224计算的特征向量,并且可以具有某一维度(例如,2048的维度)。深度图像合成描述符可以类似于通过用于输入图像的真实域CNN计算的图像描述符。举例来说,真实描述符和合成描述符两者可以具有相同的维度(例如,2048的维度),并且如上文和下文所描述,描述符匹配引擎114可以使用欧几里得距离来比较真实描述符与合成描述符。
合成域CNN 224可以具有与姿态估计真实域CNN 220相同的架构,但是具有不同的输出层,如图2B中所示。为了使用具有深度图像的此类CNN架构,模型检索系统104可以从一到三个信道复制它们。在训练期间,模型检索系统104可以针对相似性损失优化:
其包括图像描述符和通过元参数γ加权的规则化。相似性损失可以随后用于选择检索的3D模型以用于表示目标对象。举例来说,相对于目标对象的描述符,具有最小相似性损失的候选3D模型(由3D网格表示)可以被选择为将针对目标对象检索的3D模型。
图像描述符损失,被表示为:
L描述符=max(0,s+-s-+m),
等式(5)
最小化在真实图像描述符与对应的合成图像描述符s+之间的欧几里得相似性上评估的三重损失,以及相应地真实图像描述符与负实例合成描述符s-之间的欧几里得相似性。三重损失描述于K.Weinberger和L.Saul的“用于较大边界最近邻域分类的距离量度学习(Distance Metric Learning for Large Margin Nearest NeighborClassification)”中,机器学习研究的期刊(Journal of Machine Learning Research),10(2月):207-244,2009,其以全文引用的方式并入本文中并且出于所有目的。边界m规定s+与s-之间的所期望的最小差异。规则化损失添加用于所有CNN参数的L1权重衰减,类似于等式1中的姿态估计损失。
如图2B中所示,有可能的是通过组合两个损失函数(上文的等式(1)和(4))联合地训练真实域CNN 220和合成域224。
如上文所指出,上文所描述的方式的有利的性质在于它支持预先计算的合成描述符。通过预先计算合成描述符,模型检索系统104可以渲染非常大数目的3D模型,因此对于每个模型,模型检索系统104可以产生覆盖完整姿态空间的深度图像。描述符可以随后针对所有的渲染计算。在一些情况下,描述符可以存储在数据库中。在运行时间或测试时间,模型检索系统104可以匹配来自最接近视角的描述符,其是快速的且可缩放的。
可以使用用于CNN 220和CNN 224网络的任何合适的网络架构。在一些情况下,对象检测具有小2D限界框,并且对象图像具有低分辨率。如上文所描述,这些检测可以按比例放大以适应预先训练的CNN的固定空间输入分辨率(224x224)。按比例放大可以引起具有褪色的细节、过度平滑化的边缘以及带毛刺的转角的模糊图像,例如当检测到的对象具有低分辨率和/或是小的时。在一个说明性实例中,多于55%的Pascal3D+验证检测具有低于224x224像素的分辨率。
一些技术方式可使用仅采用3x3卷积的类VGG网络架构。此类小卷积内核在从过度平滑化的图像中提取特征方面表现不佳。没有采取特定步骤来解决过度平滑化的图像的挑战。
本文中所使用的CNN可以使用具有较大内核大小的网络,例如在第一卷积层中使用7x7内核的ResNet50网络。上文所描述的方式的表现可以与VGG后端和ResNet后端进行比较,如在下文的表1中。表1示出了使用在具有本文中所描述的技术的不同的设置的Pascal3D+上的地面实况检测的视角估计的结果(使用VGG后端和ResNet后端)。如所示出,表1呈现了用于在使用不同的设置的Pascal3D+上的3-DoF视角估计的定量结果,从使用VGG的基线开始到在ResNet上构建的更精密的版本。下文提供了特定实施方案细节和其它参数。对于基线方式(在表1中被表示为VGG),系统构建VGG并且精细调谐整个网络以用于姿态估计和模型检索任务。如可从表1和2中看出,此基线已经与当前技术发展水平匹配。ResNet后端胜过VGG后端同时网络参数的总数目较低(VGG:135M对ResNet:24M)。
表1
现在在Pascal3D+上评估上文所描述的用于3D姿态估计的技术。上文所描述的用于3D模型检索的技术也是从Pascal3D+和ShapeNet评估的。
在Pascal3D+上执行3D姿态估计可以引起各种挑战。一个挑战包含2D对象检测随后是简化的1-DoF视角估计(例如,用于旋转)。另一挑战在已知的地面实况检测的假设下处理3-DoF视角估计。焦点将聚集在后一种挑战上,因为它是从姿态估计的角度更具有挑战性的。
测地线距离:
用于Pascal3D+上的任意对象类别的完整3D姿态估计是困难的任务。在一些情况下,可以定义更容易的任务,引起两个主要挑战。一个挑战在于不存在关于任务的先验信息:2D对象检测(如果联盟上相交点IoU>检测框与地面实况2D框之间的50%的重叠,那么是正确的)随后是简化的1-DoF视角估计(预测离散化到4、8、16或24种类/库中的方位角)。预测仅在检测和方位角标准两者都得到满足时是正确的。
第二挑战处理假设地面实况检测是已知的3-DoF视角估计。在此情况下,如上文所指出,测地线距离:
一些技术聚焦于3-DoF视角估计的任务。本文中所描述的技术不仅预测3DoF对象视角(旋转),而且还预测3-DoF对象位点(平移)。此类预测的完整6-DOF对象姿态可以用于优化初始对象定位(2D检测框)。如上文所描述,这是通过给定计算出的6-DOF姿态和预测的3D维度投影对象的3D限界框的中心完成的。因此通过2D对象检测器给出的定位可以是不太精确的,因为对象不是必需在修剪的中心。此外,对于许多对象,2D检测框的中心并不与对象3D中心的投影相同。这使得对象检测的任务变得容易并且针对6-DOF姿态估计实施从粗略到精细策略。
当前技术发展水平。考虑个体类别上的表现,上文所描述的方式要么胜过要么接近于当前技术发展水平。然而,两个类别(船和桌子类别)上的表现显著低于用于所有评估的方法的整体表现。下文分析了这样的原因。
类别“船”是具有挑战性的类别,由于形状和外观上的较大种类内变化。由于雾或薄雾对于此类别的许多检测是低分辨率的并且对象是几乎不可见的。另外,对于在此类别中的对象的图像存在许多前方/后方模糊度。然而,使用本文中所描述的技术,对于此具有挑战性的类别实现了当前技术发展水平精确度。
表2
在表2中,使用Pascal3D+上的地面实况检测示出了视角估计。具有标注“(本文中所描述)”的结果是使用上文所描述的技术的结果。标注有*的结果是假设地面实况3D模型在测试时间期间是已知的实现的,而本文中所描述的技术并不需要此信息。标注有**的结果是通过训练来自ShapeNet的大量经渲染的图像代替Pascal3D+训练数据实现的。
本文中所描述的技术提供种类不可知的(或类别不可知的)姿态估计。在表2中报道的结果是种类特定的,意味着存在用于每个类别的单独的输出层并且地面实况类别必须是在测试时间已知的。上文所描述的技术能够作出种类不可知预测并且跨越具有在整体表现上仅较小下降的不同的类别一般化。举例来说,最终层可以具有可以用于所述类别的仅一个姿态输出,使得所述方式是可缩放的。对于一些类别,种类不可知的姿态估计甚至胜过先前种类或类别特定的当前技术发展水平,因为它充分地利用类似类别之间的交互信息,例如,表2中所示的“自行车”和“摩托车”类别。
举例来说,“火车”类别受益于不可知的设置,因为火车的形状和外观类似于公共汽车的形状和外观。不可知的CNN利用此额外信息并且与种类特定的CNN相比示出了用于火车类别的改进的结果。对于“桌子”类别也看到了改进,然而,由于用于此类别的较低数目的验证样本,改进是不太显著的。
表3示出了使用Pascal3D+上的地面实况检测的3D模型检索结果。
表3
考虑Pascal3D+上的3D姿态估计,一些形式的数据扩增是相关的,而其它的不是。通过模糊样本学习可以产生约+0.5%的改进(参见表1)。通过应用具有各种内核大小和σ的高斯模糊,样本可以扩增,其中地面实况检测框的较长边缘大于224像素。然而,实验示出基于VGG的网络并未受益于模糊样本。这可以部分由于VGG仅使用不适合于从过度平滑化的图像的特征提取的3x3卷积的事实。
在一些实例中,模型检索系统104可以通过被遮挡的且截断的对象训练。在一些实例中,模型检索系统104可以排除被标记为被遮挡的或截断的检测。举例来说,在一些情况下,通过且不通过被遮挡的且截断的样本学习可以引起相同的结果。因此,训练时间可以通过丢弃这些样本而减少而没有降低表现。
在一些情况下,地面实况对象位置可以是针对为稳固的训练集晃动的以在测试时间不完美的定位。
在一些情况下,旋转对象可能不能改进结果。对于这一点的一个原因可以在于所有图像中的超过90%的具有在-10度与10度之间的西塔(θ)。并且,大部分类别的对象位于平坦表面上(汽车、公共汽车、火车,或类似者),并且图像在顶部中示出天空并且在底部部分中示出地面。使得地板在顶部图像部分上并不存在于数据中并且CNN可能通过这些图像变为困惑的,因为它也学习来自背景的特征。
Pascal3D+特征在于每类别大约十个3D模型。这些模型中没有一个具有材料或纹理。ShapeNet提供高度多样化的形状、纹理和材料的每类别多达6787个3D模型。通过学习现实世界图像与相同视角的3D渲染之间的量度,本文中所描述的技术可以检索适当的3D模型而没有人类交互。
上文所描述的技术提供了用于新训练数据的半自动产生的工具,方法是预测可靠的3D姿态以及适当的3D模型。与纯粹在合成数据上训练的其它方式相比,此类技术是在真实数据和合成数据上训练的第一3D模型检索方式。此外,针对3D姿态估计训练的CNN的隐藏特征激活可以用于3D模型检索。
图13A和图13B示出了用于12个不同的类别的在Pascal3D+和ShapeNet上的3D姿态估计和3D模型检索的定性结果。查询RGB图像(输入图像)的实例在列1302A(图13A)和1302B(图13B)中示出。列1304A和1304B示出了深度图像并且列1306A和1306B示出了在来自Pascal3D+的地面实况姿态下来自Pascal3D+的地面实况3D模型的RGB渲染。列1308A和1308B示出了深度图像并且列1310A和1310B示出了在预测的姿态下来自ShapeNet的检索的3D模型的RGB渲染。
图12说明了使用本文中所描述的技术选择三维模型的过程1200的实例。在块1202处,过程1200包含获得包含对象的输入图像。在图2A中示出实例输入图像202。
在块1204处,过程1200包含确定输入图像中的对象的姿态。对象的姿态可以是使用任何合适的技术确定的,例如本文中所描述的那些。姿态可以通过姿态估计系统108或姿态估计系统608确定。举例来说,确定输入图像中的对象的姿态可以包含确定输入图像中的对象的三维限界框的多个二维投影,并且使用三维限界框的多个二维投影估计对象的姿态。
在一些情况下,三维限界框的多个二维投影是通过将经训练的卷积网络应用到图像确定的。经训练的卷积网络的实例是图2A中所示的真实域CNN 220。经训练的卷积网络经训练以预测在多个姿态中的对象的三维限界框的二维投影。
在一些实例中,使用三维限界框的多个二维投影估计对象的姿态包含使用预测的二维投影与对应于预测的二维投影的三维限界框的三维点之间的对应性应用视角-n-点(PnP)问题。举例来说,对应性可以包含上文所描述的2D-3D对应性,其包含对象的限界框的点的3D位置(例如,限界框的3D转角)与在限界框上的该点的图像中的2D投影之间的对应性。在一些实例中,过程1200可以确定三维限界框的三维点,方法是预测三维限界框的一或多个空间维度并且使用一或多个空间维度以按比例缩放单位立方体。举例来说,如上文所描述,可以确定对象的3D限界框的空间维度D=[dx,dy,dz]。空间维度D可以随后用于按比例缩放近似地面实况3D坐标的单位立方体。举例来说,单位立方体可以使用空间维度按比例缩放,因此单位立方体的转角的3D坐标在与对象的3D限界框类似的位置处。
在块1206处,过程1200包含获得表示在所确定的姿态中的一或多个对象的一或多个候选三维模型。在一些实例中,一或多个候选三维模型包含表示一或多个对象的一或多个三维网格。举例来说,船的3D模型可以表示为数据库中的3D网格。在一些情况下,获得表示一或多个对象的一或多个三维模型包含获得表示多个对象的多个三维模型,并且选择多个三维模型的子集作为一或多个候选三维模型。多个三维模型的实例在图2A中示出为输入3D模型206。
在一些实例中,过程1200可以确定输入图像中的对象的类别。多个三维模型可以是基于类别滤波的。举例来说,过程1200可以确定与多个候选三维模型相关联的一或多个类别。在此类实例中,一或多个候选三维模型是基于具有输入图像中的对象的类别的一或多个候选三维模型选自多个候选三维模型的。
在块1208处,过程1200包含从一或多个候选三维模型中确定候选三维模型以表示输入图像中的对象。经确定以表示输入图像中的对象的候选三维模型的实例示出为图2A中的检索的3D模型216。在一些情况下,用户可以具有是接受还是拒绝所确定的候选三维模型的选项。举例来说,表示所确定的三维模型的指示可以是用于用户的输出。在一个说明性实例中,可以显示所确定的三维模型(例如,在输入图像上)。用户可以随后将输入提供到计算装置指示用户是接受还是拒绝所确定的候选三维模型。如果用户拒绝所确定的候选三维模型,那么可用于表示对象的其它候选三维模型可以作为选项被提供给用户。举例来说,具有与针对输入图像中的对象产生的描述符在某一相似性内的描述符的某一数目(例如,1、2、3,或其它合适的数目)的候选三维模型(例如,基于最近邻域搜索,如本文中所描述)可以被选择作为其它候选三维模型。可以随后为用户提供选项以选择其它候选三维模型中的一个。在一些情况下,如果用户拒绝所确定的候选三维模型,那么过程1200可以自动地选择不同的候选三维模型以用于表示对象。举例来说,具有与针对输入图像中的对象产生的描述符次最接近的描述符的候选三维模型(例如,基于最近邻域搜索,如本文中所描述)可以被选择作为其它候选三维模型。在此类情况下,可以再次为用户提供是接受还是拒绝不同的候选三维模型的选项。
在一些实例中,过程1200可以包含基于候选三维模型和输入图像产生输出图像。在一些情况下,输出图像可以包含图像(例如,输入图像或其它图像),代替对象的二维表示所述图像包含对象的候选三维模型。在一些情况下,可以显示输出图像。
在一些实例中,过程1200可以调节姿态、位置,或输出图像中的候选三维模型的姿态和位置两者。姿态和/或位置可以基于用户输入、基于由处于输入图像中的不同的姿态和/或位置中的候选三维模型表示的对象、其组合或基于任何其它合适的输入来调节。在一个说明性实例中,过程1200可以包含接收用户输入以操控候选三维模型,并且基于用户输入调节在输出图像中的候选三维模型的姿态或位置中的一或多个。在一个实例中,过程1200可以接收请求对象(由三维模型表示)从第一位置(和/或从第一姿态)到第二位置(和/或到第二姿态)的移动的用户输入。作为响应,过程1200可以将三维模型的位置从输出图像中的第一位置(和/或从第一姿势)调节到第二位置(和/或第二姿态)。
在另一说明性实例中,过程1200可以包含获得额外的输入图像。额外的输入图像包含与在块1202处获得的输入图像中的对象的姿态和/或位置相比在不同的姿态中、在不同的位置中,或在不同的姿态和位置两者中的对象。过程1200可以基于额外的输入图像中的对象的姿态或位置与输入图像中的对象的姿态或位置之间的差异调节输出图像中的候选三维模型的姿态或位置中的一或多个。举例来说,如果对象(由三维模型表示)从输入图像中的第一位置(和/或从第一姿态)移动到额外的输入图像中的第二位置(和/或到第二姿态),那么过程1200可以将三维模型的位置调节到输出图像中的第二位置(和/或调节到第二姿态)。
在一些实例中,过程1200包含产生用于一或多个候选三维模型的一或多个图像。在一些实例中,针对一或多个候选三维模型产生的一或多个图像包含一或多个深度图。产生一或多个图像以包含在所确定的姿态中的一或多个对象。举例来说,如图2A中所示,经渲染的深度图222示出了经渲染用于六个候选3D模型的六个深度图像。过程1200可以产生用于输入图像中的对象的描述符,并且也可以产生用于针对一或多个候选三维模型产生的一或多个图像(例如,深度图)的一或多个描述符。
过程1200可以基于针对对象产生的描述符和针对一或多个图像产生的一或多个描述符确定候选三维模型(在块1208处)。举例来说,过程1200可以包含比较针对一或多个图像产生的一或多个描述符与针对输入图像产生的描述符。在一些情况下,比较针对一或多个图像产生的一或多个描述符与针对输入图像产生的描述符可以包含使用输入图像的描述符作为输入执行最近邻域搜索。在一些实例中,过程1200可以使用上文所描述的等式(4)优化相似性损失。过程1200可以随后确定来自针对一或多个图像产生的一或多个描述符中的具有与针对输入图像产生的描述符的最接近的匹配的描述符。举例来说,确定出自针对一或多个图像产生的一或多个描述符中的被确定为是针对输入图像产生的描述符的最接近的匹配(例如,基于最近邻域搜索,或其它合适的相似性确定)的描述符。在此类实例中,过程1200可以基于来自一或多个描述符中的具有与针对输入图像产生的描述符的最接近的匹配的描述符确定候选三维模型(在块1208处)。举例来说,从中计算出描述符的图像(例如,深度图或其它合适的图像)所属的候选三维模型(来自一或多个候选三维模型)可以被选择作为候选三维模型。
在一些实例中,过程1200可由计算装置或设备执行。在一个说明性实例中,过程1200可以由图1中所示的模型检索系统104执行。在一些情况下,计算装置或设备可包含处理器、微处理器、微计算机或经配置以执行过程1200的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以俘获图像的相机。举例来说,计算装置可包含相机装置。作为另一实例,计算装置可包含具有相机的移动装置(例如,包含相机的移动电话或平板计算机,或具有相机的其它类型的装置)。在一些情况下,相机装置可以包含通信收发器和/或视频编解码器。在一些情况下,计算装置可包含用于显示图像的显示器。在一些实例中,相机或俘获视频数据的其它俘获装置与计算装置分开,在此情况下计算装置接收所俘获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(IP)的数据或任何其它合适的数据。
过程1200被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时执行所叙述的操作。一般来说,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构,及类似者。描述操作的次序并不意图解释为限制,且任何数目的所描述的操作可以按任何次序组合和/或并行以实施所述过程。
另外,过程1200可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上、通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序,或一或多个应用程序)。如上文所指出,代码可存储在计算机可读或机器可读存储媒体上,例如,呈包括可通过一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可以是非暂时性的。
上文所描述系统和方法允许针对图像中的对象来选择3D网格(或3D模型)。基于Pascal3D数据集的实验示出了本文中所描述的技术可以选择与人类注解者将选择用于大量的输入图像的网格相同的网格,并且可以选择很好的对应于用于图像的其余部分的对象的网格,有时甚至与通过注解者所选择的网格相比更好。使用整个ShapeNet数据集,举例来说,新网格也可以被识别为很好的与Pascal3D数据集中的对象匹配。
现在描述的实例详述了对象检测技术以及除了上文所描述的姿态估计技术之外可以使用的姿态估计技术的另一实例。在一些情况下,如上文所指出,姿态估计系统108可以执行对象定位以检测输入图像中的一或多个目标对象。为了执行对象定位,姿态估计系统108可以确定目标对象位于其中的输入图像的图像补丁(在本文中也被称作窗口W)。举例来说,输入图像中的目标对象的二维(2D)中心可以通过确定在对象上居中的图像补丁来识别。在一些实例中,如下文所指出,对象的3D限界框的2D投影可以通过将经训练的回归因子应用于在对象上居中的图像补丁(或窗口W)来确定。下文相对于图9A到图10描述了执行对象定位的进一步的细节。
与上文所描述的相比姿态估计系统108可以执行不同类型的3D姿态估计以确定目标对象的姿态。现在将描述另一姿态估计技术的说明性实例。举例来说,使用下文所描述的技术,彩色图像可以被用作唯一的输入,而不需要深度信息。姿态可以是使用RGB数据而不使用深度数据确定的,在此情况下RGB-深度(RGB-D)图像并不是必需的。所属领域的技术人员将了解可以使用任何其它合适的姿态估计技术。
给定整个输入图像或给定在对象上居中的图像的补丁或窗口,甚至在杂乱的背景和部分遮挡下,回归因子可以经训练以预测目标对象的3D姿态。回归因子可以经训练以直接地从图像的彩色图像“整体地”预测对象的3D姿态。甚至当含有对象的图像含有在背景中的其它对象或对象部分地遮挡所关注的对象时可以预测所关注的对象的3D姿态,尽管此类问题存在困难。这避免了对预测对象坐标和RANSAC优化作为中间步骤的需要。回归因子可以包含卷积神经网络(CNN)。一旦经训练,则回归因子可以随后被应用于使用下文描述的对象定位技术确定的图像位置。
在一些实例中,预测的3D姿态可以直接通过平移和旋转(或定向)来表示。在一些实例中,通过预测对象的限界框的2D投影(例如,限界框的转角的2D投影)在一些情况下可以实现甚至更好的精确度,并且随后从这些2D-3D对应性中计算3D姿态。举例来说,2D-3D对应性的对应性可以包含限界框的点的3D位置(例如,限界框的3D转角)与在限界框上的该点的图像中的2D投影之间的对应性,如通过回归因子所预测。与其它方式的差异在于这些预测通常是不含离群值的,并且不需要RANSAC。此外,使用2D投影也可避免对元参数来平衡平移项和旋转项的需要。
在一些实例中,对于改进的精确度,第二回归因子(例如,CNN或其它合适的机器学习技术)可以经训练以更新对象的限界框的2D投影,方法是比较输入图像与用于初始姿态估计值的对象的渲染。举例来说,网络可以应用于数个迭代以改进姿态精确度。训练回归因子以更新2D投影可以引起简单的、有效的且精确的方法。
图4示出了经配置以实施本文中所描述的一或多个方面的回归因子404的实例。回归因子404经训练使用训练图像402。在一些实例中,训练图像402可以包含所关注的目标对象位于其中并且经历一或多个姿态的整个图像。在一些实例中,训练图像402可以包含由含有在一或多个姿态下的目标对象的图像窗口(在本文中被表示为W)组成的训练集。基于训练,回归因子404产生可以存储并且用于应用到一或多个输入图像以确定输入图像中的一或多个对象的3D姿态的映射410。回归因子404可以使用一或多个卷积神经网络(CNN)。如下文更详细地描述,经训练的回归因子404可以用于预测图像中的目标对象的限界框的2D投影,其可以随后用于计算输入图像中的对象的3D姿态。
在一些实例中,对于训练图像402中的每一个,目标对象的对应的姿态和对象的限界框的3D点是已知的。举例来说,在训练期间目标对象的限界框点(例如,限界框的转角)的3D位置是已经已知的,因为对象的3D模型是已知的。因此在训练期间并不需要预测3D点。在训练阶段期间,使用3D位置,它们被投影到图像,使用地面实况姿态,以获得2D投影。3D位置确定引擎404可以确定在训练图像402中的每一个中的限界框的点的3D位置。对象的限界框上的任何3D点可以通过3D位置确定引擎404确定。在本文中所描述的一些实例中,对象的限界框的转角的3D位置可以经确定并且用于训练回归因子404。然而,所属领域的技术人员将了解可以使用沿着对象的限界框的任一点。在一个说明性实例中,对于具有在已知的姿态中的目标对象的第一训练图像,姿态中的目标对象的限界框的转角的3D位置是通过3D位置确定引擎404确定的。
2D投影引擎410可以随后确定对应于在目标对象的限界框上的点的所确定的3D位置的2D投影。举例来说,2D投影引擎410可以确定2D投影,方法是将限界框的转角的所确定的3D位置(例如,围绕目标对象的限界框的八个转角)投影到每个训练图像的图像平面上。用于将对象的3D点投影到图像平面的任何合适的图像投影技术可以由2D投影引擎410使用。图5示出了猫对象520的图像200和猫对象520的限界框522的实例。限界框的八个转角的2D投影以每个转角上的点示出,包含2D投影524和2D投影526。
图像到2D投影映射引擎408可以基于训练产生映射410。映射406可以将具有对象的图像映射到在对象的限界框上的点(例如,转角)的对应的二维投影。在运行时间期间当输入图像经处理以用于确定用于表示图像中的目标对象的3D模型时,对象的3D姿态可以通过将具有对象的输入图像映射到限界框上的点的对应的二维投影来计算。举例来说,通过训练回归因子404以识别用于在各种训练图像中呈现不同的姿态的目标对象的限界框的2D投影,下文所描述的姿态估计引擎632可以使用经训练的回归因子404来识别用于输入图像的目标对象的限界框的2D投影。2D投影可以随后用于确定输入图像中的目标对象的3D姿态。
图6示出了姿态估计系统608的实例。姿态估计系统608是图1中所示的姿态估计系统108的实例实施方案。姿态估计系统608可以估计在通过姿态估计系统608获得的输入图像602中的目标对象的3D对象姿态640。输入图像602可以包含彩色图像,例如RGB图像。举例来说,给定包含目标对象的单一色彩输入图像(例如,RGB图像),姿态估计系统608可以估计输入图像中的目标对象的3D姿态。3D姿态可以基于对象的3D限界框上的点(例如,限界框的转角)的2D投影通过姿态估计系统608估计。
2D投影确定引擎636可以使用上文所描述的经训练的回归因子404和映射610来识别用于所获得的输入图像的目标对象的限界框上的点的2D投影。图7示出了具有猫对象520的输入图像500。如先前所指出,点可以包含限界框的转角,例如图5中所示的猫对象520的限界框522的转角(例如,2D投影524和526)。如下文进一步详细描述,姿态估计引擎638可以随后使用2D投影来确定输入图像中的目标对象的3D姿态。姿态估计引擎638可以输出包含从输入图像602确定的姿态的对象姿态640。图8说明了具有猫对象520的对象姿态860及其限界框862的输出图像800的实例。
给定在目标对象上居中的图像或图像窗口,各种实施方案可以用于估计目标对象的3D限界框的2D投影,并且使用2D投影估计对象姿态。如先前描述,回归因子404可以包含CNN,或其它合适的深度神经网络。在一些实例中,给定在对象上居中的图像窗口W,回归因子404CNN可以经训练以预测目标对象的3D姿态。在下文相对于对象定位引擎634进一步描述了关于图像窗口W(在本文中也被称作补丁)的确定的细节。在其它实例中,代替图像窗口W可以使用整个图像。
在一些实例中,回归因子404CNN可以通过在CNN的参数Θ上最小化以下成本函数来训练:
其中τ是由含有在由指数映射e和3D平移向量t定义的姿态下的对象的图像窗口W组成的训练集。训练集中的每个图像窗口可以具有不同的姿态。指数映射e是参数化旋转的方式,并且由3个值制成。至少两个选项可以用于预测或确定由CNN返回的3D姿态,其中一个选项包含姿态的直接预测并且另一选项包含通过限界框的2D投影预测姿态。等式(8)中的损失函数l的形式取决于所使用的选项而改变。
当使用目标对象的姿态的直接预测时,在一些实例中l函数可以如下表示:
函数e(.)返回对应于指数映射e的CNN fΘ的输出的组分。函数t(.)类似于e(.),但是返回对应于平移向量t的CNN fΘ的输出的组分。R(e)是对应于指数映射向量e的旋转矩阵。等式(9)中的第一项的形式允许系统优化旋转组分而无需必须处理多个表示对应于同一旋转的事实,这对于任何旋转参数化可以是真实的。在运行时间(使用经训练的回归因子404),给定在所关注的目标对象上居中的图像窗口W,系统仅仅必须调用经训练的CNN fΘ(.)以获得在给定图像窗口W中的目标对象的姿态的估计值(被表示为
当通过对象的限界框的2D投影预测目标对象的姿态时,在一些实例中l函数可以如下表示:
其中Mi是在对象坐标系中限界框的转角(或在一些实例中限界框的其它点)的3D坐标。项Proje,t(M)将点M投影在来自由e(旋转)和t(平移)定义的姿态的图像平面上。函数mi(.)返回对应于第i个转角的预测的2D投影坐标的CNN fΘ的输出的组分。在运行时间(例如,使用经训练的回归因子404和姿态估计系统608),给定在所关注的目标对象上居中的图像窗口W,给定在世界坐标系中的3D点的集合和在图像中的它们的对应的2D点可以随后使用估计姿态的姿态估计技术针对3D点Mi与经预测的mi(fΘ(W))之间的对应性估计目标对象的3D姿态。在此实例中的2D点是使用回归因子CNN从输入图像估计的2D投影。在一些实例中,除目标对象的限界框的转角之外可以使用其它3D点。限界框的转角是自然的选择,因为它们涵盖对象并且很好的在空间中分散。
给定3D点的集合和在图像中的它们的对应的2D点估计姿态的此类姿态估计技术的一个实例包含视角-n-点(PnP)算法。PnP算法使用在世界坐标中的对象的限界框的n个3D点的给定集合和在图像中的它们的对应的2D投影估计经过校准的相机的姿态(相对于某一姿态中的目标对象)。也可以使用经过校准的内部相机参数。相机姿态包含六个自由度,包含相对于世界的相机的旋转(例如,横摇、纵摇和横摆)以及3D平移。可以使用任何合适的PnP技术,包含P3P、有效的PnP(EPnP),或其它合适的PnP技术。可以使用的PnP算法的一个实例描述于Lepetit,V.;Moreno-Noguer,M.;Fua,P.(2009)的“EPnP:PnP问题的精确的O(n)解(EPnP:An Accurate O(n)Solution to the PnP Problem)”中,计算机视觉的国际期刊(International Journal of Computer Vision),81(2):155-166,其以全文引用的方式并入本文中并且出于所有目的。
在一些实例中,可以执行优化器方法以改进上文所描述的姿态估计值的精确度(使用等式8-10中的一或多个)。在一些实例中,优化器方法包含训练回归因子(例如,卷积神经网络)以更新对象的限界框的2D投影。用于更新2D投影的回归因子可包含与回归因子404相比不同的回归因子。2D投影可以通过比较输入图像与用于初始姿态估计值的对象的渲染来更新。另一CNN(与回归因子404CNN fΘ分开)可以经训练预测更新以改进姿态。CNN可以被表示为gμ。到gμ的输入是双重的。第一输入是图像窗口W(或补丁),如同对于CNN fΘ。输入的第二部分取决于姿态的当前估计值。举例来说,如同从当前估计值中看到的目标对象的二进制掩码或色彩渲染可以被用作到gμ的第二输入。确切地说,gμ的参数μ可以通过最小化得到优化:
在一些实例中,姿态估计系统608可以包含对象定位引擎634。对象定位引擎634可以执行上文相对于图1到图3所描述的对象检测以便检测输入图像中的一或多个目标对象。姿态估计系统608的一些实施方案并不包含对象定位引擎634,在此情况下姿态估计系统608和对象定位引擎634是单独的组件或模块。对象定位引擎634可以确定所关注的目标对象位于其中的图像的图像区或补丁(在上文被称作窗口W)。举例来说,对象定位引擎634可以通过确定在对象上居中的图像补丁来识别输入图像中的目标对象的2D中心。在一些实例中,如上文所指出,对象的3D限界框的2D投影可以通过将经训练的回归因子应用于在对象上居中的图像补丁(或窗口W)来确定。
在一些实例中,标准2D对象检测器可以用于定位目标对象。在一些实例中,对象定位引擎634可以近似地使用分段在2D中定位目标对象,甚至在部分遮挡下其可以引起更好的表现并且可以提供精确的位置。在一些情况下,从粗到细分段可以用于检测目标对象的2D位置。举例来说,两级从粗到细对象分段可以由对象定位引擎634使用以识别输入图像中的目标对象的中心。
一般来说,使用分段的对象定位包含在第一阶段将输入图像拆分成的某一大小(例如,64x 64、128x 128、64x 128,或任何其它合适的大小)的区。每个区可以被分段为通过输入图像的区拆分确定的大小的二进制掩码(例如,对于128x 128拆分,每个区可以被分段为大小8x 8的二进制掩码)。仅来自分段的最大组分被保存,并且在第二阶段中每个活跃位置被更精细地分段。分段的最终结果包含提供目标对象的所估计的2D中心。
在两级从粗到细对象分段的第一阶段中,对象定位引擎634通过给定输入图像的低分辨率分段粗略地定位目标对象,具有U1像素的误差。在一些实例中,可以使用第一定位回归因子(例如,CNN或其它合适的网络)执行第一阶段。用于执行第一阶段的第一定位回归因子可以不同于上文所论述的回归因子404。图9A说明了图像900,其中已经执行两级从粗到细对象分段以定位猫对象520。在图9A的实例中,第一阶段的分段将图像900分段成具有Nx M对象区域块的栅格的对象区域图。图9A中的实例包含具有4行x 6列的维度的对象区域图。对象定位引擎634可以确定用于栅格中的对象区域块中的每一个的相应的概率指示对象位于对象区域块中的每一个中的概率。举例来说,定位可以通过第一定位回归因子预测,如上文所指出。第一定位回归因子可以使用二进制值训练(基于对象是否存在于给定对象区域块中)。在运行时间,第一定位回归因子预测对象存在于给定对象区域块中的概率。在一些情况下,概率经阈值化到二进制值。下文相对于等式(14)和(15)提供了进一步的细节。选择来自具有最高确定的概率的N x M栅格的对象区域块以用于通过两级从粗到细对象分段的第二阶段的处理。如图9A中所示,位于对象区域图栅格的行2,列3处的对象区域块970被识别为具有含有猫对象520的最高概率。
如上文所指出,给定某一大小(例如,64x 64、128x 128、64x 128,或任何其它合适的大小)的图像区J,分段的第一阶段可以包含训练第一定位回归因子以提供目标对象的低分辨率分段。在一些实例中,分段的第一阶段可以被定义为:
其中s1是用于J的某一大小的二进制分段(例如,用于大小128x 128的图像区J的8x8的二进制掩码)。项是分段网络。项τ是用于二进制化网络的输出的阈值。为了获得用于输入图像的二进制分段S1,对象定位引擎634可以将输入图像拆分成区J并且可以计算用于每个区J的s1。第一阶段因此提供用于完整输入图像的二进制分段S1。图9B说明具有分段为二进制掩码的图像的每个区的图像900B的实例。仅保存S1中的最大连接组分。举例来说,参考图9B,最大连接组分是组分992,其经保存以用于在分段的第二阶段中处理。连接组分994可以被丢弃。对象定位引擎634可以随后通过应用分段的第二阶段前进到优化连接组分992的形状。在一些实例中,可以使用第二定位回归因子(例如,CNN或类似者)执行第二阶段。第二定位回归因子可以是与第一定位回归因子相同的回归因子(例如,相同的CNN),或者可以是不同的回归因子(例如,不同的CNN)。
分段的第二阶段包含应用第二分段以获得具有U2像素的不确定性的更精确的对象分段。对象的2D中心随后是对象分段的2D中心。举例来说,参考图9A,对象定位引擎634可以将所选择的对象区域块970分段成多个对象中心块。图9A中所示的实例具有四个对象中心块,包含对象中心块972。可以随后确定用于对象中心块中的每一个的相应的概率,指示猫对象520的中心位于对象中心块中的每一个的概率。对象定位引擎634可以随后从所选择的对象区域块中的对象中心块中选择具有最高所确定的概率的对象中心块。在图9A的实例中,对象中心块972被选择为具有含有猫对象520的2D中心的最高概率的对象中心块。图9C说明示出第二分段以获得对象分段996的应用的另一实例的图像900C。举例来说,使用第二分段,在连接组分的区域中的每个活跃位置(图9B)被更精细地分段(例如,不确定性从例如16像素减小到4像素)。
随后通过对象分段确定所选择的对象中心块中的对象的中心。在一个实例中,所选择的对象中心块的质心可以被用作对象的中心。图9D说明具有所估计的2D对象中心998的图像900D。在一个实例中,对象分段996的质心被用作所估计的2D对象中心998。对象定位引擎634通过裁剪图像并且将经裁剪图像在对象的中心上居中而产生图像补丁。图5中所示的图像500是在猫对象520的中心上居中的经裁剪图像的实例。
如上文所指出,基于等式(14)到每个图像区J的应用,第一阶段的结果可以包含用于完整输入图像的二进制分段S1。在此类实例中,仅保存s1中的最大连接组分,并且对象定位引擎634可以随后前进到优化其形状。此优化通过将第二阶段(例如,第二CNN)应用到对应于S1中的活跃位置的某一大小的每个图像补丁P(例如,16x 16图像补丁P)完成:
二阶段分段因此有效地计算用于图像中的目标对象的二进制掩码。二进制掩码的质心可以随后被用作目标对象的2D中心的位置。
图10说明在两级从粗到细对象分段已经执行以定位鸭子对象1020之后的另一图像1000。在图像1000中,鸭子对象1020位于两个对象区域块1070和1074的边界上。在此类实例中,从粗到细对象分段的第二阶段可以产生对象中心块的两个集合,一个用于对象区域块1070和1074中的每一个。概率可以针对指示鸭子对象1020的中心位于对象中心块中的每一个中的概率的对象中心块中的每一个确定。对象定位引擎634可以从两个对象区域块1070和1074中的对象中心块中选择被确定为具有最高所确定的概率的对象中心块。在图10的实例中,对象中心块1072被选择为具有含有鸭子对象1020的2D中心的最高概率的对象中心块。随后通过对象分段确定所选择的对象中心块中的对象1020的中心。对象定位引擎634可以随后通过裁剪图像1000并且将经裁剪图像在鸭子对象1020的中心上居中而产生图像补丁。
良好的对象定位器可以有助于防止所预测的姿态的损失表现。如上文所描述,为了在图像中定位目标对象,使用两级从粗到细对象分段。不确定性项的说明性实例包含U1=16像素和U2=4像素。在一些实例中,经典的大小128x 128的滑动窗口方式用于第一分段阶段。在一些情况下,这可以通过在窗口之间共享卷积而有效地实施。
在一些实例中,可以使用其它对象定位方法。一个实例包含逐像素的种类标记方法,在此情况下来自VGG模型的编码器权重可以在ImageNet上训练。在另一实例中,YOLO可以经训练以用于对象检测任务,在此情况下卷积权重可以是在ImageNet上预先训练的。
所使用的所产生的训练图像的实例集合是用于对象位置检测和姿态预测两者的大小128x 128的200,000个训练图像,以及用于优化的100,000个训练图像。在一些实例中,训练图像的数目对于位置检测、姿态预测和优化可以是相同的。所属领域的技术人员将了解可以使用任何合适数目的训练图像。
可以使用用于姿态预测和优化CNN网络的任何合适的架构。在一个说明性实例中,对于CNN fΘ和CNN gμ两者,可以使用6层架构,在此情况下第一层使用32个7x 7滤波器并且执行4x 4的最大池化。第二层使用32个5x 5滤波器和2x 2最大池化。最后一个卷积层使用50个3x 3滤波器而没有任何池化。随后可以是具有1024个隐藏单元的两个完全连接层。在其中姿态估计系统608预测对象的3D限界框的转角的8个顶点的2D投影或它们的2D更新的实例中最后一个完全连接层可以输出16个值。可以使用修正线性单元(ReLU)激活函数。
任何合适的架构也可以用于对象定位引擎634的网络。在一个说明性实例中,对于用于从粗到细对象分段的第一阶段的第一CNN检测器,可以使用与上文针对回归因子描述的一个相同的架构,不同之处在于最后一层。第一阶段具有U1像素(例如,用于大小128x128像素的输入图像的8像素)的不确定性,因此最后一个连接层具有64个隐藏单元。用于从粗到细对象分段的第二阶段的第二CNN检测器可以具有大小16x 16的输入,具有U2像素(例如,用于大小128x 128的输入图像的4像素)的不确定性。在此类实例中,4层CNN将适用于第二CNN检测器。用于两个CNN检测器的第一和第二层可以具有大小3x 3的32和16卷积滤波器而相应地不具有池化。具有500个隐藏单元的完全连接层可以被用作第三层,并且最后一层可以具有16个隐藏单元。在一些实例中,如果目标对象已经呈现在所关注的区域中(例如,在对象区域块或对象中心块中),那么对象定位引擎634可以预测1的值,或者如果不是这样,那么是-1值。在此类实例中,双曲正切激活函数可以用于最后一层,其将预测值保持在此范围中。
在一些实例中,网络的各种参数可以通过0.9的动量和0.001的衰减优化。
图14说明并入有在实践本发明的实施例的过程中采用的装置的部分的实例计算装置1400。在本文中,如图14中所说明的计算装置可作为任何计算机化系统的部分并入。举例来说,计算装置1400可表示移动装置的组件中的一些,或执行3D编辑工具的计算装置。计算装置1400的实例包含但不限于桌上型计算机、工作站、个人计算机、超级计算机、视频游戏控制台、平板计算机、智能电话、膝上型计算机、上网本,或其它便携式装置。图14提供计算装置1400的一个实施例的示意性说明,其可执行如本文中所描述的各种其它实施例提供的方法和/或可充当主机计算装置、远程查询一体机/终端、销售点装置、移动多功能装置、机顶盒和/或计算装置。图14仅意图提供对各种组件的一般化说明,可在适当时利用所述组件中的任一个或全部。因此,图14广泛地说明可如何以相对分离或相对较集成方式实施个体系统元件。
示出了计算装置1400,其包含可经由总线1405以电气方式耦合(或可以其它方式在适当时通信)的硬件元件。硬件元件可包含:一或多个处理器1410,包含但不限于一或多个通用处理器和/或一或多个专用处理器(例如数字信号处理芯片、图形加速度处理器,和/或类似者);一或多个输入装置1415,其可包含但不限于相机、传感器1450、鼠标、键盘和/或类似者;以及一或多个输出装置1420,其可包含但不限于显示单元、打印机和/或类似者。
计算装置1400可进一步包含以下各项(和/或与以下各项通信):一或多个非暂时性存储装置1425,所述非暂时性存储装置可包括但不限于本地和/或网络可存取的存储装置,和/或可包含但不限于磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)和/或只读存储器(“ROM”)的固态存储装置,其可以是可编程的、可快闪更新的和/或类似者。此类存储装置可经配置以实施任何适当的数据存储装置,包含但不限于各种文件系统、数据库结和/或类似者。
计算装置1400还可包含通信子系统1430。通信子系统1430可包含用于接收和发射数据的收发器或有线和/或无线媒体。通信子系统1430还可包含但不限于调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如,BluetoothTM装置、802.11装置、WiFi装置、WiMax装置、蜂窝式通信设施等)和/或类似者。通信子系统1430可准许与网络(例如,作为一个实例,下文所描述的网络)、其它计算装置和/或本文中所描述的任何其它装置交换数据。在许多实施例中,计算装置1400将进一步包括非暂时性工作存储器1435,其可包含RAM或ROM装置,如上文所描述。
计算装置1400可包括示出为当前位于工作存储器1435内的软件元件,包含操作系统1440、装置驱动器、可执行库和/或例如一或多个应用程序1445的其它代码,其可包括由各种实施例所提供和/或可经设计以实施方法和/或配置系统、由其它实施例所提供的计算机程序,如本文中所描述。仅仅借助于实例,相对于上文所论述的方法描述的一或多个规程可实施为可由计算机(和/或计算机内的处理器)执行的代码和/或指令;随后,在一方面中,此类代码和/或指令可用于配置和/或调适通用计算机(或其它装置)以根据所描述的方法执行一或多个操作。
这些指令和/或代码的集合可存储在计算机可读存储媒体(例如,上文所描述的存储装置1425)上。在一些情况下,存储媒体可并入计算装置(例如,计算装置1400)内。在其它实施例中,所述存储媒体可与计算装置分离(例如,可移动媒体,例如压缩光盘),和/或提供于安装包中,使得所述存储媒体可用于编程、配置和/或调适上面存储有指令/代码的通用计算机。这些指令可采取可由计算装置1400执行的可执行代码的形式,且/或可采取源和/或可安装代码的形式,所述源和/或可安装代码在计算装置1400上编译和/或安装于计算装置1400上(例如,使用各种各样的通常可供使用的编译程序、安装程序、压缩/解压缩共用程序等中的任一者)后,随后呈可执行代码的形式。
可根据特定要求作出实质性变化。举例来说,还可能使用定制硬件,和/或可将特定元件实施于硬件、软件(包含携带型软件,例如小程序等)或这两者中。此外,可采用到例如网络输入/输出装置的其它计算装置1400的连接。
一些实施例可采用计算装置(例如计算装置1400)来执行根据本发明的方法。举例来说,响应于处理器1410执行工作存储器1435中所含有的一或多个指令(其可能并入到操作系统1440和/或例如应用程序1445的其它代码中)的一或多个序列可由计算装置1400来执行所描述的方法的规程中的一些或全部。可将此类指令从例如存储装置1425中的一或多个的另一计算机可读媒体读取到工作存储器1435中。仅仅借助于实例,执行工作存储器1435中所含有的指令的序列可使得处理器1410执行本文中所描述的方法的一或多个规程。
如本文中所使用,术语“机器可读媒体”和“计算机可读媒体”是指参与提供使机器以特定方式操作的数据的任何媒体。在使用计算装置1400实施的实施例中,各种计算机可读媒体可能参与将指令/代码提供到处理器1410以用于执行,和/或各种计算机可读媒体可能用于存储和/或携载此类指令/代码(例如,作为信号)。在许多实施方案中,计算机可读媒体是物体和/或有形存储媒体。此类媒体可采取许多形式,包含但不限于非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含例如光盘和/或磁盘,例如存储装置1425。易失性媒体包含但不限于动态存储器,例如工作存储器1435。传输媒体包含但不限于同轴电缆、铜线和光纤,包含包括总线1405的导线,以及通信子系统1430的各种组件(和/或供通信子系统1430提供与其它装置的通信的媒体)。因此,传输媒体还可采取波的形式(包含但不限于无线电、声波和/或光波,例如在无线电波和红外数据通信期间产生的那些波)。在替代实施例中,可使用事件驱动组件和装置,例如相机,其中可在模拟域中执行处理中的一些。
物理的和/或有形的计算机可读媒体的常见形式包含例如软盘、柔性磁盘、硬盘、磁带或任何其它磁性媒体、CD-ROM、任何其它光学媒体,穿孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可从中读取指令和/或代码的任何其它媒体。
各种形式的计算机可读媒体可参与将一或多个指令的一或多个序列携载到处理器1410以用于执行。仅仅借助于实例,起初可将指令携载于远程计算机的磁盘和/或光盘上。远程计算机可将指令加载到其动态存储器中,并且经由传输媒体将指令作为信号发送以由计算装置1400接收和/或执行。根据本发明的各种实施例,可呈电磁信号、声学信号、光学信号和/或类似者的形式的这些信号均为可在上面编码指令的载波的实例。
通信子系统1430(和/或其组件)通常将接收信号,且总线1405可随后将信号(和/或由信号所携载的数据、指令等)携载到处理器1410从其中检索并执行指令的工作存储器1435。由工作存储器1435接收到的指令可任选地在由处理器1410执行之前或之后存储在非暂时性存储装置1425上。
上文所论述的方法、系统和装置是实例。各种实施例可在适当时省略、替换或添加各种规程或组件。举例来说,在替代配置中,所描述的方法可以不同于所描述的次序来执行,和/或可添加、省略和/或组合各种阶段。并且,可在各种其它实施例中组合相对于某些实施例描述的特征。可以类似方式组合实施例的不同的方面和元件。并且,技术发展,且因此许多元件为实例,其并不将本发明的范围限于那些特定实例。
在组件被描述为“经配置以”执行某些操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
在描述中给出特定细节以提供对实施例的透彻理解。然而,可在没有这些特定细节的情况下实践实施例。举例来说,在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构和技术以便避免混淆实施例。此描述仅提供实例实施例,且并不意图限制本发明的范围、适用性或配置。实际上,对实施例的前述描述将为所属领域的技术人员提供用于实施本发明的实施例的启发性描述。可在不脱离本发明的精神和范围的情况下对元件的功能和布置进行各种改变。
并且,将一些实施例描述为被描绘为流程图或框图的过程。虽然每个流程图或框图可将操作描述为依序过程,但是许多操作可并行地或同时地执行。另外,操作的次序可以重新排列。过程可具有不包含在图中的额外块。此外,可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施方法的实施例。当以软件、固件、中间件或微码实施时,执行相关联的任务的程序代码或代码段可存储在例如存储媒体的计算机可读媒体中。处理器可执行相关联的任务。
已经描述了若干实施例,可在不脱离本发明的精神的情况下使用各种修改、替代构造和等效物。举例来说,上述元件可能仅为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。并且,可以在考虑以上元件之前、期间或之后进行数个块。因此,以上描述并不限制本发明的范围。
Claims (30)
1.一种选择三维模型的方法,所述方法包括:
获得包含对象的第一输入图像;
确定所述第一输入图像中的所述对象的姿态;
获得表示一或多个对象的多个候选三维模型;
获得针对所述第一输入图像中的所述对象的描述符和针对所述多个候选三维模型的多个描述符;
基于针对所述第一输入图像中的所述对象的所述描述符和针对所述多个候选三维模型的所述多个描述符,从所述多个候选三维模型中确定候选三维模型以表示一或多个图像中的所述对象;
获得第二输入图像,所述第二输入图像包括与所述第一输入图像中的所述对象的所述姿态不同的姿态的对象;以及
基于所述第二输入图像中的所述对象的所述姿态与所述第一输入图像中的所述对象的所述姿态之间的差异,调节输出图像中的所述候选三维模型的姿态。
2.根据权利要求1所述的方法,其进一步包括基于所述候选三维模型以及所述第二输入图像产生所述输出图像。
3.根据权利要求1所述的方法,其进一步包括:
接收用户输入以操控所述候选三维模型;以及
基于所述用户输入调节在输出图像中的所述候选三维模型的姿态或位置中的一或多个。
4.根据权利要求1所述的方法,其中,所述多个候选三维模型表示具有与所述第一输入图像中的所述对象的所确定的所述姿态相同的姿态的所述一或多个对象。
5.根据权利要求1所述的方法,还包括:
获得表示多个对象的多个三维模型;以及
选择所述多个三维模型的子集作为所述多个候选三维模型。
6.根据权利要求5所述的方法,其进一步包括:
确定所述第一输入图像中的所述对象的类别;以及
确定与所述多个三维模型相关联的一或多个类别;
其中所述多个三维模型的所述子集是基于具有所述第一输入图像中的所述对象的所述类别的所述多个候选三维模型而从所述多个三维模型中选择的。
7.根据权利要求1所述的方法,其进一步包括:
获得用于所述多个候选三维模型的多个图像,其中产生所述多个图像以包含在与所述所确定的姿态相同的姿态的所述一或多个对象,针对所述多个候选三维模型而获得的所述多个描述符是从所述多个图像产生的。
8.根据权利要求7所述的方法,其中针对所述多个候选三维模型产生的所述多个图像包含多个深度图。
9.根据权利要求1所述的方法,其进一步包括:
比较针对所述多个候选三维模型获得的所述多个描述符与针对所述第一输入图像中的所述对象获得的所述描述符;以及
确定来自所述多个描述符中的具有与针对所述第一输入图像中的所述对象获得的所述描述符的最接近的匹配的描述符,其中所述候选三维模型是基于来自所述多个描述符的具有与针对所述第一输入图像中的所述对象获得的所述描述符的所述最接近的匹配的所述描述符而被确定的。
10.根据权利要求9所述的方法,其中比较所述多个描述符与针对所述第一输入图像中的所述对象获得的所述描述符包含:
使用针对所述第一输入图像中的所述对象获得的所述描述符作为输入,执行最近邻域搜索。
11.根据权利要求1所述的方法,其中所述多个候选三维模型包含表示所述一或多个对象的多个三维网格。
12.根据权利要求1所述的方法,其中确定所述第一输入图像中的所述对象的所述姿态包含:
确定所述第一输入图像中的所述对象的三维限界框的多个二维投影;以及
使用所述三维限界框的所述多个二维投影估计所述对象的所述姿态。
13.根据权利要求12所述的方法,其中所述三维限界框的所述多个二维投影是通过将经训练的卷积网络应用到所述第一输入图像确定的,其中所述经训练的卷积网络经训练以预测在多个姿态中的所述对象的所述三维限界框的二维投影。
14.根据权利要求12所述的方法,其中使用所述三维限界框的所述多个二维投影估计所述对象的所述姿态包含使用所述多个二维投影与对应于所述多个二维投影的所述三维限界框的三维点之间的对应性应用视角-n-点PnP问题。
15.根据权利要求1所述的方法,其进一步包括:
获得额外的输入图像,所述额外的输入图像包含与所述第一输入图像或所述第二输入图像中的所述对象的位置相比在不同的位置中的所述对象;以及
基于所述额外的输入图像中的所述对象的所述位置与所述第一输入图像或所述第二输入图像中的所述对象的所述位置之间的差异,调节至少一个输出图像中的所述候选三维模型的位置。
16.一种用于选择三维模型的设备,其包括:
存储器,其经配置以存储一或多个图像;以及
处理器,其经配置以:
获得包含对象的第一输入图像;
确定所述第一输入图像中的所述对象的姿态;
获得表示一或多个对象的多个候选三维模型;
获得针对所述第一输入图像中的所述对象的描述符和针对所述多个候选三维模型的多个描述符;
基于针对所述第一输入图像中的所述对象的所述描述符和针对所述多个候选三维模型的所述多个描述符,从所述多个候选三维模型中确定候选三维模型以表示一或多个图像中的所述对象;
获得第二输入图像,所述第二输入图像包括与所述第一输入图像中的所述对象的所述姿态不同的姿态的对象;以及
基于所述第二输入图像中的所述对象的所述姿态与所述第一输入图像中的所述对象的所述姿态之间的差异,调节输出图像中的所述候选三维模型的姿态。
17.根据权利要求16所述的设备,其中,所述处理器经配置以:基于所述候选三维模型以及所述第二输入图像产生所述输出图像。
18.根据权利要求16所述的设备,其中,所述处理器经配置以:
接收用户输入以操控所述候选三维模型;以及
基于所述用户输入调节在输出图像中的所述候选三维模型的姿态或位置中的一或多个。
19.根据权利要求16所述的设备,其中,所述多个候选三维模型表示具有与所述第一输入图像中的所述对象的所确定的所述姿态相同的姿态的所述一或多个对象。
20.根据权利要求16所述的设备,其中所述处理器经配置以:
确定所述第一输入图像中的所述对象的类别;以及
确定与多个三维模型相关联的一或多个类别;
基于具有所述第一输入图像中的所述对象的所述类别的所述多个候选三维模型,从所述多个三维模型中选择所述多个三维模型的子集。
21.根据权利要求16所述的设备,其中所述处理器经配置以:
获得用于所述多个候选三维模型的多个图像,其中所述多个图像经产生以包含在与所述所确定的姿态相同的姿态的所述一或多个对象,针对所述多个候选三维模型而获得的所述多个描述符是从所述多个图像产生的。
22.根据权利要求21所述的设备,其中针对所述多个候选三维模型产生的所述多个图像包含多个深度图。
23.根据权利要求16所述的设备,其中所述处理器经配置以:
比较针对所述多个候选三维模型获得的所述多个描述符与针对所述第一输入图像中的所述对象获得的所述描述符;以及
确定来自所述多个描述符中的具有与针对所述第一输入图像中的所述对象获得的所述描述符的最接近的匹配的描述符,其中所述候选三维模型是基于来自所述多个描述符的具有与针对所述第一输入图像中的所述对象获得的所述描述符的所述最接近的匹配的所述描述符而被确定的。
24.根据权利要求16所述的设备,其中确定所述第一输入图像中的所述对象的所述姿态包含:
确定所述第一输入图像中的所述对象的三维限界框的多个二维投影;以及
使用所述三维限界框的所述多个二维投影估计所述对象的所述姿态。
25.根据权利要求24所述的设备,其中使用所述三维限界框的所述多个二维投影估计所述对象的所述姿态包含使用所述多个二维投影与对应于所述多个二维投影的所述三维限界框的三维点之间的对应性应用视角-n-点PnP问题。
26.根据权利要求16所述的设备,其进一步包括相机以用于俘获所述一或多个图像。
27.根据权利要求16所述的设备,其中所述设备包括具有相机的移动装置以用于俘获所述一或多个图像。
28.根据权利要求16所述的设备,其进一步包括显示器以用于显示所述一或多个图像。
29.根据权利要求16所述的设备,其中,所述处理器经配置以:
获得额外的输入图像,所述额外的输入图像包含与所述第一输入图像或所述第二输入图像中的所述对象的位置相比在不同的位置中的对象;以及
基于所述额外的输入图像中的所述对象的所述位置与所述第一输入图像或所述第二输入图像中的所述对象的所述位置之间的差异,调节至少一个输出图像中的所述候选三维模型的位置。
30.一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时使得所述一或多个处理器:
获得包含对象的第一输入图像;
确定所述第一输入图像中的所述对象的姿态;
获得表示一或多个对象的多个候选三维模型;
获得针对所述第一输入图像中的所述对象的描述符和针对所述多个候选三维模型的多个描述符;
基于针对所述第一输入图像中的所述对象的所述描述符和针对所述多个候选三维模型的所述多个描述符,从所述多个候选三维模型中确定候选三维模型以表示一或多个图像中的所述对象;
获得第二输入图像,所述第二输入图像包括与所述第一输入图像中的所述对象的所述姿态不同的姿态的对象;以及
基于所述第二输入图像中的所述对象的所述姿态与所述第一输入图像中的所述对象的所述姿态之间的差异,调节输出图像中的所述候选三维模型的姿态。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762586449P | 2017-11-15 | 2017-11-15 | |
US62/586,449 | 2017-11-15 | ||
US15/946,669 | 2018-04-05 | ||
US15/946,669 US10769411B2 (en) | 2017-11-15 | 2018-04-05 | Pose estimation and model retrieval for objects in images |
PCT/US2018/050516 WO2019099095A1 (en) | 2017-11-15 | 2018-09-11 | Pose estimation and model retrieval for objects in images |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111328396A CN111328396A (zh) | 2020-06-23 |
CN111328396B true CN111328396B (zh) | 2023-07-14 |
Family
ID=66432297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880073063.6A Active CN111328396B (zh) | 2017-11-15 | 2018-09-11 | 用于图像中的对象的姿态估计和模型检索 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10769411B2 (zh) |
EP (1) | EP3710978A1 (zh) |
CN (1) | CN111328396B (zh) |
WO (1) | WO2019099095A1 (zh) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10147211B2 (en) | 2015-07-15 | 2018-12-04 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US10222932B2 (en) | 2015-07-15 | 2019-03-05 | Fyusion, Inc. | Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations |
US10242474B2 (en) | 2015-07-15 | 2019-03-26 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US11095869B2 (en) | 2015-09-22 | 2021-08-17 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
US11006095B2 (en) | 2015-07-15 | 2021-05-11 | Fyusion, Inc. | Drone based capture of a multi-view interactive digital media |
US11783864B2 (en) | 2015-09-22 | 2023-10-10 | Fyusion, Inc. | Integration of audio into a multi-view interactive digital media representation |
US10962780B2 (en) * | 2015-10-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Remote rendering for virtual images |
WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
US10437879B2 (en) | 2017-01-18 | 2019-10-08 | Fyusion, Inc. | Visual search using multi-view interactive digital media representations |
US10313651B2 (en) | 2017-05-22 | 2019-06-04 | Fyusion, Inc. | Snapshots at predefined intervals or angles |
US11069147B2 (en) | 2017-06-26 | 2021-07-20 | Fyusion, Inc. | Modification of multi-view interactive digital media representation |
US10628919B2 (en) * | 2017-08-31 | 2020-04-21 | Htc Corporation | Image segmentation method and apparatus |
US10565729B2 (en) * | 2017-12-03 | 2020-02-18 | Facebook, Inc. | Optimizations for dynamic object instance detection, segmentation, and structure mapping |
US10782411B2 (en) * | 2018-01-12 | 2020-09-22 | Uatc, Llc | Vehicle pose system |
US10643375B2 (en) * | 2018-02-26 | 2020-05-05 | Qualcomm Incorporated | Dynamic lighting for objects in images |
JP6892606B2 (ja) * | 2018-03-02 | 2021-06-23 | 日本電信電話株式会社 | 位置特定装置、位置特定方法及びコンピュータプログラム |
CN110276362A (zh) * | 2018-03-13 | 2019-09-24 | 富士通株式会社 | 训练图像模型的方法和装置以及分类预测方法和装置 |
ES2963646T3 (es) * | 2018-03-14 | 2024-04-01 | Atlas Pacific Eng Company | Orientador de productos |
US10592747B2 (en) * | 2018-04-26 | 2020-03-17 | Fyusion, Inc. | Method and apparatus for 3-D auto tagging |
US11423615B1 (en) * | 2018-05-29 | 2022-08-23 | HL Acquisition, Inc. | Techniques for producing three-dimensional models from one or more two-dimensional images |
KR102615196B1 (ko) * | 2018-08-21 | 2023-12-18 | 삼성전자주식회사 | 객체 검출 모델 트레이닝 장치 및 방법 |
WO2020048620A1 (en) * | 2018-09-07 | 2020-03-12 | Toyota Motor Europe | Method and system for processing an image by determining rotation hypotheses |
US11295532B2 (en) * | 2018-11-15 | 2022-04-05 | Samsung Electronics Co., Ltd. | Method and apparatus for aligning 3D model |
US11127162B2 (en) * | 2018-11-26 | 2021-09-21 | Ford Global Technologies, Llc | Method and apparatus for improved location decisions based on surroundings |
US10771763B2 (en) * | 2018-11-27 | 2020-09-08 | At&T Intellectual Property I, L.P. | Volumetric video-based augmentation with user-generated content |
US11100704B2 (en) | 2018-12-14 | 2021-08-24 | Hover Inc. | Generating and validating a virtual 3D representation of a real-world structure |
US10489683B1 (en) * | 2018-12-17 | 2019-11-26 | Bodygram, Inc. | Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks |
US11995854B2 (en) * | 2018-12-19 | 2024-05-28 | Nvidia Corporation | Mesh reconstruction using data-driven priors |
EP3674984B1 (en) * | 2018-12-29 | 2024-05-15 | Dassault Systèmes | Set of neural networks |
US11080532B2 (en) * | 2019-01-16 | 2021-08-03 | Mediatek Inc. | Highlight processing method using human pose based triggering scheme and associated system |
US10887582B2 (en) | 2019-01-22 | 2021-01-05 | Fyusion, Inc. | Object damage aggregation |
US11176704B2 (en) | 2019-01-22 | 2021-11-16 | Fyusion, Inc. | Object pose estimation in visual data |
US11783443B2 (en) * | 2019-01-22 | 2023-10-10 | Fyusion, Inc. | Extraction of standardized images from a single view or multi-view capture |
US11915451B2 (en) * | 2019-02-01 | 2024-02-27 | Siemens Aktiengesellschaft | Dense 6-DoF pose object detector |
US11003956B2 (en) * | 2019-05-16 | 2021-05-11 | Naver Corporation | System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression |
WO2020261179A1 (en) * | 2019-06-25 | 2020-12-30 | Owkin Inc. | Systems and methods for mesothelioma feature detection and enhanced prognosis or response to treatment |
FR3097974B1 (fr) * | 2019-06-26 | 2021-06-25 | Mbda France | Procede et dispositif de telemetrie passive par traitement d'image et utilisation de modeles en trois dimensions |
KR20210030147A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
CN110704653A (zh) * | 2019-09-09 | 2020-01-17 | 上海慧之建建设顾问有限公司 | 一种bim模型中以图搜索构件的方法及图文搜索系统 |
CN110673727B (zh) * | 2019-09-23 | 2023-07-21 | 浙江赛弘众智网络科技有限公司 | Ar远程协助方法及系统 |
CN110853095B (zh) * | 2019-10-11 | 2021-06-18 | 北京达佳互联信息技术有限公司 | 相机定位方法、装置、电子设备及存储介质 |
US11417070B2 (en) * | 2019-10-21 | 2022-08-16 | Lenovo (Singapore) Pte. Ltd. | Augmented and virtual reality object creation |
CN112785507A (zh) * | 2019-11-07 | 2021-05-11 | 上海耕岩智能科技有限公司 | 图像处理方法及装置、存储介质、终端 |
KR102199772B1 (ko) * | 2019-11-12 | 2021-01-07 | 네이버랩스 주식회사 | 3차원 모델 데이터 생성 방법 |
US11580333B2 (en) * | 2019-11-12 | 2023-02-14 | Objectvideo Labs, Llc | Training image classifiers |
US11651480B2 (en) * | 2019-11-18 | 2023-05-16 | Shinyfields Limited | Systems and methods for selective enhancement of objects in images |
US20210150757A1 (en) * | 2019-11-20 | 2021-05-20 | Nvidia Corporation | Training and inferencing using a neural network to predict orientations of objects in images |
KR20210061839A (ko) * | 2019-11-20 | 2021-05-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11295423B2 (en) * | 2019-11-25 | 2022-04-05 | Intel Corportation | Unsupervised training of neural network for high dynamic range image compression |
US11151404B2 (en) * | 2019-12-03 | 2021-10-19 | International Business Machines Corporation | Object recognition with dynamic switching of visual recognition processes using an image capturing device |
FR3104786B1 (fr) * | 2019-12-12 | 2022-01-21 | Retail Vr | Procédé et système de génération de modèles numériques 3d |
CN111145338B (zh) * | 2019-12-17 | 2023-09-26 | 桂林理工大学 | 一种基于单视角rgb图像的椅子模型重建方法及系统 |
CN111179440B (zh) * | 2020-01-02 | 2023-04-14 | 哈尔滨工业大学 | 一种面向自然场景的三维物体模型检索方法 |
US11562474B2 (en) | 2020-01-16 | 2023-01-24 | Fyusion, Inc. | Mobile multi-camera multi-view capture |
US11776142B2 (en) | 2020-01-16 | 2023-10-03 | Fyusion, Inc. | Structuring visual data |
EP3869392A1 (en) * | 2020-02-20 | 2021-08-25 | Toyota Jidosha Kabushiki Kaisha | Object pose estimation from an rgb image by a neural network outputting a parameter map |
GB2593717B (en) * | 2020-03-31 | 2022-08-24 | Imperial College Innovations Ltd | Image processing system and method |
US11350078B2 (en) * | 2020-04-03 | 2022-05-31 | Fanuc Corporation | 3D pose detection by multiple 2D cameras |
EP4139855A4 (en) * | 2020-04-24 | 2024-05-15 | Roblox Corporation | PATTERN-BASED GENERATION OF 3D MESHES OF OBJECTS FROM 2D IMAGES |
DE102020208211A1 (de) * | 2020-07-01 | 2022-01-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtungen und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erkennen einer Objekttopologie eines Objekts aus einem Bild des Objekts |
US11559885B2 (en) | 2020-07-14 | 2023-01-24 | Intrinsic Innovation Llc | Method and system for grasping an object |
US11275942B2 (en) * | 2020-07-14 | 2022-03-15 | Vicarious Fpc, Inc. | Method and system for generating training data |
US11531829B2 (en) * | 2020-07-24 | 2022-12-20 | Accenture Global Solutions Limited | Automatic image annotation |
US11475242B2 (en) * | 2020-07-27 | 2022-10-18 | Seiko Epson Corporation | Domain adaptation losses |
CN111985995A (zh) * | 2020-08-14 | 2020-11-24 | 足购科技(杭州)有限公司 | 基于微信小程序的鞋子虚拟试穿方法及装置 |
US11138410B1 (en) * | 2020-08-25 | 2021-10-05 | Covar Applied Technologies, Inc. | 3-D object detection and classification from imagery |
CN112037282B (zh) * | 2020-09-04 | 2021-06-15 | 北京航空航天大学 | 一种基于关键点以及骨架的飞机姿态估计方法及系统 |
US11568642B2 (en) * | 2020-10-12 | 2023-01-31 | Adobe Inc. | Large-scale outdoor augmented reality scenes using camera pose based on learned descriptors |
CN112138394B (zh) * | 2020-10-16 | 2022-05-03 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN112150575B (zh) * | 2020-10-30 | 2023-09-01 | 深圳市优必选科技股份有限公司 | 场景数据获取方法及模型训练方法、装置及计算机设备 |
CN112102411B (zh) * | 2020-11-02 | 2021-02-12 | 中国人民解放军国防科技大学 | 一种基于语义误差图像的视觉定位方法及装置 |
CN114827757A (zh) * | 2021-01-29 | 2022-07-29 | 深圳市万普拉斯科技有限公司 | 视频帧选取方法、视频缩时处理方法、装置及计算机设备 |
WO2021108813A2 (en) * | 2021-02-01 | 2021-06-03 | Futurewei Technologies, Inc. | System and method of communications using parallel data paths |
DE102021201921A1 (de) * | 2021-03-01 | 2022-09-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts |
US11605151B2 (en) | 2021-03-02 | 2023-03-14 | Fyusion, Inc. | Vehicle undercarriage imaging |
CN113012227B (zh) * | 2021-03-23 | 2022-09-20 | 华南理工大学 | 基于深度估计与类内平均形状的室内物体位姿估计方法 |
EP4068210A1 (en) * | 2021-03-29 | 2022-10-05 | Infosys Limited | System and method for automated estimation of 3d orientation of a physical asset |
US11847736B2 (en) * | 2021-04-22 | 2023-12-19 | Shopify Inc. | Systems and methods for modifying lighting in three-dimensional models |
US12067746B2 (en) | 2021-05-07 | 2024-08-20 | Intrinsic Innovation Llc | Systems and methods for using computer vision to pick up small objects |
CN113615169B (zh) * | 2021-05-17 | 2022-06-10 | 香港应用科技研究院有限公司 | 用于扩增现实用户手册的设备和方法 |
US11169832B1 (en) * | 2021-05-17 | 2021-11-09 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method for augmented reality user manual |
US11842544B2 (en) * | 2021-06-04 | 2023-12-12 | Fujitsu Limited | Automatic perspective transformation |
US12008787B2 (en) * | 2021-07-20 | 2024-06-11 | Ford Global Technologies, Llc | Object pose estimation |
CN113628322B (zh) * | 2021-07-26 | 2023-12-05 | 阿里巴巴(中国)有限公司 | 图像处理、ar显示与直播方法、设备及存储介质 |
US11810256B2 (en) * | 2021-11-11 | 2023-11-07 | Qualcomm Incorporated | Image modification techniques |
WO2023092380A1 (en) * | 2021-11-25 | 2023-06-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method of suggesting shooting position and posture for electronic device having camera, electronic device and computer-readable storage medium |
US20230316552A1 (en) * | 2022-04-04 | 2023-10-05 | Microsoft Technology Licensing, Llc | Repairing image depth values for an object with a light absorbing surface |
US20230405818A1 (en) | 2022-06-21 | 2023-12-21 | Wilder Systems Inc. | Robotic vehicle decontaminator |
EP4343715A1 (en) * | 2022-09-23 | 2024-03-27 | Trimble Inc. | Determining 3d models corresponding to an image |
CN116486463B (zh) * | 2023-06-15 | 2023-10-03 | 北京瑞莱智慧科技有限公司 | 图像处理方法、相关装置及存储介质 |
CN117542122B (zh) * | 2024-01-09 | 2024-03-22 | 北京渲光科技有限公司 | 人体位姿估计与三维重建方法、网络训练方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310220A (zh) * | 2012-03-12 | 2013-09-18 | 中国人民解放军海军装备研究院信息工程技术研究所 | 一种三维舰船识别方法 |
CN104182765A (zh) * | 2014-08-21 | 2014-12-03 | 南京大学 | 一种互联网图像驱动的三维模型最优视图自动选择方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004288170A (ja) * | 2003-03-05 | 2004-10-14 | Olympus Corp | 三次元モデル検索方法及びシステム |
CN100456300C (zh) * | 2006-10-27 | 2009-01-28 | 北京航空航天大学 | 基于二维草图的三维模型检索方法 |
US10650608B2 (en) * | 2008-10-08 | 2020-05-12 | Strider Labs, Inc. | System and method for constructing a 3D scene model from an image |
KR101908284B1 (ko) * | 2012-01-13 | 2018-10-16 | 삼성전자주식회사 | 신체 연결 관계 분석 장치 및 방법 |
US9424461B1 (en) * | 2013-06-27 | 2016-08-23 | Amazon Technologies, Inc. | Object recognition for three-dimensional bodies |
KR101997500B1 (ko) * | 2014-11-25 | 2019-07-08 | 삼성전자주식회사 | 개인화된 3d 얼굴 모델 생성 방법 및 장치 |
KR102290392B1 (ko) * | 2014-12-02 | 2021-08-17 | 삼성전자주식회사 | 얼굴 등록 방법 및 장치, 얼굴 인식 방법 및 장치 |
US10134177B2 (en) * | 2015-01-15 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method and apparatus for adjusting face pose |
KR20180060784A (ko) * | 2016-11-29 | 2018-06-07 | 삼성전자주식회사 | 비정상 객체 판단 방법 및 장치 |
CN107122396B (zh) * | 2017-03-13 | 2019-10-29 | 西北大学 | 基于深度卷积神经网络的三维模型检索方法 |
WO2018170472A1 (en) * | 2017-03-17 | 2018-09-20 | Honda Motor Co., Ltd. | Joint 3d object detection and orientation estimation via multimodal fusion |
US11676296B2 (en) * | 2017-08-11 | 2023-06-13 | Sri International | Augmenting reality using semantic segmentation |
US20190096135A1 (en) * | 2017-09-26 | 2019-03-28 | Aquifi, Inc. | Systems and methods for visual inspection based on augmented reality |
-
2018
- 2018-04-05 US US15/946,669 patent/US10769411B2/en active Active
- 2018-09-11 EP EP18782588.0A patent/EP3710978A1/en active Pending
- 2018-09-11 WO PCT/US2018/050516 patent/WO2019099095A1/en unknown
- 2018-09-11 CN CN201880073063.6A patent/CN111328396B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310220A (zh) * | 2012-03-12 | 2013-09-18 | 中国人民解放军海军装备研究院信息工程技术研究所 | 一种三维舰船识别方法 |
CN104182765A (zh) * | 2014-08-21 | 2014-12-03 | 南京大学 | 一种互联网图像驱动的三维模型最优视图自动选择方法 |
Non-Patent Citations (2)
Title |
---|
一种基于拓扑结构射影不变量的三维模型检索方法;赵宇晨等;《中国科技论文》;第12卷(第20期);2315-2319 * |
人体运动姿态图像矫正识别仿真研究;冷纪岚;《计算机仿真》;第32卷(第12期);451-454 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019099095A1 (en) | 2019-05-23 |
EP3710978A1 (en) | 2020-09-23 |
US10769411B2 (en) | 2020-09-08 |
US20190147221A1 (en) | 2019-05-16 |
CN111328396A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111328396B (zh) | 用于图像中的对象的姿态估计和模型检索 | |
US11361505B2 (en) | Model retrieval for objects in images using field descriptors | |
CN113330490B (zh) | 三维(3d)辅助个性化家庭对象检测 | |
US10235771B2 (en) | Methods and systems of performing object pose estimation | |
Sahu et al. | Artificial intelligence (AI) in augmented reality (AR)-assisted manufacturing applications: a review | |
DeTone et al. | Toward geometric deep slam | |
EP3327617B1 (en) | Object detection in image data using depth segmentation | |
Guerry et al. | Snapnet-r: Consistent 3d multi-view semantic labeling for robotics | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
EP3644277A1 (en) | Image processing system, image processing method, and program | |
US10554957B2 (en) | Learning-based matching for active stereo systems | |
CN112639846A (zh) | 一种训练深度学习模型的方法和装置 | |
US11748937B2 (en) | Sub-pixel data simulation system | |
WO2021114776A1 (en) | Object detection method, object detection device, terminal device, and medium | |
US20230351724A1 (en) | Systems and Methods for Object Detection Including Pose and Size Estimation | |
Hambarde et al. | Single image depth estimation using deep adversarial training | |
Zelener et al. | Cnn-based object segmentation in urban lidar with missing points | |
Ozbay et al. | A hybrid method for skeleton extraction on Kinect sensor data: Combination of L1-Median and Laplacian shrinking algorithms | |
CN116152334A (zh) | 图像处理方法及相关设备 | |
JP2024529423A (ja) | 保安検査ct対象物認識方法及び装置 | |
CN117689887A (zh) | 基于点云分割的工件抓取方法、装置、设备及存储介质 | |
Ocegueda-Hernandez et al. | A lightweight convolutional neural network for pose estimation of a planar model | |
Wang et al. | A study on hand gesture recognition algorithm realized with the aid of efficient feature extraction method and convolution neural networks: design and its application to VR environment | |
Beňo et al. | RGBD mapping solution for low-cost robot | |
Yang et al. | Sparse Color-Code Net: Real-Time RGB-Based 6D Object Pose Estimation on Edge Devices |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |