CN110686686B - 用于地图匹配的系统和方法 - Google Patents
用于地图匹配的系统和方法 Download PDFInfo
- Publication number
- CN110686686B CN110686686B CN201910479798.5A CN201910479798A CN110686686B CN 110686686 B CN110686686 B CN 110686686B CN 201910479798 A CN201910479798 A CN 201910479798A CN 110686686 B CN110686686 B CN 110686686B
- Authority
- CN
- China
- Prior art keywords
- neural network
- location
- network model
- candidate
- road segments
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Abstract
本申请实施例公开了一种地图匹配系统和方法。所述方法可以包括获取位置数据,所述位置数据可以包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中可以具有最后的位置。所述方法还可以包括获取运动数据,所述运动数据与所述至少两个连续位置相关。所述方法还可以包括确定一个或多个候选路段,并使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率。所述方法还可以包括将具有最高匹配概率的候选路段指定为所述目标路段。所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型获取的。
Description
技术领域
本申请总体上涉及地图匹配技术,尤其涉及用于将地理位置与路网中的目标路段进行匹配的方法和系统。
背景技术
基于位置的服务(LBS)在人们的日常生活中变得越来越重要,例如导航服务、食品配送服务、网约车服务等。地图匹配技术广泛用于LBS,例如,规划旅行路线、建立智能交通系统(ITS)等。地图匹配技术可用于将记录的位置(例如,地理坐标)与现实世界的逻辑模型(诸如区域的路网)匹配。用于地图匹配的常见算法是隐马尔可夫模型(HMM)。HMM模型可用于使用记录的位置的坐标作为HMM模型的单个输入来确定路网中与记录的位置匹配的目标路段,这可能导致地图匹配的准确度较低。例如,当车辆转弯或调头时,使用传统HMM模型确定的地图匹配结果可能是不正确的。由于对于诸如打车服务的某些领域,所需的地图匹配准确度相对较高,因此希望提供用于以更高准确度进行地图匹配的系统和方法。
发明内容
本申请实施例之一提供了一种地图匹配方法。所述方法可以包括获取位置数据,所述位置数据可以包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中可以具有最后的位置。所述方法还可以包括获取运动数据,所述运动数据与所述至少两个连续位置相关。所述方法还可以包括确定一个或多个候选路段,并使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率。所述方法还可以包括将具有最高匹配概率的候选路段指定为所述目标路段。所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型获取的。
本申请实施例之一提供了一种用于地图匹配的系统。所述系统可以包括获取模块,用于获取位置数据以及获取运动数据。所述位置数据包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中具有最后的位置。所述运动数据与所述至少两个连续位置相关。所述系统还可以包括候选路段确定模块,用于确定一个或多个候选路段。所述系统还可以包括匹配模块,用于使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率,以及将具有最高匹配概率的候选路段指定为所述目标路段。其中所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型而获取的。
本申请实施例之一提供了一种用于地图匹配的装置。所述装置包括至少一个存储介质,所述存储介质包括一组指令;与所述至少一个存储介质通信的至少一个处理器,其中,当执行所述组指令时,所述至少一个处理器使所述系统执行以下操作:获取位置数据,所述位置数据包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中具有最后的位置;获取运动数据,所述运动数据与所述至少两个连续位置相关;确定一个或多个候选路段;使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率;以及将具有最高匹配概率的候选路段指定为所述目标路段。其中所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型而获取的。
在一些实施例中,所述位置数据由定位设备获取,所述定位设备包括全球定位系统。
在一些实施例中,所述运动数据由运动传感器获取,所述运动传感器包括陀螺仪或加速度计。
在一些实施例中,所述一个或多个候选路段和所述最后的位置之间的距离小于阈值。
在一些实施例中,所述一个或多个候选路段和所述最后的位置之间的距离小于50米。
在一些实施例中,所述至少一个处理器使所述系统执行以下操作:基于所述位置数据,确定一个或多个第一特征,以及基于所述运动数据,确定一个或多个第二特征。其中所述最后的位置与所述一个或多个候选路段中的每个候选路段匹配的匹配概率是通过将所述一个或多个第一特征和所述一个或多个第二特征输入到所述目标神经网络模型来确定的。
在一些实施例中,所述一个或多个第一特征包括以下中的至少一种:所述至少两个位置中的每个位置与所述一个或多个候选路段中的每个候选路段之间的距离,以及所述至少两个位置中的每个位置的定位准确度。
在一些实施例中,所述距离是所述至少两个位置中的每个位置与所述一个或多个候选路段中的每个候选路段之间的垂直距离。
在一些实施例中,所述一个或多个第二特征包括加速度、方向角或速度中的至少一个。
在一些实施例中,所述至少一个处理器使所述系统执行以下操作:确定与所述一个或多个候选路段相关的一个或多个第三个特征,并且其中所述目标路段是基于所述位置数据、所述运动数据和所述一个或多个第三特征来确定的。
在一些实施例中,述一个或多个第三特征包括以下中的至少一种:与所述一个或以上候选路段中的每个候选路段相关的车道数量,与所述一个或以上候选路段中的每个候选路段相关的速度限制,所述一个或以上候选路段中的每个候选路段的等级,或所述一个或以上候选路段中的每个候选路段的状况。
在一些实施例中,所述至少两组训练样本中的每组训练样本包括一个或多个与参考位置相关的特征、一个或多个与所述参考位置处的参考客户终端的移动相关的特征和一个或多个与所述参考位置匹配的参考路段相关的特征。
在一些实施例中,所述神经网络模型是基于长短期记忆模型、循环神经网络模型、门控循环单元模型中的至少一种构建的。
在一些实施例中,所述长短期记忆模型包括具有30个节点的双向长短期记忆模型。
在一些实施例中,所述神经网络模型基于一个或多个一维卷积层构造。
在一些实施例中,所述一维卷积层配置有修正线性单元激活函数。
在一些实施例中,所述神经网络模型基于全连接层构造。
在一些实施例中,所述全连接层配置有S型函数。
在一些实施例中,所述至少一个处理器使所述系统执行以下操作:基于所述目标路段,确定所述轨迹是否正在改变或已经改变。
在一些实施例中,所述至少两个连续位置包括30个连续位置。
本申请实施例之一提供了一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现所述用于地图匹配的方法。
本申请的一部分附加特征将在下面的描述中进行说明。通过对以下描述和相应附图的检视或者对实施例的生产或操作的了解,本申请的一部分附加特征对于本领域技术人员是显而易见的。本申请的特征可以通过对以下描述的具体实施例的各方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
根据实施例,将进一步描述本申请。参考附图,这些实施例将会被详细描述。这些实施例是非限制性的实施例,在这些实施例中,各图中类似的编号表示相似的结构,其中:
图1是根据本申请的一些实施例的用于地图匹配的系统的示意图;
图2是根据本申请的一些实施例的计算设备的硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例的终端设备的示意图;
图4是根据本申请的一些实施例的处理引擎的框图;
图5是根据本申请的一些实施例的地图匹配过程的流程图;
图6是根据本申请的一些实施例的用于训练神经网络模型以获取目标神经网络模型的过程的流程图;以及
图7是根据本申请的一些实施例的神经网络模型的结构的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”和/或“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或多个其他操作添加到这些流程图中。也可以从流程图中删除一个或多个操作。
此外,虽然本申请中公开的系统和方法主要是关于运输服务来描述的,但是还应该理解,这仅是它可以应用的实施例之一。本申请的系统或方法可以应用于需要定位服务的任何其他类型的场景的用户,例如导航服务、食物递送服务、网约车服务等。本申请的系统或方法的应用场景可以包括网页、浏览器插件、客户端、定制系统、内部分析系统、人工智能机器人等,或其任意组合。
本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购服务的个人、实体或工具,并且可互换使用。同样地,本申请描述的“司机”、“提供者”、“服务提供者”、“供应者”等也是可以互换的,是指提供服务或者协助提供服务的个人、实体或工具。本申请中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。在本申请中,术语“请求者”和“请求者终端”可以互换使用,术语“提供者”和“提供者终端”可以互换使用。
本申请中的术语“请求”、“服务”、“服务请求”和“订单”可用于表示由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等,或其任意组合发起的请求,并且可互换使用。该服务请求可以被乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任一者接受。服务请求可以是计费的也可是免费的。
本申请的一个方面涉及用于地图匹配的系统和/或方法。可以获取与车辆(或用户)相关的位置数据和运动数据。位置数据和运动数据可以与包括至少两个连续位置的位置序列相关。可以基于位置数据来确定可能与位置序列中的最后的位置匹配的一个或多个候选路段。在一些实施例中,可以将与至少两个连续位置中的每个位置相关的特征数据输入到目标神经网络模型,以便确定最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。例如,特征数据可以包括基于位置数据确定的一个或多个第一特征、基于运动数据确定的一个或多个第二特征、基于与一个或多个候选路段中的每个候选路段相关的道路信息的一个或多个第三特征等,或其任何组合。仅作为示例,一个或多个第一特征可以包括位置序列中的至少两个连续位置的每个位置与至少两个候选路段中的每个候选路段之间的距离(例如,垂直距离)、至少两个连续位置的每个位置的定位准确度,或其任何组合。一个或多个第二特征可以包括加速度、方向角、速度、车辆的行驶距离等中的一个或多个。一个或多个第三特征可包括多个通道、速度限制、等级、状况等,或其任何组合。目标神经网络模型可以基于长短期记忆(LSTM)模型、循环神经网络(RNN)模型、门控循环单元(GRU)模型等中的一个或多个来构建。
图1是根据本申请的一些实施例的用于地图匹配的系统100的示意图。系统100可以包括服务器110、网络120、终端130和存储器(也称为数据库)140。该服务器110可以包括处理引擎112。在一些实施例中,用于地图匹配的系统和方法可以在系统100中实现。
服务器110可以用于处理地图匹配的信息。例如,服务器110可以从定位设备获取与车辆相关的位置数据。位置数据可以与包括与轨迹相关的至少两个连续位置的位置序列相关。位置序列可以包括在至少两个连续位置中的最后的位置。又例如,服务器110可以获取与车辆相关的运动数据。运动数据可包括但不限于加速度、方向角、速度等,或其任何组合。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储于终端130或存储器140中的信息和/或数据。又例如,服务器110可以直接连接到终端130和/或存储器140以访问信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。在一些实施例中,服务器110可以在具有本申请的图2中所示的一个或多个组件的计算设备上实现。
在一些实施例中,服务器110可以包括处理引擎112。服务器110的至少一部分功能可以在处理引擎112上实现。例如,处理引擎112可以在位置序列中最后的位置的一定距离内确定一个或多个候选路段。处理引擎112还可以获取与一个或多个候选路段中的每个候选路段相关的道路信息,例如多个车道、速度限制、等级、状况等,或其任何组合。处理引擎112可以使用目标神经网络模型来基于位置数据、运动数据和道路信息来确定最后的位置与一个或多个候选路段中的每个候选路段的匹配概率。处理引擎112可以进一步指定具有最高匹配概率的路段作为目标路段。在一些实施例中,所述处理引擎112可包括一个或多个处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理引擎112可以包括中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,系统100中的一个或多个组件(例如,服务器110、终端130和/或存储器140)可以经由网络120将信息和/或数据发送到系统100中的其他组件。例如,服务器110可以经由网络120从定位设备获取位置数据。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网路(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、无线个域网、近场通信(NFC)网络、全球行动通信系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过其按需服务系统100的一个或多个部件可以连接到网络120以交换数据和/或信息。
终端130可以与用户相关。在一些实施例中,终端130可以执行前面描述的处理引擎112的一个或多个功能,如确定一个或多个候选路段、确定最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率、确定具有最高匹配概率等的目标路段等,或其任何组合。可选地,或另外地,终端130可以获取目标路段并在目标路段上显示目标位置以在地图上显示车辆的当前位置。在一些实施例中,用于确定位置数据的定位设备可以集成到终端130中。在一些实施例中,用于检测运动数据的运动传感器(例如,陀螺仪或加速计)可以集成到终端130中。在一些实施例中,终端130可以包括移动设备130-1、平板电脑130-2、内置设备(也称为机载设备)130-3、桌面计算机130-4等,或其任何组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等,或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)终端等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟实境设备和/或增强实境设备可以包括Google GlassTM、Oculus RiftTM、HololensTM、GearVRTM等。在一些实施例中,终端130可以是具有定位技术的无线设备,用于定位用户和/或终端130的位置。
在一些实施例中,终端130可以经由用户界面向处理引擎112发送和/或接收用于地图匹配的信息。用户界面可以是在终端130上实现的应用程序的形式。在终端130上实现的用户界面可以用于促进用户与处理引擎112之间的通信。在一些实施例中,用户可以经由在终端130上实现的用户界面输入对地图匹配的请求。终端130可以将对终端130的请求发送到处理引擎112,如本申请中其他地方所述(例如,图5及其描述)。在一些实施例中,用户可以经由用户界面设置与地图匹配相关的信息和/或数据(例如,信号),诸如目标神经网络的类型的参数、用于候选路段确定的阈值等。在一些实施例中,用户界面可以便于呈现或显示从处理引擎112接收的与地图匹配有关的信息和/或数据(例如,信号)。例如,信息和/或数据可以包括由处理引擎112生成的用于地图匹配的结果。例如,结果可以包括一个或多个图像(例如,二维图像、三维图像等),一个或多个单词、一个或多个数字、声音等。在一些实施例中,信息和/或数据可以进一步被配置以使终端130将结果显示给用户。
存储器140可以储存数据和/或指令。在一些实施例中,存储器140可以存储由定位设备提供的位置数据和/或由运动传感器提供的运动数据。在一些实施例中,储存器140可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。例如,存储器140可以存储用于确定最后的位置与一个或多个候选路段中的每个候选路段的匹配概率的目标神经网络模型。在一些实施例中,存储器140可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。大容量存储器可以包括例如磁盘、光盘、固态驱动器等。可移动存储器可包括例如闪存驱动器、软盘、光盘、存储卡、拉链盘、磁带等。易失性读写存储器可以包括例如随机存取存储器(RAM)。随机存取存储器可以包括例如动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。只读存储器可以包括例如掩模只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字通用光盘只读存储器等。在一些实施例中,所述存储器140可在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。
在一些实施例中,存储器140可以连接到网络120以与系统100中的一个或多个组件(例如,服务器110、终端130等)通信。系统100中的一个或多个组件可以经由网络120访问存储在存储器140中的数据或指令。在一些实施例中,存储器140可以直接连接到系统100中的一个或多个组件或与之通信(例如,服务器110、终端130等)。在一些实施例中,存储器140可以是服务器110的一部分。
在一些实施例中,系统100中的一个或多个组件(例如,服务器110、终端130等)可以具有访问存储器140的许可。在一些实施例中,当满足一个或多个条件时,系统100中的一个或多个组件可以读取和/或修改与用户相关的信息。例如,服务器110可以从定位设备获取与车辆相关的位置数据。位置数据可以与包括与轨迹相关的至少两个连续位置的位置序列相关。位置序列可以包括在至少两个连续位置中的最后的位置。又例如,服务器110可以获取与车辆相关的运动数据。在一些实施例中,本申请所披露的用于地图匹配的系统和方法可以在系统100中实现。
本领域普通技术人员将理解,当系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当服务器110处理任务时,服务器110可以在其处理器中操作逻辑电路以执行这样的任务。在诸如终端130和/或服务器110的电子设备内,当其处理器处理指令,发送指令和/或执行操作时,可以经由电信号进行指令和/或操作。例如,当处理器从存储介质检索或获取数据时,可以将电信号发送给存储介质的读/写设备,该读/写设备可读取存储介质中的结构化数据或将结构化数据写入存储介质中。该结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。
图2是示出根据本申请的一些实施例的计算设备200的硬件和/或软件组件的示意图。在一些实施例中,服务器110和/或终端130可以在图2中所示的计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并用于实现本申请中所披露的用于地图匹配的方法。在一些实施例中,计算设备200可以在位置序列中最后的位置的一定距离内确定一个或多个候选路段。计算设备200还可以获取与一个或多个候选路段中的每个候选路段相关的道路信息,例如多个车道、速度限制、等级、状况等,或其任何组合。计算设备200可以使用目标神经网络模型来基于位置数据、运动数据和道路信息来确定最后的位置与一个或多个候选路段中的每个候选路段的匹配概率。计算设备200可以进一步指定具有最高匹配概率的路段作为目标路段。
计算设备200可用于实现如本文所述的系统100的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。尽管仅示出了一个这样的计算机,但是为了方便,这里描述的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负荷。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或多个处理器(例如,逻辑电路),用于执行程序指令。例如,处理器220可以包括接口电路和其中的处理电路。接口电路可以用于从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
计算设备可以进一步包括用于各种数据文件的不同形式的程序存储和数据存储,包括例如盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,以及由计算设备进行处理和/或传输。示例性计算设备也可以包括储存于ROM 230、RAM 240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出组件260,用来支持计算机和其他组件之间进行输入/输出。计算设备200也可以通过网络通信接收程序设计和数据。
仅用于说明,图2中仅示出了一个处理器。还可以考虑多个处理器220;因此,如本申请中所描述的由一个处理器220执行的操作和/或方法步骤也可以由多个处理器联合或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3是示出根据本申请的一些实施例的终端设备300的硬件和/或软件组件的示意图。在一些实施例中,终端130或处理引擎112可以在图3中所示的终端设备300上实现。例如,终端设备130可以经由用户界面向处理引擎112发送和/或接收用于地图匹配的信息。又例如,终端设备300可以确定一个或多个候选路段,确定位置序列中最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率,确定具有最高匹配概率等的目标路段等。终端设备300可以是移动设备,例如移动电话、平板电脑、膝上型电脑、车辆上的内置设备等。如图3所示,终端设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360、移动操作系统(OS)370和存储器390。在一些实施例中,前面描述的定位设备和/或运动传感器可以集成到终端设备300中(图3中未示出)。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在终端设备300内。
在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或多个应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从按需服务系统100接收和呈现与按需服务或其他信息有关的信息。用户与信息流的交互可以经由I/O350来实现并且经由网络120被提供给处理引擎112和/或按需服务系统100的其他组件。
图4是示出根据本申请的一些实施例的处理引擎112的框图。处理引擎112可以与存储介质(例如,系统100的存储器140和/或终端设备300的存储器390)通信,并且可以执行存储在存储介质中的指令集。在一些实施例中,处理引擎112可以包括获取模块410、候选路段确定模块420、匹配模块430和存储模块440。在一些实施例中,处理引擎112可以集成到服务器110中。
获取模块410可以获取与地图匹配相关的数据。在一些实施例中,获取模块410可以获取由定位设备提供的位置数据,该定位数据与位置序列相关。位置序列可包括与轨迹相关的至少两个连续位置。位置序列中的至少两个连续位置可以基于至少两个时间点,按时间顺序排列。最后的位置可以指在连续位置中,在至少两个时间点中的最新时间点确定的位置。在一些实施例中,最后的位置可以对应于终端的当前位置或需要校正的位置。由定位设备提供的位置数据可以包括轨迹中的至少两个连续位置、至少两个连续位置中的每个位置的定位准确度等。在一些实施例中,获取模块410可以获取由与至少两个连续位置相关的运动传感器提供的运动数据。运动数据可以与位置序列中的至少两个连续位置中的每个位置相关。与位置相关的运动数据可包括终端在该位置的加速度、终端在该位置处的方向角、终端在该位置处的速度等,或其任何组合。在一些实施例中,获取模块420可以获取与一个或多个候选路段相关的一个或多个特征。例如,与候选路段相关的道路信息可以包括与候选路段相关的多个车道、与候选路段相关的速度限制(例如、最大速度限制和/或最小速度限制)、候选路段的等级、候选路段的状况、候选路段的长度值、候选路段的起点、候选路段的终点等,或其任何组合。在一些实施例中,获取模块410可以获取至少两组训练样本和神经网络模型。可以使用至少两组训练样本来训练神经网络模型以获取目标神经网络模型。
候选路段确定模块420可以基于与地图匹配相关的数据来确定一个或多个候选路段。最后的位置可以与一个或多个确定的候选路段中的一个匹配。每个路段可以由存储设备(例如,存储器140)中存储的一个或多个特征(也称为道路信息)来定义。在一些实施例中,候选路段确定模块420可以基于与最后的位置相关的位置数据来确定一个或多个候选路段。具体地,候选路段确定模块420可以确定距离最后的位置一定距离内的一个或多个候选路段。该距离可以是最后的位置与最后的位置周围的至少两个路段中的每个路段之间的垂直距离。候选路段确定模块420可以进一步将垂直距离与距离阈值进行比较。响应于确定最后的位置与最后的位置周围的路段之间的垂直距离小于或等于距离阈值(例如,50米),候选路段确定模块420可以将最后的位置周围的路段确定为候选路段。距离阈值可以由用户或根据系统100的默认设置来设置和/或调整。例如,阈值可以预设为小于或等于50米,例如10米、20米、30米、40米、50米等。在一些实施例中,可以基于车辆(或步行者)的速度来调节距离阈值、最后的位置的定位准确度、所确定的候选路段的数量等,或其任何组合。
匹配模块430可以确定与最后的位置匹配的目标路段。具体地,匹配模块430可以基于位置和运动数据,使用目标神经网络模型来确定最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。匹配模块430还可以将具有最高匹配概率的路段指定为目标路段。在一些实施例中,匹配模块430可以将与位置序列相关的特征数据和/或与一个或多个候选路段中的每个候选路段相关的特征数据输入到目标神经网络模型中,以获取最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。在一些实施例中,匹配模块430可以输入与位置序列相关的特征数据和/或与目标神经网络模型中的每个相关的特征数据,以获取最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。在一些实施例中,与位置序列相关的特征数据可以是包括一个或多个与位置序列中的至少两个连续位置相关的位置数据的第一特征、一个或多个与位置序列中的至少两个连续位置中的每个位置处的终端的移动相关的第二特征。与一个或多个候选路段相关的特征数据可包括,与至少两个候选路段中的每个候选路段相关的一个或多个第三特征。具体而言,一个或多个第一特征可以包括位置序列中的至少两个连续位置中的每个位置(例如,最后的位置)与至少两个候选路段中的每个候选路段之间的距离(例如,垂直距离)、至少两个连续位置中的每个位置的定位准确度、最后的位置与位置序列中的其他位置之间的距离等,或其任何组合。与位置序列中的至少两个连续位置中的每个位置相关的一个或多个第二特征可以包括最后的位置处的终端的方向角与先前的位置之间的差异、最后的位置处的终端加速度与先前位置之间的差异、最后的位置处的终端的速度与先前的位置之间的差异等,或其任何组合。与至少两个候选路段中的每个候选路段相关的一个或多个第三个特征可以包括与至少两个候选路段中的每个候选路段相关的车道数、与至少两个候选路段中的每个候选路段相关的速度限制、至少两个候选路段中的每个候选路段的等级、至少两个候选路段中的每个候选路段的状态等,或其任何组合。
根据本申请中一些实施例,在判断车辆所处的目标路段时,运动数据能够反映车辆运动的变化,根据最后的位置相关的位置信息确定的候选道路的信息也与车辆驶入候选路段的概率有关。因此根据本申请中一些实施例所描述的地图匹配方法,将位置序列中每个位置对应的位置数据、传感器采集的运动数据以及候选道路的信息输入到训练过的神经网络模型中,来预测一个或多个候选道路与位置序列中最后的位置匹配的概率,能有效提升地图匹配的准确性。
存储模块440可以存储与地图匹配有关的数据。例如,存储模块440可以存储一个或多个位置序列。存储模块440可以存储与位置序列中的至少两个位置中的每个位置相关的位置数据、与位置序列中的至少两个位置中的每个位置相关的运动数据,以及与至少两个路段相关的道路信息(例如,一个或多个候选路段)。又如例,存储模块440可以存储未训练的神经网络模型和至少两个训练样本,用于训练未训练的神经网络模型。存储模块440可以存储目标神经网络模型。作为又一示例,存储模块440可以存储与最后的位置匹配的目标路段。
图4中的模块可以通过有线连接或无线连接来彼此连接或通信。有线连接可包括金属电缆、光学电缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等,或其任意组合。在一些实施例中,两个或以上模块可以组合成单个模块,并且任何一个模块可以分成两个或以上单元。
图5是示出根据本申请的一些实施例的用于地图匹配的过程500的流程图。图5中所示的过程500可以应用于基于位置的服务,例如导航服务、食物递送服务、网约车服务等。在一些实施例中,过程500可以由系统100执行。例如,过程500可以实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240)中的一组指令(例如,应用程序)。处理引擎112和/或图4中的模块可以执行指令集,并且当执行指令时,处理引擎112和/或模块可以用于执行处理500。以下呈现的所示过程500的操作旨在说明。在一些实施例中,过程500在实施时可以添加一个或多个本申请未描述的额外操作,和/或删减一个或多个此处所描述的操作。另外,如图5所示和下面描述的过程500的操作的顺序不是限制性的。
在502中,处理引擎112(例如,获取模块410)可以获取由定位设备提供的位置数据,该位置数据与具有最后的位置的位置序列相关。位置序列可包括与轨迹相关的至少两个连续位置。轨迹可以包括终端(例如,终端130)随时间经过的许多连续位置。例如,终端可以包括车辆(例如,汽车、公共汽车、摩托车)、车辆的车载设备、由用户携带的移动设备等。用户可以包括司机、乘客、步行的人等。当定位设备确定至少两个连续位置时,位置序列中的至少两个连续位置可以基于至少两个时间点,按时间顺序排列。最后的位置可以指在连续位置中,在至少两个时间点中的最新时间点确定的位置。在一些实施例中,位置序列中的至少两个连续位置中的最后的位置可以对应于终端的当前位置。在一些实施例中,至少两个连续位置中的最后的位置可以是需要被校正的位置。在一些实施例中,处理引擎112可以通过选择包括当前位置的预设数量的至少两个连续位置来确定与轨迹相关的位置序列。位置序列中的至少两个连续位置的预设数量可以在25和35之间,例如30;在35-45之间,例如40;在45-55之间,例如50;在55-65之间,例如60等。
定位设备可包括一个或多个定位芯片或电路。例如,定位设备可以包括本申请中其他地方描述的一个或多个处理器。在一些实施例中,定位设备可以集成到与用户相关的终端中,例如车辆、移动终端等。例如,定位设备可以包括车辆的车载设备、安装在与用户相关的移动终端中的定位芯片(例如,图3中所示的终端设备300)。至少两个连续位置可以由定位设备使用定位技术来确定。用户可以包括但不限于车辆中/上的司机或乘客、步行的用户等。定位技术可以包括但不限于全球定位系统(GPS)、全球导航卫星系统(GLONASS)、伽利略定位系统、准天顶卫星系统(QZSS)、北斗导航卫星系统、无线保真(WiFi)定位技术等,或其任何组合。
在一些实施例中,由定位设备提供的位置数据可包括轨迹中的至少两个连续位置,至少两个连续位置中的每个位置的定位准确度等。至少两个连续位置中的每个位置可以由地理坐标表示。地理坐标可以由坐标系表示。例如,坐标系可包括纬度和经度坐标系、地心地固(ECEF)坐标系、局部东北向(ENU)坐标系等。术语“定位准确度”是指由定位设备确定的对象(例如,终端)的位置信息(即,估计位置)与对象的实际位置之间的匹配度。在一些实施例中,定位准确度可以由定位设备在该时间点确定的位置(即,估计位置)与该时间点的实际位置之间的距离的变化范围来表示。每个位置的定位准确度可以与定位信号的强度相关,例如GPS信号。例如,当定位信号相对较强时,由定位设备确定的相应位置的定位准确度可能相对较高(例如,5米、10米、20米)。当定位信号相对较弱时,定位设备确定的每个相应位置的定位准确度可能相对较低(例如,100米、200米)。可以从定位设备获取每个位置的定位准确度。定位设备可以以预定的时间间隔(例如,30秒、45秒)确定位置数据,并经由网络(例如,图1中所示的网络120)将位置数据发送到处理引擎112。在一些实施例中,还可以通过处理引擎112获取与地图匹配相关的其他类型的数据,例如在操作504中描述的由运动传感器确定的运动数据。在一些实施例中,可以同时获取与地图匹配相关的位置数据和运动数据。在一些实施例中,可以以任何顺序获取与地图匹配相关的位置数据和运动数据。例如,与地图匹配相关的运动数据可以在获取与地图匹配相关的位置数据之前获取。
在504中,处理引擎112(例如,获取模块410)可以获取由运动传感器提供的与至少两个连续位置相关的运动数据。运动数据可以与位置序列中的至少两个连续位置中的每个位置相关。与位置相关的运动数据可以包括终端在该位置的加速度、终端在该位置的方向角、终端在该位置的速度等,或其任何组合。具体地,加速度可以包括线性加速度和/或角加速度。速度可以包括线速度和/或角速度。方向角可以用于指示终端(例如,车辆)或用户朝向的方向。例如,方向角可以指的是终端朝向的方向与终端移动时所处的道路之间的角度。又例如,方向角可以是转向角、方位角等。仅作为示例,当车辆在朝北的特定道路上直线向北移动时,车辆或人朝向的方向与车辆或人正在行驶或行走的特定道路之间的角度可以为零。当车辆向左转并向东方移动时,车辆朝向的方向与特定道路之间的角度可以是90度(或270度)。当车辆转向并向南移动时,车辆或人朝向的方向与特定道路之间的角度可以是180度。检测运动数据的运动传感器可以包括但不限于陀螺仪、加速度计、速度传感器等,或其任何组合。在一些实施例中,运动传感器可以集成到终端(例如,终端130)中。
在506中,处理引擎112(例如,候选路段确定模块420)可以确定与最后的位置相关的一个或多个候选路段。可以基于处理引擎112获取的地图匹配相关的数据(例如操作502中描述的位置数据)来确定一个或多个候选路段。如这里所使用的,路段指的是道路、街道、大道等的至少一部分。路段可以由识别号码(ID number)、长度值、起点、终点和/或其他信息来定义。每个路段可以由存储设备(例如,存储器140)中存储的一个或多个特征(也称为道路信息)来定义。例如,与候选路段相关的道路信息可以包括与候选路段相关的多个车道、与候选路段相关的速度限制(例如,最大速度限制和/或最小速度限制)、候选路段的等级、候选路段的状况、候选路段的长度值、候选路段的起点、候选路段的终点等,或其任何组合。如本文所用的,候选路段的等级是指候选路段的类型,包括但不限于主要高速公路、次要高速公路、国道、省道、坡道、主要街道、地方道路、辅道、单行道、野外道路、停车场道路、私人道路、步行道路等。候选路段的状况可包括候选路段是否关闭(暂时地或永久地)、候选路段的路面和/或附属设施(例如路灯)是否受损、候选路段是否拥挤、与候选路段相关的偏好数据等,或其任何组合。与候选路段相关的偏好数据可以涉及至少两个用户(例如,司机)或特定用户(例如,车辆的司机)的历史数据。例如,至少两个用户的历史数据可以包括至少两个用户在一段时间内通过候选路段(也称为“交通流”)的总频率。又例如,特定用户的历史数据可以包括特定用户在一段时间内通过候选路段的特定频率。
在一些实施例中,处理引擎112可以基于与最后的位置相关的位置数据来确定一个或多个候选路段。此外,处理引擎112可以确定距离最后的位置一定距离内的一个或多个候选路段。该距离可以是最后的位置与最后的位置周围的至少两个路段中的每个路段之间的垂直距离。例如,处理引擎112可以将连续位置中的最后的位置投射到路网,并确定最后的位置与最后的位置周围的至少两个路段中的每个路段之间的垂直距离。处理引擎112可以进一步将垂直距离与距离阈值进行比较。响应于确定最后的位置与最后的位置周围的路段之间的垂直距离小于或等于距离阈值(例如,50米),处理引擎112可以将最后的位置周围的路段确定为候选路段。距离阈值可以由用户或根据系统100的默认设置来设置和/或调整。例如,阈值可以预设为小于或等于50米,例如10米、20米、30米、40米、50米等。在一些实施例中,可以基于车辆(或步行者)的速度,最后的位置的定位准确度,所确定的候选路段的数量等,或其任何组合来调整距离阈值。例如,当车辆的速度相对较高(例如,60千米/小时)时,距离阈值可以设置为大于50米的较高值,例如75米或100米。当最后的位置的定位准确度相对较低时,距离阈值可以设置为较高值(例如,100米、150米)。又例如,当确定的候选路段的数量相对较大(例如,5、6)时,距离阈值可以减小(例如,20米、30米)。
在一些实施例中,最后的位置可以与一个或多个确定的候选路段中的一个匹配。如本文所使用的,最后的位置与一个候选路段匹配可以指最后的位置可能在地理上位于该候选路段。处理引擎112可以进一步根据操作508和510来确定最后的位置可能在地理上位于的候选路段。
在508中,处理引擎112(例如,匹配模块430)可以使用目标神经网络模型,基于位置数据和运动数据,确定最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。目标神经网络模型可以用于通过输入与特定位置相关的数据(例如,与位置序列中的最后的位置相关的数据)和/或包括特定位置的特定序列(例如,位置数据和与位置序列中的至少两个连续位置相关的运动数据,如502中所述)来生成与特定路段匹配的特定位置的概率。在一些实施例中,处理引擎112可以输入所描绘的运动数据、位置数据,以及与一个或多个候选路段相关的信息/数据输入到目标神经网络模型以获取最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。例如,对于特定的候选路段,处理引擎112可将至少两个连续位置中的每个位置的坐标、至少两个连续位置中的每个位置的定位准确度、终端在至少两个连续位置的每个位置的加速度、终端在至少两个连续位置的每个位置的速度、在至少两个连续位置的每个位置的终端的方向角、特定候选路段的起点、每个特定候选路段的终点、特定候选路段的长度值、特定候选路段的速度限制等,输入目标神经网络模型。目标神经网络模型可以生成并输出与特定候选路段匹配的最后的位置的匹配概率。
在一些实施例中,处理引擎112可以输入与操作502中的位置序列相关的特征数据和/或与操作506中的一个或多个候选路段中的每个候选路段相关的特征数据到目标神经网络模型以获取与一个或多个候选路段中的每个候选路段匹配的最后的位置的匹配概率。在一些实施例中,与操作502中的位置序列相关的特征数据可以是包括一个或多个与位置序列中的至少两个连续位置相关的位置数据的第一特征,以及与在位置序列中的至少两个连续位置中的每个位置处的终端的移动相关的一个或多个第二特征。在操作506中与一个或多个候选路段相关的特征数据可以包括与至少两个候选路段中的每个候选路段相关的一个或多个第三特征。具体而言,一个或多个第一特征可以包括位置序列中的至少两个连续位置中的每个位置(例如,最后的位置)与至少两个候选路段中的每个候选路段之间的距离(例如,垂直距离)、至少两个连续位置中的每个位置的定位准确度、最后的位置与位置序列中的其他位置之间的距离等,或其任何组合。与位置序列中的至少两个连续位置中的每个位置相关的一个或多个第二特征可以包括最后的位置处的终端的方向角与先前的位置之间的差异、最后的位置处的终端加速度与先前位置之间的差异、最后的位置处的终端的速度与先前的位置之间的差异等,或其任何组合。与至少两个候选路段中的每个候选路段相关的一个或多个第三个特征可以包括与至少两个候选路段中的每个候选路段相关的车道数量、与至少两个候选路段中的每个候选路段相关的速度限制、至少两个候选路段中的每个候选路段的等级、至少两个候选路段中的每个候选路段的状态等,或其任何组合。
在一些实施例中,处理引擎112可以将操作502中的位置数据、运动数据、与位置序列相关的特征数据,和/或操作506中一个或多个候选路段中的每个候选路段相关的特征数据输入到目标神经网络模型,以获取最后的位置与一个或多个候选路段中的每个候选路段匹配的匹配概率。例如,处理引擎112可以输入与至少两个连续位置中的每个位置相关的坐标、位置序列中的至少两个连续位置中的每个位置(例如,最后的位置)与至少两个候选路段中的每个候选路段之间的距离(例如,垂直距离)、至少两个连续位置中的每个位置的定位准确度、位置序列中最后的位置与一个或多个其他位置之间的距离、终点在至少两个连续位置中的每个位置的加速度、至少两个连续位置中的每个位置的终端的方向角、终点在至少两个连续位置的每个的速度、最后的位置处的终端的方向角与先前的位置之间的差异、最后的位置处的终端加速度与先前位置之间的差异、最后的位置处的终端的速度与先前的位置之间的差异、与至少两个候选路段中的每个候选路段相关的车道数量、与至少两个候选路段中的每个候选路段相关的速度限制、至少两个候选路段中的每个候选路段的等级、至少两个候选路段中的每个候选路段的状况等。
在一些实施例中,与特定位置相关的一个或多个第一特征和一个或多个第二特征可以表示为对应于特定位置的特征向量,并且与特定候选路段相关的一个或多个第三特征可以表示为与特定候选路段相关的特征向量。在一些实施例中,与特定位置相关的一个或多个特征向量以及与特定候选路段相关的一个或多个特征向量可以由处理引擎112基于一个或多个第一特征、一个或多个第二特征、一个或多个第三特征等来确定和/或融合。在一些实施例中,与特定位置相关的一个或多个特征向量以及与特定候选路段相关的一个或多个特征向量可以通过输入一个或多个第一特征、一个或多个第二特征,和/或一个或多个第三特征,由目标神经网络模型(例如,目标神经网络模型的内核)融合。与特定位置和候选路段相关的融合特征向量可以包括与特定位置相关的一个或多个第一特征和一个或多个第二特征,以及与特定候选路段相关的一个或多个第三特征。
在一些实施例中,处理引擎112(例如,获取模块410)可以从存储设备(例如,图1中所示的存储器140)获取目标神经网络。目标神经网络模型可以是经过训练的神经网络模型。可以使用至少两组训练样本来训练神经网络模型。至少两组训练样本中的每组可以包括一个或多个与参考位置序列的参考位置相关的参考特征、一个或多个与参考位置序列的参考位置处的参考终端(例如,定位设备)的移动相关的参考特征,和一个或多个与一个或多个相关的参考特征与参考位置序列的参考位置匹配的参考路段。至少两组训练样本中的每组可以进一步包括标签,该标签可以用于指示参考位置序列中的参考位置(例如,最后的参考位置)是否与参考路段匹配。关于训练神经网络模型的细节可以在本申请的其他地方找到,例如,在图6及其描述中。在一些实施例中,神经网络模型可以基于长短期记忆(LSTM)模型、循环神经网络(RNN)模型、门控复发单位(GRU)模型等中的至少一种或其组合来构造。神经网络模型还可包括一个或多个一维卷积层、全连接(FC)层和一个或多个激活层。关于神经网络模型的结构的细节可以在本申请的其他地方找到,例如,在图7及其描述中。
在510中,处理引擎112(例如,匹配模块430)可以将具有最高匹配概率的路段指定为目标路段。可以确定位置序列的最后的位置以与目标路段匹配。在一些实施例中,可以基于最后的位置和目标路段之间的匹配结果来校正最后的位置。例如,处理引擎112可以在路网上投射最后的位置以获取投影位置。如果对应于最后的位置的投影位置恰好位于目标路段中,处理引擎112可以确定可能不需要校正最后的位置。如果对应于最后的位置的投影位置不在目标路段中,处理引擎112可以校正最后的位置以产生准确地位于目标路段上的目标位置。具体地,处理引擎112可以将目标路段上最接近最后的位置确定为目标位置。例如,处理引擎112可以确定穿过最后的位置的直线,该直线垂直于目标路段。直线可以在交叉点处与目标路段相交。可以将交叉点确定为目标位置。在一些实施例中,处理引擎112可以进一步确定目标位置的目标坐标,并将目标坐标指定为最后的位置的校正坐标。目标位置可以被视为车辆的当前位置和/或与定位设备确定最后的位置的时间点相对应的校正位置。在一些实施例中,最后的位置和/或目标位置可以显示在终端(例如,图1中所示的终端130)上实现的数字地图上。
在一些实施例中,最高匹配概率可以对应于一个或多个候选路段中的多于一个的路段。处理引擎112可以进一步基于位置数据,运动数据和/或与多于一个的候选路段中的每个候选路段相关的道路信息来确定目标路段。例如,对应于最高匹配概率的多于一个的路段可包括第一路段和第二路段。仅作为示例,响应于确定第一路段有两条车道且第二路段有四条车道,处理引擎112可以将第二路段指定为目标路段。又例如,响应于确定第一路段的速度限制(例如,最大速度限制和/或最小速度限制)高于第二路段的速度限制和/或车辆的当前速度大于第二路段的最大速度限制,处理引擎112可以将第一路段指定为目标路段。
在一些实施例中,处理引擎112可以基于目标路段确定终端的轨迹是否已经改变、正在改变或保持不变。例如,如果目标路段不同于与最后的位置的先前位置所匹配的路段,处理引擎112可以确定终端的轨迹已经改变。如果目标路段与最后的位置的先前位置匹配的路段相同,处理引擎112可以确定终端的轨迹保持不变或正在改变。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,变化和修改不会背离本申请的范围。例如,可以在操作504之前执行操作506。又例如,可以同时执行操作502和504。处理引擎112可以确定一个或多个候选路段,然后确定终端朝向的方向与一个或多个候选路段中的每个候选路段之间的角度作为方向角。
图6是示出根据本申请的一些实施例的用于训练神经网络模型以获取目标神经网络的过程600的流程图。在一些实施例中,可以根据过程600获取结合图5描述的目标神经网络模型。在一些实施例中,过程600可以由系统100执行。例如,过程600可以实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240)中的一组指令(例如,应用程序)。处理引擎112和/或图4中的模块可以执行指令集,并且当执行指令时,处理引擎112和/或模块可以用于执行处理600。下面呈现的所示过程600的操作旨在说明。在一些实施例中,过程600在实现时可以添加一个或多个未描述的附加操作,和/或删减一个或多个此处所描述的操作。另外,如图6所示和下面描述的过程600的操作的顺序不是限制性的。如图6所示,过程600可以包括以下操作。
在602中,处理引擎112可以获取至少两组训练样本。在一些实施方案中,至少两组训练样本的每组可以包括与参考轨迹相关的参考位置序列相关的参考信息、与一个或多个参考路段相关的参考道路信息,和一个或多个与参考位置序列中的一个或多个参考路段和最后的参考位置相关的标签。所述参考位置序列可以包括按时间顺序排列的至少两个连续的参考位置。参考位置序列中的至少两个连续参考位置的预设数量可以等于,例如三十、四十五、六十等。与参考位置序列有关的参考信息可以存储在存储设备(例如,图1中的存储器140)中。具体地,与参考位置序列有关的参考信息可以包括但不限于与至少两个连续参考位置中的每个参考位置相关的参考位置数据、与至少两个连续参考位置中的每个参考位置相关的参考运动数据,或其任何组合。类似于图5中的操作502中的描述,参考位置数据可以包括连续参考位置(例如,由地理坐标表示)和/或至少两个连续参考位置中的每个参考位置的参考定位准确度。类似于图5中的操作504中的描述,与至少两个连续参考位置中的每个参考位置相关的参考运动数据可以包括但不限于参考加速度、参考方向角、参考速度等,或其任何组合。类似于图5中的操作506中的描述,与参考路段相关的参考道路信息可以包括参考车道数、参考速度限制(例如,最大速度限制和/或最小速度限制)、参考等级、参考状况等,或其任何组合。
标签可以包括最后的参考位置与参考路段匹配的匹配概率。在一些实施例中,与参考路段和最后的参考位置相关的标签可以包括0和1(或100%)之间的匹配概率,以表示参考路段和最后的参考位置之间的匹配度。在一些实施例中,与参考路段和最后的参考位置相关的标签可以是正标签或负标签。具体地,正标签可以表明参考路段与最后的参考位置匹配。例如,正标签可以包括参考匹配概率1(或100%)。负标签可能表明参考路段与最后的参考位置不匹配。例如,负标签可包括参考匹配概率为0。
在一些实施例中,至少两组训练样本可以包括多个最后的参考位置。最后的参考位置数量可以是100-500万之间,例如100万、200万、300万、400万、500万等。最后的参考位置可以由用户通过用户终端手动标记。换而言之,用户可以确定至少两组训练样本中的每组训练样本是否与参考路段匹配。例如,用户可以在地图上为至少两组训练样本中的每组训练样本选择包括最后的参考位置的参考位置序列。用户可以在最后的参考位置的周围选择至少两个参考路段。用户可以确定最后的参考位置是否与至少两个参考路段中的每个参考路段匹配,并且基于判断结果,用匹配概率标记至少两个参考路段中的每个参考路段。
在一些实施例中,至少两组训练样本中的每个组可以包括一个或多个与参考位置序列相关的参考特征以及与一个或多个参考路段中的每个参考路段相关的一个或多个标签。例如,一个或多个参考特征可以包括基于与至少两个连续参考位置中的每个参考位置相关的参考运动数据来确定的一个或多个第一参考特征、基于与至少两个连续位置中的每个位置相关的参考运动数据来确定的一个或多个第二参考特征,和基于与参考路段相关的参考道路信息来确定的一个或多个第三参考特征。仅作为示例,一个或多个第一参考特征可以包括位置序列中的至少两个连续参考位置中的每个参考位置与参考路段之间的参考距离(例如,垂直距离)、至少两个连续参考位置中的每个参考位置的位置准确度,或其任何组合。在一些实施例中,一个或多个特征可以表示为一个或多个参考特征向量。在一些实施例中,处理引擎112可以基于一个或多个第一参考特征、一个或多个第二参考特征、一个或多个第三参考特征,或其任何组合,确定一个或多个融合参考特征向量。至少两组训练样本中的每组训练样本可包括一个或多个融合特征向量。至少两组训练样本中的每组训练样本可以用来训练用于地图匹配的神经网络模型。神经网络模型可以根据操作604相关的描述来获取,并根据操作606相关的描述来训练。
在604中,处理引擎112可以获取神经网络模型。训练样本和神经网络模型的至少两组可以同时获取或以任何顺序获取。可以基于长短期记忆(LSTM)模型、循环神经网络(RNN)模型、门控复发单位(GRU)模型等,或其组合来构建神经网络模型。在一些实施例中,LSTM模型可以是双向LSTM(BLSTM)模型。在一些实施例中,RNN模型可以是双向RNN(BRNN)模型。在一些实施例中,神经网络模型可包括多个层,例如,输入层、多个隐藏层和输出层。多个隐藏层可以包括一个或多个卷积层、一个或多个批量标准化层、一个或多个活化层、全连接层等。多个层可以有一个或多个功能。例如,卷积层可以配置有激活函数,例如修正线性单元(Relu)函数、S型(Sigmoid)函数、双曲正切(Tanh)函数、Maxout函数等。激活层可以用于使用激活功能转换从先前层输出的数据,使得转换的数据可以更适合于输入到下一层。全连接层可以具有到前一层中的所有激活的连接,并且可以用于将一层中的每个节点连接到另一层中的每个节点。多个层中的每个层可以包括至少两个节点。在一些实施例中,神经网络模型可以由至少两个参数来定义。神经网络模型的参数可以包括例如卷积核的大小、层数、每层中的节点数、两个连接节点之间的连接权值、与节点相关的偏置矢量等。两个连接节点之间的连接权限可以用于表示节点的输出值的比例作为另一个连接节点的输入值。与节点有关的偏置矢量可以用于控制偏离原点的节点的输出值。至少两个参数的一部分可以由用户或根据系统100的默认设置来设置。例如,层的节点数可以是30、45、60、128、256等。
不同的神经网络模型可能有不同的结构。以基于双向LSTM(BLSTM)模型构建的神经网络模型为例,神经网络模型可以包括一个或多个一维卷积层、前向LSTM层、后向LSTM层、全连接(FC)层和一个或多个激活层。一个或多个一维层可以配置有激活功能(例如,Relu函数)。前向LSTM层和后向LSTM层中的节点数可以等于位置序列中至少两个连续位置的数量,例如30、45、60等。FC层中的节点数可以是128、256、512等。Sigmoid层可以接收FC层的输出,并且可以用于使用Sigmoid函数确定参考最后位置与参考路段匹配的预估匹配概率。可以在本申请的其他地方找到对神经网络模型的更多描述(例如,图7及其描述)。
在606中,处理引擎112可以使用至少两个训练样本组来训练神经网络模型以获取目标神经网络模型。可以使用神经网络训练算法来训练神经网络模型。神经网络训练算法可以包括例如梯度下降算法、牛顿算法、准牛顿算法、Levenberg-Marquardt算法、共轭梯度算法等,或其组合。在一些实施例中,可以通过基于代价函数执行至少两次迭代来训练神经网络模型。在至少两次迭代之前,可以初始化神经网络模型的参数。例如,神经网络模型的连接的权值和/或节点的偏向量可以被初始化为范围内的随机值,例如,从-1到1的范围。又例如,神经网络模型的所有连接权值可以在-1到1的范围内具有相同的值,例如0。作为又一个例子,可以将神经网络模型中的节点的偏置矢量初始化为0到1范围内的随机值。在一些实施例中,可以基于高斯随机算法、Xavier算法等来初始化神经网络模型的参数。然后,可以执行至少两次迭代以更新神经网络模型的参数,直到满足状况。状态可以提供神经网络模型是否被充分训练的指示。例如,如果与神经网络模型相关的代价函数的值最小或小于阈值(例如,预设值),则可以满足状况。在一些实施例中,代价函数可以是对数损失(也称为“对数损失”),其基于预测结果与标签变化多少来测量预测结果的不确定性。又例如,如果代价函数的值收敛,则可满足状况。如果在两个或以上连续迭代中代价函数的值的变化小于阈值(例如,预设值),则可以认为已经发生了收敛。作为又一个例子,当在训练过程中执行指定次数的迭代时,可以满足状况。
对于至少两个迭代中的每个迭代,至少两组训练样本的每个组可以被输入到神经网络模型中。具体地,一个或多个参考特征(或与参考路线序列相关的参考信息和与参考路段相关的参考道路信息)和与参考路段及最后的参考位置相关的标签可以由神经网络模型的一个或多个层处理,以产生最后的参考位置与参考路段匹配的预估匹配概率。可以基于神经网络模型的代价函数将预估的匹配概率与参考匹配概率进行比较。神经网络模型的代价函数可以用于评估神经网络模型的测试值(例如,预估的匹配概率)与期望值(例如,参考匹配概率)之间的差异。如果代价函数的值超过当前迭代中的阈值,可以调整和更新神经网络模型的参数以使代价函数的值(即,预估的匹配概率和参考匹配概率之间的差值)小于阈值。因此,在下一次迭代中,可以将另一组训练样本输入到神经网络模型中以训练如上所述的神经网络模型,直到满足状态。在一些实施例中,可以基于更新的参数确定训练的神经网络模型。在一些实施例中,目标神经网络模型可以被发送到存储器140、存储模块440或任何其他存储设备以供存储。训练的神经网络模型(即,目标神经网络模型)可以用于基于输入到训练的神经网络模型中的数据来输出预估的匹配概率。例如,输入到训练的神经网络模型中的数据可以包括与位置序列中的至少两个连续位置中的每个位置相关的位置数据和运动数据,以及与位置序列中的最后的位置的范围内的一个或多个候选路段相关的道路信息。又例如,输入训练好的神经网络模型的数据可以包括基于位置数据确定的一个或多个第一个特征、基于运动数据确定的一个或多个第二特征,和基于道路信息确定的一个或多个第三特征。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,变化和修改不会背离本申请的范围。
图7是示出根据本申请的一些实施例的神经网络模型700的结构的示意图。如图7所示,神经网络模型可包括两个一维卷积(1d conv)层、前向LSTM层、后向LSTM层、FC层和Sigmoid层。一维卷积层可以用于增加与至少两个连续参考位置中的每个参考位置相关的一个或多个(融合)特征向量的维度,因此,可以获取一个或多个(融合)特征向量中的数据之间更丰富的相关性。在一些实施例中,一维卷积层可以配置有Relu激活函数。仅作为示例,一维卷积层可以表示为以下等式(1):
fi,k=max(wefi+be,0) (1),
其中i指的是参考位置序列中的第i个连续位置,k指的是包括与第i个连续参考位置相关的至少两个特征的特征集的索引号(例如,第一特征、第二特征、第三特征),wk和bk是与第k个滤波器相关的参数,并且可以在一维卷积层中引入Relu激活函数。应当注意两个一维卷积层可以是可选的。前向LSTM层和后向LSTM层可以用于与操作602中描述的至少两个训练样本中的每个训练样本相关的处理数据或者来自先前的一维卷积层的输出。FC层可以包括例如128个节点、256个节点等。FC层的每个节点可以从前一层的每个节点(例如,后向LSTM层)获取输入。Sigmoid层可以用作激活层,用于输出对应于最后的参考位置的、最后的参考位置与参考路段匹配的预估匹配概率。在一些实施例中,Sigmoid层可以集成到FC层中。
本申请实施例可能带来的有益效果包括但不限于:通过将位置序列中每个位置对应的位置数据、传感器采集的运动数据以及候选道路的信息输入到神经网络模型中,来预测一个或多个候选道路与位置序列中最后的位置匹配的概率,能有效提升地图匹配的准确性。例如,如果只考虑位置数据(例如坐标信息),当位置数据的定位准确度较低时,或车辆拐弯或掉头之后,系统对车辆当前所处的目标路段的判断可能不够准确。而根据本申请中一些实施例,在判断车辆所处的目标路段时,运动数据能够反映车辆运动的变化,根据最后的位置相关的位置信息确定的候选道路的信息也与车辆驶入候选路段的概率有关。因此根据本申请中一些实施例所描述的地图匹配方法,将位置序列中每个位置对应的位置数据、传感器采集的运动数据以及候选道路的信息输入到训练过的神经网络模型中,来预测一个或多个候选道路与位置序列中最后的位置匹配的概率,能有效提升地图匹配的准确性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,神经网络模型可以不包括任何一维卷积层。在一些实施例中,神经网络模型可以仅包括一个一维卷积层或多于两个一维卷积层。在一些实施例中,代替前向LSTM层和后向LSTM层,神经网络模型可以包括前向GRU层和后向GRU层。其他前向RNN层和后向RNN层也可以用于构建神经网络模型,其不受本申请的限制。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。这些改变,改进和修改旨在由本申请提出,并且在本申请的实施例的精神和范围内。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各方面操作所需的计算机程序码可以用一种或以上程序语言的任意组合编写,包括面向对象的编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序编程语言如"C"编程语言,Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby,和Groovy或其它编程语言。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如服务软件(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (23)
1.一种地图匹配方法,包括:
获取位置数据,所述位置数据包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中具有最后的位置;
获取运动数据,所述运动数据与所述至少两个连续位置相关;
确定一个或多个候选路段;
使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率;以及
将具有最高匹配概率的候选路段指定为所述目标路段,
其中所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型而获取的;所述至少两组训练样本中的每组训练样本包括一个或多个与参考位置相关的特征、一个或多个与所述参考位置处的参考客户终端的移动相关的特征和一个或多个与所述参考位置匹配的参考路段相关的特征。
2.根据权利要求1所述的方法,其特征在于,所述位置数据由定位设备获取,所述定位设备包括全球定位系统。
3.根据权利要求1所述的方法,其特征在于,所述运动数据由运动传感器获取,所述运动传感器包括陀螺仪或加速度计。
4.根据权利要求1所述的方法,其特征在于,所述一个或多个候选路段和所述最后的位置之间的距离小于阈值。
5.根据权利要求4所述的方法,其特征在于,所述一个或多个候选路段和所述最后的位置之间的距离小于50米。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述位置数据,确定一个或多个第一特征;以及
基于所述运动数据,确定一个或多个第二特征,
其中所述最后的位置与所述一个或多个候选路段中的每个候选路段匹配的匹配概率是通过将所述一个或多个第一特征和所述一个或多个第二特征输入到所述目标神经网络模型来确定的。
7.根据权利要求6所述的方法,其特征在于,所述一个或多个第一特征包括以下中的至少一种:所述至少两个位置中的每个位置与所述一个或多个候选路段中的每个候选路段之间的距离,或所述至少两个位置中的每个位置的定位准确度。
8.根据权利要求7所述的方法,其特征在于,所述距离是所述至少两个位置中的每个位置与所述一个或多个候选路段中的每个候选路段之间的垂直距离。
9.根据权利要求6所述的方法,其特征在于,所述一个或多个第二特征包括加速度、方向角或速度中的至少一个。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
确定与所述一个或多个候选路段相关的一个或多个第三个特征,并且其中所述目标路段是基于所述位置数据、所述运动数据和所述一个或多个第三特征来确定的。
11.根据权利要求10所述的方法,其特征在于,所述一个或多个第三特征包括以下中的至少一种:
与所述一个或以上候选路段中的每个候选路段相关的车道数量,
与所述一个或以上候选路段中的每个候选路段相关的速度限制,
所述一个或以上候选路段中的每个候选路段的等级,或
所述一个或以上候选路段中的每个候选路段的状况。
12.根据权利要求1所述的方法,其特征在于,所述神经网络模型是基于长短期记忆模型、循环神经网络模型、门控循环单元模型中的至少一种构建的。
13.根据权利要求12所述的方法,其特征在于,所述长短期记忆模型包括具有30个节点的双向长短期记忆模型。
14.根据权利要求12所述的方法,其特征在于,所述神经网络模型基于一个或多个一维卷积层构造。
15.根据权利要求14所述的方法,其特征在于,所述一维卷积层配置有修正线性单元激活函数。
16.根据权利要求12所述的方法,其特征在于,所述神经网络模型基于全连接层构造。
17.根据权利要求16所述的方法,其特征在于,所述全连接层中的节点数等于128。
18.根据权利要求16所述的方法,其特征在于,所述全连接层配置有S型函数。
19.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标路段,确定所述轨迹是否正在改变或已经改变。
20.根据权利要求1所述的方法,其特征在于,所述至少两个连续位置包括30个连续位置。
21.一种用于地图匹配的系统,其特征在于,所述系统包括:
获取模块,用于
获取位置数据,所述位置数据包括和轨迹相关的至少两个连续位置,在所述至少两个连续位置中具有最后的位置;以及
获取运动数据,所述运动数据与所述至少两个连续位置相关;
候选路段确定模块,用于确定一个或多个候选路段;以及
匹配模块,用于
使用目标神经网络模型,基于所述位置数据和运动数据,确定所述最后的位置与所述一个或多个候选路段中的每个候选路段相匹配的匹配概率;以及
将具有最高匹配概率的候选路段指定为所述目标路段,
其中所述目标神经网络模型是通过使用至少两组训练样本来训练神经网络模型而获取的;所述至少两组训练样本中的每组训练样本包括一个或多个与参考位置相关的特征、一个或多个与所述参考位置处的参考客户终端的移动相关的特征和一个或多个与所述参考位置匹配的参考路段相关的特征。
22.一种用于地图匹配的装置,其特征在于,所述装置包括至少一个存储介质以及至少一个处理器;
所述至少一个存储介质用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令以实现如权利要求1-20中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现如权利要求1-20中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910479798.5A CN110686686B (zh) | 2019-06-04 | 2019-06-04 | 用于地图匹配的系统和方法 |
PCT/CN2019/090233 WO2020243937A1 (en) | 2019-06-04 | 2019-06-06 | Systems and methods for map-matching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910479798.5A CN110686686B (zh) | 2019-06-04 | 2019-06-04 | 用于地图匹配的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110686686A CN110686686A (zh) | 2020-01-14 |
CN110686686B true CN110686686B (zh) | 2020-10-02 |
Family
ID=69107569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910479798.5A Active CN110686686B (zh) | 2019-06-04 | 2019-06-04 | 用于地图匹配的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110686686B (zh) |
WO (1) | WO2020243937A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11473927B2 (en) * | 2020-02-05 | 2022-10-18 | Electronic Arts Inc. | Generating positions of map items for placement on a virtual map |
CN111784798B (zh) * | 2020-06-30 | 2021-04-09 | 滴图(北京)科技有限公司 | 地图生成方法、装置、电子设备和存储介质 |
CN112067005B (zh) * | 2020-09-02 | 2023-05-05 | 四川大学 | 一种基于转弯点的离线地图匹配方法、装置及终端设备 |
CN112084285B (zh) * | 2020-09-11 | 2023-08-08 | 北京百度网讯科技有限公司 | 用于地图匹配的方法、装置、电子设备以及可读介质 |
WO2022066098A1 (en) * | 2020-09-22 | 2022-03-31 | Grabtaxi Holdings Pte. Ltd | Method and device for determining a navigation profile for a vehicle in a geographical area |
CN112653997A (zh) * | 2020-12-29 | 2021-04-13 | 西安九索数据技术股份有限公司 | 一种基于基站序列的位置轨迹计算方法 |
CN112883058A (zh) * | 2021-03-23 | 2021-06-01 | 北京车和家信息技术有限公司 | 用于车辆定位的标定方法、装置、设备、车辆和介质 |
CN113188553B (zh) * | 2021-04-15 | 2023-11-21 | 杭州海康威视系统技术有限公司 | 路线规划方法、装置、电子设备及机器可读存储介质 |
CN113295173B (zh) * | 2021-05-24 | 2023-08-29 | 安徽师范大学 | 环形路段的地图匹配方法 |
CN115394107A (zh) * | 2022-08-03 | 2022-11-25 | 内蒙古巨宇测绘有限公司 | 一种错峰停车方法及系统 |
CN116086453B (zh) * | 2022-12-12 | 2024-03-12 | 运来智能装备(无锡)有限公司 | 一种基于概率优化计算的惯导和地图组合定位方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090107845A (ko) * | 2008-04-10 | 2009-10-14 | 엘지전자 주식회사 | 차량 항법 방법 및 그 장치 |
CN101571400A (zh) * | 2009-01-04 | 2009-11-04 | 四川川大智胜软件股份有限公司 | 基于动态交通信息的嵌入式车载组合导航系统 |
US20150354973A1 (en) * | 2013-03-15 | 2015-12-10 | Hewlett-Packard Development Company, L.P. | Map matching |
CN104034338B (zh) * | 2014-06-17 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 一种动态导航方法及装置 |
CN105628033B (zh) * | 2016-02-26 | 2019-04-02 | 广西鑫朗通信技术有限公司 | 一种基于道路连通关系的地图匹配方法 |
US10579065B2 (en) * | 2016-11-23 | 2020-03-03 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
WO2018175441A1 (en) * | 2017-03-20 | 2018-09-27 | Mobileye Vision Technologies Ltd. | Navigation by augmented path prediction |
CN108253976B (zh) * | 2018-01-04 | 2021-06-15 | 重庆大学 | 一种充分借助车辆航向的三阶段在线地图匹配算法 |
CN108680174B (zh) * | 2018-05-10 | 2019-05-10 | 长安大学 | 一种基于机器学习算法改进地图匹配异常点的方法 |
CN108763558B (zh) * | 2018-05-25 | 2020-12-18 | 武汉大学 | 一种基于地图匹配的众包地图道路质量改进方法 |
-
2019
- 2019-06-04 CN CN201910479798.5A patent/CN110686686B/zh active Active
- 2019-06-06 WO PCT/CN2019/090233 patent/WO2020243937A1/en active Application Filing
Non-Patent Citations (2)
Title |
---|
Combining Conflicting and Confirmatory Information for Map Matching Using Paraconsistent Neural Networks;Anderson A. Silva, Anna H. R. Costa, Carlos H. C. Ribeiro;《IFAC Proceedings Volumes》;20091231;全文 * |
MAP MATCHING BASED ON PARACONSISTENT ARTIFICIAL NEURAL NETWORKS;Carlos Henrique Costa Ribeiro, Anderson Anjos da Silva;《IFAC Proceedings Volumes》;20081231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020243937A1 (en) | 2020-12-10 |
CN110686686A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110686686B (zh) | 用于地图匹配的系统和方法 | |
US10281285B2 (en) | Method and apparatus for providing a machine learning approach for a point-based map matcher | |
US10657804B2 (en) | Updating maps and road status | |
US11562168B2 (en) | Clustering for K-anonymity in location trajectory data | |
CN107449433B (zh) | 用于收集用于更新地理数据库的观测数据的方法及装置 | |
US10970542B2 (en) | Scalable three dimensional object segmentation | |
EP2737279B1 (en) | Variable density depthmap | |
US9222786B2 (en) | Methods and systems for creating digital transportation networks | |
US11657072B2 (en) | Automatic feature extraction from imagery | |
US11226630B2 (en) | Method and apparatus for estimating a localized position on a map | |
US10852443B2 (en) | Algorithm and architecture for map-matching streaming probe data | |
EP3671550A1 (en) | Dynamically loaded neural network models | |
US20200019585A1 (en) | Triangulation for k-anonymity in location trajectory data | |
US11042648B2 (en) | Quantification of privacy risk in location trajectories | |
US11231282B2 (en) | Method and apparatus for providing node-based map matching | |
US11691630B2 (en) | Road surface detection | |
CN112868036A (zh) | 位置推荐的系统和方法 | |
US11055862B2 (en) | Method, apparatus, and system for generating feature correspondence between image views | |
WO2019228391A1 (en) | Systems and methods for online to offline services | |
CN113450455A (zh) | 用于生成停车场的道路链路的地图的方法、设备和计算机程序产品 | |
JP2024020616A (ja) | ナビゲーション中に難しい操縦についての追加の命令を提供すること | |
CN110689719B (zh) | 用于识别封闭路段的系统和方法 | |
CN112197780A (zh) | 路径规划方法、装置、电子设备 | |
US20210270629A1 (en) | Method and apparatus for selecting a path to a destination | |
US11725945B2 (en) | System and method for providing localization using inertial sensors |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200717 Address after: Room 201, 2 / F, building 3, yard 29, Dongbei Wangnan Road, Haidian District, Beijing 100193 Applicant after: Ditu (Beijing) Technology Co.,Ltd. Address before: 100193 building 34, 8 West Road, Northeast Road, Haidian District, Beijing. Applicant before: BEIJING DIDI INFINITY TECHNOLOGY AND DEVELOPMENT Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |