提高经验导航中节点选择效率的方法及装置与流程

文档序号:12663692阅读:162来源:国知局
提高经验导航中节点选择效率的方法及装置与流程
本发明涉及无人车视觉导航领域,尤其涉及一种提高视觉经验导航中及节点选择效率的方法及装置。

背景技术:
无人车导航的现有技术中有一些经验导航(experiencebasednavigation),这是利用视觉经验帮助无人车的自主航行的一种方法。所谓的经验并不是通常意义上的经验,而是一系列连续的画面。无人车通过提取感知器传回的当前影像与预先存储的连续画面,并且对比双方的特性(features),得出是否匹配的结论。如果匹配成功,无人车可以直接调用预先存储的特征的地理位置,直观地自我定位。为了完成这看似简单的过程,需要无人车的以下部件通力合作:1.感知器无人车的感知器通常是3D镜头,也可以是激光雷达。经验可以是,但不限于画面。任何计算机可以识别,处理,并且反应当前交通和背景状况的感知器都可以形成经验。这也是经验算法的一大优势。感知器需要实时捕捉当前的行车环境,保持图像的稳定和连续。2.特性对比算法图像实时传来以后,无人车的计算单元需要非常快速的分析,提取图像中的信息,通常被称作特性。所谓特性是一系列能够刻画物体形象的点,这些点通常分布在物体的边缘,在图像中产生“不连续”的感觉。目前有很多算法可以处理不太复杂的图像,有一些算法可以处理非常复杂的图像,它们的准确度通常和计算时间相关。越是收敛缓慢的算法,越有可能精细对比。在这里,我们需要选用快速简单的算法,实时定位。3.经验匹配经验匹配是这一篇的着重点。经验匹配可以做得非常简单直观,从实时图像中提取的特征和经验库中的特征全部比较过一遍,哪些匹配,哪些不匹配一目了然。如果计算单元足够强大,这也不是一个好办法。原因是,如果几个场景看起来差不多,或者更进一步增加难度,让几个场景的光照条件各不相同,可能某个场景和它的经验不能匹配,却和另外一个无关的经验匹配。发生这种错误,无人车的导航会出大问题。某些实施例中有一种经验构成法,让每个场景可以拥有任意多的经验。变化多的场景经验数多一些,反之经验数减少。这种按需分配的思路可以一定程度缓解上述的问题。可是,场景匹配度提高了又有新的问题出现:好几个经验都匹配,难以取舍怎么办?如果这几个经验都属于一个场景,问题还不严重。如果场景都不同,还是不能使用。更为关键的是,计算处理必须快。车辆行驶的速度不允许一帧一分钟几分钟的分析。加上长时间的自主航行本来就容易出偏,我们需要一个快速稳定的解决方案。

