用于数字路径规划的系统和方法

文档序号:1676770 发布日期:2019-12-31 浏览:9次 >En<

阅读说明:本技术 用于数字路径规划的系统和方法 (System and method for digital path planning ) 是由 潘睿 王征 于 2017-05-16 设计创作,主要内容包括:用于推荐路径的方法包括获取与道路网络相关的第一起点和第一终点。该方法还包括获取路径推荐模型。该方法还包括基于路径推荐模型确定从第一起点到第一终点的推荐路径。(A method for recommending a route includes obtaining a first start point and a first end point associated with a road network. The method also includes obtaining a path recommendation model. The method also includes determining a recommended path from the first starting point to the first ending point based on the path recommendation model.)

用于数字路径规划的系统和方法

技术领域

本申请涉及数字路径规划,更具体地涉及使用由机器学习训练的路径推荐模型的数字路径规划的系统和方法。

背景技术

基于地图的数字导航变得越来越流行。当前基于地图的导航应用程序通常基于由应用程序指定的某些预定因素和规则(例如,消耗的时间、路径长度、交通状况)来推荐用户从他/她的当前位置到目的地的路径。然而,用户可能不会选择推荐的路径,因为推荐的路径可能并非用户认为的较好路径。例如,用户可能偏好大多数人在规划从起点到目的地的路径时可能选择的路径。因此,可能需要推荐更好路径的路径推荐模型。

发明内容

本申请的一个方面,提供了在至少一个设备上实现的方法,每个设备都具有至少一个处理器和存储设备。该方法可以包括以下操作中的一个或多个。所述至少一个处理器可以获取第一起点和第一终点,所述第一起点和第一终点可以与道路网络相关。所述至少一个处理器可以获取路径推荐模型。所述至少一个处理器可以基于所述路径推荐模型来确定从所述第一起点到所述第一终点的推荐路径。

本申请的另一方面,提供了一种用于推荐路径的系统。所述系统可以包括获取单元和生成单元。获取单元可以被配置为获取与道路网络相关的第一起点和第一终点。生成单元可以被配置为获取路径推荐模型;生成单元可以进一步被配置为基于路径推荐模型确定从第一起点到第一终点的推荐路径。

本申请的又一方面,提供了一种存储指令的非暂时性计算机可读介质。当所述指令由计算设备执行时,可以使计算设备执行以下操作中的一个或多个。可以获取第一起点和第一终点,所述第一起点和所述第一终点可以与道路网络相关。所述至少一个处理器可以获取路径推荐模型。所述至少一个处理器可以基于所述路径推荐模型确定从所述第一起点到所述第一终点的推荐路径。

在一些实施例中,可以基于生成推荐路径的方法生成路径推荐模型,该方法可以包括:获取与道路网络相关的第二起点和第二终点;从存储设备获取多条历史路径,所述多条历史路径中的每一条路径包括所述第二起点和所述第二终点;确定所述第二起点与所述第二终点之间的多个路段;确定所述多个路段的初始权重;至少部分地基于多个路段的所述初始权重来确定从所述第二起点到所述第二终点的一条或多条普通路径;调整所述一条或多条普通路径上路段的初始权重;调整历史路径上路段的初始权重;基于所述一条或多条普通路径上路段的调整后的初始权重和所述历史路径上路段的调整后的初始权重,确定路径推荐模型。

在一些实施例中,确定所述多个路段的初始权重可以包括:获取与所述道路网络相关的道路网络数据,所述道路网络数据包括所述第二起点和所述第二终点之间的所述多个路段的一个或多个道路特征;以及基于所述多个路段的一个或多个道路特征确定所述多个路段的初始权重。

在一些实施例中,可以根据最大余量规划算法或最大熵逆增强学习算法来确定一个或多个普通路径。

在一些实施例中,可以根据MMP算法确定一条或多条普通路径,所述一条或多条普通路径是从所述第二起点到所述第二终点的最短路径。

在一些实施例中,调整一个或多个普通路径上路段的初始权重和历史路径的初始权重可以包括增大历史路径上路段的初始权重,以及减小一个或多个普通路径上路段的初始权重。

在一些实施例中,历史路径上路段的权重可以增加第一值,一个或多个普通路径上路段的权重可以减少第二值,并且可以基于一个或多个超参数和优化算法来确定所述第一值和所述第二值。

在一些实施例中,历史路径上路段的权重可以增加第三值,一个或多个普通路径上路段的权重可以减少第四值,并且可以基于Softmax算法确定第三值和第四值。

在一些实施例中,该方法还可以包括获取验证数据;基于所述验证数据确定所述推荐路径的命中率,所述推荐路径是基于所述路径推荐模型确定的;确定所述命中率是否小于阈值;以及响应于所述命中率小于所述阈值,调整所述一个或多个普通路径上路段的调整权重和历史路径上路段的调整权重。

在一些实施例中,所述方法可以进一步包括响应于所述命中率大于所述阈值,将所述路径推荐模型输出至服务器。

本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的检查或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过实践或使用以下实例中详细讨论的方法、手段及组合的各个方面来达成。

附图说明

本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将结合参考图示进行详细描述。图纸没有按比例绘制。这些实施例是非限制性的示例性实施例,在图示多种视图下的实施例中,相似的编号表示相似的结构,并且其中:

图1是根据本申请的一些实施例所示的包括路径规划系统的网络环境的示例性示意图;

图2A是根据本申请的一些实施例所示的路径规划系统的示例性模块图;

图2B是根据本申请的一些实施例所示的计算设备的示例性示意图;

图3是根据本申请的一些实施例所示的被配置为实现本申请中公开的特定系统的移动设备的示例性示意图;

图4A是根据本申请的一些实施例所示的处理模块的示例性模块图;

图4B是根据本申请的一些实施例所示的用于确定推荐路径的示例性流程图;

图5是根据本申请的一些实施例所示的训练单元的示例性模块图;

图6是根据本申请的一些实施例所示的用于训练路径推荐模型的示例性流程图;

图7是根据本申请的一些实施所示的用于调整普通路径和历史路径上路段的权重的示例性流程图;以及

图8是根据本申请的一些实施例所示的用于验证路径推荐模型的示例性流程图。

