CN107742311B - 一种视觉定位的方法及装置 - Google Patents

一种视觉定位的方法及装置 Download PDF

Info

Publication number
CN107742311B
CN107742311B CN201710910982.1A CN201710910982A CN107742311B CN 107742311 B CN107742311 B CN 107742311B CN 201710910982 A CN201710910982 A CN 201710910982A CN 107742311 B CN107742311 B CN 107742311B
Authority
CN
China
Prior art keywords
matching
information
semantic
feature point
spatial
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.)
Active
Application number
CN201710910982.1A
Other languages
English (en)
Other versions
CN107742311A (zh
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.)
Beijing Yida Turing Technology Co Ltd
Original Assignee
Beijing Yida Turing 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 Beijing Yida Turing Technology Co Ltd filed Critical Beijing Yida Turing Technology Co Ltd
Priority to CN201710910982.1A priority Critical patent/CN107742311B/zh
Publication of CN107742311A publication Critical patent/CN107742311A/zh
Application granted granted Critical
Publication of CN107742311B publication Critical patent/CN107742311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明的实施例公开了一种视觉定位的方法及装置,该方法针对预设拍照设备对预设场景拍照得到的图像数据,一方面根据图像的第一特征点和语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配点集。另一方面,提取图像数据中包含第二语义信息的第二特征点,将第二特征点和空间特征点进行语义信息的匹配,得到第二匹配点集。根据第一匹配点集和第二匹配点集得到预设拍照设备的目标姿态信息和目标位置信息。该方法同时利用了图像的纹理信息和语义信息提取特征点,能在图像数据中找到更多的和语义空间地图中的空间特征点匹配成功的特征点,为计算预设拍照设备的目标姿态信息和目标位置信息提供了更为可靠的数据基础,定位精度更高。

Description

