导航app控制方法及相关产品与流程

文档序号:17594869发布日期:2019-05-03 22:22阅读:202来源:国知局
导航app控制方法及相关产品与流程

本申请涉及终端设备以及交通领域,具体涉及一种导航app控制方法及相关产品。



背景技术:

现有技术中,终端已经是用户使用最频繁的电子装置,例如,手机、车载终端、平板电脑等等设备。路径导航已经成为人们日常生活中最常用的功能,尤其对于驾驶员来说,其处于很多目的,均需要进行导航。

现有的导航app无法通过自动识别线路来控制导航app,所以现有的导航app用户操作也不方便,影响用户体验度。

申请内容

本申请实施例提供了一种导航app控制方法及相关产品,可以实现终端对交通路况的自动分享,提高用户体验度。

第一方面,本申请实施例提供一种导航app控制方法,所述方法包括如下步骤:

接收用户输入的目的地址,获取当前位置的第一坐标,生成第一坐标与目的地址的第一路径;

提取用户的α条历史路径,将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径;所述α为大于等于2的整数;

将α个重叠子路径中相同的子路径划分成子路径组得到β个子路径组,从β个子路径组中选取子路径数量大于数量阈值的γ个子路径组,从γ个子路径组中选取子路径距离最长的第一子路径组,提取第一子路径组中包含的第一子路径的终点坐标对应的第一链路,β、γ均为大于等于1的整数,且α≥β≥γ;

控制导航app在第一坐标到第一链路之间关闭,在第一链路到目的地址之间开启导航app。

可选的,所述将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径具体包括:

提取α条历史路径中一条历史路径,将该一条历史路径与第一路径同时显示在导航地图中,获取导航地图中一条历史线路与第一路径重叠的线路,确定该线路为一条历史路径的一条重叠子路径,遍历α条历史路径得到α条重叠子路径。

可选的,所述提取用户的α条历史路径具体包括:

识别用户的第一身份,提取与第一身份匹配的α条历史路径。

可选的,所述方法还包括:

建立重叠子路径列表,将该第一子路径保存至该重叠子路径列表内。

第二方面,提供一种电子装置,所述电子装置包括:

输入单元,用于接收用户输入的目的地址;

定位单元,用于获取当前位置的第一坐标;

处理单元,用于生成第一坐标与目的地址的第一路径;提取用户的α条历史路径,将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径;所述α为大于等于2的整数;将α个重叠子路径中相同的子路径划分成子路径组得到β个子路径组,从β个子路径组中选取子路径数量大于数量阈值的γ个子路径组,从γ个子路径组中选取子路径距离最长的第一子路径组,提取第一子路径组中包含的第一子路径的终点坐标对应的第一链路,β、γ均为大于等于1的整数,且α≥β≥γ;控制导航app在第一坐标到第一链路之间关闭,在第一链路到目的地址之间开启导航app。

可选的,所述处理单元,具体用于提取α条历史路径中一条历史路径,将该一条历史路径与第一路径同时显示在导航地图中,获取导航地图中一条历史线路与第一路径重叠的线路,确定该线路为一条历史路径的一条重叠子路径,遍历α条历史路径得到α条重叠子路径。

可选的,所述处理单元,具体用于识别用户的第一身份,提取与第一身份匹配的α条历史路径。

可选的,所述处理单元,还用于建立重叠子路径列表,将该第一子路径保存至该重叠子路径列表内。

可选的,所述电子装置为:智能手机、平板电脑或智能车载终端。

第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的所述的方法。

第四方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。

实施本申请实施例,具有如下有益效果:

可以看出,本申请提供的技术方案在用户确定第一路径时,将该第一路径与历史路径进行比对确定重叠子路径,然后对重叠子路径提取重叠数量大于数量阈值的γ个子路径组,然后在γ个子路径组中确定子路径距离最长的第一子路径组,将该第一子路径组中的终点坐标对应的link1作为开启导航app的起点,这样对于用户来说,其导航app在前期的路径无需开启,只需要开启gps导航即可,对于后续的线路,其不知道线路时,就开启对应的导航app,这样即能够减少导航app的开启时间,又能不影响用户的使用,并且用户无需控制导航app,从而提高了用户的体验度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种终端的结构示意图。

图2是本申请实施例公开的一种导航app控制方法的流程示意图。