具体实施方式

为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例。对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。应当理解,给出这些示例性实施例仅仅是为了使相关领域的技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在客户端和/或服务器上。这些模块旨在是说明性的,而非意图限制本申请的范围。可以在系统和方法的不同方面使用不同的模块。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。本申请的实施例可以应用于不同的按需服务系统,比如交通服务系统、餐饮服务系统、家政服务系统、医药服务系统等中的一种或多种。以下描述以交通服务系统为例。

仅为了描述方便,不能把本申请限制在所举实施例范围之内。交通服务系统可以包括陆地、海洋、航空、航天等中的一种或几种的组合。以下描述以交通服务系统为例。交通服务系统可以包括陆地、海洋、航空、航天等中的一种或几种的组合。例如,马匹、人力车(两轮自行车、三轮车等)、出租车、专车、顺风车、巴士、火车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统。本申请的不同实施例应用场景可以包括网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等中的一种或几种的组合。应该理解,这里公开的系统和方法的应用场景仅仅是一些示例或实施例。本领域的普通技术人员可以在不进行进一步创造性劳动的情况下将这些附图应用于其他应用场景。例如,其他类似的按需服务系统。

本申请描述的“乘客”、“顾客”、“需求者”、“服务需求者”、“消费者”、“消费方”、“使用需求者”等是可以互换的,是指需要或者订购服务的一方,可以是个人,也可以是工具。同样地,本申请描述的“司机”、“提供者”、“供应者”、“服务提供者”、“服务提供方”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。另外,本申请描述的“用户”可以是需要或者订购服务的一方,也可以是提供服务或者协助提供服务的一方。

本申请涉及用于训练路径推荐模型的系统和方法。路径推荐模型可以通过在迭代训练过程中优化路径推荐模型的参数来进行训练。在迭代训练过程期间,可以减小历史路径上路段的权重(即,实际路径),并且可以增大普通路径上路段的权重(即,基于路段权重确定的路径)。当历史路径上路段的权重足够小时,说明由路径推荐模型生成的推荐路径基本是用户实际选择的,此时迭代训练过程可以终止。路径推荐模型可以用于在规划路径时为用户推荐路径。

图1是包括根据本申请的一些实施例所示的包括路径规划系统的网络环境的示例性示意图。网络环境100可以包括路径规划系统110、终端120、存储器130、定位设备140、网络150和信息源160。路径规划系统110可以被配置成分析和处理收集的信息以训练路径推荐模型。路径推荐模型可以用于预测用户在规划路径时可以选择的路径。路径规划系统110可以基于训练路径推荐模型为用户(例如,司机)生成推荐路径。路径推荐系统110可以在例如,计算机、服务器、或经由有线或无线网络连接的服务器组等计算设备上实现。服务器组可以是集中式的或分布式的。

终端120可以与路径规划系统110、存储器130和信息源160进行通信。在一些实施例中,用户可以经由终端120输入数据/信息以控制路径推荐模型的训练过程。例如,用户可以输入机器学习模型,以及与所述模型相关的一个或多个超参数等。

终端120可以包括台式计算机120-1、膝上型计算机120-2、车辆的内置装置120-3、移动设备120-4等,或其任意组合。内置设备120-3可以是计算机等。移动设备120-4可以是智能手机、个人数字助理(PDA)、平板电脑、手持游戏玩家、智能眼镜、智能手表、可佩戴设备、虚拟现实设备、增强现实设备(例如,Google Glass、Oculus Rift、全息透镜和/或GearVR)等,或其任意组合。在一些实施例中,终端120可以由用户(例如,乘客)用来从路径规划系统110获取从起点到目的地的推荐路径。

存储器130可以存储与路径推荐模型相关的数据。在一些实施例中,存储器130可以从终端120、定位设备140、信息源160和/或路径规划系统110收集数据。存储器130可以是分层数据库、网络数据库、关系数据库等,或其任意组合。在一些实施例中,存储器130可以在能够存储数据的任何设备中实现,例如,随机存取存储器(RAM)、CD-ROM、闪存、硬盘、只读存储器(ROM)等,或其任意组合。在一些实施例中,存储器130可以经由一个或多个有线和/或无线通信链路直接连接到路径规划系统110或路径规划系统110的一部分。在一些实施例中,存储器130可以在远程设备(例如,云存储)中实现,并且经由网络150连接到路径规划系统110。终端120和/或定位设备140可以经由网络150访问存储器130。

定位设备140可以收集与用户(例如,司机)的历史路径相关的数据。路径规划系统110可以从定位设备140获取与历史路径相关的数据,用于训练路径推荐模型。在一些实施例中,定位设备140可以接收由用户经输入设备输入的起点和目的地。定位设备140还可以通过网络150将接收到的起点和目的地发送到路径规划系统110,路径规划系统110可以使用本申请其他地方描述的训练路径推荐模型来确定推荐路径。路径规划系统110还可以通过网络150将所确定的推荐路径发送到定位设备140,定位设备140可以(例如,通过用户界面)向用户输出推荐路径。

定位设备140可以是收集或记录用户的历史路径的包含了定位技术(例如,全球定位系统(GPS)技术)的任何设备或系统。在一些实施例中,定位设备140可以与终端120结合。例如,可以包括GPS模块的移动设备120-4可以促进路径规划系统110和用户之间的通信以及收集用户的历史路径。

网络150可以是单个网络或网络的组合。例如,网络150可以包括局域网(LAN)、广域网(WAN)、公用网络、私人网络、专有网络、公共交换电话网(PSTN)、互联网、无线网络、虚拟网络、或者上述网络的任何组合。网络150可以包括多个网络接入点,例如,有线或无线接入点,包括基站150-1、基站150-2、网络交换点(未示出)等。通过网络接入点,任何数据源都可以连接到网络150,并通过网络150传输信息。网络150还可以包括无线网络(例如,蓝牙网络、无线局域网(WLAN)和/或Wi-Fi)、移动网络(例如,2G、3G、或4G信号)、或其他通信方法(例如,虚拟专用网(VPN)、共享网络、近场通信(NFC)和/或ZigBee)。

