基于移动终端导航功能的照片定位方法和系统

申请号 CN201110405657.2 申请日 2011-12-08 公开(公告)号 CN103167395A 公开(公告)日 2013-06-19
申请人 腾讯科技(深圳)有限公司; 发明人 吴永坚;
摘要 本 发明 提供了基于移动终端导航功能的照片 定位 方法和系统。其中,该方法包括:A.在利用照相设备拍摄照片的过程中,移动终端通过自身带有的导航功能获取并记录当前时间信息和当前行踪点的地理 位置 信息;B.利用 云 服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息;其中,所述照相设备与所述移动终端的时间同步。
权利要求

1.一种基于移动终端导航功能的照片定位方法,其特征在于,该方法包括:
A,在利用照相设备拍摄照片的过程中,移动终端通过自身带有的导航功能获取并记录当前时间信息和当前行踪点的地理位置信息;
B,利用服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息;
其中,所述照相设备与所述移动终端的时间同步。
2.根据权利要求1所述的方法,其特征在于,步骤A中,移动终端通过获取并记录当前时间信息和当前行踪点的地理位置信息包括:
A1,移动终端在等待时间间隔Δt后,执行步骤A2;
A2,移动终端通过自身带有的导航功能获取当前时间信息和当前行踪点的地理位置信息,如果成功获取,执行步骤A3,如果失败获取,执行步骤A4;
A3,记录该获取的当前时间信息和当前行踪点的地理位置信息,并在本次获取为首次获取,或者在本次获取为非首次获取、但上次获取为成功获取时,返回步骤A1,否则,按照降低移动终端资源消耗的原则更新所述Δt,在等待更新后的Δt后,返回步骤A2;
A4,更新失败统计次数,并判断更新后的失败统计次数是否小于等于设定阈值,如果是,按照降低移动终端资源消耗的原则更新所述Δt,在等待更新后的Δt后,返回步骤A2,否则,返回步骤A1。
3.根据权利要求2所述的方法,其特征在于,步骤A3中,按照降低移动终端资源消耗的原则更新Δt包括:
判断Δt是否低于设定的默认时间间隔,如果时,将Δt更新为所述默认时间间隔,否则,将Δt缩短为第一设定值。
4.根据权利要求2所述的方法,其特征在于,步骤A4中,按照降低移动终端资源消耗的原则更新Δt包括:
判断Δt是否大于等于设定的最大时间间隔,如果是,将Δt更新为所述最大时间间隔,否则,将Δt扩大为第二设定值。
5.根据权利要求1至4任一所述的方法,其特征在于,移动终端记录获取的当前时间信息和当前行踪点的地理位置信息包括:
所述移动终端将获取的当前时间信息和当前行踪点的地理位置信息记录至该移动终端对应的行踪日志;
步骤B包括:
B1,将被拍摄的照片的信息、以及所述行踪日志分别导入至客户端,由所述客户端将导入的照片信息和行踪日志发送至服务器,所述照片信息至少包括:照片标识、照片的拍摄时间;
B2,所述服务器对所述行踪日志中的行踪点进行分析,在地图上找到与该行踪点地理位置信息匹配度高的匹配点;
B3,所述服务器根据所述照片的拍摄时间、所述行踪日志中的时间信息和行踪点的地理位置信息、以及步骤B2找到的匹配点进行分析,确定出拍摄照片的地理位置信息。
6.根据权利要求5所述的方法,其特征在于,步骤B1包括:
B11,从所述行踪日志中获取所有的行踪点,针对每一行踪点,从地图上查询该行踪点在设定距离R范围内的映射候选点;
B12,计算所有相邻行踪点的映射候选点之间的转移概率,其中,两个映射候选点之间的转移概率表示用户实际上从这两个映射候选点行踪转移的可能性;
B13,根据所有相邻行踪点的映射候选点之间的转移概率建立有向图G(V,E),所述V包括设定的虚拟节点s和t、以及所有相邻行踪点的所有映射候选点,其中,所述虚拟节点s与行踪日志中的第一个行踪点的映射候选点连通,且连通的路径距离为0,所述虚拟节点t与行踪日志中的最后一个行踪点的映射候选点连通,且连通的路径距离为0;
B14,从所述有向图G(V,E)中计算出该虚拟节点s经过所述所有行踪点的映射候选点到达t的最长距离、以及该最长距离对应的轨迹路径;
B15,依据确定的轨迹路径在地图上找到与各个行踪点地理位置信息匹配度高的匹配点。
7.根据权利要求6所述的方法,其特征在于,所述计算行踪点的映射候选点与相邻行踪点的映射候选点之间的转移概率通过以下公式实现:
P(t(i,g),t(j,k))=0,if i=j;
其中,
p(i)和p(j)表示两个相邻的轨迹点,t(i,g)表示轨迹点p(i)的映射候选点,t(j,k)表示轨迹点p(j)的映射候选点,P(t(i,g),t(j,k))表示轨迹点p(i)的映射候选点t(i,g)与轨迹点p(j)的映射候选点t(j,k)之间的转移概率,dist(p(i),p(j))表示两个相邻轨迹点p(i)和p(j)之间的欧氏距离,distshartest(t(i,g),t(j,k))表示t(i,g)与t(j,k)在地图上的最短距离。
8.根据权利要求5所述的方法,其特征在于,步骤B3包括:
B31,依据行踪日志中行踪点的时间信息,对步骤B2找到的与行踪点地理位置信息匹配度高的匹配点进行排序,得到匹配点序列;
B32,针对每一照片,执行以下步骤B33至步骤B34:
B33,依据该照片的拍摄时间在所述匹配点序列中进行二分查找,得到与该照片拍摄时间最相邻的至少两个匹配点;
B34,依据该照片的拍摄时间、步骤B33得到的匹配点的位置和速度的线性关系,计算拍摄该照片的地理位置信息。
9.根据权利要求5或8所述的方法,其特征在于,步骤B15包括:
针对每一行踪点,将所述轨迹路径上包含该行踪点的映射候选点作为与该行踪点地理位置信息匹配度高的匹配点。
10.一种基于移动终端导航功能的照片定位系统,其特征在于,该系统包括:带有导航功能的移动终端和查询服务器,其中,所述照相设备与所述移动终端的时间同步;
所述移动终端包括:获取单元和记录单元;
所述获取单元,用于在利用照相设备拍摄照片的过程中,通过带有的导航功能获取当前时间信息和当前行踪点的地理位置信息;
所述记录单元,用于记录所述获取单元获取的信息;
所述查询服务器包括:
位置确定单元,用于利用云服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息。
11.根据权利要求10所述的系统,其特征在于,所述获取单元包括:获取子单元、判断子单元、第一更新子单元和第二更新子单元;其中,
所述获取子单元,用于在等待时间间隔Δt后,通过所述移动终端带有的导航功能执行获取当前时间信息和当前行踪点的地理位置信息的操作;
所述判断子单元,用于判断所述获取子单元是否成功获取当前时间信息和当前行踪点的地理位置信息,如果失败,通知第二更新子单元,如果成功,触使所述记录单元记录所述获取子单元成功获取的信息,并判断本次获取为首次获取,或者本次获取为非首次获取、但上次获取为成功获取时,返回所述获取子单元执行的操作,否则,则发送通知给第一更新子单元;
所述第一更新子单元,用于接收到所述判断子单元的通知时,按照降低移动终端资源消耗的原则更新所述Δt,并在等待更新后的Δt后,触发所述获取子单元执行获取当前时间信息和当前行踪点的地理位置信息的操作;
所述第二更新子单元,用于接收到所述判断子单元的通知时,更新失败统计次数,并判断更新后的失败统计次数是否小于等于设定阈值,如果是,按照降低移动终端资源消耗的原则更新所述Δt,在等待更新后的Δt后,触发所述获取子单元执行获取当前时间信息和当前行踪点的地理位置信息的操作,否则,返回所述获取子单元执行的操作。
12.根据权利要求10或11所述的系统,其特征在于,所述记录单元将所述获取单元获取的当前时间信息和当前行踪点的地理位置信息记录至所述移动终端对应的行踪日志;
所述系统进一步包括:客户端;
所述客户端包括:
照片导入单元,用于将所述照相设备被拍摄的照片的信息导入至所述客户端,其中,照片信息至少包括:照片的标识、照片的拍摄时间;
日志导入单元,用于将所述行踪日志导入至所述客户端;
发送单元,用于发送导入的照片信息和行踪日志至所述查询服务器;
所述位置确定单元包括:
匹配子单元,用于对接收的行踪日志中的行踪点进行分析,在地图上找到与该行踪点地理位置信息匹配度高的匹配点;
定子单元,用于根据照片的拍摄时间、所述行踪日志中的时间信息和行踪点的地理位置信息、以及所述匹配单元找到的匹配点进行分析,确定出拍摄照片的地理位置信息。
13.根据权利要求12所述的系统,其特征在于,所述匹配子单元包括:
查询模,用于从所述行踪日志中获取所有的行踪点,并针对每一行踪点,从地图上查询该行踪点在设定距离R范围内的映射候选点;
概率计算模块,用于计算所有相邻行踪点的映射候选点之间的转移概率,其中,两个映射候选点之间的转移概率表示用户实际上从这两个映射候选点行踪转移的可能性;
建立模块,用于根据所有相邻行踪点的映射候选点之间的转移概率建立有向图G(V,E),所述V包括设定的虚拟节点s和t、以及所有相邻行踪点的所有映射候选点;
路径计算模块,用于从所述有向图G(V,E)中计算出该虚拟节点s经过所述所有行踪点的映射候选点到达t的最长距离、以及该最长距离对应的轨迹路径;
匹配点确定模块,依据确定的轨迹路径在地图上找到与各个行踪点地理位置信息匹配度高的匹配点。
14.根据权利要求12所述的系统,其特征在于,所述确定子单元包括:
排序模块,用于依据行踪日志中行踪点的时间信息,对所述匹配子单元找到的与行踪点地理位置信息匹配度高的匹配点进行排序,得到匹配点序列;
查找模块,用于针对每一照片,依据该照片的拍摄时间在所述匹配点序列中进行二分查找,得到与该照片拍摄时间最相邻的至少两个匹配点;
位置确定模块,用于依据该照片的拍摄时间、所述查找子单元得到的匹配点的位置和速度的线性关系,计算拍摄该照片的地理位置信息。