技术实现要素:
为此,需要提供一种经验数据库中的节点选择方法,提高经验导航中节点的选择效率,进一步地提高经验导航的计算效率。为实现上述目的,发明人提供了一种提高经验导航中节点选择效率的方法,包括如下步骤,建立先验概率模型,将经验库数据代入先验概率模型得到待匹配节点的先验概率;建立后验概率模型,将经验库数据代入后验概率模型得到待匹配节点的后验概率;根据所述先验概率和后验概率得到待匹配节点的匹配效率得分,将得分最高的待匹配节点优先作为经验导航的匹配运算对象。优选地,所述“根据所述先验概率和后验概率得到待匹配节点的匹配效率得分”具体为,将先验概率和后验概率的积再乘上效率系数得到待匹配节点的匹配效率得分。具体地,所述经验库数据包括历史经验库数据及本次经验导航数据。一种提高经验导航中节点选择效率的装置,包括先验概率计算模块、后验概率计算模块、效率得分计算模块;所述先验概率计算模块用于建立先验概率模型,将经验库数据代入先验概率模型得到待匹配节点的先验概率;所述后验概率计算模块用于建立后验概率模型,将经验库数据代入后验概率模型得到待匹配节点的后验概率;所述效率得分计算模块用于根据所述先验概率和后验概率得到待匹配节点的匹配效率得分,将得分最高的待匹配节点优先作为经验导航的匹配运算对象。优选地,所述效率得分计算模块还用于将先验概率和后验概率的积再乘上效率系数得到待匹配节点的匹配效率得分。具体地,所述经验库数据包括历史经验库数据及本次经验导航数据。区别于现有技术,上述技术方案通过建立匹配效率得分机制为待匹配节点进行打分,并以得分进行有效的筛选标准,提高了经验导航中节点的选择效率,进一步地提高了经验导航的计算效率。附图说明图1为本发明具体实施方式所述的经验导航的执行流水线示意图;图2为本发明具体实施方式所述的三种不同的经验示意图;图3为本发明具体实施方式所述的提高经验导航中节点选择效率的方法示意图;图4为本发明具体实施方式所述的后验概率模型示意图;图5为本发明具体实施方式所述的提高经验导航中节点选择效率的装置模块图。附图标记说明:500、先验概率计算模块;502、后验概率计算模块;504、效率得分计算模块。具体实施方式为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。1、原理介绍对于经验导航系统而言,理想的运行硬件应该具备多个微处理器(CPU)或者内核。图1所示的实施例展示了经验导航的执行流水线(pipeline)的是例子。图中每一个横条(1、2、3、4)代表了一个独立的进程(process),流水线在最多的时候会有四个进程在并行运行。流水线分成几个步骤,1.从立体摄像机得到原始图像后,特征提取器首先运行,原始图像中的特征被提取出来。2.这些特征输入视觉里程计进程,这个进程对比当前的图像特征和前一步的图像特征,估算出机器人目前的位置。3.最新的位移估算和图像特征的信息,接下来被视觉导航系统用来更新经验数据库,同时尝试在已有的相关经验中定位机器人。其中,第1.2.步骤必须串联运行,而第三步可以并行运行。因为经验数据库中的每个经验都可以独立于其它的经验进行运算,之间没有互相依赖的数据,所以可以分别运行在不同进程上。图中使用了4个这样的进程(Np=4)。一个进程完成了一个经验的运算后,如果时间限制未到,还可以继续进行另一个经验的运算。图1中的垂直的虚线(online-performance)为流水线执行的时间限制。因为这个限制的缘故,图中四个进程在分别各自执行第二个经验的运算的时候不得不中止,执行流水线进入下一轮运算,处理新的原始图像。这是因为经验导航需要提供实时的运算结果,所以整个经验导航的执行流水线有刚性的、严格的执行时间限制。很显然,如果能有效减少经验导航(图中4进程同时并行的部分)所用的时间,则能提高经验导航的质量(执行更多轮的经验定位运算),或者减少对于车载计算机硬件的需求。经验导航部分花费的时间主要在当前经验的所有节点中一个接一个尝试定位匹配,直到成功为止。因此,对于对于这些节点选择的先后顺序很关键:如果选得好,则很可能很快找到匹配的节点,改经验定位成功,运算完成;反之,如果选得不好,则有可能浪费大量运算时间在不必要的节点上。之前一篇提出的节点选择方法是基于节点和当前估计位置之间的距离,这种方法比随机选择要好得多,但依然有很大的改进空间。本篇提出一种计算节点成功定位的概率分布,而优先选择最可能成功定位的节点的方法。2总体思路经验描述无人车在一段连续的时间和空间的运动中所经历的影像。时空的连续性必然延伸到影像中。晴天不会猛然变成雨天再变回晴天,至少在很短的时间内,这种跨越不太可能。我们将利用这种内在的一致性,建立一套衡量标准。例如,无人车在过去几分钟里都成功匹配晴天,在寻找下一个候选匹配经验的时候,晴天所产生的经验应当首先加以考虑。无人车不会去分辨是晴天还是雨天,但是无人车可以根据经验中各个节点的相对位置,和过往的匹配结果,对一个节点能否匹配做出预判。而这个预判将决定匹配算法执行的先后次序。这种排序不直接影响匹配的准确性,却能提高效率。这个衡量标准是一个条件概率模型。所谓条件概率,即是已知发生过的某些事件的情况下,再发生某件事的可能。套用在无人车的情景中,是已知从某处经过,下面可能会到达某处的可能性。为了计算这个模型,我们需要先验模型和后验模型。2.1先验概率模型在无人车的导航的课题中,稳定代表两个含义,不容易出错和出了错不致于惹出更大的麻烦。从采集到运算,完全不出错不太现实。有效的评估出错可能是达到稳定的第一步。通过不断累积成功和失败的经验,它能逐渐搭建起一个宏观的模型。之后再需要做决定的时候,这个模型可以帮助无人车排除一些明显错误的可能选项。概率模型在多次运行之后达到稳定状态,甚至可以被当成经验的一部分,补充完善感知器无法直接告诉无人车的一些“隐含条件”。我们把描述这种固定不变的知识的概率模型叫做先验模型。具体的说,可以理解成无人车行驶到某处的可能性。2.2后验概率模型后验概率模型也是一个条件概率。也就是说,它的生成依赖于某些事件的发生。具体到无人车的问题,我们可以理解为,已知车辆现在的位置,车辆在过去一段时间经过某地的可能性。相对于先验概率模型,后验概率模型是一种自我反省,自我检查。刚才做过的决定,无论多小心都可能错误,后验概率模型可以帮助无人车认识到出错的可能,从而避免更进一步误入歧途。先验和后验各有侧重点,把它们组合起来使用,就能得到我们需要的排序方法。下面的实施例中我们就来详细介绍这个方法。3.详细实现假设无人车已经运行一段时间,拥有了一定数量的经验。这个时间可长可短,经验的数目越多越好。如图2所示的实施例中,每一条经验代表一种天气情况,更为一般的情形,比如学校门前上学放学时段的交通流量和上课时间的交通流量,或者道路施工等等情况也适用。为了叙述简便,我们选择天气变化作为统一的案例。无人车既然运行了一段时间,那么可以定义一个集合W,我们称为历史集。也就是最近一段时间曾经被选作可能匹配对象的节点,无论是否成功匹配,统统归入这个集合。同时无人车还记住每一次匹配的结果,我们用Z来简称。无人车在每个时刻,由于地理位置的远近,还可以从所有节点中划出一个候选集Y,包含所有可能被选中的节点。我们假定,其中必有一个且仅有一个是正解。这个假定有一定的风险,但是从长远看来没有大问题。毕竟,随着经验的不断积累,新场景出现的可能性越来越低。我们的衡量标准,简略的说是在历史集已知的假设下,计算各个节点是正解的概率。由于正解有且仅有一个,这个计算是有意义的。由贝叶斯公式我们可以将这个未知概率函数分解,完整的数学记法如下:我们看到未知概率(等式左侧)可以分解为两部分。英文likelihood所指的部分是我们前面提到过的后验概率,prior所指的是先验概率。因此,请看图3所示,为本发明的一种提高经验导航中节点选择效率的方法流程图,包括如下步骤,S300建立先验概率模型,将经验库数据代入先验概率模型得到待匹配节点的先验概率;S302建立后验概率模型,将经验库数据代入后验概率模型得到待匹配节点的后验概率;S304根据所述先验概率和后验概率得到待匹配节点的匹配效率得分,将得分最高的待匹配节点优先作为经验导航的匹配运算对象。其中,所述待匹配节点为候选集中挑选出来的节点,所述经验库数据可以包括历史经验库数据集,也可以包括本次经验导航数据,所谓的历史经验库数据集可以是一辆或多辆经验导航的匹配数据结果,行驶导航越多,构成的历史经验库数据集就越大,本次经验导航的数据包括许多已导航匹配的节点,这些已导航的数据匹配结果也可以用于经验库数据的建立,更适用于当前经验导航中的节点匹配。通过上述方法建立匹配效率得分机制为待匹配节点进行打分,并以得分进行有效的筛选标准,提高了经验导航中节点的选择效率,进一步地提高了经验导航的计算效率。一些优选的实施例中,可以通过将先验概率和后验概率的积再乘上效率系数得到待匹配节点的匹配效率得分,上式中的β可以作为某些实施例中的匹配效率系数的倒数。相比于其他实施例中可以通过分别加权评分的算法来说,相乘得到匹配效率得分符合贝叶斯推论,更加科学,更好地提高了经验导航中的节点选择效率。下面我们通过3.1及3.2两个实施例分别介绍具体的计算办法。3.1后验概率图2所示,浅色代表成功定位,深色代表定位失败,白色代表尚未定位的点。实线和虚线分别代表两个不同的经验。由于n3的成功定位,经验一的定位成功率很高,因此n9的成功率应当大于n5的成功率。后验概率描述的就是这种由既成事实可以反推的信息。我们定义:θi,j=p(zj|y=i)也就是已知第i个候选节点被选中,曾经经过第j个节点的概率。这里的第几是相对于它们各自的集合(Y,W)而言,不是全局标识。它的具体公式如下:其中变量Zi,j代表的是经验库中所有经验从节点j通向候选节点i的次数。参数α,实际操作中选为1。假设每个节点的定位是独立的,那么通过整个过去集的后验概率如下:其中我们定义特征函数:来区别是否经过某地。3.2先验概率先验概率比较直观:已知当前位置,下一步到达某处的概率。其中变量N_(i,k)代表的经验库中所有经验由节点n_k通过候选节点i的次数。参数γ实践当中选为1。可以看出,贯穿多个经验的节点先验概率大,这正是我们等待的结果。最后,在具体的实施例中,我们把先验和后验概率相乘得到:根据上述贝叶斯公式我们可以知道这个数值的大小正比于匹配效率得分,将决定候选集中所有节点的排位,每当经过一个节点,经验导航装置就执行上述方法步骤,最后将排位最高的待匹配节点最优先代入经验导航进行运算。通过上述方法,排位最高的待匹配节点最有可能得到经验导航数据的匹配,节省了单次匹配需要的计算时间,提高了经验导航中节点选择效率,同时也进一步地提高了经验导航计算的效率。在图5所示的实施例中,介绍了一种提高经验导航中节点选择效率的装置,包括先验概率计算模块500、后验概率计算模块502、效率得分计算模块504;所述先验概率计算模块500用于建立先验概率模型,将经验库数据代入先验概率模型得到待匹配节点的先验概率;所述后验概率计算模块502用于建立后验概率模型,将经验库数据代入后验概率模型得到待匹配节点的后验概率;所述效率得分计算模块504用于根据所述先验概率和后验概率得到待匹配节点的匹配效率得分,将得分最高的待匹配节点优先作为经验导航的匹配运算对象。上述装置通过建立匹配效率得分机制为待匹配节点进行打分,并以得分进行有效的筛选标准,提高了经验导航中节点的选择效率,进一步地提高了经验导航的计算效率。优选地,所述效率得分计算模块504还用于将先验概率和后验概率的积再乘上效率系数得到待匹配节点的匹配效率得分。更好地达到了提高经验导航计算效率的效果。具体地,所述经验库数据包括历史经验库数据及本次经验导航数据。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1