信息源160可以为路径规划系统110提供参考信息。参考信息可以包括与路径推荐模型相关的各种类型的信息,包括例如,交通信息(实时或历史)、天气状况、市政服务信息、法律法规信息和/或新闻事件。信息源160可以在单个中央服务器、经由通信链路连接的多个服务器或多个个人设备中实现。当在多个个人设备中实现信息源160时,个人设备可以生成内容,例如,文本、语音、图像和/或视频。参考信息可以由路径规划系统110在路径推荐模型的训练过程期间使用。

应当注意,包含路径规划系统110的网络环境100的上述描述是出于说明的目的而提供的,而不是旨在限制本公开的范围。对于本领域普通技术人员来说,网络环境100中包含的组件可以以各种方式组合,或者作为子系统与其他组件连接,并且可以在本公开的教导下进行各种变化和修改。这些修正和改变仍在以上描述的范围之内。例如,存储器130可以是具有数据存储功能的云计算平台,包括但不限于公用云、私有云、社区云,和混合云等。例如,此类的变形,均在本申请的保护范围之内。

图2A是根据本申请的一些实施例所示的路径规划系统的示例性示意图。路径规划系统110可以包括处理模块205、存储模块210、输入/输出215和通信模块220。路径规划系统110的模块可以是集中式的或分布式的。路径规划系统110的一个或多个模块可以是本地的或远程的。

处理模块205可以被配置为训练路径推荐模型。处理模块205可以从终端120、存储器130、定位设备140,和/或信息源160接收信息。在一些实施例中,处理模块205可以执行计算机指令(例如,程序代码),以根据这里描述的技术处理接收到的信息。例如,处理模块205可以基于最大余量规划算法来确定一个或多个普通路径。并且一条或多条普通路径可以用于调整路径推荐模型的参数。再例如,处理模块205可以利用优化算法(例如,梯度下降)优化路径推荐模型以满足条件。