一种视觉定位的方法及装置
技术领域
本发明实施例涉及视觉定位技术领域,尤其是涉及一种视觉定位的方法及装置。
背景技术
现有的视觉定位主要利用运动恢复结构的方法,离线构建出场景的三维空间地图,该地图包含特征点的三维空间位置和其对应的特征描述子。视觉定位系统的输入为图像数据。首先需要对图像数据进行特征点的提取,然后将图像中的特征点和地图中的特征点进行匹配,在获得了匹配关系后,求解得到相机的位置和姿态中。
然而,现有的视觉定位方法中,一方面,离线建立的场景的空间地图中的特征点只包含了场景图像的纹理信息,不包含任何的语义信息,因此其定位精度较低。另一方面,在光照剧烈变化的情况下,同一场景在线和离线提取的特征可能无法进行有效匹配,或者在场景较为单调的情况下,在线提取的特征可能无法与离线建立的地图获得足够的匹配。
在实现本发明实施例的过程中,发明人发现现有的视觉定位方法仅仅通过图像数据的纹理信息进行特征的匹配,定位精度较低,尤其现有的方法在光照剧烈变化或场景较为单调的情况下,定位的鲁棒性较差。
发明内容
本发明所要解决的技术问题是如何解决现有的视觉定位方法仅仅通过图像数据的纹理信息进行特征的匹配,定位精度较低,尤其现有的方法在光照剧烈变化或场景较为单调的情况下,定位的鲁棒性较差的问题。
针对以上技术问题,本发明的实施例提供了一种视觉定位的方法,包括:
获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和目标语义信息建立的三维地图;
根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
可选地,所述根据所述第一匹配点集和所述第二匹配点集,求解第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息,包括:
获取根据所述第一匹配点集和所述第二匹配点集,求解得到的所述第一姿态信息和所述第一位置信息;
获取预先建立的目标模型,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息;
根据所述第一姿态信息和所述第二姿态信息得到所述目标姿态信息,根据所述第一位置信息和所述第二位置信息得到所述目标位置信息。
可选地,根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,包括:
针对所述第一匹配点集中的每一所述第一匹配特征点,获取所述第一匹配特征点在所述图像数据中的第一像素坐标,以及所述空间特征点中与所述第一匹配特征点相匹配的空间特征点的第一空间坐标,将所述第一像素坐标和所述第一空间坐标作为所述第一匹配特征点的第一坐标信息;
针对所述第二匹配点集中的每一所述第二匹配特征点,获取所述第二匹配特征点在所述图像数据中的第二像素坐标,以及所述空间特征点中与所述第二匹配特征点相匹配的空间特征点的第二空间坐标,将所述第二像素坐标和所述第二空间坐标作为所述第二匹配特征点的第二坐标信息;
根据对应于所述第一匹配点集中每一所述第一匹配特征点的所述第一坐标信息和对应于所述第二匹配点集中每一所述第二匹配特征点的所述第二坐标信息,通过后方交汇算法得到所述第一姿态信息和所述第一位置信息。
可选地,所述获取预先建立的目标模型和所述图像数据,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息,包括:
获取经过初始化的SLAM系统,作为所述目标模型,将所述图像数据作为所述SLAM系统的输入量,通过所述SLAM系统得到所述第二姿态信息和所述第二位置信息。
可选地,所述根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,包括:
采用SIFT算法从所述图像数据中提取所述第一特征点,得到每一所述第一特征点对应的目标矢量;
将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积;
若所述目标点积小于预设点积,则所述目标点积对应的第一待选空间特征点为与所述第一特征点匹配的空间特征点,所述第一匹配结果为匹配成功。
可选地,所述将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积,包括:
获取预先根据所述语义空间地图中每一所述空间特征点对应的空间矢量建立的K-D树;
针对每一所述第一特征点,根据所述第一特征点对应的目标矢量从所述K-D树中选取与所述目标矢量之间的夹角小于预设夹角的空间矢量对应的空间特征点,作为所述第一待选空间特征点;
获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积。
可选地,所述根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,包括:
通过Faster-RCNN从所述图像数据中提取所述第二特征点,得到每一所述第二特征点对应的目标语义信息,获取所述语义空间地图中具有语义信息的空间特征点,作为第二待选空间特征点;
针对每一所述第二特征点,判断所述第二待选空间特征点中是否存在第一语义信息和所述目标语义信息相同的空间特征点,若存在,则所述第二待选空间特征点中第一语义信息和所述目标语义信息相同的空间特征点为与所述第二特征点匹配的空间特征点,所述第二匹配结果为匹配成功。
第二方面,本发明的实施例还提供了一种视觉定位的装置,包括:
获取模块,用于获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和目标语义信息建立的三维地图;
第一匹配模块,用于根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
第二匹配模块,用于根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
求解模块,用于根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
第三方面,本发明的实施例还提供了一种电子设备,包括:
至少一个处理器、至少一个存储器、总线;其中,
所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上任一项所述的方法。
第四方面,本发明的实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上任一项所述的方法。
本发明的实施例提供了一种视觉定位的方法及装置,该方法针对预设拍照设备对预设场景拍照得到的图像数据,一方面根据图像的第二纹理信息提取第一特征点,将第一特征点和语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配点集。另一方面,提取图像数据中包含第二语义信息的第二特征点,将第二特征点和语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配点集。根据第一匹配点集和第二匹配点集得到预设拍照设备的目标姿态信息和目标位置信息。该方法同时利用了图像的纹理信息和语义信息提取特征点,相比于仅采用纹理信息进行特征点匹配的方法,该方法能在图像数据中找到更多的和语义空间地图中的空间特征点匹配成功的特征点,为计算预设拍照设备的目标姿态信息和目标位置信息提供了更为可靠的数据基础,定位精度更高。无论是在光照剧烈变化,还是在场景较为单调的情况下,该方法更接近生物的视觉定位系统,具有更高的定位精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的视觉定位的方法的流程示意图;
图2是本发明另一个实施例提供作为对比的视觉定位方法的流程示意图;
图3是本发明另一个实施例提供的结合语义信息的视觉定位的方法的流程示意图;
图4是本发明另一个实施例提供的结合SLAM的视觉定位的方法的流程示意图;
图5是本发明另一个实施例提供的视觉定位的装置的结构框图;
图6是本发明另一个实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的视觉定位的方法的流程示意图,参见图1,该方法包括:
101:获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和目标语义信息建立的三维地图;
102:根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
103:根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
104:根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
需要说明的是,本实施例提供的方法可以应用于无人机的定位中,例如,预设拍照设备设置在无人机上,在预设场景中运动的无人机,通过预设拍照设备实现对自身的定位。
预设拍照设备可以是相机或者摄像头,本实施对此不做限制。预设场景,例如,是某个大楼的内部,某条街道等,本实施例对此不做限制。语义空间地图是预先通过预设场景的一些信息构建的关于预设场景的三维地图,例如,采用SFM(Structure from Motion,运动恢复结构)技术重构预设场景的语义空间地图。例如,预先对预设场景进行全景扫描,根据全景扫描得到的图像或者视频构建出预设场景的三维地图。其中,本实施例中提供的语义空间地图不仅包括了预设场景中根据纹理信息提供的特征点,还包括了预设场景中根据语义信息提供的特征点。
构建出的语义空间地图是整个视觉定位的基础。语义空间地图包含两层,即语义层和空间层。其中,语义层为对环境中各个物体特征的语义描述,用户或上层任务可以很方便的通过语义层与地图进行交互;空间层为对环境中各个特征点的空间描述,也就是其三维空间坐标。语义空间地图自动完成语义层到空间层的解析。预设场景的环境中存在大量的形象直观且包含语义信息的特征,例如环境中固定的树、建筑、标牌等等,将这些包含语义信息的物体特征引入到视觉定位的过程中去,可以进一步提高定位系统的准确性和鲁棒性。
第一纹理信息反应了语义空间地图中各个像素之间的差别。第一语义信息反应了语义空间地图中不同的物体的语义特征,例如,语义空间地图中具有唯一标识语的标牌,则这唯一标识语即为该标牌对应的特征点的语义信息。
第一特征点是根据图像数据上的像素的特征(第二纹理信息)提取的特征点,可以通过SIFT、SURF、ORB或KAZE等方法来提取
第一特征点,本实施例对此不做具体限制。第一匹配特征点是第一特征点中能和语义空间地图中的某个空间特征点匹配成功的特征点。例如,针对每一第一特征点,逐一计算该第一特征点对应的第一矢量和每个空间特征点的空间矢量之间的点积,若最小的点积小于预设点积,则判定该最小的点积对应的空间特征点为和该第一特征点进行矢量信息的匹配中,匹配成功的特征点。第一匹配点集为第一匹配特征点的集合。
第二特征点是根据数据图像上的第二语义信息提取的特征点,可以通过深度学习的方法(例如,Faster-RCNN方法)提取第二特征点。第二匹配特征点是第二特征点中能和语义空间地图中的某个空间特征点匹配成功的特征点。例如,通过深度学习的方法找到图像数据中的一块标牌,识别出该标牌上的标语是“你好”,提取该标牌的一个特征点,作为对应于该标牌的第二特征点,则该第二特征点的语义信息为“你好”。在进行语义信息的匹配过程中,找到语义空间地图中,语义信息为“你好”的空间特征点,则该空间特征点即和该第二特征点相匹配的特征点。第二匹配点集为第二匹配特征点的集合。
目标姿态信息为预设拍照设备在拍照得到所述图像数据时的姿态,包括航向角、俯仰角和横滚角三个参数。目标位置信息为预设拍照设备在拍照得到所述图像数据时,在语义空间地图中所处的位置,可以用坐标表示,也可以用经纬度表示,本实施例对此不做具体限制。
本实施例提供了一种视觉定位的方法,该方法针对预设拍照设备对预设场景拍照得到的图像数据,一方面根据图像的第二纹理信息提取第一特征点,将第一特征点和语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配点集。另一方面,提取图像数据中包含第二语义信息的第二特征点,将第二特征点和语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配点集。根据第一匹配点集和第二匹配点集得到预设拍照设备的目标姿态信息和目标位置信息。该方法同时利用了图像的纹理信息和语义信息提取特征点,相比于仅采用纹理信息进行特征点匹配的方法,该方法能在图像数据中找到更多的和语义空间地图中的空间特征点匹配成功的特征点,为计算预设拍照设备的目标姿态信息和目标位置信息提供了更为可靠的数据基础,定位精度更高。无论是在光照剧烈变化,还是在场景较为单调的情况下,该方法更接近生物的视觉定位系统,具有更高的定位精度。
更进一步地,在上述实施例的基础上,所述根据所述第一匹配点集和所述第二匹配点集,求解第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息,包括:
获取根据所述第一匹配点集和所述第二匹配点集,求解得到的所述第一姿态信息和所述第一位置信息;
获取预先建立的目标模型,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息;
根据所述第一姿态信息和所述第二姿态信息得到所述目标姿态信息,根据所述第一位置信息和所述第二位置信息得到所述目标位置信息。
需要说明的是,目标模型是为根据预设拍照设备拍照得到的图像数据得到预设拍照设备的第二姿态信息和第二位置信息的模型,例如,该模型可以是基于机器学习的模型,也可以是单目视觉的SLAM系统,本实施例对此不做具体限制。
进一步地,所述根据所述第一姿态信息和所述第二姿态信息得到所述目标姿态信息,根据所述第一位置信息和所述第二位置信息得到所述目标位置信息,包括:
对所述第一姿态信息和所述第二姿态信息进行第一计算,得到目标姿态信息,对所述第一位置信息和所述第二位置信息进行第二计算,得到目标位置信息;
其中,第一计算包括分别对第一姿态信息的航向角和第二姿态信息的航向角计算平均值,得到目标姿态信息的航向角;对第一姿态信息的俯仰角和第二姿态信息的俯仰角计算平均值,得到目标姿态信息的俯仰角,第一姿态信息的横滚角和第二姿态信息的横滚角计算平均值,得到目标姿态信息的横滚角。第二计算包括分别对第一位置信息和第二位置信息各个方向上的位置坐标计算平均值,得到目标位置信息各个方向上的坐标值。可理解的是,第一计算和第二计算不仅限于上述的求平均值的计算,在实际中可以根据精度需要通过其它的方法综合第一姿态信息和第二姿态信息得到目标姿态信息,综合第一位置信息和第二位置信息得到目标位置信息,只要能够得到符合精度要求的目标姿态信息和目标位置信息即可,本实施例对此不做具体限制。
本实施例提供了一种视觉定位的方法,该方法采取两种并行的方法对求解预设拍照设备的姿态信息和位置信息。将这两种方法得到的姿态信息和位置信息进行融合,得到最终的目标姿态信息和目标位置信息,提高了对预设拍照设备定位的精度。
更进一步地,在上述各实施例的基础上,根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,包括:
针对所述第一匹配点集中的每一所述第一匹配特征点,获取所述第一匹配特征点在所述图像数据中的第一像素坐标,以及所述空间特征点中与所述第一匹配特征点相匹配的空间特征点的第一空间坐标,将所述第一像素坐标和所述第一空间坐标作为所述第一匹配特征点的第一坐标信息;
针对所述第二匹配点集中的每一所述第二匹配特征点,获取所述第二匹配特征点在所述图像数据中的第二像素坐标,以及所述空间特征点中与所述第二匹配特征点相匹配的空间特征点的第二空间坐标,将所述第二像素坐标和所述第二空间坐标作为所述第二匹配特征点的第二坐标信息;
根据对应于所述第一匹配点集中每一所述第一匹配特征点的所述第一坐标信息和对应于所述第二匹配点集中每一所述第二匹配特征点的所述第二坐标信息,通过后方交汇算法得到所述第一姿态信息和所述第一位置信息。
本实施例提供了一种视觉定位的方法,该方法对每一第一匹配点集中的第一匹配特征点的第一像素坐标和第一空间坐标求解,得到对应于每一第一匹配特征点的第一坐标信息。对每一第二匹配点集中的第二匹配特征点的第二像素坐标和第二空间坐标求解,得到对应于每一第二匹配特征点的第二坐标信息。根据所有的第一匹配特征点的第一坐标信息和所有的第二匹配特征点的第二坐标信息,通过后方交汇算法得到所述第一姿态信息和所述第一位置信息。
更进一步地,在上述各实施例的基础上,所述获取预先建立的目标模型和所述图像数据,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息,包括:
获取经过初始化的SLAM系统,作为所述目标模型,将所述图像数据作为所述SLAM系统的输入量,通过所述SLAM系统得到所述第二姿态信息和所述第二位置信息。
本实施例提供了一种视觉定位的方法,该方法SLAM系统得到第二姿态信息和第二位置信息。将通过以上步骤101-104完成的实时视觉语义定位(视觉定位方法)的主体功能,作为本实施例的主系统。为进一步提高本实施例的鲁棒性,将主系统得到第一姿态信息和第一位置信息与SLAM子模块得到的第二姿态信息和第二位置信息进行数据融合。SLAM系统为并行于主系统之外的一个独立子系统,其初始化过程由主系统来完成。SLAM系统的输入为图像数据,输出为该图像对应相机的位姿信息。在获得了SLAM系统的输出后,将其与主系统的定位输出进行融合,从而可以获得系统最终的目标姿态信息和目标位置信息。
更进一步地,在上述各实施例的基础上,所述根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,包括:
采用SIFT算法从所述图像数据中提取所述第一特征点,得到每一所述第一特征点对应的目标矢量;
将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积;
若所述目标点积小于预设点积,则所述目标点积对应的第一待选空间特征点为与所述第一特征点匹配的空间特征点,所述第一匹配结果为匹配成功。
需要说明的是,本实施例采用了将每一第一特征点逐一和预设空间点进行匹配判断第一特征点是否和某一空间特征点匹配。具体地,可以通过线性扫描,即穷举搜索,将点集1中的某一点(第一特征点)与点集2中的所有点(所有空间特征点)逐个作比较,找出距离最近点(通过计算向量的点积表征两个点之间的距离)。预设点积为预先设定的值。
本实施例提供了一种视觉定位的方法,该方法采用SIFT作为图像特征提取的算法,提高了特征提取的速度。进一步地,还可以采用SIFT-GPU对特征提取算法进行加速,以提高视觉定位的效率。
更进一步地,在上述各实施例的基础上,所述将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积,包括:
获取预先根据所述语义空间地图中每一所述空间特征点对应的空间矢量建立的K-D树;
针对每一所述第一特征点,根据所述第一特征点对应的目标矢量从所述K-D树中选取与所述目标矢量之间的夹角小于预设夹角的空间矢量对应的空间特征点,作为所述第一待选空间特征点;
获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积。
为了提高检索效率,降低时间损耗,可以将两组点集建立一定的索引结构,在合理的索引结构中进行搜索。例如,通过B树、R树,K-D树建立索引结构,本实施例采用基于K-D树的结构进行特征点匹配。
本实施例提供了一种视觉定位的方法,该方法通过K-D树建立了空间特征点的索引结构,提高了第一特征点和空间特征点的匹配效率。
更进一步地,在上述各实施例的基础上,所述根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,包括:
通过Faster-RCNN从所述图像数据中提取所述第二特征点,得到每一所述第二特征点对应的目标语义信息,获取所述语义空间地图中具有语义信息的空间特征点,作为第二待选空间特征点;
针对每一所述第二特征点,判断所述第二待选空间特征点中是否存在第一语义信息和所述目标语义信息相同的空间特征点,若存在,则所述第二待选空间特征点中第一语义信息和所述目标语义信息相同的空间特征点为与所述第二特征点匹配的空间特征点,所述第二匹配结果为匹配成功。
例如,该方法利用深度学习技术对每个物体所对应标识牌上的文字进行识别,该文字信息即为该标识牌的目标语义信息。通过图像数据中物体的目标语义信息和语义空间地图中物体的第一语义信息进行匹配,即可获得图像数据和语义空间地图的特征匹配点集,即第二匹配点集。
本实施例提供了一种视觉定位的方法,该方法通过Faster-RCNN进行图像数据中语义信息的识别和匹配,提供了一种精确快速对语义信息进行匹配的方法。
作为一种具体的实施例,首先本实施例提供一种作为对比的视觉定位方法,该方法包括以下四个步骤:
(1)离线构建场景空间模型
采集工作场景(预设场景)的图像数据,利用运动恢复结构(SFM)的方法对这些图像数据进行处理,最终输出工作场景的空间地图。该地图包含特征点的三维空间坐标和其对应的特征描述子,是整个实时视觉定位系统的基础数据。
(2)图像特征提取
特征提取是实时视觉定位系统的第一步。特征是对图像的一种抽象表达,其包含了图像中重要的纹理信息。因此实时定位系统任意时刻输入的图像数据,都会先经过特征提取过程提取出该图像中的特征点,并计算这些特征点的特征描述子。
(3)图像特征匹配
在提取到每幅图像的特征点后,需要对该幅图像上的特征点与离线建立的空间地图中的特征点进行特征匹配,从而获得特征点的3D空间坐标和其在该幅图像上的2D像素坐标的匹配点集,该2D-3D匹配点集是后续进行实时视觉定位的直接基础。
(4)求解相机的位置和姿态
在获得了当前图像和离线建立的地图的匹配关系后,即可进行每幅图像所对应相机位姿的求解。相机位姿的求解大多是基于特征点的像素坐标和空间坐标的匹配关系,即步骤(3)中得到的2D-3D匹配点集,然后利用视觉几何中的后方交汇原理,求解一个PnP问题,最终得到相机的投影矩阵。对投影矩阵进行分解即可得到相机的位置和姿态信息,从而实现实时视觉定位。
需要说明的是,上述方法构建的空间地图中的特征点只包含了场景图像的纹理信息,不包含任何的语义信息,因此其定位精度较低,为了解决这一问题,本实施例提供了如下进行视觉定位的方法,该方法包括:
(1)离线语义空间地图构建
在进行实时视觉语义定位之前,需要构建环境的离线语义空间地图,这是整个视觉语义定位的基础。语义空间地图包含两层,即语义层和空间层。语义层为对环境中各个物体特征的语义描述,用户或上层任务可以很方便的通过语义层与地图进行交互;空间层为对环境中各个特征点的空间描述,也就是其三维空间坐标。语义空间地图自动完成语义层到空间层的解析。
(2)SIFT特征点提取(提取第一特征点)
图像特征提取是整个实时视觉语义定位系统的第一步。常用的特征提取算法有SIFT、SURF、ORB、KAZE等。总的来说,KAZE具有较高的鲁棒性,但是实时性不强。ORB虽然可以实时,但是性能不佳,尤其是没有尺度不变性。SURF是SIFT的一个改进,但其在尺度和旋转不变性等方面要比SIFT差很多。综合以上考虑,本文采用SIFT作为图像特征提取的算法,为了提高特征提取的速度,本文采用SIFT-GPU对特征提取算法进行加速。
(3)SIFT特征点匹配
在提取到具有多维度矢量的SIFT特征点后,需要将提取到的特征点与离线构建的语义空间地图的特征点进行匹配。SIFT特征点匹配,本质就是多维度矢量之间的检索配对。在本发明中,特征点匹配就是图像和地图的点集之间多维度矢量点的相似性检索。两点集之间的检索,一般有两种方法,一种是线性扫描,即穷举搜索,将点集1中的某一点与点集2中的所有点逐个作比较,找出距离最近点;另一种是在分别为两组点集建立一定的索引结构,在合理的索引结构中进行搜索,这样可以大大提高检索效率,降低时间损耗。其中,相比于B树、R树,K-D树更适合于在空间中进行点的查询,所以SIFT算法以基于K-D树的结构进行特征点匹配。SIFT特征匹配最终输出的是特征点的图像像素坐标和空间三维坐标的对应关系,即2D-3D匹配集(第一匹配点集)。
(4)基于深度学习的物体语义特征提取
SIFT特征是通过对环境的纹理信息进行抽象表达所得到的一种特征,其只包含纹理信息不包含任何语义信息。事实上环境中存在大量的形象直观且包含语义信息的特征,例如环境中固定的树、建筑、标牌等等,将这些包含语义信息的物体特征引入到实时定位的过程中去,可以进一步提高定位系统的准确性和鲁棒性。
物体特征的提取是通过深度学习方法的物体检测来实现的,本发明以目前比较成熟的Faster-RCNN网络作为物体检测的模型,通过对图像数据进行检测可以准确的提取到图像中的物体特征(第二特征点)的像素坐标。
(5)基于文字识别的物体特征语义匹配
与SITF特征点匹配类似,将提取的物体特征进行匹配。由于环境中存在着许多带有唯一标识牌的物体特征,本发明将利用这些标识牌上的文字对物体特征进行匹配。首先,本发明利用深度学习技术对每个物体所对应标识牌上的文字进行识别,该文字信息即为该物体的语义特征(目标语义信息)。通过图像中物体的语义特征和语义空间地图中物体的语义特征(第一语义信息)进行匹配,即可获得图像和地图的特征匹配点集,即2D-3D匹配点集(第二匹配点集)。
(6)基于视觉几何原理求解相机的位置和姿态
本发明通过以上各步骤已经获取了当前图像的特征点的像素坐标与语义空间地图的三维空间坐标的对应关系,即2D-3D匹配集(第一匹配点集和第二匹配点集)。在视觉几何中,已知特征点的2D-3D关系,求解相机的位置和姿态,可以归纳成为一个后方交汇问题,后方交汇问题可以推导为PnP问题并进行求解。求解该PnP问题即可得到相机的投影矩阵,对该投影矩阵进行分解即可得到相机的位置(目标位置信息)和姿态(目标姿态信息)。
另一方面,融合基于单目视觉的SLAM系统(目标模型),具体地,以上步骤(1)-(6)完成了实时视觉语义定位系统的主体功能,是本发明的主系统。但为进一步提高本发明的鲁棒性,需要与SLAM子模块进行数据融合。SLAM系统为并行于主系统之外的一个独立子系统,其初始化过程由主系统来完成。SLAM系统的输入为图像数据,输出为该图像对应相机的位姿信息。在获得了SLAM系统的输出后,将其与主系统的定位输出进行融合,从而可以获得系统最终的输出(根据第一姿态信息和所述第二姿态信息得到的目标姿态信息,根据第一位置信息和第二位置信息得到的目标位置信息)。
图2为本实施例提供的作为对比的视觉定位方法的流程示意图,参见图2,该方法包括:
201:实时获取图片数据(图像数据)。
202:对图片数据通过SIFT/SURF提取第一特征点。
203:与3D空间地图(语义空间地图)的特征点(空间特征点)进行匹配(得到第一匹配点集)。
204:利用视觉几何模型,后方交会出当前相机的投影矩阵。
205:相机内参矩阵。
206:计算出相机的位置和姿态(R和t)。
由于图2中提供的视觉定位的方法仅仅利用了根据纹理信息提供的特征点,因此计算出的相机的位置和姿态的精度较低。图3示出了本实施例提供的针对上述定位精度较低的一种视觉定位方法,该方法基于深度学习和SFM技术,利用离线构建的环境的语义空间地图,综合利用视觉图像的纹理信息和语义信息,完成实时的视觉语义定位的功能。同时,在此基础上,为进一步克服由于光照剧烈变化和场景较为单调等环境因素造成的背景技术鲁棒性差的问题,本发明采用了将SLAM作为另一路信息源进行融合的办法,本实施例提供了如图4所示的SLAM方法对相机进行姿态和位置的求解,并将求解的相机的位置和姿态融合至图3中求解的相机的位置和姿态中,从而有效的提高了实时视觉语义定位系统对环境的适应性。
如图3所示,本实施例提供的方法包括:
301:实时图片数据(图像数据)。本实施例提供的方法在获取了图片数据后,一方面通过步骤3022和3032得到通过语义信息的匹配的第二匹配点集,另一方面,通过步骤3021和步骤3031得到通过矢量信息的匹配的第一匹配点集。
3022:Faster-RCNN进行物体特征提取(第二特征点)。
3032:深度学习标牌识别获得设备语义信息,与语义地图进行语义匹配(得到第二匹配点集)。
3021:对图片提取SIFT特征点(第一特征点)。
3031:与3D空间地图的特征点进行匹配(得到第一匹配点集)。
304:利用视觉几何模型,后方交会出当前相机的投影矩阵(通过第一匹配点集和第二匹配点集得到投影矩阵)。
305:相机内参矩阵。
306:计算出相机的位置和姿态(R和t)。结合投影矩阵和相机的内参矩阵,即可得到相机的目标位置信息和目标姿态信息。
如图4所示,本实施例提供的方法还包括:
401实时图片数据(图像数据)。需要说明的是,在得到图像数据后,一方面通过SFM+DL定位模块(即采用图3中所示的方法进行相机的定位,图4中的步骤402和403),另一方面,通过SLAM对相机进行定位(图4中的步骤404至步骤407)。最终将SFM+DL定位模块和SLAM定位模块得到的定位结果进行融合得到相机最终的位置(目标位置信息和目标姿态信息)。
402:SFM+DL定位模块(通过SFM+DL定位模块执行图3中所示的定位方法得到第一姿态信息和第一位置信息)。
403:判断是否有定位输出,若有,则将输出的定位(第一姿态信息和第一位置信息)作为步骤408的一个输入值,否则,返回步骤402。
404:判断SLAM是否完成初始化(需要说明的是,利用SFM+DL模块对SLAM进行初始化),若是,执行步骤405,否则执行步骤407。
405:SLAM定位模块(得到第二姿态信息和第二位置信息)。
406:判断SLAM是否丢失,若是,则执行步骤407重新得到SLAM定位模块的输出结果,否则,将SLAM定位模块的输出结果作为步骤408的另一个输入值。
407:利用SFM+DL模块对SLAM模块进行初始化。
408:信息融合输出最终位置(即根据第一姿态信息和第二姿态信息得到目标姿态信息,根据第一位置信息和第二位置信息得到目标位置信息)。
本实施例的基础数据为利用深度学习技术和SFM技术所构建的三维的语义空间地图。本实施例所提出的实时视觉语义定位系统的输入为单张的图像数据,输出为该图像对应相机的位置和姿态。当单张的图像数据送入到视觉语义定位系统后,首先需要经过SIFT特征提取出其SIFT特征点,同时需要经过深度学习的物体特征检测模块提取出其物体特征;然后两种特征需要分别通过SIFT特征匹配模块和基于文字识别的语义匹配模块进行匹配,从而获得特征点2D-3D匹配点集。最后基于视觉几何中的后方交汇原理,可以计算得到相机的位置和姿态。此外,系统中存在一个与主系统并行的基于SLAM的实时视觉定位模块,该模块利用主系统完成初始化,并不断将自身定位数据与主系统的定位输出进行融合,从而实现了进一步提升鲁棒性的目标。
本实施例提供的方法在于同时利用了图像数据的纹理信息和语义信息,从而完成了实时视觉语义定位的功能。通过将实时图像进行SIFT特征提取,并与空间地图中的特征点进行匹配获得匹配集(第一匹配点集和第二匹配点集),然后基于视觉几何的后方交汇原理进行定位。而本发明不仅对图像进行SIFT特征提取并与语义空间地图进行匹配,同时也利用深度学习技术对图像进行物体特征提取,并基于文字识别系统与语义空间地图的特征进行语义匹配。两种类型的匹配结果同时送入到后方的视觉几何模块,从而进行空间位置的求解。由于本发明同时利用了图像的纹理信息和语义信息,因此其定位精度更高且更接近生物的视觉定位系统。
与作为对比的方案相比,本实施例提供的方法的另一重要效果在于提高了系统的鲁棒性。对比的方案中的视觉定位系统,在光照变化剧烈或环境较为单调的情况下容易出现定位系统短暂失效的情况。而本发明通过增加一个基于单目视觉的SLAM系统,不增添额外的传感器或数据源,将SLAM系统的输出与主系统的输出进行实时融合,即可大大提高其对环境的适应性。
综上,本实施例提供的方法的有益效果包括(1)利用深度学习的全卷积神经网络对环境中的物体语义特征进行提取。(2)基于深度学习的自然场景的文字识别,从而进行物体特征的语义匹配。(3)同时利用SIFT特征点和物体语义特征点的匹配结果,进行实时的视觉语义定位。(4)将视觉语义定位系统的输出与基于单目视觉的SLAM系统的输出相融合,进一步提高系统的鲁棒性。
第二方面,图5示出了本发明的实施例提供的一种视觉定位的装置的结构框图,参见图5,本实施例提供的一种视觉定位的装置,包括获取模块501、第一匹配模块502、第二匹配模块503和求解模块504,其中,
获取模块501,用于获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和目标语义信息建立的三维地图;
第一匹配模块502,用于根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
第二匹配模块503,用于根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
求解模块504,用于根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
本实施例提供的视觉定位的装置适用于上述实施例中提供的视觉定位的方法,在此不再赘述。
本实施例提供了一种视觉定位的装置,该装置针对预设拍照设备对预设场景拍照得到的图像数据,一方面根据图像的第二纹理信息提取第一特征点,将第一特征点和语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配点集。另一方面,提取图像数据中包含第二语义信息的第二特征点,将第二特征点和语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配点集。根据第一匹配点集和第二匹配点集得到预设拍照设备的目标姿态信息和目标位置信息。该方法同时利用了图像的纹理信息和语义信息提取特征点,相比于仅采用纹理信息进行特征点匹配的方法,该装置能在图像数据中找到更多的和语义空间地图中的空间特征点匹配成功的特征点,为计算预设拍照设备的目标姿态信息和目标位置信息提供了更为可靠的数据基础,定位精度更高。无论是在光照剧烈变化,还是在场景较为单调的情况下,该方法更接近生物的视觉定位系统,具有更高的定位精度。
作为对本实施例提供的定位方法的精度的验证,本实施例通过一系列的实验验证了本实施例所提出的实时视觉语义定位方法的精度。具体地,场景的大小为800m*800m,首先进行构建地图工作,利用海康相机对全站场景拍摄视频并处理,构建出全站的三维语义空间地图。取得地图数据后,在线运行本发明所述的实时视觉语义定位系统,即将海康相机的图像数据实时输入到本系统,分别进行SIFT特征提取与匹配、物体特征提取与语义匹配,并求解出相机的位置和姿态;同时并行的将海康图像数据送入到SLAM系统,实时获取其位置和姿态。最终将主系统的输出和SLAM系统的输出进行融合,获得最终的位姿输出。对实验结果进行测量评估,本发明所提出的实时视觉语义定位系统,其定位精度在2cm以内;其在光照剧烈变化、环境场景较为单调的情况下仍然有效。
场景大小为1000m*1000m,首先进行构建地图工作,利用海康相机对全站场景拍摄视频并处理,构建出全站的三维语义空间地图。取得地图数据后,在线运行本发明所述的实时视觉语义定位系统,即将海康相机的图像数据实时输入到本系统,分别进行SIFT特征提取与匹配、物体特征提取与语义匹配,并求解出相机的位置和姿态;同时并行的将海康图像数据送入到SLAM系统,实时获取其位置和姿态。最终将主系统的输出和SLAM系统的输出进行融合,获得最终的位姿输出。对实验结果进行测量评估,本发明所提出的实时视觉语义定位系统,其定位精度在3cm以内;其在光照剧烈变化、环境场景较为单调的情况下仍然有效。
场景大小为800m*600m左右,首先进行构建地图工作,利用海康相机对全站场景拍摄视频并处理,构建出全站的三维语义空间地图。取得地图数据后,在线运行本发明所述的实时视觉语义定位系统,即将海康相机的图像数据实时输入到本系统,分别进行SIFT特征提取与匹配、物体特征提取与语义匹配,并求解出相机的位置和姿态;同时并行的将海康图像数据送入到SLAM系统,实时获取其位置和姿态。最终将主系统的输出和SLAM系统的输出进行融合,获得最终的位姿输出。对实验结果进行测量评估,本发明所提出的实时视觉语义定位系统,其定位精度在2cm以内;其在光照剧烈变化、环境场景较为单调的情况下仍然有效。
第三方面,图6是示出本实施例提供的电子设备的结构框图。
参照图6,所述电子设备包括:处理器(processor)601、存储器(memory)602、总线603;
其中,
所述处理器601、存储器602通过所述总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和第一语义信息建立的三维地图;根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
第四方面,本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和第一语义信息建立的三维地图;根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和第一语义信息建立的三维地图;根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

