CN110702115B - 一种基于单目视觉的定位方法、定位装置及终端 - Google Patents
一种基于单目视觉的定位方法、定位装置及终端 Download PDFInfo
- Publication number
- CN110702115B CN110702115B CN201910942192.0A CN201910942192A CN110702115B CN 110702115 B CN110702115 B CN 110702115B CN 201910942192 A CN201910942192 A CN 201910942192A CN 110702115 B CN110702115 B CN 110702115B
- Authority
- CN
- China
- Prior art keywords
- target
- distance
- reference point
- included angle
- preset
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Abstract
本发明适用于计算机视觉技术领域,提供了一种基于单目视觉的定位方法、定位装置、终端及计算机可读存储介质,所述定位方法包括:在当前位置,基于预设的第一识别特征定位第一目标获得面向第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向第三目标时的第三姿态朝向;获取第一夹角和第一距离,基于第一夹角和第一距离确定第一参考点;获取第二夹角、第二距离和第三距离,基于第二夹角、第一距离、第二距离和第三距离,确定第二参考点;基于第一参考点和第二参考点,确定当前位置。本发明能够准确地对当前位置进行定位。
Description
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种基于单目视觉的定位方法、定位装置、终端及计算机可读存储介质。
背景技术
移动机器人通过单目视觉中能够识别其应用场景内的物体,是一种在复杂环境下工作的,具有自行组织、自主运行、自主规划的智能机器人,移动机器人被逐渐的应用于家庭服务、助老助残、抢险救灾、险情探测等领域。将GPS定位技术应用到移动机器人中,能够对室外移动机器人进行精确的定位,实现对移动机器人进行精确的导航或监控,但由于全球GPS定位信号在室内的信号较弱,无法对室内移动机器人进行精确的定位,而现有技术,根据单目视觉无法对室内移动机器人的进行准确的定位,影响了对室内移动机器人的导航和监控。
发明内容
有鉴于此,本发明提供了一种基于单目视觉的定位方法、定位装置、终端及计算机可读存储介质,旨在解决基于单目视觉无法准确的进行自身定位的问题。
本发明实施例的第一方面提供了一种基于单目视觉的定位方法,应用于预设场景中的自身定位,所述定位方法包括:
在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
基于所述第一夹角和所述第一距离确定第一参考点;
获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
基于所述第一参考点和所述第二参考点,确定当前位置。
本发明实施例的第二方面提供了一种基于单目视觉的定位装置,应用于预设场景中的自身定位,所述定位装置包括:
姿态朝向确定单元,用于在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
第一夹角确定单元,用于获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
第一参考点确定单元,用于基于所述第一夹角和所述第一距离确定第一参考点;
第二夹角确定单元,用于获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
第二参考点确定单元,用于基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
当前位置确定单元,用于基于所述第一参考点和所述第二参考点,确定当前位置。
本发明实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如任一项所述基于单目视觉的定位方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如任一项所述基于单目视觉的定位方法的步骤。
本发明与现有技术相比存在的有益效果是:
本发明通过在当前位置,获得面向所述第一目标时的第一姿态朝向、面向所述第二目标时的第二姿态朝向和面向所述第三目标时的第三姿态朝向;获取从第一姿态朝向转动至第二姿态朝向的转动角度,第一目标至第二目标之间的第一距离,并基于第一夹角和第一距离确定第一参考点;获取从第二姿态朝向转动至第三姿态朝向的第二夹角,获取第二目标至第三目标之间的第二距离,获取第一目标至第三目标之间的第三距离,基于第二夹角、第一距离、第二距离和第三距离,确定第二参考点,基于第一参考点、第二参考点和第二目标的第二位置,确定自身的当前位置,本发明通过利用第一参考点、第二参考点和当前位置的几何关系,能够准确地对当前位置进行定位,将本发明应用在室内移动机器人中,能够基于单目视觉准确的对室内移动机器人进行定位。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于单目视觉的定位方法的实现流程图;
图2是本发明实施例提供的确定第一参考点的原理示意图;
图3是本发明实施例提供的确定第二参考点的原理示意图;
图4是本发明实施例提供的基于单目视觉的定位装置的结构示意图;
图5是本发明实施例提供的终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
参见图1,其示出了本发明实施例提供的基于单目视觉的定位方法的实现流程图,详述如下:
S101:在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
在本发明实施例中,所述在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向之前还包括:
识别所述预设场景中的目标,从所述识别的目标中选取第一目标、第二目标和第三目标,其中,所述第一目标、所述第二目标和所述第三目标分别具有不同的识别特征。
所述预设场景可以为室内移动机器人活动范围的室内,室内移动机器人通过单目视觉能够根据不同的识别特征识别第一目标,第二目标和第三目标。第一目标,第二目标和第三目标分别具有不同的识别特征,可以利用不同颜色和形状等特征,作为第一目标、第二目标和第三目标的识别特征,RGB颜色空间的任何颜色都是由红色(R)、绿色(G)、蓝色(B)这三原色的加权得到,通过室内移动机器人的单目相机在室内不同的位置获取不同的图像,分别对获取的每幅图像中的物体的RGB三个颜色通道进行分离、阈值分割,便可得到每幅图像中的目标颜色的RGB值,根据获得的RGB值识别每个目标。
为了防止光照对图像中的物体颜色的干扰,可以将室内的第一目标、第二目标和第三目标设置成不同的形状,将室内移动机器人的单目相机获取的室内图像中的目标进行轮廓检测算法,获取图像中的目标的形状,根据获取的目标的形状对第一目标、第二目标和第三目标进行识别。
在所述识别所述预设场景中的目标,从所述识别的目标中选取第一目标、第二目标和第三目标之后还包括:
计算所述第一目标与所述第二目标之间的第一距离;
计算所述第二目标至所述第三目标之间的第二距离;
计算所述第一目标至所述第三目标之间的第三距离。
在本发明实施例中,在对室内移动机器人进行定位之前,可以利用室内移动机器人从第一目标至第二目标之间的的距离确定为第一距离,第二目标至第三目标之间的距离确定为第二距离,第一目标至第三目标之间的距离确定为第三距离。
在所述获取第一夹角和第一距离之前还包括:
以所述第二目标为原点,以所述第一目标至所述第二目标的方向为x轴的正方向,以垂直于所述x轴且指向所述第三目标一侧的方向为y轴的正方向,得到第一平面坐标系。
在本发明实施例中,可以在设置第一目标,第二目标和第三目标时将第三目标设置在第一目标和第二目标构成的直线的两侧中的其中一侧。
在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
在本发明实施例中,示例性的,将第一目标设置为红色,第二目标设置为绿色,第三目标设置为蓝色,室内移动机器人在当前位置,通过单目相机分别获取第一目标、第二目标和第三目标的颜色,通过每个目标上设置的不同的颜色对三个目标进行定位。
在识别到第一目标后,调整单目相机的视角的中心线,使单目相机的视角的中心线与第一目标的中心线重合,获得面向第一目标时的第一姿态朝向;在识别到第二目标后,调整单目相机的视角的中心线,使单目相机的视角的中心线与第二目标的中心线重合,获得面向第二目标时的第二姿态朝向;在识别到第三目标后,调整单目相机的视角的中心线,使单目相机的视角的中心线与第三目标的中心线重合,获得面向第三目标时的第三姿态朝向。
S102:获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
在本发明实施例中,单目相机的视角的中心线可以从第一姿态朝向转动至第二姿态朝向,该转动角度为第一夹角。
S103:基于所述第一夹角和所述第一距离确定第一参考点;
在本发明实施例中,第一参考点可以为当前位置、第一目标和第二目标在第一平面坐标系中构成的三角形的外接圆的圆心。
将所述第一夹角和所述第一距离输入至预设的第一公式,得到所述第一参考点;
所述第一公式在所述第一平面坐标系中的数学表示为:
其中,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,l12表示所述第一距离,α1表示所述第一夹角。
参见图2,图2是本发明实施例提供的确定第一参考点的原理示意图,详述如下:
在第一平面坐标系中,A点为第二目标,且为xy的平面坐标系的原点,B为第一目标,C为第三目标,D为当前位置,O1为第一参考点,O2为第二参考点,O1可以为三角形ABD外接圆的圆心,O2可以为三角形ACD外接圆的圆心。M为第一参考点O1向x轴作垂线和x轴的交点,首先确定点C坐标(x(C),y(C))。确定点C坐标(x(C),y(C))的过程如下:
l12为AB之间的距离,l23为AC之间的距离,l13为BC之间的距离。
在确定点C坐标(x(C),y(C))后,可以确定第一目标B、第二目标A和当前位置D三点构成的圆ABD的半径,以及第二目标A,第三目标C和当前位置D构成的圆ACD的半径。该过程如下:
将圆ABD的半径记为r1,圆ACD的半径记为r2。
将圆ABD圆心记为点O1,由O1向AB做垂线,交AB于点M,连接O1A,则三角形AMO1为直角三角形,由垂弦定理可知,AM=BM=AB/2,∠AO1M=∠AO1B/2,当α1为钝角,四边形的ABDS1为圆ABD的内接四边形。由圆心角圆周角关系可知:∠AO1M=∠AS1B=π-α1。在三角形AMO1内,由正弦定理可得:
当α1为锐角,∠AO1M=α1,因此三角形AMO1内,由正弦定理可知:
经过点A和点B,半径为r1的圆有两个,圆心分别为O1和O1',O1和O1'横坐标相同,均为LAB/2,纵坐标的绝对值也相同。
当α1为钝角时,根据直角三角形边角关系可计算得:
当α1为锐角时,根据圆心角圆周角关系,以及直角三角形边角关系可计算得:
因此圆ABD的两个圆心O1(x1,y1)为:
若α1为锐角,说明弧ADB是大于π的弧,因此真实的圆心应该位于x轴上方,因此圆心坐标为:
否则:
因此恒有,圆ABD圆心O1坐标为:
S104:获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
在本发明实施例中,单目相机的视角的中心线从第二姿态朝向转动至第三姿态朝向,该转动的角度为第二夹角。
S105:基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
参见图3,图3是本发明实施例提供的确定第二参考点的原理示意图,详述如下:
在第一平面坐标系中,经过第二目标和第三目标,且半径为r2的圆ACD有两个,圆心分别为O2和O2',连接O2 O2',与AC交于T点。
由相交等圆性质可知直线AC,O2 O2'互为垂直平分线。
过O2'作水平于x轴的平行线,过T作平行于y轴的平行线,相交于点v,过C作平行于x轴的直线,交y轴与u点,则△TvO2’为直角三角形,△CuA为直角三角形,易知两三角形相似。由C的坐标可有T的坐标(x(T),y(T))为:
O2、O2'两点坐标值根据点T的坐标和三角形TvO2'的两直角边长lTv,lO2'v的距离长度得到。
根据三角形TvO2'和三角形ACu相似,得到
当α2为钝角时,由圆内接四边形以及圆周角圆心角关系可知:
当α2为锐角时,由圆周角圆心角关系可知:
如果α2为锐角,说明弧ADC是大于π的弧,因此真实的圆心应该位于AC右侧,因此圆心O2的x2坐标为
否则x2坐标为:
如果C在第一象限内且α2为锐角,或者C在第二象限内且α2为钝角,说明真实的圆心应该位于AC下方,因此圆心O2的纵坐标y2为:
如果C在第一象限内且α2为钝角,或者C在第二象限内且α2为锐角,说明真实的圆心应该位于AC上方,因此圆心O2的纵坐标y2为:
因此恒有,圆ACD圆心坐标O2(x2,y2)为:
S106:基于所述第一参考点和所述第二参考点,确定当前位置。
在本发明实施例中,第一参考点O1(x1,y1)和第二参考点O2(x2,y2)构成的直线O1O2,与第二目标A和当前位置D(x0,y0)构成的直线AD互为垂直平分线,直线O1 O2的中点和直线AD交点的坐标为该交点即为直线O1 O2的中点,也为直线AD的中点,根据互为垂直平分线的斜率相乘为-1的原理和直线O1 O2的中点与该线两端点O1和O2的关系,得到如下公式:
本发明通过在当前位置,获得面向所述第一目标时的第一姿态朝向、面向所述第二目标时的第二姿态朝向和面向所述第三目标时的第三姿态朝向;获取从第一姿态朝向转动至第二姿态朝向的转动角度,第一目标至第二目标之间的第一距离,并基于第一夹角和第一距离确定第一参考点;获取从第二姿态朝向转动至第三姿态朝向的第二夹角,获取第二目标至第三目标之间的第二距离,获取第一目标至第三目标之间的第三距离,基于第二夹角、第一距离、第二距离和第三距离,确定第二参考点,基于第一参考点、第二参考点和第二目标的第二位置,确定自身的当前位置,本发明通过利用第一参考点、第二参考点和当前位置的几何关系,能够准确地对当前位置进行定位,并且,计算量小,能够快速的获得当前位置,将本发明应用在室内移动机器人中,能够基于单目视觉准确、快速的对室内移动机器人进行定位。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
参见图4,图4示出了本发明实施例提供的基于单目视觉的定位装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图4所示,本发明实施例提供的基于单目视觉的定位装置4应用于预设场景中的自身定位,定位装置4包括:
姿态朝向确定单元410,用于在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
第一夹角确定单元420,用于获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
第一参考点确定单元430,用于基于所述第一夹角和所述第一距离确定第一参考点;
第二夹角确定单元440,用于获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
第二参考点确定单元450,用于基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
当前位置确定单元460,用于基于所述第一参考点和所述第二参考点,确定当前位置。
本发明通过姿态朝向确定单元410、第一夹角确定单元420、第一参考点确定单元430、第二夹角确定单元440、第二参考点确定单元450和当前位置确定单元460,能够准确地对自身的当前位置进行定位。
定位装置4还包括:
识别单元,用于识别所述预设场景中的目标,从所述识别的目标中选取第一目标、第二目标和第三目标,其中,所述第一目标、所述第二目标和所述第三目标分别具有不同的识别特征。
定位装置4还包括:
计算单元,用于计算所述第一目标与所述第二目标之间的第一距离;
计算所述第二目标至所述第三目标之间的第二距离;
计算所述第一目标至所述第三目标之间的第三距离。
定位装置4还包括:
第一平面坐标系确定单元,用于以所述第二目标为原点,以所述第一目标至所述第二目标的方向为x轴的正方向,以垂直于所述x轴且指向所述第三目标一侧的方向为y轴的正方向,得到第一平面坐标系。
第一参考点确定单元430具体用于:
将所述第一夹角和所述第一距离输入至预设的第一公式,得到所述第一参考点;
所述第一公式在所述第一平面坐标系中的数学表示为:
其中,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,l12表示所述第一距离,α1表示所述第一夹角。
第二参考点确定单元450具体用于:
将所述第二夹角、所述第一距离、所述第二距离和所述第三距离输入至所述预设的第二公式,得到所述第二参考点;
所述第二公式在所述第一平面坐标系中的数学表示为:
其中,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标,l12表示所述第一距离,l23表示所述第二距离,l13表示所述三距离,α2表示所述第二夹角。
当前位置确定单元460具体用于:
将所述第一参考点和所述第二参考点输入至所述预设的第三公式,得到所述当前位置;
所述第三公式在所述第一平面坐标系中的数学表示为:
其中,x0表示所述当前位置的横坐标,y0表示所述当前位置的纵坐标,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标。
图5是本发明一实施例提供的终端的示意图。如图5所示,该实施例的终端5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个基于单目视觉的定位方法实施例中的步骤,例如图1所示的步骤101至步骤106。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示单元410至460的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端5中的执行过程。
所述终端5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端5的示例,并不构成对终端5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端5的内部存储单元,例如终端5的硬盘或内存。所述存储器51也可以是所述终端5的外部存储设备,例如所述终端5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各个基于单目视觉的定位方法实施例中的步骤。
计算机可读存储介质存储有计算机程序52,计算机程序52包括程序指令,程序指令被处理器50执行时实现上述实施例方法中的全部或部分流程,也可以通过计算机程序52来指令相关的硬件来完成,计算机程序52可存储于一计算机可读存储介质中,该计算机程序52在被处理器50执行时,可实现上述各个方法实施例的步骤。其中,计算机程序52包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
计算机可读存储介质可以是前述任一实施例的终端的内部存储单元,例如终端的硬盘或内存。计算机可读存储介质也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括终端的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序及终端所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于单目视觉的定位方法,应用于预设场景中的自身定位,其特征在于,所述定位方法包括:
在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
基于所述第一夹角和所述第一距离确定第一参考点;
获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
基于所述第一参考点和所述第二参考点,确定当前位置;
在所述获取第一夹角和第一距离之前还包括:
以所述第二目标为原点,以所述第一目标至所述第二目标的方向为x轴的正方向,以垂直于所述x轴且指向所述第三目标一侧的方向为y轴的正方向,得到第一平面坐标系;
所述基于所述第一夹角和所述第一距离确定第一参考点包括:
将所述第一夹角和所述第一距离输入至预设的第一公式,得到所述第一参考点;
所述第一公式在所述第一平面坐标系中的数学表示为:
其中,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,l12表示所述第一距离,α1表示所述第一夹角;
所述基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点包括:
将所述第二夹角、所述第一距离、所述第二距离和所述第三距离输入至所述预设的第二公式,得到所述第二参考点;
所述第二公式在所述第一平面坐标系中的数学表示为:
其中,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标,l12表示所述第一距离,l23表示所述第二距离,l13表示所述三距离,α2表示所述第二夹角;
所述基于所述第一参考点和第二参考点,确定当前位置包括:
将所述第一参考点和所述第二参考点输入至所述预设的第三公式,得到所述当前位置;
所述第三公式在所述第一平面坐标系中的数学表示为:
其中,x0表示所述当前位置的横坐标,y0表示所述当前位置的纵坐标,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标。
2.根据权利要求1所述的基于单目视觉的定位方法,其特征在于,所述在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向之前还包括:
识别所述预设场景中的目标,从所述识别的目标中选取第一目标、第二目标和第三目标,其中,所述第一目标、所述第二目标和所述第三目标分别具有不同的识别特征。
3.根据权利要求2所述的基于单目视觉的定位方法,其特征在于,在所述识别所述预设场景中的目标,从所述识别的目标中选取第一目标、第二目标和第三目标之后还包括:
计算所述第一目标与所述第二目标之间的第一距离;
计算所述第二目标至所述第三目标之间的第二距离;
计算所述第一目标至所述第三目标之间的第三距离。
4.一种基于单目视觉的定位装置,应用于预设场景中的自身定位,其特征在于,所述定位装置包括:
姿态朝向确定单元,用于在当前位置,基于预设的第一识别特征定位第一目标获得面向所述第一目标时的第一姿态朝向,基于预设的第二识别特征定位第二目标面向所述第二目标时的第二姿态朝向,基于预设的第三识别特征定位第三目标面向所述第三目标时的第三姿态朝向;
第一夹角确定单元,用于获取第一夹角和第一距离,所述第一夹角表示从所述第一姿态朝向转动至所述第二姿态朝向的转动角度,所述第一距离表示所述第一目标至所述第二目标之间的距离;
第一参考点确定单元,用于基于所述第一夹角和所述第一距离确定第一参考点;
第二夹角确定单元,用于获取第二夹角、第二距离和第三距离,所述第二夹角表示从所述第二姿态朝向转动至所述第三姿态朝向的转动角度,所述第二距离表示所述第二目标至所述第三目标之间的距离,所述第三距离表示所述第一目标至所述第三目标之间的距离;
第二参考点确定单元,用于基于所述第二夹角、所述第一距离、所述第二距离和所述第三距离,确定第二参考点;
当前位置确定单元,用于基于所述第一参考点和所述第二参考点,确定当前位置;
第一平面坐标系确定单元,用于以所述第二目标为原点,以所述第一目标至所述第二目标的方向为x轴的正方向,以垂直于所述x轴且指向所述第三目标一侧的方向为y轴的正方向,得到第一平面坐标系;
第一参考点确定单元具体用于:
将所述第一夹角和所述第一距离输入至预设的第一公式,得到所述第一参考点;
所述第一公式在所述第一平面坐标系中的数学表示为:
其中,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,l12表示所述第一距离,α1表示所述第一夹角;
第二参考点确定单元具体用于:
将所述第二夹角、所述第一距离、所述第二距离和所述第三距离输入至所述预设的第二公式,得到所述第二参考点;
所述第二公式在所述第一平面坐标系中的数学表示为:
其中,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标,l12表示所述第一距离,l23表示所述第二距离,l13表示所述三距离,α2表示所述第二夹角;
当前位置确定单元具体用于:
将所述第一参考点和所述第二参考点输入至所述预设的第三公式,得到所述当前位置;
所述第三公式在所述第一平面坐标系中的数学表示为:
其中,x0表示所述当前位置的横坐标,y0表示所述当前位置的纵坐标,x1表示所述第一参考点的横坐标,y1表示所述第一参考点的纵坐标,x2表示所述第二参考点的横坐标,y2表示所述第二参考点的纵坐标。
5.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至3中任一项所述基于单目视觉的定位方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至3中任一项所述基于单目视觉的定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942192.0A CN110702115B (zh) | 2019-09-30 | 2019-09-30 | 一种基于单目视觉的定位方法、定位装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942192.0A CN110702115B (zh) | 2019-09-30 | 2019-09-30 | 一种基于单目视觉的定位方法、定位装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110702115A CN110702115A (zh) | 2020-01-17 |
CN110702115B true CN110702115B (zh) | 2021-04-06 |
Family
ID=69197390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910942192.0A Active CN110702115B (zh) | 2019-09-30 | 2019-09-30 | 一种基于单目视觉的定位方法、定位装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110702115B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111474519A (zh) * | 2020-04-28 | 2020-07-31 | 广东博智林机器人有限公司 | 一种定位方法、装置、设备及存储介质 |
CN112532868A (zh) * | 2020-11-04 | 2021-03-19 | 浙江大华系统工程有限公司 | 一种图像采集设备可视域控制方法、装置、设备及介质 |
CN117433510A (zh) * | 2023-11-09 | 2024-01-23 | 大庆安瑞达科技开发有限公司 | 一种基于平面地图快速定位网络摄像机位置的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4530011B2 (ja) * | 2007-09-12 | 2010-08-25 | 富士ゼロックス株式会社 | 位置計測システム |
CN104034305B (zh) * | 2014-06-10 | 2016-05-11 | 杭州电子科技大学 | 一种单目视觉实时定位的方法 |
CN104101331B (zh) * | 2014-07-24 | 2016-03-09 | 合肥工业大学 | 基于全光场相机的非合作目标位姿测量 |
CN104154919A (zh) * | 2014-08-13 | 2014-11-19 | 北京邮电大学 | 一种非合作航天器上太阳能帆板三角架结构的位姿自主测量方法 |
CN105300375B (zh) * | 2015-09-29 | 2018-04-20 | 塔米智能科技(北京)有限公司 | 一种基于单视觉的机器人室内定位和导航方法 |
-
2019
- 2019-09-30 CN CN201910942192.0A patent/CN110702115B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110702115A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110702115B (zh) | 一种基于单目视觉的定位方法、定位装置及终端 | |
CN107766859B (zh) | 移动机器人定位方法、装置及移动机器人 | |
Chen et al. | A new sub-pixel detector for x-corners in camera calibration targets | |
Ebrahimpour et al. | Vanishing point detection in corridors: using Hough transform and K-means clustering | |
Guan et al. | Vision-based indoor localization approach based on SURF and landmark | |
CN107063261B (zh) | 用于无人机精准着陆的多特征信息地标检测方法 | |
CN110738273B (zh) | 图像特征点的匹配方法、装置、设备及存储介质 | |
US20200096343A1 (en) | Positioning method and robot with the same | |
CN110807807B (zh) | 一种单目视觉的目标定位的图案、方法、装置及设备 | |
CN112085709B (zh) | 一种图像对比方法及设备 | |
CN108364313A (zh) | 一种自动对位的方法、系统及终端设备 | |
CN107749071A (zh) | 大畸变棋盘格图像角点检测方法及装置 | |
CN110084743A (zh) | 基于多航带起始航迹约束的图像拼接与定位方法 | |
CN112215887A (zh) | 一种位姿确定方法、装置、存储介质及移动机器人 | |
CN110673607A (zh) | 动态场景下的特征点提取方法、装置、及终端设备 | |
CN110796702A (zh) | 一种基于机器视觉的工业设备识别定位方法、系统及设备 | |
CN110472451A (zh) | 一种基于单目相机的面向agv定位的人工地标及解算方法 | |
CN111813984B (zh) | 一种利用单应矩阵实现室内定位的方法、装置及电子设备 | |
CN106815872B (zh) | 基于圆锥投影变换的单目视觉空间定位方法 | |
CN112767487A (zh) | 机器人的定位方法、装置以及系统 | |
CN108234932B (zh) | 视频监控图像中的人员形态提取方法及装置 | |
CN112212851B (zh) | 一种位姿确定方法、装置、存储介质及移动机器人 | |
CN112215308A (zh) | 一种吊装物体单阶检测方法、装置、电子设备及存储介质 | |
CN115131433A (zh) | 一种非合作目标位姿的处理方法、装置及电子设备 | |
Li | Spherical gradient operator |
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 |