说明书全文

基于移动终端导航功能的照片定位方法和系统

技术领域

[0001] 本发明涉及移通信技术,特别涉及基于移动终端导航功能的照片定位方法和系统。

背景技术

[0002] 在移动通信技术中,GPS是英文Global Positioning System的简称,中文为全球定位系统,简称为球位系。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统,其主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的。经过20余年的研究实验,GPS技术得以飞速发展,与其他众多的无线定位技术相比具有覆盖范围广、定位精度高、定位时间短和定位依赖性小等优势,基于这些优势使得原来只在军事上使用的GPS技术在日常生活中已经普及起来,例如GPS智能手机、车载GPS等。
[0003] 尽管GPS技术在日常生活中已经普及起来,但由于带有GPS导航功能的照相设备比如数码相机等远比普通的照相设备的价格高,这导致带有GPS导航功能的照相设备不能普及。而普通照相设备拍摄出的照片不带有地理位置信息,这限制后续借助照片的地理位置信息对照片管理。
[0004] 因此,一种确定普通照相设备拍摄出的照片的拍摄地理位置信息的方法是亟待解决的技术问题。

发明内容

[0005] 本发明提供了基于移动终端导航功能的照片定位方法和系统,以确定不具有导航功能的普通照相设备拍摄照片时的地理位置信息。
[0006] 本发明提供的技术方案包括:
[0007] 一种基于移动终端导航功能的照片定位方法,包括:
[0008] A,在利用照相设备拍摄照片的过程中,移动终端通过自身带有的导航功能获取并记录当前时间信息和当前行踪点的地理位置信息;
[0009] B,利用服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息;
[0010] 其中,所述照相设备与所述移动终端的时间同步。
[0011] 一种基于移动终端导航功能的照片定位系统,该系统包括:带有导航功能的移动终端和查询服务器,其中,所述照相设备与所述移动终端的时间同步;
[0012] 所述移动终端包括:获取单元和记录单元;
[0013] 所述获取单元,用于在利用照相设备拍摄照片的过程中,通过带有的导航功能获取当前时间信息和当前行踪点的地理位置信息;
[0014] 所述记录单元,用于记录所述获取单元获取的信息;
[0015] 所述查询服务器包括:
[0016] 位置确定单元,用于利用云服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息。
[0017] 由以上技术方案可以看出,本发明中,通过在利用照相设备拍摄照片的过程中,由移动终端通过导航功能获取并记录当前时间信息和当前行踪点的地理位置信息;之后利用云服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息。也即,本发明利用照片带有的照片拍摄时间和移动终端记录的时间信息作为照相设备和移动终端沟通的桥梁,巧妙地把移动终端设备的导航功能关联到照片上,在不增加成本的前提下实现照片带有地理位置信息。附图说明
[0018] 图1为本发明实施例提供的方法流程图
[0019] 图2为本发明另一实施例提供的流程图;
[0020] 图3为本发明实施例提供的步骤101或步骤202实现流程图;
[0021] 图4为本发明实施例提供的GPS导航精度示意图;
[0022] 图5为本发明实施例提供的步骤204实现流程图;
[0023] 图6为本发明实施例提供的映射候选点示意图;
[0024] 图7为本发明实施例提供的映射候选点之间的转移概率示意图;
[0025] 图8为本发明实施例提供的步骤504和步骤505解析示意图;
[0026] 图9为本发明实施例提供的步骤205实现流程图;
[0027] 图10为本发明实施例提供的系统结构图;
[0028] 图11为本发明实施例提供的详细系统结构图。

