CN113987228A - 一种数据库构建方法、一种定位方法及其相关设备 - Google Patents
一种数据库构建方法、一种定位方法及其相关设备 Download PDFInfo
- Publication number
- CN113987228A CN113987228A CN202111113556.8A CN202111113556A CN113987228A CN 113987228 A CN113987228 A CN 113987228A CN 202111113556 A CN202111113556 A CN 202111113556A CN 113987228 A CN113987228 A CN 113987228A
- Authority
- CN
- China
- Prior art keywords
- scene feature
- information
- feature point
- database
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3859—Differential updating map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/003—Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种定位方法,其特征在于,应用于车辆,包括:通过车载相机获取实时图像,以及获取所述实时图像时的自然条件信息;将所述实时图像和所述自然条件信息发送给服务器,并接收服务器反馈的定位信息,所述定位信息由所述服务器基于所述实时图像和所述自然条件信息获得;基于所述定位信息获得所述车辆的位置信息。本申请实施例公开的定位方法考虑到了自然条件变化因素,可以提高视觉定位系统对车辆定位精度。
Description
本申请为2018年06月20日提交中国专利局、申请号为201810642562.4、发明名称为“一种数据库构建方法、一种定位方法及其相关设备”的中国专利申请的分案。
技术领域
本申请涉及通信领域,尤其涉及一种数据库构建方法、一种定位方法及其相关设备。
背景技术
无人驾驶技术中,车辆定位的重要性不言而喻,在车辆的运行过程中,需要实时获取车辆的最新位置,并对后续车辆的路线进行规划。一般可以采用(global positioningsystem,GPS)、相机、激光雷达、毫米波雷达和/或惯性测量单元(inertial measurementunit,IMU)等进行定位,但是,这些定位方式都不可避免的存在定位精度不准确的问题。
目前,提出了一种视觉定位方法,其原理是通过先建立数据库,识别匹配实时场景与数据库中的同一场景特征点来实现定位。数据库中存储有场景的关键帧和场景特征点,关键帧是用来表示现实世界的图像,场景特征点是指场景关键帧中提取出来的视觉场景特征点,且场景特征点从属于关键帧。场景特征点还具有描述子,用来形容该场景特征点,同时场景特征点在不同自然条件下具有不同的描述子信息。
当外界环境发生变化时,采集到的现实场景关键帧中的描述子信息也会发生变化,从而导致相应的场景特征点发生变化,在视觉定位过程中进行场景特征点匹配时,会出现现实场景关键帧中某些场景特征点与数据库中的场景特征点无法匹配的情况,最终导致定位不准确。
发明内容
本申请实施例公开了一种数据库构建方法、一种定位方法及相关设备,用于根据与目标自然条件信息对应的第二场景特征点信息构建数据库,以便数据库用于定位时定位更加准确。
本申请的第一方面提供了一种数据库构建方法,包括:
网络设备获取图像集合后,从图像集合中确定满足预置重合度要求的目标图像集合。当移动设备直行时,按照预置距离间隔获取图像集合,再计算按照预置距离间隔获取的图像重合度是否满足要求,当汽车弯行时,按照预置角度间隔获取图像集合,再计算按照预置角度间隔获取的图像重合度是否满足要求。
在本实施例中,图像是指移动设备及其周边环境的影像,图像的获取方式可以通过在移动设备上安装摄像头进行获取,移动设备也可以自身具备图像获取功能,具体此处不作限定。
在本实施例中,目标图像集合中包括至少一张图像,且每张图像都是在唯一的自然条件状况下拍摄的,因此每张图像对应一种自然条件信息。
自然条件信息的确定方式为:移动设备通过全球定位系统GPS、激光雷达、毫米波雷达和/或惯性测量单元IMU获取移动设备的位置信息,再将位置信息发送至气候服务器得到当前位置的自然条件信息。
网络设备对目标图像集合进行分析处理得到场景特征点信息,同时目标图像集合中每张图像对应的唯一的一种自然条件信息,将场景特征点集合中的每个场景特征点分别与自然条件信息建立对应关系,从而得到场景特征点信息集合。场景特征点信息集合中包括至少一个场景特征点信息,每个场景特征点信息中包括场景特征点的3D坐标、像素坐标、所属关键帧ID和描述子信息,其中每个描述子信息中包括一种自然条件信息,场景特征点的3D坐标、像素坐标和所属关键帧ID是静态指标,而描述子信息是动态指标,会随着自然条件状况发生变化。
视觉定位的过程是通过场景特征点比对确定相同场景特征点后,根据相同场景特征点进行定位的过程,而静止的场景特征点一般作为用于对比的场景特征点可以使定位更加准确,为了找出场景特征点集合中具有代表性的静止场景特征点,需要进行生命值计算。生命值的大小用于表示场景特征点为静态场景特征点的概率,生命值越大,场景特征点为静态特征点的概率越大,反之亦然。
同一场景特征点可能被单个移动设备拍摄到,也可能被多个移动设备拍摄的,首先确定场景特征点信息集合中,对于单个移动设备而言,即场景特征点被一个移动设备观察到时,生命值大于第一预置生命值门限的场景特征点,再确定第一场景特征点信息中,对于多个移动设备而言,即场景特征点被两个或以上移动设备观察到时,生命值大于第二预置生命值门限的场景特征点,该场景特征点即为第二场景特征点。
将按照上述方式进行筛选得到的第二场景特征点的信息与数据库中预置的场景特征点信息进行比对,当第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,则在数据库中更新第二场景特征点信息,使得数据库中的场景特征点信息更完善。
本实施例具有以下优点:确定满足预置图像重合度要求的目标图像集合后,根据所述目标图像集合以及图形集合中每张图像对应的自然条件信息确定场景特征点信息集合,随后确定得到场景特征信息集合中在单个移动设备的生命值大于第一预置生命值门限,且在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息,当第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,根据该第二场景特征点信息构建数据库。在本实施例中,按照上述方式筛选得到第二场景特征点信息后,当数据库中不存在与某种自然条件信息相关的第二场景特征点信息时,根据该第二场景特征点信息构建该数据库,使得构建完成后的数据库用于定位时,定位更加准确。
基于第一方面,在第一方面的第一种可实现的方式中,第二场景特征点信息与数据库中预置的场景特征点信息不匹配具体包括:数据库中不存在所述第二场景特征点信息。
当数据库中不存在第二场景特征点时,显然数据库中也不可能存在第二场景特征点信息,此时,将第二场景特征点信息存储于数据库中,储存的第二场景特征点信息中包括第二场景特征点的3D坐标、像素坐标和所属关键帧ID和描述子信息。
在本实施例中,对根据第二场景特征点信息构建数据库的一种情况进行了说明,增加了方案的可实施性。
基于第一方面,在第一方面的第二种可实现的方式中,第二场景特征点信息与数据库中预置的场景特征点信息不匹配具体包括:数据库中存在第二场景特征点信息,但是第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息。
当数据库中存在第二场景特征点信息,但是数据库中储存的第二场景特征点信息与从从图像中确定的第二场景特征点信息不相同,不相同的原因是两者的动态指标即描述子信息发生了变化,例如数据库的第二场景特征点信息为第二场景特征点的3D坐标、像素坐标和所属关键帧ID和描述子1的信息。图像中确定的第二场景特征点信息为第二场景特征点的3D坐标、像素坐标和所属关键帧ID和描述子2的信息。
此时需要在数据库的第二场景特征点中增加与目标自然条件信息相关的目标描述子信息,即描述子2的信息。
在本实施例中,对根据第二场景特征点信息构建数据库的另一种情况进行了说明,增加了方案实施的灵活性。
基于第一方面的第一种或第二种实现的方式,在第一方面的第三种实现的方式中,所述在数据库中增加所述第二场景特征点信息之前,所述方法还包括:
确定与第二场景特征点信息中第二场景特征点的3D坐标,该3D坐标是在确定第二场景特征点所属图像的定位信息时,同步确定得到的;
分别计算数据库中预置的每个场景特征点的3D坐标与第二场景特征点的3D坐标的差值,判断差值是否均大于第一预置门限值;
若是,确定数据库中不存在第二场景特征点信息;
若数据库中存在预置的任意一个场景特征点的3D坐标与第二场景特征点的3D坐标的差值小于第一预置门限值,则确定数据库中存在第二场景特征点,同时也存在第二场景特征点信息。
在本实施例中,对第二场景特征点是否在数据库中存在的判定方式进行了说明,增加了方案可实施性。
基于第一方面的第二种实现的方式,在第一方面的第四种实现的方式中,所述在所述数据库预置的第二场景特征点信息中增加所述目标描述子信息之前,所述方法还包括:
当数据库中存在第二场景特征点信息时,确定数据库中预置的第二场景特征点信息的至少一个描述子,判断至少一个描述子中,是否存在一个描述子与图像中目标描述子信息对应的描述子的距离小于预置距离门限;
若数据库预置的描述子,与第二场景特征点信息中的目标描述子信息对应的描述子的距离均大于第二预置距离门限,则确定数据库预置的第二场景特征点信息中不包括目标描述子信息。
在本实施例中,对判断目标描述子信息是否在数据库中存在的判断方式进行了说明,增加了方案的可实施性。
基于第一方面及其第一方面的第一种至第二种实现的方式,在第一方面的第五种实现的方式中,场景特征点在单个移动设备的生命值为f,所述f的计算公式为: 其中,所述n表示某一场景特征点在单个移动设备中被观察到的次数,单个移动设备可以进行多次实验获取图像,因此某一场景特征点可能被单个移动设备观察到多次,所述n0为事先通过模型训练得到的任一场景特征点被至少一个移动设备观察到的次数的平均值,所述σ为事先通过模型训练得到的任一场景特征点被至少一个移动设备观察到的次数的方差。
在本实施例中,对场景特征点在单个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第一方面的第五种实现方式,在第一方面的第六种实现的方式中,某一场景特征点可能被多个移动设备拍摄到,场景特征点在多个移动设备的生命值为F,所述F的计算公式为:所述f为该场景特征点在单个移动设备的生命值,所述B为多个移动设备中每个移动设备对应的权重系数,且所述多个移动设备中一个移动设备对应一个权重系数。例如,场景特征点被3个移动设备拍摄到,3个移动设备中每个移动设备都对应一个权重系数,则用该场景特征点在单个移动设备的生命值乘以该移动设备的权重系数,再对三个移动设备求和得到场景特征点被多个移动设备观察到时的生命值。
在本实施例中,多个移动设备表示至少两个移动设备。
在本实施例中,对场景特征点在多个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第一方面的第六种实现方式,在第一方面的第七种实现的方式中,βi的计算公式为:βi=γt+γg+γc,所述γt为所述场景特征点在多个移动设备被观测到的时间连续性指标,所述γg为所述场景特征点在多个移动设备被观测到的几何连续性指标,所述γc为所述场景特征点在多个移动设备被观测到的描述一致性指标。
其中,γt与不同移动设备观测到同一场景特征点之间的时间间隔有关,几何连续性指标γg与不同移动设备观测到同一场景特征点之间的欧式距离有关,描述一致性γc与不同移动设备观测到同一场景特征点之间的描述距离有关。
在本实施例中,对权重系数βi的计算公式进行了说明,增加了方案的可实施性。
基于第一方面及其第一方面的第一种至第二种实现方式,在第一方面的第八种实现的方式中,所述确定满足预置图像重合度要求的目标图像集合包括:
当移动设备直行时,首先按照预置距离间隔dk+1选择图像,当选择的图像的重合度与预置重合度门限的差值在预置精度范围内时,确定选择的图像为目标图像,再按照上述预置距离间隔选择图像得到目标图像集合。
当选择的图像的重合度与预置重合度门限的差值不在预置精度范围内时,则根据距离间隔dk+1对应的图像的重合度与预置重合度门限的差值,计算得到还需要在距离间隔dk+1基础上增加或减少多少距离间隔选择图像才能使得选择的图像满足预置重合度要求,从而得到下一次选择图像的距离间隔dk+2,再以dk+2作为选择图像的距离间隔重复执行上述步骤,若以dk+2选择图像满足重合度要求,则按照dk+2选择图像得到目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,同时也可以避免与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第一方面的第八种实现方式,在第一方面的第九种实现的方式中,所述预置距离间隔dk+1;
所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为预置的重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时计算得到的图像之间的重合度。
在本实施例中,对预置距离间隔的计算公式进行了说明,增加了方案的完整性。
基于第一方面及其第一方面的第一种至第二种实现方式,在第一方面的第十种实现的方式中,所述确定满足预置图像重合度要求的目标图像集合包括:
当移动设备弯行时,首先按照预置角度间隔θk+1选择图像,当选择的图像的重合度与预置重合度门限的差值在预置精度范围内时,确定选择的图像为目标图像,再重复按照预置角度间隔选择图像得到目标图像集合。
当选择的图像的重合度与预置重合度门限的差值不在预置精度范围内时,则根据角度间隔θk+1对应的图像的重合度与预置重合度门限差值,计算得到还需要在角度间隔θk+1基础上增加或减少多少角度间隔选择图像才能使得选择的图像满足预置重合度要求,从而得到下一次选择图像的角度间隔θk+2,再以θk+2作为选择图像的角度间隔重复执行上述步骤,若以θk+2选择图像满足重合度要求,则按照θk+2选择图像得到目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,同时也可以避免与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第一方面的第十种实现方式,在第一方面的第十一种实现的方式中,所述预置角度间隔θk+1。
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置得重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时计算得到的图像之间的重合度。
在本实施例中,对预置角度间隔的计算公式进行了说明,增加了方案的完整性。
基于第一方面及其第一方面的第一种至第二种实现方式,在第一方面的第十二种实现的方式中,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息,所述根据所述目标图像集合和所述自然条件信息得到场景特征点信息集合包括:
1>网络设备对一张所述目标图像进行处理得到该目标图像的场景特征点;
2>建立场景特征点、所述场景特征点所属目标图像(或场景特征点所属关键帧ID)和所述目标图像对应的所述自然条件信息的对应关系,从而构成所述场景特征点信息,该场景特征点信息中还包括场景特征点的3D坐标和像素坐标等信息。
其中,场景特征点所属目标图像可以为多个,即多个目标图像中均包括该场景特征点,每个目标图像对应的自然条件信息一般是不同的,因此场景特征点信息中可以有多个描述子信息,同时也不排除有两个或以上目标图像对应的自然条件信息相同。
重复执行步骤1>和2>,对每张图像均进行上述处理,直至构成得到所述场景特征点信息集合。
在本实施例中,对场景特征点信息集合的确定方式进行了说明,增加了方案的完整性。
基于第一方面及其第一方面的第一种至第二种实现方式,在第一方面的第十三种实现的方式中,所述根据所述第二场景特征点信息构建所述数据库之后,所述方法还包括:
确定构建完成后所述数据库中的场景特征点信息,该场景特征点信息为第三场景特征点信息;
当所述第三场景特征点信息对应的第三场景特征点的特征数量控制得分FNCS小于预置FNCS门限时,在所述数据库中删除所述第三场景特征点信息,FNCS的大小可以表示场景特征点在定位时被使用的概率以及场景特征点信息中包含描述子的多少。
在本实施例中,预置FNCS可以事先通过多次实验确定。
在本实施例中,对数据库构建完成后,场景特征点的管理进行了说明,可以删除FNCS值低的场景特征点,便于数据库的管理。
基于第一方面的第十三种实现方式,在第一方面的第十四种实现的方式中,所述特征数量控制得分FNCS的计算公式为:所述为所述场景特征点在定位时被使用的概率,M为在场景特征点所在位置进行定位的总次数,mi表示在进行定位时该场景特征点被使用的次数,所述为所述场景特征点的描述子数量占所述场景特征点所属图像中描述子总数的比例。
在本实施例中,对特征数量控制得分FNCS的计算公式进行了说明,增加了方案的可实施性。
本申请实施例的第二方面提供了一种定位方法,其特征在于,包括:
网络设备获取移动设备的实时图像,在本实施例中,实时图像是指移动设备及其周边环境的影像,实时图像的获取方式可以通过在移动设备上安装摄像头进行获取,移动设备也可以自身具备图像获取功能,具体此处不作限定。
网络设备获取实时图像后,对实时图像进行分析处理得到确定至少一个第一描述子信息,所述第一描述子信息中包括移动设备或移动设备的外接摄像头拍摄所述实时图像时,移动设备所在位置的目标自然条件信息,实时图像中包含至少一个特征点信息,实时图像拍摄时的自然条件信息是一定的,因此一个特征点信息中只包括一个描述子信息,进而实时图像得至少一个描述子信息都包含相同的目标自然条件信息。
目标自然条件信息可以由网络设备确定,也可以由移动设备确定后发送至网络设备,目标自然条件信息的确定方式是:首先网络设备或移动设备确定拍摄所述实时图像时移动设备的位置信息,可以通过全球定位系统GPS、激光雷达、毫米波雷达和/或惯性测量单元IMU确定,网络设备或移动设备再根据位置信息确定得到目标自然条件信息。
将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定相同的描述子信息,对比的方式具体为:
确定至少一个描述子信息中的一个描述子信息;
判断该描述子信息对应的描述子,是否与数据库中预置的任意一个描述子信息对应的描述子的距离小于预置距离门限;
若是,确定该描述子与数据库中与之距离间隔小于预置距离门限的描述子为同一个描述子,对应的描述子信息也相同,若否,则两者为不同的描述子,对应的描述子信息也不同。
重复执行上述步骤,将至少一个描述子信息中的每个描述子分别于数据库中预置的描述子进行对比,判断得到相同的描述子信息。
在本实施例中,数据库中预置的描述子信息由数据库构建完成后得到,网络设备确定满足预置图像重合度要求的目标图像集合后,根据所述目标图像集合以及所述目标图像集合中每张图像对应的自然条件信息得到场景特征点信息集合,从所述场景特征点信息集合中选择满足预置生命值要求的第一场景特征点对应的第一场景特征点信息,确定第一场景特征点信息中与目标自然条件信息对应的第二描述子信息,当所述第二描述子信息与所述数据库中预置的描述子信息不匹配时,再根据第二描述子信息构建数据库。
在本实施例中,构建数据库的具体过程与本申请所述第一方面数据库的构建过程类似,具体此处不再赘述。
确定得到相同的描述子信息后,根据相同的描述子信息,对实时图像进行视觉定位。
在本实施例中,对数据库构建完成后的定位过程进行说明,增加了方案的实用性。
基于第二方面,在第二方面的第一种实现方式中,所述利用所述相同的描述子信息对所述实时图像进行定位包括:
确定实时图像中与数据库中相同的描述子信息后,确定相同描述子信息在数据库中所属的第一场景特征点信息,查找数据库得到第一场景特征点的3D坐标、像素坐标等信息,再结合第一场景特征点信息和定位计算公式得到拍摄实时图像时目标移动设备的位置。
在本实施例中,对实时图像定位的具体方式进行了说明,增加了方案的可实施性。
基于第二方面的第一种实现方式中,在第二方面的第二种实现方式中,所述定位计算公式为:
拍摄所述实时图像时所述目标移动设备的位置 其中所述为实时图像中所述第一场景特征点的像素坐标,πC为相机的内参矩阵,所述πC用于将3D坐标转换为像素坐标,所述为数据库中场景特征点所属图像相对于世界坐标系的位姿,所述为所述数据库中所述第一场景特征点的像素坐标,所述i的取值为1至n,所述n为正整数,所述第一场景特征点与所述第一场景特征点信息对应。
实时图像中共有n个场景特征点与数据库中的场景特征点相匹配。通过(πC)-1转换得到相对于汽车的3D坐标,然后通过转换得到相对于世界坐标系的3D坐标,接着再经过转换得到相对于数据库的像素坐标,为数据库中场景特征点所属关键帧相对于世界坐标系的位姿。转换得到的像素坐标与数据库中相匹配的场景特征点的像素坐标一致,把两者相减即得到了重投影误差模型。最后通过最优化方法使重投影误差模型的值最小,就可以得到汽车的实时位姿
在本实施例中,对定位公式的具体算法进行了说明,增加了方案的完整性。
基于第二方面及其第二方面的第一种至第二种实现方式中,在第二方面的第三种实现方式中,所述根据所述实时图像确定至少一个第一描述子信息之后,所述方法还包括:
将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定不同的描述子信息;
在本实施例中,描述子信息对比的方式与上述第二方面所述的描述子信息对比方式类似,具体此处不再赘述。
若实时图像中存在与数据库中不同的描述子信息,则将不同描述子的描述子信息加入数据库,以便于数据库用于定位时定位更加准确。
在本实施例中,定位过程中可以根据不同描述子信息更新数据库,使得数据库更加完善,从而使得定位更加准确。
基于第二方面的第三种实现方式中,在第二方面的第四种实现方式中,当所述数据库中不存在所述不同描述子信息所属的第二场景特征点信息时,所述根据所述不同的描述子信息构建所述数据库包括:
当数据库中不存在第二场景特征点时,同样的也不存在第二场景特征点信息,第二场景特征点为不同描述子所属的场景特征点,则此时需要在数据库中增加包含不同描述子信息的第二场景特征点信息。在本实施例中,可能存在不同描述子信息的个数可以为多个,实时图像的一个第二场景特征点信息只能包含一个不同的描述子,因此数据库中需要增加的第二场景特征点信息的个数也为多个。
在本实施例中,对根据不同描述子信息构建数据库的一种情况进行了说明,增加了方案的实用性。
基于第二方面的第三种实现方式中,在第二方面的第五种实现方式中,当所述数据库中存在所述不同描述子信息所属的第二场景特征点信息时,所述根据所述不同的描述子信息构建所述数据库包括:
当数据库中存在第二场景特征点时,同样的也存在第二场景特征点信息,但是数据库的第二场景特征点信息与实时图像中的第二场景特征点信息不同,即第二场景特征点信息中不包含所述不同的描述子信息,此时需要在数据库的第二场景特征点信息中增加所述不同描述子信息。例如数据库的第二场景特征点信息为第二场景特征点的3D坐标、像素坐标和所属关键帧ID和描述子1的信息。实时图像中确定的第二场景特征点信息为第二场景特征点的3D坐标、像素坐标和所属关键帧ID和描述子2的信息。此时需要在数据库的第二场景特征点信息中增加描述子2的信息。
在本实施例中,对根据不同描述子信息构建数据库的另一种情况进行了说明,增加了方案的完整性。
基于第二方面的第三种实现方式,在第二方面的第六种实现方式中,所述根据所述不同的描述子信息构建所述数据库之前,所述方法还包括:
确定与第二场景特征点信息中包含的第二场景特征点的3D坐标,该3D坐标是在确定第二场景特征点所属图像的定位信息时,同步确定得到的;
分别计算数据库中预置的每个场景特征点的3D坐标与第二场景特征点的3D坐标的差值是否均大于第一预置门限值;
若是,确定数据库中不存在第二场景特征点信息;
若数据库中存在预置的任意一个场景特征点的3D坐标与第二场景特征点的3D坐标的差值小于第一预置门限值,则确定数据库中存在第二场景特征点,同时也存在第二场景特征点信息。
在本实施例中,对数据库中是否存在第二场景特征点的判断方式进行了说明,增加了方案的可实施性。
本申请的三方面提供了一种数据库,所述数据库部署于服务器;
所述数据库由与数据库中预置场景特征点信息不匹配的第二场景特征点信息构建形成,且所述第二场景特征点信息为第一场景特征点信息中在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的场景特征点信息,所述第一场景特征点信息为场景特征点信息集合中在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的场景特征点信息,所述场景特征点信息集合根据目标图像集合和每张图像对应的自然条件信息得到,且所述场景特征点集合中包括至少一个场景特征点信息,所述目标图像集合中包括至少一张满足预置图像重合度要求的图像,且每张图像对应一种自然条件信息。
本实施例中的数据库的形成过程,与第一方面进行数据库构建的过程类似,具体此处不再赘述。
在本实施例中,对数据库的构建方式进行了说明,数据库构建完成好可以用于视觉定位,使得定位更加准确。
基于第三方面,在第三方面的第一种实现方式中,所述服务器还包括处理器;
所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:所述数据库中不存在所述第二场景特征点信息;
所述数据库由第二场景特征点信息构建形成包括:
当第二场景特征点信息在数据库中不存在时,在数据库中增加第二场景特征点信息,因此所述数据库由所述服务器在所述数据库中增加所述第二场景特征点信息形成,所述第二场景特征点信息中包括关于目标自然条件信息的目标描述子信息。
在本实施例中,对第二场景特征点构建数据库的一种方式进行了说明,增加了方案的可实施性。
基于第三方面,在第三方面的第二种实现方式中,所述服务器还包括处理器;
所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:所述数据库中存在所述第二场景特征点信息,且所述第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息;
所述数据库由第二场景特征点信息构建形成包括:
当数据库中预置的场景特征点信息与第二场景特征点信息相同,但是两者的描述子信息不同时,将不同的描述子信息加入数据库,因此所述数据库由所述服务器在所述数据库预置的第二场景特征点信息中增加所述目标描述子信息形成。
在本实施例中,对第二场景特征点构建数据库的另一种方式进行了说明,增加了方案实施的多样性。
本申请的第四方面提供了一种网络设备,包括:
确定单元,用于确定满足预置图像重合度要求的目标图像集合,所述目标图像集合中包括至少一张图像,且每张图像对应一种自然条件信息;
处理单元,用于根据所述目标图像集合和所述每张图像对应的自然条件信息得到场景特征点信息集合,所述场景特征点集合中包括至少一个场景特征点信息;
所述确定单元,还用于确定所述场景特征点信息集合中,在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的第一场景特征点信息,所述生命值的大小用于表示所述场景特征点为静态场景特征点的概率;
所述确定单元,还用于确定所述第一场景特征点信息中,在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息;
数据库构建单元,用于当所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,根据所述第二场景特征点信息构建所述数据库。
在本实施例中,按照上述方式筛选得到第二场景特征点信息后,当数据库中不存在与某种自然条件信息相关的第二场景特征点信息时,根据该第二场景特征点信息构建该数据库,使得构建完成后的数据库用于定位时,定位更加准确。
基于第四方面,在第四方面的第一种可实现的方式中,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中不存在所述第二场景特征点信息;
所述数据库构建单元,具体用于在数据库中增加所述第二场景特征点信息,所述第二场景特征点信息中包括关于目标自然条件信息的目标描述子信息。
在本实施例中,对根据第二场景特征点信息构建数据库的一种情况进行了说明,增加了方案的可实施性。
基于第四方面,在第四方面的第二种可实现的方式中,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中存在所述第二场景特征点信息,且所述第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息;
所述数据库构建单元具体用于在所述数据库预置的第二场景特征点信息中增加所述目标描述子信息。
在本实施例中,对根据第二场景特征点信息构建数据库的另一种情况进行了说明,增加了方案实施的灵活性。
基于第四方面的第一种或第二种可实现方式,在第四方面的第三种可实现的方式中,所述确定单元,还用于与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
在本实施例中,对第二场景特征点是否在数据库中存在的判定方式进行了说明,增加了方案可实施性。
基于第四方面的第二种可实现方式,在第四方面的第四种可实现方式中,所述确定单元,还用于确定数据库中预置的所述第二场景特征点的至少一个描述子信息;
所述网络设备还包括:
判断单元,用于判断所述至少一个描述子信息中,是否存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限;
所述确定单元,还用于若所述至少一个描述子信息中,不存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限,确定所述数据库预置的第二场景特征点信息中不包括目标描述子信息。
在本实施例中,对判断目标描述子信息是否在数据库中存在的判断方式进行了说明,增加了方案的可实施性。
基于第四方面及其第四方面的第一种和第二种可实现方式,在第四方面的第五种可实现的方式中,所述场景特征点在单个移动设备的生命值为f,所述f的计算公式为:
在本实施例中,对场景特征点在单个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第四方面的第五种可实现方式,在第四方面的第六种可实现的方式中,所述场景特征点在多个移动设备的生命值为F,所述F的计算公式为:所述f为所述场景特征点在单个移动设备的生命值,所述B为每个移动设备对应的权重系数,且所述多个移动设备中一个移动设备对应一个权重系数。
在本实施例中,对场景特征点在多个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第四方面的第六种可实现方式,在第四方面的第七种可实现的方式中,所述βi的计算公式为:βi=γt+γg+γc,所述γt为所述场景特征点在多个移动设备被观测到的时间连续性指标,所述γg为所述场景特征点在多个移动设备被观测到的几何连续性指标,所述γc为所述场景特征点在多个移动设备被观测到的描述一致性指标。
在本实施例中,对权重系数βi的计算公式进行了说明,增加了方案的可实施性。
基于第四方面及其第四方面的第一种和第二种可实现方式,在第四方面的第八种可实现的方式中,所述确定单元具体用于,按照预置距离间隔选择图像。
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,以及后续与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第四方面的第八种可实现方式,在第四方面的第九种可实现的方式中,所述预置距离间隔dk+1;
所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为所述预置重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时图像之间的重合度。
在本实施例中,对预置距离间隔的计算公式进行了说明,增加了方案的完整性。
基于第四方面及其第四方面的第一种和第二种可实现方式,在第四方面的第十种可实现的方式中,所述确定单元,具体用于按照预置角度间隔选择图像;
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,以及后续与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第四方面的第十种可实现方式,在第四方面的第十一种可实现的方式中,所述预置角度间隔θk+1;
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时图像之间的重合度。
在本实施例中,对预置角度间隔的计算公式进行了说明,增加了方案的完整性。
基于第四方面及其第四方面的第一种和第二种可实现方式,在第四方面的第十二种可实现的方式中,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息,所述处理单元,具体用于1>对一张所述目标图像进行处理得到场景特征点;
2>利用所述场景特征点、所述场景特征点所属目标图像和所述目标图像对应的所述自然条件信息构成所述场景特征点信息;
重复执行步骤1>和2>,直至构成得到所述场景特征点信息集合。
在本实施例中,对场景特征点信息集合的确定方式进行了说明,增加了方案的完整性。
基于第四方面及其第四方面的第一种和第二种可实现方式,在第四方面的第十三种可实现的方式中,所述确定单元,还用于确定构建完成后所述数据库中的第三场景特征点信息;
所述数据库构建单元,还用于当所述第三场景特征点信息对应的第三场景特征点的特征数量控制得分FNCS小于预置FNCS门限时,在所述数据库中删除所述第三场景特征点信息。
在本实施例中,对数据库构建完成后,场景特征点的管理进行了说明,可以删除FNCS值低的场景特征点,便于数据库的管理。
基于第四方面的第十三种可实现方式,在第四方面的第十四种可实现的方式中,所述特征数量控制得分FNCS的计算公式为:所述为所述场景特征点在定位时被使用的概率,所述为所述场景特征点的描述子数量占所述场景特征点所属图像中描述子总数的比例。
在本实施例中,对特征数量控制得分FNCS的计算公式进行了说明,增加了方案的可实施性。
本申请的第五方面提供了一种定位方法,所述方法应用于视觉定位系统,所述方法包括:
获取单元,用于获取实时图像;
确定单元,用于根据所述实时图像确定至少一个第一描述子信息,所述第一描述子信息中包括拍摄所述实时图像时的目标自然条件信息;
所述确定单元,还用于将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定相同的描述子信息,所述数据库中预置的描述子信息由所述网络设备确定满足预置图像重合度要求的目标图像集合后,根据所述目标图像集合以及所述目标图像集合中每张图像对应的自然条件信息得到场景特征点信息集合,从所述场景特征点信息集合中选择满足预置生命值要求的第一场景特征点对应的第一场景特征点信息,再根据所述第一场景特征点信息中与目标自然条件信息对应的第二描述子信息构建所述数据库后得到,所述第二描述子信息与所述数据库中预置的描述子信息不匹配,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息;
定位单元,用于利用所述相同的描述子信息对所述实时图像进行定位。
在本实施例中,对数据库构建完成后的定位过程进行说明,增加了方案的实用性。
基于第五方面,在第五方面的第一种可实现方式中,所述定位单元,具体用于确定所述相同描述子信息在数据库中对应的第一场景特征点信息;
根据所述第一场景特征点信息和定位计算公式计算得到拍摄所述实时图像时目标移动设备的位置。
在本实施例中,对实时图像定位的具体方式进行了说明,增加了方案的可实施性和实用性。
基于第五方面的第一种可实现方式,在第五方面的第二种可实现方式中,所述定位计算公式为:
拍摄所述实时图像时所述目标移动设备的位置 其中所述为实时图像中所述第一场景特征点的像素坐标,πC为相机的内参矩阵,所述πC用于将3D坐标转换为像素坐标,所述为数据库中场景特征点所属图像相对于世界坐标系的位姿,所述为所述数据库中所述第一场景特征点的像素坐标,所述i的取值为1至n,所述n为正整数,所述第一场景特征点与所述第一场景特征点信息对应。
在本实施例中,对定位公式的具体算法进行了说明,增加了方案的完整性。
基于第五方面及其第五方面的第一种至第二种可实现方式,在第五方面的得第三种可实现方式中,所述确定单元,还用于将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定不同的描述子信息;
所述网络设备还包括数据库构建单元;
所述数据库构建单元,具体用于根据所述不同的描述子信息构建所述数据库。
在本实施例中,定位过程中可以根据不同描述子信息更显数据库,使得数据库更加完善,从而使得定位更加准确。
基于第五方面的第三种可实现方式,在第五方面的第四种可实现方式中,当所述数据库中不存在所述不同描述子信息所属的第二场景特征点信息时,所述数据库构建单元,具体用于在所述数据库中增加包含所述不同描述子信息的所述第二场景特征点信息。
在本实施例中,对根据不同描述子信息构建数据库的一种情况进行了说明,增加了方案的实用性。
基于第五方面的第三种可实现方式,在第五方面的第五种可实现方式中,当所述数据库中存在所述不同描述子信息所属的第二场景特征点信息时,所述构建单元,具体用于在所述数据库的第二场景特征点信息中增加所述不同描述子信息。
在本实施例中,对根据不同描述子信息构建数据库的另一种情况进行了说明,增加了方案的完整性。
基于第五方面的第三种可实现方式,在第五方面的第六种可实现方式中,所述确定单元,还用于确定与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
在本实施例中,对数据库中是否存在第二场景特征点的判断方式进行了说明,增加了方案的可实施性。
本申请的第六方面提供了一种网络设备,其特征在于,所述网络设备包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
确定满足预置图像重合度要求的目标图像集合,所述目标图像集合中包括至少一张图像,且每张图像对应一种自然条件信息;
根据所述目标图像集合和所述每张图像对应的自然条件信息得到场景特征点信息合,所述场景特征点集合中包括至少一个场景特征点信息;
确定所述场景特征点信息集合中,在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的第一场景特征点信息,所述生命值的大小用于表示所述场景特征点为静态场景特征点的概率;
确定所述第一场景特征点信息中,在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息;
当所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,根据所述第二场景特征点信息构建所述数据库;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
在本实施例中,按照上述方式筛选得到第二场景特征点信息后,当数据库中不存在与某种自然条件信息相关的第二场景特征点信息时,根据该第二场景特征点信息构建该数据库,使得构建完成后的数据库用于定位时,定位更加准确。
基于第六方面,在第六方面的第一种可实现的方式中,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中不存在所述第二场景特征点信息;
所述处理器具体用于:
在数据库中增加所述第二场景特征点信息,所述第二场景特征点信息中包括关于目标自然条件信息的目标描述子信息。
在本实施例中,对根据第二场景特征点信息构建数据库的一种情况进行了说明,增加了方案的可实施性。
基于第六方面,在第六方面的第二种可实现的方式中,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中存在所述第二场景特征点信息,且所述第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息;
所述处理器具体用于:
在所述数据库预置的第二场景特征点信息中增加所述目标描述子信息。
在本实施例中,对根据第二场景特征点信息构建数据库的另一种情况进行了说明,增加了方案实施的灵活性。
基于第六方面的第一种或第二种可实现方式,在第六方面的第三种可实现的方式中,所述确定单元,所述处理器还用于:
确定与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
在本实施例中,对第二场景特征点是否在数据库中存在的判定方式进行了说明,增加了方案可实施性。
基于第六方面的第二种可实现方式,在第六方面的第四种可实现方式中,所述确定单元,所述处理器还用于:
确定数据库中预置的所述第二场景特征点的至少一个描述子信息;
判断所述至少一个描述子信息中,是否存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限;
若否,确定所述数据库预置的第二场景特征点信息中不包括目标描述子信息。
在本实施例中,对判断目标描述子信息是否在数据库中存在的判断方式进行了说明,增加了方案的可实施性。
基于第六方面及其第六方面的第一种和第二种可实现方式,在第六方面的第五种可实现的方式中,所述场景特征点在单个移动设备的生命值为f,所述f的计算公式为:
在本实施例中,对场景特征点在单个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第六方面的第五种可实现方式,在第六方面的第六种可实现的方式中,所述场景特征点在多个移动设备的生命值为F,所述F的计算公式为:所述f为所述场景特征点在单个移动设备的生命值,所述B为每个移动设备对应的权重系数,且所述多个移动设备中一个移动设备对应一个权重系数。
在本实施例中,对场景特征点在多个移动设备的生命值计算公式进行了说明,增加了方案的可实施性。
基于第六方面的第六种可实现方式,在第六方面的第七种可实现的方式中,所述βi的计算公式为:βi=γt+γg+γc,所述γt为所述场景特征点在多个移动设备被观测到的时间连续性指标,所述γg为所述场景特征点在多个移动设备被观测到的几何连续性指标,所述γc为所述场景特征点在多个移动设备被观测到的描述一致性指标。
在本实施例中,对权重系数βi的计算公式进行了说明,增加了方案的可实施性。
基于第六方面及其第六方面的第一种和第二种可实现方式,在第六方面的第八种可实现的方式中,所述处理器具体用于:
按照预置距离间隔选择图像;
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,以及后续与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第六方面的第八种可实现方式,在第六方面的第九种可实现的方式中,所述预置距离间隔dk+1;
所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为所述预置重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时图像之间的重合度。
在本实施例中,对预置距离间隔的计算公式进行了说明,增加了方案的完整性。
基于第六方面及其第六方面的第一种和第二种可实现方式,在第六方面的第十种可实现的方式中,所述处理器具体用于:
按照预置角度间隔选择图像;
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
在本实施例中,通过选择满足重合度要求的图像,可以避免盲目选择图像而导致对图像进行处理时数据量过大的问题,以及后续与数据库中已有场景特征点信息进行匹配时数据量过大的缺陷。
基于第六方面的第十种可实现方式,在第六方面的第十一种可实现的方式中,所述预置角度间隔θk+1;
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时图像之间的重合度。
在本实施例中,对预置角度间隔的计算公式进行了说明,增加了方案的完整性。
基于第六方面及其第六方面的第一种和第二种可实现方式,在第六方面的第十二种可实现的方式中,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息,所述处理器具体用于:
1>对一张所述目标图像进行处理得到场景特征点;
2>利用所述场景特征点、所述场景特征点所属目标图像和所述目标图像对应的所述自然条件信息构成所述场景特征点信息;
重复执行步骤1>和2>,直至构成得到所述场景特征点信息集合。
在本实施例中,对场景特征点信息集合的确定方式进行了说明,增加了方案的完整性。
基于第六方面及其第六方面的第一种和第二种可实现方式,在第六方面的第十三种可实现的方式中,所述处理器还用于:
确定构建完成后所述数据库中的第三场景特征点信息;
当所述第三场景特征点信息对应的第三场景特征点的特征数量控制得分FNCS小于预置FNCS门限时,在所述数据库中删除所述第三场景特征点信息。
在本实施例中,对数据库构建完成后,场景特征点的管理进行了说明,可以删除FNCS值低的场景特征点,便于数据库的管理。
基于第六方面的第十三种可实现方式,在第六方面的第十四种可实现的方式中,所述特征数量控制得分FNCS的计算公式为:所述为所述场景特征点在定位时被使用的概率,所述为所述场景特征点的描述子数量占所述场景特征点所属图像中描述子总数的比例。
在本实施例中,对特征数量控制得分FNCS的计算公式进行了说明,增加了方案的可实施性。
本申请的第七方面提供了一种网络设备,所述网络设备属于视觉定位系统,所述网络设备包括:存储器、收发器、处理器以及总线系统;
所述收发器,用于获取实时图像;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
根据所述实时图像确定至少一个第一描述子信息,所述第一描述子信息中包括拍摄所述实时图像时的目标自然条件信息;
将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定相同的描述子信息,所述数据库中预置的描述子信息由所述网络设备确定满足预置图像重合度要求的目标图像集合后,根据所述目标图像集合以及所述目标图像集合中每张图像对应的自然条件信息得到场景特征点信息集合,从所述场景特征点信息集合中选择满足预置生命值要求的第一场景特征点对应的第一场景特征点信息,再根据所述第一场景特征点信息中与目标自然条件信息对应的第二描述子信息构建所述数据库后得到,所述第二描述子信息与所述数据库中预置的描述子信息不匹配,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息;
利用所述相同的描述子信息对所述实时图像进行定位;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
基于第在本实施例中,对数据库构建完成后的定位过程进行说明,增加了方案的实用性。
基于第七方面,在第七方面的第一种可实现方式中,所述处理器具体用于:
确定所述相同描述子信息在数据库中对应的第一场景特征点信息;
根据所述第一场景特征点信息和定位计算公式计算得到拍摄所述实时图像时目标移动设备的位置。
在本实施例中,对实时图像的定位的具体方式进行了说明,增加了方案的可实施性。
基于第七方面的第一种可实现方式,在第七方面的第二种可实现方式中,所述定位计算公式为:
拍摄所述实时图像时所述目标移动设备的位置 其中所述为实时图像中所述第一场景特征点的像素坐标,πC为相机的内参矩阵,所述πC用于将3D坐标转换为像素坐标,所述为数据库中场景特征点所属图像相对于世界坐标系的位姿,所述为所述数据库中所述第一场景特征点的像素坐标,所述i的取值为1至n,所述n为正整数,所述第一场景特征点与所述第一场景特征点信息对应。
在本实施例中,对定位公式的具体算法进行了说明,增加了方案的完整性。
基于第七方面及其第七方面的第一种至第二种可实现方式,在第七方面的得第三种可实现方式中,所述处理器还用于:
将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定不同的描述子信息;
根据所述不同的描述子信息构建所述数据库。
在本实施例中,定位过程中可以根据不同描述子信息更显数据库,使得数据库更加完善,从而使得定位更加准确。
基于第七方面的第三种可实现方式,在第七方面的第四种可实现方式中,当所述数据库中不存在所述不同描述子信息所属的第二场景特征点信息时,所述处理器具体用于:
在所述数据库中增加包含所述不同描述子信息的所述第二场景特征点信息。
在本实施例中,对根据不同描述子信息构建数据库的一种情况进行了说明,增加了方案的实用性。
基于第七方面的第三种可实现方式,在第七方面的第五种可实现方式中,当所述数据库中存在所述不同描述子信息所属的第二场景特征点信息时,所述处理器具体用于:
在所述数据库的第二场景特征点信息中增加所述不同描述子信息。
在本实施例中,对根据不同描述子信息构建数据库的另一种情况进行了说明,增加了方案的完整性。
基于第七方面的第三种可实现方式,在第七方面的第六种可实现方式中,所述处理器还用于:
确定与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
在本实施例中,对数据库中是否存在第二场景特征点的判断方式进行了说明,增加了方案的可实施性。
本申请的第八方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第九方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1为本申请图像数据库中数据结构和数据类型的关系示意图;
图2为本申请实施例应用于车端时的示意图;
图3为本申请视觉定位系统的一种结构示意图;
图4为本申请视觉定位系统的另一种结构示意图;
图5为本申请数据库构建方法的一种实施例示意图;
图6为本申请选择目标图像集合的实施例示意图;
图7为本申请选择第二场景特征点信息的实施例示意图;
图8为本申请场景特征点生命值与场景特征点被观察次数的关系示意图;
图9为本申请数据库构建方法的另一种实施例示意图;
图10为本申请判别场景特征点在数据库中是否存在的一种实施例示意图;
图11为本申请定位方法的一种实施例示意图;
图12(a)为本申请图像中场景特征点信息与数据库中预置场景特征点信息不匹配的一种情况;
图12(b)为本申请图像中场景特征点信息与数据库中预置场景特征点信息不匹配的另一种情况;
图13为本申请定位方法的另一种实施例示意图;
图14为本申请网络设备的一种结构示意图;
图15为本申请网络设备的另一种结构示意图;
图16为本申请网络设备的另一种结构示意图。
具体实施方式
在本申请实施例中,如图1所示,数据库中储存有场景关键帧信息、场景特征点信息和描述子信息,三者之间具有关联关系。场景关键帧信息包括图像、位置和姿态,一个场景关键帧中具有至少一个场景特征点,场景特征点信息中包括场景特征点所属场景关键帧的ID信息,像素坐标、3D坐标以及描述子信息,一个场景特征点中具有至少一个描述子,描述子信息一部分是传统视觉领域中的场景特征点描述子ξ,另一部分是采集该场景特征点时场景的自然条件属性E。当自然条件属性E发生变化时,描述子ξ也会发生变化,例如同一个图像分别在阴天和晴天被拍摄时,所拍摄图像的描述子不同。像素坐标、3D坐标以及场景特征点所属场景关键帧的ID信息是场景特征点的静态属性,不会因为外界环境改变而发生变化。
在本申请实施例中,不同的自然条件下描述子信息不同,不同的自然条件是指不同视角方向、不同天气和/或不同光照条件,不同的自然条件还可能为其他情况,具体此处不作限定。
本申请实施例主要应用于视觉定位系统,视觉定位的原理是将所拍摄到的图像的场景特征点与数据库中的场景特征点进行比对,若所拍摄到的图像的场景特征点与数据库中对应场景特征点比对一致,则认为是同一场景特征点,再利用数据库中比对一致的场景特征点的3D坐标进行定位。本申请可应用于无人机、V2X车端以及手机等移动设备移动过程中的定位。
如图2所示,以车辆在运行过程中的实时定位为例:首先确定车辆A在行驶过程中的实时图像信息以及通过GPS等非视觉定位方式定位得到的定位信息。随后车辆A将实时图像发送至服务器,同时车辆A可以将定位信息发送至服务器,服务器接收后确定出该位置的自然条件信息,或者车辆A根据定位信息确定得到自然条件信息后将自然条件信息发送至服务器,随后服务器在实时图像中找到关于该自然条件信息的多个描述子信息,再将确定得到的多个描述子与数据库中预置储存的描述子进行比对,数据库属于该服务器,用于储存场景关键帧及其场景特征点信息。
当数据库中的描述子与实时图像中的描述子比对相同时,找到数据库中比对成功的描述子,描述子比对成功,证明该描述子所属场景特征点为同一个场景特征点,找到相同场景特征点的3D坐标,车端可以利用相同场景特征点的3D坐标进行定位。实时图像中的描述子可能与数据库中的描述子完全相同,此时直接利用完全相同的描述子所属场景特征点的3D坐标进行定位,若实时图像中只存在部分描述子能在数据库中找到相对应的描述子,先用部分相同描述子所属场景特征点的3D坐标进行定位,定位完成后得到不相同部分描述子信息,再将不相同部分描述子信息更新到数据库中,以便实现数据库的优化,从而在后续进行定位时利用优化后的数据库定位更加准确。
在本应用场景实现定位之前,还存在数据库的构建过程,数据库的构建过程是以大量图像为基础,按照生命值算法选择图像中的场景特征点,得到大量的场景特征点信息,随后对比数据库中已经存在的场景特征点信息,对数据库进行更新优化,将数据库中不存在的场景特征点信息更新进入数据库。其中生命值算法能准确的将具有代表性的场景特征点筛选出来,使得数据库用于视觉定位更加准确。
图3所示为视觉定位系统的一种可能的结构,其中,定位器用于获取移动设备的定位信息,可选的,还可以获取姿态信息;图像获取器用于对移动设备进行图像捕捉;移动设备用于接收图像获取器发送的图像和定位器发送的定位信息后,再发送至网络设备,网络设备也可以不通过移动设备直接获取图像以及定位信息,即网络设备直接与图像获取器以及定位器连接,具体此处不作限定。网络设备用于接收图像后进行场景特征点比对从而实现定位,同时还可以对自身的数据库进行更新与管理。
可选的,一种可能的情况是上述所述移动设备发送定位信息至网络设备,另一种可能的情况是移动设备根据定位信息确定自然条件信息后,将自然条件信息发送至网络设备,而不作定位信息的发送,具体此处不作限定。
基于图3所示的视觉定位系统,一种可能的实体结构如图4所示:
定位器具体可以为:全球定位系统、相机、激光雷达、毫米波雷达和惯性测量单元,IMU可以获取定位信息,还可以获取移动设备的姿态。定位器可以是移动设备的组成部分,也可以是与移动设备相连接的外部设备,具体此处不作限定。
移动设备具体可以为:车辆、手机和无人机等。
图像获取器具体可以为:相机。图像获取器可以是移动设备的组成部分,也可以是与移动设备相连接的外部设备,具体此处不作限定。
网络设备具体可以为云端服务器,也可以为具有数据处理能力的移动设备,具体此处不作限定。网络设备的数据库中预置有如图1所示的用于视觉定位的数据模型,该数据模型介绍了场景关键帧、场景特征点以及描述子的关系。
基于上述网络设备与移动设备的结构,本申请实施例提出了一种数据库构建方法以及一种定位方法,本申请包括两部分,一部分是网络设备侧数据库的构建过程,其目的是通过合理的管理数据库,使得数据库更好的用于视觉定位。另一部分是数据库构建完成好进行视觉定位的过程。下面将分别对这两部分进行介绍,其中数据库的构建过程如图5所示:
501、确定满足预置图像重合度要求的目标图像集合。
网络设备获取数据信息,在本实施例中,数据信息可以是图像信息、位置信息,也可以是姿态,还可以是自然条件信息,具体此处不作限定。
其中,网络设备获取移动设备在行驶过程中的图像信息的方法为:可以通过在移动设备上安装摄像机从而与获取摄像头拍摄的图像,移动设备也可以具备图像获取功能,则网络设备获取移动设备拍摄的图像。移动设备在运行过程中,每隔一定时长进行一次图像拍摄,获取的图像主要是移动设备移动过程中周围环境的图像信息,选取的时长由人为设定,可以为0.01S或0.001S等,具体此处不作限定。
图像信息中包括至少一幅图像,每幅图像拍摄时移动设备的姿态和实时位置信息都是不一样的,姿态表示移动设备的行驶角度和方向,移动设备的实时位置信息可以通过全球定位系统GPS、激光雷达、毫米波雷达和/或惯性测量单元IMU获取。
在本实施例中,每幅图像及拍摄该图像时移动设备所在位置及移动设备的姿态是一一对应的。如下表1所示:
表1
得到图像信息后,根据数据信息选择满足预置重合度要求的目标图像集合。可选的,确定目标图像集合的过程可以是:移动设备可以先将获取到的图像按照预置重合度要求进行筛选,再将筛选结果发送至网络设备,目标图像的筛选过程也可以是网络设备执行,即网络设备获取图像后进行筛选得到目标图像集合,具体此处不作限定。
需要说明的是,移动设备在直行和弯行时,确定目标图像集合的依据是不一样的,汽车在直行时,需要按照一定的距离间隔确定满足要求的目标图像集合,汽车在弯行时,需要按照一定的角度间隔确定满足要求的目标图像集合,具体步骤如下图6所示:
A、按距离间隔(或角度间隔)dk选择图像。
事先定义一个距离间隔或角度间隔,按照该间隔确定预计选择的图像,例如直行道路上,汽车每行驶1m获取一张图像。或者在弯行道路上,汽车行驶角度每变化5度获取一张图像。
B、确定当前距离间隔(或角度间隔)dk下图像之间的重合度α。
图像选择完成后,计算所选择图像中相邻两图像之间的重合度,计算公式为:
图像之间的重合度α=当前图像与相邻图像相同场景特征点数量的nold/当前图像与相邻图像不同场景特征点的数量nnew。当前图像中的场景特征点数量ntotal,且
ntotal=nold+nnew。
C、判断所选择图像的重合度与预置重合度门限的差值是否在预置精度范围内。
计算公式为:|α*-α|<Δα;
其中,α*为预置重合度门限,α*一般取1,Δα为预置精度值,Δα的取值范围为0.1至0.2,α*和Δα也可以取其他的值,具体此处不作限定。预置精度范围为0-至Δα。
D、若否,重新计算距离间隔(或角度间隔)。
若所选择图像的重合度与预置重合度门限的差值不在预置精度范围内,则重新定义选择图像的距离间隔。首先确定还需要增加了距离间隔(或角度间隔)Δdk。
当移动设备直行时,Δdk=dk(α*-α);
其中,dk即为上一次选择图像的距离间隔,dk以及α*与α已在上述步骤中得出。
得到新的进行场景关键帧选取的距离间隔dk+1=dk+Δdk。
同时将dk+1再次确定为获取场景关键帧图像的距离间隔,返回到步骤A重新执行上述流程,直至得到一个距离间隔dk+n,按照此距离间隔选取图像时重合度满足预置条件。
E、若是,确定选择的所述图像属于目标图像集合。
若所选择图像的重合度与预置重合度门限的差值在预置精度范围内,则按照距离间隔dk选择的图像即为目标图像,按照dk选择多张目标图像得到目标图像集合。
当移动设备弯行时,先确定出满足重合度要求的角度间隔,再筛选图像,具体过程与按照距离间隔筛选图像的方式类似,具体此处不再赘述。
502、根据目标图像集合和每张图像对应的自然条件信息得到场景特征点信息集合。
网络设备对目标图像集合进行处理得到场景特征点,场景特征点可以认为是目标图像中与其他像素点灰度值差别较大的像素点,再根据拍摄每张目标图像时移动设备的位置确定该位置的自然条件信息,建立场景特征点与自然条件信息的对应关系从而得到场景特征点信息。可以理解的是,场景特征点信息中除包含自然条件信息外,还包括该场景特征点的3D坐标、像素坐标和描述子信息。
在本实施例中,可能有多张图像都包括同一场景特征点,因此场景特征点与自然条件信息的对应关系可以为一一对应,也可以为一个场景特征点对应多种自然条件信息,描述子信息随自然条件信息的变化而变化,因此一个场景特征点信息中可能包括多个描述子信息。
例如目标图像集合中存在目标图像1和目标图像2,目标图像1在晴天且光照强度为400lx时拍摄,目标图像2在阴天,且光照强度为300lx时拍摄,目标图像1中有场景特征点1和场景特征点2,目标图像2中有场景特征点2和场景特征点3,对目标图像集合进行解析得到场景特征点1、场景特征点2和场景特征点3,场景特征点中有1个描述子,与目标图像1的自然条件信息对应,场景特征点2中有两个描述子,分别与目标图像1的自然条件信息和目标图像2的自然条件信息对应,场景特征点3中有1个描述子,与目标图像2的自然条件信息对应。
得到场景特征点集合后,选择出具有代表性的场景特征点,可以理解的是,静止物体用于定位是定位更加准确,因此代表场景特征点可以为与道路上的静止的标志牌、路标和建筑物等物体相关的场景特征点。具体的,选取代表场景特征点的方式为依据场景特征点的生命值进行选取,生命值大小可以表示场景特征点为静态场景特征点的概率,生命值越大,场景特征点为静态场景特征点的概率越大。首先从单个车端的角度计算场景特征点的生命值,进行场景特征点一次筛选,其次,由于一个场景特征点一般会被多个移动设备观察到,需要将一次筛选得到的场景特征点从多个移动设备的角度计算生命值,进行二次筛选,多个移动设备指至少两个移动设备。具体如下实施例步骤503和504所示:
503、确定场景特征点信息集合中,在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的第一场景特征点信息。
请参照图7,场景特征点的筛选过程包括:
A、根据预置模型关系计算场景特征点在单个车端被观察到的第一生命值。
首先进行模型训练得到如图8所示场景特征点被观察到的次数与生命值之间的关系。可见,场景特征点被观察到的次数n与其生命值f之间呈现正态曲线,从单个移动设备的角度,当某一场景特征点只在数量比较少的几帧中出现,极有可能是噪声,需要丢弃掉;当其在数量比较多的几帧中出现,则它极有可能为与本实施例中移动设备同步运动的另一移动设备的图像,也需要舍弃。
根据图8确定场景特征点被观察到的次数的平均值n0和方差σ。随后分别计算场景特征点集合中每个场景特征点的第一生命值。计算公式为:
其中,n表示场景特征点集合中某个场景特征点在单个车端中被观察到的次数。
B、判断第一生命值是否大于第一预置门限值。
当某个场景特征点的第一生命值大于第一预置门限时,该场景特征点即为第一场景特征点,再从多个移动设备的角度判断经过一次筛选后的第一场景特征点是否满足生命值要求。
若某个场景特征点的第一生命值小于或等于第一预置门限时,表示该场景特征点的第一生命值过低,丢弃该场景特征点。
504、确定第一场景特征点信息中,在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息。
C、计算场景特征点在多个移动设备被观察到时的第二生命值。
确定被多个移动设备都获取到的第一场景特征点,可以根据场景特征点的3D坐标或像素坐标确定,也可以通过其他方式确定多个移动设备获取到的场景特征点是否为同一场景特征点,具体此处不作限定。例如多个移动设备获取的场景特征点中,3D坐标相同或3D坐标差值在预置差值范围内的场景特征点属于同一场景特征点。
计算被多个移动设备观测到的第一场景特征点的第二生命值,计算公式为:
f为场景特征点在单个移动设备的生命值,B为每个移动设备对应的权重系数。某一场景特征点对多个移动设备而言,每个移动设备对应的权重系数一般是不同的。权重系数βi的计算公式为:βi=γt+γg+γc,γt为场景特征点在多个移动设备被观测到的时间连续性指标,γg为场景特征点在多个移动设备被观测到的几何连续性指标,γc为场景特征点在多个移动设备被观测到的描述一致性指标。
Δt为不同移动设备观测到同一场景特征点的时间间隔,Δ1和Δ2为预置值,可见,不同移动设备观测到同一场景特征点的时间间隔与其γt呈负相关。
γg和γc的计算过程与γt类似,具体此处不再赘述。需要说明的是,在计算几何连续性指标γg时,Δ定义为不同移动设备观测到同一场景特征点之间的欧式距离。在计算描述一致性γc时,Δ定义为不同移动设备观测到同一场景特征点之间的描述距离。
D、判断第二生命值是否大于第二预置门限。
确定第二生命值大于或等于第二预置门限的第一场景特征点为第二场景特征点,该第二场景特征点为具有代表性的成熟场景特征点,准备将第二场景特征点的信息加入数据库。
若第一场景特征点的生命值小于第二预置生命值门限,舍弃该第一场景特征点。
505、当第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,根据第二场景特征点信息构建数据库。
确定待加入数据库的第二场景特征点信息后,还需要判断数据库中是否已经存在该第二场景特征点信息,以避免数据库中场景特征点信息的重复加入。
将第二场景特征点信息与数据库中预置的场景特征点信息进行对比,若数据库中预置的场景特征点信息与第二场景特征点信息不匹配,则根据第二场景特征点信息构建数据库。
在本实施例中,按照上述方式筛选得到第二场景特征点信息后,当数据库中不存在与某种自然条件信息相关的第二场景特征点信息时,根据该第二场景特征点信息构建该数据库,使得构建完成后的数据库用于定位时,定位更加准确。
在本实施例中,一个场景特征点信息包括场景特征点的3D坐标、像素坐标、与自然条件相关的描述子信息和场景特征点所属关键帧ID,其中3D坐标、像素坐标和场景特征点所属关键帧ID表示场景特征点的静态指标,一般是固定不变的,而描述子信息属于动态指标,会随着自然条件变化而发生变化,因此数据库中预置的场景特征点信息与第二场景特征点信息不匹配可能的情况是,数据库中不存在第二场景特征点信息,或数据库中存在第二场景特征点信息,但是数据库的第二场景特征点信息与图像中确定的第二场景特征点信息所包含的描述子信息不同,请参照图9,下面将进行说明。
901、确定满足预置图像重合度要求的目标图像集合。
902、根据目标图像集合和每张图像对应的自然条件信息得到场景特征点信息集合。
903、确定场景特征点信息集合中,在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的第一场景特征点信息。
904、确定第一场景特征点信息中,在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息。
905、当数据库中不存在第二场景特征点信息时,在数据库中增加第二场景特征点信息。
判断第二场景特征点在数据库中是否存在,若不存在,则对应的第二场景特征点信息在数据库中也不存在,将第二场景特征点的信息加入数据库中。
请参照图10,判断第二场景特征点在数据库中是否存在具体包括如下步骤:
A、确定与第二场景特征点信息对应的第二场景特征点的3D坐标。
首先确定与第二场景特征点信息对应的第二场景特征点的3D坐标,由于场景特征点可能被多个移动设备观察到,首先获取从多个移动设备观察某一场景特征点时,多个移动设备所观察到的该场景特征点的3D坐标,随后计算多个3D坐标的均值和标准差σ,然后将每个车端测量得到的场景特征点的3D坐标与均值进行比较,当两者之间的欧式距离大于3σ时,说明该车端测量的3D坐标误差较大,删除此3D坐标。之后使用剩余的3D坐标重新计算场景特征点3D坐标的均值和标准差σ,并判断各3D坐标与均值的欧式距离是否小于3σ。如此重复,直至所有剩余的3D坐标与均值之间的欧式距离都小于3σ,输出这时的坐标均值作为该场景特征点的3D坐标。
例如车端个数为N个,N个车端观察到的同一场景特征点的3D坐标分别为3D1、3D2、3D3和3Dn。
若是,则即为该场景特征点的3D坐标,若其中至少一个3D坐标(例如3D1)到之间的欧式距离大于3σ,则删除3D1,再用3D2、3D3至3Dn取平均得到后重复执行上述步骤。需要说明的是,3σ是固定值,由系统预置,3σ的值具体此处不作限定。
B、根据第二场景特征点的3D坐标判断第二场景特征点在数据库中是否存在。
计算得到场景特征点的3D坐标后,将其与图像数据库中任意一个场景特征点的3D坐标进行比较,当两者之间的欧氏距离小于σd时,判断其与数据库中的场景特征点属于同一个场景特征点,当数据库中预置的每个场景特征点的3D坐标与该场景特征点的3D坐标进行比较,欧式距离均大于第一预置门限值时,判断该场景特征点为新的场景特征点,并把新的场景特征点信息(即第二场景特征点信息)加入数据库。σd的具体取值此处不作限定。同时,在本实施例中,新场景特征点的个数也不做限定。
在数据库中增加的新场景特征点信息中包括:新场景特征点的像素坐标、3D坐标、所属关键帧ID和目标描述子信息,新场景特征点信息中还可以包括除目标描述子信息以外的其他描述子信息,具体此处不作限定。
请参照图12(a)所示,例如相对于图像,数据库中不存在场景特征点4,进而也不存在场景特征点4的描述子10,描述子10即为本实施例的不同的描述子。此时,在数据库中增加包含不同描述子的第二场景特征点的信息,即场景特征点4的信息。
或,
906、当数据库中存在第二场景特征点信息,且第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息,在数据库预置的第二场景特征点信息中增加目标描述子信息。
按照上述实施例步骤905中A和B判断第二场景特征点在数据库中是否存在后,若数据库中存在第二场景特征点信息,则判断第二场景特征点中是否包含于目标自然条件信息相关的目标描述子信息。具体为:
C、确定数据库中预置的第二场景特征点的至少一个描述子信息。
当第二场景特征点在数据库中存在时,由于第二场景特征点在不同的自然条件信息下有不同的描述子,数据库预置的第二场景特征点信息中包含至少一个描述子信息。
D、判断所述至少一个描述子信息中,是否存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限。
判断数据库的至少一个描述子信息中,是否存在一个描述子信息所对应的描述子,与图像中确定的第二场景特征点的目标描述子信息对应的描述子的距离小于预置距离门限。
在本实施例中,目标描述子信息为关于目标自然条件信息的描述子信息。一种可能的情况是,目标描述子信息对应的描述子为所属场景特征点的所有描述子中与其他描述子距离之和最小的描述子,另一种可能的情况是目标描述子信息对应的描述子为所属场景特征点的所有描述子中任意一个描述子。
当目标描述子与数据库中至少一个描述子之间的距离都大于预置距离门限时,判断目标描述子为新的描述子,当目标描述子与数据库中某一描述子距离小于或等于预置距离门限时,则判断为同一描述子。
若目标描述子为新描述子,将目标描述子的信息储存于数据库中。若为同一描述子,不做任何更新处理。在本实施例中,新描述子的个数此处不做限定。
请参照图12(b)所示,例如数据库中包括与目标图像相同的场景特征点1、场景特征点2和场景特征点3,但是数据库的场景特征点3中不包含图像的场景特征点3中的目标描述子,即描述子9。此时,在数据库中增加不同的描述子9对应的描述数子信息。
在本实施例中,对图像中场景特征点与数据库中场景特征点匹配的两种情况进行了说明,可以在更新完善数据库信息的同时,只更新与数据库中场景特征点信息不同的部分,避免了数据库中数据量的大量增加,便于数据库管理。
进一步的,在场景特征点或描述子更新完成后,为了优化数据库,使得数据库更易于管理,还可以通过筛选条件删除一部分场景特征点,只保留满足要求的场景特征点,场景特征点的保留遵循两个原则:
a、尽可能的保留在定位时经常被用到的场景特征点。用指标MNI表示,MNI的计算公式为:
M为在场景特征点所在位置进行定位的总次数,mi表示在进行定位时该场景特征点被使用的次数。
b、尽可能保留动态描述子信息少的场景特征点。用指标FNI表示,FNI的计算公式为:
综合上述两个标准,得到所述特征数量控制得分FNCS的计算公式为:
场景特征点的FNCS值越大,表示该场景特征点经常被用到,而且具有较少的描述子,说明它对自然条件变化比较鲁棒,因此进行场景特征点管理时需要删除FNCS得分低的场景特征点。
上面对数据库的构建过程进行了说明,请参照下图11,下面将对数据库在定位时被使用的情况及其定位时对数据库的同步更新情况进行说明。
1101、获取实时图像。
目标移动设备在行驶过程中,通过采用在目标移动设备上安装摄像头,或者道路上每隔一定的距离间隔安装一个摄像头,实时获取目标移动设备行驶过程中的图像信息。可以理解的是,获取的实时图像为车辆行驶过程中周围道路、环境的图片。
摄像机拍摄实时图像后可以直接发送至网络设备,也可以经由目标移动设备发送至网络设备,具体此处不作限定。同时目标移动设备本身也可以具有图像获取功能。
1102、根据实时图像确定至少一个第一描述子信息。
网络设备对实时图像进行处理得到至少一个第一描述子信息,该第一描述子信息中包括拍摄实时图像时的目标自然条件信息,目标自然条件信息可以由网络设备确定,也可以由移动设备确定后再发送至网络设备,具体此处不作限定。
其中,拍摄实时图像时的目标自然条件信息是根据移动设备的实时定位信息确定的,而移动设备的实时定位信息可以通过全球定位系统GPS、激光雷达和/或毫米波雷达,也可以通过和惯性测量单元IMU获取,具体此处不作限定。获取实时定位信息后,确定该位置的自然条件信息即为目标自然条件信息。
1103、将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定相同的描述子信息。
同一场景在不同视角方向、不同天气、不同光照条件下的成像是有差别的。比如天气晴朗时道路上某一标志牌角点周围的像素与天气阴暗时该角点周围的像素差别很明显;再比如该标志牌正面角点周围的像素和背面角点周围的像素差别也很明显;这样同一位置的标志牌角点在不同天气下、不同光照下、不同视角下的描述子差异很大。因此,可以理解的是,在目标自然条件信息对应的自然条件状况下拍摄的实时图像,其自然条件状况是唯一的,因此实时图像中的一个场景特征点信息只包含一种描述子信息,但是一张实时图像具有多个场景特征点,因此实时图像中存在至少一个描述子信息中包括目标自然条件信息,一种可能的情况是,实时图像中存在N个第一描述子信息,N个第一描述子信息中有M个第一描述子信息中包括目标自然条件信息,N和M均为正整数且M小于等于N。
将至少一个第一描述子信息中的每个第一描述子信息分别与数据库中预置的描述子信息进行比对,确定相同的描述子信息。例如实时图像中包括描述子1、描述子2…描述子N,分别于数据库中的描述子进行比对,发现描述子1、描述子5…描述子N-1和描述子N在数据库中存在相同的描述子。
判断描述子与数据库中描述子是否相同的方式与数据库构建时判断描述子是否相同的方式类似,即根据描述子的距离判断,具体此处不再赘述。
在本实施例中,数据库中预置的描述子信息由按照实施例步骤501至步骤505构建数据库后得到。具体此处不再赘述。
1104、利用相同的描述子信息对所述实时图像进行定位。
首先确定得到相同的描述子,在数据库中查找相同描述子所属场景特征点,找到这些场景特征点的3D坐标,再利用这些场景特征点的3D坐标进行定位。
例如图12(a)中,实时图像与数据库对比发现,描述子1和描述子4都能在数据库中找到对应描述子,则确定描述子1所属场景特征点1与数据库中描述子1所属场景特征点1为相同的场景特征点,同时描述子4所属场景特征点4与数据库中描述子4所属场景特征点4为相同的场景特征点,找到相同场景特征点的3D坐标:3D坐标1和3D坐标2。再利用3D坐标1和3D坐标2进行定位计算。
网络设备利用相同的场景特征点信息进行定位计算。确定数据库中相同场景特征点后,按照预置算法得到移动设备位姿,在本实施例中,定位的计算公式为:
为需要求解的移动设备位姿,为实时图像中场景特征点的像素坐标,该像素坐标为相对于实时图像的像素坐标,为地图数据库中与相匹配的场景特征点的像素坐标,该像素坐标为相对于数据库的像素坐标。i从1到n表示,实时图像中共有n个场景特征点与数据库中的场景特征点相匹配。πC为相机的内参矩阵,可以把3D坐标转换为像素坐标。通过(πC)-1转换得到相对于汽车的3D坐标,然后通过转换得到相对于世界坐标系的3D坐标,接着再经过转换得到相对于数据库的像素坐标,为数据库中场景特征点所属关键帧相对于世界坐标系的位姿。转换得到的像素坐标与数据库中相匹配的场景特征点的像素坐标一致,把两者相减即得到了重投影误差模型。最后通过最优化方法使重投影误差模型的值最小,就可以得到汽车的实时位姿
移动设备根据计算结果进行定位。网络设备计算得到定位结果后将定位结果返回移动设备,以便移动设备执行定位操作。
需要说明的是,定位计算也可以由移动设备执行,网络设备确定数据库中相同场景特征点后,将相同场景特征点的信息发送至移动设备,移动设备按照预置算法得到位姿信息并执行定位操作。
在本实施例中,网络设备发送至移动设备的相同场景特征点信息具体包括:场景特征点的像素坐标、场景特征点所属关键帧位姿,还可以包括场景特征点的3D坐标,具体此处不作限定。
在本实施中,对数据库构建后用于定位的具体过程进行了说明,通过按照图5所示构建得到数据库后,由于该数据库中包含更多不同自然条件的描述子信息,因此将该数据库用于定位时,实时图像可以与数据库匹配到更多相同的描述子信息,从而使得定位更加准确。
需要说明的是,在定位过程中,还可以根据不同的描述子信息更新数据库,以便数据库储存信息更加完善。
根据实时图像确定至少一个第一描述子信息之后,还包括将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定不同的描述子信息,并根据不同的描述子信息构建所述数据库。根据不同的描述子信息构建数据库具体包括两种情况:
一、数据库中不存在不同描述子信息所属的第二场景特征点信息时。
网络设备判断自身数据库中是否存在第二场景特征点,判断的方式与数据库构建时判断场景特征点是否相同的方式类似,即根据3D坐标进行判断,具体此处不再赘述。若数据库中不存在第二场景特征点,显然数据库中也不存在第二场景特征点信息。
请参照图12(a)所示,例如相对于实时图像,数据库中不存在场景特征点4,进而也不存在场景特征点4的描述子10,描述子10即为本实施例的不同的描述子。此时,在数据库中增加包含不同描述子的第二场景特征点的信息,即场景特征点4的信息。
二、数据库中存在不同描述子所属的第二场景特征点信息,但是数据库的第二场景特征点信息不包括目标描述子信息。
当判断得到数据库中存在第二场景特征点信息时,此时第二场景特征点信息中不包括上述确定的不同描述子信息,请参照图12(b)所示,例如数据库中包括与实时图像相同的场景特征点1、场景特征点2和场景特征点3,但是数据库的场景特征点3的信息中不包含实时图像场景特征点3中的目标描述子,即描述子9。此时,在数据库中增加不同的描述子9对应的描述数子信息。
需要说明的是,若需要在数据库中增加目标描述子所属的第二场景特征点,则需要将第二场景特征点的3D坐标同步更新到数据库,由于实时图像信息中只包含描述子信息和像素坐标信息,不包含3D坐标,此时先利用数据库中相同的那部分描述子进行定位后,再在数据库中增加不同场景特征点的3D坐标。确定不同场景特征点的3D坐标的方式是:利用相同描述子进行定位得到实时图像的定位结果后,通过双目相机确定不同场景特征点的3D坐标,也可以通过单目相机与IMU共同确定,不同场景特征点3D坐标的确定方式具体此处不作限定。
在本实施例中,在实时定位过程中,根据不同的描述子信息不断完善更新数据库,有利用数据库更好的用于定位。
在本实施例中,实时定位的过程是移动设备和网络设备进行数据交互的过程,请参照图13,下面将进行说明:
1301、移动设备发送实时图像至网络设备。
移动设备除发送实时图像至网络设备外,还可以发送拍摄实时图像时移动设备的位置信息或移动设备所在位置的自然条件状况至网络设备。
1302、网络设备根据实时图像确定至少一个第一描述子信息。
1303、网络设备将数据库中预置的描述子信息与至少一个第一描述子信息进行对比,确定相同的描述子信息和不同的描述子信息。
1304、网络设备利用相同的描述子信息对实时图像进行定位。
1305、将定位结果发送至移动设备。
移动设备根据网络设备确定的定位计算结果执行定位操作。在本实施例中,定位计算操作也可以由网络设备执行,具体此处不作限定。
1306、网络设备根据不同的描述子信息构建数据库。
在本实施例中,实施例步骤1301至1306与上述图11所示实施例步骤类似,具体此处不再赘述。
上面从定位方法和数据库构建方法的角度对本申请实施例进行了叙述,下面对本申请实施例中网络设备的结构进行说明。
基于上述数据库构建方法,网络设备的一种可能的结构如图14所示,包括:
确定单元1401,用于确定满足预置图像重合度要求的目标图像集合,所述目标图像集合中包括至少一张图像,且每张图像对应一种自然条件信息;
处理单元1402,用于根据所述目标图像集合和所述每张图像对应的自然条件信息得到场景特征点信息集合,所述场景特征点集合中包括至少一个场景特征点信息;
所述确定单元1401,还用于确定所述场景特征点信息集合中,在单个移动设备的生命值大于第一预置生命值门限的场景特征点对应的第一场景特征点信息,所述生命值的大小用于表示所述场景特征点为静态场景特征点的概率;
所述确定单元1401,还用于确定所述第一场景特征点信息中,在多个移动设备的生命值大于第二预置生命值门限的场景特征点对应的第二场景特征点信息;
数据库构建单元1403,用于当所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配时,根据所述第二场景特征点信息构建所述数据库。
可选的,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中不存在所述第二场景特征点信息;
所述数据库构建单元1403,具体用于在数据库中增加所述第二场景特征点信息,所述第二场景特征点信息中包括关于目标自然条件信息的目标描述子信息。
可选的,所述第二场景特征点信息与数据库中预置的场景特征点信息不匹配包括:
所述数据库中存在所述第二场景特征点信息,且所述第二场景特征点信息中不包括关于目标自然条件信息的目标描述子信息;
所述数据库构建单元1403具体用于在所述数据库预置的第二场景特征点信息中增加所述目标描述子信息。
可选的,所述确定单元1401,还用于与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
可选的,所述确定单元1401,还用于确定数据库中预置的所述第二场景特征点的至少一个描述子信息;
所述网络设备还包括:
判断单元1404,用于判断所述至少一个描述子信息中,是否存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限;
所述确定单元1401,还用于若所述至少一个描述子信息中,不存在一个描述子信息对应的描述子与目标描述子信息对应的描述子的距离小于预置距离门限,确定所述数据库预置的第二场景特征点信息中不包括目标描述子信息。
可选的,在第四方面的第五种可实现的方式中,所述场景特征点在单个移动设备的生命值为f,所述f的计算公式为:其中,所述n表示所述场景特征点在单个移动设备中被观察到的次数,所述n0为预置的场景特征点被观察到的次数的平均值,所述σ为预置的场景特征点被观察到的次数的方差。
可选的,所述场景特征点在多个移动设备的生命值为F,所述F的计算公式为:
可选的,所述βi的计算公式为:βi=γt+γg+γc,所述γt为所述场景特征点在多个移动设备被观测到的时间连续性指标,所述γg为所述场景特征点在多个移动设备被观测到的几何连续性指标,所述γc为所述场景特征点在多个移动设备被观测到的描述一致性指标。
可选的,所述确定单元1401具体用于,按照预置距离间隔选择图像;
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
可选的,所述预置距离间隔dk+1;
所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为所述预置重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时图像之间的重合度。
可选的,所述确定单元1401,具体用于按照预置角度间隔选择图像;
当选择的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合。
可选的,所述预置角度间隔θk+1;
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时图像之间的重合度。
可选的,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息,所述处理单元1402,具体用于1>对一张所述目标图像进行处理得到场景特征点;
2>利用所述场景特征点、所述场景特征点所属目标图像和所述目标图像对应的所述自然条件信息构成所述场景特征点信息;
重复执行步骤1>和2>,直至构成得到所述场景特征点信息集合。
可选的,所述确定单元1401,还用于确定构建完成后所述数据库中的第三场景特征点信息;
所述数据库构建单元1403,还用于当所述第三场景特征点信息对应的第三场景特征点的特征数量控制得分FNCS小于预置FNCS门限时,在所述数据库中删除所述第三场景特征点信息。
基于上述的定位方法,网络设备的另一种可能的结构如图15所示:
获取单元1501,用于获取实时图像;
确定单元1502,用于根据所述实时图像确定至少一个第一描述子信息,所述第一描述子信息中包括拍摄所述实时图像时的目标自然条件信息;
所述确定单元1502,还用于将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定相同的描述子信息,所述数据库中预置的描述子信息由所述网络设备确定满足预置图像重合度要求的目标图像集合后,根据所述目标图像集合以及所述目标图像集合中每张图像对应的自然条件信息得到场景特征点信息集合,从所述场景特征点信息集合中选择满足预置生命值要求的第一场景特征点对应的第一场景特征点信息,再根据所述第一场景特征点信息中与目标自然条件信息对应的第二描述子信息构建所述数据库后得到,所述第二描述子信息与所述数据库中预置的描述子信息不匹配,所述场景特征点信息中包括与所述自然条件信息对应的描述子信息;
定位单元1503,用于利用所述相同的描述子信息对所述实时图像进行定位。
可选的,所述定位单元1503,具体用于确定所述相同描述子信息在数据库中对应的第一场景特征点信息;
根据所述第一场景特征点信息和定位计算公式计算得到拍摄所述实时图像时目标移动设备的位置。
可选的,所述定位计算公式为:
拍摄所述实时图像时所述目标移动设备的位置 其中所述为实时图像中所述第一场景特征点的像素坐标,πC为相机的内参矩阵,所述πC用于将3D坐标转换为像素坐标,所述为数据库中场景特征点所属图像相对于世界坐标系的位姿,所述为所述数据库中所述第一场景特征点的像素坐标,所述i的取值为1至n,所述n为正整数,所述第一场景特征点与所述第一场景特征点信息对应。
可选的,所述确定单元1502,还用于将数据库中预置的描述子信息与所述至少一个第一描述子信息进行对比,确定不同的描述子信息;
所述网络设备还包括数据库构建单元1504;
所述数据库构建单元1504,具体用于根据所述不同的描述子信息构建所述数据库。
可选的,当所述数据库中不存在所述不同描述子信息所属的第二场景特征点信息时,所述数据库构建单元1504,具体用于在所述数据库中增加包含所述不同描述子信息的所述第二场景特征点信息。
可选的,当所述数据库中存在所述不同描述子信息所属的第二场景特征点信息时,所述数据库构建单元1504,具体用于在所述数据库的第二场景特征点信息中增加所述不同描述子信息。
可选的,所述确定单元1502,还用于确定与所述第二场景特征点信息对应的所述第二场景特征点的3D坐标;
当所述数据库中预置的每个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值均大于第一预置门限值时,确定所述数据库中不存在所述第二场景特征点信息;
当所述数据库中预置的任意一个场景特征点的3D坐标与所述第二场景特征点的3D坐标的差值小于所述第一预置门限值时,确定所述数据库中存在所述第二场景特征点信息。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的另一种网络设备,请参阅图16所示,网络设备1600包括:
接收器1601、发射器1602、处理器1603和存储器1604(其中网络设备1600中的处理器1603的数量可以一个或多个,图16中以一个处理器为例)。在本申请的一些实施例中,接收器1601、发射器1602、处理器1603和存储器1604可通过总线或其它方式连接,其中,图16中以通过总线连接为例。
存储器1604可以包括只读存储器和随机存取存储器,并向处理器1603提供指令和数据。存储器1604的一部分还可以包括非易失性随机存取存储器(英文全称:Non-VolatileRandom Access Memory,英文缩写:NVRAM)。存储器1604存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器1603控制网络设备的操作,处理器1603还可以称为中央处理单元(英文全称:Central Processing Unit,英文简称:CPU)。具体的应用中,网络设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1603中,或者由处理器1603实现。处理器1603可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1603可以是通用处理器、数字信号处理器(英文全称:digital signal processing,英文缩写:DSP)、专用集成电路(英文全称:Application Specific Integrated Circuit,英文缩写:ASIC)、现场可编程门阵列(英文全称:Field-Programmable Gate Array,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1604,处理器1603读取存储器1604中的信息,结合其硬件完成上述方法的步骤。
接收器1601可用于接收输入的数字或字符信息,以及产生与网络设备的相关设置以及功能控制有关的信号输入,发射器1602可包括显示屏等显示设备,发射器1602可用于通过外接接口输出数字或字符信息。
本申请实施例中,处理器1603,用于执行前述数据库构建方法以及定位方法。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (13)
1.一种定位方法,其特征在于,应用于车辆,包括:
通过车载相机获取实时图像,以及获取所述实时图像时的自然条件信息;
将所述实时图像和所述自然条件信息发送给服务器,并接收服务器反馈的定位信息,所述定位信息由所述服务器基于所述实时图像和所述自然条件信息获得;
基于所述定位信息获得所述车辆的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述定位信息包括多个场景特征点的坐标信息,其中所述多个场景特征点存储在所述服务器中且与所述实时图像和匹配,所述多个场景特征点至少一个场景特征点的描述信息与所述自然条件信息相同;
所述基于所述定位信息获得所述车辆的位置信息,包括:
基于所述多个场景特征点的坐标信息、所述多个场景特征点在所述实时图像中像素坐标,确定所述车辆的位置信息,所述多个场景特征点的坐标信息包括世界坐标和像素坐标。
3.根据权利要求2所述的方法,其特征在于,所述定位信息为所述车辆的位置信息。
4.一种构建用于车辆定位的数据库的方法,其特征在于,包括:
基于预置距离间隔或预置角度间隔获取图像;
当获得的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合;
将所述目标图像集合发送给服务器,所述目标图像集合用于构建用于车辆定位的数据库。
5.根据权利要求4所述的方法,其特征在于,所述预置距离间隔dk+1;
所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为所述预置重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时图像之间的重合度。
6.根据权利要求4所述的方法,其特征在于,所述预置角度间隔θk+1;
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时图像之间的重合度。
7.一种车辆,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
通过车载相机获取实时图像,以及获取所述实时图像时的自然条件信息;
将所述实时图像和所述自然条件信息发送给服务器,并接收服务器反馈的定位信息,所述定位信息由所述服务器基于所述实时图像和所述自然条件信息获得;
基于所述定位信息获得所述车辆的位置信息。
8.根据权利要求7所述的车辆,其特征在于,所述定位信息包括多个场景特征点的坐标信息,其中所述多个场景特征点存储在所述服务器中且与所述实时图像和匹配,所述多个场景特征点至少一个场景特征点的描述信息与所述自然条件信息相同;
所述处理器具体用于:
基于所述多个场景特征点的坐标信息、所述多个场景特征点在所述实时图像中像素坐标,确定所述车辆的位置信息,所述多个场景特征点的坐标信息包括世界坐标和像素坐标。
9.根据权利要求7所述的车辆,其特征在于,所述定位信息为所述车辆的位置信息。
10.根据权利要求7所述的车辆,其特征在于,所述处理器还用于:
基于预置距离间隔或预置角度间隔获取图像;
当获得的所述图像的重合度与预置重合度门限的差值在预置精度范围时,确定选择的所述图像属于目标图像集合;
将所述目标图像集合发送给服务器。
11.根据权利要求10所述的车辆,其特征在于,所述处理器还用于:
计算所述预置距离间隔dk+1;
其中,所述预置距离间隔的计算公式为:dk+1=dk+dk(α*-α),其中,所述α*为所述预置重合度门限,所述dk为前一时刻选择图像的距离间隔,所述α为按照距离间隔dk选择图像时图像之间的重合度。
12.根据权利要求10所述的车辆,其特征在于,所述处理器还用于:
计算所述预置角度间隔θk+1;
所述预置角度间隔的计算公式为:θk+1=θk+θk(α*-α),其中,所述α*为所述预置重合度门限,所述θk为前一时刻选择图像的角度间隔,所述α为按照角度间隔θk选择图像时图像之间的重合度。
13.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111113556.8A CN113987228A (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810642562.4A CN110688500B (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
CN202111113556.8A CN113987228A (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810642562.4A Division CN110688500B (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987228A true CN113987228A (zh) | 2022-01-28 |
Family
ID=68983245
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111113556.8A Pending CN113987228A (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
CN201810642562.4A Active CN110688500B (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810642562.4A Active CN110688500B (zh) | 2018-06-20 | 2018-06-20 | 一种数据库构建方法、一种定位方法及其相关设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11644339B2 (zh) |
EP (1) | EP3800443B1 (zh) |
CN (2) | CN113987228A (zh) |
BR (1) | BR112020025901B1 (zh) |
WO (1) | WO2019242392A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113987228A (zh) * | 2018-06-20 | 2022-01-28 | 华为技术有限公司 | 一种数据库构建方法、一种定位方法及其相关设备 |
CN111238497B (zh) | 2018-11-29 | 2022-05-06 | 华为技术有限公司 | 一种高精度地图的构建方法及装置 |
US11128539B1 (en) * | 2020-05-05 | 2021-09-21 | Ciena Corporation | Utilizing images to evaluate the status of a network system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101998136B (zh) * | 2009-08-18 | 2013-01-16 | 华为技术有限公司 | 单应矩阵的获取方法、摄像设备的标定方法及装置 |
JP5062498B2 (ja) * | 2010-03-31 | 2012-10-31 | アイシン・エィ・ダブリュ株式会社 | 風景マッチング用参照データ生成システム及び位置測位システム |
CN102707724B (zh) * | 2012-06-05 | 2015-01-14 | 清华大学 | 一种无人机的视觉定位与避障方法及系统 |
EP3018448B1 (en) * | 2014-11-04 | 2021-01-06 | Volvo Car Corporation | Methods and systems for enabling improved positioning of a vehicle |
CN104715479A (zh) * | 2015-03-06 | 2015-06-17 | 上海交通大学 | 基于增强虚拟的场景复现检测方法 |
US20160363647A1 (en) | 2015-06-15 | 2016-12-15 | GM Global Technology Operations LLC | Vehicle positioning in intersection using visual cues, stationary objects, and gps |
EP3398164B1 (en) * | 2015-12-30 | 2020-04-01 | Telecom Italia S.p.A. | System for generating 3d images for image recognition based positioning |
EP3461138B1 (en) * | 2016-06-08 | 2021-09-22 | Huawei Technologies Co., Ltd. | Processing method and terminal |
CN106295512B (zh) * | 2016-07-27 | 2019-08-23 | 哈尔滨工业大学 | 基于标识的多纠正线室内视觉数据库构建方法以及室内定位方法 |
CN106447585A (zh) * | 2016-09-21 | 2017-02-22 | 武汉大学 | 城市地区和室内高精度视觉定位系统及方法 |
US10339708B2 (en) * | 2016-11-01 | 2019-07-02 | Google Inc. | Map summarization and localization |
US9940729B1 (en) * | 2016-11-18 | 2018-04-10 | Here Global B.V. | Detection of invariant features for localization |
CN108121764B (zh) * | 2016-11-26 | 2022-03-11 | 星克跃尔株式会社 | 图像处理装置、图像处理方法、电脑程序及电脑可读取记录介质 |
CN106851231B (zh) * | 2017-04-06 | 2019-09-06 | 南京三宝弘正视觉科技有限公司 | 一种视频监控方法及系统 |
CN106931963A (zh) * | 2017-04-13 | 2017-07-07 | 高域(北京)智能科技研究院有限公司 | 环境数据共享平台、无人飞行器、定位方法和定位系统 |
CN109325978B (zh) * | 2017-07-31 | 2022-04-05 | 深圳市腾讯计算机系统有限公司 | 增强现实显示的方法、姿态信息的确定方法及装置 |
CN108615247B (zh) * | 2018-04-27 | 2021-09-14 | 深圳市腾讯计算机系统有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN113987228A (zh) * | 2018-06-20 | 2022-01-28 | 华为技术有限公司 | 一种数据库构建方法、一种定位方法及其相关设备 |
CN110660254B (zh) * | 2018-06-29 | 2022-04-08 | 北京市商汤科技开发有限公司 | 交通信号灯检测及智能驾驶方法和装置、车辆、电子设备 |
CN111488773B (zh) * | 2019-01-29 | 2021-06-11 | 广州市百果园信息技术有限公司 | 一种动作识别方法、装置、设备及存储介质 |
CN112348885A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 |
CN112348886B (zh) * | 2019-08-09 | 2024-05-14 | 华为技术有限公司 | 视觉定位方法、终端和服务器 |
WO2021121306A1 (zh) * | 2019-12-18 | 2021-06-24 | 北京嘀嘀无限科技发展有限公司 | 视觉定位方法和系统 |
-
2018
- 2018-06-20 CN CN202111113556.8A patent/CN113987228A/zh active Pending
- 2018-06-20 CN CN201810642562.4A patent/CN110688500B/zh active Active
-
2019
- 2019-04-17 WO PCT/CN2019/082981 patent/WO2019242392A1/zh unknown
- 2019-04-17 EP EP19822178.0A patent/EP3800443B1/en active Active
- 2019-04-17 BR BR112020025901-2A patent/BR112020025901B1/pt active IP Right Grant
-
2020
- 2020-12-18 US US17/126,908 patent/US11644339B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019242392A1 (zh) | 2019-12-26 |
BR112020025901B1 (pt) | 2022-11-16 |
EP3800443A1 (en) | 2021-04-07 |
CN110688500A (zh) | 2020-01-14 |
EP3800443A4 (en) | 2021-10-27 |
CN110688500B (zh) | 2021-09-14 |
BR112020025901A2 (pt) | 2021-03-16 |
EP3800443B1 (en) | 2023-01-18 |
US20210103759A1 (en) | 2021-04-08 |
US11644339B2 (en) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11776280B2 (en) | Systems and methods for mapping based on multi-journey data | |
CN111174799B (zh) | 地图构建方法及装置、计算机可读介质、终端设备 | |
WO2021121306A1 (zh) | 视觉定位方法和系统 | |
WO2020052530A1 (zh) | 一种图像处理方法、装置以及相关设备 | |
CN113989450B (zh) | 图像处理方法、装置、电子设备和介质 | |
CN110688500B (zh) | 一种数据库构建方法、一种定位方法及其相关设备 | |
CN111292420B (zh) | 用于构建地图的方法和装置 | |
WO2021139176A1 (zh) | 基于双目摄像机标定的行人轨迹跟踪方法、装置、计算机设备及存储介质 | |
CN110009675B (zh) | 生成视差图的方法、装置、介质及设备 | |
CN114565863B (zh) | 无人机图像的正射影像实时生成方法、装置、介质及设备 | |
CN107679458B (zh) | 一种基于K-Means的道路彩色激光点云中道路标线的提取方法 | |
CN114419165B (zh) | 相机外参校正方法、装置、电子设备和存储介质 | |
CN110263209B (zh) | 用于生成信息的方法和装置 | |
WO2023065657A1 (zh) | 地图构建方法、装置、设备、存储介质及程序 | |
CN113436270A (zh) | 传感器标定方法及装置、电子设备和存储介质 | |
CN112946679B (zh) | 一种基于人工智能的无人机测绘果冻效应检测方法及系统 | |
CN114279433A (zh) | 地图数据自动化生产方法、相关装置及计算机程序产品 | |
CN112750203A (zh) | 模型重建方法、装置、设备及存储介质 | |
CN113379748B (zh) | 一种点云全景分割方法和装置 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN115880555B (zh) | 目标检测方法、模型训练方法、装置、设备及介质 | |
CN115965961B (zh) | 局部到全局的多模态融合方法、系统、设备及存储介质 | |
CN113129422A (zh) | 一种三维模型构建方法、装置、存储介质和计算机设备 | |
CN115620264A (zh) | 车辆定位方法、装置、电子设备和计算机可读介质 | |
CN111383337B (zh) | 用于识别对象的方法和装置 |
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 |