图3a是一种卷积计算的示意图。

图3b是另一种卷积计算的示意图。

图3c是卷积计算的数据切割示意图。

图3d是本申请提供的卷积计算的数据切割示意图。

图4是本申请实施例公开的一种电子装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

参阅图1,图1为一种终端结构示意图,如图1所示,该终端可以包括智能终端(如android智能终端、ios智能终端、windowsphone智能终端)等。如图1所示,该终端包括:处理器101、输入单元102、通信模组103(可选的)、存储器104和摄像头105。

如图1所示的终端具体可以为,智能手机、平板电脑或智能车载终端。

对于导航软件,其使用的方式一般为不知道路的情况下才会连续使用,目前的导航app的开启以及关闭均基于用户的手动操作,对于开启,由于导航软件在大部分的时间在开车之前即打开导航app,所以对用户造成的影响还不大,但是对于导航app来说,用户有可能是前段路径知道线路,但是目的地的附近不知道线路,此种情况下,用户为了能够到达目的地,也必须一致开启导航,这样导致开启导航的时间比较长,较长的导航比较费电,其次浪费流量,这样对终端造成不必要的终端,但是如果是中途打开导航app,这样需要在开车状态下打开手机进入导航app,这样影响安全,即时是停车使用手机打开导航,不一定所有的地方都能够停车,另外,停车使用app也会影响用户使用,所以现有的导航app有改进的必要。

参阅图2,图2提供了一种导航app控制方法,如图2所示,该方法由如图1所示的终端完成,该方法如图2所示,包括如下步骤:

步骤s201、接收用户输入的目的地址,获取当前位置的第一坐标,生成第一坐标与目的地址的第一路径;

上述第一坐标可以由定位模块来实现,该定位模块包括但不限于:gps模块或北斗模块等。

上述第一路径可以为用户从多个路径中选择的路径。

步骤s202、提取用户的α条历史路径,将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径;上述α为大于等于2的整数。

上述历史路径具体可以为已经发生的路径,包括但不限于,已经完成导航的路径、生成线路的路径等等在第一路径之前导航app存在或生成的路径均可以称为历史路径。

需要说明的是,上述历史路径与第一路径如没有重叠,则该重叠子路径为空。

步骤s203、将α个重叠子路径中相同的子路径划分成子路径组得到β个子路径组,从β个子路径组中选取子路径数量大于数量阈值的γ个子路径组,从γ个子路径组中选取子路径距离最长的第一子路径组,提取第一子路径组中包含的第一子路径的终点坐标对应的第一链路link1。上述β、γ均为大于等于2的整数,且α≥β≥γ。

步骤s204、控制导航app在第一坐标到第一链路之间关闭,在第一链路到目的地址之间开启导航app。

本申请提供的技术方案在用户确定第一路径时,将该第一路径与历史路径进行比对确定重叠子路径,然后对重叠子路径提取重叠数量大于数量阈值的γ个子路径组,然后在γ个子路径组中确定子路径距离最长的第一子路径组,将该第一子路径组中的终点坐标对应的link1作为开启导航app的起点,这样对于用户来说,其导航app在前期的路径无需开启,只需要开启gps导航即可,对于后续的线路,其不知道线路时,就开启对应的导航app,这样即能够减少导航app的开启时间,又能不影响用户的使用,并且用户无需控制导航app,从而提高了用户的体验度。

对于导航软件的应用中,对于路径的导航,其基于对路径的提取,对于驾驶员来说,在路径行驶的次数比较多时,其自然能够记得具体的路,例如,家到公司或公司到家的路径,由于几乎每天都需要行驶,因此驾驶员对于此种路径是不需要导航的,但是对于其他的路径来说,驾驶人员不一定记得路,所以需要导航。通过对路径的大数据分析,导航路径中大部分的路径均为常用路径,用通俗的话说,大部分路径均由主干道和支干道组成,对于主干道,如果行驶多次,其会对路径记忆,但是对于支干道,大部分是不知道的。具体的,例如北京三环、二环、四环快速路,几乎在北京的驾驶人员每天均需要行驶,所以其肯定能够知道具体的路线。