具体实施方式

[0029] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0030] 本发明提供的方法能够实现不具有导航功能比如GPS导航功能的普通照相设备拍摄出的照片带有地理位置信息,下面对本发明提供的方法进行描述:
[0031] 参见图1,图1为本发明实施例提供的方法流程图。如图1所示,该流程可包括以下步骤:
[0032] 步骤101,在利用照相设备拍摄照片的过程中,移动终端通过自身带有的导航功能获取并记录当前时间信息和当前行踪点的地理位置信息,其中,所述照相设备与所述移动终端的时间同步。
[0033] 步骤101中的照相设备可为上述的不具有导航功能的普通照相设备。另外,为便于描述,下面均将导航功能具体为GPS导航功能为例进行描述,其他情况原理类似。
[0034] 步骤102,利用云服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息。
[0035] 也就是说,本发明利用照片带有的照片拍摄时间和移动终端记录的时间信息作为照相设备和移动终端沟通的桥梁,巧妙地把移动终端设备的GPS导航功能关联到照片上,在不增加成本的前提下实现照片带有地理位置信息。
[0036] 至此,完成图1所示的流程。
[0037] 为使图1所示的流程更加清楚,下面结合具体实施例对图1所示的流程进行描述:
[0038] 参见图2,图2为本发明另一实施例提供的流程图。如图2所示,该流程可包括以下步骤:
[0039] 步骤201,在用户利用照相设备拍摄照片前,开启用户的移动终端所具备的以下功能:根据移动终端自带的GPS导航功能获取并记录时间信息和行踪点的地理位置信息,并确保照相设备与移动终端时间同步。
[0040] 步骤202,在利用照相设备拍摄照片的过程中,移动终端基于开启的所述功能通过GPS导航功能获取当前时间信息和当前行踪点的地理位置信息,并将获取的信息记录至移动终端对应的行踪日志。
[0041] 本步骤202中,移动终端可定期通过GPS导航功能获取当前时间信息和当前行踪点的地理位置信息,具体可参见图3所示的流程。至于行踪点的地理位置信息,其可为行踪点的经度、维度等信息,本发明并不具体限定。
[0042] 表1以行踪点的地理位置信息为行踪点的经度、维度为例示出了行踪日志的格式:
[0043]
[0044] 其中,p( )表示行踪点,比如p(g)表示行踪点g。
[0045] 步骤203,在利用照相设备完成拍摄照片后,将被拍摄的照片的信息、以及所述行踪日志分别导入至客户端,由所述客户端将导入的照片信息和行踪日志发送至服务器。
[0046] 本步骤203中的服务器可为用于确定照片地理位置信息的服务器,其记为查询服务器,以下均以查询服务器为例进行描述。
[0047] 另外,本步骤203中,导入的照片的信息可为照片的标识、照片带有的拍摄时间等,本发明并不具体限定。
[0048] 步骤204,查询服务器对行踪日志中的行踪点进行分析,在地图上找到与该行踪点地理位置信息匹配度高的匹配点。
[0049] 本步骤204目的是对行踪日志中行踪点的地理位置信息进行纠正,以还原用户真实的行踪轨迹。
[0050] 步骤205,服务器根据照片信息中照片的拍摄时间、所述行踪日志中的时间信息和行踪点的地理位置信息、以及步骤204找到的匹配点进行分析,确定出拍摄该照片的地理位置信息,并返回给客户端。
[0051] 上述步骤203至步骤205为上述步骤102的具体实现流程图。
[0052] 至此,完成图2所示的流程。
[0053] 从图1、图2所示的流程可以看出,实现本发明,需要借助移动终端自带的GPS导航功能。但是,对于移动终端而言,长期使用GPS导航功能会导致移动终端资源消耗大,且容易让移动终端出现没电的情况,影响移动终端其他功能的实现。基于该问题,本发明进行了创造性劳动,提出了在降低移动终端GPS资源消耗的前提下通过GPS导航功能获取并记录时间信息和行踪点的地理位置信息。
[0054] 参见图3,图3为本发明实施例提供的步骤101或步骤202实现流程图。考虑到GPS资源消耗严重的原因在于卫星寻找与定位,因此,本流程尽量减少GPS的使用,可以有效降低资源消耗严重的问题。如图3所示,该流程可包括以下步骤:
[0055] 步骤301,移动终端在等待时间间隔Δt后,执行步骤302。
[0056] 步骤302,移动终端通过GPS导航获取当前时间信息和当前行踪点的地理位置信息,如果成功获取,则执行步骤303,如果失败获取,则执行步骤304。
[0057] 其中,移动终端在首次执行获取时间信息和行踪点的地理位置信息,则步骤301中的Δt(单位可为分钟)可为设定的默认时间间隔Tstart,该Tstart通过考虑资源消耗和信息精度两方面来确定。
[0058] 另外,本发明中,移动终端获取时间信息和行踪点的地理位置信息的时间间隔Δt取值范围大致为2≤Δt≤5,Δt的取值除了考虑资源消耗和信息精度外,还可以根据移动终端的硬件等资源消耗的信息如CPU频率等进一步考虑。
[0059] 步骤303,记录该获取的当前时间信息和当前行踪点的地理位置信息至对应的行踪日志,并在本次获取为首次获取,或者在本次获取为非首次获取、但上次获取为成功获取时,返回步骤301,否则,按照降低移动终端GPS资源消耗的原则更新所述Δt,在等待更新后的Δt后,返回步骤302。
[0060] 本步骤303中,按照降低移动终端GPS资源消耗的原则更新Δt包括:
[0061] 判断Δt是否低于设定的默认时间间隔,如果时,将Δt更新为所述默认时间间隔,否则,将Δt缩短为第一设定值,比如缩短一半等。下面以Δt缩短一半为例,描述按照降低移动终端GPS资源消耗的原则更新Δt的代码:
[0062] if Δt<Tstart,Δt=Tstart;
[0063] else Δt=Δt/2。
[0064] 步骤304,更新失败统计次数,并判断更新后的失败统计次数是否小于等于设定阈值,如果是,按照降低移动终端GPS资源消耗的原则更新所述Δt,在等待更新后的Δt后,返回步骤302,否则,返回步骤301。
[0065] 本步骤304中,更新失败统计次数可通过以下代码实现:++countfail;
[0066] 本步骤304中,按照降低移动终端GPS资源消耗的原则更新Δt包括:
[0067] 判断Δt是否大于等于设定的最大时间间隔Tmax,如果是,将Δt更新为所述最大时间间隔,否则,将Δt扩大为第二设定值比如扩大2倍等。下面以Δt扩大2倍为例,描述按照降低移动终端GPS资源消耗的原则更新Δt的代码:
[0068] if Δt≥Tmax,Δt=Tmax;
[0069] else Δt=Δt*2。
[0070] 至此,完成图3所示的流程。
[0071] 图3所示的流程目的是尽量减少GPS使用,以降低移动终端资源的消耗。其中,上述步骤304中,当GPS失败获取时间信息和行踪点的地理位置信息(简称GPS信息)时,可以猜测用户已经进入室内,将会进行较长时间的室内活动(如购物、会友、进食等),因此需要扩充时间间隔Δt,但时间间隔Δt不能无限扩充,即不能超过Tmax,这一目的是为了防止用户从不能获取GPS信息的地方转移到可以获取GPS信息后,需要等待较长的时间才能执行下一轮的GPS信息获取。反之,当用户获取到GPS信息时,可以将Δt缩短,比如缩短到原来的一半。需要说明的是,Δt不能立即减少到Tstart,主要是考虑环境的突然变化可能是由于偶然现象所导致(如在室内突然走到窗边GPS信号较好的地方)。
[0072] 通过图3所示的流程,能够降低移动终端资源消耗严重问题。但是,目前GPS导航精度比较高,但仍有几米到几十米的精度误差,比如图4所示,图4中的粗线为用户的真实行踪轨迹,而图4中的a、b、c、d、e、f、g为移动终端通过GPS导航功能获取并记录的当前行踪点,两者显然存在精度误差,这会导致确定出的照片拍摄地理位置信息受到GPS精度误差的影响。因此,就需要上述步骤204中由查询服务器对行踪日志中的行踪点进行分析,在地图上找到与该行踪点地理位置信息匹配度高的匹配点。
[0073] 为了实现步骤204,需要考虑以下三个因素:
[0074] 1、GPS导航具有从几米到几十米的精度误差;
[0075] 2、从图3所示的流程可知移动终端每隔Δt才获取并记录一次GPS信息,因此移动终端对应的行踪日志的GPS信息稀疏,不利于数据统计;
[0076] 3、某些行踪点不容易定位,如图4中的d点,因此光这一个点看既可以映射到东西向的大街,也可以映射在南北向大街。
[0077] 针对上述三个因素,本发明提供了行踪日志地图匹配算法来实现上述步骤204。在详细介绍行踪日志地图匹配算法之前,首先简要说明该行踪日志地图匹配算法的核心思想:
[0078] 1,行踪日志上行踪点的前后位置信息相互影响:例如图4中d点映射到东西还是南北向的大街,不但取决与d点的所在的地理位置信息,还取决与它的相邻的e,f,c,b等点的映射情况。由于e,f,c,b等点映射到东西向的大街,因此d点也映射在东西向的概率比南北向要高;
[0079] 2,相邻行踪点之间相互影响:考虑图4中d点的时候,会受到附近的e等点影响;在考虑e的时候,同样会受到d点的影响。
[0080] 下面对行踪日志地图匹配算法进行详细描述:
[0081] 参见图5,图5为本发明实施例提供的步骤204实现流程图。如图5所示,该流程可包括以下步骤:
[0082] 步骤501,从行踪日志中获取所有的行踪点。
[0083] 步骤502,针对每一行踪点,从地图上查询该行踪点在设定距离R范围内的映射候选点。
[0084] 行踪点的映射候选点(简称为候选点)的定义为行踪点在R范围内所有路径的垂直点和路径的交叉点。
[0085] 假如步骤501获取的行踪点总数为n,第i的行踪点定义为p(i),该行踪点的时间信息为timestamp(i),则如图6所示,行踪点p(i)的映射候选点集合为:{t(1,1),t(1,2),t(1,3),t(1,4)};其中,t(i,1),t(i,3),t(i,4)是行踪点p(i)在R范围内到的路径垂直点,t(i,2)是东西和南北两条路径的交叉点。
[0086] 步骤503,计算所有相邻行踪点的映射候选点之间的转移概率。
[0087] 步骤503通过下式实现:
[0088]
[0089] P(t(i,g),t(j,k))=0,if i=j;
[0090] 其中,p(i)和p(j)表示两个相邻的轨迹点,t(i,g)表示轨迹点p(i)的映射候选点,t(j,k)表示轨迹点p(j)的映射候选点,P(t(i,g),t(j,k))表示轨迹点p(i)的映射候选点t(i,g)与轨迹点p(j)的映射候选点t(j,k)之间的转移概率,dist(p(i),p(j))表示两个相邻轨迹点p(i)和p(j)之间的欧氏距离,distshartest(t(i,g),t(j,k))表示t(i,g)与t(j,k)在地图上的最短距离。
[0091] 在计算两个相邻行踪点的映射候选点之间的转移概率时,作为本发明的一个实施例,仅考虑两个行踪点之间的欧氏距离、以及两个映射候选点在地图上的最短距离。优选地,本发明还可以考虑其他因素,比如考虑公路上的速度限制条件等。
[0092] 需要说明的是,本步骤503中,两个映射候选点之间的转移概率表示用户实际上从这两个映射候选点行踪转移的可能性,比如,图7所示的从p(i)的映射候选点t(i,1)转移到p(i+1)的候选点t(i+1,1)的概率要比从p(i)的映射候选点t(i,2)转移到p(i+1)的候选点t(i+1,2)的概率要高,而且,从全局来看,p(i+1)的下一个行踪点为p(i+2),从而可以得到用户的行踪是沿着东西方向走动。
[0093] 步骤504,根据所有相邻行踪点的映射候选点之间的转移概率建立有向图G(V,E),所述V包括设定的虚拟节点s和t、以及所有相邻行踪点的所有映射候选点。
[0094] 其中,有向图G(V,E)中边的值为:如果边上的两个节点均为映射候选点,则边的值|et(i,g),t(j,k)|=log(P(t(i,g),t(j,k)));否则边的值为0。
[0095] 另外,所述虚拟节点s与行踪日志中的第一个行踪点的映射候选点连通,且连通的路径距离为0,所述虚拟节点t与行踪日志中的最后一个行踪点的映射候选点连通,且连通的路径距离为0。
[0096] 步骤505,从所述有向图G(V,E)中计算出该虚拟节点s经过所述所有行踪点的映射候选点到达t的最长距离、以及该最长距离对应的轨迹路径。
[0097] 其中,最长距离的计算实际是最短路径算法的变种,其可参考Dijkstra的最短路径算法计算。
[0098] 假如步骤501获取的行踪点总数为n,则对步骤504和步骤505进行行解析:在步骤504得到所有映射候选点之间的转移概率后,本质的问题就是求从行踪点p(1)到p(n)中所有映射候选点之间转移概率的乘积的最大值,即(g∈Cp(i-1),j∈Cp(i)),Cp(i-1)为行踪点P(i-1)的映射候选点总数,Cp(i)为行踪点P(i)的映射候选点总数。考虑到log函数的单调性以及运算特性(log(a*b)=log(a)+log(b)),把有向图G(V,E)边值考虑为任意两个映射候选点的转移概率的log值,然后图中增加虚拟节点s和t,从而将从行踪点p(1)到p(n)中所有映射候选点之间转移概率的乘积的最大值的问题转化为求有向图G(V,E)中虚拟节点s和t的最长距离和路径问题,具体如图8所示。
在图8中,t(1,1)至t(1,4)为行踪点p(1)的映射候选点集合,t(n,1)至t(n,4)为行踪点p(n)的映射候选点集合,不同映射候选点集合中任意两个映射候选点之间的距离为该两个映射候选点之间的转移概率的log值,s、t为两个虚拟节点,s至行踪点p(1)映射候选点集合中任一映射候选点的距离为0,行踪点p(n)的映射候选点集合中任一映射候选点到t的距离为0,行踪日志中行踪点的地理位置信息匹配度高的匹配点的问题转化为求图8中s、t之间的最长距离问题。
[0099] 步骤506,依据确定的轨迹路径在地图上找到与各个行踪点地理位置信息匹配度高的匹配点。
[0100] 本步骤506具体实现时可为:针对每一行踪点,将所述轨迹路径上包含该行踪点的映射候选点作为与该行踪点地理位置信息匹配度高的匹配点。
[0101] 至此,完成图5所示的流程。
[0102] 基于图5确定的匹配点,下面对上述步骤205进行描述:
[0103] 参见图9,图9为本发明实施例提供的步骤205实现流程图。如图9所示,该流程可包括以下步骤:
[0104] 步骤901,依据行踪日志中行踪点的时间信息,对与行踪点地理位置信息匹配度高的匹配点进行排序,得到匹配点序列。
[0105] 步骤902,针对每一照片,执行以下步骤903至步骤904。
[0106] 步骤903,依据该照片的拍摄时间在所述匹配点序列中进行二分查找,得到与该照片拍摄时间最相邻的至少两个匹配点。
[0107] 以照片的拍摄时间为timestampphoto,得到的匹配点为m(i)和m(i+1),则timestampphoto(m(i))≤timestampphoto≤timestampphoto(m(i+1))。
[0108] 步骤904,依据该照片的拍摄时间、步骤903得到的匹配点的位置和该得到的匹配点之间的速度的线性关系,计算拍摄该照片的地理位置信息。
[0109] 至此,完成图9所示的流程。
[0110] 通过图9所示的流程能够确定出照片被拍摄的准确地理位置信息。之后,用户可基于拍摄照片的地理位置信息对照片进行管理,比如,平时用户旅游归来后,拍摄的照片众多而且都放在同一个文件目录下面,显得很杂乱无章,基于本发明,可以智能的根据照片拍摄的地理位置信息和时间对照片进行分类排序,方便用户的照片管理;或者,用户平时有很大的照片搜索需求,但由于图片的名称通常是由照相机自动生成的,因此用户基于照片的名称搜索会很不方便,而基于本发明,当照片的拍摄地理位置信息确定后,会使照片搜索更加方便与实用,例如,只要输入“北京天安”,用户在北京天安门附近拍摄的照片即可展示出来,非常方便实用。
[0111] 以上对本发明提供的方法进行了详细描述,下面对本发明提供的系统进行描述:
[0112] 参见图10,图10为本发明实施例提供的系统结构图。如图10所示,该系统包括:带有导航功能的移动终端和查询服务器,其中,所述照相设备与所述移动终端的时间同步;
[0113] 所述移动终端包括:获取单元和记录单元;
[0114] 所述获取单元,用于在利用照相设备拍摄照片的过程中,通过带有的导航功能获取当前时间信息和当前行踪点的地理位置信息;
[0115] 所述记录单元,用于记录所述获取单元获取的信息;
[0116] 所述查询服务器包括:
[0117] 位置确定单元,用于利用云服务将被拍摄的照片带有的照片拍摄时间和所述移动终端获取的时间信息进行关联,以确定出拍摄照片的地理位置信息。
[0118] 为使图10所示的系统更加清楚,下面对图10中各个单元进行具体分析:
[0119] 如图11所示,所述获取单元具体实现时可包括:获取子单元、判断子单元、第一更新子单元和第二更新子单元;其中,
[0120] 所述获取子单元,用于在等待时间间隔Δt后,通过所述移动终端带有的导航功能执行获取当前时间信息和当前行踪点的地理位置信息的操作;
[0121] 所述判断子单元,用于判断所述获取子单元是否成功获取当前时间信息和当前行踪点的地理位置信息,如果失败,通知第二更新子单元,如果成功,触使所述记录单元记录所述获取子单元成功获取的信息,并判断本次获取为首次获取,或者本次获取为非首次获取、但上次获取为成功获取时,返回所述获取子单元执行的操作,否则,则发送通知给第一更新子单元;
[0122] 所述第一更新子单元,用于接收到所述判断子单元的通知时,按照降低移动终端资源消耗的原则更新所述Δt,并在等待更新后的Δt后,触发所述获取子单元执行获取当前时间信息和当前行踪点的地理位置信息的操作;
[0123] 所述第二更新子单元,用于接收到所述判断子单元的通知时,更新失败统计次数,并判断更新后的失败统计次数是否小于等于设定阈值,如果是,按照降低移动终端资源消耗的原则更新所述Δt,在等待更新后的Δt后,触发所述获取子单元执行获取当前时间信息和当前行踪点的地理位置信息的操作,否则,返回所述获取子单元执行的操作。
[0124] 优选地,本实施例中,所述记录单元将所述获取单元获取的当前时间信息和当前行踪点的地理位置信息记录至所述移动终端对应的行踪日志;基于此,如图11所示,所述系统进一步包括:客户端;其中,所述客户端包括:
[0125] 照片导入单元,用于将所述照相设备被拍摄的照片的信息导入至所述客户端,其中,照片信息至少包括:照片的标识、照片的拍摄时间;
[0126] 日志导入单元,用于将所述行踪日志导入至所述客户端;
[0127] 发送单元,用于发送导入的照片信息和行踪日志至所述查询服务器;
[0128] 基于此,如图11所示,所述位置确定单元包括:
[0129] 匹配子单元,用于对接收的行踪日志中的行踪点进行分析,在地图上找到与该行踪点地理位置信息匹配度高的匹配点;
[0130] 确定子单元,用于根据照片的拍摄时间、所述行踪日志中的时间信息和行踪点的地理位置信息、以及所述匹配单元找到的匹配点进行分析,确定出拍摄照片的地理位置信息。
[0131] 其中,所述匹配子单元包括:
[0132] 查询模,用于从所述行踪日志中获取所有的行踪点,并针对每一行踪点,从地图上查询该行踪点在设定距离R范围内的映射候选点;
[0133] 概率计算模块,用于计算所有相邻行踪点的映射候选点之间的转移概率,其中,两个映射候选点之间的转移概率表示用户实际上从这两个映射候选点行踪转移的可能性;
[0134] 建立模块,用于根据所有相邻行踪点的映射候选点之间的转移概率建立有向图G(V,E),所述V包括设定的虚拟节点s和t、以及所有相邻行踪点的所有映射候选点;
[0135] 路径计算模块,用于从所述有向图G(V,E)中计算出该虚拟节点s经过所述所有行踪点的映射候选点到达t的最长距离、以及该最长距离对应的轨迹路径;
[0136] 匹配点确定模块,依据确定的轨迹路径在地图上找到与各个行踪点地理位置信息匹配度高的匹配点。
[0137] 优选地,所述确定子单元具体实现时可包括:
[0138] 排序模块,用于依据行踪日志中行踪点的时间信息,对所述匹配子单元找到的与行踪点地理位置信息匹配度高的匹配点进行排序,得到匹配点序列;
[0139] 查找模块,用于针对每一照片,依据该照片的拍摄时间在所述匹配点序列中进行二分查找,得到与该照片拍摄时间最相邻的至少两个匹配点;
[0140] 位置确定模块,用于依据该照片的拍摄时间、所述查找子单元得到的匹配点的位置和速度的线性关系,计算拍摄该照片的地理位置信息。
[0141] 至此,完成本发明提供的系统结构描述。
[0142] 由以上技术方案可以看出,本发明中,利用照片带有的照片拍摄时间和移动终端记录的时间信息作为照相设备和移动终端沟通的桥梁,巧妙地把移动终端设备的导航功能比如GPS导航功能关联到照片上,在不增加成本的前提下实现照片带有地理位置信息。
[0143] 进一步地,本发明中,在借助移动终端自带的导航功能时,尽量减少导航功能的使用,有效降低资源消耗严重的问题;
[0144] 更进一步地,本发明中,通过行踪日志地图匹配算法确定照片被拍摄的地理位置信息,以提高确定照片被拍摄的地理位置信息的精度。
[0145] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
QQ群二维码
意见反馈