CN109073385A - 一种基于视觉的定位方法及飞行器 - Google Patents

一种基于视觉的定位方法及飞行器 Download PDF

Info

Publication number
CN109073385A
CN109073385A CN201780023037.8A CN201780023037A CN109073385A CN 109073385 A CN109073385 A CN 109073385A CN 201780023037 A CN201780023037 A CN 201780023037A CN 109073385 A CN109073385 A CN 109073385A
Authority
CN
China
Prior art keywords
image
pose
matching
feature
aircraft
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
CN201780023037.8A
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.)
SZ DJI Technology Co Ltd
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology Co Ltd
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 Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN109073385A publication Critical patent/CN109073385A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation 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/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • 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/10016Video; Image sequence
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Astronomy & Astrophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Navigation (AREA)

Abstract

本发明实施例提供了一种基于视觉的定位方法及飞行器,其中方法包括:从第一图像和第二图像中分别提取特征;根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;根据所述满足条件的匹配对确定第一位姿变化,通过上述方法可以在一定程度上提高获取到的位姿变化的精度。

Description

一种基于视觉的定位方法及飞行器
技术领域
本发明涉及电子技术领域,尤其涉及一种基于视觉的定位方法及飞行器。
背景技术
随着电子技术的不断发展,飞行器(例如无人机等)得到了广泛的应用。
在飞行器的飞行过程中,可以通过视觉传感器(比如单目、双目相机)不断获取图像,并通过图像来估计出飞行器的位姿变化,从而估计出飞行器实时的位置。位姿变化的精度越高,飞行器的位置的精度也就越高。
如何提高位姿变化的精度是一个热门的研究方向。
发明内容
本发明实施例公开了一种基于视觉的定位方法及飞行器,可以在一定程度上提高位姿变化的精度。
本发明实施例第一方面公开了一种基于视觉的定位方法,应用于飞行器,所述飞行器配置有视觉传感器,所述方法包括:
从第一图像和第二图像中分别提取特征,所述第一图像和所述第二图像是所述视觉传感器获取到的图像;
根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;
根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;
根据所述满足条件的匹配对确定第一位姿变化,所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
本发明实施例第二方面公开了一种飞行器,包括:处理器、存储器以及视觉传感器。
所述视觉传感器,用于获取图像;
所述存储器,用于存储程序指令;
所述处理器,用于执行所述存储器存储的程序指令,当程序指令被执行时,用于:
从第一图像和第二图像中分别提取特征,所述第一图像和所述第二图像是所述视觉传感器获取到的图像;
根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;
根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;
根据所述满足条件的匹配对确定第一位姿变化,所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
本发明实施例中,飞行器可以调用视觉传感器实时获取第一图像和第二图像,根据该第一图像中的特征和第二图像中的特征确定出初始特征匹配对,并根据仿射变换模型从该初始特征匹配对中提取出满足条件的匹配对,根据该满足条件的匹配确定出第一位姿变化,可以通过仿射变换模型筛选出较多数量的匹配对,以使后续确定出的第一位姿变化更为准确,可以提高得到的位姿变化的精度,进而提高飞行器的位置的精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种用于视觉定位的情景示意图;
图2是本发明实施例提供的一种飞行器进行初始化的情景示意图;
图3a是本发明实施例提供的一种飞行器进行初始匹配和匹配对过滤的情景示意图;
图3b是本发明实施例提供的一种飞行器进行引导匹配的情景示意图;
图4a是本发明实施例提供的一种飞行器的位姿计算及三维点云图计算的情景示意图;
图4b是本发明实施例提供的一种利用相邻位置点计算位姿变化的情景示意图;
图5是本发明实施例提供的一种基于视觉的定位方法的流程示意图;
图5a是本发明实施例提供的另一种基于视觉的定位方法的流程示意图;
图6是本发明实施例提供的又一种基于视觉的定位方法的流程示意图;
图7是本法发明实施例提供的一种用于确定相邻位置点的情景示意图;
图8是本发明实施例提供的又一种基于视觉的定位方法的流程示意图;
图9是本发明实施例提供的一种飞行器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
飞行器(例如无人机)可以通过视觉里程计来实时计算飞行器的位置。其中,视觉里程计是一种依靠视觉传感器(比如单目、双目)来完成运动估计的系统(包括硬件和方法)。
常见的视觉里程计,例如开源的SVO(Semi-direct monocular Visual Odometry)系统、即时定位与地图构建(Simultaneous Localization And Mapping,ORB SLAM)系统等等,可以通过视频流计算出飞行器的位姿变化,并基于位姿变化得到飞行器的位置,但对于一些特定的场景区域(例如存在大量重复纹理的区域,如草原、农田等),能够提取出的匹配对较少,导致飞行器的位姿变化的精度十分低下。
为了提高飞行器的位姿变化的精度,本发明实施例提供了一种基于视觉的定位方法及飞行器。
在一个实施例中,本发明实施例所提供的基于视觉的定位方法可应用于视觉里程计系统中。
在基于视觉的定位方法中,飞行器可以调用视觉传感器(如双目、单目相机)以一定的时间间隔/距离间隔拍摄图像。在一实施例中,飞行器还记录拍摄该图像的时刻,以及调用定位传感实时记录飞行器拍摄图像时的定位信息。
本发明实施例所提供的基于视觉的定位方法可以分为跟踪和建图两个线程。其中,该跟踪线程可以是将飞行器当前拍的图像和拍摄当前图像之前最近一次拍摄到的图像,计算出无人机拍摄当前图像所处的位置相比拍摄最近一次图像所处的位置的位移的过程。
其中,该建图线程可以是根据当前图像和最近一次拍摄到的图像,输出当前图像中的特征在三维空间的位置,也即三维点云图的过程。
在一实施例中,当该飞行器确定当前图像为关键帧时,执行该建图线程中的步骤,其中确定图像是关键帧的方法为现有技术,在此不再赘述。在一实施例中,对获取到的每一张图像均执行该建图线程中的步骤。
在一个实施例中,请参阅图1,为本发明实施例提供的一种用于视觉定位的情景示意图。图1中,跟踪线程可包括101-107所示的步骤,建图线程可包括108以及109所示的步骤。
在101中,该飞行器进行基于视觉的定位方法的初始化。
在一个实施例中,飞行器可以在该飞行器沿水平方向上的位移达到阈值时,利用图像1(即第三图像)和图像2(即第四图像)进行基于视觉的定位方法的初始化。
在102中,该飞行器可以调用视觉传感器获取图像,得到当前获取的图像。
该飞行器可以实时调用视觉传感器获取图像,并将获取到的图像、获取的时刻以及拍摄该图像时的定位信息进行对应保存。
在103中,该飞行器可以将离当前时刻的前一时刻获取到的图像(即上一帧图像,在一个实施例中,该上一帧图像为第一图像)与当前获取到的图像(在一个实施例总,该上一帧图像为第二图像)进行图像匹配。
在一个实施例中,该图像匹配可以包括初始匹配、匹配对过滤以及引导匹配等过程。
在104中,该飞行器可以判断匹配是否成功。在一个实施例中,如果两帧图像的图像重叠率低于预设的重叠阈值,可能会导致匹配不成功。
如过匹配不成功,则该飞行器可以在105中,利用定位传感器寻找附近已记录的关键帧(即第五图像)。
该飞行器可以在106中,根据该关键帧和当前获取的图像进行位姿的计算,得到飞行器拍摄当前获取的图像时的位姿相比于拍摄该关键帧时的位姿的位姿变化。
如果匹配成功,则该飞行器可以在106中,根据上一帧图像以及当前获取的图像进行位姿的计算,得到飞行器拍摄当前获取的图像时的位姿相比于拍摄该上一帧图像时的位姿的位姿变化。
在一个实施例中,对每一个当前获取的图像执行建图线程。在一个实施例中,当当前获取的图像是关键帧时,可以执行建图线程中的过程。
在108中,该飞行器可以根据该当前获取的图像中提取出的有效特征得到该当前获取的图像的三维点云图,并可以在109中,对该当前获取的图像的三维点云图以及得到的位姿变化(飞行器拍摄当前获取的图像时的位姿相比于拍摄该上一帧图像时的位姿的位姿变化,或者飞行器拍摄当前获取的图像时的位姿相比于拍摄该关键帧时的位姿的位姿变化)进行优化处理。
下面请参阅图2,图2为本发明实施例提供的一种飞行器进行初始化的情景示意图。在一个实施例中,图2所示的初始化的实现过程可以为对图1所示的101的进一步阐述。
在进行初始化之前,该飞行器可以确定在水平方向上的位移是否大于阈值,若是,则可以进行基于视觉的定位的初始化过程;若该飞行器未在水平方向上有位移,或水平方向上的位移小于或等于阈值(例如该飞行器处于原地旋转状态、掉高飞行状态等等),则可以不进行基于视觉的定位的初始化。
在1011中,该飞行器可以首先调用视觉传感器获取图像1和图像2,并获取该图像1中的特征对应的特征描述子,以及获取该图像2中的特征对应的特征描述子,然后将图像1中的特征描述子与图像2中的特征描述子进行匹配。
在一个实施例中,上述特征可以为ORB(Oriented Fast and Rotated Brief)特征点,也可以为SIFT(Scale-invariant feature transform)特征点,还可以为SURF(SpeededUp Robust Features)特征点,Harris角点等。还可以是其他类型的特征点,本发明实施例对此不作任何限制。
在一个实施例中,该特征点匹配的过程可以是:将图像2中的特征描述子a(即目标特征描述子)与图像1中的至少部分特征描述子进行匹配,在图像1中找出与该特征描述子a的汉明距离最小的特征描述子b(即对应特征描述子)。该飞行器可以进一步判断该特征描述子a与特征描述子b之间的汉明距离是否小于预设的距离阈值,如果小于该预设的距离阈值,则可以确定该特征描述子a对应的特征与特征描述子b对应的特征为一对初始特征匹配对。以此类推,该飞行器可以得到该图像1与图像2中的多对初始特征匹配对。
在一个实施例中,该飞行器也可以获取该图像1中的特征线对应的特征描述子,针对该图像2中的特征线设置对应的特征描述子,然后将图像1中的特征描述子与图像2中的特征描述子进行匹配,得到多对初始特征匹配对。
在一个实施例中,该特征线可以为LBD(the Line Band Descriptor)特征线,也可以为其他特征线,本发明实施例对此不作任何限制。
在1012中,该飞行器可以将得到的多对初始特征匹配对,以及预设的单应性约束模型和极性约束模型输入到第二预设算法中进行对应的算法处理,该第二预设算法例如可以是随机抽样一致性算法(Random Sample Consensus,RANSAC)。
通过该第二预设算法进行处理后,可以得到从初始特征匹配对中筛选出的多对有效特征匹配对、单应性约束模型对应的模型参数或者极性约束模型的模型参数。
在一个实施例中,该飞行器可以利用该第二预设算法对该多对初始特征匹配对以及单应性约束模型进行算法处理,并同时利用该第二预设算法对该多对初始特征匹配对以及极性约束模型进行对应的算法处理。
如果算法处理的结果表示该单应性约束模型和该多对初始特征匹配对的结果的稳定性更好,则可以输出该有效特征匹配对以及该单应性约束模型的模型参数;如果处理结果表示该极性约束模型和该多对初始特征匹配对的结果的稳定性更好,则可以输出该有效特征匹配对以及该极性约束模型的模型参数。
在1013中,该飞行器可以通过分解该极性约束模型的模型参数或者该单应性约束模型的模型参数(取决于上述过程中算法处理的结果),并结合该多对有效特征匹配对,得到该飞行器拍摄该图像1与图像2对应的第二位姿变化,该第二位姿变化用于指示该视觉传感器拍摄该图像2时的位姿相比拍摄图像1时的位姿的变化。
在一个实施例中,该飞行器可以在建图线程中,利用三角化算法生成新的图像2的三维点云图,并且可以结合该新的图像2的三维点云图可以优化该第二位姿变化。
在一个实施例中,该飞行器可以将该第二位姿变化以及该图像2的三维点云图作为初始化结果进行保存。
下面请参阅图3a,为本发明实施例提供的一种飞行器进行初始匹配和匹配对过滤的情景示意图。在一个实施例中,图3所示的初始匹配和匹配对过滤的实现过程可以为对图1所示的103中的图像匹配过程的进一步阐述。
在1021中,该飞行器可以调用该视觉传感器继续获取图像3和图像4,并获取图像3和图像4中的特征描述子,然后将图像4中的特征描述子与图像3中的特征描述子进行匹配。
在一个实施例中,图像3也可以为图像2,也就是说,第一图像也可以为第四图像,本发明实施例对此不作限制。
在一个实施例中,该匹配的过程可以是:将图像4中的特征c的描述子与图像3中的至少部分特征的描述子进行匹配,在图像4中找出与该特征c的描述子的汉明距离最小的特征d。该飞行器可以进一步判断该特征c与特征d之间的汉明距离是否小于预设的距离阈值,如果小于该预设的距离阈值,则可以确定该特征c对应的特征与特征d对应的特征为一对初始匹配对。以此类推,该飞行器可以得到该图像4与图像3中的多对初始匹配对。
在一个实施例中,当飞行器处于农田、树林等重复纹理较多的场景,利用某些非ORB特征点的特征描述子(以下称为强描述子)常用的显著性匹配的方法可能导致很多有效的匹配对被过滤掉。由于ORB特征点的描述子相比于其他强描述子的显著性较低,所以可以采用ORB特征点进行特征匹配,并且,该飞行器可以结合判断匹配对的汉明距离是否小于预设的距离阈值的方法会出现更多的初始匹配对。
然而,采用上述ORB特征点,又采用汉明距离来判断的方法,可能会使初始匹配对中囊括进来很多无效的匹配对。因此,飞行器可以通过预先建立仿射变换模型,通过该仿射变换模型进行匹配对过滤,来过滤掉这些无效匹配对,提高有效的匹配对的占比。
针对飞行器拍摄的特殊性,拍摄得到的两帧图像之间对应的特征可以满足仿射变换,因此,根据该仿射变化模型可以从初始特征匹配对中筛除掉无效的匹配对。
在一个实施例中,飞行器可以在1022中,将该图像2与图像3中的多对初始匹配对以及该仿射变换模型输入到第二预设算法中进行对应的算法处理,得到多个内点(linelier)(该内点为经过该仿射变换模型过滤后的满足条件的匹配对),以及得到该仿射变换模型的当前模型参数。
在一个实施例中,请参阅图3b,飞行器可以判断该满足条件的匹配对的数量是否低于预设的数量阈值,若是,则可以在1023中,将该图像3的特征、图像4的特征以及该仿射变换模型的当前模型参数输入到该仿射变换模型中进行引导匹配,得到更多的新的匹配对,其中,新的匹配对的数量大于或者等于满足条件的匹配对的数量。
该飞行器可以根据该新的匹配对计算得到第一位姿变化。
需要说明的是,稳定的匹配对数量对于飞行器后续的位姿计算十分重要。当场景中出现大量重复纹理时,凭借特征描述子之间的相似性得到的满足条件的匹配对的数量可能会急剧下降,这将导致飞行器位姿计算结果的稳定性较低。利用仿射变化模型引导匹配对之间的匹配,可以在存在大量重复纹理的区域得到更多的新的匹配对,这将极大地提高飞行器位姿计算结果的稳定性。
下面请参阅图4a,图4a为本发明实施例提供的一种飞行器的位姿计算及三维点云图计算的情景示意图。在一个实施例中,图4a所示的飞行器的位姿计算及三维点云图计算的实现过程可以为对图1所示的位姿计算及位姿的优化处理过程的进一步阐述。
在1031中,该飞行器可以根据对极几何算法(例如PnP(Perspective-n-Point)算法)将满足条件的匹配对进行处理,得到图像4中的特征对应的三维点云图的初始值以及拍摄图像4相比于图像3的飞行器的位姿的变化的初始值(即第一位姿变化的初始值)。
在1032中,该飞行器可以根据优化算法(如BA(bundle adjustment)算法),将该图像4的三维点云图的初始值、拍摄图像4相比图像3的飞行器的位姿的变化的初始值、图像4和图像3的匹配对进行优化处理,得到更加精准的拍摄该图像4相比于拍摄图像3的飞行器的位姿的变化(即第一位姿变化),并得到更加精准的图像4的三维点云图。
需要说明的是,由于风速和图传信号的影响,飞行器拍摄的图像会出现相邻两帧图像之间的重叠率变化较大的情况,传统的利用优化算法计算位姿的方法是将上一帧图像对应的位姿作为优化的初始值。然而,当相邻两帧图像之间的重叠率变化较大时,继续使用上一帧图像对应的位姿作为优化算法的初始值,会导致优化时间变慢、优化结果不稳定。
本发明实施例可以利用对极几何算法计算出飞行器的位姿变化的初始值,将该位姿变化的初始值作为优化算法的初始值,会使优化过程中收敛的速度更快。
在一个实施例中,上述利用对极几何算法以及优化算法计算位姿变化的过程也可以应用到视觉传感器和惯性传感器(instant messenger's union,IMU)融合的情况。
在一个实施例中,该飞行器可以存储该飞行器拍摄该图像3时的位置,并可以根据该第一位姿变化以及飞行器拍摄该图像3时的位置,确定出飞行器在拍摄该图像4时的位置。
在一个实施例中,在确定飞行器拍摄图像4的位置时,飞行器可能根据该满足条件的匹配对不能确定第一位姿变化,例如,图像3的信息丢失,或者图像3的信息出现故障时,飞行器不能确定该第一位姿变化。这时,请参阅图4b,该飞行器可以通过定位传感器确定该飞行器拍摄图像4时的定位信息,并基于该图像4的定位信息寻找相邻位置点上的图像(即第五图像),利用该相邻位置点的图像进行匹配。
飞行器可以在1033中,利用定位传感器,以拍摄该图像4的定位信息为中心,找到距离拍摄该图像4的定位信息最近的相邻位置点,并获取该相邻位置点对应的关键帧(即图像5,也即第五图像)中的特征,其中,该图像5为除图像3以外定位信息距离图像4的定位信息最近的图像。
该飞行器可以将该图像4中的特征和该图像5中的特征进行再次的初始匹配和匹配对过滤(具体实现过程可参考图3a以及图3b中的相应过程,在此不作赘述),并得到图像4和图像5之间的匹配对。
在1034中,该飞行器可以根据图像4和图像5之间的匹配对进行飞行器的位姿信息的计算和三维点云图的计算(具体实现过程可参考图4a中的相应过程,在此不作赘述),得到拍摄图像4相比于拍摄图像5的飞行器的位姿的变化(即第三位姿变化)。
上述基于视觉的定位方法可以算出飞行器在拍摄图像4时的位姿相比于拍摄其他图像(如图像3或者图像5)时的位姿的位姿变化,并基于该位姿变化得到相对位置信息。在一个实施例中,该飞行器可以利用已确定的其中任意一帧图像的位置以及该相对位置信息,得到整个飞行器的移动轨迹在世界坐标系中的绝对位置。
需要说明的是,传统的视觉里程计方法在不能确定第一位姿变化之后,可以通过移动设备不断地重新跟踪参考关键帧(如图像3)。然而,在一些实施例中,航线在飞行器起飞前已经规划好,飞行器在跟踪失败之后返回重新跟踪在工程实现上有一定的难度,当飞行器不能返回重新跟踪时,通过不断跟踪参考关键帧是无法实现重定位成功的。
本发明实施例可以实现飞行器通过已记录的各个图像的定位信息找到和当前图像距离最小的图像,可以得到很高的重定位成功率。
还需要说明的是,飞行器在拍摄图像时的位置是基于视觉传感器确定的位置,该飞行器在拍摄图像时的定位信息是基于定位传感器确定的位置。基于视觉传感器计算出的图像4时的位置相比于利用定位传感器得到的拍摄图像4时的定位信息的精度更高。
在一个实施例中,该基于视觉的定位方法可以应用到即时定位与地图构建系统(Simultaneous Localization And Mapping,SLAM)。
该基于视觉的定位方法在应用于存在大量重复纹理的区域(如草原、农田等)时,得到的飞行器拍摄图像时的位置的精度相比于传统的视觉里程计方法(如开源的SVO系统、ORB SLAM系统)计算出的精度可以更高。
下面介绍本申请的方法实施例。需要说明的是,本申请所示的方法实施例可应用于飞行器,所述飞行器配置有视觉传感器。
请参阅图5,为本发明实施例提供的一种基于视觉的定位方法的流程示意图。图5所示的方法可包括:
S501、从第一图像和第二图像中分别提取特征。
所述第一图像和所述第二图像是所述视觉传感器获取到的图像。
其中,该视觉传感器可以是单目相机、双目相机等等,本发明实施例对此不作任何限制。
在一个实施例中,该特征可以包括ORB特征点。
在一个实施例中,该特征可以包括特征线。其中,该特征线可以为LBD特征线,也可以为其他类型的特征线,本发明实施例对此不作任何限制。
飞行器可以通过在特征中加入特征线和特征线对应的特征描述子,提高在纹理缺失的场景中图像间的特征匹配成功的概率,进而提高系统的稳定性。
在一个实施例中,由于无人机平行拍摄的特殊性,图像之间的尺度变化很小,因此,该飞行器可以在更少层级的图像金字塔上提取出特征,并根据提取出的特征确定出初始匹配对,可以提高提取的速度,增加初始匹配对的数量。
为了使本基于视觉的定位方法可以在图像之间的重叠率较低的情况稳定运行,也为了便于视觉里程计提高重定位的成功率,该飞行器可以在提取图像的特征时,控制提取出图像的特征分布较为均匀。
S502、根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对。在一个实施例中,根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对,可以包括:根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对。
需要说明的是,该汉明距离可以用于衡量特征描述子之间的距离关系,通常情况下,汉明距离的值越小,则两个特征描述子之间靠的越近,则匹配效果越好。
需要说明的是,该飞行器可以针对该第二图像的每一个特征(包括特征点或者特征线)设置特征描述子,针对该第一图像的每一个特征设置特征描述子,并可以基于该第二图像的特征描述子与该第一图像的特征描述子之间的汉明距离确定出初始匹配对。
在一个实施例中,根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对,包括:将所述第二图像的目标特征描述子与所述第一图像的各个特征描述子进行匹配,得到与所述目标特征描述子之间的汉明距离最近的对应特征描述子;若所述目标特征描述子与所述对应特征描述子之间的汉明距离小于预设的距离阈值,则确定所述目标描述子对应的特征以及所述对应描述子对应的特征为一对初始匹配对。
在一个实施例中,飞行器可以采用ORB特征点对应的特征描述子进行汉明距离的确定。在农田、树林等重复纹理较多的场景,利用强描述子常用的显著性匹配的方法可能导致很多有效的匹配对被过滤掉。而ORB特征点的特征描述子相比于强描述子的显著性较低,通过判断匹配对的汉明距离是否小于预设的距离阈值的方法会出现更多的初始匹配对。
需要说明的是,该第二图像中的特征描述子中的任意一个均可以作为该目标特征描述子。该对应特征描述子为该第一图像中与该目标描述子之间的汉明距离最近的特征描述子。
举例来说,该飞行器可以将第二图像中的每一个特征描述子均作为目标特征描述子,根据汉明距离找到与该目标特征描述子对应的对应特征描述子。该飞行器可以进一步判断目标特征描述子与对应特征描述子之间的汉明距离是否小于预设的距离阈值,如果是,则可以将该目标描述子对应的特征以及所述目标对应描述子对应的特征作为一对初始匹配对。以此类推,飞行器可以找到多对初始匹配对。
S503、根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对。
需要说明的是,针对飞行器平行拍摄的特殊性,拍摄得到的相邻两帧图像之间满足仿射变换,通过该仿射变换模型可以对初始匹配对进行有效的匹配对过滤。
还需要说明的是,该初始匹配对为该飞行器经过初始匹配所得到的匹配对。该飞行器可以对该初始匹配对通过仿射变换模型进行匹配对过滤的处理,从初始匹配对中滤除不满足的匹配对(也可以称为噪声),得到满足条件的匹配对。
其中,满足条件可以是指:满足该仿射变换模型设置的过滤条件。或者,该满足条件也可以是其他用于过滤初始匹配对的条件,本发明实施例对此不作任何限制。
在一个实施例中,所述根据仿射变换模型从所述初始匹配对中提取出满足条件的匹配对,包括:利用第一预设算法根据仿射变换模型以及所述初始特征匹配对得到所述满足条件的匹配对,以及所述仿射变换模型的当前模型参数。
在一个实施例中,该第一预设算法可以是随机抽样一致性算法(Random SampleConsensus,RANSIC),或者,该第一预设算法也可以是其他算法,本发明实施例对此不作任何限制。
举例来说,该飞行器可以将该仿射变换模型、多对初始匹配对输入到该RANSIC算法中,通过该RANSIC算法进行对应的算法处理,得到满足条件的匹配对(也叫内点),同时,也可以得到该仿射变换模型的当前模型参数。
在一个实施例中,该飞行器根据所述满足条件的匹配对确定第一位姿变化还可以是:确定所述满足条件的匹配对的数量;若所述满足条件的匹配对的数量小于预设数量阈值,则根据所述仿射变换模型的当前模型参数对所述第一图像中的特征以及所述第二图像中的特征进行引导匹配,得到新的匹配对;根据所述新的匹配对确定第一位姿变化。
该飞行器可以根据新的匹配对以及所述第一图像的定位信息确定出所述第二图像的定位信息。
其中,所述新的匹配对的数量大于或等于所述满足条件的匹配对的数量。
需要说明的是,稳定的匹配点数量对于提高第二图像的定位信息的精度十分重要,通过该仿射变换模型对特征的引导匹配,可以获得更多的匹配对,提高得到的位姿变化的精度。
举例来说,该飞行器可以根据仿射变换模型,将匹配对过滤时得到的仿射变换模型的当前模型参数、该第一图像中的特征以及第二图像中的特征作为输入参数进行引导匹配,得到新的匹配对,并可以根据该新的匹配对确定第一位姿变化。
S504、根据所述满足条件的匹配对确定第一位姿变化。
所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
在一个实施例中,该飞行器可以根据该第一位姿变化以及该飞行器拍摄该第一图像时的位置(已预先记录)计算出该飞行器在拍摄该第二图像时的位置。
在一个实施例中,该第一图像可以是拍摄该第二图像之前,飞行器通过视觉传感器所拍摄到的图像。
在一个实施例中,所述根据所述满足条件的匹配对确定第一位姿变化,可以包括如图5a所示的步骤:
S5041、利用对极几何算法根据所述满足条件的匹配对得到第一位姿变化的初始值。
在一个实施例中,所述利用对极几何根据所述满足条件的匹配对得到第一位姿变化的初始值,包括:利用PNP算法根据所述满足条件的匹配对得到第一位姿变化的初始值。
需要说明的是,该第一位姿变化的初始值可以表示用于表示该视觉传感器拍摄该第二图像时的位姿相比拍摄第一图像时的位姿的变化的初略值。
S5042、利用对极几何算法根据所述满足条件的匹配对得到所述第二图像的三维点云图的初始值。
需要说明的是,该飞行器还可以利用对极几何算法根据该满足条件的匹配对得到该第二图像中的特征对应的三维点云图的初始值。其中,该第二图像中的特征为该满足条件的匹配对中提取于该第二图像的特征。
在一个实施例中,该飞行器可以利用对极几何算法根据该满足条件的匹配对得到第一位姿变化的初始值以及第二图像的三维点云图的初始值。
S5043、利用预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化。
需要说明的是,该预设的优化算法可以是BA算法。
举例来说,该飞行器可以根据BA算法,将该第一位姿变化的初始值、第二图像的三维点云图的初始值、满足条件的匹配对进行优化处理,得到第一位姿变化。
该第一位姿变化相比于该第一位姿变化的初始值,其精度更高。
在一个实施例中,该飞行器也可以通过预设的优化算法根据所述第一位姿变化的初始值、所述第二图像的三维点云图的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化以及所述第二图像的三维点云图。
需要说明的是,该飞行器可以根据该第一位姿变化,再结合拍摄该第一图像的位置(已预先确定),确定出飞行器拍摄该第二图像时的位置。
在一个实施例中,如果第一图像的信息丢失,或者第一图像的信息出现故障,那么飞行器可能根据该满足条件的匹配对不能确定第一位姿变化。请参阅图6,当根据所述满足条件的匹配对不能确定第一位姿变化时,该飞行器可以执行以下步骤:
S601、当根据所述满足条件的匹配对不能确定第一位姿变化时,确定所述飞行器拍摄所述第二图像时的定位信息。
需要说明的是,该定位传感器可以是全球定位系统传感器(global PositioningSystem,GPS)。
该飞行器拍摄该第二图像时的定位信息可以由该定位传感器确定。
在一个实施例中,该飞行器可以在飞行过程中,存有多张图像以及所述飞行器拍摄每张所述图像时的定位信息,该飞行器拍摄该第二图像时的定位信息可以是该多张图像中的其中一张图像。
S602、根据所述定位信息和所述多张图像对应的定位信息确定出第五图像。
所述第五图像为除所述第一图像以外定位信息距离所述第二图像的定位信息最近的图像。
在一个实施例中,请参阅图7,该定位传感器为GPS传感器。飞行器沿着图7所示的规划的航线飞行。
该飞行器可以在飞行过程中通过视觉传感器实时获取当前图像,并利用获取当前图像之前的最近一次获取到的图像,得到当前图像对应的定位信息。当该最近一次获取到的图像出现故障,或者二者获取的时间相差较大,则不能确定这两帧图像之间的位姿变化。
在图7中,飞行器当前位于第二图像的位置点,该第二图像的位置点可以通过GPS获取的该飞行器拍摄该第二图像时的定位信息确定。该飞行器可以以该第二图像的位置点为中心,规划出GPS找回区域,该GPS找回区域中的所有位置点可以组成相邻位置点集合。
该飞行器可以从该相邻位置点集合中确定出除该最近一次获取到的图像之外的、离该第二图像的位置最近的相邻位置点。
在一个实施例中,该飞行器可以根据横向重叠率确定出该相邻位置点。其中,飞行器规划的航线为水平方向,与飞行器规划的方向垂直的方向为垂直方向,该横向重叠率可以表示在垂直方向上,两个位置点的重叠范围,如果横向重叠率越高,则找出的相邻位置点距离该第二图像的位置点越近。
在确定出该相邻位置点之后,该飞行器可以获取该相邻位置点对应的第五图像。
S603、根据所述第五图像与所述第二图像确定第三位姿变化。
所述第三位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第五图像时的位姿的变化。
其中,所述飞行器拍摄每张所述图像时的定位信息是由设于所述飞行器上的定位传感器确定出的定位信息。
在一个实施例中,该飞行器可以获取该第五图像,并根据该第五图像以及该第二图像再次进行初始匹配、匹配对过滤、引导匹配、位姿计算、三维点云计算等过程,得到第三位姿变化,具体过程可参照前述相应步骤,在次不作赘述。
在一个实施例中,该飞行器可以根据该第三位姿变化以及飞行器拍摄该第五图像时的位置确定出飞行器拍摄该第二图像时的位置。
可见,在本发明实施例中,飞行器可以调用视觉传感器实时获取第一图像和第二图像,根据该第一图像中的特征和第二图像中的特征确定出初始特征匹配对,并根据仿射变换模型从该初始特征匹配对中提取出满足条件的匹配对,根据该满足条件的匹配确定出第一位姿变化,可以通过仿射变换模型筛选出较多数量的匹配对,以使后续确定出的第一位姿变化更为准确,可以提高得到的位姿变化的精度,进而提高飞行器的位置的精度。
请参阅图8,为本发明实施例提供的又一种基于视觉的定位方法的流程示意图。如图8所示的方法可包括:
S801、确定所述飞行器当前沿水平方向的位移是否达到阈值。
在一个实施例中,飞行器在飞行开始时,可能会出现原地旋转、掉高飞行等调整飞机姿态的行为,这些行为的出现会导致该基于视觉的定位的非正常初始化。因此,该飞行器可以对这些情况进行判断,以保证该基于视觉的定位方法可以正常初始化。
在一个实施例中,飞行器当前沿水平方向的位移可以包括两种情况:第一种情况是沿水平方向飞行,第二种情况是飞行器可以是沿斜上方向飞行,也就是沿水平方向和竖直方向都有位移分量。
在一个实施例中,该判断的过程可以是:通过视觉传感器获取飞行器的位姿变化的方法或其他方法来判断飞行器当前沿水平方向的位移是否达到阈值。
需要说明的是,该阈值可以为任意值,本发明实施例对此不作任何限定。
S802、当确定所述飞行器当前沿水平方向上的位移达到阈值时,开始所述基于视觉的定位方法的初始化。
在一个实施例中,所述基于视觉的定位方法的初始化,可以包括:获取第三图像和第四图像;根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,所述第二位姿变化用于指示所述视觉传感器拍摄所述第四图像时的位姿相比拍摄所述第三图像时的位姿的变化,所述初始化的结果包括所述第二位姿变化。
需要说明的是,该第三图像和第四图像可以是该飞行器在飞行开始时所获取的图像,用于该基于视觉的定位方法的初始化。
在一个实施例中,所述根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,包括:利用第二预设算法根据所述第三图像中的特征和所述第四图像中的特征确定出初始特征匹配对;根据所述初始特征匹配对以及预设约束模型,得到有效特征匹配对以及所述预设约束模型的模型参数;根据所述有效特征匹配对以及所述预设约束模型的模型参数得到第二位姿变化。
在一个实施例中,该飞行器还可以根据所述有效特征匹配对以及所述预设约束模型的模型参数得到第二图像的三维点云图,帮将该第二位姿变化以及该第二图像的三维点云图作为初始化结果进行保存。
在一个实施例中,所述预设约束模型包括:单应性约束模型以及极性约束模型。
举例来说,该飞行器可以提取该第三图像的特征以及该第四图像的特征,将该第三图像的特征以及该第四图像的特征进行匹配,得到多对初始特征匹配对。该飞行器可以将该多对初始特征匹配对以及该单应性约束模型、极性约束模型输入到第二预设算法中进行对应的算法处理,筛选出有效特征匹配对,以及得到该单应性约束模型的模型参数或者得到该极性约束模型的模型参数。
在一个实施例中,在飞行器处于水平拍摄的场景中时,单应性约束模型相比于极性约束模型的稳定性更高,因此,在飞行器处于水平拍摄的场景中时,在初始化过程中可以得到该单应性约束模型的模型参数。
在一个实施例中,该飞行器可以通过分解该单应性约束模型的模型参数或者该极性约束模型的模型参数,以及结合三角化方法进行计算,得到第二位姿变化以及该第二图像的三维点云图。
S803、从第一图像和第二图像中分别提取特征。
所述第一图像和所述第二图像是所述视觉传感器获取到的图像。
S804、根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对。
S805、根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对。
S806、根据所述满足条件的匹配对确定第一位姿变化。
所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
需要说明的是,该S803至S806步骤的具体实现过程可参考前述方法实施例对应的S501-S504步骤中的相关描述在,在此不作赘述。
可见,通过实施本发明实施例,飞行器在确定飞行器在水平上的位移达到阈值时,开始基于视觉的定位方法的初始化,可以保证后续得到的位姿变化的精度更高,从而计算出的飞行器的位置也更加准确。
本发明实施例提供一种飞行器。请参阅图9,为本发明实施例提供的一种飞行器的结构示意图,包括:处理器901、存储器902、视觉传感器903。
所述视觉传感器903,用于获取图像;
所述存储器902,用于存储程序指令;
所述处理器901,用于执行所述存储器902存储的程序指令,当程序指令被执行时,用于:
从第一图像和第二图像中分别提取特征,所述第一图像和所述第二图像是所述视觉传感器903获取到的图像;
根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;
根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;
根据所述满足条件的匹配对确定第一位姿变化,所述第一位姿变化用于指示所述视觉传感器903拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
在一个实施例中,所述特征包括ORB特征点。
在一个实施例中,所述特征包括特征线。
在一个实施例中,所述处理器901用于根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对时,具体用于:根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对。
在一个实施例中,所述处理器901用于根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对时,具体用于:将所述第二图像的目标特征描述子与所述第一图像的各个特征描述子进行匹配,得到与所述目标特征描述子之间的汉明距离最近的对应特征描述子;若所述目标特征描述子与所述对应特征描述子之间的汉明距离小于预设的距离阈值,则确定所述目标描述子对应的特征以及所述对应描述子对应的特征为一对初始匹配对。
在一个实施例中,所述处理器901用于根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对时,具体用于:利用第一预设算法根据仿射变换模型以及所述初始匹配对得到所述满足条件的匹配对,以及所述仿射变换模型的当前模型参数。
在一个实施例中,所述处理器901用于根据所述满足条件的匹配对确定第一位姿变化时,具体用于:确定所述满足条件的匹配对的数量;若所述满足条件的匹配对的数量小于预设数量阈值,则根据所述仿射变换模型的当前模型参数对所述第一图像中的特征以及所述第二图像中的特征进行引导匹配,得到新的匹配对,所述新的匹配对的数量大于或等于所述满足条件的匹配对的数量;根据所述新的匹配对确定第一位姿变化。
在一个实施例中,所述处理器901用于从第一图像和第二图像中分别提取特征,之前还用于:确定所述飞行器当前沿水平方向的位移是否达到阈值;当确定所述飞行器当前沿水平方向上的位移达到阈值时,开始所述基于视觉的定位飞行器的初始化。
在一个实施例中,所述处理器901用于基于视觉的定位飞行器的初始化时,具体用于:获取第三图像和第四图像;根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,所述第二位姿变化用于指示所述视觉传感器903拍摄所述第四图像时的位姿相比拍摄所述第三图像时的位姿的变化,所述初始化的结果包括所述第二位姿变化。
在一个实施例中,所述处理器901用于根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化时,具体用于:利用第二预设算法根据所述第三图像中的特征和所述第四图像中的特征确定出初始特征匹配对;根据所述初始特征匹配对以及预设约束模型,得到有效特征匹配对以及所述预设约束模型的模型参数;根据所述有效特征匹配对以及所述预设约束模型的模型参数得到第二位姿变化。
在一个实施例中,所述预设约束模型包括:单应性约束模型以及极性约束模型。
在一个实施例中,所述处理器901用于根据所述满足条件的匹配对确定第一位姿变化时,具体用于:利用对极几何算法根据所述满足条件的匹配对得到第一位姿变化的初始值;利用预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化。
在一个实施例中,所述处理器901用于利用对极几何根据所述满足条件的匹配对得到第一位姿变化的初始值时,具体用于:利用PNP算法根据所述满足条件的匹配对得到第一位姿变化的初始值。
在一个实施例中,所述处理器901还用于:利用对极几何算法根据所述满足条件的匹配对得到所述第二图像的三维点云图的初始值;所述处理器901用于通过预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化时,具体用于:通过预设的优化算法根据所述第一位姿变化的初始值、所述第二图像的三维点云图的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化以及所述第二图像的三维点云图。
在一个实施例中,所述飞行器存有多张图像以及所述飞行器拍摄每张所述图像时的定位信息,所述处理器901还用于:当根据所述满足条件的匹配对不能确定第一位姿变化时,确定所述飞行器拍摄所述第二图像时的定位信息;根据所述定位信息和所述多张图像对应的定位信息确定出第五图像,所述第五图像为除所述第一图像以外定位信息距离所述第二图像的定位信息最近的图像;根据所述第五图像与所述第二图像确定第三位姿变化,所述第三位姿变化用于指示所述视觉传感器903拍摄所述第二图像时的位姿相比拍摄所述第五图像时的位姿的变化。
其中,所述飞行器拍摄每张所述图像时的定位信息是由设于所述飞行器上的定位传感器确定出的定位信息。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于视觉的定位方法及飞行器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (30)

1.一种基于视觉的定位方法,其特征在于,应用于飞行器,所述飞行器配置有视觉传感器,所述方法包括:
从第一图像和第二图像中分别提取特征,所述第一图像和所述第二图像是所述视觉传感器获取到的图像;
根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;
根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;
根据所述满足条件的匹配对确定第一位姿变化,所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
2.如权利要求1所述的方法,其特征在于,所述特征包括ORB特征点。
3.如权利要求1所述的方法,其特征在于,所述特征包括特征线。
4.如权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对,包括:
根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对。
5.如权利要求4所述的方法,其特征在于,所述根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对,包括:
将所述第二图像的目标特征描述子与所述第一图像的各个特征描述子进行匹配,得到与所述目标特征描述子之间的汉明距离最近的对应特征描述子;
若所述目标特征描述子与所述对应特征描述子之间的汉明距离小于预设的距离阈值,则确定所述目标描述子对应的特征以及所述对应描述子对应的特征为一对初始匹配对。
6.如权利要求1所述的方法,其特征在于,所述根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对,包括:
利用第一预设算法根据仿射变换模型以及所述初始匹配对得到所述满足条件的匹配对,以及所述仿射变换模型的当前模型参数。
7.如权利要求6所述的方法,其特征在于,所述根据所述满足条件的匹配对确定第一位姿变化,包括:
确定所述满足条件的匹配对的数量;
若所述满足条件的匹配对的数量小于预设数量阈值,则根据所述仿射变换模型的当前模型参数对所述第一图像中的特征以及所述第二图像中的特征进行引导匹配,得到新的匹配对,所述新的匹配对的数量大于或等于所述满足条件的匹配对的数量;
根据所述新的匹配对确定第一位姿变化。
8.如权利要求1所述的方法,其特征在于,所述从第一图像和第二图像中分别提取特征,之前还包括:
确定所述飞行器当前沿水平方向的位移是否达到阈值;
当确定所述飞行器当前沿水平方向上的位移达到阈值时,开始所述基于视觉的定位方法的初始化。
9.如权利要求8所述的方法,其特征在于,所述基于视觉的定位方法的初始化,包括:
获取第三图像和第四图像;
根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,所述第二位姿变化用于指示所述视觉传感器拍摄所述第四图像时的位姿相比拍摄所述第三图像时的位姿的变化,所述初始化的结果包括所述第二位姿变化。
10.如权利要求9所述的方法,其特征在于,所述根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,包括:
利用第二预设算法根据所述第三图像中的特征和所述第四图像中的特征确定出初始特征匹配对;
根据所述初始特征匹配对以及预设约束模型,得到有效特征匹配对以及所述预设约束模型的模型参数;
根据所述有效特征匹配对以及所述预设约束模型的模型参数得到第二位姿变化。
11.如权利要求9或10所述的方法,其特征在于,所述预设约束模型包括:单应性约束模型以及极性约束模型。
12.如权利要求1所述的方法,其特征在于,所述根据所述满足条件的匹配对确定第一位姿变化,包括:
利用对极几何算法根据所述满足条件的匹配对得到第一位姿变化的初始值;
利用预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化。
13.如权利要求12所述的方法,其特征在于,所述利用对极几何根据所述满足条件的匹配对得到第一位姿变化的初始值,包括:
利用PNP算法根据所述满足条件的匹配对得到第一位姿变化的初始值。
14.如权利要求12所述的方法,其特征在于,所述方法还包括:
利用对极几何算法根据所述满足条件的匹配对得到所述第二图像的三维点云图的初始值;
所述通过预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化,包括:
通过预设的优化算法根据所述第一位姿变化的初始值、所述第二图像的三维点云图的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化以及所述第二图像的三维点云图。
15.如权利要求1所述的方法,其特征在于,所述飞行器存有多张图像以及所述飞行器拍摄每张所述图像时的定位信息,所述方法还包括:
当根据所述满足条件的匹配对不能确定第一位姿变化时,确定所述飞行器拍摄所述第二图像时的定位信息;
根据所述定位信息和所述多张图像对应的定位信息确定出第五图像,所述第五图像为除所述第一图像以外定位信息距离所述第二图像的定位信息最近的图像;
根据所述第五图像与所述第二图像确定第三位姿变化,所述第三位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第五图像时的位姿的变化;
其中,所述飞行器拍摄每张所述图像时的定位信息是由设于所述飞行器上的定位传感器确定出的定位信息。
16.一种飞行器,其特征在于,包括:存储器、处理器以及视觉传感器。
所述视觉传感器,用于获取图像;
所述存储器,用于存储程序指令;
所述处理器,用于执行所述存储器存储的程序指令,当程序指令被执行时,用于:
从第一图像和第二图像中分别提取特征,所述第一图像和所述第二图像是所述视觉传感器获取到的图像;
根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对;
根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对;
根据所述满足条件的匹配对确定第一位姿变化,所述第一位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第一图像时的位姿的变化。
17.如权利要求16所述的飞行器,其特征在于,所述特征包括ORB特征点。
18.如权利要求16所述的飞行器,其特征在于,所述特征包括特征线。
19.如权利要求16-18任一项所述的飞行器,其特征在于,所述处理器用于根据所述第一图像中的特征和所述第二图像中的特征确定出初始匹配对时,具体用于:
根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对。
20.如权利要求19所述的飞行器,其特征在于,所述处理器用于根据所述第二图像的特征描述子与所述第一图像的特征描述子之间的汉明距离确定出初始匹配对时,具体用于:
将所述第二图像的目标特征描述子与所述第一图像的各个特征描述子进行匹配,得到与所述目标特征描述子之间的汉明距离最近的对应特征描述子;
若所述目标特征描述子与所述对应特征描述子之间的汉明距离小于预设的距离阈值,则确定所述目标描述子对应的特征以及所述对应描述子对应的特征为一对初始匹配对。
21.如权利要求16所述的飞行器,其特征在于,所述处理器用于根据仿射变换模型从所述初始匹配对提取出满足条件的匹配对时,具体用于:
利用第一预设算法根据仿射变换模型以及所述初始匹配对得到所述满足条件的匹配对,以及所述仿射变换模型的当前模型参数。
22.如权利要求21所述的飞行器,其特征在于,所述处理器用于根据所述满足条件的匹配对确定第一位姿变化时,具体用于:
确定所述满足条件的匹配对的数量;
若所述满足条件的匹配对的数量小于预设数量阈值,则根据所述仿射变换模型的当前模型参数对所述第一图像中的特征以及所述第二图像中的特征进行引导匹配,得到新的匹配对,所述新的匹配对的数量大于或等于所述满足条件的匹配对的数量;
根据所述新的匹配对确定第一位姿变化。
23.如权利要求16所述的飞行器,其特征在于,所述处理器用于从第一图像和第二图像中分别提取特征,之前还用于:
确定所述飞行器当前沿水平方向的位移是否达到阈值;
当确定所述飞行器当前沿水平方向上的位移达到阈值时,开始所述基于视觉的定位飞行器的初始化。
24.如权利要求23所述的飞行器,其特征在于,所述处理器用于基于视觉的定位飞行器的初始化时,具体用于:
获取第三图像和第四图像;
根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化,所述第二位姿变化用于指示所述视觉传感器拍摄所述第四图像时的位姿相比拍摄所述第三图像时的位姿的变化,所述初始化的结果包括所述第二位姿变化。
25.如权利要求24所述的飞行器,其特征在于,所述处理器用于根据所述第三图像中的特征和所述第四图像中的特征得到第二位姿变化时,具体用于:
利用第二预设算法根据所述第三图像中的特征和所述第四图像中的特征确定出初始特征匹配对;
根据所述初始特征匹配对以及预设约束模型,得到有效特征匹配对以及所述预设约束模型的模型参数;
根据所述有效特征匹配对以及所述预设约束模型的模型参数得到第二位姿变化。
26.如权利要求24或25所述的飞行器,其特征在于,所述预设约束模型包括:单应性约束模型以及极性约束模型。
27.如权利要求16所述的飞行器,其特征在于,所述处理器用于根据所述满足条件的匹配对确定第一位姿变化时,具体用于:
利用对极几何算法根据所述满足条件的匹配对得到第一位姿变化的初始值;
利用预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化。
28.如权利要求27所述的飞行器,其特征在于,所述处理器用于利用对极几何根据所述满足条件的匹配对得到第一位姿变化的初始值时,具体用于:
利用PNP算法根据所述满足条件的匹配对得到第一位姿变化的初始值。
29.如权利要求27所述的飞行器,其特征在于,所述处理器还用于:
利用对极几何算法根据所述满足条件的匹配对得到所述第二图像的三维点云图的初始值;
所述处理器用于通过预设的优化算法根据所述第一位姿变化的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化时,具体用于:
通过预设的优化算法根据所述第一位姿变化的初始值、所述第二图像的三维点云图的初始值以及所述满足条件的匹配对进行优化处理,确定出第一位姿变化以及所述第二图像的三维点云图。
30.如权利要求16所述的飞行器,其特征在于,所述飞行器存有多张图像以及所述飞行器拍摄每张所述图像时的定位信息,所述处理器还用于:
当根据所述满足条件的匹配对不能确定第一位姿变化时,确定所述飞行器拍摄所述第二图像时的定位信息;
根据所述定位信息和所述多张图像对应的定位信息确定出第五图像,所述第五图像为除所述第一图像以外定位信息距离所述第二图像的定位信息最近的图像;
根据所述第五图像与所述第二图像确定第三位姿变化,所述第三位姿变化用于指示所述视觉传感器拍摄所述第二图像时的位姿相比拍摄所述第五图像时的位姿的变化;
其中,所述飞行器拍摄每张所述图像时的定位信息是由设于所述飞行器上的定位传感器确定出的定位信息。
CN201780023037.8A 2017-12-20 2017-12-20 一种基于视觉的定位方法及飞行器 Pending CN109073385A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/117590 WO2019119328A1 (zh) 2017-12-20 2017-12-20 一种基于视觉的定位方法及飞行器

Publications (1)

Publication Number Publication Date
CN109073385A true CN109073385A (zh) 2018-12-21

Family

ID=64812374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780023037.8A Pending CN109073385A (zh) 2017-12-20 2017-12-20 一种基于视觉的定位方法及飞行器

Country Status (3)

Country Link
US (1) US20200334499A1 (zh)
CN (1) CN109073385A (zh)
WO (1) WO2019119328A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993793A (zh) * 2019-03-29 2019-07-09 北京易达图灵科技有限公司 视觉定位方法及装置
CN110047142A (zh) * 2019-03-19 2019-07-23 中国科学院深圳先进技术研究院 无人机三维地图构建方法、装置、计算机设备及存储介质
CN110058602A (zh) * 2019-03-27 2019-07-26 天津大学 基于深度视觉的多旋翼无人机自主定位方法
CN110133672A (zh) * 2019-04-25 2019-08-16 深圳大学 一种移动式测距仪及其控制方法
CN110310326A (zh) * 2019-06-28 2019-10-08 北京百度网讯科技有限公司 一种位姿数据处理方法、装置、终端及计算机可读存储介质
CN110415273A (zh) * 2019-07-29 2019-11-05 肇庆学院 一种基于视觉显著性的机器人高效运动跟踪方法及系统
CN111583340A (zh) * 2020-04-28 2020-08-25 西安交通大学 基于卷积神经网络降低单目相机位姿估计误差率的方法
CN111829532A (zh) * 2019-04-18 2020-10-27 顺丰科技有限公司 一种飞行器重定位系统和重定位方法
CN112106113A (zh) * 2019-09-16 2020-12-18 深圳市大疆创新科技有限公司 三维重建中图像的位姿信息确定方法和装置
CN113643338A (zh) * 2021-08-13 2021-11-12 亿嘉和科技股份有限公司 基于融合仿射变换的纹理图像目标定位方法
CN114485607A (zh) * 2021-12-02 2022-05-13 陕西欧卡电子智能科技有限公司 一种运动轨迹的确定方法、作业设备、装置、存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490222B (zh) * 2019-07-05 2022-11-04 广东工业大学 一种基于低性能处理器设备的半直接视觉定位方法
CN111862235B (zh) * 2020-07-22 2023-12-29 中国科学院上海微系统与信息技术研究所 双目相机自标定方法及系统
CN113298879B (zh) * 2021-05-26 2024-04-16 北京京东乾石科技有限公司 视觉定位方法、装置及存储介质和电子设备
CN114858226B (zh) * 2022-07-05 2022-10-25 武汉大水云科技有限公司 一种无人机山洪流量测量方法、装置及设备
CN116051628B (zh) * 2023-01-16 2023-10-27 北京卓翼智能科技有限公司 一种无人机定位方法、装置、电子设备以及存储介质
CN118015088A (zh) * 2024-04-10 2024-05-10 广东电网有限责任公司东莞供电局 一种物体定位方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104236528A (zh) * 2013-06-06 2014-12-24 上海宇航系统工程研究所 一种非合作目标相对位姿测量方法
US20150279048A1 (en) * 2014-03-26 2015-10-01 Postech Academy - Industry Foundation Method for generating a hierarchical structured pattern based descriptor and method and device for recognizing object using the same
US20170061231A1 (en) * 2014-05-07 2017-03-02 Nec Corporation Image processing device, image processing method, and computer-readable recording medium
CN106529538A (zh) * 2016-11-24 2017-03-22 腾讯科技(深圳)有限公司 一种飞行器的定位方法和装置
CN106873619A (zh) * 2017-01-23 2017-06-20 上海交通大学 一种无人机飞行路径的处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779347B (zh) * 2012-06-14 2014-08-06 清华大学 一种用于飞行器的目标跟踪与定位方法和装置
CN103824278B (zh) * 2013-12-10 2016-09-21 清华大学 监控摄像机的标定方法和系统
CN107194339A (zh) * 2017-05-15 2017-09-22 武汉星巡智能科技有限公司 障碍物识别方法、设备及无人飞行器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104236528A (zh) * 2013-06-06 2014-12-24 上海宇航系统工程研究所 一种非合作目标相对位姿测量方法
US20150279048A1 (en) * 2014-03-26 2015-10-01 Postech Academy - Industry Foundation Method for generating a hierarchical structured pattern based descriptor and method and device for recognizing object using the same
US20170061231A1 (en) * 2014-05-07 2017-03-02 Nec Corporation Image processing device, image processing method, and computer-readable recording medium
CN106529538A (zh) * 2016-11-24 2017-03-22 腾讯科技(深圳)有限公司 一种飞行器的定位方法和装置
CN106873619A (zh) * 2017-01-23 2017-06-20 上海交通大学 一种无人机飞行路径的处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSDN社区: "ORBSLAM2的位姿优化算", 《HTTPS://BLOG.CSDN.NET/CHISHUIDEYU/ARTICLE/DETAILS/76013854》 *
沈洋 等: "基于三角形区域仿射不变性的特征匹配算法", 《科学技术与工程》 *
陈玉: "一种改进的ORB算法在图像匹配中的应用", 《信息技术与网络安全》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110047142A (zh) * 2019-03-19 2019-07-23 中国科学院深圳先进技术研究院 无人机三维地图构建方法、装置、计算机设备及存储介质
CN110058602A (zh) * 2019-03-27 2019-07-26 天津大学 基于深度视觉的多旋翼无人机自主定位方法
CN109993793A (zh) * 2019-03-29 2019-07-09 北京易达图灵科技有限公司 视觉定位方法及装置
CN111829532B (zh) * 2019-04-18 2022-05-17 丰翼科技(深圳)有限公司 一种飞行器重定位系统和重定位方法
CN111829532A (zh) * 2019-04-18 2020-10-27 顺丰科技有限公司 一种飞行器重定位系统和重定位方法
CN110133672A (zh) * 2019-04-25 2019-08-16 深圳大学 一种移动式测距仪及其控制方法
CN110310326A (zh) * 2019-06-28 2019-10-08 北京百度网讯科技有限公司 一种位姿数据处理方法、装置、终端及计算机可读存储介质
CN110415273A (zh) * 2019-07-29 2019-11-05 肇庆学院 一种基于视觉显著性的机器人高效运动跟踪方法及系统
WO2021051227A1 (zh) * 2019-09-16 2021-03-25 深圳市大疆创新科技有限公司 三维重建中图像的位姿信息确定方法和装置
CN112106113A (zh) * 2019-09-16 2020-12-18 深圳市大疆创新科技有限公司 三维重建中图像的位姿信息确定方法和装置
CN111583340A (zh) * 2020-04-28 2020-08-25 西安交通大学 基于卷积神经网络降低单目相机位姿估计误差率的方法
CN113643338A (zh) * 2021-08-13 2021-11-12 亿嘉和科技股份有限公司 基于融合仿射变换的纹理图像目标定位方法
CN114485607A (zh) * 2021-12-02 2022-05-13 陕西欧卡电子智能科技有限公司 一种运动轨迹的确定方法、作业设备、装置、存储介质
CN114485607B (zh) * 2021-12-02 2023-11-10 陕西欧卡电子智能科技有限公司 一种运动轨迹的确定方法、作业设备、装置、存储介质

Also Published As

Publication number Publication date
US20200334499A1 (en) 2020-10-22
WO2019119328A1 (zh) 2019-06-27

Similar Documents

Publication Publication Date Title
CN109073385A (zh) 一种基于视觉的定位方法及飞行器
CN109711243B (zh) 一种基于深度学习的静态三维人脸活体检测方法
US20210141378A1 (en) Imaging method and device, and unmanned aerial vehicle
CN110555901B (zh) 动静态场景的定位和建图方法、装置、设备和存储介质
CN113038016B (zh) 无人机图像采集方法及无人机
Alvarez et al. Collision avoidance for quadrotors with a monocular camera
US10410089B2 (en) Training assistance using synthetic images
CN110136199A (zh) 一种基于摄像头的车辆定位、建图的方法和装置
CN110147094A (zh) 一种基于车载环视系统的车辆定位方法及车载终端
CN110276317B (zh) 一种物体尺寸检测方法、物体尺寸检测装置及移动终端
CN107204012A (zh) 降低飞行时间深度成像的功耗
US20180211096A1 (en) Living-body detection method and device and computer program product
US11783443B2 (en) Extraction of standardized images from a single view or multi-view capture
CN106462943A (zh) 将全景成像与航拍成像对齐
CN109035330A (zh) 箱体拟合方法、设备和计算机可读存储介质
CN111433818A (zh) 目标场景三维重建方法、系统及无人机
CN113689503B (zh) 目标对象的姿态检测方法、装置、设备及存储介质
Rozantsev et al. Flight dynamics-based recovery of a UAV trajectory using ground cameras
CN110335351B (zh) 多模态ar处理方法、装置、系统、设备及可读存储介质
EP2851868A1 (en) 3D Reconstruction
US20220222849A1 (en) Pose Tracking Method, Pose Tracking Device and Electronic Device
CN108702456A (zh) 一种对焦方法、设备及可读存储介质
WO2019090901A1 (zh) 图像显示的选择方法、装置、智能终端及存储介质
CN107818596B (zh) 一种场景参数确定方法、装置及电子设备
CN113877210A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181221

WD01 Invention patent application deemed withdrawn after publication