Claims (9)

1.一种视觉定位的方法,其特征在于,包括:
获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和第一语义信息建立的三维地图;
根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一匹配点集和所述第二匹配点集,求解第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息,包括:
获取根据所述第一匹配点集和所述第二匹配点集,求解得到的所述第一姿态信息和所述第一位置信息;
获取预先建立的目标模型,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息;
根据所述第一姿态信息和所述第二姿态信息得到所述目标姿态信息,根据所述第一位置信息和所述第二位置信息得到所述目标位置信息。
3.根据权利要求1所述的方法,其特征在于,根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,包括:
针对所述第一匹配点集中的每一所述第一匹配特征点,获取所述第一匹配特征点在所述图像数据中的第一像素坐标,以及所述空间特征点中与所述第一匹配特征点相匹配的空间特征点的第一空间坐标,将所述第一像素坐标和所述第一空间坐标作为所述第一匹配特征点的第一坐标信息;
针对所述第二匹配点集中的每一所述第二匹配特征点,获取所述第二匹配特征点在所述图像数据中的第二像素坐标,以及所述空间特征点中与所述第二匹配特征点相匹配的空间特征点的第二空间坐标,将所述第二像素坐标和所述第二空间坐标作为所述第二匹配特征点的第二坐标信息;
根据对应于所述第一匹配点集中每一所述第一匹配特征点的所述第一坐标信息和对应于所述第二匹配点集中每一所述第二匹配特征点的所述第二坐标信息,通过后方交汇算法得到所述第一姿态信息和所述第一位置信息。
4.根据权利要求2所述的方法,其特征在于,所述获取预先建立的目标模型和所述图像数据,将所述图像数据作为所述目标模型的输入量,通过所述目标模型得到所述预设拍照设备在拍照得到所述图像数据时的第二姿态信息和在所述预设场景中的第二位置信息,包括:
获取经过初始化的SLAM系统,作为所述目标模型,将所述图像数据作为所述SLAM系统的输入量,通过所述SLAM系统得到所述第二姿态信息和所述第二位置信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,包括:
采用SIFT算法从所述图像数据中提取所述第一特征点,得到每一所述第一特征点对应的目标矢量;
将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积;
若所述目标点积小于预设点积,则所述目标点积对应的第一待选空间特征点为与所述第一特征点匹配的空间特征点,所述第一匹配结果为匹配成功。
6.根据权利要求5所述的方法,其特征在于,所述将所述语义空间地图中的所有空间特征点作为第一待选空间特征点,获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积,包括:
获取预先根据所述语义空间地图中每一所述空间特征点对应的空间矢量建立的K-D树;
针对每一所述第一特征点,根据所述第一特征点对应的目标矢量从所述K-D树中选取与所述目标矢量之间的夹角小于预设夹角的空间矢量对应的空间特征点,作为所述第一待选空间特征点;
获取每一所述第一待选空间特征点对应的空间矢量,针对每一所述第一特征点,计算所述第一特征点对应的目标矢量和每一所述第一待选空间特征点对应的空间矢量的点积,将得到的最小点积作为目标点积。
7.根据权利要求6所述的方法,其特征在于,所述根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,包括:
通过Faster-RCNN从所述图像数据中提取所述第二特征点,得到每一所述第二特征点对应的目标语义信息,获取所述语义空间地图中具有语义信息的空间特征点,作为第二待选空间特征点;
针对每一所述第二特征点,判断所述第二待选空间特征点中是否存在第一语义信息和所述目标语义信息相同的空间特征点,若存在,则所述第二待选空间特征点中第一语义信息和所述目标语义信息相同的空间特征点为与所述第二特征点匹配的空间特征点,所述第二匹配结果为匹配成功。
8.一种视觉定位的装置,其特征在于,包括:
获取模块,用于获取由预设拍照设备对预设场景进行拍照得到的图像数据和预先构建的所述预设场景的语义空间地图;其中,所述语义空间地图为预先根据所述预设场景的第一纹理信息和目标语义信息建立的三维地图;
第一匹配模块,用于根据所述图像数据包含的第二纹理信息提取第一特征点,将每一所述第一特征点和所述语义空间地图中的空间特征点进行矢量信息的匹配,得到第一匹配结果,将所述第一匹配结果为匹配成功的第一特征点作为第一匹配特征点,得到由所述第一匹配特征点组成的第一匹配点集;
第二匹配模块,用于根据所述图像数据包含的第二语义信息提取第二特征点,将每一所述第二特征点和所述语义空间地图中的空间特征点进行语义信息的匹配,得到第二匹配结果,将所述第二匹配结果为匹配成功的第二特征点作为第二匹配特征点,得到由所述第二匹配特征点组成的第二匹配点集;
求解模块,用于根据所述第一匹配点集和所述第二匹配点集,求解所述预设拍照设备的第一姿态信息和第一位置信息,将所述第一姿态信息作为所述预设拍照设备在拍照得到所述图像数据时的目标姿态信息,将所述第一位置信息作为所述预设拍照设备在拍照得到所述图像数据时的目标位置信息。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1至7中任一项所述的方法。
CN201710910982.1A 2017-09-29 2017-09-29 一种视觉定位的方法及装置 Active CN107742311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710910982.1A CN107742311B (zh) 2017-09-29 2017-09-29 一种视觉定位的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710910982.1A CN107742311B (zh) 2017-09-29 2017-09-29 一种视觉定位的方法及装置

