CN110298926A - 深度几何模型拟合 - Google Patents
深度几何模型拟合 Download PDFInfo
- Publication number
- CN110298926A CN110298926A CN201910132715.5A CN201910132715A CN110298926A CN 110298926 A CN110298926 A CN 110298926A CN 201910132715 A CN201910132715 A CN 201910132715A CN 110298926 A CN110298926 A CN 110298926A
- Authority
- CN
- China
- Prior art keywords
- model
- input data
- logic
- data
- network
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 52
- 210000005036 nerve Anatomy 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 35
- 239000000758 substrate Substances 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 20
- 239000004065 semiconductor Substances 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 35
- 238000012549 training Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000004083 survival effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000001259 photo etching Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/20076—Probabilistic image processing
-
- 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/20081—Training; Learning
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
Abstract
系统、装置和方法可提供以下技术:通过第一神经网络基于输入数据生成初始模型权重集,通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集。另外,技术可基于经更新模型权重集来输出输入数据的几何模型。在一个示例中,第一神经网络和第二神经网络降低几何模型对输入数据中的数据点数量的依赖性。
Description
技术领域
实施例一般涉及几何模型拟合。更具体地,实施例涉及深度神经网络在几何模型拟合中的使用。
背景
计算机视觉应用可使用几何模型拟合来支持各种功能,诸如自动化机器人和/或车辆导航。例如,计算机视觉应用可定义将几何模型拟合到从捕捉周围环境的一个或多个相机获得的图像数据的数学问题。几何模型可以是例如线、多项式或基本矩阵(例如,与立体图像中的对应点相关的3×3矩阵)。然后,应用随后可试图解决数学问题以确定模型与数据的最佳拟合。
附图说明
通过阅读以下说明书和所附权利要求并通过参考以下附图,实施例的各种优点对于本领域技术人员将变得显而易见,其中:
图1是根据实施例的流水线架构的示例的示意图;
图2是根据实施例的基于学习的估计器的示例的框图;
图3是根据实施例的神经网络的示例的框图;
图4是根据实施例的操作计算机视觉装置的方法的示例的流程图;
图5A是根据实施例的在问题维度方面的稳健性的示例的对比图;
图5B是根据实施例的在噪声分布方面的稳健性的示例的对比图;
图5C是根据实施例的不同流水线阶段处的准确度的示例的图集;
图6是根据实施例的平方Sampson误差的示例的对比图;
图7是根据实施例的平均角点误差的示例的对比图;
图8是根据实施例的计算系统的示例的框图;
图9是根据实施例的半导体封装的示例的示图;
图10是根据实施例的处理器的示例的框图;以及
图11是根据实施例的基于多处理器的计算系统的示例的框图。
具体实施方式
诸如随机样本一致性(RANSAC)算法族之类的常规解决方案可通过对图像数据进行随机采样来解决拟合数学问题的几何模型。随着明确定义模型所需的数据点的最小数量增加,对至少一个外点(outlier)数据点进行采样的概率可能呈指数上升。因此,RANSAC办法对于高维问题(例如,考虑大量变量的问题)可能是不实用的,特别是如果问题是试图处理外点污染数据的非确定性多项式时间(NP)难度最大值一致性问题。其他解决方案可能是不实用地缓慢的(例如,最大值一致性问题的全局优化)和/或是不稳定的(例如,将非稳健基础估计器嵌入到稳健M估计框架中)。
现转向图1,示出了流水线架构20,其中基于学习的初始化器22基于输入数据(P)生成初始模型权重集(w0),其中初始模型权重集可表示用于解决将几何模型拟合输入数据的数学问题的起始点。输入数据可以是例如来自捕捉场景的一个或多个相机的图像数据,而几何模型可以是例如线、多项式、基本矩阵等。在所示示例中,基于学习的估计器24基于与初始模型权重集、输入数据以及任选边信息(S)相关联的残余数据来迭代地生成经更新模型权重集(wj+1)。模型估计器26可基于经更新模型权重集来输出输入数据的几何模型(g(x)D)。
如将更详细讨论的,基于学习的初始化器22和基于学习的估计器24可使用神经网络(例如,深度神经网络/DNN、卷积神经网络/CNN等)来生成模型权重。因此,基于学习的初始化器22可包括生成初始模型权重集的第一神经网络,并且基于学习的估计器24可包括迭代地生成经更新模型权重集的第二神经网络。因此,神经网络的一个或多个层可对输入数据中的每个点独立地操作,这进而使架构20能够避免随机采样并且降低几何模型对输入数据中的数据点数量的依赖性。神经网络还可使架构20能够学习数据正则性(诸如,与输入数据相关联的运动模式),和/或比常规解决方案更快地产生稳定结果。几何模型可被用于进行更高级别的任务,诸如例如在三维(3D)环境中定位安装到车辆或轮式机器人的多个相机。能以逻辑指令、可配置逻辑、固定功能硬件逻辑等或其任何组合来实现架构20的组件。
序言
本文参考维度d的输入数据的单个元素作为点pi∈Rd。另外,P∈P=RN×dP被表示为维度d的点云,该点云包括N个(不一定是不同的)点。下标(P)i用于指代矩阵的第i行。注意,点可以是某个度量空间中的任一点,或者在基本矩阵和单应性估计的情况下,点可以是点对应中的任一点(例如,在这种情况下,我们通过级联具有推定对应的两个图像坐标而具有pi∈R4)。
加权最小二乘法
在许多几何模型拟合问题中,出现了(稳健的)齐次最小二乘法优化问题:
服从||x||=1, (1)
其中x∈Rd′定义模型参数A:P→RkNxd′,kN≥d′,k>0是数据点的问题特定映射,而Ф:R→R+是对称函数,该对称函数在0处具有唯一最小值。
通过设置Ф(y)=y2,表达式(1)简化为具有/允许封闭形式解的齐次最小二乘法问题(例如,根据来自普遍接受集(generally-accepted set)的函数和数学运算来解决问题)。其中出现这种形式的优化问题的算法的流行示例是标准化八点算法(例如,对于基本矩阵)、直接线性变换(DLT)和总最小二乘拟合。
考虑超平面(例如,其维度比其周围空间的维度小一的子空间)拟合来作为简单的示例,其中超平面具有法线n和截距c。超平面拟合的目标可能是从给定的点云P推断为了在总体最小二乘意义上拟合超平面,可使用以下表达式:
利用此定义以及Φ(y)=y2来求解表达式(1)使得能够使用将x映射到模型参数的模型提取函数g(x)来提取平面:
如果数据没有外点,则最小二乘解可能接近真实解,这取决于内点(inlier)噪声分布和问题的具体形式。然而,在实际应用中,对应几乎从不完全正确。实际上,可能存在比内点更多的外点。即使在存在单个外点的情况下,在最小二乘意义上求解估计问题也可能产生不正确的估计。
稳健几何模型拟合的一种可能解决方案是使用稳健M-估计器作为损失函数Φ。所得优化问题一般不会允许封闭形式的解。近似解决优化问题的一种实用方法是通过求解一系列重加权最小二乘问题。
其中权重w的确切形式取决于手头上的Φ和几何模型。
返回超平面拟合示例,假设如果pi是内点,则w(pi,xj)=wi=1,否则w(pi,xj)=wi=0。很明显,给定这些权重,可通过设置在表达式(4)的单次迭代中恢复正确的模型
以及
然而,提前知道权重可能是“鸡与蛋”问题。如果知道真实模型,则将内点与外点分开是微不足道的。另一方面,如果已知哪些点是内点,则恢复真实模型将是微不足道的(假设其可从内点集恢复)。然而,在许多情况下,可使用具有如本文所述的适当结构的深度网络来合理地估计权重。
深度模型拟合
表达式(4)可被认为是具有复杂的、经学习的重加权函数的迭代重加权最小二乘(IRLS)程序。由于权重是从数据中学习的,因此可使用以下假设中的至少一个作为约束:首先,输入数据允许可学习的内点和外点分布的正则性。这种假设的示例是近似均匀且与内点噪声分布足够不同的外点分布。其次,该问题具有可被整合到重加权函数中的有用的边信息(例如,线拟合约束、数据对应、数据对应似然/描述符匹配分数)。此假设的示例是使用基本矩阵和单应性估计问题中的描述符匹配分数来指示来自不同图像的数据点彼此对应的似然(例如,基于色彩)。第三,输出空间是模型参数的完整空间的子集。此假设的示例是在特定场景中的基本矩阵估计,诸如用于安装在汽车或轮式机器人上的相机。
这里,采用表达式(4)的一般结构,而不假设权重函数w的简单形式。替代地,使用深度网络对表达式(4)进行参数化,并且从数据学习网络权重,使得整个算法导致准确的估计。本文描述的技术可被理解为元解决方案,该元解决方案利用未知的成本函数来学习IRLS程序的复杂且问题相关的版本。此方法可被用于将边信息容易地整合到问题中,这可增强和“稳健化(robustify)”估计。此外,即使不能从内点估计精确模型(例如,由于内点),所示的架构20也能够恢复准确的解。
模型估计
如已经指出的,可公式化表达式(4)的版本,其中权重由可端到端训练的深度网络来参数化。更具体地,权重函数可被重新定义为
其中收集可用于每个点的边信息(例如,线拟合约束、描述符匹配分数)。由于此功能是全局定义的,因此各个点可能会相互影响。由于w可能是高度复杂的函数,因此可使用权重为θ的深度网络对其进行参数化。利用此参数化,表达式(4)中的单个步骤可能变为:
为了找到导致稳健和准确估计的参数化θ,可出于符号简洁性而丢弃对对应和边信息的显式依赖。结果可以是矩阵形式
其中将个体权重收集到对角矩阵中。
命题1。设表示矩阵X的奇异值分解(SVD,例如因数分解)。表达式(8)的解xj+1由与矩阵W(θ)A的最小奇异值相对应的右奇异向量vd′给出。
鉴于表达式(8)是齐次最小二乘问题,此命题为真。命题1意味着模型拟合问题的解被恢复为g(f(W(θ)A)),其中f(X)=vd′和g(x)是从SVD映射到几何模型的参数的适当函数。对于超平面拟合的情况,已经在表达式(6)中给出示例。下面讨论几何模型拟合问题的不同实例的其他示例。
为了使用基于梯度的优化来学习权重θ,可通过SVD层(例如,使用矩阵计算)来反向传播梯度。
命题2。假设奇异向量根据其奇异值V=(v1,v2,...,vd′)的量值排序,使得vd′是对应于最小奇异值的奇异向量。通过g(f(X)的反向传播可用f(X)=vd′来执行。
g相对于输入X的梯度可以由下式给出
其中
σi表示第i个奇异值。
图2示出基于学习的估计器28的示例,其可以容易地替换已经讨论的基于学习的估计器24(图1)。所示的基于学习的估计器28一般包括模型组件30和权重组件32。基于学习的估计器28可将点P和权重集w作为输入。在所示的示例中,预处理器34构造矩阵W(θ)A,并且奇异值分解(SVD)单元36将预处理器34的输出因数分解为三个矩阵的乘积(例如,其中列为U和V是正交的,并且矩阵D是具有正实项的对角线)。提取器38(“g(x)”)可执行模型提取,该模型提取在给定输入权重的情况下产生几何模型的估计。例如,提取器38可对SVD 36的输出执行轻微的后处理计算,以便以合适的格式(例如,线方程)获得模型的估计。随后可使用所估计模型基于输入点、边信息和当前所估计模型的残余来估计新的权重集。
由于呈现给权重组件32的数据可能不表现出任何自然排序,因此所示权重组件32不因输入数据的置换而改变。因此,权重组件32可作为函数近似器操作,以独立于输入数据点的实际排序的方式整合全局信息。另外,因为在大多数应用中,输入点的数量不是先验已知的,因此所示的权重组件32还能够处理任意数量N的输入点。更具体地,所示的权重组件32包括残余分析器40,用于标识与初始权重集相关联的残余数据。在这方面,残余分析器40可针对每个数据点确定数据点离所估计模型有多远。权重组件32还可包括神经网络42(“witer(威特)”),用于基于残余数据和输入数据迭代地生成经更新模型权重集。
为了使神经网络42不因输入数据的置换而改变,网络42本身的每个操作不因置换而改变。这对于跨多个数据点操作的层尤其相关。可示出,沿维度N的全局平均和最大池化实现了此属性。替代整合全局信息的单个池化层,神经网络42可在每个层之后执行实例标准化:
其中hi是对应于点i的特征向量,而均值μ(h)以及方差σ2(h)沿维度N计算:
此操作将全局信息跨点的分布以及标准化整合到单个程序中。由于实例标准化可完全由对点特征的置换不变操作组成,因此整个网络42不因输入点的置换而改变。此类办法改进了训练期间的稳定性,尤其是在高噪声状态下的稳定性。对于具有低信噪比的数据,在网络中具有全局地整合数据的多个操作可能是有益的(例如,与PointNet架构相比,其中池化层形式的单个全局整合步骤是提议的)。
能以逻辑指令、可配置逻辑、固定功能硬件逻辑等或其任何组合来实现基于学习的估计器28。在一个示例中,预处理器34、提取器38和残余分析器40是模型特定的并根据正在部署的特定应用以可配置逻辑编程,SVD单元36以固定功能硬件逻辑实现,而神经网络42以逻辑指令实现(例如,经由PYTORCH)。基于学习的初始化器22(图1)的神经网络也能以逻辑指令实现。可使用其他配置。
图3示出深度神经网络44,其可以容易地替换已经讨论过的神经网络42(图2)。所例示的深度神经网络44包括线性层的重复应用,线性层对每个数据点独立地起作用。每个线性层之后是泄漏整流器线性单元(ReLU)和实例标准化器46,泄漏整流器线性单元(ReLU)实例标准化器46实现点之间的全局通信。为了产生严格的正权重,误差估计器之后可跟随softplus(例如,对整流器进行非负平滑近似以进行最小二乘估计)激活。
图4示出操作计算机视觉装置的方法50。方法50可在一个或多个模块中被实现为一组逻辑指令,这组逻辑指令被存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存等之类的机器或计算机可读存储介质中,存储在诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)之类的可配置逻辑中,存储在使用诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)的电路技术或晶体管-晶体管逻辑(TTL)技术之类的固定功能硬件逻辑或其任何组合中。
例如,可以用一种或多种编程语言的任意组合来编写用于实施在方法50中所示的操作的计算机程序代码,这些编程语言包括诸如JAVA、SMALLTALK、C++等的面向对象的编程语言以及诸如“C”编程语言或类似编程语言的常规的过程编程语言。另外,逻辑指令可包括汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、状态设置数据、用于集成电路的配置数据、使对于硬件而言是原生的(native)电子电路和/或其他结构部件(例如,主机处理器、中央处理单元/CPU、微控制器等)个性化的状态信息。
例示的处理框52提供通过第一神经网络基于输入数据生成初始模型权重集。另外,框54通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集。特别值得注意的是,第二神经网络可学习输入数据中的应用特定正则性,例如与输入数据相关联的车辆和/或机器人运动模式。例如,如果车辆运动主要是前向运动而不是侧向运动或后向运动,则第二神经网络可随时间逐渐减少对应于侧向和/或后向运动的模型权重的出现。结果,可实现对对极几何的更准确和稳健的估计(例如,两个视图之间的固有投影几何)。当迭代地生成经更新模型权重集时,框54还可考虑边信息,诸如例如线拟合约束(例如,所允许角度)和/或数据对应似然(例如,匹配分数)。此外,第二神经网络可生成针对预定数量的迭代的经更新模型权重集。
可在框56处基于经更新模型权重集来输出输入数据的几何模型。因为不执行随机采样,所以第一神经网络和第二神经网络可降低几何模型对输入数据中的数据点数量的依赖性。如将更详细讨论的,几何模型可包括超平面拟合模型、基本矩阵估计模型、单应性估计模型等,或其任何组合。一般来说,超平面拟合模型可以是几何子空间中的形状(例如,平面中的线、3D体积中的平面等),该形状将输入数据拟合到可接受的确定性水平。基本矩阵估计可以是与立体图像中的对应点相关的矩阵。另外,单应性估计模型可将立体图像中的平面表面彼此映射。
例示的框58基于几何模型定位3D环境中的多个相机。例如,如果相机是安装到自主车辆的立体相机并且几何模型是与立体图像中的对应点(例如,迎面而来的汽车的左前灯)相关的基本矩阵,则框58可使用基本矩阵来确定相机以及车辆在周围环境中的相对位置。在另一示例中,几何模型是单应性估计模型,该单应性估计模型使在智能电话上运行的增强现实(AR)应用能够确定物理墙位于场景中的何处,使得虚拟内容可被添加到墙的再现中。相机定位信息可被用于执行其他更高级别的操作,诸如例如自动导航、姿势信息、场景重建(例如,作为重建流水线中的第一阶段)等。
因此,完整的架构可包括输入权重估计器Winit、基于学习的估计器的重复应用、以及对最终权重的几何模型估计。例如,对基于学习的估计器的五个连续应用(例如,预定数量的迭代)可找到(strike)准确度与计算复杂度之间的适当平衡。所有中间阶段的损失总和可被视为训练损失。完整前向传递(forward pass)的概述在下面表I中的伪代码中示出。
表I
其中行“2:”提供初始权重,而行“8:”提供表达式(8)的解。例如,能以PYTORCH工具来实现网络。在下面讨论的应用中,可使用随机优化,且初始学习速率为10-4,批次大小为16。学习速率可以每十个时期减少0.8倍,且训练总共进行200个时期。
模型拟合问题
可指定三个不同问题实例——一般超平面拟合、基本矩阵估计和单应拟合——的量。为了指定用于特定应用的完整的前向传递,可标识以下与问题相关的组件:预处理步骤A(P)、模型提取器g(x)和残余r(pt,x)。请注意,这些量可使一般元算法专用于特定问题实例。虽然这里描述的阐述是针对涉及齐次最小二乘问题的任务而定制的,但是只要是可微分的,其他类型的估计器也可被容易地整合。除了上述功能之外,还可指定训练损失以便能够训练流水线。这种损失可从残余函数r导出。
超平面拟合
为了定义训练损失,可从地面真值(groundtruth)模型采样1000个内点,其中相对于这些点的点到平面距离被用作损失:
由于网络允许可解释的中间表示,因此可将损失附加到所有D中间结果。
基本矩阵估计可基于标准化8点算法来执行稳健的基本矩阵估计。所有坐标可被重新缩放到区间[-1,1]2,并且预处理函数可被定义为:
其中和分别是左图像和右图像中的对应的齐次坐标,而T、Tp是对数据进行居中和缩放的标准化矩阵。
我们进一步有
其中F表示基本矩阵。此程序可能未明确地实施前向传递中的F的秩亏损(rank-deficiency),但是实验结果指示网络学习始终如一地估计秩-2矩阵(即,具有最大数量为两个线性独立列向量或行向量的矩阵)。对称的对极距离可被用作残余函数:
由于其结构,基本矩阵可能不容易被直接比较。因此,本文描述的技术基于它们如何作用于给定对应集来比较基本矩阵。为此,生成虚拟对应对,其中虚拟对应对是对于地面真值对极几何的内点。更具体地,可在两个图像中生成点网格,且点被重新投射到地面真值对极线。结果可以是虚拟的、无噪声的内点其可被用于定义几何上有意义的损失。该步骤可被理解为对图像空间中的地面真值对极几何进行采样。训练损失可再次由M估计器给出。
单应性估计。单应性估计的基础可通过直接线性变换(DLT)形成。具体而言,可使用以下表达式:
以及
g(x)=(T)-1(x)3×3T=H. (18)
可使用对称转移误差来计算残余和损失:
结果
可在相继更难的问题上进行实验:合成示例中的超平面拟合、汽车场景中的基本矩阵估计以及一般单应性拟合。
超平面拟合。通过执行检查所提出办法的不同方面的受控实验,超平面拟合可被用作规范几何模型拟合问题。
对于训练和测试两者,可在线生成随机数据集。首先,可在[0,1]d中随机均匀地采样d个点,并且超平面可被拟合到这些点,其用作地面真值模型。给定地面真值模型,可通过对点进行随机采样并将它们投射到超平面上来生成内点。可在法线方向上将具有σ=0.005的高斯噪声添加到内点。为了生成外点,可在[0,1]d中随机均匀地进行采样。在训练期间,可生成由总计1000个点组成的实例,其中随机外点比率在0与90%之间(因此该模型不专用于特定的外点比率)。单个时期可由640个实例组成。
图5A示出对比图60,其中针对拟合问题的不同维度d示出了关于外点率的行为。将本文描述的技术与RANSAC(虚线)进行比较,RANSAC运行达1000次迭代(大致对应于维度d=8时的50%外点的破坏点(breakdown point))和0.005的内点阈值。使用模型与已知无噪声地面真值点之间的点到平面距离来评估准确度。可以看出,随着问题的维度增加,针对更高的外点率,本文描述的技术(实体)可更温和的降级。注意,为了使RANSAC达到类似的准确度,对于d=8,需要几乎多一个量级的采样迭代,而对于d=10,需要大约多50倍的迭代。
继续参考图5A和5C,标绘图62(62a-62d)示出不同流水线级的准确度。本文描述的技术能够利用数据的正则性,对于本示例,该数据由内点的较高密度区域给出。标绘图60还示出被训练成直接回归到平面参数的PointNet架构(点线)的结果。随着问题的维度增加,PointNet架构被证明非常难以训练。因此,引入几何约束可能有助于解决具有深度网络的模型拟合问题。
图集62示出d=2时流水线中不同阶段的权重,以及80%的外点率。从左上方,顺时针方向,标绘图62a对应于权重w0,标绘图62b对应于权重w1,标绘图62c对应于权重w3,标绘图62d对应于权重w4(示出了对应估计和地面真值)。初始权重已位于真实解周围,并产生近似正确的估计。随着阶段的进展,权重逐渐集中在内点周围,这逐步导致更准确的估计。
现在转向图5B,进一步研究对非高斯内点噪声的稳健性。将数据点面元化(binned)成网格,该网格被解析成单元格大小为点的总范围的1/100,并且训练d=2的模型。类似地生成测试集。对比标绘图64表明,与RANSAC相比,本文所述的技术产生独立于内点噪声分布的更准确的结果。
基本矩阵估计。KITTI(卡尔斯鲁厄理工学院和丰田技术研究所)测距数据集可用于评估本文描述的用于基本矩阵估计的技术。该数据集由22个不同的驱动序列组成,其中11个具有公开可用的地面真值测距。此数据集可能非常适合深度几何模型拟合,因为它表现出正则性:连续帧的对极几何典型地由主导的前向运动掌控。
现在转向图6,对比标绘图66示出从KITTI测距数据集获得的结果。更具体地,可使用尺度不变特征变换(SIFT)来从数据集中的连续帧提取推定的对应。为了促进高效的批次训练,如果检测到的数量较大,则通过对关键点集随机采样,每个图像对的关键点的数量可被约束为1000。如果检测到的关键点的数量小于1000,则可复制随机关键点。可在两个不同的数据集上训练网络。第一数据集是序列00至05,其包括已知的地面真值姿态(poses)(例如,“基于学习的GT”)。为了示出深度几何模型拟合的实际适用性,可附加地在序列11至22上训练流水线,序列11至22没有公开可用的地面真值姿态。可在序列上运行运动结构(SfM)流水线,然后提取用作代理真值(例如,“基于学习的SfM”)的相机。
包括地面真值姿态的序列06至10可被用于测试。对比标绘图66示出关于内点对应(例如,与真值对极几何的在0.1px误差内的对应)的平方Sampson误差的统计。每个方框示出上下四分位数。虚线(Whiskers)示出四分位距范围的1.5倍。可将本文描述的基于学习的技术与结合八点算法的RANSAC的OpenCV实现以及结合七点算法的通用RANSAC(USAC)办法进行比较。还试图将原本深度网络训练成直接回归到基本矩阵的系数。这种办法失败了,因为网络没有学会执行估计的秩亏损。
结果表明,所提出的办法的误差最接近于零且散布最小。因此,本文描述的技术能够学习在所有误差统计中明显更准确的模型。简而言之,所学习的估计器更准确且对外点更稳健。此外,从SfM代理地面真值的训练产生仅比从精确地面真实数据的训练稍微不准确的模型,这加强了本文所述的基于学习的办法的一般适用性。此外,基于学习的技术示出每个实例平均25毫秒的实际运行时间。也可以使用其他数据集在代理真值上训练模型。
单应性估计可遵循基于MS-COCO(上下文中的MICROSOFT-公共对象)数据集的评估协议。对于每个图像,可提取大小为256×256像素的随机补块。可通过随机均匀地扰乱(perturbing)参考补块的角点的最多64个像素来生成地面真值单应性。逆单应性可被用于使参考图像扭曲(warp),并且可从相同位置提取第二(扭曲)补块。
然后可进行10000个训练对的生成,然后使用ORB(来自加速段测试的定向特征/FAST和旋转二进制稳健独立基本特征/BRIEF)特征、Hamming距离和比率测试来提取推定的匹配。可丢弃具有少于100个匹配的对,其中总共500个点(如前述部分所描述的)被用于实现批处理。匹配分数可被用作边信息。在训练期间,可能会出现极端的单应性。因此,表达式(16)中的最大距离可被钳位(clamped)到区间[-64,64]。
现转向图7,可将本文描述的技术(“基于学习的”)与用于单应性估计的深度网络(“HomographyNet(单应性网)”)、包括RANSAC(其后是非线性细化阶段(“RANSAC-NL”))的基于OpenCV的估计器、以及USAC进行比较。为了训练基线网络,可遵循深度图像单应性估计协议。测试集由来自MS-COCO测试集的5000个图像组成,其中生成方式与训练集相同。
对比标绘图68示出所估计单应性中的平均角点误差的统计。目前的办法优于HomographyNet和SAC基线两者。请注意,与其他方法相比,HomograpyNet的结果具有明显更高的误差范围。这显然是迄今为止最难的数据集,因为数据几乎没有正则性。尽管如此,所提出的办法能够从点的联合位置和边信息提取有用信息,从而导致比RANSAC类型解决方案更准确的结果,尽管事实上两者都在相同的推定匹配集上操作。
现转到图8,示出了计算机视觉系统70。系统70一般可以是具有计算功能(例如,个人数字助理/PDA、笔记本计算机、平板计算机、可转换平板、服务器)、通信功能(例如,智能电话)、成像功能(例如,相机、便携式相机)、媒体播放功能(例如,智能电视/TV)、可穿戴功能(例如,手表、眼镜(eyewear)、头戴物、鞋、首饰)、车载功能(例如,汽车、卡车、摩托车)、机器人功能(例如,自主机器人)等或其任何组合的电子设备/平台的一部分。在所例示的示例中,系统70包括具有一个或多个核74以及耦合至系统存储器78的集成存储器控制器(IMC)76的一个或多个处理器72(例如,(诸)主机处理器、(诸)中央处理单元/CPU)。
所例示系统70也包括输入输出(IO)模块80,该输入输出(IO)模块80与处理器72一起在半导体管芯82上实现为片上系统(SoC),其中IO模块80充当主设备并且可与例如显示器84(例如,触摸屏、液晶显示器/LCD、发光二极管/LED显示器)、网络控制器86(例如,有线和/或无线)、用于生成输入数据(例如,图像数据)的多个相机88(88a、88b)和大容量存储90(例如,硬盘驱动器/HDD、光盘、闪存等)通信。(诸)处理器72可执行从系统存储器78和/或大容量存储90检索的指令92,以执行方法50(图4)的一个或多个方面。
因此,指令92的执行可使计算机视觉系统70:通过第一神经网络基于来自相机88的输入数据生成初始模型权重集,通过第二神经网络基于与所述初始模型权重集和所述输入数据相关联的残余数据迭代地生成经更新模型权重集,以及基于所述经更新模型权重集来输出所述输入数据的几何模型。输入数据、初始模型权重集和/或经更新模型权重集可被存储到系统存储器78或大容量存储90中的一个或多个。在一个示例中,指令92的执行还使计算机视觉系统70基于几何模型来定位3D环境中的相机88。实际上,第二神经网络可学习与输入数据相关联的一个或多个数据正则性,诸如运动模式(例如,主导前向移动)。
几何模型可以是超平面拟合模型、基本矩阵估计模型、单应性估计模型等,或其任何组合。第一神经网络和第二神经网络可降低几何模型对输入数据中的数据点数量的依赖性。另外,可针对预定数量的迭代,并且进一步基于诸如线拟合约束、匹配分数之类的边信息来生成经更新模型权重集。
图9示出了半导体封装装置100。装置100可容易地替换已经讨论过的半导体管芯82(图8)。所例示的装置100包括一个或多个衬底102(例如,硅、蓝宝石、砷化镓)和耦合至(诸)衬底102的逻辑104(例如,晶体管阵列和其他集成电路/IC组件)。逻辑104可被至少部分地实现于可配置逻辑或固定功能硬件逻辑中。所例示的逻辑104包括第一神经网络106和第二神经网络108。逻辑104一般可实现方法50(图4)的一个或多个方面。相应地,逻辑104可通过第一神经网络106基于输入数据生成初始模型权重集,通过第二神经网络108基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集,以及基于经更新模型权重集来输出输入数据的几何模型。另外,逻辑104可基于几何模型来在三维环境中定位多个相机。实际上,第二神经网络108可学习与输入数据相关联的一个或多个数据正则性,诸如运动模式(例如,主导前向移动)。
如已经指出的,几何模型可以是超平面拟合模型、基本矩阵估计模型、单应性估计模型等,或其任何组合。第一神经网络106和第二神经网络108可降低几何模型对输入数据中的数据点数量的依赖性。另外,可针对预定数量的迭代,并且进一步基于诸如线拟合约束和/或匹配分数之类的边信息来生成经更新模型权重集。
在一个示例中,逻辑104包括定位(例如,嵌入)在(诸)衬底102内的晶体管通道区域。因此,逻辑104与(诸)102之间的接口可以不是突变结。逻辑104还可被认为包括在(诸)衬底102的初始晶片上生长的外延层。
图10例示出根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,这些处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或用于执行代码的其他设备。虽然图10中仅例示了一个处理器核200,但处理元件可替代地包括多于一个图10中所例示的处理器核200。处理器核200可以是单线程核,或对于至少一个实施例,处理器核200可以是多线程的,因为其每个核可包括多于一个的硬件线程上下文(或“逻辑处理器”)。
图10还例示出耦合至处理器核200的存储器270。存储器270可以是本领域技术人员已知的或以其他方式对本领域技术人员可用的各种各样的存储器(包括存储器层次结构的各个层)中的任何一种。存储器270可包括要由处理器核200执行的一个或多个代码213指令,其中代码213可实现已讨论的方法50(图4)。处理器核200遵循由代码213指示的指令的程序序列。每个指令可进入前端部分210,并由一个或多个解码器220处理。解码器220可生成微操作(诸如,按预定义格式的固定宽度的微操作)作为其输出,或者可生成反映原始代码指令的其他指令、微指令或控制信号。所例示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,这些逻辑一般分配资源并将与转换指令相对应的操作进行排队以供执行。
处理器核200被示出为包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可以包括专用于特定功能或功能集的多个执行单元。其他实施例可以仅包括一个执行单元或一个可执行特定功能的执行单元。所例示的执行逻辑250执行由代码指令指定的操作。
在完成执行由代码指令指定的操作之后,后端逻辑260对代码213的指令进行引退。在一个实施例中,处理器核200允许乱序执行,但是要求指令的有序引退。引退逻辑265可采取如本领域技术人员已知的各种形式(例如,重排序缓冲器等等)。以此方式,至少根据由解码器生成的输出、由寄存器重命名逻辑225利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出),处理器核200在代码213的执行期间被转换。
虽然未在图10中例示,但处理元件可包括与处理器核200一起在芯片上的其他元件。例如,处理元件可包括与处理器核200一起的存储器控制逻辑。处理元件可以包括I/O控制逻辑、和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在参考图11,所示为根据实施例的计算系统1000实施例的框图。图11中所示出的是多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。尽管示出了两个处理元件1070和1080,但是要理解,系统1000的实施例还可包括仅一个此类处理元件。
系统1000被例示为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解,图11中所例示的互连中的任何或全部可被实现为多分支总线而不是点对点互连。
如图11中所示,处理元件1070和1080中的每个处理元件可以是包括第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b)的多核处理器。此类核1074a、1074b、1084a、1084b可被配置成用于以与上面结合图10所讨论的方式类似的方式来执行指令代码。
每个处理元件1070、1080可包括至少一个共享高速缓存1896a、1896b。共享高速缓存1896a、1896b可存储分别由处理器的一个或多个组件(诸如核1074a、1074b以及1084a、1084b)利用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可本地地对存储器1032、1034中所存储的数据进行高速缓存以供处理器的各组件的更快速访问。在一个或多个实施例中,共享高速缓存1896a、1896b可包括一个或多个中级高速缓存(诸如,第2级(L2)、第3级(L3)、第4级(L4)、或其他级的高速缓存)、末级高速缓存(LLC)和/或其组合。
尽管被示出为具有仅两个处理元件1070、1080,但要理解,实施例的范围并不限于此。在其他实施例中,在给定的处理器中可存在一个或多个附加处理元件。替换地,处理元件1070、1080中的一者或多者可以是除处理器之外的元件,诸如加速器或现场可编程门阵列。例如,(诸)附加处理元件可包括与第一处理器1070相同的(诸)附加处理器、与第一处理器1070异构或不对称的(诸)附加处理器、加速器(诸如例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。在包括架构、微架构、热、功耗特性等等一系列品质度量方面,处理元件1070、1080之间可存在各种差异。这些差异自身可有效地表现为处理元件1070、1080之中的不对称性和异构性。对于至少一个实施例,各处理元件1070、1080可驻留在同一管芯封装中。
第一处理元件1070可进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可包括MC 1082以及P-P接口1086和1088。如图11中所示,MC 1072和1082将处理器耦合至相应的存储器,即存储器1032和存储器1034,这些存储器可以是本地附连到相应处理器的主存储器的部分。尽管MC 1072和1082被例示为被集成到处理元件1070、1080中,但对于替代实施例,MC逻辑可以是处理元件1070、1080外部的分立逻辑,而不是被集成于其中。
第一处理元件1070和第二处理元件1080可分别经由P-P互连1076、1086耦合至I/O子系统1090。如图11中所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括将I/O子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,可使用总线1049将图形引擎1038耦合至I/O子系统1090。替代地,点对点互连可耦合这些组件。
进而,I/O子系统1090可经由接口1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线,或诸如PCI高速总线或另一第三代I/O互连总线之类的总线,但是实施例的范围不限于此。
如图11中所示,各种I/O设备1014(例如,生物计量扫描器、扬声器、相机、传感器)可与总线桥1018一起耦合至第一总线1016,该总线桥1018可将第一总线1016耦合至第二总线1020。在一个实施例中,第二总线1020可以是低引脚计数(LPC)总线。各种设备可耦合到第二总线1020,这些设备包括例如键盘/鼠标1012、(诸)通信设备1026、以及数据存储单元1019(诸如在一个实施例中可包括代码1030的盘驱动器或其他大容量存储设备)。所例示的代码1030可实现已讨论的方法50(图4),并且可类似于已讨论的代码213(图10)。进一步地,音频I/O 1024可耦合至第二总线1020,并且电池1010可向计算系统1000供给功率。
注意,构想了其他实施例。例如,系统可实现多分支总线或者另一此类通信拓扑,而不是图11的点对点架构。另外,可替代地使用比图11中所示的更多或更少的集成芯片来对图11的元件进行分区。
附加注解与示例:
示例1可包括一种半导体装置,包括:一个或多个衬底;以及耦合至一个或多个衬底的逻辑,其中该逻辑至少部分地以可配置逻辑或固定功能硬件逻辑中的一者或多者来实现,耦合至一个或多个衬底的逻辑用于:通过第一神经网络基于输入数据生成初始模型权重集,通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集,其中第二神经网络用于学习与输入数据相关联的一个或多个运动模式,并且其中经更新模型权重集将是对应于预定数量的迭代而生成的,以及基于经更新模型权重集来输出输入数据的几何模型,其中第一神经网络和第二神经网络用于降低几何模型对输入数据中的数据点数量的依赖性。
示例2可包括示例1的装置,其中经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成的。
示例3可包括示例1的装置,其中几何模型将是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
示例4可包括示例1的装置,其中耦合至一个或多个衬底的逻辑包括定位在该一个或多个衬底内的晶体管沟道区域。
示例5可包括一种系统,包括:多个相机,用于生成输入数据;耦合至多个相机的存储器,存储器用于存储输入数据;耦合至存储器的半导体装置,半导体装置包括一个或多个衬底以及耦合至一个或多个衬底的逻辑,耦合至一个或多个衬底的逻辑用于:通过第一神经网络基于输入数据生成初始模型权重集,通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集,以及基于经更新模型权重集来输出输入数据的几何模型;以及处理器,用于基于几何模型来在三维环境中定位多个相机。
示例6可包括示例5的系统,其中第一神经网络和第二神经网络用于降低几何模型对输入数据中的数据点数量的依赖性。
示例7可包括示例5的系统,其中第二神经网络用于学习与输入数据相关联的一个或多个正则性。
示例8可包括示例7的系统,其中一个或多个正则性包括运动模式。
示例9可包括示例5的系统,其中经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成的。
示例10可包括示例5的系统,其中几何模型是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
示例11可包括一种半导体装置,包括:一个或多个衬底;以及耦合至一个或多个衬底的逻辑,其中至少部分地以可配置逻辑或固定功能硬件逻辑中的一者或多者来实现逻辑,耦合至一个或多个衬底的逻辑用于:通过第一神经网络基于输入数据生成初始模型权重集,通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集,以及基于经更新模型权重集来输出输入数据的几何模型。
示例12可包括示例11的装置,其中第一神经网络和第二神经网络用于降低几何模型对输入数据中的数据点数量的依赖性。
示例13可包括示例11的装置,其中第二神经网络用于学习与输入数据相关联的一个或多个正则性。
示例14可包括示例13的装置,其中一个或多个正则性包括运动模式。
示例15可包括示例11的装置,其中经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成。
示例16可包括示例11的装置,其中几何模型是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
示例17可包括示例11的装置,其中耦合至一个或多个衬底的逻辑包括定位在该一个或多个衬底内的晶体管沟道区域。
示例18可包括一种方法,包括:通过第一神经网络基于输入数据生成初始模型权重集,通过第二神经网络基于与初始模型权重集和输入数据相关联的残余数据迭代地生成经更新模型权重集,以及基于经更新模型权重集来输出输入数据的几何模型。
示例19可包括示例18的方法,其中第一神经网络和第二神经网络用于降低几何模型对输入数据中的数据点数量的依赖性。
示例20可包括示例18的方法,其中第二神经网络学习与输入数据相关联的一个或多个正则性。
示例21可包括示例20的方法,其中一个或多个正则性包括运动模式。
示例22可包括示例18的方法,其中经更新模型权重集是进一步基于线拟合约束或数据对应似然中的一者或多者来生成的。
示例23可包括示例18的方法,其中几何模型是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
示例24可包括包含指令集的至少一种计算机可读存储介质,指令集在由计算系统执行时使计算系统执行示例18到23中任一项的方法。
因此,本文描述的技术能以对于高维问题实用、快速且稳定(例如,对模型是好还是坏没有不确定性)的方式从数据学习稳健的几何模型估计器。基于学习的估计器可在各种经典模型拟合问题上产生稳健且准确的结果。本文描述的技术可以是朝向模块化同时定位和映射(SLAM)系统的步骤,该系统将深度神经网络的功率与数学上合理的几何建模相结合。除了所呈现的问题实例之外,本文描述的技术可直接应用于基于直接线性变换的多视图几何中的其他问题,诸如三角测量或n点透视(PnP)问题。此外,本文描述的技术可能适用于当前使用IRLS的其他问题域。
实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、芯片上系统(SoC)、SSD/NAND控制器ASIC等等。另外,在一些附图中,信号导线用线表示。一些线可以是不同的以指示更具构成性的信号路径,可具有数字标号以指示构成性信号路径的数目,和/或可在一端或多端具有箭头以指示主要信息流向。然而,这不应以限制性方式来解释。相反,此类增加的细节可与一个或多个示例性实施例结合使用以促进更容易地理解电路。任何所表示的信号线,不管是否具有附加信息,实际上都可包括一个或多个信号,这一个或多个信号可在多个方向上行进,并且可用任何适合类型的信号方案来实现,例如利用差分对来实现的数字或模拟线路、光纤线路,和/或单端线路。
示例尺寸/模型/值/范围可能已经被给出,但是实施例不限于此。随着制造技术(例如,光刻法)随时间变得成熟,预料到能制造出更小尺寸的设备。另外,为了说明和讨论的简单,到IC芯片和其他组件的公知的功率/接地连接可在附图内示出也可不示出,并且这样做也是为了不使所述实施例的某些方面模糊。此外,各种布置可以框图形式示出以避免模糊各实施例,并且这也鉴于关于此类框图布置的实现的具体细节高度依赖于实现实施例的平台这一事实,即这些具体细节应当落在本领域内技术人员的学识范围内。在阐述具体细节(例如电路)以描述示例实施例的情况下,对本领域内技术人员应显而易见的是,没有这些具体细节或对这些具体细节作出变型也可实践各实施例。说明书因此被视为是说明性的而不是限制性的。
术语“耦合的”在本文中被用于表示所讨论的部件之间的任何类型的直接或间接关系,且可应用于电气的、机械的、流体的、光学的、电磁的、机电的或其他连接。另外,术语“第一”、“第二”等在本文中仅用于便于讨论,不带有特定时间的或按时间顺序的意义,除非另有陈述。
如在本申请和权利要求书中所使用的,由术语“一个或多个”联接的项列表可意指着所列项的任何组合。例如,短语“A、B或C中的一个或多个”可意指A;B;C;A和B;A和C;B和C;或A、B和C。
本领域技术人员从前面的描述将领会,实施例的广泛技术能以各种形式来实现。因此,尽管已结合其特定示例描述了实施例,但实施例的真实范围不应当限于此,因为在研究附图、说明书和所附权利要求书之后,其他修改对于本领域技术人员将变得显而易见。
Claims (24)
1.一种半导体装置,包括:
一个或多个衬底;以及
耦合至所述一个或多个衬底的逻辑,其中所述逻辑至少部分地以可配置逻辑或固定功能硬件逻辑中的一者或多者来实现,耦合至所述一个或多个衬底的所述逻辑用于:
通过第一神经网络基于输入数据生成初始模型权重集,
通过第二神经网络基于与所述初始模型权重集和所述输入数据相关联的残余数据迭代地生成经更新模型权重集,其中所述第二神经网络用于学习与所述输入数据相关联的一个或多个正则性,并且其中所述一个或多个正则性包括运动模式,以及
基于所述经更新模型权重集来输出所述输入数据的几何模型,其中所述第一神经网络和所述第二神经网络用于降低所述几何模型对所述输入数据中的数据点数量的依赖性。
2.如权利要求1所述的装置,其特征在于,所述经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成。
3.如权利要求1所述的装置,其特征在于,所述几何模型将是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
4.如权利要求1所述的装置,其特征在于,耦合至所述一个或多个衬底的所述逻辑包括定位在所述一个或多个衬底内的晶体管沟道区域。
5.一种计算系统,包括:
多个相机,用于生成输入数据;
耦合至所述多个相机的存储器,所述存储器用于存储所述输入数据;
耦合至所述存储器的半导体装置,所述半导体装置包括一个或多个衬底以及耦合至所述一个或多个衬底的逻辑,耦合至所述一个或多个衬底的所述逻辑用于:
通过第一神经网络基于所述输入数据生成初始模型权重集,
通过第二神经网络基于与所述初始模型权重集和所述输入数据相关联的残余数据迭代地生成经更新模型权重集,以及
基于所述经更新模型权重集来输出所述输入数据的几何模型;以及
处理器,用于基于所述几何模型来在三维环境中定位所述多个相机。
6.如权利要求5所述的系统,其特征在于,所述第一神经网络和所述第二神经网络用于降低所述几何模型对所述输入数据中的数据点数量的依赖性。
7.如权利要求5所述的系统,其特征在于,所述第二神经网络用于学习与所述输入数据相关联的一个或多个正则性。
8.如权利要求7所述的系统,其特征在于,所述一个或多个正则性将包括运动模式。
9.如权利要求5所述的系统,其特征在于,所述经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成。
10.如权利要求5所述的系统,其特征在于,所述几何模型将是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
11.一种半导体装置,包括:
一个或多个衬底;以及
耦合至所述一个或多个衬底的逻辑,其中所述逻辑至少部分地以可配置逻辑或固定功能硬件逻辑中的一者或多者来实现,耦合至所述一个或多个衬底的所述逻辑用于:
通过第一神经网络基于输入数据生成初始模型权重集,
通过第二神经网络基于与所述初始模型权重集和所述输入数据相关联的残余数据迭代地生成经更新模型权重集,以及
基于所述经更新模型权重集来输出所述输入数据的几何模型。
12.如权利要求11所述的装置,其特征在于,所述第一神经网络和所述第二神经网络用于降低所述几何模型对所述输入数据中的数据点数量的依赖性。
13.如权利要求11所述的装置,其特征在于,所述第二神经网络用于学习与所述输入数据相关联的一个或多个正则性。
14.如权利要求13所述的装置,其特征在于,所述一个或多个正则性将包括运动模式。
15.如权利要求11所述的装置,其特征在于,所述经更新模型权重集将进一步基于线拟合约束或数据对应似然中的一者或多者来生成。
16.如权利要求11所述的装置,其特征在于,所述几何模型将是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
17.如权利要求11所述的装置,其特征在于,耦合至所述一个或多个衬底的所述逻辑包括定位在所述一个或多个衬底内的晶体管沟道区域。
18.一种操作计算系统的方法,包括:
通过第一神经网络基于输入数据生成初始模型权重集,
通过第二神经网络基于与所述初始模型权重集和所述输入数据相关联的残余数据迭代地生成经更新模型权重集,以及
基于所述经更新模型权重集来输出所述输入数据的几何模型。
19.如权利要求18所述的方法,其特征在于,所述第一神经网络和所述第二神经网络降低所述几何模型对所述输入数据中的数据点数量的依赖性。
20.如权利要求18所述的方法,其特征在于,所述第二神经网络学习与所述输入数据相关联的一个或多个正则性。
21.如权利要求20所述的方法,其特征在于,所述一个或多个正则性包括运动模式。
22.如权利要求18所述的方法,其特征在于,所述经更新模型权重集是进一步基于线拟合约束或数据对应似然中的一者或多者来生成的。
23.如权利要求18所述的方法,其特征在于,所述几何模型是超平面拟合模型、基本矩阵估计模型或单应性估计模型中的一者或多者。
24.包括指令集的至少一种计算机可读存储介质,所述指令集在由计算系统执行时使所述计算系统执行如权利要求18到23中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/933,510 US11393160B2 (en) | 2018-03-23 | 2018-03-23 | Deep geometric model fitting |
US15/933,510 | 2018-03-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110298926A true CN110298926A (zh) | 2019-10-01 |
Family
ID=65231135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910132715.5A Pending CN110298926A (zh) | 2018-03-23 | 2019-02-22 | 深度几何模型拟合 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11393160B2 (zh) |
CN (1) | CN110298926A (zh) |
DE (1) | DE102019104516A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859302A (zh) * | 2017-11-29 | 2019-06-07 | 西门子保健有限责任公司 | 光传输矩阵的压缩感测 |
CN110751090A (zh) * | 2019-10-18 | 2020-02-04 | 宁波博登智能科技有限责任公司 | 一种三维点云标注方法、装置及电子设备 |
CN114741784A (zh) * | 2022-03-28 | 2022-07-12 | 大连理工大学 | 一种圆柱壳加筋结构优化方法、装置、计算机和存储介质 |
CN116883550A (zh) * | 2023-07-01 | 2023-10-13 | 浙江利恩工程设计咨询有限公司 | 一种三维虚拟实景动画显示方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10692244B2 (en) | 2017-10-06 | 2020-06-23 | Nvidia Corporation | Learning based camera pose estimation from images of an environment |
US11686941B2 (en) * | 2019-05-17 | 2023-06-27 | Magic Leap, Inc. | Methods and apparatuses for corner detection using neural network and corner detector |
CN110956176B (zh) * | 2019-11-14 | 2023-06-16 | 国网山西省电力公司大同供电公司 | 一种塔基间输电线路拟合方法和检测装置 |
US20210149404A1 (en) * | 2019-11-16 | 2021-05-20 | Uatc, Llc | Systems and Methods for Jointly Performing Perception, Perception, and Motion Planning for an Autonomous System |
JP7359735B2 (ja) * | 2020-04-06 | 2023-10-11 | トヨタ自動車株式会社 | 物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置 |
CN116113952A (zh) * | 2020-08-25 | 2023-05-12 | 华为技术有限公司 | 用于图像的属于分布内度量的分布之间的距离 |
CN113377991B (zh) * | 2021-06-10 | 2022-04-15 | 电子科技大学 | 一种基于最难正负样本的图像检索方法 |
CN113706505A (zh) * | 2021-08-24 | 2021-11-26 | 凌云光技术股份有限公司 | 一种去除深度图像中局外点的圆柱拟合方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960014201B1 (ko) * | 1993-02-08 | 1996-10-14 | 김재창 | 움직이는 표적의 검출 방법 및 그 시스템 |
JP3647584B2 (ja) * | 1996-12-26 | 2005-05-11 | 富士通株式会社 | 学習型自己定位装置 |
US6898583B1 (en) * | 2000-01-24 | 2005-05-24 | Sony Corporation | Method and apparatus of creating application-specific, non-uniform wavelet transforms |
US9015092B2 (en) * | 2012-06-04 | 2015-04-21 | Brain Corporation | Dynamically reconfigurable stochastic learning apparatus and methods |
US8965057B2 (en) * | 2012-03-02 | 2015-02-24 | Qualcomm Incorporated | Scene structure-based self-pose estimation |
KR101974261B1 (ko) * | 2016-06-24 | 2019-04-30 | 한국과학기술원 | Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치 |
US11379688B2 (en) * | 2017-03-16 | 2022-07-05 | Packsize Llc | Systems and methods for keypoint detection with convolutional neural networks |
US10646288B2 (en) * | 2017-04-12 | 2020-05-12 | Bio-Medical Engineering (HK) Limited | Automated steering systems and methods for a robotic endoscope |
US10699142B2 (en) * | 2017-04-20 | 2020-06-30 | GM Global Technology Operations LLC | Systems and methods for traffic signal light detection |
-
2018
- 2018-03-23 US US15/933,510 patent/US11393160B2/en active Active
-
2019
- 2019-02-22 DE DE102019104516.9A patent/DE102019104516A1/de active Pending
- 2019-02-22 CN CN201910132715.5A patent/CN110298926A/zh active Pending
-
2022
- 2022-06-15 US US17/841,186 patent/US11816784B2/en active Active
-
2023
- 2023-10-06 US US18/482,463 patent/US20240161387A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859302A (zh) * | 2017-11-29 | 2019-06-07 | 西门子保健有限责任公司 | 光传输矩阵的压缩感测 |
CN110751090A (zh) * | 2019-10-18 | 2020-02-04 | 宁波博登智能科技有限责任公司 | 一种三维点云标注方法、装置及电子设备 |
CN110751090B (zh) * | 2019-10-18 | 2022-09-20 | 宁波博登智能科技有限公司 | 一种三维点云标注方法、装置及电子设备 |
CN114741784A (zh) * | 2022-03-28 | 2022-07-12 | 大连理工大学 | 一种圆柱壳加筋结构优化方法、装置、计算机和存储介质 |
CN116883550A (zh) * | 2023-07-01 | 2023-10-13 | 浙江利恩工程设计咨询有限公司 | 一种三维虚拟实景动画显示方法 |
CN116883550B (zh) * | 2023-07-01 | 2024-02-23 | 浙江利恩工程设计咨询有限公司 | 一种三维虚拟实景动画显示方法 |
Also Published As
Publication number | Publication date |
---|---|
US11393160B2 (en) | 2022-07-19 |
US20240161387A1 (en) | 2024-05-16 |
US20220309739A1 (en) | 2022-09-29 |
DE102019104516A1 (de) | 2019-09-26 |
US20190043244A1 (en) | 2019-02-07 |
US11816784B2 (en) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298926A (zh) | 深度几何模型拟合 | |
Kristan et al. | The seventh visual object tracking VOT2019 challenge results | |
US11373332B2 (en) | Point-based object localization from images | |
Beach et al. | Quantum image processing (quip) | |
WO2020228525A1 (zh) | 地点识别及其模型训练的方法和装置以及电子设备 | |
Minemura et al. | LMNet: Real-time multiclass object detection on CPU using 3D LiDAR | |
Chen et al. | Visibility-aware point-based multi-view stereo network | |
Wang et al. | Nemo: Neural mesh models of contrastive features for robust 3d pose estimation | |
US20200311855A1 (en) | Object-to-robot pose estimation from a single rgb image | |
Pavllo et al. | Shape, pose, and appearance from a single image via bootstrapped radiance field inversion | |
US20220327730A1 (en) | Method for training neural network, system for training neural network, and neural network | |
EP3872761A2 (en) | Analysing objects in a set of frames | |
Park et al. | Learning and selecting confidence measures for robust stereo matching | |
Chelani et al. | How privacy-preserving are line clouds? recovering scene details from 3d lines | |
Bao et al. | Object-aware centroid voting for monocular 3d object detection | |
CN116097307A (zh) | 图像的处理方法及相关设备 | |
Huang et al. | Learning optical flow with R-CNN for visual odometry | |
Manhardt et al. | Cps: Class-level 6d pose and shape estimation from monocular images | |
Yao et al. | Dynamicbev: Leveraging dynamic queries and temporal context for 3d object detection | |
Kim et al. | Adversarial confidence estimation networks for robust stereo matching | |
Zhu et al. | Vdn-nerf: Resolving shape-radiance ambiguity via view-dependence normalization | |
Tian et al. | MedoidsFormer: A strong 3D object detection backbone by exploiting interaction with adjacent medoid tokens | |
CN113326825A (zh) | 伪标签生成方法、装置、电子设备及存储介质 | |
CN117237643A (zh) | 一种点云语义分割方法及系统 | |
Feng et al. | Point-guided contrastive learning for monocular 3-D object detection |
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 |