在一些实施例中,处理模块205可以包括硬件处理器,例如,微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASIC)、应用特定指令集处理器(ASIP)、中央处理器(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机(ARM)、可编程逻辑器件以及能够执行一个或多个功能的任何电路和处理器等,或其任意组合。

存储模块210可以存储与路径推荐模型相关的数据。所述数据可以从处理模块205、终端120、存储器130、定位设备140、信息源160和/或路径规划系统110的任何组件获取。存储模块210可以存储各种数据,包括例如,程序、代码、算法、参考信息、历史数据、验证数据、机器学习模型,和/或机器学习模型的超参数。存储模块210还可以存储由处理模块205执行的计算机指令,以执行本申请中公开的一个或多个功能。

存储模块210可以包括能够存储数据的任何设备。仅作为示例,存储模块210可以包括易失性或非易失性、磁性、半导体、磁带、光学、可移动、不可移动或其他类型的存储设备或有形(即,非暂时性)计算机可读介质,包括但不限于ROM、闪存、动态RAM和静态RAM。

输入/输出215可以输入和/或输出数据。在一些实施例中,输入/输出215可以使用户能够与路径规划系统110交互。例如,用户可以设置包括例如,学习速率和/或小批量大小的超参数来训练路径推荐模型。又例如,输入/输出215可以向用户输出信息(例如,推荐路径、用于确定预设条件的请求消息)。

输入/输出215还可以包括输入设备和输出设备。示例性的输入设备可以包括控制面板、键盘、鼠标、触摸屏、麦克风等,或其任意组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影仪等,或其任意组合。示例性的显示设备可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(CRT)、触摸屏等,或其任意组合。

通信模块220可以将路径规划系统110连接到网络(例如,网络150)以促进数据通信。通信模块220可以在路径规划系统110和终端120、存储器130、定位设备140和/或信息源160之间建立连接。该连接可以是有线连接、无线连接、能够进行数据发送和/或接收的任何其他通信连接和/或这些连接的任何组合。有线连接可以包括例如,电缆、光缆、电话线等,或其任意组合。无线连接可以包括例如,蓝牙链路、Wi-Fi链路、WiMax链路、WLAN链路、ZigBee链路、移动网络链路(例如,3G、4G、5G等),或其任意组合。在一些实施例中,通信模块220可以是和/或包括标准化通信端口,例如,RS232、RS485等。在一些实施例中,通信模块220可以是专门设计的通信端口。

应该注意,以上对路径规划系统110的描述仅仅是为了说明的目的而提供的,并不旨在限制本申请的范围。对于本领域技术人员而言,在本申请内容的指导下,可做出多种变形和修改。例如,在路径规划系统110中仅描述了一个处理模块。路径规划系统110还可以包括多个处理模块,因此由本申请中描述的一个处理模块执行的操作和/或方法步骤也可以由多个处理模块联合或单独执行。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

图2B是根据本申请的一些实施例所示的计算设备的示例性示意图。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。两种计算机都可以被用于实现本实施例中的特定系统。计算设备250可以被配置为实现执行本申请的一个或多个功能的任何组件。例如,路径规划系统110可以在硬件设备、软件程序、固件或类似计算设备250的计算机的任何组合中实现。为简洁起见,图2B仅描绘了一个计算设备。在一些实施例中,提供路径规划可能需要功能的计算设备的功能可以由一组类似平台以分布式模式实现,以分散系统的处理负载。

计算设备250可以包括可以与网络连接可以实现数据通信的通信终端270。计算设备250还可以包括处理器255,处理器255可以包括一个或多个处理器,并被配置为执行指令。示例性的计算机平台可以包括内部通信总线285,不同形式的程序储存单元以及数据储存单元(例如,硬盘280、只读存储器(ROM)260、随机存取存储器(RAM)265),能够用于计算机处理和/或通信使用的各种数据文件,以及处理器255所可能执行的程序指令。计算设备250还可以包括输入/输出275,输入/输出275可以支持计算设备250和其他组件(例如,用户界面)之间数据流的输入和输出。此外,计算设备250可以通过通信网络接收程序和数据。

上面描述了提供路径规划所需功能的方法和/或通过程序实现其他步骤的方法的各个方面。该技术的程序可以被认为是以可执行代码和/或相关数据的形式呈现的“产品”或“工件”。该技术的程序可以由计算机可读介质加入或实现。有形的、永久的储存介质包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器,或者类似任何时间能够为软件提供存储功能的设备。

一些或全部软件有时可以通过网络通信,例如,因特网或其他通信网络。此类通信能够将软件从一个计算机设备或处理器加载至另一个计算机设备或处理器。例如,软件可以从路径规划系统110的管理服务器或主计算机加载到计算机环境中的硬件平台,或者加载到能够实现该系统的其他计算机环境。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如,光波、电波、电磁波等,通过电缆、光缆或者空气实现传播。用来载波的物理介质,例如,电缆、无线连接,或光缆等类似设备,也可以被认为是承载软件的介质。在这里,除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。

计算机可读介质可能有多种形式,包括但不限于,有形的存储介质、载波介质,或物理传输介质。稳定的储存介质可以包括光盘或磁盘,以及其他计算机或类似设备中使用的,能够实现图中所描述的系统组件的存储系统。不稳定的存储介质包括动态内存,例如,计算机平台的主内存。有形传输介质可以包括同轴电缆、铜电缆和光纤,包括在计算设备250内部形成总线的电路。载波介质可以传输电信号、电磁信号、声信号或光波信号。并且这些信号可以通过射频通信或红外数据通信产生。通常的计算机可读介质包括硬盘、软盘、磁带、任何其他磁性介质;CD-ROM、DVD、DVD-ROM、任何其他光学介质;穿孔卡、任何其他包含小孔模式的物理存储介质;RAM、PROM、EPROM、FLASH-EPROM,任何其他存储器片或磁带;传输数据或指令的载波、电缆,或传输载波、任何其他可以利用计算机读取的程序代码和/或数据的连接装置。这些计算机可读介质会被应用在处理器执行指令、传输一个或更多结果的过程中。

本领域技术人员能够理解,本申请所披露的内容可以出现多种变型和改进。例如,上述路径规划系统110的模块全部由硬件设备实现。更具体地,处理模块205可以在处理器255中实现,存储模块210可以由ROM 260、RAM 265和硬盘280中的一个或多个实现,输入/输出215可以由输入/输出275实现,通信模块220可以由COM终端270实现。后文权利要求中所要求保护的所有应用、变形以及改变都属于本申请的范围。

图3是根据本申请的一些实施例所示的被配置为实现本申请中公开的特定系统的移动设备的示例性示意图。在一些实施例中,终端120可以是被配置为执行本申请中公开的终端120的一个或多个功能(例如,显示和传送与路径推荐模型相关的信息)的移动设备300。移动设备300可以包括但不限于智能手机、平板电脑、音乐播放器、便携式游戏控制台、GPS接收器、可佩戴计算设备(例如,眼镜或手表)等。移动设备300可以包括一个或多个中央处理单元(CPU)340、一个或多个图形处理单元(GPU)330、显示器320、内存360、天线310(例如,无线通信单元)、存储器390,和一个或多个输入/输出350。移动设备300可以是任何其他合适的组件,包括但不限于系统总线或控制器(图上未显示)。如图3所示,移动操作系统370(例如,IOS、Android或Windows Phone)和一个或多个应用程序380可以从存储器390加载到内存360并由CPU 340实现。应用程序380可以包括被配置为接收和处理与移动设备300中的路径推荐模型相关信息的浏览器或其他移动应用。用户可以通过输入/输出350从路径规划系统110获取通信信息,并将该信息提供给路径规划系统110和/或路径规划系统110的其他模块或单元,例如,存储模块210。

为了实现上述各种模块、单元及其功能,计算机硬件平台可以用作一个或多个元件的硬件平台(例如,图2A中描述的路径规划系统110的模块)。这类计算机的硬件元素、操作系统和程序语言是常见的,可以假定本领域技术人员对这些技术都足够熟悉,能够利用这里描述的技术提供按需服务所需要的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。经过适当编程后,具有用户界面的计算机可以用作服务器。可以认为,本领域技术人员也可以熟悉这种类型的计算机设备的这种结构、程序或一般操作。因此,不再对附图进行额外的解释。

图4A是根据本申请的一些实施例所示的处理模块的示例性模块图。处理模块205可以包括获取单元410、训练单元420、验证单元430和生成单元440。

获取单元410可以获取用于训练路径推荐模型的数据。在一些实施例中,获取单元410可以从存储模块210、输入/输出215、通信模块220、终端120、存储器130、定位设备140、信息源160或通过网络150连接到路径规划系统110的任何其他设备(例如,云服务器)获取数据。获取的数据可以包括道路网络数据、历史路径、验证数据、参考信息、算法等,或其任意组合。更具体地,道路网络数据可以是与电子地图相关的数据。在一些实施例中,道路网络数据可以包括一个或多个道路特征,例如,道路长度、道路宽度、道路安全、交通灯、交通流、道路维护、道路类型(例如,公路、服务道路、单行道、双行道等),等等。历史路径可以包括由定位设备140在历史时段内收集的多个用户的实际路径。验证数据可以用于验证基于路径推荐模型生成的预测结果的准确性。参考信息可以包括天气状况、新闻事件(例如,交通事故、桥梁倒塌)等。算法可以包括最大余量规划、最大熵逆增强学习、梯度下降、AdaGrad、损失函数、Softmax等。

在一些实施例中,获取的数据或其一部分可以被发送到训练单元420以训练路径推荐模型。在一些实施例中,获取的数据或其一部分可以被发送到验证单元430以验证路径推荐模型。在一些实施例中,获取单元410可以在将数据发送到训练单元420和/或验证单元430之前对获取的数据执行预处理操作。例如,获取单元410可以将范围从0到3000的道路长度归一化,以获取范围从0到1的归一化道路长度。

训练单元420可以训练路径推荐模型。路径推荐模型可以用于推荐用户在规划路径时可以选择的路径。路径推荐模型可以是机器学习模型。在一些实施例中,路径推荐模型可以是概率模型。路径推荐模型可以由用户,根据路径规划系统110的默认设置,或两者的组合来确定。

训练单元420可以从获取单元410获取训练数据,并基于所获取的数据训练路径推荐模型。在一些实施例中,训练单元420可以在迭代过程中训练路径推荐模型。在这样的迭代过程中,可以更新路径推荐模型的一个或多个参数,并且可以基于更新的参数优化路径推荐模型。在一些实施例中,一个或多个参数可以与从获取单元410获取的数据相关。例如,一个或多个参数可以与道路特征,例如,道路长度、道路宽度等相关。当满足预设条件时,训练过程(例如,迭代过程)可以终止。训练单元420还可以将训练后的路径推荐模型发送到验证单元430进行验证。

验证单元430可以验证训练的路径推荐模型。验证单元430可以从训练单元420获取训练的路径推荐模型。可以基于从获取单元410获取的验证数据来验证所获取的路径推荐模型。在一些实施例中,验证单元430可以确定命中率,命中率可以表示根据训练的路径推荐模型确定的推荐路径的准确性。推荐路径的准确性可以通过将用户选择的实际路径与路径推荐模型推荐的路径进行比较来确定。在路径推荐模型被验证(例如,命中率高于阈值)之后,验证单元430可以将验证的路径推荐模型发送到生成单元440。

生成单元440可以生成并输出路径推荐模型和/或推荐路径。生成单元440可以从验证单元430获取路径推荐模型。生成单元440可以基于路径推荐模型生成推荐路径。推荐路径可以根据,例如由用户提供的起点和目的地,来生成。在一些实施例中,生成单元440可以在用户规划路径时向用户输出路径推荐模型和/或推荐路径(例如,通过连接到输入/输出215)。在一些实施例中,生成单元440可以将路径推荐模型和/或推荐路径输出到与路径规划系统110通信(例如,通过连接到通信模块220)的远程装置(例如,云服务器)。

图4B是根据本申请的一些实施例所示的用于确定推荐路径的示例性流程图。在460中,可以获取起点和目的地。起点和目的地可以由,例如获取单元410获取。在一些实施例中,定位设备140可以接收由用户输入的起点和目的地。起点和目的地可以是用户在道路网络中选择的不同节点。如这里所使用的,节点通常指道路网络中道路的交叉点或连接点。

在470中,可以获取路径推荐模型。路径推荐模型可以由训练单元420训练和/或由验证单元430验证。路径推荐模型可以与路段权重有关。路段可以指连接道路网络中两个不同节点的路段。关于路径推荐模型的确定的详细描述可以在本申请的其他地方找到(例如,图5至图8)。所确定的路径推荐模型可以由,例如生成单元440,获取。

在480中,可以基于路径推荐模型来确定从起点到目的地的推荐路径。推荐路径可以由,例如生成单元440,确定。在一些实施例中,可以通过将发送的起点和目的地作为路径推荐模型的输入来确定推荐路径,并且可以将根据推荐模型确定的推荐路径作为其输出。在一些实施例中,推荐路径可以被发送给用户(例如,显示在输入/输出215上,或者经由网络150被发送到用户终端120或140)。在一些实施例中,推荐路径可以输出到与路径规划系统110通信(例如,通过连接到通信模块220)的远程设备(例如,云服务器)。

图5是根据本申请的一些实施例所示的训练单元的示例性模块图。训练单元420可以包括道路网络处理子模块510、权重确定子模块520和算法存储子模块530。道路网络处理子模块510可以处理与电子地图相关的道路网络数据。在一些实施例中,道路网络处理子模块510可以从获取单元410获取道路网络数据。道路网络处理子模块510可以使用道路网络数据来确定道路网络中的元素。示例性元素可以包括节点、路段等。如这里所使用的,节点通常指道路网络中的道路的交叉点或连接点,而路段通常指连接道路网络中两个不同节点的路段。道路网络处理子模块510可以确定道路网络中的一个或多个普通路径。普通路径可以指用户在规划路径时倾向于选择的路径。

道路网络处理子模块510可以从权重确定子模块520获取道路网络中路段的权重。在一些实施例中,道路网络处理子模块510可以基于道路网络中路段的权重来确定一个或多个普通路径。道路网络处理子模块510可以从算法存储子模块530获取一个或多个算法(例如,MMP、最大熵IRL、Softmax)。可以根据一个或多个算法来确定一个或多个普通路径。

权重确定子模块520可以确定路段和/或路径的权重。权重确定子模块520可以确定路段和/或路径的初始权重。这里使用的术语“初始权重”一般是指路段和/或路径权重的初始值。权重确定子模块520可以从获取单元410接收道路网络数据。在一些实施例中,道路网络数据可以包括一个或多个道路特征。示例性的道路特征可以包括道路长度、道路宽度、交通流量、交通灯、道路安全、道路维护、道路类型(公路、服务道路、单行道、双行道等)等,或其任意组合。在一些实施例中,权重确定子模块520可以从获取单元410接收参考信息。参考信息可以包括天气状况、法律法规信息、新闻事件等。在一些实施例中,权重确定子模块520可以基于道路特征和/或参考信息来确定道路网络中路段和/或路径的初始权重。例如,权重确定子模块520可通过计算一个或一个以上道路特征的值(例如,道路长度、道路宽度等)的平均值来确定路段的初始权重。在由获取单元410执行的归一化操作后,一个或多个道路特征的值的范围是从0到1。在一些实施例中,权重确定子模块520可以基于用户输入或根据路径计划系统110的默认设置来确定路段和/或路径的初始权重。

权重确定子模块520还可以确定路段和/或路径的权重的调整值,并且基于调整值来调整路段和/或路径的权重。在一些实施例中,权重确定子模块520可以从算法存储子模块530获取算法(例如,用于优化路径推荐模型的一个或多个参数的优化算法,例如,梯度下降、随机梯度下降,或者Adagrad)。权重确定子模块520可以根据所获取的算法来确定调整值。在一些实施例中,权重确定子模块520可以基于路径推荐模型的超参数(例如,学习速率或正则化项目)来确定调整值。在一些实施例中,权重确定子模块520可以基于用户输入,根据路径规划系统110的默认设置来确定调整值。

算法存储子模块530可以存储可以由道路网络处理子模块510和/或权重确定子模块520访问的路径推荐模型的训练过程和/或验证过程中使用的算法。该算法可涉及道路网络处理、权重确定、参数优化等,或其任意组合。示例性算法可以包括MMP、最大熵IRL、Softmax、损失函数、最大似然等。在一些实施例中,存储在算法存储子模块530中的算法还可以包括深度学习算法、决策树算法、神经网络算法等或其任何组合。更具体地,深度学习算法可以包括限制玻尔兹曼机(RBN)、深度信念网络(DBN)、卷积网络、堆叠式自动编码器等。决策树算法可以包括分类和回归树(CART)、迭代二分器3(ID3)、C4.5、Chi-squared自动交互检测(CHAID)、决策树桩、随机森林、多变量自适应回归样条(MARS),或梯度提升机(GBM)等。神经网络算法可以包括感知器神经网络、后向传播、Hopfield网络、自组织映射(SOM)或学习矢量量化(LVQ)等。

图6是根据本申请的一些实施例所示的用于训练路径推荐模型的示例性流程图。在610中,可以获取与道路网络相关的起点和终点。起点和终点可能是指道路网络中的不同节点。如这里所使用的,节点通常是指道路网络中的道路的交叉点或连接点。在一些实施例中,道路网络可以包括起点和终点之间的各种类型的道路。道路类型可以包括公路、公园道路、绕城道路、高速公路、街道、大道、小道、巷道等,或其任意组合。在一些实施例中,输入/输出215可以获取起点、终点以及用户历史路径。仅出于说明的目的,描述了一个起点和一个终点。在一些实施例中,可以获取道路网络中的多个起点和相应的终点。

还可以获取多个历史路径。多个历史路径中的每一个路径都可以包括获取的起点和终点。在一些实施例中,一些用户历史路径可以从起点开始并在终点结束。一些历史路径可能具有与获取的起点不同的起点和/或与获取的起点不同的终点。例如,历史路径可能不是从获取的起点开始,而是经过了获取的起点。用户历史路径可以通过在特定时间收集来自特定用户的路径而获取。例如,包括起点和终点的历史路径可以从由定位装置140(例如,定位设备140-1、定位设备140-2)在上个月收集的路径中获取。历史路径可以从,例如终端120、存储器130、定位设备140或信息源160,获取。

在620中,可以确定起点和终点之间的多个路段。路段可以由,例如路径处理子模块510确定。路段可以指连接道路网络中两个不同节点的路段。在一些实施例中,可以在确定路段之前定义包括起点和终点的特定区域。具体区域可以由用户,根据路径规划系统110的默认设置,或两者的组合来确定。例如,当在屏幕窗口上显示道路地图时,屏幕上的区域可以被定义为特定区域。用户可以调整道路地图的比例(例如,通过触摸屏幕窗)来定义含有待确认路段的特定区域。路径处理模块510可以在特定区域内确定起点和终点之间的多个路段。在一些实施例中,包括连接起点和终点的多个路段的路径或者路径的一部分也可以被确定为路段。在一些实施例中,路段或路段的一部分可以被分成多个路段。

在630中,可以确定路段的权重。路段的权重可以由,例如权重确定子模块520确定。在一些实施例中,由权重确定子模块520确定路段的权重也可以被称为初始权重。路段的初始权重可以基于路段的一个或多个道路特征来确定。示例性道路特征可以包括道路长度、道路宽度、交通流量、交通灯、道路安全、道路维护、道路类型(公路、服务道路、单行道、双行道等)等,或其任意组合。上述道路特征可以从存储器130,信息源160或本公开中描述的能够获取或存储道路特征的任何设备或部件获取。在一些实施例中,路段的初始权重可以由用户,根据路径规划系统110的默认设置等来设置。

在640中,可以基于路段的权重确定一个或多个普通路径。如这里所使用的,普通路径可以表示用户倾向于选择的从起点到终点的一个或多个路径。一个或多个普通路径可以根据算法来确定。仅作为示例,该算法可以包括最大余量规划(MMP)、最大熵逆增强学习(IRL)、Softmax等,或其任意组合。

在一些实施例中,可以基于路段的权重来确定一个或多个普通路径。仅出于说明目的,可以根据MMP算法确定普通路径。例如,普通路径可以是从起点到终点的“最短”路径,这可以使用MMP算法基于路段的权重来确定。“最短”路径可以定义为具有最小的路段总权重的路径。路段的总权重可以是路径中每个路段的权重之和。

再例如,可以根据最大熵IRL算法来确定多个普通路径。例如,总权重较高的前五条路径可以确定为多条普通路径。再例如,多个普通路径可以包括路段数量少于100的路径。在一些实施例中,多个普通路径中的每一个路径可以对应于一个特定值。该特定值可以表示用户在规划路径时选择对应路径的概率。在一些实施例中,可以基于算法,例如Softmax算法,确定特定值。Softmax算法可以用如下公式(1)表示:

其中,A、B、C和D是指根据最大熵IRL算法获取的四条普通路径;WA、WB、WC和WD分别是路径A、路径B、路径C和路径D上路段的总权重;PA是指用户在规划路径时选择路径A的概率。

在650中,可以调整普通路径和用户历史路径上路段的权重。在一些实施例中,路段的权重可以通过,例如权重确定子模块520来调整。路段权重的调整值可以由用户(例如,技术人员)确定,或者由路径规划系统110根据路径推荐模型的训练过程中的进展来设置。在一些实施例中,普通路径上路段权重的调整值可以根据路径推荐模型的超参数来设置。关于普通路径和用户历史路径上路段的权重调整的详细描述在本申请的其他地方公开(例如,图7及其相关描述)。

道路网络中路段的权重可以与路径推荐模型的一个或多个参数相关。在一些实施例中,道路网络中路段的权重可以是路径推荐模型的参数。在一些实施例中,可以执行特定操作(例如,映射)以将道路网络中路段的权重与路径推荐模型的参数相关联。在一些实施例中,道路网络中路段的权重可以将路径推荐模型的一个或多个参数与道路网络数据(例如,一个或多个道路特征,例如,道路长度、道路宽度)相关联。调整道路网络中路段的权重的操作可以适应路径推荐模型以满足预设条件。

在一些实施例中,可以在调整普通路径和用户历史路径上路段的权重之前确定优化算法和/或与路径推荐模型相关的一个或多个超参数。优化算法可用于在训练过程中优化路径推荐模型的一个或多个参数。优化算法可以包括但不限于梯度下降、随机梯度下降、Adagrad等,或其任意组合。示例性超参数可以包括学习速率、学习速率的变化模式、小批量大小等,或其任意组合。

在660中,可以确定是否满足预设条件。如果满足预设条件,则可以进行到670。如果不满足预设条件,则可以进行迭代,在该迭代中,可以重复步骤640至660,以基于道路网络中路段的权重来确定一组新的普通路径。道路网络中路段的权重可能在先前的迭代中已经改变,因此可以在下一次迭代中相应地确定一组新的普通路径。并且可以进一步调整新的普通路径集合和用户历史路径上路段的权重。

在一些实施例中,预设条件可以与算法的限制(例如,阈值)相关,当算法满足限制时,迭代可以终止。例如,该算法可以是损失函数。仅仅为了说明,当在路径推荐模型的训练过程中达到损失函数的收敛并获取局部最优解时,迭代可以终止。在一些实施例中,预设条件可以包括要执行的最大迭代次数(例如,10次),并且当执行至最大迭代次数时(即,满足预设条件),迭代可以终止(即,进行至670)。最大数量可以由用户,根据路径规划系统110的默认设置,或其任意组合来设置。

在670中,可以获取训练的路径推荐模型。训练路径推荐模型可以由训练单元420确定。训练单元420可以将训练的路径推荐模型发送到路径规划系统110的设备或组件,用于预测或推荐用户或司机的路径。在一些实施例中,路径推荐模型可以被发送到服务器(例如,云服务器)或一个或多个终端(例如,移动设备120-4)以进行路径推荐。在一些实施例中,训练的路径推荐模型可以被保存到存储设备(例如,存储器130)以供路径规划系统110的组件存储和/或检索。可以基于路径推荐模型生成推荐路径。在一些实施例中,可以由,例如生成单元440,在接收到用户的起点和目的地之后确定推荐路径。起点和目的地可以从,例如输入/输出215获取。

在一些实施例中,流程600的步骤650可以根据图7所示的流程700来执行,用于根据本申请的一些实施例来调整普通路径和历史路径上路段的权重。在一些实施例中,流程700的步骤710至740可以由,例如权重确定子模块520来执行。在710中,可以确定普通路径上路段权重的第一调整值。根据MMP算法,可以确定一条普通路径。普通路径可以是从起点到终点的“最短”路径。可以基于路径推荐模型的超参数和/或优化算法来确定普通路径上路段权重的第一调整值。路径推荐模型的超参数可以包括学习速率、学习模式的变化模式、正则项、小批量大小等。优化算法可用于优化路径推荐模型的一个或多个参数。优化算法可以包括但不限于梯度下降、随机梯度下降、Adagrad等,或其任意组合。在一些实施例中,普通路径上的每个路段的权重的第一调整值可以相同。例如,当梯度下降被用作优化算法,并且学习速率被设置为1时,普通路径上路段权重的第一调整值可以是1。在一些实施例中,可以自适应地调整普通路径上路段权重的第一调整值,以保持普通路径上路段的总权重恒定。

根据最大熵IRL算法,可以确定多条普通路径。多条普通路径可以对应于多个概率值。例如,如上所述,路径A可以对应于概率值PA。可以基于多个概率值来确定多个普通路径上路段权重的第一调整值。例如,普通路径A可以对应于概率值PA,普通路径A上路段权重的第一调整值可以是PA·K,其中K可以是常数。当梯度下降被用作优化算法并且学习速率被设置为1时,K可以是1。

在720中,可以确定历史路径上路段权重的第二调整值。在一些实施例中,可以基于路径推荐模型的超参数和/或优化算法来确定包括在历史路径中路段的权重的第二调整值。在一些实施例中,根据MMP算法,历史路径上路段权重的第二调整值可以等于普通路径上路段权重的第一调整值。

在730中,一个或多个普通路径上路段的权重可以增加第一调整值。较高的权重可能表示道路网络中的“较长”距离。在增加路段的权重之后,一条或多条普通路径可以“更长”。当路径规划系统110向用户推荐路径时,“较长”路径可以具有比“较短”路径更低的优先级。

在740中,用户历史路径上路段的权重可以减少第二调整值。较低的权重可以表示道路网络中的“较短”距离。在减少路段的权重之后,用户历史路径可能会“缩短”。当路径规划系统110向用户推荐路径时,“较短”路径可以具有比“较长”路径更高的优先级。

仅出于说明的目的,道路网络中路段的权重可以以不同的方式确定。例如,路段的权重可以由,例如权重确定子模块520,基于一个或多个道路特征和模型M来确定。模型M可以不同于路径推荐模型。在一些实施例中,模型M可以是可微分模型。模型M可以根据基于路段权重调整值的迭代中的优化算法来更新。并且可以根据更新的模型M来更新路段的权重。更具体地,可以确定模型M的所有参数对于路段权重的偏导数。偏导数和路段权重调整值的乘积可用于根据优化算法更新模型M的参数。并且可以根据更新的模型M来更新路段的权重。

例如,当使用学习速率为1的梯度下降算法时,模型M可以是如公式(2)所示的线性回归模型,

M=a·L+b·W (2),

其中,L是路段对应的道路长度;W是路段对应的道路宽度;a是模型M中与道路长度相关的参数;b是模型M中与道路宽度相关的参数。

在一些实施例中,参数a和b可以根据MMP算法确定。如果路段在普通路径上,则参数a和b可以根据公式(3)和(4)分别在迭代中更新:

a′=a+L (3),

b′=b+W (4),

其中,a′是迭代中参数a更新的参数值;b′是迭代中参数b更新的参数值。如果路段在历史路径上,则参数a和b可以根据公式(5)和(6)分别在迭代中更新:

a′=a-L (5),

b′=b-W (6),

其中,a′是迭代中参数a更新的参数值;b′是迭代中参数b更新的参数值。如果路段既不在普通路径上也不在历史路径上,则参数a和b可以保持不变。

在一些实施例中,参数a和b可以根据最大熵IRL算法确定。如果路段在普通路径上,则参数a和b可以根据公式(7)和(8)分别在迭代中更新:

a′=a+PA·L (7),

b′=b+PA·W (8),

其中,a′是迭代中参数a更新的参数值;b′是迭代中参数b更新的参数值;PA是用户在规划路径时从多条普通路径中选择路径A的概率。如果路段在历史路径上,参数a和b则可以根据公式(5)和(6)分别在迭代中更新。如果路段既不在普通路径上也不在历史路径上,则参数a和b可以保持不变。

路段的权重可以基于模型M(例如,模型M的更新参数a′和b′)来确定,模型M用公式(9)表示:

X=a′·L+b′·W (9),

其中X是在迭代中更新的路段权重。

图8是根据本申请的一些实施例所示的用于验证路径推荐模型的示例性流程图。在810中,可以获取推荐路径和验证数据。在一些实施例中,验证单元430可以获取推荐路径和验证数据。推荐路径可以由生成单元440基于在流程600中获取的路径推荐模型来生成。生成单元440可以基于起点和目的地生成推荐路径。在一些实施例中,起点可以是用户的当前位置。在一些实施例中,起点和目的地可以从用户(例如,定位设备140或终端120)获取,或者由路径规划系统110等设置。在一些实施例中,可以获取来自不同用户和/或在不同时间(例如,星期一上午8点、星期一下午12点、星期日晚上8点)的多个起点和相应目的地,以验证路径推荐模式。

验证数据可以包括包含了获取的起点和目的地的验证路径。如这里所使用的,验证路径可以相对于历史路径来定义。验证路径可以具有与历史路径不同的至少一条路径。验证路径可以包括在形成历史路径的时段之后形成的一条或多条路径。例如,1月份从某些用户(例如,由定位设备140)获取的实际路径可以被定义为历史路径,2月份从某些用户(例如,由定位设备140)获取的实际路径可以被定义为验证路径。替代地或附加地,验证路径可以包括在获取历史路径的时段之后获取的一条或多条路径。例如,可以在路径推荐模型的训练过程终止之后的一段时间内获取一条或多条验证路径。在一些实施例中,一些验证路径可以从起点开始并在目的地结束。一些验证路径可以具有与获取的起点不同的起点和/或与获取的目的地不同的目的地。例如,最近的路径可能不是从获取的起点开始,而是经过获取的起点。

在820中,可以基于验证数据来确定推荐路径的命中率。命中率可以表示根据训练的路径推荐模型确定的推荐路径的准确性。在一些实施例中,命中率可以由验证单元430确定。当使用路径推荐模型为用户推荐路径时,可以通过将用户选择的实际路径与推荐路径进行比较来确定推荐路径的准确性。用户选择的实际路径可以是验证路径。

在830,可以确定命中率是否高于阈值。在一些实施例中,可以由验证单元430进行确定。如果验证单元430确定命中率高于阈值,则流程可以进行到840,并且生成单元440可以输出路径推荐模型。如果验证单元430确定命中率不高于阈值,则流程可以前进到850以进一步调整道路网络中路段的权重。阈值可以由用户或根据路径规划系统110的默认设置来设置。在一些实施例中,阈值可以由用户通过输入/输出215设置。

在840中,可以输出路径推荐模型。路径推荐模型可以被发送(例如,由生成单元440)到路径规划系统110的设备或组件,用于向用户预测或推荐路径。在一些实施例中,路径推荐模型可以被发送到服务器(例如,远程服务器)或一个或多个终端(例如,终端120),用于路径推荐。在一些实施例中,路径推荐模型可被保存到存储设备(例如,存储器130),以由路径规划系统110的组件存储和/或检索。

在850中,可以调整一条或多条普通路径和历史路径中路段的权重。在一些实施例中,权重确定子模块520可以调整路段权重。在一些实施例中,响应于命中率不高于阈值,流程可以进行到流程600,用于路径推荐模型的新一轮训练。在新一轮训练中,可以确定一条或多条普通路径,可以调整普通路径和历史路径上路段的权重,并且可以确定是否满足本申请其他地方(例如,图6)所述的预设条件。在一些实施例中,用于调整普通路径和历史路径上路段权重的算法可以与前一轮训练中使用的算法不同。例如,如果路径推荐模型在特定训练轮数之后命中率仍低于阈值,则最大熵IRL算法可以替代MMP算法。在一些实施例中,用于优化路径推荐模型的参数的算法可以被与前一轮优化中使用的算法不同的另一算法替代。在一些实施例中,可以重新确定路段的初始权重。例如,可以至少部分地基于例如,天气、道路维护等一些其他信息来重新确定路段的初始权重。在一些实施例中,可以提供一组新的历史路径来训练路径推荐模型。

在一些实施例中,流程800可以与流程600合并,用于训练路径推荐模型并验证训练的模型。步骤850可以由步骤640至660代替。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。例如,术语“一个实施例”、“一实施例”及“一些实施例”意指与本申请的至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特性可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件实施、可以完全由软件(包括固件、常驻软件、微代码等)实施、也可以由硬件和软件组合实施,上述硬件或软件均可以被称为“模块”、“单元”、“组件”、“装置”或“系统”。此外,本申请的各方面可以呈现为位于一个或多个计算机可读媒体中的计算机产品,该产品具有计算机可读程序编码。

计算机可读信号介质可以包含一个内含计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播讯号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读讯号媒介上的程序编码可以通过任何合适的媒介进行传播,包括无线电、缆线、光纤电缆、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)。

此外,除非申请专利范围中明确说明,否则所述处理元素或序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解,此类细节仅起说明的目的,附加的申请专利范围并不仅限于披露的实施例,相反,申请专利范围旨在覆盖所有符合本申请实施例精神和范围的修正和等价组合。例如,虽然以上描述的系统组件可以通过安装于硬件装置中实施,但也可以只通过软件的解决方案实施,例如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请揭示的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,此揭示方法并不意味着本申请所需的特征比申请专利范围中涉及的特征多。实际上,申请专利范围的特征要少于上述披露的单个实施例的全部特征。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多圈角度测量装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!