Publications (2)

Publication Number Publication Date
CN107742311A CN107742311A (zh) 2018-02-27
CN107742311B true CN107742311B (zh) 2020-02-18

Family

ID=61236383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710910982.1A Active CN107742311B (zh) 2017-09-29 2017-09-29 一种视觉定位的方法及装置

Country Status (1)

Country Link
CN (1) CN107742311B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790664B2 (en) 2019-02-19 2023-10-17 Tesla, Inc. Estimating object properties using visual image data
US11797304B2 (en) 2018-02-01 2023-10-24 Tesla, Inc. Instruction set architecture for a vector computational unit
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11841434B2 (en) 2018-07-20 2023-12-12 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11893774B2 (en) 2018-10-11 2024-02-06 Tesla, Inc. Systems and methods for training machine models with augmented data
US11983630B2 (en) 2023-01-19 2024-05-14 Tesla, Inc. Neural networks for embedded devices

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
CN108665496B (zh) * 2018-03-21 2021-01-26 浙江大学 一种基于深度学习的端到端的语义即时定位与建图方法
CN108665508B (zh) 2018-04-26 2022-04-05 腾讯科技(深圳)有限公司 一种即时定位与地图构建方法、装置及存储介质
CN108717710B (zh) * 2018-05-18 2022-04-22 京东方科技集团股份有限公司 室内环境下的定位方法、装置及系统
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
WO2020019239A1 (zh) * 2018-07-26 2020-01-30 深圳前海达闼云端智能科技有限公司 一种定位方法、装置、终端和可读存储介质
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
CN110163914B (zh) * 2018-08-01 2021-05-25 京东方科技集团股份有限公司 基于视觉的定位
CN109241856A (zh) * 2018-08-13 2019-01-18 浙江零跑科技有限公司 一种单目车载视觉系统立体目标检测方法
CN109084749B (zh) * 2018-08-21 2021-05-11 北京云迹科技有限公司 通过环境中物体进行语义定位的方法及装置
CN109215487A (zh) * 2018-08-24 2019-01-15 宽凳(北京)科技有限公司 一种基于深度学习的高精地图制作方法
CN109141444B (zh) * 2018-08-28 2019-12-06 北京三快在线科技有限公司 定位方法、装置、存储介质及移动设备
CN109410279A (zh) * 2018-08-31 2019-03-01 南京理工大学 基于深度学习的图像检测定位加速方法
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
CN109540173A (zh) * 2018-09-17 2019-03-29 江西洪都航空工业集团有限责任公司 一种视觉辅助的传递对准方法
EP3629290B1 (en) * 2018-09-26 2023-01-04 Apple Inc. Localization for mobile devices
CN110969661B (zh) * 2018-09-30 2023-11-17 上海微电子装备(集团)股份有限公司 图像处理装置及方法、位置标定系统及方法
CN110146096B (zh) * 2018-10-24 2021-07-20 北京初速度科技有限公司 一种基于图像感知的车辆定位方法及装置
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
CN111351493B (zh) * 2018-12-24 2023-04-18 上海欧菲智能车联科技有限公司 一种定位方法和系统
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
CN109887003B (zh) * 2019-01-23 2021-11-19 亮风台(上海)信息科技有限公司 一种用于进行三维跟踪初始化的方法与设备
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
CN109901207A (zh) * 2019-03-15 2019-06-18 武汉大学 一种北斗卫星系统与图像特征结合的高精度室外定位方法
CN109993793B (zh) * 2019-03-29 2021-09-07 北京易达图灵科技有限公司 视觉定位方法及装置
CN111860084B (zh) * 2019-04-30 2024-04-16 千寻位置网络有限公司 图像特征的匹配、定位方法及装置、定位系统
CN110095659B (zh) * 2019-04-30 2021-06-22 北京卫星环境工程研究所 深空探测巡视器通讯天线指向精度动态测试方法
CN112348885A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 视觉特征库的构建方法、视觉定位方法、装置和存储介质
CN112446234A (zh) * 2019-08-28 2021-03-05 北京初速度科技有限公司 一种基于数据关联的位置确定方法及装置
CN112444242B (zh) * 2019-08-31 2023-11-10 北京地平线机器人技术研发有限公司 一种位姿优化方法及装置
CN111862205A (zh) * 2019-12-18 2020-10-30 北京嘀嘀无限科技发展有限公司 一种视觉定位方法、装置、设备及存储介质
CN113129365B (zh) * 2019-12-30 2022-06-24 魔门塔(苏州)科技有限公司 一种图像标定方法及装置
CN111369624B (zh) * 2020-02-28 2023-07-25 北京百度网讯科技有限公司 定位方法和装置
CN111652934B (zh) * 2020-05-12 2023-04-18 Oppo广东移动通信有限公司 定位方法及地图构建方法、装置、设备、存储介质
CN112902966A (zh) * 2021-01-28 2021-06-04 开放智能机器(上海)有限公司 一种融合定位系统及方法
TWI773476B (zh) * 2021-08-05 2022-08-01 財團法人車輛研究測試中心 特徵點整合定位系統及特徵點整合定位方法
CN115294204B (zh) * 2022-10-10 2023-03-17 浙江光珀智能科技有限公司 一种户外目标定位方法及系统
CN115690130B (zh) * 2022-12-30 2023-06-27 杭州咏柳科技有限公司 一种图像处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法
CN105931218A (zh) * 2016-04-07 2016-09-07 武汉科技大学 模块化机械臂的智能分拣方法
CN105928505A (zh) * 2016-04-19 2016-09-07 深圳市神州云海智能科技有限公司 移动机器人的位姿确定方法和设备
CN106709568A (zh) * 2016-12-16 2017-05-24 北京工业大学 基于深层卷积网络的rgb‑d图像的物体检测和语义分割方法
CN106774315A (zh) * 2016-12-12 2017-05-31 深圳市智美达科技股份有限公司 机器人自主导航方法和装置
CN107170011A (zh) * 2017-04-24 2017-09-15 杭州司兰木科技有限公司 一种机器人视觉跟踪方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法
CN105931218A (zh) * 2016-04-07 2016-09-07 武汉科技大学 模块化机械臂的智能分拣方法
CN105928505A (zh) * 2016-04-19 2016-09-07 深圳市神州云海智能科技有限公司 移动机器人的位姿确定方法和设备
CN106774315A (zh) * 2016-12-12 2017-05-31 深圳市智美达科技股份有限公司 机器人自主导航方法和装置
CN106709568A (zh) * 2016-12-16 2017-05-24 北京工业大学 基于深层卷积网络的rgb‑d图像的物体检测和语义分割方法
CN107170011A (zh) * 2017-04-24 2017-09-15 杭州司兰木科技有限公司 一种机器人视觉跟踪方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
3D Semantic Parsing of Large-Scale Indoor Spaces;Iro Armeni 等;《Conference on Computer Vision and Pattern Recognition(CVPR)》;20161231;1534-1543 *
Robust RGB-D simultaneous localization and mapping using planar point features;Xiang Gao 等;《Robotics and Autonomous Systems》;20151031;第72卷;1-14 *
基于服务任务导向的机器人地图构建研究;吴皓;《中国博士学位论文全文数据库 信息科技辑》;20111215(第12期);I140-75 *
无人车基于三维点云场景理解的语义地图构建;常欢;《万方数据知识服务平台》;20161113;1-62 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11797304B2 (en) 2018-02-01 2023-10-24 Tesla, Inc. Instruction set architecture for a vector computational unit
US11841434B2 (en) 2018-07-20 2023-12-12 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11893774B2 (en) 2018-10-11 2024-02-06 Tesla, Inc. Systems and methods for training machine models with augmented data
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11790664B2 (en) 2019-02-19 2023-10-17 Tesla, Inc. Estimating object properties using visual image data
US11983630B2 (en) 2023-01-19 2024-05-14 Tesla, Inc. Neural networks for embedded devices