以国家知识产权局为例,对于国知局人员甲,人员甲在国知局上班,每天从家里开车形式到国知局需要经过北三环,人员甲是知道北三环的线路的,那么如果人员甲需要从国知局到一个未知的地点,其开始的主干道属于人员甲的知道的路,不需要导航,但是如果其行驶到支干道后(即未知路段),人员甲就需要导航了,那么对于导航app,前段线路不需要导航app(关闭),后段线路需要导航(开启),为了匹配此方案,本申请提取对应的数据,如果在一个导航路径中的前阶段的子路径被常用路径(即历史路径)所包含,那么用户在前段路径是不需要导航app的,所以其可以关闭,需要说明的,这里对于子路径一定是前段阶段的子路径才有效(即起始位置为已知),此种情况下能够节省导航app的开启时间,对于导航app的耗电量是非常大的,所以其能够节省终端的电量以及通信流量。

可选的,上述将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径具体可以包括:

提取α条历史路径中一条历史路径,将该一条历史路径与第一路径同时显示在导航地图中,获取导航地图中一条历史线路与第一路径重叠的线路即为一条历史路径的一条重叠子路径,遍历α条历史路径得到α条重叠子路径。

此处,如一条历史线路与第一路径无重叠的线路,那么确定一条历史路径的一条重叠子路径为空。

可选的,上述方法还可以包括:

建立重叠子路径列表,将该第一子路径保存至该重叠子路径列表内。

这里建立重叠子路径列表为了方便用户在下次比对时直接从重叠子路径列表内查找是否具有相同的子路径,这样方便用户使用。

可选的,上述提取用户的α条历史路径具体可以包括:

识别用户的第一身份,提取与第一身份匹配的α条历史路径。

上述识别用户的第一身份可以通过多种方式来识别,例如,通过人脸识别的方式来确定第一身份,具体可以包括:采集第一图片,依据第一图片确定第一身份。当然在实际应用中,还可以通过其他方式,例如采集瞳孔图片,对瞳孔图片进行识别确定第一身份。

具体的,上述依据第一图片确定第一身份的实现方式可以包括:

采集第一图片,如第一图片包括人脸图片,对第一图片进行人脸识别确定第一图片的第一身份,上述对第一图片进行人脸识别确定第一图片的第一身份的方式具体可以为,将第一图片输入到神经网络模型执行多层运算得到正向运算结果,依据正向运算结果确定第一图片的身份。

上述依据正向运算结果确定第一图片的身份可以通过现有的方式来确定,例如百度人脸识别算法,例如谷歌人脸识别算法的确定方式,当然也可以通过其他方式,例如,如正向运算的结果为数据块(具体可以为三维数据或二维数据),获取数据块中大于设定阈值的x个元素的x个位置,如x个位置中大于x/2个位置对应的结果确定为第一身份,确定第一图片为第一身份。

上述将第一图片输入到神经网络模型执行多层运算得到正向运算结果中的多层运算包括但不限于:卷积运算。

如执行多层运算包括卷积运算时,如图3a到图3d所示,每个方框代表一个元素的值,其中,h、w均为大于等于3的整数,ci、co均为大于等于1的整数。如图3a所示,执行卷积运算具体可以包括:

确定卷积运算的输入数据[ci][h][w]以及卷积核kernel[co][ci][3][3],将卷积核kernel[co][ci][3][3]沿co方向切割形成co个kernel[ci][3][3],将co个kernel[ci][3][3]与输入数据执行三维卷积运算得到co个三维卷积结果,将co个三维卷积结果沿co方向组合起来得到最终的输出结果[co][ci][h-2][w-2]。

上述一次三维卷积运算如图3b所示,具体可以包括,如co=1,将输入数据[ci][h][w]沿ci方向切割成ci个[h][w],将kernel[ci][3][3]沿ci方向切割成ci个kernel[3][3],将ci方向上相同的[h][w]与kernel[3][3]执行卷积运算得到ci个[h-2][w-2],沿ci方向对ci个[h-2][w-2]排列得到三维卷积结果[ci][h-2][w-2]。

上述ci为深度值,h为高度值,w为宽度值,co数量值,具体的图示可以如图3a和图3b所示。

上述将ci方向上相同的[h][w]与kernel[3][3]执行卷积运算得到ci个[h-2][w-2]具体可以包括:

