CN116485885A - 基于深度学习去除视觉slam前端动态特征点的方法 - Google Patents
基于深度学习去除视觉slam前端动态特征点的方法 Download PDFInfo
- Publication number
- CN116485885A CN116485885A CN202211041620.0A CN202211041620A CN116485885A CN 116485885 A CN116485885 A CN 116485885A CN 202211041620 A CN202211041620 A CN 202211041620A CN 116485885 A CN116485885 A CN 116485885A
- Authority
- CN
- China
- Prior art keywords
- dynamic
- feature points
- points
- image
- feature
- 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 51
- 230000000007 visual effect Effects 0.000 title claims abstract description 27
- 238000013135 deep learning Methods 0.000 title claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 66
- 230000003068 static effect Effects 0.000 claims abstract description 44
- 230000002159 abnormal effect Effects 0.000 claims description 31
- 238000012216 screening Methods 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 241000282326 Felis catus Species 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000013077 scoring method Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract 1
- 239000007788 liquid Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 4
- 241000282472 Canis lupus familiaris Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 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
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/77—Determining position or orientation of objects or cameras using statistical methods
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于深度学习去除视觉SLAM前端动态特征点的方法,将深度学习中的YOLOv3目标检测算法与传统视觉SLAM前端相结合,通过深度相机采集环境图像信息,采集到的RGB图像进行ORB特征提取,同时进行目标检测,检测出的物体分为动态和静态两类,筛选并剔除仅存在于动态物体框内的特征点,利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点,对剩余静态特征点使用RANSAC算法进行特征匹配并估计相机位姿以提升导航定位的精度。本发明检测速度得到提升,提取动态特征点方面,不仅精确地提取到场景中的动态特征点,还更好的保留住高质量静态特征点用于位姿估计,提高前端位姿估计精度。
Description
技术领域
本发明属于视觉SLAM技术领域,涉及基于深度学习去除视觉SLAM前端动态特征点的方法。
背景技术
对于同时定位与地图构建任务,视觉SLAM是最好的选择之一。近30年来,许多优秀的学者对视觉SLAM领域作出了卓越的贡献,使得现阶段视觉SLAM已经取得很好的表现,并已部分投入使用。例如ORB-SLAM2,RGB-D SLAM-V2。由于其具有传感器采集速度快、成本低,能满足实时运行和具有较高的准确率等优点而被广泛应用。然而,ORB-SLAM2和现有大多优秀算法一样,在现实场景的应用上依然存在一些问题。现有的算法大多为了方便计算,常对外部环境作静态假设,忽略了真实环境中动态物体对SLAM算法精度的影响,所使用的静态模型无法适应复杂多变的环境。因此,研究动态环境下的SLAM算法显得尤为重要。
发明内容
为全面解决上述问题,尤其是针对现有技术所存在的不足,本发明提供了基于深度学习去除视觉SLAM前端动态特征点的方法能够全面解决上述问题。
为实现上述目的,本发明采用以下技术手段:
基于深度学习去除视觉SLAM前端动态特征点的方法,包括下述步骤:
Step1:使用深度相机获取彩色和深度图像,对采集到的RGB图像均匀化提取ORB特征点,并使用YOLOv3目标检测算法获取边界框检测结果;
Step2:将边界框检测结果分类,分为动态物体和静态物体并对其建立集合,筛选出仅存在于动态物体检测框内的特征点并剔除;
Step3:根据提取的ORB特征点,在此基础上利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点并剔除;
Step4:对剩下的静态特征点进行特征匹配,得到最佳匹配特征点并进行相机位姿估计,得到准确的相机运动结果,从而实现准确的面向动态场景下的视觉SLAM。
本发明进一步的优选方案:Step1中,均匀化提取ORB特征点的方法如下:
首先构建图像金字塔模型将原始图像作为最底层图像G0,利用高斯核对其进行卷积,然后对卷积后的图像进行下采样得到上一层图像G1,以此图像作为输入,重复卷积和下采样操作得到更上一层图像,反复迭代多次,形成一个金字塔形的图像数据结构;
再将原始的RGB图像分成若干个层,在各个层上进行FAST角点的提取,然后计算图像金字塔每层需要提取的特征点数量Xk,公式如下:
式(1)中,X代表各层设置的各层的总特征点数量,k代表当前层数,α代表图像金字塔各层的图像的缩放因子,l代表图像金字塔总层数;
其次对构建的图像金字塔每一层都均匀地划分出30×30像素的格子,单独对每个格子提取FAST角点,对于一些无法提取FAST角点的格子,采用降低FAST阈值的方法,从而保证一些纹理较弱的区域也可以提取到FAST角点;
最后对于提取到的大量FAST角点,使用基于四叉树的方法,均匀地选取Xk个FAST角点。
本发明进一步的优选方案:Step1中,YOLOv3目标检测算法包括以下内容:
当获取到深度相机采集到的RGB图像后,使用YOLOv3网络模型对输入的RGB图像进行目标检测,输入图像经过全卷积神经网络得到3种尺度的输出特征图,在输出特征图上划分cell,对于ground truth box中心所在的cell,用于预测ground truth box框中的目标;
该cell先计算事先指定的3种anchor及相应的ground truth box的IOU,选出IOU最高的anchor,然后用选出的anchor生成需要的检测框,最后根据该检测框对不同类别的置信度来检测物体的类别;
YOLOv3使用了darknet-53的前52层,是一个全卷积网络,并且大量使用残差的跳层连接来降低池化带来的梯度负面效果。
本发明进一步的优选方案:Step2中,剔除动态特征点的方法如下:
将边界框检测结果按照动态物体和静态物体分类,假设输入YOLOv3网络模型的第N帧RGB图像的动态物体像素点集合为:其中/>为第N帧图像中的动态物体检测框内的第i个像素点,而静态物体像素点集合/> 为第N帧图像中的静态物体检测框内的第j个像素点;第N帧图像中提取到的特征点集合为其中/>为第N帧图像中的第m个特征点;若/>且/>则判断该特征点为动态特征点并从集合/>中删除之。
本发明进一步的优选方案:Step3中,基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点,具体方法如下:
分别选取相邻帧A1和A2的上三个特征点,并将其构成三角形Δb1b2b3和三角形Δc1c2c3,顶点b1、b2、b3为A1中的三个特征点,其分别与A2中的三个特征点c1、c2、c3相匹配,d为特征点之间的欧氏距离,定义几何约束得分函数:
式(2)中,d(p,q)表示特征点p,q之间的欧式距离;A(i,j)代表三角形对应边之间的平均距离,可以表示为:
由于相邻帧间的采样时间很短,由相机位姿变换引起的相机投影移动就变得非常小;
倘若场景中出现动态目标,那么由(2)式计算得到的几何约束得分函数值将会异常的大;
然而,几何约束得分涉及到两对特征点,真正的动态特征点难以确定,鉴于此,提出一种特征点双向打分方法来识别场景中真正的特征点,具体为:
定义一个特征点异常得分值,当三角形的一条边出现异常时,则将这条边上两个特征点的异常得分值都各加1分,这样,真正的动态特征点和静态特征点的异常得分值将会出现明显差异,可知,一个特征点的异常分值代表有多少个特征点判断该点为异常的动态点,特征点的异常分值的几何表达为:
式(4)中,qbc(i)为第i个特征点的异常分值;s(i,j)表示异常分值增量:
式(5)中,β为几何约束平均得分比例因子,其控制几何约束严格程度;AS表示图像上各点对之间几何得分平均分值:
式(6)中,n表示图像特征点匹配点对个数;qx(i,j)表示i,j两匹配特征点的几何得分值;表示几何误差权重因子,用以降低较大几何约束得分值对得分均值计算的影响:
式(7)中,θth为设定的几何得分阈值,其代表当一个特征点的精度和几何约束得分的总值大于该阈值时,将不会参与AS的计算;
设置自适应动态分割阈值为λT,其中T为提取的特征点总数;
qbc(i)>λT (8)
式(8)中,λ设置为60%,当60%的特征点认为一个特征点为异常时,则认为该特征点为动态特征点。
本发明进一步的优选方案:Step4中,特征匹配与位姿估计的方法如下:
基于上述提取到的静态特征点,对相邻关键帧间特征点做特征匹配;
帧间图像的位姿变换关系可以由基本矩阵表示,通常使用RANSAC算法来估算,对错误数据进行过滤;
RANSAC算法中评估的模型就是帧间的位姿估计,在进行位姿估计求解时,通过不断地将错误匹配设置为局外点,配合位姿求解算法,得到最优的位姿估计。
本发明进一步的优选方案:动态物体包括人、猫、狗、车等。
本发明具有以下有益效果:
(1)、本发明将深度学习中的YOLOv3目标检测算法融入到视觉SLAM前端,检测场景中动态目标并剔除动态特征点,相对于现有主流的一些视觉SLAM方法,如RGB-DSLAM-V2,ORB-SLAM2等,速度方面得到了大幅提升;
(2)、在提取动态特征点方面,将目标检测得到的动静态特征点取差集,然后再利用多视角几何约束的动态物体检测算法进一步剔除剩余动态特征点,此方法不仅能够精确地提取到场景中的动态特征点,还能够更好的保留住较多的高质量静态特征点用于位姿估计;
(3)、相对于传统视觉SLAM,本发明中所述的方法更适用于实际的场景,在动态场景下定位精度得到大幅提升。
具体实施方式
为了便于理解下面将对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅是本发明的一部分实施例。
实施例1
本发明实施例提供的基于深度学习去除视觉SLAM前端动态特征点的方法,包括下述步骤:
Step1:使用深度相机获取彩色和深度图像,对采集到的RGB图像均匀化提取ORB特征点,并使用YOLOv3目标检测算法获取边界框检测结果;
Step2:将边界框检测结果分类,分为动态物体和静态物体并对其建立集合,筛选出仅存在于动态物体检测框内的特征点并剔除;
Step3:根据提取的ORB特征点,在此基础上利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点并剔除;
Step4:对剩下的静态特征点进行特征匹配,得到最佳匹配特征点并进行相机位姿估计,得到准确的相机运动结果,从而实现准确的面向动态场景下的视觉SLAM。
实施例2
本发明实施例提供的基于深度学习去除视觉SLAM前端动态特征点的方法,包括下述步骤:
Step1:使用深度相机获取彩色和深度图像,对采集到的RGB图像均匀化提取ORB特征点,并使用YOLOv3目标检测算法获取边界框检测结果;
均匀化提取ORB特征点的方法如下:首先构建图像金字塔模型将原始图像作为最底层图像G0(高斯金字塔的第0层),利用高斯核(5*5)对其进行卷积,然后对卷积后的图像进行下采样(去除偶数行和列)得到上一层图像G1,以此图像作为输入,重复卷积和下采样操作得到更上一层图像,反复迭代多次,形成一个金字塔形的图像数据结构,即高斯金字塔;
再将原始的RGB图像分成若干个层,在各个层上进行FAST角点的提取,然后计算图像金字塔每层需要提取的特征点数量Xk,公式如下:
式(1)中,X代表各层设置的各层的总特征点数量,k代表当前层数,α代表图像金字塔各层的图像的缩放因子,l代表图像金字塔总层数;
其次对构建的图像金字塔每一层都均匀地划分出30×30像素的格子,单独对每个格子提取FAST角点,对于一些无法提取FAST角点的格子,采用降低FAST阈值的方法,从而保证一些纹理较弱的区域也可以提取到FAST角点;
最后对于提取到的大量FAST角点,使用基于四叉树的方法,均匀地选取Xk个FAST角点;
YOLOv3目标检测算法包括以下内容:当获取到深度相机采集到的RGB图像后,使用YOLOv3网络模型对输入的RGB图像进行目标检测,输入图像经过全卷积神经网络得到3种尺度(跨尺度预测)的输出特征图,在输出特征图上划分cell(单元格),对于ground truthbox中心所在的cell,用于预测ground truth box框中的目标;
该cell先计算事先指定的3种anchor及相应的ground truth box的IOU,选出IOU最高的anchor,然后用选出的anchor生成需要的检测框,最后根据该检测框对不同类别的置信度来检测物体的类别;
YOLOv3使用了darknet-53的前52层(没有全连接层),是一个全卷积网络,并且大量使用残差的跳层连接来降低池化带来的梯度负面效果;
在这个网络结构中,使用的是步长为2的卷积来进行降采样,同时需要进行一系列的3×3,1×1卷积操作,这样既可以提高非线性程度,增强泛化性能,改善网络精度,又能减少参数,提高实时性。
Step2:将边界框检测结果分类,分为动态物体和静态物体并对其建立集合,筛选出仅存在于动态物体检测框内的特征点并剔除;
其中,动态物体包括人、猫、狗、车等;
剔除动态特征点的方法如下:将边界框检测结果按照动态物体和静态物体分类,假设输入YOLOv3网络模型的第N帧RGB图像的动态物体像素点集合为:
其中/>为第N帧图像中的动态物体检测框内的第i个像素点,而静态物体像素点集合/> 为第N帧图像中的静态物体检测框内的第j个像素点;第N帧图像中提取到的特征点集合为/>其中为第N帧图像中的第m个特征点;若/>则判断该特征点为动态特征点并从集合/>中删除之;
其中,使用UNIX Domain SOCKET作为两个进程间的通讯(IPC),先由YOLOv3算法检测出动态物体和静态物体,然后再通过UNIX socket实时的把物体框数据传递到ORB-SLAM2并进行动态特征点的剔除,这样可以保证整个流程同步进行并提高ORB-SLAM2系统在高动态环境下的表现。
Step3:根据提取的ORB特征点,在此基础上利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点并剔除;
基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点,具体方法如下:
分别选取相邻帧A1和A2的上三个特征点,并将其构成三角形Δb1b2b3和三角形Δc1c2c3,顶点b1、b2、b3为A1中的三个特征点,其分别与A2中的三个特征点c1、c2、c3相匹配,d为特征点之间的欧氏距离,定义几何约束得分函数:
式(2)中,d(p,q)表示特征点p,q之间的欧式距离;A(i,j)代表三角形对应边之间的平均距离,可以表示为:
由于相邻帧间的采样时间很短,由相机位姿变换引起的相机投影移动就变得非常小;倘若场景中出现动态目标,那么由(2)式计算得到的几何约束得分函数值将会异常的大;然而,几何约束得分涉及到两对特征点,真正的动态特征点难以确定;鉴于此,提出一种特征点双向打分方法来识别场景中真正的特征点;其主要思想为:定义一个特征点异常得分值,当三角形的一条边出现异常时,则将这条边上两个特征点的异常得分值都各加1分;这样,真正的动态特征点和静态特征点的异常得分值将会出现明显差异;因此易知,一个特征点的异常分值代表有多少个特征点判断该点为异常的动态点;特征点的异常分值的几何表达为:
式(4)中,qbc(i)为第i个特征点的异常分值;s(i,j)表示异常分值增量:
式(5)中,β为几何约束平均得分比例因子,其控制几何约束严格程度;AS表示图像上各点对之间几何得分平均分值:
式(6)中,n表示图像特征点匹配点对个数;qx(i,j)表示i,j两匹配特征点的几何得分值;表示几何误差权重因子,用以降低较大几何约束得分值对得分均值计算的影响:
式(7)中,θth为设定的几何得分阈值,其代表当一个特征点的精度和几何约束得分的总值大于该阈值时,将不会参与AS的计算;
设置自适应动态分割阈值为λT,其中T为提取的特征点总数;
qbc(i)>λT (8)
式(8)中,λ设置为60%,当60%的特征点认为一个特征点为异常时,则认为该特征点为动态特征点。
Step4:对剩下的静态特征点进行特征匹配,得到最佳匹配特征点并进行相机位姿估计,得到准确的相机运动结果,从而实现准确的面向动态场景下的视觉SLAM;
特征匹配与位姿估计的方法如下:基于上述提取到的静态特征点,对相邻关键帧间特征点做特征匹配;帧间图像的位姿变换关系可以由基本矩阵表示,通常使用RANSAC算法来估算,对错误数据进行过滤;RANSAC算法中评估的模型就是帧间的位姿估计,在进行位姿估计求解时,通过不断地将错误匹配设置为局外点,配合位姿求解算法,得到最优的位姿估计。
实施例3
本发明实施例提供的基于深度学习去除视觉SLAM前端动态特征点的方法,包括下述步骤:
Step1:使用深度相机获取彩色和深度图像,对采集到的RGB图像均匀化提取ORB特征点,并使用YOLOv3目标检测算法获取边界框检测结果。
Step1中,均匀化提取ORB特征点的方法如下:首先构建图像金字塔模型,将原始图像作为最底层图像G0(高斯金字塔的第0层),利用高斯核(5*5)对其进行卷积,然后对卷积后的图像进行下采样(去除偶数行和列)得到上一层图像G1,以此图像作为输入,重复卷积和下采样操作得到更上一层图像,反复迭代多次,形成一个金字塔形的图像数据结构,即高斯金字塔。再将原始的RGB图像分成若干个层,在各个层上进行FAST角点的提取,然后计算图像金字塔每层需要提取的特征点数量Xk,公式如下:
式(1)中,X代表各层设置的各层的总特征点数量,k代表当前层数,α代表图像金字塔各层的图像的缩放因子,l代表图像金字塔总层数。其次对构建的图像金字塔每一层都均匀地划分出30×30像素的格子,单独对每个格子提取FAST角点,对于一些无法提取FAST角点的格子,采用降低FAST阈值的方法,从而保证一些纹理较弱的区域也可以提取到FAST角点。最后对于提取到的大量FAST角点,使用基于四叉树的方法,均匀地选取Xk个FAST角点。
Step1中,YOLOv3目标检测算法包括以下内容:当获取到深度相机采集到的RGB图像后,使用YOLOv3网络模型对输入的RGB图像进行目标检测,输入图像经过全卷积神经网络得到3种尺度(跨尺度预测)的输出特征图,在输出特征图上划分cell(单元格),对于groundtruth box中心所在的cell,用于预测ground truth box框中的目标。该cell先计算事先指定的3种anchor及相应的ground truth box的IOU,选出IOU最高的anchor,然后用选出的anchor生成需要的检测框,最后根据该检测框对不同类别的置信度来检测物体的类别。YOLOv3使用了darknet-53的前52层(没有全连接层),是一个全卷积网络,并且大量使用残差的跳层连接来降低池化带来的梯度负面效果。在这个网络结构中,使用的是步长为2的卷积来进行降采样。同时需要进行一系列的3×3,1×1卷积操作,这样既可以提高非线性程度,增强泛化性能,改善网络精度,又能减少参数,提高实时性。
Step2:将边界框检测结果分类,分为动态物体和静态物体并对其建立集合,筛选出仅存在于动态物体检测框内的特征点并剔除。
Step2中,剔除动态特征点的方法如下:
将边界框检测结果按照动态物体和静态物体分类,假设输入YOLOv3网络模型的第N帧RGB图像的动态物体像素点集合为:其中/>为第N帧图像中的动态物体检测框内的第i个像素点,而静态物体像素点集合/> 为第N帧图像中的静态物体检测框内的第j个像素点;第N帧图像中提取到的特征点集合为其中/>为第N帧图像中的第m个特征点;若/>则判断该特征点为动态特征点并从集合/>中删除之。其中,使用UNIX Domain SOCKET作为两个进程间的通讯(IPC),先由YOLOv3算法检测出动态物体和静态物体,然后再通过UNIXsocket实时的把物体框数据传递到ORB-SLAM2并进行动态特征点的剔除,这样可以保证整个流程同步进行并提高ORB-SLAM2系统在高动态环境下的表现。
Step3:根据提取的ORB特征点,在此基础上利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点并剔除。
Step3中,基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点,具体方法如下:
分别选取相邻帧A1和A2的上三个特征点,并将其构成三角形Δb1b2b3和三角形Δc1c2c3,顶点b1、b2、b3为A1中的三个特征点,其分别与A2中的三个特征点c1、c2、c3相匹配,d为特征点之间的欧氏距离。定义几何约束得分函数:
式(2)中,d(p,q)表示特征点p,q之间的欧式距离;A(i,j)代表三角形对应边之间的平均距离,可以表示为:
由于相邻帧间的采样时间很短,由相机位姿变换引起的相机投影移动就变得非常小。倘若场景中出现动态目标,那么由(2)式计算得到的几何约束得分函数值将会异常的大。然而,几何约束得分涉及到两对特征点,真正的动态特征点难以确定。鉴于此,提出一种特征点双向打分方法来识别场景中真正的特征点。其主要思想为:定义一个特征点异常得分值,当三角形的一条边出现异常时,则将这条边上两个特征点的异常得分值都各加1分。这样,真正的动态特征点和静态特征点的异常得分值将会出现明显差异。因此易知,一个特征点的异常分值代表有多少个特征点判断该点为异常的动态点。特征点的异常分值的几何表达为:
式(4)中,qbc(i)为第i个特征点的异常分值;s(i,j)表示异常分值增量:
式(5)中,β为几何约束平均得分比例因子,其控制几何约束严格程度;AS表示图像上各点对之间几何得分平均分值:
式(6)中,n表示图像特征点匹配点对个数;qx(i,j)表示i,j两匹配特征点的几何得分值;表示几何误差权重因子,用以降低较大几何约束得分值对得分均值计算的影响:
式(7)中,θth为设定的几何得分阈值,其代表当一个特征点的精度和几何约束得分的总值大于该阈值时,将不会参与AS的计算。
设置自适应动态分割阈值为λT,其中T为提取的特征点总数。
qbc(i)>λT (8)
式(8)中,λ设置为60%,当60%的特征点认为一个特征点为异常时,则认为该特征点为动态特征点。
整个几何约束方法对动态特征点的滤除步骤可归结如下:
步骤1:对相邻帧间中的匹配点对计算:其几何约束得分以及平均几何约束得分AS。
步骤2:对所计算的各匹配特征点进行双向打分,依次计算所有特征点的异常分值qbc。
步骤3:采用自适应阈值方法对每个特征点的异常分值进行判断,若qbc(i)>λT,判定第i个图像特征点为动态特征点并剔除之。
Step4:对剩下的静态特征点进行特征匹配,得到最佳匹配特征点并进行相机位姿估计,得到准确的相机运动结果,从而实现准确的面向动态场景下的视觉SLAM。
Step4中,特征匹配与位姿估计的方法如下:基于上述提取到的静态特征点,对相邻关键帧间特征点做特征匹配;帧间图像的位姿变换关系可以由基本矩阵表示,通常使用RANSAC算法来估算,对错误数据进行过滤;RANSAC算法中评估的模型就是帧间的位姿估计,在位姿估计求解时,通过不断地将错误匹配设置为局外点,配合位姿求解算法,得到最优的位姿估计。标准RANSAC算法的基本思想如下:
(1)随机从有N个数据点,内点比例为N的样本集S中抽取4个样本数据点,根据该样本数据点计算单应性矩阵模型H;
(2)计算数据集中所有的数据与单应性矩阵H的投影误差,将误差小于阈值Td的数据点加入到内点集Si中;
(3)如果当前内点集Si的大小超过了某个阈值Ti,用Si重新估计模型并结束,否则,重新选取新的样本,重复步骤(2);
(4)如果迭代次数大于T,则退出,同时最大的内点集Si被选中,用它来重新估计模型,得到最后的估计模型。
关键帧是经过筛选之后的、代表其附近帧的特殊帧,可以减少信息冗余度。此关键帧内的特征点包含了其附近帧超过75%的特征点。附近帧为关键帧附近的帧。动态物体包括人、猫、狗、车等。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,包括下述步骤:
Step1:使用深度相机获取彩色和深度图像,对采集到的RGB图像均匀化提取ORB特征点,并使用YOLOv3目标检测算法获取边界框检测结果;
Step2:将边界框检测结果分类,分为动态物体和静态物体并对其建立集合,筛选出仅存在于动态物体检测框内的特征点并剔除;
Step3:根据提取的ORB特征点,在此基础上利用基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点并剔除;
Step4:对剩下的静态特征点进行特征匹配,得到最佳匹配特征点并进行相机位姿估计,得到准确的相机运动结果,从而实现准确的面向动态场景下的视觉SLAM。
2.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,Step1中,均匀化提取ORB特征点的方法如下:
首先构建图像金字塔模型将原始图像作为最底层图像G0,利用高斯核对其进行卷积,然后对卷积后的图像进行下采样得到上一层图像G1,以此图像作为输入,重复卷积和下采样操作得到更上一层图像,反复迭代多次,形成一个金字塔形的图像数据结构;
再将原始的RGB图像分成若干个层,在各个层上进行FAST角点的提取,然后计算图像金字塔每层需要提取的特征点数量Xk,公式如下:
式(1)中,X代表各层设置的各层的总特征点数量,k代表当前层数,α代表图像金字塔各层的图像的缩放因子,l代表图像金字塔总层数;
其次对构建的图像金字塔每一层都均匀地划分出30×30像素的格子,单独对每个格子提取FAST角点,对于一些无法提取FAST角点的格子,采用降低FAST阈值的方法,从而保证一些纹理较弱的区域也可以提取到FAST角点;
最后对于提取到的大量FAST角点,使用基于四叉树的方法,均匀地选取Xk个FAST角点。
3.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,Step1中,YOLOv3目标检测算法包括以下内容:
当获取到深度相机采集到的RGB图像后,使用YOLOv3网络模型对输入的RGB图像进行目标检测,输入图像经过全卷积神经网络得到3种尺度的输出特征图,在输出特征图上划分cell,对于ground truth box中心所在的cell,用于预测ground truth box框中的目标;
该cell先计算事先指定的3种anchor及相应的ground truth box的IOU,选出IOU最高的anchor,然后用选出的anchor生成需要的检测框,最后根据该检测框对不同类别的置信度来检测物体的类别;
YOLOv3使用了darknet-53的前52层,是一个全卷积网络,并且大量使用残差的跳层连接来降低池化带来的梯度负面效果。
4.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,Step2中,剔除动态特征点的方法如下:
将边界框检测结果按照动态物体和静态物体分类,假设输入YOLOv3网络模型的第N帧RGB图像的动态物体像素点集合为:其中/>为第N帧图像中的动态物体检测框内的第i个像素点,而静态物体像素点集合/> 为第N帧图像中的静态物体检测框内的第j个像素点;第N帧图像中提取到的特征点集合为其中/>为第N帧图像中的第m个特征点;若/>且/>则判断该特征点为动态特征点并从集合/>中删除之。
5.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,Step3中,基于多视角几何约束的动态物体检测算法筛选出剩余动态特征点,具体方法如下:
分别选取相邻帧A1和A2的上三个特征点,并将其构成三角形Δb1b2b3和三角形Δc1c2c3,顶点b1、b2、b3为A1中的三个特征点,其分别与A2中的三个特征点c1、c2、c3相匹配,d为特征点之间的欧氏距离,定义几何约束得分函数:
式(2)中,d(p,q)表示特征点p,q之间的欧式距离;A(i,j)代表三角形对应边之间的平均距离,可以表示为:
由于相邻帧间的采样时间很短,由相机位姿变换引起的相机投影移动就变得非常小;
倘若场景中出现动态目标,那么由(2)式计算得到的几何约束得分函数值将会异常的大;
然而,几何约束得分涉及到两对特征点,真正的动态特征点难以确定,鉴于此,提出一种特征点双向打分方法来识别场景中真正的特征点,具体为:
定义一个特征点异常得分值,当三角形的一条边出现异常时,则将这条边上两个特征点的异常得分值都各加1分,这样,真正的动态特征点和静态特征点的异常得分值将会出现明显差异,可知,一个特征点的异常分值代表有多少个特征点判断该点为异常的动态点,特征点的异常分值的几何表达为:
式(4)中,qbc(i)为第i个特征点的异常分值;s(i,j)表示异常分值增量:
式(5)中,β为几何约束平均得分比例因子,其控制几何约束严格程度;AS表示图像上各点对之间几何得分平均分值:
式(6)中,n表示图像特征点匹配点对个数;qx(i,j)表示i,j两匹配特征点的几何得分值;表示几何误差权重因子,用以降低较大几何约束得分值对得分均值计算的影响:
式(7)中,θth为设定的几何得分阈值,其代表当一个特征点的精度和几何约束得分的总值大于该阈值时,将不会参与AS的计算;
设置自适应动态分割阈值为λT,其中T为提取的特征点总数;
qbc(i)>λT(8)
式(8)中,λ设置为60%,当60%的特征点认为一个特征点为异常时,则认为该特征点为动态特征点。
6.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,Step4中,特征匹配与位姿估计的方法如下:
基于上述提取到的静态特征点,对相邻关键帧间特征点做特征匹配;
帧间图像的位姿变换关系可以由基本矩阵表示,通常使用RANSAC算法来估算,对错误数据进行过滤;
RANSAC算法中评估的模型就是帧间的位姿估计,在进行位姿估计求解时,通过不断地将错误匹配设置为局外点,配合位姿求解算法,得到最优的位姿估计。
7.根据权利要求1所述的基于深度学习去除视觉SLAM前端动态特征点的方法,其特征在于,动态物体包括人、猫、狗、车等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211041620.0A CN116485885A (zh) | 2022-08-29 | 2022-08-29 | 基于深度学习去除视觉slam前端动态特征点的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211041620.0A CN116485885A (zh) | 2022-08-29 | 2022-08-29 | 基于深度学习去除视觉slam前端动态特征点的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116485885A true CN116485885A (zh) | 2023-07-25 |
Family
ID=87212537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211041620.0A Pending CN116485885A (zh) | 2022-08-29 | 2022-08-29 | 基于深度学习去除视觉slam前端动态特征点的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116485885A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740477A (zh) * | 2023-08-16 | 2023-09-12 | 南昌航空大学 | 基于稀疏光流的动态像素点分布识别方法、系统及设备 |
CN117315547A (zh) * | 2023-10-18 | 2023-12-29 | 哈尔滨理工大学 | 一种解决动态物体大占比的视觉slam方法 |
-
2022
- 2022-08-29 CN CN202211041620.0A patent/CN116485885A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740477A (zh) * | 2023-08-16 | 2023-09-12 | 南昌航空大学 | 基于稀疏光流的动态像素点分布识别方法、系统及设备 |
CN116740477B (zh) * | 2023-08-16 | 2023-11-07 | 南昌航空大学 | 基于稀疏光流的动态像素点分布识别方法、系统及设备 |
CN117315547A (zh) * | 2023-10-18 | 2023-12-29 | 哈尔滨理工大学 | 一种解决动态物体大占比的视觉slam方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270249B (zh) | 一种融合rgb-d视觉特征的目标位姿估计方法 | |
WO2018214195A1 (zh) | 一种基于卷积神经网络的遥感图像桥梁检测方法 | |
CN110163213B (zh) | 基于视差图和多尺度深度网络模型的遥感图像分割方法 | |
CN108416292B (zh) | 一种基于深度学习的无人机航拍图像道路提取方法 | |
CN116485885A (zh) | 基于深度学习去除视觉slam前端动态特征点的方法 | |
CN110796009A (zh) | 基于多尺度卷积神经网络模型的海上船只检测方法及系统 | |
CN107220643A (zh) | 基于紧凑型神经网络的深度学习模型的交通标志识别系统 | |
CN116258817B (zh) | 一种基于多视图三维重建的自动驾驶数字孪生场景构建方法和系统 | |
CN112330593A (zh) | 基于深度学习网络的建筑物表面裂缝检测方法 | |
CN108288047A (zh) | 一种行人/车辆检测方法 | |
CN111640116B (zh) | 基于深层卷积残差网络的航拍图建筑物分割方法及装置 | |
CN112734739B (zh) | 一种基于注意力机制与ResNet融合的建筑裂缝可视化识别方法 | |
CN109708658B (zh) | 一种基于卷积神经网络的视觉里程计方法 | |
CN110415280B (zh) | 多任务cnn模型下的遥感影像与建筑物矢量配准方法及系统 | |
CN110991444A (zh) | 面向复杂场景的车牌识别方法及装置 | |
CN114565675B (zh) | 一种在视觉slam前端去除动态特征点的方法 | |
Zhu et al. | Object detection in complex road scenarios: improved YOLOv4-tiny algorithm | |
CN111242026A (zh) | 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法 | |
CN111738114A (zh) | 基于无锚点精确采样遥感图像车辆目标检测方法 | |
CN115019274A (zh) | 一种融合追踪与检索算法的路面病害识别方法 | |
CN116740528A (zh) | 一种基于阴影特征的侧扫声呐图像目标检测方法及系统 | |
CN118072193A (zh) | 一种基于无人机图像和深度学习的堤坝裂缝检测方法 | |
CN110084203B (zh) | 基于上下文关联的全卷积网络飞机层级检测方法 | |
CN115187959B (zh) | 一种基于双目视觉的飞行汽车山地着陆方法及系统 | |
CN116612430A (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 |