Also Published As

Publication number Publication date
CN107742311A (zh) 2018-02-27

Similar Documents

Publication Publication Date Title
CN107742311B (zh) 一种视觉定位的方法及装置
CN111328396B (zh) 用于图像中的对象的姿态估计和模型检索
CN106940704B (zh) 一种基于栅格地图的定位方法及装置
US20220114750A1 (en) Map constructing method, positioning method and wireless communication terminal
CN111652934B (zh) 定位方法及地图构建方法、装置、设备、存储介质
WO2020259481A1 (zh) 定位方法及装置、电子设备、可读存储介质
EP3502621B1 (en) Visual localisation
CN109960742B (zh) 局部信息的搜索方法及装置
CN108734087B (zh) 物体自动识别方法以及系统、购物设备和存储介质
EP2874097A2 (en) Automatic scene parsing
CN109410316B (zh) 物体的三维重建的方法、跟踪方法、相关装置及存储介质
CN107329962B (zh) 图像检索数据库生成方法、增强现实的方法及装置
CN110648397B (zh) 场景地图生成方法、装置、存储介质及电子设备
CN111928857B (zh) 一种动态环境中实现slam定位的方法及相关装置
CN113537047A (zh) 障碍物检测方法、装置、交通工具及存储介质
CN115482556A (zh) 关键点检测模型训练及虚拟角色驱动的方法和对应的装置
CN115008454A (zh) 一种基于多帧伪标签数据增强的机器人在线手眼标定方法
CN113190120B (zh) 位姿获取方法、装置、电子设备及存储介质
JP6016242B2 (ja) 視点推定装置及びその分類器学習方法
CN110458177B (zh) 图像深度信息的获取方法、图像处理装置以及存储介质
CN115131407B (zh) 面向数字仿真环境的机器人目标跟踪方法、装置和设备
CN116843867A (zh) 增强现实虚实融合方法、电子设备和存储介质
CN113610967B (zh) 三维点检测的方法、装置、电子设备及存储介质
CN115953471A (zh) 室内场景多尺度矢量图像检索与定位方法、系统及介质
JP7336653B2 (ja) ディープラーニングを利用した屋内位置測位方法

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
GR01 Patent grant
GR01 Patent grant