CN112884834A - 视觉定位方法及系统 - Google Patents
视觉定位方法及系统 Download PDFInfo
- Publication number
- CN112884834A CN112884834A CN201911208660.8A CN201911208660A CN112884834A CN 112884834 A CN112884834 A CN 112884834A CN 201911208660 A CN201911208660 A CN 201911208660A CN 112884834 A CN112884834 A CN 112884834A
- Authority
- CN
- China
- Prior art keywords
- positioning
- scene
- image
- indoor
- positioning position
- 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 title claims abstract description 151
- 230000000007 visual effect Effects 0.000 title claims abstract description 128
- 238000009877 rendering Methods 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 description 35
- 238000004422 calculation algorithm Methods 0.000 description 31
- 239000013598 vector Substances 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 16
- 238000007906 compression Methods 0.000 description 14
- 230000006835 compression Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004807 localization Effects 0.000 description 6
- 238000012216 screening Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 238000012423 maintenance 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
- 238000013500 data storage Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种视觉定位方法及系统。该方法包括:获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;根据所述场景信息,确定所述定位位置所处场景;以及根据所述定位位置所处场景,选择对应的定位方式。还公开了相应的系统。采用本申请的视觉定位系统,可以根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现高精度、全天候、全场景的视觉定位。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种视觉定位方法及系统。
背景技术
随着新一代通信技术的发展,数据带宽极大拓展,延时降低,数据流量大幅增加,使得各型电子设备(手机,虚拟现实(virtual reality,VR)眼镜,汽车抬头显示(head updisplay,HUD)等)能够无线接收超大规模数据,能够满足视觉定位技术的需求,实现超大规模增强现实应用。它的应用场景包括:导航,增强现实游戏,物联网(the internet ofthings,IOT)信息、广告展示,全息娱乐等。同时,大规模视觉定位技术是自动驾驶,无人机等大型设备的关键能力。
视觉定位技术使用拍摄的图片作为数据来源,与离线地图进行匹配,实现定位,具有时间短,功耗少,利于维护,精度高等优点。视觉定位方法包括:直接法、间接法和卷积神经网络(convolution neural network,CNN)方法。然而,上述各视觉定位方法存在以下缺陷:
1.直接法:对于超大规模场景来说,直接法的匹配过程过于耗时,随着地图规模的增加,计算消耗也增加,另外,直接法在进行匹配是对算力的需求、数据组织结构方面有很大的考验。
2.间接法:由于采用了中间结构,因此间接法增加了数据存储量,当中间结构采样的密度变稀的时候效果变差。此外,先搜索后匹配使得算法步骤更多,时间相对更长。
3.CNN方法:端到端直接得到位姿的方式存在数据过拟合的问题,此外,在替换了使用场景后,CNN方法可能需要大量调整(Fine-tune)工作以使网络适应新场景。
因此,上述任一种视觉定位方法不能适应于所有的执行定位请求的场景,不能实现全天候、全场景的视觉定位。
同时,现有方法中的间接法由于数据来源、匹配算法、计算速度方面无法在小型设备(例如,手机)提供的传感器条件下实现高精度定位。
发明内容
本申请提供一种视觉定位方法及系统,以实现高精度、全天候、全场景的视觉定位。
第一方面,提供了一种视觉定位方法,应用于视觉定位系统,所述方法包括:获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;根据所述场景信息,确定所述定位位置所处场景;以及根据所述定位位置所处场景,选择对应的定位方式。
可以根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现全天候、全场景的视觉定位。
在一个实现中,所述获取定位位置所处场景信息,包括:获取所述定位位置所处场景的室内外标识,并根据所述室内外标识,确定所述定位位置所处场景为室内或室外;或对在所述定位位置拍摄的第一图像进行语义分割,剔除所述第一图像上的运动事物的信息,提取所述第一图像的边缘得到边缘图像,并计算所述边缘图像的有效像素数量,且当所述边缘图像的有效像素数量小于或等于第一像素数量阈值时,确定所述定位位置所处场景为弱纹理场景;当所述边缘图像的有效像素数量大于或等于第二像素数量阈值时,确定所述定位位置所处场景为纹理丰富的场景,其中,所述第一像素数量阈值小于所述第二像素数量阈值;或获取所述定位位置所处场景的第二图像,所述第二图像为所述第一图像的深度图像,当所述深度图像中的景物与所述定位位置的距离小于或等于第一距离阈值时,确定所述定位位置所处场景为微场景。
通过以上方法可以准确确定出定位位置所处场景信息。
在又一个实现中,所述根据所述定位位置所处场景,选择对应的定位方式,包括:当所述定位位置所处场景为纹理丰富的室内场景时,选择第一定位方式进行视觉定位;或当所述定位位置所处场景为室外场景时,选择第二定位方式进行视觉定位;或当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位;或当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位;或当所述定位位置所处场景为室内微场景时,选择第五定位方式进行视觉定位;其中,所述第一定位方式、所述第二定位方式、所述第三定位方式、所述第四定位方式、以及所述第五定位方式所采用的定位方法不同。
对应不同的定位位置所处场景,选择对应的定位方式,可以实现全天候、全场景的视觉定位。
在又一个实现中,所述当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位,包括:获取在所述定位位置拍摄的第一图像;在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像;根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像;比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别;以及以至少一个第二步长从所述差别最小的方向进行渲染,并执行所述比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别的步骤,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
对于室内弱纹理大房间场景,采用CNN和图像比对方法,可以准确地得到定位位置。
在又一个实现中,所述当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位,包括:获取在所述定位位置拍摄的第一图像及初始定位位置;经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿;以及根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
对于室内弱纹理小房间场景,采用端到端CNN方法,可以准确地得到定位位置。
第二方面,提供了一种视觉定位方法,应用于视觉定位系统,所述视觉定位系统包括视觉定位设备和云服务器;所述视觉定位设备获取在定位位置拍摄的第一图像,提取所述第一图像的特征描述子;所述视觉定位设备向所述云服务器发送所述第一图像的特征描述子的索引信息;所述云服务器根据所述第一图像的特征描述子的索引信息,获取所述索引信息对应的特征描述子,并在数据库中搜索与所述第一图像的特征描述子的距离最近的特征描述子,得到候选特征描述子,以及根据所述候选特征描述子计算得到所述定位位置的最终位置;以及所述云服务器向所述视觉定位设备返回所述定位位置的最终位置;其中,所述特征描述子包括局部特征描述子和全局特征描述子。
第三方面,提供了一种视觉定位系统,所述系统包括:第一获取单元,用于获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;确定单元,用于根据所述场景信息,确定所述定位位置所处场景;以及选择单元,用于根据所述定位位置所处场景,选择对应的定位方式。
在一个实现中,所述第一获取单元用于获取所述定位位置所处场景的室内外标识;以及所述确定单元用于根据所述室内外标识,确定所述定位位置所处场景为室内或室外。
在又一个实现中,所述系统还包括:分割单元,用于对在所述定位位置拍摄的第一图像进行语义分割;剔除单元,用于剔除所述第一图像上的运动事物的信息;第一提取单元,用于提取所述第一图像的边缘得到边缘图像;计算单元,用于计算所述边缘图像的有效像素数量;所述确定单元用于当所述边缘图像的有效像素数量小于或等于第一像素数量阈值时,确定所述定位位置所处场景为弱纹理场景;以及所述确定单元还用于当所述边缘图像的有效像素数量大于或等于第二像素数量阈值时,确定所述定位位置所处场景为纹理丰富的场景,其中,所述第一像素数量阈值小于所述第二像素数量阈值。
在又一个实现中,所述系统还包括:第二获取单元,用于获取所述定位位置所处场景的第二图像,所述第二图像为所述第一图像的深度图像;以及所述确定单元,用于当所述深度图像中的景物与所述定位位置的距离小于或等于第一距离阈值时,确定所述定位位置所处场景为微场景。
在又一个实现中,所述选择单元用于当所述定位位置所处场景为纹理丰富的室内场景时,选择第一定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室外场景时,选择第二定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内微场景时,选择第五定位方式进行视觉定位,其中,所述第一定位方式、所述第二定位方式、所述第三定位方式、所述第四定位方式、以及所述第五定位方式所采用的定位方法不同。
在又一个实现中,所述获取单元用于获取在所述定位位置拍摄的第一图像;所述系统还包括:搜索单元,用于在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像;渲染单元,用于根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像;比较单元,用于比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别;以及所述渲染单元还用于以至少一个第二步长从所述差别最小的方向进行渲染,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
在又一个实现中,所述获取单元用于获取在所述定位位置拍摄的第一图像及初始定位位置;所述系统还包括:第二提取单元,用于经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿;以及加权单元,用于根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
第四方面,提供了一种视觉定位系统,所述视觉定位系统包括定位设备和云服务器;所述视觉定位设备用于获取在所述定位位置拍摄的第一图像,提取所述第一图像的特征描述子;所述视觉定位设备还用于向所述服务器发送所述第一图像的特征描述子的索引信息;所述云服务器用于根据所述第一图像的特征描述子的索引信息,获取所述索引信息对应的特征描述子,并在数据库中搜索与所述第一图像的特征描述子的距离最近的特征描述子,得到候选特征描述子,以及根据所述候选特征描述子计算得到所述定位位置的最终位置;以及所述云服务器还用于向所述视觉定位设备返回所述定位位置的最终位置;其中,所述特征描述子包括局部特征描述子和全局特征描述子。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面或第一方面、第二方面的任一个实现所述的方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面或第一方面、第二方面的任一个实现所述的方法。
附图说明
图1为本申请实施例提供的一种视觉定位系统的结构示意图;
图2为本申请实施例提供的一种视觉定位方法的流程示意图;
图3为本申请实施例提供的一种直接定位法的流程示意图;
图4为本申请实施例提供的一种间接定位法的流程示意图;
图5为本申请实施例提供的一种利用卷积神经网络和图像比对法进行视觉定位的流程示意图;
图6为本申请实施例提供的一种端到端利用卷积神经网络进行视觉定位的方法的流程示意图;
图7为本申请实施例提供的一种通过点云配准法进行视觉定位的方法的流程示意图;
图8为本申请实施例提供的一种视觉定位系统的模块结构示意图。
具体实施方式
视觉定位的基本原理是将图像特征(例如点,线等)的位置与离线地图进行配准。例如,离线地图中包含大量3D点,手机拍摄的图像可以提取大量2D点,将这些2D点与3D点进行匹配之后,即可获得当前场景与离线地图的几何关系,通过求解这个几何问题,即可得到手机当前的精确位置。
视觉定位方法分为三大定位方法,分别是:直接法,间接法以及CNN方法。
1.直接法定义为:将数据库离线地图和设备采集的图像的描述子进行直接匹配(也就是数据库(database)3D点的描述子和2D图像描述子直接匹配)。直接法具有数据存储方式紧凑,方法直观的优点。
2.间接法定义为:用一个中间结构表示点和它们的描述子(例如将整个图像压缩成一个向量),相应的,数据库也分成两部分:中间结构和特征。在定位时,首先基于当前Quer(定位设备,例如手机相机,拍摄的图像)y搜索数据库中对应的中间结构(图像)。之后,将Query特征与中间结构关联的特征进行匹配。间接法具有高效,高精度,高鲁棒性的优点。
3.CNN方法:使用深度学习方案端到端直接得到位姿。CNN方法具有鲁棒性高,对变化场景的适应性强等优点。
本申请提供一种视觉定位方法及系统,通过获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;根据所述场景信息,确定所述定位位置所处场景;以及根据所述定位位置所处场景,选择对应的定位方式,可以根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现全天候、全场景的视觉定位。
图1为本申请实施例提供的一种视觉定位系统的结构示意图,该视觉定位系统1000包括定位设备100和云服务器110。定位设备100可以获取初始定位位置,基于该初始定位位置计算定位设备所在的准确的定位位置。在定位计算过程中,定位算法需要的计算资源较多,部分计算内容需要在云服务器110侧完成。端云之间传递的内容可以是描述子、图像、或数据库数据。这三种端云结合方法分别搭配相应的压缩方法,分别是码书量化压缩、图像压缩和数据无损压缩。
下面结合具体的实施例进行描述:
请参阅图2,为本申请实施例提供的一种视觉定位方法的流程示意图,应用于视觉定位系统。该方法可以包括:
S101、获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚。
本实施例可以利用定位设备上的多种类型的传感器和辅助的系统、设备获取定位位置所处场景信息。
获取所述定位位置所处场景的室内外标识,并根据所述室内外标识,确定所述定位位置所处场景为室内或室外。具体地,可以使用辅助的基于位置的服务(location basedservice,LBS)系统提供的室内外标识判断信息,获取定位位置是室内或室外。例如,LBS系统能够输出室内外判断标志,例如,输出“0”表示室内,输出“1”表示室外。
基于定位设备获取的第一图像进行语义分割,提取第一图像中的运动物体。之后利用语义分割的结果将原始彩色图像上这些位置的运动物体的信息剔除,之后对剔除过运动物体的图像提取Canny边缘,得到边缘图像,之后计算边缘的有效像素数量。如果图像的边缘的有效像素数量小于或等于第一像素数量阈值,该定位位置所处场景为弱纹理场景;反之,如果图像的边缘的有效像素数量大于或等于第二像素数量阈值,该定位位置所处场景为纹理丰富的场景,其中,第一像素数量阈值小于第二像素数量阈值。
进一步地,在提取第一图像中的运动物体之后,还可以包括:判断运动物体占第一图像的比例是否大于或等于设定阈值,若比例过大,则可以不执行上述剔除运动物体、提取边缘等的操作。
使用定位设备上的ToF深度相机,能够得到一张深度图,该深度图为上述第一图像的深度图像。可以通过深度图判断当前场景的景物距离定位位置是否小于或等于第一距离阈值(例如,2m),如果距离小于或等于2m,则该定位位置所处场景为微场景。
还可以使用光线传感器判断定位位置所处场景为白天或夜晚。
S102、根据所述场景信息,确定所述定位位置所处场景。
上述定位位置所处场景信息可以组合,得到以下具体的定位位置所处场景:室外白天场景、室外夜晚场景;室内纹理丰富的房间;室内弱纹理大房间场景;室内弱纹理小房间场景;以及室内微场景。
大房间指火车站,购物中心,机场等大型场景,面积超过300m^2。小房间指面积小于300m^2的室内场景。
根据获取的场景信息,可以确定定位位置所处场景。例如,获取的场景信息为室外、夜晚,则可以确定定位位置所处场景为室外夜晚场景;又例如,获取的场景信息为室内、弱纹理、大房间,则可以确定定位位置所处场景为室内弱纹理大房间场景。
S103、根据所述定位位置所处场景,选择对应的定位方式。
该视觉定位系统对应存储了多个场景对应的定位方式。具体如下:
对于室内纹理丰富的房间,选择直接法进行定位,即将所有描述子与当前图像提取的描述子进行匹配,之后使用位姿精确化算法得到相机位置。并选择端云结合方式1执行定位计算。上述直接法以及端云结合的算法可以统称为第一定位方式。
对于室内白天场景、室外夜晚场景,选择间接法进行定位,即采用图像作为中间结构,首先搜索数据库中的图像,之后根据图像对应的描述子进行匹配,最后使用位姿精确化算法得到相机位置。定位算法需要的计算资源较多,部分计算内容需要在云侧完成。对于室内白天场景、室外夜晚场景,该定位的计算可以选择在定位设备端执行和云端执行。具体可以选择端云结合方式1和端云结合方式2。上述间接法以及端云结合的算法可以统称为第二定位方式。对于室内弱纹理大房间场景,选择CNN和图像对比方法进行定位,即使用图像搜索事先搜索到一张图像,定位初始位置,之后使用渲染和比较的方式不断迭代直到收敛即可得到最终的位置。并选择端云结合方式2执行定位计算。上述CNN、图像对比方法以及端云结合的算法可以统称为第三定位方式。
对于室内弱纹理小房间场景,选择端到端CNN方法进行定位,选择端云结合方式3执行定位计算。上述端到端CNN方法和端云结合的算法可以统称为第四定位方式。
对于室内微场景,例如一个办公桌大小的场景,我们使用小型电子设备配备的ToF等深度传感器得到点云,之后进行点云配准定位。并选择端云结合方式3执行定位计算。上述点云配准定位和端云结合的算法可以统称为第五定位方式。
视觉定位系统根据确定的定位位置所处场景,可以从第一定位方式~第五定位方式中选择对应的定位方式。
需要说明的是,上述定位方式与场景的对应关系可以随着场景的急剧变化和算法方案变化等变化。不同的定位方式可能适用于上述描述的该定位方式对应的场景之外的另一个场景,例如,间接法可能适用于室内纹理丰富的场景。本申请对此不作限制。
相比于传统的定位技术,视觉定位技术使用定位设备(例如,手机相机)拍摄的图片作为数据来源,进行定位,具有时间短,功耗少,利于维护,精度高等优点:
1.精度:视觉定位在室外大场景下的定位精度在分米级,室内场景下定位精度在厘米到分米级之间,精度比GPS、WIFI定位高一个数量级;
2.应用场景:视觉定位技术从原理上可以不受场景,时间等条件的约束,可以在大小场景,各类天气条件,各类光照条件下进行高精度定位;
3.帧率:视觉定位技术使用端云结合方法实现,随着云端服务器硬件质量的提升,以及算法的迭代,视觉定位技术的时间能够压缩到非常短,计算时间有望减少至100ms以下,帧率保证在10帧以上,辅以平滑功能,基本能够满足实时定位要求;
4.鲁棒性:视觉定位方法在场景中特征明显,丰富的情况下能够保证良好的一致性
5.信息完整性:视觉定位方法能够计算出6自由度信息,他们是位置和三个角度,传统方法一般只能计算出位置,并通过磁力计输出低精度的角度信息;
6.定位结果展示方法:视觉定位技术由于高精度,联合输出6自由度信息等特点,能够联合相机直接展示定位结果,导航信息等。
传统的视觉特征,例如SIFT,ORB等,以及传统的图像全局抽象方法如DBOW的鲁棒性太低,对变化场景基本没有鲁棒性。深度学习的出现大大提高了图像全局、局部抽象方法的鲁棒性,深度学习特征能够抵抗光照,季节,天气等条件的变化。除此之外,CNN网络的出现使得端到端一个结构实现定位成为可能。采用本申请实施例的定位方法,无论白天、夜晚,无论上述任一场景,都可以选择合适的定位算法进行准确定位,从而能够实现全天候、全场景的视觉定位。
例如,能够满足第五代(5thgeneration,5G)通信系统高精度定位需求的方案,为手机、平板等设备,或者无人驾驶汽车等智能设备提供定位服务。
根据本申请实施例提供的一种视觉定位方法,通过根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现全天候、全场景的视觉定位。
下面具体对上述定位方法进行描述:
如图3所示,为本申请实施例提供的一种直接定位法的流程示意图,该方法可以包括:
S201、定位设备获取第一图像,根据第一图像确定定位设备的初始定位位置。
定位设备获取周边环境的图像,根据该图像可以初步确定定位设备所处的位置。一般来说,该初始定位位置的精度往往不能够进行精确的位置定位。
S202、定位设备提取第一图像的局部特征描述子。
特征描述子可以是任意形式的描述子,例如点,线,面,点云,区块等。局部特征描述子是相对于全局特征描述子来说的,局部特征描述子可以是第一图像的部分特征描述子。
该步骤可以由定位设备的前端完成。当然该步骤也可以由定位设备的后端完成,本申请并不对此进行限定。
提取第一图像的局部特征描述子使用的方法包括CNN网络,LSD线段提取器等。
对于室外室内的一般场景,可以提取点特征。提取点特征时,本系统使用的CNN提取网络为D2Net和SuperPoint。在正常情况下,D2Net计算时间较长,但精度较高,因此在云端系统压力较小的情况下,使用D2Net描述子;而当云端的压力加大时,使用SuperPoint描述子(SuperPoint描述子计算时间是D2Net描述子的一半),此方法可以大大减小云端的计算压力。对于室外弱纹理场景,可以提取线段特征。提取线段特征时,使用LSD线段提取器,提取线段及其LBD描述子。
具体地,关于提取D2Net特征点,首先,可以使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,并经过后处理得到的高精度稠密点云作为数据库。然后,从上述过程得到的稠密点云中摘取部分高价值的稀疏点云存放在数据库中。摘取方法是首先使用raycast方法将上述点云中的3D点与2D图像上的点关联起来,之后提取图像上的D2Net特征点,这些点是图像上的特征点;由于上一步已经将图像与点云的3D点做了关联,那么当前步骤便是将D2Net特征点的3D点提取出来,保存成文件。采集时,每一个点是地球上的一个点,采集点与采集点之间距离为米级。每一个点最终合成图像为一个全景图,使用时将全景图切片成多张,每一张图片对应一部分2D点和一部分3D点,或将整个全景图的2D点和3D点一同保存。数据库中除2D点和3D点之外每一张图片还包含一个NetVLAD向量,作为图像检索索引。
S203、在数据库中搜索第一图像的局部特征描述子的最近邻,并筛选出符合几何关系的部分局部特征,作为候选局部特征。
具体地,搜索最近邻的描述子时,可以采用GPU进行暴力匹配,并使用一系列基于几何关系的RANSAC方法剔除外点,筛选出符合几何关系的部分局部特征,作为候选局部特征。
另外,还可以采用高效的p2pGravity搭配loRANSAC的外点剔除方案,并将当前图片与多帧图片同时进行暴力匹配,得到当前图片相对不同位置的多个图片的结果。匹配点数多,能够促进高精度定位,通过进一步筛选较好的特征点,能够进一步提高定位精度。
S204、将上述获取的这些候选局部特征纳入位姿求解框架,得到定位设备的最终位置。
位姿求解框架包括但不限于PnP,PnPL,ICP,BA,CNN框架,将上述获取的这些候选局部特征纳入位姿求解框架,最终得到精确位姿。该步骤可以由定位设备的后端完成。
具体地,对于点匹配算法,采用PnP算法得到位姿最终结果。
采用本申请实施例提供的直接定位法,对于室内纹理丰富的房间,匹配过程直接,可以快速、高精度地进行定位。
可以理解的是,本实施例所示的视觉定位系统也可以支持室外夜晚场景的定位,对于室外夜晚场景摄取的图像,可以使用风格迁移网络将夜景图片风格迁移为白天图片,之后再提取局部描述子。
如图4所示,为本申请实施例提供的一种间接定位法的流程示意图,该方法可以包括:
S301、定位设备获取第一图像,根据第一图像确定定位设备的初始定位位置。
定位设备获取周边环境的图像,根据该图像可以初步确定定位设备所处的位置。一般来说,该初始定位位置的精度往往不能够进行精确的位置定位。
S302、提取第一图像的全局特征描述子。
该步骤可以由定位设备的前端完成。
提取第一图像的全局特征描述子(或者称全局向量),使用的方法包括CNN网络,DBoW描述子等。
其中,CNN描述子为NetVLAD描述子,该描述子为一4096维向量。搜索的具体操作是比对数据库中图片的NetVLAD描述子与第一图像的描述子之间的空间距离。
对于DBoW方法,首先提取第一图像的局部描述子,之后将此局部描述子放入事先训练好的DBoW字典中寻找最近叶子节点,之后使用TF-IDF方法得到最终的相似度。
对于云端采用哪种方案,需要根据云端的服务器种类选择。当前云端包括强GPU计算型和弱GPU计算型(CPU较强)两种服务器,对于CPU服务器,采用DBoW方式;对于强GPU服务器,采用NetVLAD方式;对于弱GPU服务器,采用DBoW方式;此方案对于节省云端资源,降低运行维护成本有重大作用。S303、在数据库中搜索与第一图像最相近的一帧或N帧图像,搜索出的图像作为候选图像。
具体地,使用的方法包括但不限于KD树搜索,词袋向量搜索,CNN全局特征搜索等,搜索出的图像作为候选图像。
两全局向量的空间距离为两个向量的向量距离。当两个向量的向量距离大时,说明两者更加接近。在搜索到候选的前N张(N>20)图像之后,使用检索筛选算法对候选图像进行筛选。具体算法是,前N张图像保存有这些图像的精确位置(事先标定好),之后对这些图像进行剔除操作。剔除算法可以采用LOF离群点算法。
筛选之后,剩下的图片将投入下一步执行后端的步骤。此处加入了判断机制,如果剔除之后图片不足5张则不进入后端,直接返回定位失败。
S304、将第一图像与候选图像的描述子进行匹配操作(求解每一个描述子的最近邻)。
匹配的方法可以是暴力匹配,FLANN匹配,基于GPU的加速匹配等。该步骤可以由定位设备的后端完成。
搜索最近邻描述子时,采用GPU进行暴力匹配,并使用一系列基于几何关系的RANSAC方法剔除外点,作为候选特征。关于外点剔除的方案可以参考上述直接定位法中的相关描述。
S305、将这些候选局部特征纳入位姿求解框架,得到定位设备的最终位置。
位姿求解框架包括但不限于PnP,PnPL,ICP,BA,CNN框架,最终得到精确位姿。
具体地,对于点匹配算法,采用PnP算法得到位姿最终结果。
采用本申请实施例提供的间接定位法,对于室内白天场景、室外夜晚场景,可以得到高精度、全方位、全天候的定位。
如图5所示,为本申请实施例提供的一种利用卷积神经网络和图像比对法进行视觉定位的流程示意图,该方法可以包括:
S401、获取在定位位置拍摄的第一图像。
利用定位设备获取第一图像,根据第一图像确定定位设备的初始定位位置。该初始定位位置的精度往往不能够进行精确的位置定位。
S402、在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像。
该步骤可以由定位设备的前端完成。
在数据库中搜索与第一图像最相近的一帧或N帧图像,使用的方法包括但不限于KD树搜索,词袋向量搜索,CNN全局特征搜索等,搜索出的图像作为候选图像。
提取第一图像的全局特征描述子使用的方法包括CNN网络,DBoW描述子。
其中,CNN描述子为NetVLAD描述子,该描述子为一4096维向量。搜索的具体操作是比对数据库中图片的NetVLAD描述子与第一图像描述子之间的空间距离。
对于DBoW方法,首先提取图像的局部描述子,之后将此局部描述子放入事先训练好的DBoW字典中寻找最近叶子节点,之后使用TF-IDF方法得到最终的相似度。
对于云端采用哪种方案,需要根据云端的服务器种类选择。当前云端拥有强GPU计算型和弱GPU计算型(CPU较强)两种服务器,对于CPU服务器,采用DBoW方式;对于强GPU服务器,采用NetVLAD方式;对于弱GPU服务器,采用DBoW方式;此方案对于节省云端资源,降低运行维护成本有重大作用。
两全局向量的空间距离为两个向量的向量距离。当两个向量的向量距离大时说明两者更加接近。在搜索到候选的前N张(N>20)图像之后,使用检索筛选算法对候选图像进行筛选。具体算法是,前N张图像保存有这些图像的精确位置(事先标定好),之后对这些图像进行剔除操作,剔除算法可以为LOF离群点算法。
筛选之后,剩下的图片将投入下一步执行后端的步骤。此处加入了判断机制,如果剔除之后图片不足5张则不进入后端,直接返回定位失败。
S403、根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像。
S404、比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别。
S405、以至少一个第二步长从所述差别最小的方向进行渲染,并执行所述比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别的步骤,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
上述步骤S403~S405可以由定位设备的后端完成。
前端搜索到的候选图像附带其拍摄位姿,基于此位姿,利用Mesh Raycast的方式渲染空间内各个方向(26个方向)的图像,并利用CNN方法比对第一图像与渲染出的图像之间的差别。
假设一个正方体魔方,每一个边分成3份,那么此立方体将被分成3x3x3=27份,最中间的一个小块代表相机当前所处位置,其他的小块分别代表了相机可以迭代的方向。每一次迭代过程,首先将相机往上述26个方向移动一定距离,并在移动之后利用点云或Mesh渲染这26个位置的图像。
渲染完成之后,比对渲染图像与当前图像的相似度,并选取相似度最高的图像位置作为迭代的下一个位置。迭代步长根据相似度变化而变化,相似度变化越小,步长越小;当相似度变化小于某阈值,或每一个方向的相似度都减小,那么算法收敛,达到最优位置。
选择差别最小的方向继续迭代,初始步长之后,利用两帧之间图像差别的大小选择下一步步长的大小。
不断迭代直到算法收敛到最小值,当前的位姿即为精确位姿。
采用本申请实施例提供的利用卷积神经网络和图像比对法进行视觉定位的方法,对于室内弱纹理大房间场景,可以得到高精度、全方位、全天候的定位。
如图6所示,为本申请实施例提供的一种端到端利用卷积神经网络进行视觉定位的方法的流程示意图,该方法可以包括:
S501、获取在定位位置拍摄的第一图像及初始定位位置。
利用定位设备获取第一图像,根据第一图像确定定位设备的初始定位位置。该初始定位位置的精度往往不能够进行精确的位置定位。
S502、经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿。
目前已得到先验位置(室内某一个点)对应的候选网络,将图片放入这个候选网络,得到位姿。
对于较小的房间(例如大小小于等于300m^2),在训练网络时充分采集当前房间的图片,并使用高精度室内定位方法(搭载激光雷达的采集车)得到所有图片的精确位姿。使用能够提供位姿的专业采集设备(搭载激光雷达的采集车)完整采集当前房间的各个位置、各个角度的图片。使用这些图片训练PoseNet网络,该网络训练完成之后能够直接输出位姿。
S503、根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
预先训练关于某一个小区块的CNN网络,网络输入是一张图片,网络输出直接是3D位姿,网络使用PoseNet。PoseNet是指基于GoogleNet,通过修改最后的输出,回归出相机姿态。
根据候选网络覆盖区域中心点位置,当前图像的先验位置对多个位姿进行加权平均,得到精确位姿
如果一个室内地点面积大于100m^2,或者有隔断(如机场)那么会将此大房间隔断成多个小区块,每一个小区块按照室内隔断的情况安排,在这些小区块中分别训练网络,最后当室内定位模块定位到初始位置之后,如果周围有多个网络,那么使用多个网络同时计算结果,最后进行加权。
采用本申请实施例提供的端到端利用卷积神经网络进行视觉定位的方法,对于室内弱纹理小房间场景,可以得到高精度、全方位、全天候的定位。
如图7所示,为本申请实施例提供的一种通过点云配准法进行视觉定位的方法的流程示意图,该方法可以包括:
S601、获取在定位位置拍摄的第一图像及初始定位位置。
利用定位设备获取第一图像,根据第一图像确定定位设备的初始定位位置。该初始定位位置的精度往往不能够进行精确的位置定位。
S602、获取第一图像的深度数据。
深度数据的获取形式可以是深度传感器,包括但不限于:TOF相机,结构光相机,双目相机等,或直接使用单目深度估计方法,得到深度图。
S603、利用深度图和相机内参恢复当前场景的点云。
S604、利用定位设备的传感器获取的初始定位位置,提取场景的部分点云。
S605、将两个点云进行配准,获得相对位姿。配准方案可以是由粗到精的配准,或是直接配准,方法包括ICP等。
采用本申请实施例提供的一种通过点云配准法进行视觉定位的方法,对于室内微场景,可以得到高精度、全方位、全天候的定位。
定位算法需要的计算资源较多,部分计算内容可以在云侧完成。端云之间传递的内容可以是描述子、图像、或数据库数据。这三种端云结合方法可以分别搭配相应的压缩方法,分别是码书量化压缩、图像压缩和数据无损压缩。
端云结合方式1:
在定位设备端侧完成的操作包括:
1.基于传统传感器获得当前图像的粗定位位置;
2.图像的全局描述子(可量化)计算;
3.图像的局部描述子(可量化)提取。
在云服务器侧完成的操作包括:
1.基于全局描述子的图像搜索;
2.基于局部描述子的匹配与位姿精确化。
该端云结合方式1是将上述直接定位法和间接定位法中的操作可以由定位设备侧(端侧)和云服务器侧(云侧)分工完成。
数据压缩方案:
针对端云结合技术方案1,对端云之间沟通需要的描述子进行量化归档操作。
预先针对当前场景进行描述子的聚类训练,得到一个供查询的字典树(或Hash表等数据结构),字典树(或哈希(hash)表等数据结构)是一种对描述子的量化操作,相近的描述子将会被链接到同一个叶节点。
端侧和云侧都保存同样的字典树。
将端侧提取的所有描述子(全局+局部)全部链接到此字典树(或具有键值的Hash表)中的某个对象,得到与该对象一一对应的索引(通常索引的数据量可忽略不计)。
端云之间的沟通只需要上传或下载索引,就能实现描述子对应,无需上传数量较大的描述子。
以直接法与端云结合方式1进行定位计算为例,定位设备获取在定位位置拍摄的第一图像,提取第一图像的局部特征描述子;定位设备向云服务器发送第一图像的局部特征描述子的索引信息;云服务器根据第一图像的局部特征描述子的索引信息,获取索引信息对应的局部特征描述子,并在数据库中搜索与第一图像的局部特征描述子的距离最近的局部特征描述子,得到候选特征描述子,以及根据候选特征描述子计算得到定位位置的最终位置。
端云结合方式2:
在定位设备端侧完成的操作包括:
1.基于传统传感器获得当前图像的粗定位位置;
2.将图像进行加密压缩,上传至云端。
在云服务器侧完成的操作包括:
完成定位的一整套算法,返回精确的6Dof坐标。
对于上述间接定位法、CNN和图像比对定位法中的操作可以由定位设备侧(端侧)和云服务器侧(云侧)分工完成。
数据压缩方案:
针对端云结合技术方案2,对端云之间沟通需要的图像进行数据压缩操作。
压缩步骤:将端侧相机拍摄的图像从raw转为压缩格式流;以及端云之间的沟通时,上传或下载图像的压缩格式流。
端云结合方式3:
在定位设备端侧完成的操作包括:
1.基于传统传感器获得当前图像的粗定位位置;
2.下载当前定位位置周围的(离线)地图;
3.完成定位的一整套算法,返回精确的6Dof坐标。
在云服务器侧完成的操作包括:
存储用于定位的大型地图,为端侧提供地图下载服务。
对于上述端到端CNN方法、点云配准法中的操作由定位设备侧(端侧)和云服务器侧(云侧)分工完成。
数据压缩方案:
针对端云结合技术方案3,对端云之间沟通需要的离线进行操作。
压缩步骤:
将定位所需离线地图在云侧进行无损压缩,无损压缩方式可以是ZIP等格式的压缩原理;
端云之间的沟通时上传或下载离线地图无损压缩格式流。
离线地图形式包括但不限于:
训练得到的CNN网络;
包含关键点,关键线,关键图像区块信息的数据包;
点云。
基于上述视觉定位方法的同一构思,本申请实施例还提供了一种视觉定位系统。如图8所示,该视觉定位系统1100包括:第一获取单元11、确定单元12和选择单元13;其中:
第一获取单元11,用于获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;确定单元12,用于根据所述场景信息,确定所述定位位置所处场景;以及选择单元13,用于根据所述定位位置所处场景,选择对应的定位方式。
在一个实现中,所述第一获取单元11用于获取所述定位位置所处场景的室内外标识;以及所述确定单元12用于根据所述室内外标识,确定所述定位位置所处场景为室内或室外。
在又一个实现中,所述系统还包括:分割单元,用于对在所述定位位置拍摄的第一图像进行语义分割;剔除单元,用于剔除所述第一图像上的运动事物的信息;第一提取单元,用于提取所述第一图像的边缘得到边缘图像;计算单元,用于计算所述边缘图像的有效像素数量;所述确定单元用于当所述边缘图像的有效像素数量小于或等于第一像素数量阈值时,确定所述定位位置所处场景为弱纹理场景;以及所述确定单元还用于当所述边缘图像的有效像素数量大于或等于第二像素数量阈值时,确定所述定位位置所处场景为纹理丰富的场景,其中,所述第一像素数量阈值小于所述第二像素数量阈值。
在又一个实现中,所述系统还包括:第二获取单元,用于获取所述定位位置所处场景的第二图像,所述第二图像为所述第一图像的深度图像;以及所述确定单元,用于当所述深度图像中的景物与所述定位位置的距离小于或等于第一距离阈值时,确定所述定位位置所处场景为微场景。
在又一个实现中,所述选择单元用于当所述定位位置所处场景为纹理丰富的室内场景时,选择第一定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室外场景时,选择第二定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位;或所述选择单元用于当所述定位位置所处场景为室内微场景时,选择第五定位方式进行视觉定位,其中,所述第一定位方式、所述第二定位方式、所述第三定位方式、所述第四定位方式、以及所述第五定位方式所采用的定位方法不同。
在又一个实现中,所述第一获取单元用于获取在所述定位位置拍摄的第一图像;所述系统还包括:搜索单元,用于在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像;渲染单元,用于根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像;比较单元,用于比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别;以及所述渲染单元还用于以至少一个第二步长从所述差别最小的方向进行渲染,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
在又一个实现中,所述第一获取单元用于获取在所述定位位置拍摄的第一图像及初始定位位置;所述系统还包括:第二提取单元,用于经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿;以及加权单元,用于根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
上述各个单元所执行的功能可以部分或全部是视觉定位设备所执行的功能,部分是云服务器所执行的功能。具体可参考图2~图7所示实施例中的相关描述。
根据本申请实施例提供的一种视觉定位系统,可以根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现全天候、全场景的视觉定位。
在另一个实施例中,还提供了一种视觉定位系统。如图1所示,所述视觉定位系统包括视觉定位设备和云服务器;
所述视觉定位设备用于获取在所述定位位置拍摄的第一图像,提取所述第一图像的特征描述子;
所述视觉定位设备还用于向所述服务器发送所述第一图像的特征描述子的索引信息;
所述云服务器用于根据所述第一图像的特征描述子的索引信息,获取所述索引信息对应的特征描述子,并在数据库中搜索与所述第一图像的特征描述子的距离最近的特征描述子,得到候选特征描述子;
以及根据所述候选特征描述子计算得到所述定位位置的最终位置;以及所述云服务器还用于向所述视觉定位设备返回所述定位位置的最终位置;
其中,所述特征描述子包括局部特征描述子和全局特征描述子。
根据本申请实施例提供的一种视觉定位系统,可以根据不同的定位位置所处的场景,选择不同的定位方式进行定位,从而能够实现全天候、全场景的视觉定位;且视觉定位设备和云服务器之间可仅传输第一图像的局部特征描述子的索引信息,无需传输局部特征描述子,可以节省传输开销,提高传输效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
Claims (14)
1.一种视觉定位方法,应用于视觉定位系统,其特征在于,所述方法包括:
获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;
根据所述场景信息,确定所述定位位置所处场景;
根据所述定位位置所处场景,选择对应的定位方式。
2.根据权利要求1所述的方法,其特征在于,所述获取定位位置所处场景信息,包括:
获取所述定位位置所处场景的室内外标识,并根据所述室内外标识,确定所述定位位置所处场景为室内或室外;或
对在所述定位位置拍摄的第一图像进行语义分割,剔除所述第一图像上的运动事物的信息,提取所述第一图像的边缘得到边缘图像,并计算所述边缘图像的有效像素数量,且当所述边缘图像的有效像素数量小于或等于第一像素数量阈值时,确定所述定位位置所处场景为弱纹理场景;当所述边缘图像的有效像素数量大于或等于第二像素数量阈值时,确定所述定位位置所处场景为纹理丰富的场景,其中,所述第一像素数量阈值小于所述第二像素数量阈值;或
获取所述定位位置所处场景的第二图像,所述第二图像为所述第一图像的深度图像,当所述深度图像中的景物与所述定位位置的距离小于或等于第一距离阈值时,确定所述定位位置所处场景为微场景。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述定位位置所处场景,选择对应的定位方式,包括:
当所述定位位置所处场景为纹理丰富的室内场景时,选择第一定位方式进行视觉定位;或
当所述定位位置所处场景为室外场景时,选择第二定位方式进行视觉定位;或
当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位;或
当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位;或
当所述定位位置所处场景为室内微场景时,选择第五定位方式进行视觉定位;
其中,所述第一定位方式、所述第二定位方式、所述第三定位方式、所述第四定位方式、以及所述第五定位方式所采用的定位方法不同。
4.根据权利要求3所述的方法,其特征在于,所述当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位,包括:
获取在所述定位位置拍摄的第一图像;
在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像;
根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像;
比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别;
以至少一个第二步长从所述差别最小的方向进行渲染,并执行所述比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别的步骤,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
5.根据权利要求3所述的方法,其特征在于,所述当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位,包括:
获取在所述定位位置拍摄的第一图像及初始定位位置;
经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿;
根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
6.一种视觉定位方法,应用于视觉定位系统,其特征在于,所述视觉定位系统包括视觉定位设备和云服务器;
所述视觉定位设备获取在定位位置拍摄的第一图像,提取所述第一图像的特征描述子;
所述视觉定位设备向所述云服务器发送所述第一图像的特征描述子的索引信息;
所述云服务器根据所述第一图像的特征描述子的索引信息,获取所述索引信息对应的特征描述子,并在数据库中搜索与所述第一图像的特征描述子的距离最近的特征描述子,得到候选特征描述子,以及根据所述候选特征描述子计算得到所述定位位置的最终位置;
所述云服务器向所述视觉定位设备返回所述定位位置的最终位置;
其中,所述特征描述子包括局部特征描述子和全局特征描述子。
7.一种视觉定位系统,其特征在于,所述系统包括:
第一获取单元,用于获取定位位置所处场景信息,所述场景信息包括以下至少一个信息:室内、室外、弱纹理、纹理丰富、微场景、室内大小、白天、夜晚;
确定单元,用于根据所述场景信息,确定所述定位位置所处场景;
选择单元,用于根据所述定位位置所处场景,选择对应的定位方式。
8.根据权利要求7所述的系统,其特征在于:
所述第一获取单元用于获取所述定位位置所处场景的室内外标识;
所述确定单元用于根据所述室内外标识,确定所述定位位置所处场景为室内或室外。
9.根据权利要求7所述的系统,其特征在于:所述系统还包括:
分割单元,用于对在所述定位位置拍摄的第一图像进行语义分割;
剔除单元,用于剔除所述第一图像上的运动事物的信息;
第一提取单元,用于提取所述第一图像的边缘得到边缘图像;
计算单元,用于计算所述边缘图像的有效像素数量;
所述确定单元用于当所述边缘图像的有效像素数量小于或等于第一像素数量阈值时,确定所述定位位置所处场景为弱纹理场景;
所述确定单元还用于当所述边缘图像的有效像素数量大于或等于第二像素数量阈值时,确定所述定位位置所处场景为纹理丰富的场景,其中,所述第一像素数量阈值小于所述第二像素数量阈值。
10.根据权利要求7所述的系统,其特征在于,所述系统还包括:
第二获取单元,用于获取所述定位位置所处场景的第二图像,所述第二图像为所述第一图像的深度图像;
所述确定单元,用于当所述深度图像中的景物与所述定位位置的距离小于或等于第一距离阈值时,确定所述定位位置所处场景为微场景。
11.根据权利要求7~10任一项所述的系统,其特征在于:
所述选择单元用于当所述定位位置所处场景为纹理丰富的室内场景时,选择第一定位方式进行视觉定位;或
所述选择单元用于当所述定位位置所处场景为室外场景时,选择第二定位方式进行视觉定位;或
所述选择单元用于当所述定位位置所处场景为室内弱纹理大房间场景时,选择第三定位方式进行视觉定位;或
所述选择单元用于当所述定位位置所处场景为室内弱纹理小房间场景时,选择第四定位方式进行视觉定位;或
所述选择单元用于当所述定位位置所处场景为室内微场景时,选择第五定位方式进行视觉定位;
其中,所述第一定位方式、所述第二定位方式、所述第三定位方式、所述第四定位方式、以及所述第五定位方式所采用的定位方法不同。
12.根据权利要求7所述的系统,其特征在于:
所述第一获取单元用于获取在所述定位位置拍摄的第一图像;
所述系统还包括:
搜索单元,用于在数据库中搜索与所述第一图像最近的一帧或多帧图像,得到一个或多个候选图像;
渲染单元,用于根据所述一个或多个候选图像中的每个候选图像的拍摄位姿,以第一步长从多个方向进行渲染,得到多个方向的渲染图像;
比较单元,用于比较每个候选图像与所述每个候选图像的多个方向的渲染图像之间的差别;
所述渲染单元还用于以至少一个第二步长从所述差别最小的方向进行渲染,直至所述差别小于第一阈值,得到的所述候选图像的拍摄位姿为所述定位位置的最终位置。
13.根据权利要求7所述的系统,其特征在于:
所述第一获取单元用于获取在所述定位位置拍摄的第一图像及初始定位位置;
所述系统还包括:
第二提取单元,用于经用于提取位姿的一个或多个候选网络对所述第一图像进行提取处理,得到一个或多个位姿;
加权单元,用于根据所述一个或多个候选网络的覆盖区域中心点位置,对所述一个或多个位置进行加权平均,得到所述定位位置的最终位置。
14.一种视觉定位系统,其特征在于,所述视觉定位系统包括视觉定位设备和云服务器;
所述视觉定位设备用于获取在所述定位位置拍摄的第一图像,提取所述第一图像的特征描述子;
所述视觉定位设备还用于向所述服务器发送所述第一图像的特征描述子的索引信息;
所述云服务器用于根据所述第一图像的特征描述子的索引信息,获取所述索引信息对应的特征描述子,并在数据库中搜索与所述第一图像的特征描述子的距离最近的特征描述子,得到候选特征描述子,以及根据所述候选特征描述子计算得到所述定位位置的最终位置;
所述云服务器还用于向所述视觉定位设备返回所述定位位置的最终位置;
其中,所述特征描述子包括局部特征描述子和全局特征描述子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911208660.8A CN112884834A (zh) | 2019-11-30 | 2019-11-30 | 视觉定位方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911208660.8A CN112884834A (zh) | 2019-11-30 | 2019-11-30 | 视觉定位方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112884834A true CN112884834A (zh) | 2021-06-01 |
Family
ID=76039319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911208660.8A Pending CN112884834A (zh) | 2019-11-30 | 2019-11-30 | 视觉定位方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884834A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185225A (zh) * | 2014-09-11 | 2014-12-03 | 南京大学 | 一种基于场景分类的室内外无缝定位切换方法 |
CN104700402A (zh) * | 2015-02-06 | 2015-06-10 | 北京大学 | 基于场景三维点云的视觉定位方法及装置 |
CN106447585A (zh) * | 2016-09-21 | 2017-02-22 | 武汉大学 | 城市地区和室内高精度视觉定位系统及方法 |
WO2018018854A1 (zh) * | 2016-07-25 | 2018-02-01 | 无锡知谷网络科技有限公司 | 用于室内定位的方法及系统 |
CN109493385A (zh) * | 2018-10-08 | 2019-03-19 | 上海大学 | 一种结合场景点线特征的移动机器人室内自主定位方法 |
-
2019
- 2019-11-30 CN CN201911208660.8A patent/CN112884834A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185225A (zh) * | 2014-09-11 | 2014-12-03 | 南京大学 | 一种基于场景分类的室内外无缝定位切换方法 |
CN104700402A (zh) * | 2015-02-06 | 2015-06-10 | 北京大学 | 基于场景三维点云的视觉定位方法及装置 |
WO2018018854A1 (zh) * | 2016-07-25 | 2018-02-01 | 无锡知谷网络科技有限公司 | 用于室内定位的方法及系统 |
CN106447585A (zh) * | 2016-09-21 | 2017-02-22 | 武汉大学 | 城市地区和室内高精度视觉定位系统及方法 |
CN109493385A (zh) * | 2018-10-08 | 2019-03-19 | 上海大学 | 一种结合场景点线特征的移动机器人室内自主定位方法 |
Non-Patent Citations (1)
Title |
---|
史殿习;童哲航;杨绍武;张拥军;易晓东: "面向场景变化的动态自适应同时定位与地图构建", 中国科学:技术科学, vol. 48, no. 12, 23 November 2018 (2018-11-23), pages 1 - 19 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112435325B (zh) | 基于vi-slam和深度估计网络的无人机场景稠密重建方法 | |
US20220262039A1 (en) | Positioning method, electronic device, and storage medium | |
EP2833322B1 (en) | Stereo-motion method of three-dimensional (3-D) structure information extraction from a video for fusion with 3-D point cloud data | |
US9564175B2 (en) | Clustering crowdsourced videos by line-of-sight | |
CN115205489A (zh) | 一种大场景下的三维重建方法、系统及装置 | |
CN109063549B (zh) | 基于深度神经网络的高分辨率航拍视频运动目标检测方法 | |
CN108509621B (zh) | 景区全景图的景点识别方法、装置、服务器和存储介质 | |
CN111323024B (zh) | 定位方法及装置、设备、存储介质 | |
TWI745818B (zh) | 視覺定位方法、電子設備及電腦可讀儲存介質 | |
CN112207821B (zh) | 视觉机器人的目标搜寻方法及机器人 | |
Takacs et al. | 3D mobile augmented reality in urban scenes | |
CN112270755A (zh) | 三维场景构建方法、装置、存储介质与电子设备 | |
CN112270709B (zh) | 地图构建方法及装置、计算机可读存储介质和电子设备 | |
CN111402412A (zh) | 数据采集方法及装置、设备、存储介质 | |
US8885952B1 (en) | Method and system for presenting similar photos based on homographies | |
EP2707836A1 (en) | System and method for compact descriptor for visual search | |
CN111829522B (zh) | 即时定位与地图构建方法、计算机设备以及装置 | |
CN112257638A (zh) | 一种图像比对方法、系统、设备及计算机可读存储介质 | |
CN116843754A (zh) | 一种基于多特征融合的视觉定位方法及系统 | |
CN113129422A (zh) | 一种三维模型构建方法、装置、存储介质和计算机设备 | |
CN112884834A (zh) | 视觉定位方法及系统 | |
CN113298871B (zh) | 地图生成方法、定位方法及其系统、计算机可读存储介质 | |
CN114299230A (zh) | 一种数据生成方法、装置、电子设备及存储介质 | |
CN114241039A (zh) | 地图数据处理方法、装置、存储介质与电子设备 | |
US11223815B2 (en) | Method and device for processing video |
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 |