CN116485885A - 基于深度学习去除视觉slam前端动态特征点的方法 - Google Patents

基于深度学习去除视觉slam前端动态特征点的方法 Download PDF

Info

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
Application number
CN202211041620.0A
Other languages
English (en)
Inventor
包建华
吕露露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Normal University
Original Assignee
Jiangsu Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Normal University filed Critical Jiangsu Normal University
Priority to CN202211041620.0A priority Critical patent/CN116485885A/zh
Publication of CN116485885A publication Critical patent/CN116485885A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine 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前端动态特征点的方法。
背景技术
对于同时定位与地图构建任务,视觉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前端动态特征点的方法,其特征在于,动态物体包括人、猫、狗、车等。
CN202211041620.0A 2022-08-29 2022-08-29 基于深度学习去除视觉slam前端动态特征点的方法 Pending CN116485885A (zh)

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)

* Cited by examiner, † Cited by third party
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方法

Cited By (3)

* Cited by examiner, † Cited by third party
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