本发明涉及用于基于标志的定位系统及方法。
背景技术:
通常,全球定位系统(GPS)用来确定车辆的位置。例如,GPS可能需要基于空间的卫星导航系统,所述基于空间的卫星导航系统基于多个GPS卫星来确定位置。GPS经常是可操作的,只要从车辆到各个GPS卫星能够无阻挡地观看。由于误差的累积或混合,GPS单元可能经受漂移。另外,因为GPS需要无阻挡地观看GPS卫星,所以恶劣的天气条件、城市地区、山岭地带或其他遮挡经常给确定车辆的位置或定位或实现车辆定位带来了挑战。
技术实现要素:
根据一个或多个方面,用于基于标志的定位的系统可包括安装到车辆的传感器组件、提取组件、候选组件、通信组件以及定位组件。所述传感器组件可采撷车辆周围操作环境的图像。所述提取组件可从所述图像提取一个或多个文本候选项,检测所述图像内的一个或多个线段,并且基于文本候选项中的一个或多个、线段中的一个或多个以及各个线段的一个或多个交点来限定一个或多个四边形候选项。所述候选组件可基于四边形候选项中的一个或多个和文本候选项中的一个或多个来确定所述图像的一个或多个标志候选项。所述通信组件可使标志候选项中的一个或多个与定位数据库的一个或多个参考图像匹配或相互参考。所述定位组件可基于标志候选项中的一个或多个与参考图像中的一个或多个之间的匹配来确定车辆的位置。
在一个或多个实施方案中,所述提取组件可基于笔画宽度变换(SWT)来提取文本候选项中的一个或多个。所述候选组件可基于地平面来过滤四边形候选项中的一个或多个。所述提取组件可从标志候选项中的一个或多个提取一个或多个尺度不变特征变换(SIFT)特征。所述候选组件可基于与各个标志候选项相关联的多个尺度不变特征变换(SIFT)特征来过滤所述标志候选项中的一个或多个。所述提取组件可基于线段长度准则或对文本候选项距离的阈值邻近度来过滤线段中的一个或多个。所述候选组件可基于垂直公差范围或水平公差范围来过滤一个或多个线段。
所述提取组件可基于具有小于远离彼此的阈值邻近度的端点的两个或更多个共线线段来执行线段链接。所述候选组件可基于文本候选项区域与四边形区域阈值比来过滤四边形候选项中的一个或多个。所述候选组件可基于与各个标志候选项相关联的多个最大稳定极值区域(MSER)特征来过滤所述标志候选项中的一个或多个。所述通信组件可基于推测的尺度不变特征变换(SIFT)匹配来使标志候选项中的一个或多个与参考图像中的一个或多个匹配。所述通信组件可根据基于单应性的随机抽样一致性(RANSAC)来将一个或多个无关项从所述匹配移除。
所述定位组件可使用透视n点(PnP)求解模块或PnP单元或组件来确定车辆的位置。所述系统可包括基于车辆的位置来生成一个或多个导航指令的导航组件。
根据一个或多个方面,一种用于基于标志定位的方法可包括:采撷车辆周围操作环境的图像,从所述图像提取一个或多个文本候选项,检测所述图像内的一个或多个线段,基于文本候选项中的一个或多个、线段中的一个或多个以及各个线段的一个或多个交点来限定一个或多个四边形候选项,基于所述四边形候选项中的一个或多个以及所述文本候选项中的一个或多个来确定所述图像的一个或多个标志候选项,使所述标志候选项中的一个或多个与(例如,与位置数据相关联的)一个或多个参考图像匹配,以及基于所述标志候选项中的一个或多个与所述参考图像中的一个或多个之间的匹配来确定所述车辆的位置。
所述方法可包括基于笔画宽度变换来提取所述文本候选项中的一个或多个。所述方法可包括从所述标志候选项中的一个或多个提取一个或多个尺度不变特征变换(SIFT)特征或基于与各个标志候选项相关联的多个SIFT特征来过滤所述标志候选项中的一个或多个。所述方法还可包括基于线段长度准则或对文本候选项距离的阈值邻近度来过滤线段中的一个或多个。所述方法可包括基于与各个标志候选项相关联的多个最大稳定极值区域(MSER)特征来过滤所述标志候选项中的一个或多个。根据一个或多个方面,用于基于标志的定位的系统可包括安装到车辆的传感器组件、提取组件、候选组件、通信组件以及定位组件。所述传感器组件可采撷车辆周围操作环境的图像。所述提取组件可基于笔画宽度变换(SWT)来从所述图像提取一个或多个文本候选项,检测所述图像内的一个或多个线段,并且基于文本候选项中的一个或多个、线段中的一个或多个以及各个线段的一个或多个交点来限定一个或多个四边形候选项。所述候选组件可基于四边形候选项中的一个或多个和文本候选项中的一个或多个来确定所述图像的一个或多个标志候选项。所述通信组件可基于推测的尺度不变特征变换(SIFT)匹配来使标志候选项中的一个或多个与定位数据库的一个或多个参考图像匹配或相互参考。所述定位组件可基于标志候选项中的一个或多个与参考图像中的一个或多个之间的匹配来确定车辆的位置。
附图说明
图1是根据一个或多个实施方案的用于基于标志的定位的示例性系统的说明,所述系统可通过参考定位数据库来执行定位。
图2是根据一个或多个实施方案的用于基于标志的定位的方法的示例性流程图的说明。
图3A及图3B是根据一个或多个实施方案的来自图像的示例性文本提取的说明。
图4A及图3B是根据一个或多个实施方案的来自图像的示例性四边形检测的说明。
图5A及图5B是根据一个或多个实施方案的来自图像的示例性四边形过滤和合并的说明。
图6A是根据一个或多个实施方案的图像的示例性最大稳定极值区域(MSER)特征的说明。
图6B是根据一个或多个实施方案的采撷图像与参考图像之间的示例性匹配的说明。
图6C是根据一个或多个实施方案的基于透视n点(PnP)算法的示例性定位的说明。
图7是根据一个或多个实施方案的示例性计算机可读介质或计算机可读装置的说明,所述示例性计算机可读介质或计算机可读装置包括被配置来体现本文所阐述的规定中的一个或多个的处理器可执行指令。
图8是根据一个或多个实施方案的实现本文所阐述的规定中的一个或多个的示例性计算环境的说明。
具体实施方式
以下描述和附图阐述了某些说明性方面和实现方式。这些只不过指示可采用一个或多个方面的各种方式中的若干种方式。本公开的其他方面、优点和新颖特征将根据在考虑时结合附图进行的以下详细描述变得更加明显。
以下术语在整个公开中使用,所述术语的定义在本文中提供以辅助理解本公开的一个或多个方面。
如本文中使用,标志可包括标志牌、广告牌、道路标志、其他类型的标志等。这类标志的实例可包括高速公路的立交桥上的标志、广告牌标志、地标标志或包括文本的标志。此外,这些术语可以在整个本公开中可互换使用。
如本文中所使用,术语“推理”或“推断”通常指的是根据通过事件或数据等采撷的一个或多个观察结果来推出或推断系统、组件、环境、用户的状态的过程。例如,推断可被采用来识别上下文或动作,或者可被采用来生成状态的概率分布。所述推断可以是概率性的。例如,基于对数据和事件的考虑计算感兴趣的状态的概率分布。推断也可以指用于根据一组事件或数据组成更高级事件的技术。这类推断可导致从一组观察的事件或存储的事件数据中构成新的事件或新的动作,而不论事件是否在时间上紧密相关,也不论事件和数据是来自一个还是若干个事件和数据源。
一般来说,标志牌、广告牌或道路标志通常不会遭受可能与其他类型的定位相关联的问题,诸如归因于维修或修理、距离、漂移等而被遮挡、遮蔽、检测、改变。在一个或多个实施方案中,基于来自标志牌的文本检测来提供定位或确定车辆的定位或位置。换句话讲,对车辆的定位可通过经安装在车辆上的摄像机、图像采撷组件或传感器组件110检测或确定高速公路上标志牌的存在来提供。例如,用于基于标志的定位或车辆定位的系统100可检测标志牌或广告牌,提取或识别来自标志牌或广告牌的文本,过滤来自所提取文本或数据的假的肯定性数据和假的否定性数据(从而使标志候选项被评估),并且基于所检测的标志和/或所提取的文本通过使标志牌或广告牌候选项(例如,标志候选项)的图像或特征与定位数据库190中的参考图像或数据匹配来做出定位决定(例如,使用透视算法)。
图1是根据一个或多个实施方案的用于基于标志的定位的示例性系统100的说明,所述系统100可通过参考定位数据库190来执行定位。用于基于标志的定位的系统100可包括传感器组件110、提取组件120、通信组件130、候选组件140、定位组件150和导航组件160。在一个或多个实施方案中,定位数据库190可包括测绘组件192和数据库组件194。用于基于标志的定位的系统100可与定位数据库190或数据库组件194的参考图像相互参考。在一个或多个实施方案中,定位数据库190或关联组件(诸如数据库组件194)可远离用于基于标志的定位的系统100。在其他实施方案中,用于基于标志的定位的系统100可包括类似于定位数据库190的数据库组件194的数据库组件(在系统100内未示出)。
通常,传感器组件110检测、采撷或感知图像以便于对车辆进行定位。提取组件120可通过从图像提取文本,执行线段检测(LSD)、线段链接、四边形检测、四边形过滤、四边形边界细化、最大稳定极值区域(MSER)过滤、四边形合并等来检测一个或多个标志、标志牌、广告牌、道路标志等。所述候选组件140可基于由提取组件120检测的四边形或四边形候选项来确定一个或多个标志候选项,从而过滤掉假的肯定性标志候选项或假的否定性标志候选项或其他数据。
定位数据库190可包括测绘组件192或数据库组件194。所述测绘组件192可聚集一个或多个参考图像并且分析标志、标志牌、广告牌、道路标志等的各个参考图像。与这些标志相关联的信息(诸如位置信息、定位信息、坐标信息等)可被提取并且存储到数据库组件194上。作为一个实例,数据库组件194可存储与一个或多个标志的一个或多个角点相关联的坐标。
通信组件130可例如像使用推测的尺度不变特征变换(SIFT)匹配来在来自所采撷图像的一个或多个标志候选项与定位数据库190的一个或多个参考图像之间进行匹配、相互参考或进行数据关联。定位组件150可基于匹配、与参考图像相关联的对应的位置信息以及定位算法(诸如透视n点(PnP)算法)来确定车辆的当前位置或当前定位。导航组件160可相应地提供一个或多个导航指令。
传感器组件110可检测来自车辆行进通过的真实世界环境或操作环境的一个或多个图像。这些图像可包括一个或多个标志、标志牌、广告牌、道路标志、其他车辆、车行道、路段、障碍物、交通、行人、物体、危险等。在一个或多个实施方案中,传感器组件110可包括单目摄像机、立体摄像机或图像采撷组件。传感器组件110、摄像机或图像采撷组件可安装在车辆上以拍取图片或采撷沿车辆在其上行进的车行道或路段的标志、标志牌、广告牌或道路标志的图像。换句话讲,传感器组件110的功能可以是用来提供图像采撷能力以便进行标志检测。
传感器组件110可实现一个或多个图像采撷技术以补偿不同情景,诸如低照明情景或低对比度情景。例如,传感器组件110可调谐与(例如,由传感器组件110采撷的)图像中的一个或多个相关联的一个或多个参数(诸如边缘检测阈值),所述一个或多个参数可由提取组件120利用。换句话讲,传感器组件110可调节一个或多个边缘检测阈值,使得在图像内检测到另外的或更多的边缘。例如,如果在图像内没有检测到标志或检测到少量标志,或如果低照明或低对比度情景发生,那么传感器组件110可相应地调节这类参数。因此,可检测到更多真的肯定性边缘以及一些假的肯定性边缘,所述假的肯定性边缘可由候选组件140或由提取组件120过滤,如将在本文所述。
如先前所述,提取组件120可检测标志、标志牌、广告牌、道路标志或其他类型的标志。给定来自传感器组件110的图像,提取组件120检测或确定标志、标志牌或广告牌是否存在于所述图像内。以另一种方式解释,提取组件120可基于图像内发现的特征来‘提取’或限定来自(根据一个或多个四边形候选项确定的)一个或多个标志候选项的一个或多个标志。提取组件120可利用文本提取、线段检测(LSD)、线段链接、四边形检测、四边形过滤、四边形边界细化、最大稳定极值区域(MSER)过滤、四边形合并等作为因素或线索来检测一个或多个标志候选项或潜在的标志牌。
在此方面,提取组件120可从图像提取文本,识别来自图像的文本或执行文本决定来生成来自图像的一个或多个文本候选项。例如,提取组件120可检测来自(诸如由传感器组件110采撷的)图像的一个文本或多个文本。候选组件140可识别图像内的一个或多个感兴趣区域或候选区域。这些感兴趣区域或候选区域可进一步由用于基于标志的定位的系统100的组件进行分析。以此方式,提取组件120可标注图像的一部分作为文本或非文本。在此,候选组件140可标注被标注为文本作为文本候选项的各部分中的一个或多个。
在一个或多个实施方案中,提取组件120可基于笔画宽度变换(SWT)来检测来自图像的一个或多个文本候选项。在其他实施方案中,提取组件120可基于光学字符识别(OCR)来检测来自图像的文本候选项中的一个或多个。因此,提取组件120可通过多种技术获得文本识别。
在一个或多个实施方案中,提取组件120可确定地平面、水平面、地平线、水平线等。候选组件140可进一步过滤或移除水平线以下的信息或候选项。有效地,提取组件120可根据一个或多个实施方案考虑地面以上或空气中(参考车辆驾驶员或乘客的视角)的信息。
作为一个实例,参考图3A,可以看出可通过(例如,由提取组件120执行的)文本提取识别标志310A和312A分别的文本320A和322A。在此,在图3A的实例中,因为候选组件140过滤或移除水平线340以下的信息或候选项,所以例如与车辆的牌照板相关联的文本不被认为是文本候选项,从而增强文本提取。换句话讲,因为定位数据库190可包括或具有与标志(诸如标志310A或312A)相关联的数据,所以可能希望从图像提取文本320A和322A。因此,其他文本(诸如车辆牌照板、限速标志等)可能不与标志310A和312A的文本320A和322A一样重要。这可能是因为限速标志通常不与其他类型的道路标志、广告牌或标志等一样‘唯一’。
此外,候选组件140可将一个或多个假的肯定性候选项或一个或多个假的否定性候选项从文本候选项中的一个或多个过滤掉或移除。作为一个实例,假的否定性事物可以是与距车辆或用于基于标志的定位的系统100的传感器组件110远的距离相关联的文本候选项。以此方式,候选组件140可移除或过滤作为假的否定性候选项的候选项,因为距离上远的物体的标志或图像通常不能提供针对定位的准确信息。候选组件140可过滤不具有阈值数目的尺度不变特征变换(SIFT)特征的候选项,因为远距离的广告牌通常不提供关于定位的准确信息。
提取组件120可执行线段检测(LSD)、线段链接等以聚集或分析来自由传感器组件110采撷的图像的一个或多个线段。在一个或多个实施方案中,提取组件120可检测来自图像的一个或多个线段并且利用各个检测的线段来识别沿车行道或路段的标志牌、广告牌、道路标志或其他类型的标志。另外,提取组件120可链接或连接共线线段,所述共线线段紧密靠近以校正或补偿错误读数、图像中的伪影、失真、低光照或低对比度情景等。无论如何,提取组件120可检测或提取来自图像的一个或多个线段。
提取组件120可过滤一个或多个线段,或基于一个或多个线段准则选择一个或多个线段。线段准则可用来将广告牌的线条与其他物体的线条区分开。因此,提取组件120可将线段检测应用到图像以便提取一个或多个线段集合。提取组件120然后可使用线段准则中的一个或多个来选择或确定来自一个或多个线段的所述集合的一个或多个线段子集。以此方式,可基于各个线段准则来过滤或选择线段。
例如,提取组件120可基于线段与一个或多个文本候选项的邻近度来过滤来自线段集合的一个或多个线段。换句话讲,提取组件120可基于与到文本候选项距离的阈值邻近度相关联的线段准则来过滤线段。作为一个实例,提取组件120可基于线段长度准则来过滤或选择一个或多个线段的子集。在此,在这个实例中,提取组件120可过滤小于阈值长度(例如,线段长度准则)的线段。以此方式,提取组件120可选择或生成满足线段长度准则的一个或多个线段的子集。
线段准则的其他实例可包括k-d树阈值邻近度、线段长度等。例如,候选组件140可基于与文本准则的线段邻近度来过滤或选择一个或多个线段的子集。在此,在这个实例中,提取组件120可存储或限定与(例如,来自文本候选项中的一个或多个的)文本相关联的一个或多个像素定位或与处于k-d树中的线段中的一个或多个相关联的一个或多个像素定位。k-d树是用于组织k维空间中的一个或多个定位的结构或数据结构。以另一种方式解释,k-d树是其中树的节点表示k维点的树。
在一个或多个实施方案中,提取组件120确定一个或多个线段的各个线段的中点和端点。因此,各个线段可与三个点或像素定位相关联,包括第一端点、第二端点和中点。根据一个或多个方面,候选组件140确定当线段的两个或更多个点处于与文本候选项距离的阈值邻近度内时,满足与文本候选项准则的线段邻近度。换句话讲,候选组件140可基于线段的两个或更多个点或像素位置与一个或多个文本候选项或相关联像素位置的邻近度来过滤、生成或选择一个或多个线段的子集。
以更加详细的方式解释,通过举例的方式,假设与文本候选项距离的阈值邻近度是30像素;如果我们具有含第一端点、第二端点和中点(其远离第一文本候选项分别为20像素、35像素和25像素)的线段,那么候选组件140可选择此实例的线段以被包括在与线段检测(LSD)相关联的线段子集中或以被认为是线段候选项(例如,因为第一端点和中点小于与文本候选项距离的阈值邻近度)。以此方式,可从图像的一个或多个线段的集合选择相关线段(例如,子集)(例如,线段过滤)。
在其他实施方案中,不同数目的点可被考虑用于与到文本候选项距离的阈值邻近度进行比较。另外,也可针对不同情景调整与文本候选项距离的阈值邻近度。因此,候选组件140可基于与文本候选项的邻近度来过滤一个或多个线段。在一个或多个实施方案中,候选组件140可执行提取组件120的一个或多个功能。在其他实施方案中,提取组件120可执行候选组件140的一个或多个功能。
提取组件120可执行四边形检测或检测用于候选组件140的一个或多个四边形以评估为四边形候选项。例如,提取组件120可检测或‘限定’由在线段检测期间发现或检测的线段中的一个或多个形成的一个或多个四边形。在此,在这个实例中,提取组件120可基于根据线段过滤得到的线段子集中的线段来检测四边形。因为标志牌、广告牌和道路标志通常具有清晰的线段作为边界,所以提取组件120可检测以这种方式出现在图像中的四边形,并且将这些四边形标记为候选组件140的感兴趣区域或四边形候选项。
在一个或多个实施方案中,候选组件140可过滤或移除基本上不是垂直的或基本上不是水平的线段。例如,如果线段在水平方向上成角度或与水平线平行,那么这可被定义为零度,而垂直的线段可被定义为处于90度处。候选组件140可移除或过滤处于公差范围(诸如垂直公差范围或水平公差范围)之外的线段候选项。在一个或多个实施方案中,不同公差范围可由候选组件140利用以用于垂直线段过滤和水平线段过滤。
例如,垂直公差范围可以是10度。在此,在这个实例中,候选组件140可过滤不处于80度-100度范围内的线段。作为另一个实例,水平公差范围可以是20度。在此,候选组件140可过滤不处于-20度20度范围内的线段。以此方式,可使用大于垂直公差范围的水平公差范围。因此,根据一个或多个方面,例如,由于更紧密的垂直公差范围,候选组件140对垂直线段而言可能更具有选择性。
以此方式,候选组件140可通过过滤或选择基本上垂直的线段或基本上水平的线段的子集而向提取组件120提供被组合起来并且被认为是四边形候选项的线段子集,所述基本上垂直的线段或基本上水平的线段的子集可用来形成或搜索四边形候选项。
提取组件120可确定或计算一个或多个垂直线段与一个或多个水平线段之间的一个或多个交点。例如,提取组件120可参考与来自k-d树的线段的点(诸如线段的第一端点、第二端点或中点)相关联的一个或多个像素定位。当第一线段的端点处于第二线段端点的阈值邻近度内时,提取组件120可确定交点。作为一个实例,此阈值邻近度可以是10像素。因此,如果第一线段的端点远离第二线段端点5像素,那么提取组件120可确定交点存在于所述两个线段之间或交点存在于第一线段与第二线段之间。此外,提取组件120可存储与此交点相关联的坐标或定位以及对应线段的信息,或将所述坐标或定位以及所述信息通信给通信组件130。
在一个或多个实施方案中,提取组件120可基于基本上为垂直线段并且具有两个端点的第一线段、基本上为水平线段并且具有两个端点的第二线段并且第一线段的端点小于距第二线段的端点的阈值邻近度来确定一个或多个交点。以此方式,当各个线段基本上为正交的(例如,处于垂直公差范围和/或水平公差范围内)并且各个线段的端点‘接触’时,提取组件120可确定第一线段与第二线段之间的交点。
在一个或多个实施方案中,提取组件120可实现线段链接或‘线条链接’以由两个或更多个共线的较短线段确定或形成更长的线段。例如,传感器组件110可采撷一条线段被分解成两个或更多个线段,或被采撷为具有假‘空隙’的线段的图像。由于假‘空隙’,由提取组件120实现的四边形检测可返回由短线段形成的四边形。为了补偿或减少与假‘空隙’相关联的这类四边形,提取组件120可诸如通过紧密定位进行链接、共线或平行线段来执行线段链接以形成或恢复更长的线段,从而便于准确的线段检测、四边形检测、候选项选择和广告牌或标志检测。
在此方面,提取组件120可基于具有两个端点和第一取向的第一线段、具有两个端点和基本上类似取向(例如,处于第一线段的取向角的公差范围内)的第二线段并且第一线段的端点小于距第二线段端点的阈值邻近度来链接两个或更多个线段。以此方式,当各个线段基本上为共线或平行(例如,处于相互的公差范围内)并且各个线段的端点‘接触’时,提取组件120可‘链接’第一线段和第二线段。可以对垂直线段、水平线段等这么做。
在一个或多个实施方案中,提取组件120可用(例如,除第一线段和第二线段之外的)一个或多个线段搜索另外的交点(例如,‘地理角点’)。换句话讲,一旦提取组件120确定或检测到第一线段与第二线段之间的交点,就可搜索与第一线段或第二线段相切的另外的交点。因此,给定与第一线段和第二线段相关联的第一交点,可将各个线段视为四边形的两条边。在此,提取组件120可通过找到第三线段来搜索四边形的第三条边,所述第三线段与第一线段或第二线段具有交点。以此方式,提取组件120可执行四边形搜索或四边形检测。
在一个或多个实施方案中,候选组件140可基于第一线段、第二线段和第三线段来限定四边形作为四边形候选项,其中所述第一线段与所述第二线段具有交点并且所述第二交点与第三线段具有交点,并且其中所述第一线段基本上正交于所述第二线段并且所述第二线段基本上正交于所述第三线段。类似地,在这种配置中,第一线段可基本上平行于第三线段。
以此方式,候选组件140可使用具有两个(更多个)交点的三条边或三个线段来限定四边形候选项。在一个或多个实施方案中,候选组件140可围绕各个线段的端点生成边界框以限定或接近四边形候选项。在其他实施方案中,提取组件120可搜索第四条边或第四线段来完成四边形。然而,仅三条边或三个线段可用于四边形候选项选择。在一个或多个实施方案中,由于候选组件140使用三条边或三个线段来限定四边形候选项,候选项选择变得更加鲁棒,因为不需要缺掉的第四线段、缺掉的线段或缺掉的边界线段(例如,可能未被传感器组件110检测到),从而能够由候选组件140‘推断’出四边形候选项。
在一个或多个实施方案中,候选组件140可过滤一个或多个四边形候选项以便将假的肯定性候选项从四边形候选项中的一个或多个过滤掉或移除。假的肯定性四边形候选项可包括具有大于对应的广告牌或标志的边界框的四边形。在此,候选组件140可将四边形候选项看作边界框并且检验四边形是否包含文本。例如,如果四边形候选项包含无文本或零文本候选项,那么候选组件140可将此四边形候选项从考虑因素中移除,或不将此四边形标记为候选项。例如,这可使用最大稳定极值区域(MSER)过滤来实现。
在一个或多个实施方案中,提取组件120可检测或提取来自一个或多个四边形候选项的一定数目的最大稳定极值区域(MSER)特征并且(例如,基于在相应四边形或四边形候选项内检测的许多MSER特征)相应地使候选组件140过滤各个候选项。例如,候选组件140可将具有小于MSER特征的阈值数目的四边形候选项从考虑因素中过滤掉或移除。根据一个或多个方面,候选组件140可丢弃具有少于或小于十个MSER特征(例如,在这个实例中,MSER特征的阈值数目将是十)的四边形候选项。以此方式,候选组件140可在不引入假的否定性四边形候选项的情况下,有效地移除假的肯定性四边形候选项(例如,移除不包含足够文本的四边形)。可将这些MSER特征传递给通信组件130以便于搜索或匹配。
相反,如果四边形包含太多文本或与文本候选项相关联的区域与四边形区域比大于阈值,那么候选组件140可以类似方式移除或丢弃所述四边形。文本候选项区域与四边形区域阈值比的实例可以是0.8。因此,如果文本大于或超过80%的四边形,那么可将此四边形丢弃,使得所述四边形不是候选项。在一个或多个实施方案中,候选组件140可基于文本候选项区域与四边形区域阈值比以及包含文本候选项的另一个四边形的存在而丢弃四边形候选项,从而确保此文本候选项不被完全丢弃。以此方式,候选组件140可减少假的肯定性文本检测。换句话讲,候选组件140可基于处于四边形候选项内的区域或量来过滤四边形候选项。因此,候选组件140或提取组件120可过滤一个或多个四边形,或对一个或多个四边形候选项执行四边形过滤。
提取组件120可细化四边形候选项中的一个或多个或一个或多个四边形的一个或多个边界。例如,提取组件120可使用与一个或多个线段或相关联端点相关联的一个或多个边界框来细化一个或多个四边形候选项。在一个或多个实施方案中,提取组件120可对一个或多个四边形候选项或相关联线段执行四边形边界细化。例如,当边界框围绕线段端点放置以接近或限定四边形或四边形候选项时,因为一个或多个线段与比真实长度更长的长度相关联,所以这可导致与对应的广告牌或标志牌相比,边界框的尺寸略大。因此,例如,提取组件120可将边界框围绕线段交点放置。换句话讲,提取组件120可通过将边界框围绕三个或更多个线段和两个或更多个交点放置来提取一个或多个四边形。在任何情况下,提取组件120可针对尺寸略大特征(诸如不匹配的线段长度等)而迭代地校验限定四边形候选项的边界框并且相应地调整边界框。
当四边形候选项在邻近度阈值内嵌套设置、重叠、或部分重叠、相邻、几乎相邻等时,提取组件120可执行四边形合并或四边形过滤。因此,可将太靠近(例如在邻近度阈值内)的四边形组合到单个(例如,可能更大的)四边形中。当四边形被嵌套设置时,提取组件120可合并四边形,或仅选择外部四边形而丢弃内部四边形作为四边形候选项。
如先前所述,候选组件140可确定一个或多个不同候选项。例如,候选组件140可便于确定文本候选项、线段候选项、四边形候选项、标志候选项等。候选组件140可根据具有阈值数目的文本特征(例如,如由最大稳定极值区域特征提取确定)的四边形候选项中的一个或多个来确定一个或多个标志候选项。以此方式,候选组件140可确定与一个或多个四边形候选项和包含在对应的四边形候选项内的一个或多个文本候选项相关联的一个或多个标志候选项。此外,候选组件140可过滤假的肯定性标志候选项和假的否定性标志候选项来提供或生成一个或多个标志候选项集合。
定位数据库190可包括测绘组件192和数据库组件194。测绘组件192可聚集一个或多个参考图像并且分析标志、标志牌、广告牌、道路标志等的各个参考图像,从而建立参考图像的数据库以被搜索。测绘组件192可提取与这些标志相关联的信息(诸如位置信息、定位信息、坐标信息等)并且将它们存储到数据库组件194上。作为一个实例,数据库组件194可存储与一个或多个标志的一个或多个角点相关联的坐标。
在一个或多个实施方案中,测绘组件192可收集与来自真实世界环境或操作环境的标志、标志牌、广告牌或道路标志相关联的信息。这种信息可包括标志、标志牌、广告牌或道路标志的、与三维姿势信息相关联的模板图像、数据库图像或参考图像。在一个或多个实施方案中,测绘组件192可根据标志的这些模板图像或参考图像来估算或提取一个或多个参考的或‘原始的’尺度不变特征变换(SIFT)特征。以此方式,可预估算或预计算定位数据库190的模板图像或参考图像的SIFT特征。
此外,测绘组件192可估算、计算或接收与标志牌、广告牌或道路标志相关联的一个或多个定位信息、位置信息或坐标信息。例如,测绘组件192可估计广告牌的一个或多个SIFT特征或SIFT点的真实世界3D定位(例如,标志牌定位或标志牌位置)。在一个或多个实施方案中,测绘组件192可使用全球定位系统来估计或确定与真实世界3D定位相关联的广告牌或标志牌的一个或多个角点定位。
例如,测绘组件192可在框架与采撷标志、标志牌、广告牌、道路标志到标志的3D点的参考图像的惯性测量单元(IMU)或传感器组件之间执行刚性主体变换,以获取相对于IMU或传感器组件的3D坐标。在一个或多个实施方案中,测绘组件192可基于惯性测量单元(IMU)或传感器组件的6自由度(6DoF)姿势来确定标志、标志牌、广告牌、道路标志关于固定笛卡尔坐标系或世界坐标系(WCS)的3D坐标,所述惯性测量单元(IMU)或传感器组件可由差分全球定位系统(DGPS)提供。换句话讲,测绘组件192可利用DGPS或GPS作为地面实况的源来构建定位数据库190或针对数据库组件194的聚集数据,诸如一个或多个参考图像和对应的或相关联位置、定位或坐标信息。
在任何情况下,测绘组件192可执行标志牌测绘或建立包括一个或多个标志或标志牌以及对应的3D定位、真正定位、真实世界定位等的3D地图。测绘组件192可将对应的数据存储在数据库组件194中。
在一个或多个实施方案中,数据库组件194可包含、存储或容纳一个或多个标志、标志牌、广告牌或道路标志的一个或多个参考图像以及各个标志牌或广告牌的对应的3D定位信息、位置信息或坐标信息。例如,数据库组件194可存储标志牌中的一个或多个的角点定位。定位或位置可以各种格式(诸如以笛卡尔坐标系或世界坐标系(WCS))存储。在一个或多个实施方案中,数据库组件194可以是用于基于标志的定位的系统100的一部分。在其他实施方案中,数据库组件194可以被远程访问或可由用于基于标志的定位的系统100访问。例如,第三方(诸如勘测公司)可建立标志牌图像的可被访问以便于定位的数据库。在其他实施方案中,数据库组件194可被包括在用于基于标志的定位的系统100内或对所述系统100本地。换句话讲,匹配可在车内执行或在车外或在用于基于标志的定位的系统100外执行。
通信组件130可将由传感器组件110采撷的图像或标志候选项与数据库组件194或定位数据库190的参考图像中的一个或多个匹配。在此,通信组件130可(例如,通过数据关联)在由传感器组件110采撷的一个或多个标志候选项或标志牌与来自对应的广告牌参考图像的定位数据库190或数据库组件194的参考图像之间确定或搜索匹配。
因此,由传感器组件110采撷的图像(例如,或源于其的标志候选项)可与模板或参考图像的包括与各个图像相关联的定位或位置数据的数据库相互参考。例如,可将从由传感器组件110采撷的图像提取的文本与和定位数据库190或数据库组件194的图像相关联的文本进行比较。在一个或多个实施方案中,可使用基于特征的方法来执行所述比较。以另一种方式解释,通信组件130可使用数据关联或特征匹配来校验匹配。换句话讲,可将特征(诸如标志候选项的SIFT或MSER特征)与定位数据库190或数据库组件194的图像的对应特征进行比较。
在一个或多个实施方案中,通信组件130可实现推测的尺度不变特征变换(SIFT)匹配以将标志候选项图像序列与参考图像匹配(例如,将由系统100采撷的图像或图像的标志候选项部分与来自定位数据库190的图像匹配)。
例如,提取组件120可从图像的标志候选项提取尺度不变特征变换(SIFT)特征以在所述标志候选项与来自定位数据库190的广告牌的模板或参考图像之间找到匹配。在此,例如,通信组件130可查询定位数据库190以基于最大数目的推测的SIFT匹配来在标志候选项的SIFT特征与来自定位数据库190的模板或参考图像的参考的或原始SIFT特征之间发现匹配。在一个或多个实施方案中,通信组件130基于SIFT匹配阈值来确定匹配。在此,在这个实例中,如果SIFT匹配的数目大于SIFT匹配阈值(例如,10个特征),那么通信组件130确定所述标志候选项与对应的模板或参考图像匹配。以此方式,由通信组件130提供的匹配导致非常少的假的肯定性匹配。
在一个或多个实施方案中,一旦在图像或图像序列的标志候选项与来自定位数据库190的模板或参考图像之间发现一个或多个推测的匹配,通信组件130就可施加一个或多个几何约束。此外,通信组件130可基于随机抽样一致性(RANSAC)来执行另外的过滤。在一个或多个实施方案中,通信组件130可使用基于单应性的随机抽样一致性(RANSAC)移除一个或多个无关项。
定位组件150可基于在标志候选项与参考图像之间的匹配、与所述参考图像相关联的坐标信息和定位公式或算法来便于车辆定位。例如,所述匹配可以是文本匹配(例如,基于来自采撷图像的文本与来自定位数据库190的图像的文本之间的匹配的定位)、特征匹配(例如,基于来自采撷图像的特征与来自定位数据库190的图像的特征之间的匹配的定位)等。以此方式,定位组件150可确定车辆的当前位置或当前定位。
在一个或多个实施方案中,定位组件150可基于标志或广告牌等的一个或多个SIFT特征的角度、距离、3D定位来计算估计的车辆定位(或传感器组件110定位、图像采撷组件定位、估计的摄像机定位、车辆姿势等)。在此,通信组件130可获取与来自定位数据库190的匹配的广告牌相关联的定位信息,诸如广告牌的角点位置信息。使用3D-2D对应关系,定位组件150可计算车辆的估计的当前位置或当前定位。
在一个或多个实施方案中,定位组件150可基于透视n点(PnP)算法来计算车辆的当前定位。例如,向定位组件150的输入可包括一组3D-2D点对应关系,而定位组件150的输出可包括车辆在真实世界环境或操作环境中的姿势和坐标。在其他实施方案中,定位组件150可实现(PnP)求解模块或PnP单元或组件以确定车辆关于世界坐标系(WCS)的当前定位。定位可基于由传感器组件110采撷的多个视图或图像。导航组件160可基于车辆的当前定位来提供一个或多个导航指令。在一个或多个实施方案中,例如,用于基于标志的定位的系统100可补充全球定位系统(GPS)单元或利用GPS作为起始位置来便于更快地进行匹配。换句话讲,如果已知车辆是在给定区域中,那么可相应地调整(例如,来自定位数据库190的)标志搜索或匹配的范围。
图2是根据一个或多个实施方案的用于基于标志的定位的方法200的示例性流程图的说明。所述方法200可包括检测图像210;在220处提取文本并且检测图像的线段;在230处检测四边形,执行四边形合并或四边形过滤;在240处确定来自一个或多个四边形候选项的一个或多个标志候选项;在250处将标志候选项与定位数据库的参考图像匹配;以及在260处提供定位。
可参考一个或多个其他图中的一个或多个组件来描述以下图中的一个或多个。例如,图3-6可根据用于基于标志的定位的系统100、参考图1的组件中的一个或多个进行描述。图3A及图3B是根据一个或多个实施方案的来自图像300的示例性文本提取350的说明。在图3A中,可诸如通过用于基于标志的定位的系统100的传感器组件110采撷图像300。在此,所述图像可包括一个或多个标志,诸如标志310A和312A。标志310A和312A可分别包括文本320A和322A。提取组件120可识别或提取文本320A和322A并且候选组件140可识别文本320A和322A作为文本候选项。图3B是所提取文本350的示例性图形表示的说明,所述文本350包括(例如,标志310A和312A的)320B和322B。作为一个实例,提取组件120可基于笔画宽度变换(SWT)来检测或提取文本320B和322B。在其他实施方案中,可利用光学字符识别(OCR)。
图4A及图4B是根据一个或多个实施方案的来自图像400的示例性四边形检测450的说明。提取组件120可在图形400上检测线段或执行线段检测。在图4A中,图像400可被分解或分析为多个线段,包括与第一标志410A相关联的线段、与第二标志412A相关联的线段、其他线段430A(不是所有线段都可被计数编号)。图像400还可包括分别与第一标志410A和第二标志412A相关联的文本420A和422A。
如4B是其中线段过滤可由候选组件140或提取组件120执行的图像的说明。此外,提取组件120可检测图像内的一个或多个四边形或可执行四边形检测450。在此,在图4B中,因为没有发现交点,所以线段430B可被候选组件140丢弃。提取组件120发现与标志410B和412B相关联的线段具有交点440B。提取组件120可将边界框(未示出)围绕标志410B或412B的线段中的一个或多个或与其相关联的交点中的一个或多个放置。以此方式,提取组件120可确定一个或多个四边形候选项。
图5A及图5B是根据一个或多个实施方案的来自图像的示例性四边形过滤500和四边形合并550的说明。在图5A中,候选组件140可过滤经确定的四边形候选项510A、512A、534A和532A中的一个或多个四边形候选项。可使用角点检测来检测交点540A而确定四边形候选项。不形成四边形或不具有足够交点的在530A处的线段可被丢弃,并且因此不被认为四边形候选项。提取组件120可合并来自图5A的四边形候选项510A和512A以变成图5B中的四边形候选项510B。以此方式,四边形候选项510B、532B和534B保留在图5B中。候选组件140或提取组件120可通过移除不在与一个或多个文本候选项的文本候选项距离的阈值邻近度内的四边形候选项来执行进一步过滤或候选项选择。例如,因为文本520A和522A与四边形候选项510A和512A相关联,并且四边形候选项510B由四边形候选项510A和512A合并或形成,所以四边形候选项510B与各个文本520A和522A相关联。在图5B中,四边形候选项532B和534B不与任何文本候选项相关联或不包含任何文本候选项。因此,候选组件140可将四边形候选项532B和534B从考虑因素中过滤掉或移除,从而仅将510B视为来自图5B的图像的四边形候选项。
图6A是根据一个或多个实施方案的图像600的示例性最大稳定极值区域(MSER)特征的说明。在此,所合并的四边形候选项610A可包括文本620A,所述文本620A可被分解或与最大稳定极值区域(MSER)特征相关联。其他MSER特征630A可存在于图像600内。然而,由于610A与文本620A的邻近度,提取组件120或候选组件140可将610A识别为标志候选项。以此方式,标志候选项可与文本和一个或多个四边形候选项相关联。
图6B是根据一个或多个实施方案的采撷图像与参考图像之间的示例性匹配650的说明。例如,标志候选项或图像662可具有与参考图像652匹配的特征(例如,圆点)。在一个或多个实施方案中,可采用推测的SIFT匹配来便于这类匹配。
例如,图6B是可由用于基于标志的定位的系统100执行的匹配的视觉表示。在662处,示出由用于基于标志的定位的系统100采撷的图像。在652处,示出来自定位数据库190的模板图像或参考图像。在此,通信组件130可在图像662与图像652之间执行推测的匹配。例如,可使用从相应图像662和652提取的尺度不变特征变换(SIFT)特征来比较来自各个图像662和652的文本或文本特征。652的特征可由测绘组件192确定或预确定,而标志候选项图像662的特征可由提取组件120提取。
图6C是根据一个或多个实施方案的基于透视n点(PnP)算法的示例性定位690的说明。例如,定位组件150可根据基于一组3D-2D点对应关系的透视n点(PnP)算法来计算车辆的当前定位、位置、姿势或坐标。例如,这可在作为(PnP)求解模块或PnP单元或组件的系统中实现。
另一个实施方案涉及包括处理器可执行指令的计算机可读介质,所述处理器可执行指令被配置来实现本文所呈现技术的一个或多个实施方案。在图7中示出以这些方式设计的计算机可读介质或计算机可读装置的实施方案,其中实现方式700包括在其上编码计算机可读数据706的计算机可读介质708(诸如CD-R、DVD-R、闪存驱动器、硬磁盘驱动器的母板等)。这种计算机可读数据706(诸如包括如706中所示的多个0和1的二进制数据)进而包括被配置来根据本文所阐述的原理中的一个或多个操作的一组计算机指令704。在一个这类实施方案700中,处理器可执行的计算机指令704可被配置来执行方法702(诸如,图2的方法200)。在另一个实施方案中,处理器可执行的计算机指令704可被配置来实现系统(诸如,图1的系统100)。许多这类计算机可读介质可由本领域技术人员设计,所述计算机可读介质被配置来根据本文所呈现的技术操作。
如本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等通常意在指代计算机相关实体,其为硬件、硬件和软件的组合、软件或者执行中的软件。例如,组件可以是但不限于在处理器上运行的过程、处理器、对象、可执行程序、执行线程、程序或计算机。通过说明的方式,在控制器上运行的应用与控制器都可以是组件。一个或多个组件存放在过程或执行线程内,并且组件可以位于一台计算机上或在两台或更多计算机之间进行分布。
此外,所要求的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准程序或工程技术而被实现为方法、设备或制造品。如本文所使用的术语“制造品”意在包含能够从任意计算机可读装置、载体或介质进行访问的计算机程序。当然,在不背离所要求主题的范围或精神的情况下,可对此配置做出许多修改。
图8和以下论述提供合适计算环境的描述以实现本文所阐述的规定中的一个或多个的实施方案。图8的操作环境仅为合适操作环境的一个实例,并且不意在表明对所述操作环境的使用或功能性的范围的任何限制。示例性计算装置包括但不限于个人计算机、服务器计算机、手持式或或膝上型装置、移动装置(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括上述系统或装置中的任一个的分布式计算环境等。
通常,各实施方案在由一个或多个计算装置执行的“计算机可读指令”的一般上下文中描述。可通过计算机可读介质分布计算机可读指令,如将在下文所述。计算机可读指令可实现为执行一个或多个任务或实现一个或多个抽象数据类型的程序模块,诸如功能、对象、应用程序编程接口(API)、数据结构等。通常,计算机可读指令的功能可视多个环境的需要加以组合或分布。
图8示出包括计算装置812的系统800,所述计算装置812被配置来实现本文所提供的一个或多个实施方案。在一种配置中,计算装置812包括至少一个处理单元816和存储器818。取决于计算装置的准确配置和类型,存储器818可以是易失的(诸如RAM)、非易失的(诸如ROM、闪存等)或二者的组合。这种配置在图8中以虚线814示出。
在其他实施方案中,装置812包括另外的特征或功能。例如,装置812可包括另外的存储装置(诸如可去除的存储装置或不可去除的存储装置),包括但不限于磁性存储装置、光学存储装置等。这类另外的存储装置在图8中由存储装置820示出。在一个或多个实施方案中,用来实现本文所提供的一个或多个实施方案的计算机可读指令是处于存储装置820中。存储装置820可存储其他计算机可读指令以实现操作系统、应用程序等。例如,计算机可读指令可加载在存储器818中以便由处理单元816执行。
如本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以任何方法或技术实现的用于存储信息(诸如计算机可读指令或其他数据)的易失的和非易失的、可去除和不可去除的介质。存储器818和存储装置820是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用来存储期望信息并可由装置812存取的任何其他介质。任何此类计算机存储介质均为装置812的一部分。
术语“计算机可读介质”包括通信介质。通信介质通常包含计算机可读指令或“模块化数据信号”中的其他数据,诸如,载波或其他传送机制,并且包括任何信息传递介质。术语“已调制数据信号”包括具有以这类方式设定或改变以便将信息编码到信号中去的一种或多种特性的信号。
装置812包括输入装置824,诸如键盘、鼠标、笔型输入器、语音输入装置、触摸输入装置、红外线摄像机、视频输入装置或任何其他输入装置。输出装置822(诸如一个或多个显示器、扬声器、打印机或任何其他输出装置)可被包括具有装置812。输入装置824和输出装置822可通过线连接、无线连接或其任意组合连接到装置812。在一个或多个实施方案中,来自另一个计算装置的输入装置或输出装置可用作计算装置812的输入装置824或输出装置822。装置812可包括通信连接826以便于与一个或多个其他装置通信。
尽管已经用专用于结构特征或方法论行为的语言对所述主题进行了描述,但应当理解,所附权利要求的主题不一定限制于上文所描述的特定特征或行为。相反,上文所描述的特定特征和行为是作为示例性实施方案而公开。
实施方案的各种操作在本文得到提供。描述一种或多种或全部操作的顺序不应当理解为暗示这些操作必须是顺序相关的。基于本描述将理解替代性排序。此外,不是所有操作可必须出现在本文提供的实施方案中。
如本申请中所使用的,“或”意在表示包含“或”而非排它性“或”。排它性“或”可包括其任意组合(例如,A、B或其任意组合)。此外,除非以其他方式指出或者从上下文所清楚是针对单数形式,否则“一个”(“a”和“an”)在本申请中一般应当被理解为表示“一个或多个”。另外,A和B和/或诸如此类中的至少一个通常意指A或B或A和B两者。此外,至于“包括(includes)”、“具有(having)”“具有(has)”、“具有(with)”或者其变型在详细描述或权利要求书中使用的程度,这类术语意欲与术语“包含(comprising)”类似的方式具有包含性。
此外,除非另外指出,否则“第一”、“第二”或诸如此类并不意欲暗示时间性方面、空间性方面、排序等。相反,这类术语仅用作特征、元件、项目等的标识符、名称等。例如,第一通道和第二通道通常对应于通道A和通道B或两个不同通道或两个相同通道或同一通道。另外,“包含(comprising)”、“包括(comprises)”、“包括(including)”、“包括(includes)”或诸如此类通常意指包含或包括,但不限于此。
将理解的是,可以合意地将各种上文公开的和其他的特征和功能或替代物或它们的变型组合到许多其他不同的系统或应用中。此外,本领域技术人员随后可以做出本文中目前未可预见或未预料到的各种替代、修改、变化或改进,而这些也旨在由以下权利要求书涵盖。