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

生成三维(3D)模型的方法与流程

2022-06-09 00:07:10 来源:中国专利 TAG:
生成三维(3d)模型的方法
技术领域
:1.本发明涉及一种生成三维(3d)模型的方法。本发明还涉及一种执行该方法的计算机设备。
背景技术
::2.对设备站点例如电信站点的检查是一项越来越重要的任务,因为无线通信正在成为一种更占主导的通信方式。检查可以例如帮助规划在设备站点即将进行的维护操作中引入哪些材料或备件。3.作为执行此类检查的有用工具是可视3d模型。设备站点检查中的关键组成部分之一是创建3d模型,通常根据无人机收集的一组2d图像来创建3d模型。现在使用的一种流行的解决方案是照相测量法,例如pix4d(https://www.pix4d.com/),照相测量法根据从设备站点获得的照片以3d点云和数字表面模型的形式来创建3d模型。如果所获得的照片带有地理标记,那么所得到的3d模型中的对象可以实际上以合理的精度来测量。这个过程正在成为部署和维护电信设备的重要步骤。4.通常,对视觉场景(例如小区站点)的3d建模是根据一组2d图像创建的,例如,如j.schonberger和j.-m.frahm于2016年在proc.ieeeconferenceoncomputervisionandpatternrecognition(cvpr)中的“structure-from-motionrevisited”中所示。这些图像从不同的观察方向(即从不同的视角和不同的观察位置)“看到”场景或3d对象。5.然后,可以对来自该组2d图像的识别出的关键点或特征进行配对,即将其识别为属于同一关键点。关键点的示例可以是角部或边缘。从不同的观察方向观察3d对象的事实可用于通过三角测量来计算从相机到3d对象(例如天线)的深度或距离。此过程中最重要的步骤之一是图像配准(imageregistration),它建立图像变换(例如投影变换或仿射变换)的几何模型,该几何模型是根据该组二维图像中的成对关键点集合计算的。6.传统解决方案的问题是:放置在设备的顶部或侧面的设备特征或子对象(例如特定控件或连接器)被很好地建模,而放置在设备的底部的设备特征没有被很好地建模。换言之,当无人机相机向下指时,形成对象周围的背景的地面具有足够量的纹理,并具有从相机到焦点对象的可计算的距离。然后将以干净清晰的方式制作模型。然而,当无人机相机向上指时,即数据集合中将天空描绘为背景的照片,传统方法无法准确地确定相机到天空的距离,从而描绘天空的关键点经常被错误地配准(register)。结果通常是非常“脏”或嘈杂的点云。7.此问题的常规解决方法是仅使用正交(以相对于竖直平面的下倾斜45至70度向下看)或nadir(90度或竖直向下)摄影来产生数据集或2d图像。8.这种解决方法产生干净的模型,但问题是照片本身不包括设备的底部,例如天线的底侧,天线的底侧是设备检查员/测量员所感兴趣的关键点。这意味着有必要求助于其他检查技术和现实捕捉解决方案,例如手动获取视频/照片,以从设备的底部获取这些细节。9.构建孤立3d模型的传统解决方案包括使用手动干预或编辑。10.这种传统解决方案的缺点包括大量耗时的手动工作,每当重新配置设备时都必须重复这样的手动工作。11.因此,需要一种自动解决方案来生成3d模型。12.本发明的目的13.本发明的实施例的目的是提供减轻或解决上述缺点的解决方案。技术实现要素:14.上述目的通过本文所述的主题来实现。本文描述了本发明的其他有利实施形式。15.根据本发明的第一方面,上述目的通过由配置为生成三维(3d)模型的计算机设备执行的方法来实现。该方法包括获得多个二维(2d)图像,其中该多个2d图像各自从不同观察方向描绘3d对象和3d对象的背景。该多个2d图像是使用相机获得的。该方法还包括:针对该多个2d图像中的每一个生成关键点总集合,将每个关键点总集合辨别为描绘3d对象的第一关键点子集和描绘3d对象的背景的第二关键点子集,并且仅使用描绘3d对象的关键点子集来生成3d模型。通过将经训练的模型应用于所生成的关键点集合来执行辨别每个关键点集合的步骤。16.第一方面的优点是:至少获得了改进的3d模型或更高质量的3d模型。17.根据本发明的第二方面,上述目的通过一种计算机设备来实现,该计算机设备被配置为通过执行根据第一方面的方法来生成三维3d模型。18.根据本发明的第三方面,上述目的通过一种计算机程序实现,该计算机程序包括计算机可执行指令,当该计算机可执行指令在包括在计算机设备中的处理电路上执行时,该计算机可执行指令使计算机设备执行根据第一方面的方法步骤中的任何一个步骤。19.根据本发明的第四方面,上述目的通过一种包括计算机可读存储介质的计算机程序产品来实现,该计算机可读存储介质具有在其中体现的根据第三方面的计算机程序。20.根据本发明的第五方面,上述目的通过包含根据第三方面的计算机程序的载体来实现,其中,所述载体是电信号、光信号、无线电信号或计算机可读存储介质中的一种。21.第二方面、第三方面、第四方面和第五方面的优点至少与第一方面相同。22.本发明的范围由权利要求限定,这些权利要求通过引用结合到本部分中。通过考虑对一个或多个实施例的以下详细描述,将向本领域技术人员提供对本发明实施例的更完整理解,并认识到其附加优点。将参考附图进行描述,将首先简要描述附图。附图说明23.图1a-图1c示出了设备检查的典型场景。24.图2示出了根据本公开的一个或多个实施例的描绘3d对象的关键点。25.图3示出了根据本公开的一个或多个实施例的方法。26.图4示出了根据一个或多个实施例的计算机设备的细节。27.图5示出了根据一个或多个实施例的方法的流程图。28.通过考虑对一个或多个实施例的以下详细描述,将向本领域技术人员提供对本发明实施例的更完整理解,并认识到其附加优点。应当理解,相同的附图标记用于标识一幅或多个附图中所示的相同元件。具体实施方式29.通常,除非明确给出和/或从上下文中暗示不同的含义,否则本文中使用的所有术语将根据其在相关
技术领域
:中的普通含义来解释。除非另有明确说明,否则对“一/一个/元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为指代元件、设备、组件、装置、步骤等中的至少一个实例。除非必须明确地将一个步骤描述为在另一个步骤之后或之前和/或隐含地一个步骤必须在另一个步骤之后或之前,否则本文所公开的任何方法的步骤不必以所公开的确切顺序执行。在适当的情况下,本文公开的任何实施例的任何特征可以应用于任何其他实施例。同样地,任何实施例的任何优点可以适用于任何其他实施例,反之亦然。通过下文的描述,所附实施例的其他目的、特征和优点将显而易见。30.在本公开中,术语“二维(2d)图像”表示相机的2d图像传感器的输出数据,3d场景被投影到其上。2d图像通常通过将从场景中的三维(3d)对象反射或发射的光(例如通过使用透镜)聚焦到图像传感器的光敏表面上来获得。输出数据通常在空间上被组织为图像帧内的像素,该图像帧表示相机/透镜系统和/或图像传感器的视场(pov)。输出数据通常包括根据于颜色模型的光强度。颜色模型可以包括加色和减色模型,例如红绿蓝(rgb)颜色模型或青洋红黄键(cmyk)颜色模型。颜色模型还可以包括柱坐标颜色模型,例如色相饱和度值(hsv)和色相饱和度亮度(hsl)。2d图像可以是例如是二维(2d)视频中的帧、图像或视频帧。换言之,各个相继的2d图像在一个接一个地显示时就形成视频。31.在本公开中,术语“相机”表示至少包括透镜系统、图像传感器、处理电路、存储器和通信接口的装置/相机,该通信接口被配置为与其他单元(例如计算机设备)交换来自图像传感器的输出数据。图像传感器可以被配置为配准光(例如可见光、红外线等)的强度。可以根据颜色模型或根据单色模型来配准可见光。32.在本公开中,术语“观察方向”表示从相机/图像传感器到所观察的场景的相对方向,通常是fov的中心向量、或图像传感器表面的法线向量。33.在本公开中,术语“三维(3d)对象”表示现实世界场景中的对象,例如,设备站点。34.在本公开中,术语“背景”表示所获得的真实世界场景的图像的不描绘所观察的3d对象的剩余部分,通常位于真实世界场景中远离相机的位置。在一个示例中,捕捉或获得位于开阔草地中的电信塔的2d图像。如果图像是从相对于地面或地球表面高于电信塔的位置捕捉的,则捕捉的图像会将电信塔描绘为3d对象,并将草地描绘为背景。35.在本公开中,术语“地面”表示3d对象下方的表面,通常是地球表面。36.在本公开中,术语“关键点”表示2d图像中的特征,例如在多个方向上具有梯度的角部点或边缘,其可以在同一3d对象的随后捕捉的2d图像中被识别和跟踪。37.在一个示例中,给定分辨率为m×n像素的图像im,关键点是一对(x,y),其指定由该图像im中的像素表示的特定特征的坐标。关键点生成是确定这些坐标(x,y)的过程。有多种传统算法可用于执行此类操作。例如,可以通过哈里斯角点检测器(harriscornerdetector),或者可以通过由fast(加速段测试的特征,featuresfromacceleratedsegmenttest)检测到的角部,来提取关键点。替代地,可以使用surf(加速鲁棒特征,speededuprobustfeatures),其中关键点提取基于对hessian矩阵的行列式的近似。关键点定位的另一种方法基于sift(尺度不变特征转换,scale-invariantfeaturetransform),其中高斯差分被用于检测对尺度和取向不变的点。也可以将关键点选择为通过mser(最大稳定极值区域,maximallystableextremalregions)方法计算的斑点(图像区域)的中心。如果应用于图像im,这些算法将返回不同的关键点集合。这些集合的基数也可能相差极大,范围从零到mxn。38.在本公开中,术语“关键点描述符”表示指示对应关键点的特征的数据。在一个示例中,关键点描述符可以是向量,该向量指示在对应关键点最显著取向的方向上的强度。它为关键点所指的图像范围(area)分配数字描述。39.关键点描述符的目的是表征所获得的图像在关键点附近的图像范围或部分。关键点(x,y)的描述符d通常是标量或有限向量,它总结了该关键点的属性。存在大量流行的关键点描述符。例如,可以使用surf描述符,它是基于特定关键点周围的haar小波响应之和的浮点值的64维向量。替代地,可以使用sift描述符,它是通过关键点周围的梯度幅度的聚合直方图来计算的128维向量。hog(方向梯度直方图,histogramoforientedgradients)是另一种描述符,它通过梯度方向的级联直方图来描述关键点周围的局部外观。brief(二进制鲁棒独立基本特征,binaryrobustindependentelementaryfeatures)描述符是sift描述符的128比特数字形式的二进制版本。除了捕捉邻近区域内像素的强度分布之外,描述符还可以基于颜色梯度、该范围中的主色等。40.在本公开中,术语“经训练的模型”表示能够对视频的2d照片或2d中帧的关键点进行分类的模型。41.在一个示例中,无人机沿轨道运行以用于捕捉蜂窝塔的图像并旨在创建电信站点的3d模型。根据该图像生成关键点。然后,经训练的模型对关键点描述符上应用“分类器”,以将表示“天空”的关键点与表示“设备”的关键点分开。经训练的模型可以是二元分类器,给定关键点描述符然后输出诸如“天空”或“设备”之类的标签。已知的分类器包括[svm](c.cortes和v.vapnik,“supportvectornetworks,”machinelearning,1995),以及[gmm](c.bishop,“patternrecognitionandmachinelearning,”springer,2006)。[0042]经训练的模型可以例如包括许多权重来组合从视频的帧中提取的图像特征或关键点。这使得经训练的模型能够使用图像/帧特征对对象进行分类/检测。图像/帧特征可以是任何低级特征,例如视频的帧/图像的边缘或像素属性。[0043]在本公开中,术语“对象提议区域”表示对范围进行指示的区域,在该范围内提议或检测到存在对象。该区域可以具有任何合适的形式,例如矩形、椭圆形、圆形或具有相关中心坐标的任意形状的多边形(例如位于或靠近对象的重心)。[0044]在本公开中,术语“3d模型”表示能够表示3d对象的模型。特别是表示3d对象的表面和特征,通常是基于对对象点在3d空间中的位置进行定义的3d坐标,其例如通过照相测量法来获得。[0045]在一个示例中,表示设备站点的3d模型是使用由包括相机的无人机收集的2d图像集合来生成的。生成3d模型的传统解决方案是pix4d(https://www.pix4d.com/),pix4d是一种照相测量法解决方案,该照相测量法解决方案可以根据照片来创建3d点云和数字表面模型。如果照片也带有地理标签,则可以使用模型以合理的精度来实际测量所表示的3d对象。这个过程例如正在成为检查、部署和维护电信设备的重要步骤。[0046]本文所公开的提议的解决方案包括:用于学习2d图像中用于图像配准的关键点的统计特性的机制、以及用于从初始配准步骤临时禁用具有不想要的特性的关键点的机制。换言之,使用与3d对象相关的关键点,而与背景(通常是天空或大海)相关的关键点被丢弃并且不用于图像配准。[0047]电信设备站点(电缆、天线、塔等)通常包括刚性对象,刚性对象是用于生成3d模型的适合的良好输入。相反,由于稳定关键点的缺乏、随时间的变化、以及天空不同部分之间的自相似性,天空中的云很难被准确地配准。因此,在本公开中,属于不稳定背景的关键点被禁用于图像配准,而来自稳定对象的关键点被启用以用于图像配准,以实现视觉场景的精确3d模型。[0048]图1a示出了设备检查的典型场景。无人机110被控制为:环绕3d对象120,例如设备站点,并获得或捕捉3d对象120的相继的二维2d图像130、140。无人机通常是无人驾驶飞行器(uav)。无人机120通常配备有相机,例如红绿蓝(rgb)分量相机。相机可用于从不同的观察方向wd1、wd2获得3d对象120的2d图像,例如,通过从不同位置捕捉2d图像和/或通过使用与相对于地面/地球表面的水平面和竖直面相对的不同的取向角。[0049]在一个示例中,仅通过改变竖直相机视角/相机取向角(例如相对于竖直面45度、90度或135度),可以从同一位置捕捉多个图像。这也可以看作控制相机向上看、向前直视和向下看。[0050]每个捕捉的图像可以包括元数据选集,例如全球定位系统数据、竖直相机取向角、水平相机取向角、时间、温度、海拔等。[0051]图1b示出了根据本公开的一个或多个实施例的用于设备检查的场景。在图1b的场景中,观察方向wd1、wd2被限制为相对于地面面向上方的观察方向。由于观察方向wd1、wd2仅限于面向上方的观察方向,因此主要背景将描绘天空。[0052]以与图1a所示的场景类似的方式,控制无人机110环绕3d对象120,例如设备站点,并获得或捕捉3d对象120的相继的二维2d图像130、140。无人机通常是无人驾驶飞行器(uav)。无人机120通常配备有相机,例如红绿蓝(rgb)分量相机。相机可用于从不同的观察方向wd1、wd2获得3d对象120的2d图像,该观察方向被限制为相对于地面面向上方的观察方向。换言之,2d图像是使用[竖直角<90度和竖直角>零(0)度]范围内的竖直相机视角/相机取向角所捕捉的。可以理解,竖直相机视角是与关于地面来看的,例如相对于地面的法线与相机相交,其中0度表示沿法线从地面向上观察,90度表示朝向地平线观察,而180度表示沿法线从相机朝向地面向下观察。[0053]图1c示出了根据本公开的一个或多个实施例的用于设备检查的场景。在图1c的场景中,观察方向wd1、wd2被限制为相对于地面面向下方的观察方向。由于观察方向wd1、wd2仅限于面向下方的观察方向,因此主要背景将描绘地面或海洋。[0054]以与图1a所示的场景类似的方式,控制无人机110环绕3d对象120,例如设备站点,并获得或捕捉3d对象120的相继的二维2d图像130、140。无人机通常是无人驾驶飞行器(uav)。无人机120通常配备有相机,例如红绿蓝(rgb)分量相机。相机可用于从不同的观察方向wd1、wd2获得3d对象120的2d图像,该观察方向例如被限制为相对于地面面向下方的观察方向。换言之,使用竖直相机视角/相机取向角在范围[竖直角<180度和竖直角>90(0)度]中或在范围[竖直角<180度和竖直角>135度]中捕捉2d图像。可以理解,竖直相机视角是与关于地面来看的,例如相对于地面的法线与相机相交,其中0度表示沿法线从地面向上观察,90度表示朝向地平线观察,而180度表示沿法线从相机朝向地面向下观察。[0055]图2示出了根据本公开的一个或多个实施例的描绘3d对象的关键点。图2示出了多个二维2d图像130、140。在图中仅显示了两个图像,可以理解,本发明构思可以扩展到描绘3d对象的任意数量的图像。可以使用相机获得该多个2d图像130、140。该多个2d图像130,140中的每一个从不同的观察方向wd1、wd2描绘3d对象120以及该3d对象的背景。[0056]从图2可以看出,关键点的第一集合kp_01至kp_04是在该多个2d图像130、140中的第一图像130中识别或生成的。可选地,关键点可以与对应的关键点描述符相关联。可选地,关键点还可以与提议区域(proposalregion)211a、221a、231a、241a(例如,边界框)相关联。[0057]从图2还可以看出,关键点的第二集合kp_11至kp_14是在该多个2d图像130、140中的第二图像140中被识别的。可选地,关键点可以与对应的关键点描述符相关联。可选地,关键点可以与提议区域211b、221b、231b、241b或边界框相关联。[0058]关键点的第二集合kp_11至kp_14可以与关键点的第一集合kp_01至kp_04匹配,以表示3d对象的相同关键点或特征。换言之,通过得出(kp_01,kp11)、(kp_02,kp_12)、(kp_03,kp_13)和(kp_04,kp_14)可以相互匹配或相互对应的结论,关键点可被从第一图像跟踪到第二图像。[0059]如先前在关于术语“关键点描述符”的详细描述的初始段落中提到的,关键点描述符可以是任何合适的关键点描述符,例如surf描述符、sift描述符、hog描述符或brief描述符。[0060]在一个或多个实施例中,关键点描述符基于每个关键点附近的强度或颜色分布。[0061]图3示出了根据本公开的一个或多个实施例的方法。[0062]从图3可以看出,通常通过安装在无人机上的相机获得多个2d图像i_0至i_m。该多个2d图像i_0至i_m中的每一个从不同的观察方向wd1、wd2描绘了3d对象120(例如设备站点诸如电信站点)以及3d对象的背景(例如天空或大海)。换言之,无人机可以环绕对象120并捕捉对象120的该多个2d图像i_0至i_m,其中大部分背景描绘了对象120上方的天空或描绘了下面的海面。[0063]然后,针对所获得的该多个2d图像i_0至i_m中的每一个生成关键点的集合kp_0、kp_1、…kp_m。这在与术语“关键点”有关的详细描述的初始段落中进一步描述。换言之,所获取的该多个2d图像中的第一图像i_0用于生成与对象相关的第一关键点总集合kp_0,所获取的该多个2d图像中的第二图像i_1用于生成与对象相关的第二关键点总集合kp_1,并且所获得的该多个2d图像中的第m图像i_m用于生成与对象相关的第m关键点总集合kp_0。[0064]然后将每个关键点总集合kp_0、kp_1、…kp_m辨别为描绘3d对象120的第一关键点子集kp_0’、kp_1’、…kp_m’和描绘3d对象的背景的第二关键点子集kp_0”、kp_1”,...kp_m”。换言之,第一关键点总集合kp_0被辨别为与图像i_0的描绘对象120的像素相关的关键点的集合kp_0’和与图像i_0的描绘背景的像素相关的集合kp_0”。第二关键点总集合kp_1被辨别为与图像i_1的描绘对象120的像素相关的关键点集合kp_1’和与图像i_1的描绘背景的像素相关的集合kp_1”。第m关键点总集合kp_m被辨别为与图像i_m的描绘对象120的像素相关的关键点集合kp_m’和与图像i_m的描绘背景的像素相关的集合kp_m”。[0065]根据本公开的主要构思,关键点总集合kp_0、kp_1、…kp_m的判别是通过将经训练的模型应用于生成的关键点集合kp_0、kp_1、…kp_m来执行的。[0066]然后,仅使用描绘3d对象(120)的关键点子集kp_0’、kp_1’、...kp_m’来生成3d模型,该关键点子集与图像i_m的描绘对象120的像素相关。[0067]换言之,所提出的解决方案旨在消除或最小化在3d建模的初始配准步骤中由不稳定背景导致的关键点的影响。在一些讨论的场景中,这些关键点属于天空,从而形成蜂窝塔和天线后面的背景。在某些情况下,此类不良/不稳定背景可能具有不同的性质,例如,带有电信设备的机柜底板上的灰尘。[0068]所公开的解决方案至少包括两个重要模块。首先是模型生成模块mg,它利用关键点描述符的统计知识来执行鲁棒的图像配准。其次,关键点优度指示符模块d0至dm,它辨别关键点并为mg模块提供输入。[0069]mg模块[0070]对于这个模块,假设来自关键点优度指示符模块d0至dm的输入是现成的。下一部分将详细介绍如何做到这一点,但现在假设有分配给每个2d图像i_0至i_m中的每个生成的关键点的类标签c。标签指示:关键点是否属于代表设备(例如刚性的电信设备)的像素,或属于不稳定的背景(例如天空)。这实质上将关键点总集合拆分为第一子集k (硬件设备)和第二子集k-(天空或不受欢迎的背景)。[0071]在一个示例中,从一组非结构化2d图像生成3d模型是多阶段过程。该过程的主要模块可以是:[0072]步骤1)structure-from-motion(sfm)-》从2d图像集合估计相机姿态或观察方向[0073]步骤2)multi-viewstereo(mvs)-》重建密集3d几何(计算深度图)[0074]步骤3)surfacereconstruction-》生成全局一致的表面网格[0075]传统sfm模块(步骤1)包括下面列出的1a)-1e)算法步骤。所提出的解决方案嵌入在sfm中,并修改了算法步骤1b)-1d)/还以粗体标记以提供更佳的可见性/。步骤1b)-1d)在迭代过程中执行,使得初始关键点对应关系有助于估计图像之间的几何变换,并且然后该几何变换用于拒绝错误的关键点关联(通过拒绝不与模型拟合(fit)的匹配的(matched)关键点对)。[0076]1a)检测和提取特征(关键点),如sift、surf、mser、akaze[0077]1b)匹配特征(建立图像对之间的关键点对应关系)[0078]1c)基于映射的关键点的集合,建立几何变换以进行图像配准[0079]1d)使用最初估计的变换来拒绝不正确映射的点,即通过部署ransac类型算法来拒绝异常值,参见torr、p.h.s.和a.zisserman的“mlesac:anewrobustestimatorwithapplicationtoestimatingimagegeometry”trans.computervisionandimageunderstanding,第18卷,第1期,2000年。[0080]1e)通过三角测量来估计相机姿态(创建稀疏3d点云)[0081]所提出的3d模型生成模块执行步骤1a),就像在传统sfm算法中一样。在执行步骤1b)之前,使用关键点优度指示符将关键点划分为k 和k-两类。然后从初始匹配步骤中去除集合k-以确保几何模型的准确估计(即,将一个图像映射到另一图像的投影变换的参数)。一旦初始几何变换到位,就可以使用整个关键点集合{k ,k-}来细化模型。ransac在步骤1d)中很容易拒绝不正确的映射。[0082]在这种解决方案的情况下,在某种意义上不丢失信息,就像可去除属于天空的前期图像区域一样。“天空”将仍然存在,但被正确配准到视觉场景。该解决方案还通过过滤掉可在图像之间创建不切实际映射的许多潜在异常值来提高图像配准步骤的收敛性。[0083]由于保留了关键点k-的子集,所以它们可以用来指导mvs模块(上面作为步骤2列出),因为所有这些点的深度都是无穷大的。这可以加快创建视觉场景深度图的过程。[0084]关键点优度指示符[0085]关键点优度指示符模块d0至dm的目的是学习关键点描述符的统计信息(学习可用样本的概率密度函数),然后,给定看不见的关键点集合,为每个关键点分配类标签c,即,标记关键点。[0086]在例如使用gmm的情况下,如果p(x|λsky)>p(x|λequipment),则将带有描述符x的关键点分类为属于天空,其中λ是对应的gmm。[0087]关键点优度指示符模块d0至dm的另一目的是:将标记为描绘3d对象120的关键点辨别为第一关键点子集kp_0’、kp_1’、…kp_m’,并将标记为描绘3d对象120的背景的关键点辨别为第二关键点子集kp_0”、kp_1”、…kp_m”。[0088]分类器可以基于用于聚类的生成模型(gmm)、或判别模型/判别nn架构(也称为条件模型)。判别模型是一类通常用于统计分类的模型,尤其是在监督机器学习中。[0089]模型的学习或训练基于训练数据,包括蜂窝塔和相关电信设备的带注释的记录。其中无人机相机指向上方的录制会话创建图像集合,具有已知的电信设备,并且仅将天空作为背景。通过这种方式,将输入图像分为前景和背景,并且可以自动将图像中的任何点分配给两个类{3dobject,background}中之一。[0090]接下来,分类器对训练数据中关键点的关键点描述符进行训练,以自动识别属于天线的关键点与属于背景(例如天空)的关键点。训练可以直接对特征空间(关键点描述符)进行,或可以通过创建词袋(bow)(将它们投影到描述符的较大空间上)来完成。针对有关bow的更多信息,请参阅proc.ninthieeeinternationalconferenceoncomputervision(iccv),2003中的“videogoogle:atextretrievalapproachtoobjectmatchinginvideos”。[0091]在上述解决方案中,包括带注释的视觉数据在内的训练数据与视觉对象检测器(即在边界框(bb)级别上标记的对象位置)是同一类型。由于在通过手动注释数据来生成训练数据的实施例中,将存在非常小的百分比的错误分配的关键点(例如,图像中描绘天空的部分,其落在天线的bb中),且统计学习/训练将去除这些异常值。请注意,此过程与在运行时使用视觉对象检测器不同,因为生成的bb可能具有低至50%的交并比(intersectionoverunion,iou)(典型水平,高于该水平的对象被视为已识别的)。然而,这会产生大量错误分类的关键点,并会在学习过程中引入偏差。[0092]在生成训练数据的另一种方式中,将预处理模块应用于当前视觉场景。在一个实施例中,预处理模块是基于深度传感器数据的,并且可以如下构建。[0093]可以使用额外的距离或深度感应传感器(例如,与slam类型算法结合使用),或者可以使用深度相机/立体相机,这可以帮助分割出不想要的背景并确定哪些关键点与3d对象相关并且哪些关键点与背景相关。在一个示例中,使用rgb和深度相机且向上看的视频记录,具有(由相机)测量的无限深度的所有关键点都属于天空区域(k-),而其余关键点是天线和其他硬件设备(k )。然后,可以使用此训练数据来训练被训练的模型。[0094]在生成训练数据的另一种替代方式中,视觉对象检测器用于提供训练数据。视觉对象检测器可以在每个像素级别上分割出3d对象或感兴趣的对象。目前最流行的任务算法可以在maskr-cnn中找到,参见proc.ieeeinternationalconferenceoncomputervision(iccv),2017中的k.he、g.gkioxari、p.dollár和r.girshick的“maskr-cnn”。神经网络扩展了传统的边界框级别检测,但为每个感兴趣区域计算分割掩码[0095]尽管如此,这两种替代方式或解决方案可具有可用作针对3d建模逻辑的独立预处理器的优势。这在使用第三方3d建模系统时可以是有益的,该第三方3d建模系统仅接受对不稳定图像区域的指示,但不与图像配准步骤集成。[0096]结合图5描述该方法的进一步细节。[0097]图4示出了根据一个或多个实施例的计算机设备400的细节。计算机设备400可以是台式计算机、服务器、膝上型计算机、移动设备、智能手机、平板计算机、智能手表等中的任何一种的选择形式。计算机设备400可以包括:处理电路412,可选地通信耦合到用于有线和/或无线通信的通信接口404。此外,计算机设备400还可以包括至少一个可选天线(图中未示出)。天线可以耦合到通信接口的收发机,并且被配置为在无线通信系统中发送和/或发射和/或接收无线信号。在一个示例中,处理电路412可以是对处理器和/或中央处理单元和/或处理器模块和/或被配置为相互协作的多个处理器中的任何一个的选择。此外,计算机设备400还可以包括存储器415。存储器415可以包含可由处理电路执行以执行本文描述的任何方法和/或方法步骤的指令。[0098]通信接口404,例如无线收发机和/或有线/无线通信网络适配器,被配置为:将数据值或参数作为信号从处理电路41发送给其他外部节点,或将数据值或参数作为信号从其他外部节点接收到处理电路412,该其他外部节点例如为无人机(图中未示出)。在一个实施例中,通信接口直接在节点之间或经由通信网络进行通信。[0099]在一个或多个实施例中,计算机设备400还可以包括:输入设备417,其被配置为接收来自用户的输入或指示,并将指示用户输入的用户输入信号或指示发送到处理电路412。[0100]在一个或多个实施例中,计算机设备400还可以包括显示器418,该显示器418被配置为:从处理电路412接收指示渲染对象(例如文本或图形用户输入对象)的显示信号,并将接收到的信号显示为对象(例如文本或图形用户输入对象)。[0101]在一个实施例中,显示器418与用户输入设备417集成,并被配置为从处理电路412接收指示渲染对象(例如文本或图形用户输入对象)的显示信号,并将接收到的信号显示为对象(例如文本或图形用户输入对象),和/或被配置为从用户接收输入或指示,并将指示用户输入或指示的用户输入信号发送给处理电路412。[0102]在一个或多个实施例中,计算机设备400还可以包括:一个或多个传感器419,例如图像传感器,例如作为相机,被配置为捕捉视频。[0103]在实施例中,处理电路412通信地耦合到存储器415和/或通信接口404和/或输入设备417和/或显示器418和/或一个或多个传感器419。[0104]在实施例中,通信接口和/或收发机404使用有线和/或无线通信技术进行通信。[0105]在实施例中,一个或多个存储器415可以包括硬ram、磁盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、cd或dvd驱动器(r或rw)或其他可移动的或固定的媒体驱动器。[0106]在进一步的实施例中,计算机设备400还可以包括和/或耦合到:一个或多个附加传感器(未示出),被配置为接收和/或获得和/或测量与计算机设备或计算机设备的环境相关的物理特性,并向处理电路412发送指示物理特性的一个或多个传感器信号。[0107]应当理解,计算机设备包括执行本文公开的任务、特征、功能和方法所需的硬件和/或软件的任何合适组合。此外,虽然计算机设备的组件被描绘为位于较大盒子内或嵌套在多个盒子内的单个盒子,但实际上,计算机设备可以包括构成单个所示组件的多个不同物理组件(例如,存储器415可包括多个单独的硬盘驱动器以及多个ram模块)。[0108]类似地,计算机设备400可以由多个物理上分离的组件组成,每个组件可以具有它们自己的相应组件。[0109]通信接口404还可以包括用于不同无线技术(例如,gsm、wcdma、lte、nr、wifi或蓝牙无线技术)的多组各种所示组件。这些无线技术可以被集成到计算机设备400内的相同或不同芯片或芯片组和其他组件中。[0110]处理电路412被配置为执行本文描述为由计算机设备400提供的任何确定、计算或类似操作(例如,某些获得操作)。由处理电路412执行的这些操作可以包括由处理电路412通过以下处理获得的信息:例如,将获得的信息转换为其他信息,将获得的信息或转换后的信息与存储在网络节点中的信息进行比较,和/或基于获得的信息或转换后的信息执行一个或多个操作,并根据所述处理的结果做出确定。[0111]处理器电路412可以包括下述中的一个或多个的组合:微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、或者任何其它合适的计算设备、资源、或硬件、软件和/或编码逻辑的组合,其可操作为单独地或与其他计算机设备400组件(例如设备可读介质)一起提供计算机400功能。例如,处理电路412可以执行存储在设备可读介质415中或存储在处理电路412内的存储器中的指令。这样的功能可以包括提供本文讨论的各种无线特征、功能或益处中的任何一个。在一些实施例中,处理电路412可以包括片上系统。[0112]在一些实施例中,处理电路412可以包括射频rf收发机电路和基带处理电路中的一个或多个。在一些实施例中,rf收发机电路和基带处理电路可以在单独的芯片或芯片组、板或单元(例如无线电单元和数字单元)上。在备选实施例中,rf收发机电路和基带处理电路的部分或全部可以在同一芯片或芯片组、板或单元组上。[0113]在某些实施例中,本文描述为由计算机设备400提供的一些或所有功能可由处理电路412执行,处理电路412执行存储在设备可读介质415或处理电路412内的存储器上的指令。在备选实施例中,功能中的一些或全部可以例如以硬连线方式由处理电路412提供,而不执行存储在单独的或分立的设备可读介质上的指令。在任何这些实施例中,无论是否执行存储在设备可读存储介质上的指令,处理电路412都可以被配置为执行所描述的功能。由这种功能提供的益处不仅限于处理电路412或不仅限于计算机没备400的其他组件,而是作为整体由计算机设备400和/或通常由终端用户享用。[0114]设备可读介质415可以包括任何形式的易失性或非易失性计算机可读存储器,包括但不限于永久存储设备、固态存储器、远程安装存储器、磁介质、光学介质、随机存取存储器(ram)、只读存储器(rom)、大容量存储介质(例如,硬盘)、可移除存储介质(例如,闪存驱动器、光盘(cd)或数字视频盘(dvd))和/或任何其他易失性存储器或非易失性、非暂时性设备可读和/或计算机可执行存储器设备,其存储可由处理电路412使用的信息、数据和/或指令。设备可读介质415可以存储任何合适的指令、数据或信息,包括计算机程序、软件、包括逻辑、规则、代码、表等中的一个或多个的应用、和/或能够由处理电路412执行并由计算机设备400使用的其他指令。设备可读介质qq180可以用于存储由处理电路412做出的任何计算和/或经由接口404接收的任何数据。在一些实施例中,可以认为处理电路412和设备可读介质415是集成的。[0115]通信接口404用于计算机设备400和其他节点之间的信令和/或数据的有线或无线通信。接口404可以包括用于例如通过有线连接向计算机设备400发送数据和从计算机设备400接收数据的(多个)端口/(多个)终端。接口404还包括:无线电前端电路,其可以耦合到天线,或者在某些实施例中是天线的一部分。无线电前端电路可以包括滤波器和放大器。无线电前端电路可以连接到天线和/或处理电路。[0116]计算机设备400的示例包括但不限于智能电话、移动电话、蜂窝电话、ip语音(voip)电话、无线本地环路电话、平板计算机、台式计算机、个人数字助理(pda)、无线摄像头、游戏机或设备、音乐存储设备、回放设备、可穿戴终端设备、无线端点、移动台、平板计算机、便携式计算机、便携式嵌入式设备(lee)、便携式-安装设备(lme)、智能设备、无线客户端设备(cpe)、车载无线终端设备等。[0117]通信接口404可以包括有线和/或无线网络,诸如局域网(lan)、广域网(wan)、计算机网络、无线网络、电信网络、另一类似网络或其任意组合。通信接口可以被配置为包括接收器和发射器接口,用于根据一个或多个通信协议(例如,以太网、tcp/ip、sonet、atm、光设备、电设备等)通过通信网络与一个或多个其他设备通信。发射器和接收器接口可以共享电路组件、软件,或者备选地可以单独实现。[0118]在一个实施例中,提供了一种计算机设备400,该计算机设备400被配置为执行本文所述的任何方法步骤。[0119]在一个实施例中,提供了一种计算机程序,并且该计算机程序包括:计算机可执行指令,用于当计算机可执行指令在计算机设备中包括的处理单元上执行时使计算机设备执行本文描述的方法步骤中的任何一个。[0120]在一个实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有在其中体现的以上计算机程序。[0121]在一个实施例中,提供了一种载体,该载体包含以上计算机程序。载体可以是电信号、光信号、无线电信号或计算机可读存储介质中的任何一种。[0122]图5示出了根据一个或多个实施例的方法500的流程图。方法500通常由被配置为生成三维(3d)模型的计算机设备400执行。该方法包括:[0123]步骤510:获得多个二维2d图像(i_0至i_m),该多个2d图像(i_0至i_m)各自从不同的观察方向(wd1,wd2)描绘3d对象(120)和3d对象的背景,其中,该多个2d图像是使用相机来获得的。[0124]在一个示例中,通过从无人机接收信号来获得该多个2d图像,该信号包括指示该多个2d图像的数据。在又一示例中,通过从存储器中(例如从计算机设备的存储器415中)取得该多个2d图像来获得该多个2d图像。在另一示例中,通过从第二计算机设备接收第二信号来获得该多个2d图像,该信号包括指示该多个2d图像的数据。例如。从云服务器或中央服务器接收信号。[0125]术语“2d图像”、“3d对象”、“观察方向”、“背景”和“相机”在具体实施方式的初始段落中进一步描述。[0126]步骤520:针对该多个2d图像i_0至i_m中的每一个生成关键点总集合kp_0、kp_1、…kp_m,在与术语“关键点”有关的详细描述的开头段落中进一步描述了关键点的生成。[0127]在一个示例中,可以通过哈里斯角点检测器(harriscornerdetector),或者可以通过由fast(加速段测试的特征,featuresfromacceleratedsegmenttest)检测到的角部来生成关键点。在另一示例中,使用surf(加速鲁棒特征,speededuprobustfeatures)生成关键点,其中关键点生成是基于对hessian矩阵的行列式的近似。在另一示例中,使用sift(尺度不变特征转换,scale-invariantfeaturetransform)生成关键点,其中高斯差分用于检测对尺度和取向不变的点。在另一示例中,使用通过mser(最大稳定极值区域,maximallystableextremalregions)方法计算的斑点(图像区域)的中心来生成关键点。[0128]步骤530:将每个关键点总集合kp_0、kp_1、…kp_m辨别530为描绘3d对象120的第一关键点子集kp_0’、kp_1’、…kp_m’和描绘3d对象的背景的第二关键点子集(kp_0”、kp_1”、…kp_m”,可以通过将经训练的模型应用于所生成的关键点集合kp_0、kp_1、…kp_m来执行对关键点的辨别。在具体实施方式的开头段落中进一步描述了特征“经训练的模型”、“3d对象”和“背景”。[0129]在本公开的一个实施例中,经训练的模型包括分类器,该分类器被配置为:将关键点标记为描绘3d对象120或标记为描绘3d对象(120)的背景。然后,通过以下操作来执行辨别步骤530:将标记为描绘3d对象120的关键点辨别为第一关键点子集kp_0’、kp_1’、…kp_m’,并将标记为描绘3d对象120的背景的关键点辨别为第二关键点子集kp_0”、kp_1”、…kp_m”。[0130]附加地或替代地,使用包括关键点描述符的训练数据来训练分类器。在具体实施方式的开头段落中进一步描述了特征“关键点描述符”。[0131]在参考图3的一个示例中,第一关键点总集合kp_0被辨别为:由分类器标记为描绘对象120的关键点集合kp_0’、和由分类器标记为描绘背景的集合kp_0”。第二关键点总集合kp_1被辨别为由分类器标记为描绘对象120的关键点集合kp_1’、和由分类器标记为描绘背景的集合kp_1”。第m关键点总集合kp_m被辨别为由分类器标记为描绘对象120的关键点集合kp_m’、和由分类器标记为描绘背景的集合kp_m”。[0132]步骤540:仅使用描绘3d对象120的关键点子集kp_0’、kp_1’、...kp_m’来生成3d模型。[0133]在参考图3的一个示例中,然后仅将由分类器标记为描绘对象120的关键点集合kp_0’、kp_1’、...kp_m’用作用于生成表示3d对象的3d模型的输入。[0134]在一个实施例中,所生成的3d模型用于识别3d对象120或子对象1201、1202、1203,例如以确定该电信站点的身份或型号,或确定安装在该电信站点的单个设备或单个设备的部件的身份或型号。在该实施例中,该方法还包括:[0135]通过以下操作来识别3d对象120或3d对象的子对象1201、1202、1203:将3d模型与对3d对象和/或3d对象的子对象进行定义的预定对象数据进行比较,并确定与预定对象数据相匹配的对象120或子对象1201、1202、1203的身份。预定对象数据例如可以包括设备站点或设备的身份、型号或物理量度。[0136]在一个实施例中,所生成的3d模型用于将建模的设备站点呈现给用户,例如,呈现在屏幕上或在虚拟现实护目镜中。在该实施例中,该方法还包括:在显示器上渲染3d对象120或3d对象的子对象。[0137]附加地或替代地,该方法还包括:接收用户输入,并使用3d模型执行关于3d的测量。[0138]在一个示例中,这可以包括:接收指示3d模型中的两个点的用户输入,并计算这两个点之间的距离,例如计算电信站点处的两个天线之间的距离。[0139]在一个实施例中,所描绘的3d对象120包括电信站点。附加地或替代地,电信站点120包括子对象1201、1202、1203,例如安装在电信塔上的所安装的天线、连接器、馈送器或远程无线电单元。[0140]在一个实施例中,通过使用无人机获得该多个2d图像。[0141]在一个实施例中,携带相机的无人机环绕电信塔,并从设备下方捕捉设备(例如天线)的图像,从而产生背景主要描绘天空的图像。在该实施例中,不同的观察方向wd1、wd2被限制为相对于地面面向上方的观察方向,并且所描绘的背景包括天空。[0142]在一个实施例中,携带相机的无人机环绕位于水中或水附近的电信塔,并从设备上方捕捉设备(例如天线)的图像,从而产生背景主要描绘水或大海的图像。在该实施例中,不同的观察方向wd1、wd2被限制为相对于地面面向下方的观察方向,并且所描绘的背景包括水或大海。[0143]参考图4,一些实施例包括计算机设备400。[0144]计算机设备400被配置为生成三维(3d)模型。计算机设备包括处理电路412、存储器415,该存储器415包括可由处理电路412执行的指令从而使处理电路412获得多个二维(2d)图像i_0至i_m,该多个2d图像i_0至i_m各自从不同的观察方向wd1、wd2描绘3d对象120和3d对象的背景,其中,该多个2d图像是使用相机获得的;针对该多个2d图像i_0至i_m中的每一个生成关键点集合kp_0、kp_1、…kp_m,将每个关键点集合kp_0、kp_1、…kp_m辨别为描绘3d对象120的第一关键点子集kp_0’、kp_1’、…kp_m’和描绘3d对象的背景的第二关键点子集kp_0”、kp_1”、...kp_m”,仅使用描绘3d对象120的关键点子集kp_0’、kp_1’、...kp_m’来生成3d模型,其中,通过将经训练的模型应用于所生成的关键点集合kp_0、kp_1、…kp_m来辨别每个关键点集合kp_0、kp_1、…kp_m。[0145]替代地或附加地,经训练的模型是分类器,该分类器被配置为:将关键点标记为描绘3d对象120或描绘所述3d对象120的背景,并且将标记为描绘3d对象120的关键点辨别为第一关键点子集kp_0’、kp_1’、...kp_m’,并将标记为描绘所述3d对象(120)的背景的关键点辨别为第二关键点子集kp_0”、kp_1”、…kp_m”。[0146]替代地或附加地,使用包括关键点描述符的训练数据来训练分类器。[0147]替代地或附加地,指令进一步使处理电路:通过将3d模型与对3d对象和/或3d的子对象进行定义的预定对象数据进行比较来识别3d对象120或3d对象的子对象1201、1202、1203对象,并确定与预定对象数据相匹配的对象120或子对象1201、1202、1203的身份。[0148]替代地或附加地,指令进一步使处理电路:通过将3d模型与对3d对象和/或3d对象的子对象进行定义的预定对象数据进行比较来识别3d对象120或3d对象的子对象。[0149]替代地或附加地,指令进一步使处理电路:在显示器上渲染3d对象120或3d对象的子对象。[0150]替代地或附加地,所描绘的3d对象120包括电信站点。[0151]替代地或附加地,通过使用无人机获得该多个2d图像。[0152]在一个实施例中,提供了一种计算机程序,并且该计算机程序包括:计算机可执行指令,用于当计算机可执行指令在计算机设备400中包括的处理单元上执行时使计算机设备400执行本文描述的方法步骤中的任何一个。[0153]在一个实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有在其中体现的以上计算机程序。[0154]在一个实施例中,一种包含以上计算机程序的载体,其中,该载体是电信号、光信号、无线电信号或计算机可读存储介质中的一种。[0155]最后,应该理解,本发明不限于上述实施例,而是涉及并包含所附独立权利要求范围内的所有实施例。当前第1页12当前第1页12
再多了解一些

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

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

相关文献