将[h][w]沿h方向切割成h-2个矩阵[3][w],每个矩阵[3][w]与kernel[3][3]执行卷积计算得到[h-2][w-2]中的h方向一行的结果,计算h-2个矩阵[3][w]得到h-2行的结果即得到计算结果[h-2][w-2];

上述将矩阵[3][w]与kernel[3][3]执行卷积运算得到h方向一行结果具体可以包括:

如w=6,则将矩阵[3][6]的矩阵按移动步长1切割成3个[3][4]的子矩阵[3][4]1、[3][4]2、[3][4]3,其中下角标为子矩阵的序号,对[3][4]1执行单位运算得到[h-2][w-2]中的h方向一行的一个元素值和序号的和,所述单位运算具体包括:将[3][4]1每次提取h方向一行的4个元素,将4个元素的前3个元素与卷积核对应位置的元素执行内积得到一行内积结果,将第4个元素的最后一个元素与卷积核对应元素相乘得到一个乘积结果,所述卷积核对应元素为在kernel[3][3]中高度值为提取h方向一行的值,宽度值为子矩阵的序号(如果提取[3][4]1,提取h=1时,对应位置的元素为第1元素,提取h=2时,对应位置的元素为第4元素,如果提取[3][4]2,提取h=1时,对应位置的元素为第2元素,提取h=2时,对应位置的元素为第5元素),执行3次单位运算得到3行内积结果和3个乘积结果,将3行内积结果相加得到一个元素值,将3个乘积结果相加得到第一序号的和,对[3][4]2、[3][4]3也执行单位运算得到[h-2][w-2]中的h方向一行的另一个元素值、又一个元素值、第二序号的和以及第三序号的和,将第一序号的和、第二序号的和以及第三序号的和相加得到[h-2][w-2]中的h方向一行的还一个元素值;将一个元素值、另一元素值、又一元素值以及还以元素值沿w方向排列得到所述h方向一行的结果(如图3d所示)。

如w大于6,按移动步长1对矩阵每切割3次,在w方向移动步长变换成2一次切割子矩阵,这样相当于在w方向空一行数据,因为这行数据已经被计算了。

对于此方案,其具有如下的技术效果,对于卷积的数据提取,现有的设备每次提取均为128bit的数据,由于现有的数据基于浮点数据的运算,每个浮点数据无论其大小,均由32bit组成,那么一次提取128bit的数据刚好为h方向的一行数据,所以其提取数据的时,每提取一次,只用记录一次相同的h数据,即4个值只用记录一个h数据,这样节省了数据提取的效率,也减少了数据提取的量,另外,上述技术方案通过三次单次卷积的运算即能够得到4个元素的值,这样节省了卷积运算的次数,提高了卷积计算的效率,这样能够提高分辨的时间。

为了更好的说明其效果,这里通过一个实际的例子来说明,对于一个[3][6]与kernel[3][3]执行卷积运算,每执行一次单次卷积运算得到一个元素值(即输出结果的一个元素值),那么需要4个元素值,就需要4次单次卷积运算,并且由于每次提取4个元素值,元素值不在h方向的一行,那么需要记录每个元素值的h数据,也提高了数据记录量,如图3c为现有的卷积运算示意图,如图3d所示为本申请的卷积示意图,一个虚线框为一次单独卷积运算的数据,通过2个图对比可以看出,其得到的单次卷积运算的次数少。

参阅图4,本申请提供一种电子装置,所述电子装置包括:

输入单元401,用于接收用户输入的目的地址;

定位单元402,用于获取当前位置的第一坐标;

处理单元403,用于生成第一坐标与目的地址的第一路径;提取用户的α条历史路径,将α条历史路径与该第一路径逐一比对确定重叠的α个重叠子路径;所述α为大于等于2的整数;将α个重叠子路径中相同的子路径划分成子路径组得到β个子路径组,从β个子路径组中选取子路径数量大于数量阈值的γ个子路径组,从γ个子路径组中选取子路径距离最长的第一子路径组,提取第一子路径组中包含的第一子路径的终点坐标对应的第一链路,β、γ均为大于等于1的整数,且α≥β≥γ;控制导航app在第一坐标到第一链路之间关闭,在第一链路到目的地址之间开启导航app。

上述电子装置具体可以为:智能手机、平板电脑或智能车载终端。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种导航app控制方法的部分或全部步骤。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种导航app控制方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1