CN111862205B - 一种视觉定位方法、装置、设备及存储介质 - Google Patents
一种视觉定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111862205B CN111862205B CN201911310246.8A CN201911310246A CN111862205B CN 111862205 B CN111862205 B CN 111862205B CN 201911310246 A CN201911310246 A CN 201911310246A CN 111862205 B CN111862205 B CN 111862205B
- Authority
- CN
- China
- Prior art keywords
- preset
- feature point
- point pairs
- visual
- semantic
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 177
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000000605 extraction Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004807 localization Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 2
- 102000006822 Agouti Signaling Protein Human genes 0.000 description 1
- 108010072151 Agouti Signaling Protein Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- 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
-
- 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/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种视觉定位方法、装置、设备及存储介质,涉及视觉定位领域,该方法包括:提取视觉定位图像中的多个视觉特征点;根据预设语义三维点云地图,分别将各视觉定位图像中的视觉特征点与预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,预设语义三维点云地图根据训练样本集训练获取,训练样本集包括:多个二维图像、且二维图像的预设区域包含语义标注;根据预设视觉定位算法和特征点对,进行位姿计算,获取视觉定位图像的定位信息。解决在对一些室内场景进行视觉定位时,定位精度不高或是不易定位的问题,达到提高定位精度的效果。
Description
技术领域
本申请涉及视觉定位技术领域,具体而言,涉及一种视觉定位方法、装置、设备及存储介质。
背景技术
视觉定位方法在人们的日常生活中使用范围非常广,移动终端视觉定位技术主要是计算用户当前使用的移动终端的位姿,位姿计算技术指根据移动终端中的帧图像采集设备拍摄的场景帧图像,实时计算移动终端的6个方向自由度(Six degrees of freedomtracking,6DoF)位姿,可称之为位姿。
现有技术中,视觉定位技术是将当前获取的帧图像特征与预先配合的点云数据进行匹配,得到摄像机的6DoF位姿。视觉SLAM技术通过比较连续拍摄的帧图像间的视觉特征相似关系,得到摄像机的6DoF位姿。
但是现有的计算方式一般是随机选取帧图像中的各特征点进行位姿的计算,这些特征点辨识性不高,从而在对一些室内场景进行视觉定位时,采用这些不含有标识的特征点进行位姿的计算,会由于大量弱纹理或重复纹理区域的存在而导致定位精度降低或定位失败。
发明内容
有鉴于此,本申请的目的在于提供一种视觉定位方法、装置、设备及存储介质,能够解决现有技术中在对一些室内场景进行视觉定位时,定位精度不高或是不易定位的问题,达到提高定位精度的效果。
在本申请的第一方面,本申请提供一种视觉定位方法,包括:
提取视觉定位图像中的多个视觉特征点;
根据预设语义三维点云地图,分别将各所述视觉定位图像中的所述视觉特征点与所述预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,所述预设语义三维点云地图根据训练样本集训练获取,所述训练样本集包括:多个二维图像、且所述二维图像的预设区域包含语义标注;
根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息。
可选地,所述根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息,包括:
根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,所述解算集包括:未标注语义的特征点对;
采用随机抽样一致算法迭代计算所述解算集,获取每次迭代对应的位姿和内点数,其中,内点表示所述视觉特征点与所述三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的所述视觉特征点;
根据所述位姿和内点数,获取所述视觉定位图像的定位信息。
可选地,所述解算集还包括:含有语义标注点的标注特征点;
所述根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,包括:
判断多个所述特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值;
若大于或等于第一预设值,则获取所述第一预设值个数的所述标注特征点对加入所述解算集中,并获取第二预设值个数的未标注语义的特征点对加入所述解算集中;或者,
若小于所述第一预设值,则将多个所述特征点对中的所有含有语义标注的标注特征点对加入所述解算集,并获取计算值个数个所述未标注语义的特征点对加入所述解算集,其中,所述计算值为所述预设个数与所有含有语义标注的标注特征点对数量的差值。
可选地,所述方法还包括:
根据预设关注率和所述预设个数,计算第一预设值和第二预设值。
可选地,所述根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,包括:
判断多个所述特征点对的数量是否大于或等于所述预设个数;
若大于或等于所述预设个数,则从多个所述特征点对中获取所述解算集;
若小于所述预设个数,则确定定位失败。
可选地,所述根据所述位姿和内点数,获取所述视觉定位图像的定位信息,包括:
判断当前迭代次数是否等于预设最大迭代次数;
若所述当前迭代次数等于所述预设最大迭代次数,则选择多次迭代中,最多内点数对应的位姿为所述视觉定位图像的定位信息。
在本申请的第二方面,本申请还提供了一种视觉定位装置,该装置包括:提取模块、匹配模块和计算模块,其中:
所述提取模块,用于提取视觉定位图像中的多个视觉特征点;
所述匹配模块,用于根据预设语义三维点云地图,分别将各所述视觉定位图像中的所述视觉特征点与所述预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,所述预设语义三维点云地图根据训练样本集训练获取,所述训练样本集包括:多个二维图像、且所述二维图像的预设区域包含语义标注;
所述计算模块,用于根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息。
可选地,计算模块,还用于根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,所述解算集包括:未标注语义的特征点对;
采用随机抽样一致算法迭代计算所述解算集,获取每次迭代对应的位姿和内点数,其中,内点表示所述视觉特征点与所述三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的所述视觉特征点;
根据所述位姿和内点数,获取所述视觉定位图像的定位信息。
可选地,所述解算集还包括:含有语义标注的标注特征点对;
所述计算模块,还用于判断多个所述特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值;
若大于或等于第一预设值,则获取所述第一预设值个数的所述标注特征点对加入所述解算集中,并获取第二预设值个数的未标注语义的特征点对加入所述解算集中;或者,
若小于所述第一预设值,则将多个所述特征点对中的所有含有语义标注的标注特征点对加入所述解算集,并获取计算值个数个所述未标注语义的特征点对加入所述解算集,其中,所述计算值为所述预设个数与所有含有语义标注的标注特征点对数量的差值。
可选地,所述计算模块,还用于根据预设关注率和预设个数,计算第一预设值和第二预设值。
可选地,所述计算模块,还用于判断多个所述特征点对的数量是否大于或等于所述预设个数;
若大于或等于所述预设个数,则从多个所述特征点对中获取所述解算集;
若小于所述预设个数,则确定定位失败。
可选地,所述计算模块,还用于判断当前迭代次数是否等于预设最大迭代次数;
若所述当前迭代次数等于所述预设最大迭代次数,则选择多次迭代中,最多内点数对应的位姿为所述视觉定位图像的定位信息。
在本申请的第三方面,提供一种视觉定位设备,处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述视觉定位设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面任一所述方法的步骤。
在本申请的第四方面,本申请还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。
基于上述任一方面,可以通过匹配视觉定位图像中的视觉特征点和预设语义三维点云地图中对应的特征点,随后根据预设视觉定位算法和多个特征点对,进行位姿计算,由于特征点对的匹配过程中,采用的是预设语义三维点云地图,该预设语义三维点云地图由包含语义标注的二维图形训练获取,可以有效地将预设语义三维点云地图中的语义信息融合到视觉定位图像的位姿求解中,所以采用本申请提供的方法可以解决现有技术中在对一些室内场景进行视觉定位时,定位精度不高或是不易定位的问题,达到提高定位精度的效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请一实施例提供的一种视觉定位***的架构示意图;
图2示出了本申请一实施例提供的一种视觉定位方法的流程示意图;
图3示出了本申请另一实施例提供的一种视觉定位的流程示意图;
图4示出了本申请另一实施例提供的一种视觉定位的流程示意图;
图5示出了本申请另一实施例提供的一种视觉定位的流程示意图;
图6示出了本申请另一实施例提供的一种视觉定位的流程示意图;
图7示出了本申请一实施例提供的一种视觉定位装置的结构示意图;
图8示出了本申请另一实施例提供的一种视觉定位设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景:室内的视觉定位,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕室内的视觉定位进行描述,但是应该理解,这仅是一个示例性实施例,本申请可以应用于各种需要进行视觉定位的场景中。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请的一个方面涉及一种视觉定位***。该***可以根据用户输入的视觉定位图像和预设语义三维(3D)点云地图,分别将各视觉定位图像中的视觉特征点与预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,并根据多个特征点对和预设视觉定位算法进行位姿计算,获取更为精确的视觉定位图像的定位信息。
值得注意的是,在本申请提出申请之前,现有技术通常直接将视觉定位地图中的视觉定位特征点与三维点云地图中对应的特征点进行匹配,得到多个特征点对,并根据多个特征点对和预设视觉定位算法进行位姿计算,但是由于现有技术中的三维点云地图中并不包含任何标识,所以面对场景中存在的大量类似的标识,例如:像商场、机场等室内场景,存在各种门店、广告等的标识牌,其种类复杂、形状与尺寸不一等问题,在这种场景下进行特征点的匹配会常因大量弱纹理或重复纹理区域的存在而导致定位精度降低或定位失败。
本申请提供的视觉定位方法中采用的预设语义三维点云地图由包含语义标注的二维图像训练获取,视觉定位图像与预设语义三维点云地图中对应的特征点进行匹配后,得到多个特征点,进而再根据预设视觉定位算法和多个特征点对进行位姿计算,获取视觉定位图像的定位信息,可以提高定位精度的效果。
图1是本申请实施例提供的一种视觉定位***100的架构示意图。例如,视觉定位***100可以是用于诸如商场、机场、火车站、商业街等之类的场景下的视觉定位。视觉定位***100可以包括服务器110、网络120、服务终端130、和数据库140中的一种或多种。
在一些实施例中,服务器110可以包括处理器。处理器可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,处理器可以基于从服务终端130获得的服务请求来确定用户意图。在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、专用指令集处理器(Application Specific Instruction-setProcessor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(ReducedInstruction Set Computing,RISC)、或微处理器等,或其任意组合。
在一些实施例中,服务终端130对应的设备类型可以是移动设备,比如可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、或增强现实设备等,也可以是平板计算机、膝上型计算机、或机动车辆中的内置智能设备等。以商场内的视觉定位场景为例,服务终端130可以是用户的手机,用户通过手机拍摄商场内的任意一处图像,服务器获取用户拍摄的视觉定位图像后,提取视觉定位图像中的多个视觉特征点,并将每个视觉特征点与预设语义三维点云地图中的特征点进行匹配,得到多个特征点对,随后根据预设视觉定位算法和特征点对,进行位姿计算,获取所述视觉定位图像的定位信息。
在一些实施例中,数据库140可以连接到网络120以与视觉定位***100中的一个或多个组件(例如,服务器110,服务终端130,服务提供端等)通信。视觉定位***100中的一个或多个组件可以经由网络120访问存储在数据库140中的数据或指令。在一些实施例中,数据库140可以直接连接到视觉定位***100中的一个或多个组件,或者,数据库140也可以是服务器110的一部分。
下面结合上述图1示出的视觉定位***100中描述的内容,对本申请实施例提供的视觉定位方法进行详细说明,下述视觉定位方法应用于上述***之中,执行主体可以为服务终端或者服务器,预设场景可以根据用户需要设计和调整,任何涉及视觉定位的场景均可使用,并不以实施例给出的场景为限。
参照图2所示,为本申请一实施例提供的一种视觉定位方法的流程示意图,该方法可以由视觉定位***中的服务器或服务终端来执行,如图2所示,该方法包括:
S101:提取视觉定位图像中的多个视觉特征点。
其中,视觉定位图像可以为用户通过移动设备上传的待定位图像,可选地,用户可以通过移动设备直接拍摄图像作为视觉定位图像上传,也可以拍摄好后从相册中选取图像作为视觉定位图像上传;移动设备可以为手机、平板、智能手表等任何具有拍摄功能或图片存储功能的移动设备,具体视觉定位图像的上传方式和移动设备的选择根据用户需要设计,本申请在此不做任何限制。
可选地,视觉特征点的提取可以利用视觉特征提取方法,对输入的视觉定位图像进行视觉特征点提取,其中,视觉特征提取方法包括但不限于:尺度不变特征变换(Scale-invariant feature transform,SIFT)、基于图形处理器的尺度不变特征变换(GraphicsProcessing Unit,Scale-invariant feature transform,siftGPU)、快速特征点提取和描述的算法(oriented fast and rotated brief,ORB)等特征提取方法,本申请在此不做任何限制,具体提取方法根据用户需要设置,并不以上述实施例为限。
S102:根据预设语义三维点云地图,分别将各视觉定位图像中的视觉特征点与预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对。
其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,预设语义三维点云地图根据训练样本集训练获取,训练样本集包括:多个二维图像、且二维图像的预设区域包含语义标注。
其中,语义标注可以为当前特征点对所在区域的位置信息,或当前特征点对所在区域的区域相关信息。
其中,将视觉定位图像中提取的视觉特征点与预设语义三维点云地图进行2D-3D匹配,即匹配视觉定位图像中的2D像素点与预设语义三维点云地图中的3D点,每一个视觉定位图像中的2D像素点与预设语义三维点云地图中对应的3D点即构成一个特征点对。
可选地,采用的匹配方法包括但不限于词袋树匹配、暴力匹配等方法,具体匹配方法根据用户需要设计,本申请在此不做任何限制。
其中,预设语义三维点云地图的训练过程如下:
首先需要对图像库中的二维图像进行人工标注,人工标注包括两步:逐一框选二维图像中的预设区域和对预设区域的标注;其中,框选二维图像中的预设区域可以为通过框选确定的:如通过矩形框定、多边形框定等,也可以为通过人工画出框选区域确定的,本申请在此不做任何限制;在框选了预设区域后,需要人工对该预设区域进行标注,标注的内容包括但不限于该标识对应的具***置坐标、该标识表示的信息等。
随后将标注好的图像库输入至三维点云地图中,借助2D-3D匹配关系实现预设区域的视觉特征点在3D点云地图中对应3D点的自动标注。
最后根据标注好的三维点云地图生成本申请中使用的预设语义三维点云地图。
由于该预设语义三维点云地图中包含大量标注过的特征点,所以在使用过程中可以有效提升定位的精度和成功率。
可选地,在本申请的一个实施例中,二维图像的预设区域可以为标识牌区域、地标区域等,例如:商场中每个门店前都有标识牌,预设区域即为包含有标识牌的区域;语义标注可以为当前标识牌的位置信息,像所在楼层。例如在某一标识牌上标注有:3012,即标识当前标识牌所在门店位于3层的12号;也可以为当前标识表示的店面信息;由于预设区域为标识区域,所以在预设区域内所有视觉特征点也均含有对应的标识。
S103:根据预设视觉定位算法和特征点对,进行位姿计算,获取视觉定位图像的定位信息。
可选地,在本申请的一个实施例中,通过改进的RANSAC算法进行位姿计算。
可选地,在对位姿进行计算后,需要对当前的计算结果进行保存,并根据保存的结果进一步确定最终的定位信息。
采用本申请实施例提供的视觉定位方法,可以通过匹配视觉定位图像中的视觉特征点和预设语义三维点云地图中对应的特征点,随后根据预设视觉定位算法和多个特征点对,进行位姿计算,由于特征点对的匹配过程中,采用的是预设语义三维点云地图,该预设语义三维点云地图由包含语义标注的二维图形训练获取,可以有效地将预设语义三维点云地图中的语义信息融合到视觉定位图像的位姿求解中,所以采用本申请提供的方法可以解决现有技术中在对一些室内场景进行视觉定位时,定位精度不高或是不易定位的问题,达到提高定位精度的效果。
图3为本申请另一实施例提供的视觉定位方法的流程示意图,如图3所示,步骤S103,包括:
S104:根据多个特征点对,获取预设个数的特征点对构成的解算集。
其中,解算集包括:未标注语义的特征点对。
可选地,解算集中还可以包括:含有语义标注的特征点对;即解算集中可以包括未标注语义的特征点对和含有语义标注的特征点对,也可以仅包括未标注语义的特征点对,也可以仅包括含有语义标注的特征点对,对于解算集中特征点对的情况,本申请在此不做任何限制。
可选地,在本申请的一个实施例中,预设个数可以为12-20之间的任意整数,具体根据用户需要设计,本申请在此不做任何限制。
S105:采用随机抽样一致算法迭代计算解算集,获取每次迭代对应的位姿和内点数。
其中,内点表示视觉特征点与三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的视觉特征点。
其中,所有特征点对集合减去解算集得到的即为位姿计算集合,分别对解算出的位姿计算集合中的所有特征点对的重投影误差进行计算,当存在特征点对的误差小于预设重投影误差时,则该位姿对应的内点数加一,并且每次迭代后得到的位姿和内点数等信息都进行保存。
可选地,在本申请的一个实施例中,预设重投影误差为8~20像素之间的任一整数值,具体根据用户需要设计,本申请在此不做任何限制。
S106:根据位姿和内点数,获取视觉定位图像的定位信息。
图4为本申请另一实施例提供的视觉定位方法的流程示意图,如图4所示,步骤S104,包括:
S107:判断多个特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值。
若大于或等于第一预设值,则执行S108a:获取第一预设值个数的标注特征点对加入解算集中,并获取第二预设值个数的未标注语义的特征点对加入解算集中。
其中,在解算集中包括第一预设值个数的标注特征点对的情况下,由于标注特征点对的标识度高,所以基于该解算集进行的位姿计算得到的结果精度较高,可以很好地实现准确定位。
或者,若小于第一预设值,则执行S108b:将多个特征点对中的所有含有语义标注的标注特征点对加入解算集,并获取计算值个数个未标注语义的特征点对加入解算集。
其中,计算值为预设个数与所有含有语义标注的标注特征点对数量的差值。
其中,第一预设值和第二预设值是根据预设关注率和预设个数计算得到的。
其中,预设关注率即为:需要选择的语义标注的标注特征点对在预设个数的特征点对中所占的比率;假设预设个数为N,预设关注率为ratio,则第一预设值根据N*ratio计算得到,第二预设值根据N*(1-ratio)计算得到。
可选地,在本申请的一个实施例中,预设关注率为0.5~0.8之间的任意值,具体预设关注率的设置根据用户需要设计,本申请在此不做任何限制。
举例说明:若预设个数为20,预设关注率为0.8,此时计算得到的第一预设值即为16,第二预设值即为4,即表示若语义标注的标注特征点对中包含的特征点对数量大于或等于16,则从语义标注的标注特征点对中任意取出16个特征点对加入解算集中,从未标注语义的特征点对中任意取出4个特征点对加入解算集中;若语义标注的标注特征点对中包含的特征点对数量为12,小于16,则将语义标注的标注特征点对中的所有特征点对均加入解算集中,此时计算值即为8(20-12=8),再从未标注语义的特征点对中任意8个取出特征点对加入解算集中。
图5为本申请另一实施例提供的视觉定位方法的流程示意图,如图5所示,S104包括:
S109:判断多个特征点对的数量是否大于或等于预设个数。
若大于或等于预设个数,则从多个特征点对中获取解算集,即执行S107。
若小于预设个数,则执行S110:确定定位失败。
其中,当特征点对的数量小于预设个数时,代表解算匹配对数量不足,视觉定位失败;否则,解算集的匹配对数量等于预设个数,进入后续步骤。
图6为本申请另一实施例提供的视觉定位方法的流程示意图,如图6所示,S106包括:
S111:判断当前迭代次数是否等于预设最大迭代次数。
若当前迭代次数等于预设最大迭代次数,则执行S112:选择多次迭代中,最多内点数对应的位姿为视觉定位图像的定位信息。
其中,若当前迭代次数等于预设最大迭代次数,则停止迭代,同时根据迭代过程中,每一次保存的结果,选择迭代多城中内点数最多的解算位姿作为视觉定位图像的最终定位结果。
若当前迭代次数小于最大迭代次数,则返回S107,继续获取新的解算集并进行位姿解算和对应的内点统计。
可选地,在本申请的一个实施例中,最大迭代次数取30-200中的任意整数即可,具体根据用户需要设计,本申请在此不做任何限制。
基于同一发明构思,本申请实施例中还提供了与视觉定位方法对应的视觉定位装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述视觉定位方法相似,因此装置的实施可以参见方法的实施,有益效果的重复之处不再赘述。
参照图7所示,为本申请一实施例提供的一种视觉定位装置的结构示意图,如图7所示,该装置包括:提取模块201、匹配模块202和计算模块203,其中:
提取模块201,用于提取视觉定位图像中的多个视觉特征点;
匹配模块202,用于根据预设语义三维点云地图,分别将各所述视觉定位图像中的所述视觉特征点与所述预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,所述预设语义三维点云地图根据训练样本集训练获取,所述训练样本集包括:多个二维图像、且所述二维图像的预设区域包含语义标注;
计算模块203,用于根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息。
可选地,计算模块203,还用于根据多个特征点对获取预设个数的特征点对构成的解算集,解算集包括:未标注语义的特征点对。
采用随机抽样一致算法迭代计算解算集,获取每次迭代对应的位姿和内点数,其中,内点表示视觉特征点与三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的视觉特征点。
根据位姿和内点数,获取视觉定位图像的定位信息。
可选地,解算集还可以包括:含有语义标注点的标注特征点。
计算模块203,还用于判断多个特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值。
若大于或等于第一预设值,则获取第一预设值个数的标注特征点对加入解算集中,并获取第二预设值个数的未标注语义的特征点对加入解算集中;或者,
若小于第一预设值,则将多个特征点对中的所有含有语义标注的标注特征点对加入解算集,并获取计算值个数个未标注语义的特征点对加入解算集,其中,计算值为预设个数与所有含有语义标注的标注特征点对数量的差值。
可选地,计算模块203,还用于根据预设关注率和预设个数,计算第一预设值和第二预设值。
可选地,计算模块203,还用于判断多个特征点对的数量是否大于或等于预设个数;
若大于或等于预设个数,则从多个所述点对中获取解算集。
若小于预设个数,则确定定位失败。
可选地,计算模块203,还用于判断当前迭代次数是否等于预设最大迭代次数。
若当前迭代次数等于预设最大迭代次数,则选择多次迭代中,最多内点数对应的位姿为视觉定位图像的定位信息。
如图8所示,本申请实施例还提供一种视觉定位设备,包括:处理器601、存储器602和总线603;存储器602存储有处理器601可执行的机器可读指令,当视觉定位设备运行时,处理器601与存储器602之间通过总线603通信,处理器601执行机器可读指令,以执行时执行如前述方法实施例所提供的请求处理方法的步骤。
具体地,存储器602中所存储的机器可读指令为本申请前述实施例所述的请求处理方法的执行步骤,处理器601可执行该请求处理方法对请求进行处理,因此,该电子设备同样具备前述方法实施例中所述的全部有益效果,本申请亦不再重复描述。
需要说明的是,该电子设备可以是通用计算机或特殊用途的计算机,以及其他用于处理数据的服务器等,三者都可以用于实现本申请的请求处理方法。本申请尽管仅仅通过计算机和服务器分别对请求处理方法进行了说明,但是为了方便起见,也可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
例如,电子设备可以包括用于执行程序指令的一个或多个处理器、通信总线、和不同形式的存储介质,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。
为了便于说明,在电子设备中仅描述了一个处理器。然而,应当注意,本申请中的电子设备还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述视觉定位方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述视觉定位方法,从而,解决现有技术中存在的由于语言表达组合形式多种多样,大量信息会导致句库规模过大,占用过多的资源的问题,进而达到减小资源占用的效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种视觉定位方法,其特征在于,所述方法包括:
提取视觉定位图像中的多个视觉特征点;
根据预设语义三维点云地图,分别将各所述视觉定位图像中的所述视觉特征点与所述预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,所述预设语义三维点云地图根据训练样本集训练获取,所述训练样本集包括:多个二维图像、且所述二维图像的预设区域包含语义标注;
根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息,
其中所述根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息,包括:
根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,所述解算集包括:未标注语义的特征点对;
采用随机抽样一致算法迭代计算所述解算集,获取每次迭代对应的位姿和内点数,其中,内点表示所述视觉特征点与所述三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的所述视觉特征点;
根据所述位姿和内点数,获取所述视觉定位图像的定位信息。
2.如权利要求1所述的方法,其特征在于,所述解算集还包括:含有语义标注点的标注特征点;
所述根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,包括:
判断多个所述特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值;
若大于或等于第一预设值,则获取所述第一预设值个数的所述标注特征点对加入所述解算集中,并获取第二预设值个数的未标注语义的特征点对加入所述解算集中;或者,
若小于所述第一预设值,则将多个所述特征点对中的所有含有语义标注的标注特征点对加入所述解算集,并获取计算值个数个所述未标注语义的特征点对加入所述解算集,其中,所述计算值为所述预设个数与所有含有语义标注的标注特征点对数量的差值。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据预设关注率和所述预设个数,计算第一预设值和第二预设值。
4.如权利要求2所述的方法,其特征在于,所述根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,包括:
判断多个所述特征点对的数量是否大于或等于所述预设个数;
若大于或等于所述预设个数,则从多个所述特征点对中获取所述解算集;
若小于所述预设个数,则确定定位失败。
5.如权利要求4所述的方法,其特征在于,所述根据所述位姿和内点数,获取所述视觉定位图像的定位信息,包括:
判断当前迭代次数是否等于预设最大迭代次数;
若所述当前迭代次数等于所述预设最大迭代次数,则选择多次迭代中,最多内点数对应的位姿为所述视觉定位图像的定位信息。
6.一种视觉定位装置,其特征在于,所述装置包括:提取模块、匹配模块和计算模块,其中:
所述提取模块,用于提取视觉定位图像中的多个视觉特征点;
所述匹配模块,用于根据预设语义三维点云地图,分别将各所述视觉定位图像中的所述视觉特征点与所述预设语义三维点云地图中对应的特征点进行匹配,得到多个特征点对,其中,多个特征点对中包括:含有语义标注的标注特征点对和未标注语义的特征点对,所述预设语义三维点云地图根据训练样本集训练获取,所述训练样本集包括:多个二维图像、且所述二维图像的预设区域包含语义标注;
所述计算模块,用于根据预设视觉定位算法和所述特征点对,进行位姿计算,获取所述视觉定位图像的定位信息,
所述计算模块,还用于根据多个所述特征点对获取预设个数的所述特征点对构成的解算集,所述解算集包括:未标注语义的特征点对;
采用随机抽样一致算法迭代计算所述解算集,获取每次迭代对应的位姿和内点数,其中,内点表示所述视觉特征点与所述三维点云地图中对应的特征点之间的重投影值在预设重投影误差内的所述视觉特征点;
根据所述位姿和内点数,获取所述视觉定位图像的定位信息。
7.如权利要求6所述的装置,其特征在于,所述解算集还包括:含有语义标注的标注特征点对;
所述计算模块,还用于判断多个所述特征点对中的含有语义标注的标注特征点对数量是否大于或等于第一预设值;
若大于或等于第一预设值,则获取所述第一预设值个数的所述标注特征点对加入所述解算集中,并获取第二预设值个数的未标注语义的特征点对加入所述解算集中;或者,
若小于所述第一预设值,则将多个所述特征点对中的所有含有语义标注的标注特征点对加入所述解算集,并获取计算值个数个所述未标注语义的特征点对加入所述解算集,其中,所述计算值为预设个数与所有含有语义标注的标注特征点对数量的差值。
8.如权利要求6所述的装置,其特征在于,所述计算模块,还用于根据预设关注率和预设个数,计算第一预设值和第二预设值。
9.如权利要求6所述的装置,其特征在于,所述计算模块,还用于判断多个所述特征点对的数量是否大于或等于预设个数;
若大于或等于所述预设个数,则从多个所述特征点对中获取所述解算集;
若小于所述预设个数,则确定定位失败。
10.如权利要求6所述的装置,其特征在于,所述计算模块,还用于判断当前迭代次数是否等于预设最大迭代次数;
若所述当前迭代次数等于所述预设最大迭代次数,则选择多次迭代中,最多内点数对应的位姿为所述视觉定位图像的定位信息。
11.一种视觉定位设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述视觉定位设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至5任一所述方法的步骤。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310246.8A CN111862205B (zh) | 2019-12-18 | 2019-12-18 | 一种视觉定位方法、装置、设备及存储介质 |
PCT/CN2020/137132 WO2021121306A1 (zh) | 2019-12-18 | 2020-12-17 | 视觉定位方法和*** |
US17/807,719 US20220319046A1 (en) | 2019-12-18 | 2022-06-18 | Systems and methods for visual positioning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310246.8A CN111862205B (zh) | 2019-12-18 | 2019-12-18 | 一种视觉定位方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111862205A CN111862205A (zh) | 2020-10-30 |
CN111862205B true CN111862205B (zh) | 2024-06-21 |
Family
ID=72970760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310246.8A Active CN111862205B (zh) | 2019-12-18 | 2019-12-18 | 一种视觉定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111862205B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121306A1 (zh) * | 2019-12-18 | 2021-06-24 | 北京嘀嘀无限科技发展有限公司 | 视觉定位方法和*** |
CN112381877B (zh) * | 2020-11-09 | 2023-09-01 | 北京百度网讯科技有限公司 | 定位融合、室内定位方法、装置、设备及介质 |
CN113515886B (zh) * | 2021-04-28 | 2023-11-24 | 上海科技大学 | 基于地标特征卷积的视觉定位方法、***、终端及介质 |
CN113240656B (zh) * | 2021-05-24 | 2023-04-07 | 浙江商汤科技开发有限公司 | 视觉定位方法及相关装置、设备 |
CN113570535B (zh) * | 2021-07-30 | 2024-07-12 | 深圳市慧鲤科技有限公司 | 视觉定位方法及相关装置、设备 |
CN113658257B (zh) * | 2021-08-17 | 2022-05-27 | 广州文远知行科技有限公司 | 一种无人设备定位方法、装置、设备及存储介质 |
CN114998600B (zh) * | 2022-06-17 | 2023-07-25 | 北京百度网讯科技有限公司 | 图像处理方法、模型的训练方法、装置、设备及介质 |
CN116168393B (zh) * | 2023-01-17 | 2023-08-25 | 浙江大学 | 基于点云神经辐射场的语义标注数据自动生成方法、装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107742311A (zh) * | 2017-09-29 | 2018-02-27 | 北京易达图灵科技有限公司 | 一种视觉定位的方法及装置 |
WO2018119889A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 三维场景定位方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956582B (zh) * | 2016-06-24 | 2019-07-30 | 深圳市唯特视科技有限公司 | 一种基于三维数据的人脸识别*** |
CN110622213B (zh) * | 2018-02-09 | 2022-11-15 | 百度时代网络技术(北京)有限公司 | 利用3d语义地图进行深度定位和分段的***和方法 |
CN108489482B (zh) * | 2018-02-13 | 2019-02-26 | 视辰信息科技(上海)有限公司 | 视觉惯性里程计的实现方法及*** |
CN109658445A (zh) * | 2018-12-14 | 2019-04-19 | 北京旷视科技有限公司 | 网络训练方法、增量建图方法、定位方法、装置及设备 |
CN110032965B (zh) * | 2019-04-10 | 2023-06-27 | 南京理工大学 | 基于遥感图像的视觉定位方法 |
-
2019
- 2019-12-18 CN CN201911310246.8A patent/CN111862205B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119889A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 三维场景定位方法和装置 |
CN107742311A (zh) * | 2017-09-29 | 2018-02-27 | 北京易达图灵科技有限公司 | 一种视觉定位的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111862205A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111862205B (zh) | 一种视觉定位方法、装置、设备及存储介质 | |
CN109508681B (zh) | 生成人体关键点检测模型的方法和装置 | |
US20220114750A1 (en) | Map constructing method, positioning method and wireless communication terminal | |
CN110648397B (zh) | 场景地图生成方法、装置、存储介质及电子设备 | |
CN110874594A (zh) | 基于语义分割网络的人体外表损伤检测方法及相关设备 | |
CN110866977B (zh) | 增强现实处理方法及装置、***、存储介质和电子设备 | |
EP3206163B1 (en) | Image processing method, mobile device and method for generating a video image database | |
CN110794955B (zh) | 定位跟踪方法、装置、终端设备及计算机可读取存储介质 | |
CN112652057B (zh) | 生成人体三维模型的方法、装置、设备以及存储介质 | |
CN107590811B (zh) | 基于场景分割的风景图像处理方法、装置及计算设备 | |
CN107644423B (zh) | 基于场景分割的视频数据实时处理方法、装置及计算设备 | |
Porzi et al. | Learning contours for automatic annotations of mountains pictures on a smartphone | |
CN103460705A (zh) | 利用立体对应性的实时深度提取 | |
CN112529097B (zh) | 样本图像生成方法、装置以及电子设备 | |
CN108985421B (zh) | 编码信息的生成方法和识别方法 | |
JP2020042759A (ja) | 拡張現実アプリケーションのためのビデオにおけるリアルタイムオーバーレイ配置 | |
CN111459269A (zh) | 一种增强现实显示方法、***及计算机可读存储介质 | |
CN108597034B (zh) | 用于生成信息的方法和装置 | |
CN108492284B (zh) | 用于确定图像的透视形状的方法和装置 | |
CN113870439A (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
CN112802081A (zh) | 一种深度检测方法、装置、电子设备及存储介质 | |
CN117876608B (zh) | 三维图像重建方法、装置、计算机设备及存储介质 | |
CN113902856B (zh) | 一种语义标注的方法、装置、电子设备及存储介质 | |
CN113838217B (zh) | 信息展示方法、装置、电子设备及可读存储介质 | |
CN110390724A (zh) | 一种带有实例分割的slam方法 |
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 |