一种基于手机拍照行为的事件定位方法

文档序号:9326668阅读:831来源:国知局
一种基于手机拍照行为的事件定位方法
【技术领域】
[0001] 本发明涉及信息加工技术领域,具体涉及一种基于手机拍照时的空间情境的事件 定位方法。
【背景技术】
[0002] 利用手机的摄像头记录我们身边发生的事件已经成为一种大众行为,人们经常使 用手机拍照记录生活中突发的一些事件,如街头斗殴、火灾等,这些事件往往广受大众和媒 体的关心,而且很多人会将其共享在各种社交媒体中(如QQ群、微信、微博)。这些事件发 生的地点往往通过文字被描述,某些社交媒体支持GPS定位,从而提高事件被定位的精度, 但是,GPS这种定位方法精度虽高,但有些情况下使用报告人的位置是无法定位到事件的发 生地点的。现有技术大多使用个体提供的信息,个别情况下使用群体提供的信息,比如多人 的GPS位置,却无法知道事件的位置和报告人的位置之间的关系,从而无法准确定位。
[0003] 在国际会议 UbiComp2013 的一篇文章 《If You See Something, Swipe towards It:Crowdsourced Event Localization Using Smartphones》中,作者利用多个目击者对事 件的指向来定位事件的发生地点,方法为:目击者在平放的手机上用手指在屏幕上划一条 直线,直线的方向对准事件的发生地点,然后计算这些直线覆盖的地理区域,覆盖最多的区 域,即为事件发生地点。该方法的不足是:要求手机平放并划一条直线,误差较大,需要操作 培训,并且仅仅实现了事件定位,却无其它与事件有关的信息。

【发明内容】

[0004] 照片是还原事件的有力手段,图文并茂已经是在线新闻、微博等的基本特征,因此 拍照行为在事件现场已经非常普遍,而本发明的目的就是利用这些拍照行为精确定位事件 的发生地点。为了提高事件的可溯性,本发明通过多个人提供的若干张照片的拍照情境信 息,准确定位事件发生的地点。
[0005] 为了实现上述任务,本发明采用以下技术方案:
[0006] -种基于手机拍照行为的事件定位方法,包括以下步骤:
[0007] 步骤1,以事件为中心利用手机拍照软件从不同方向拍摄多张照片,构成照片组, 并记录拍摄照片时的情境信息;
[0008] 步骤2,根据多张照片的拍摄位置大致估算事件所在区域,并将该区域划分为网 格;
[0009] 步骤3,根据每张照片的情境信息,从手机拍照时所在地点,沿拍照方向,构造梯形 区域,然后计算每个被梯形区域覆盖的网格的定位权重;
[0010] 步骤4,对照片组中所有照片按照步骤3的方法计算被梯形区域覆盖的网格的定 位权重,然后累加,得到所有网格的累积定位权重,归一化后,根据设定的阈值确定事件定 位网格集,继而确定事件发生地点的地理坐标。
[0011] 进一步地,步骤1中所述的情境信息包括:
[0012] 拍照位置坐标三元组pLoc:〈lon,lat,er>,其中Ion表示经度,Iat表示炜度,er 表示地理GPS定位误差半径;
[0013] 拍照瞬间3D加速度计算值三元组:accValue :〈accx, accy, accz>,其中 accx, accy, accz分别表示3D加速度计在手机坐标系内的x轴、y轴、z轴的读值;
[0014] 拍照瞬间的3D磁力计值三元组:megValue :〈megx, megy, megz>,其中 accx, accy, accz分别表示3D加速度计在手机坐标系内的x轴、y轴、z轴的读值。
[0015] 进一步地,步骤3中建立梯形区域的过程包括:
[0016] 将照片拍摄点M (lon,Iat)的GPS坐标映射到临时建立的笛卡尔坐标系中,构造梯 形区域ABCD和射线MT,其中梯形各个顶点和端点T的位置为:
[0022] 上面的式子中,Μ. X为拍摄点M在笛卡尔坐标系中X轴上的坐标,M. y为拍摄点M 在笛卡尔坐标系中y轴上的坐标,Θ为手机拍照时摄像头对准的方向与世界坐标系X轴沿 逆时针旋转的夹角,er为地理GPS定位误差半径,Ios为最大可视距离。
[0023] 进一步地,步骤2中将事件所在区域划分为m个网格,步骤3中计算各网格的定位 权重的具体过程包括:
[0024] 对于每一个划分后的网格,判断该网格的中心点是否被梯形区域ABCD覆盖,如果 被覆盖,则计算该网格的定位权重w,权重计算公式如下:
[0027] 在上面两个式子中,点S为网格中心点R在射线MT上的垂点,点U为射线SR与梯 形边界的交点,Len(RS)为线段RS的长度,Len(US)为线段US的长度,σ = 〇. 5
[0028] 进一步地,步骤4中计算累积定位权重的步骤包括:
[0029] 按照步骤3的方法计算照片组K中所有的η张照片划分网格后的定位权重^ 表示根据第i (i < η)张照片计算得到的第j (j < m)个网格的定位权重;则使用照片组中 所有照片,可得网格的累积定位权重为:
[0031] 进一步地,步骤4中确定事件定位网格集的过程为:
[0032] 网格集LE的计算公式如下:
[0033] LE = {gj I if Cr (g.)彡 th}
[0034] 上式中,th为设定的阈值,0〈th〈l ;C' (gl)为累积定位权重的归一化结果,公式 如下:
[0036] 上式中,m为网格的个数。
[0037] 进一步地,步骤4中确定事件定位的地理坐标的过程为:
[0038] 计算网格集LE的中心,即为事件定位点EP (X,y),误差半径为EPr,公式如下:
[0039] 事件定位点的X坐标为:
[0045] 在上式中,Ie表示网格集LE中的一个网格,le. X表示网格Ie的X轴坐标,le. y 表示网格Ie的y坐标,I LE I表示网格集LE的大小;Max (le. X)表示网格集中网格Ie的X 轴坐标最大值,Max (le.y)表示网格集中网格Ie的y轴坐标最大值,Min (le.x)表示网格集 中网格Ie的X轴坐标最小值,Min (le. y)表示网格集中网格Ie的y轴坐标最小值。
[0046] 将EP (X,y)反变换为GPS坐标,即为事件定位的地理坐标。
[0047] 本发明具有以下技术特点:
[0048] 1.现有的应用仅仅利用手机中嵌入大量的传感器估计拍照时对准的方向,而本发 明利仅利用若干照片的拍照方向即可完成事件的定位。
[0049] 2.本发明不需要拍照者额外打开应用程序,或者执行特定的操作,仅仅需要目击 者拍摄的一些照片,而这些照片本来就是目击者想要拍摄的,因此,不会额外增加目击者的 负担。
[0050] 3.事件的定位可以提高照片的可信度,同时也为警方、媒体和大众寻找事件现场 提供ig息。
【附图说明】
[0051] 图1手机坐标系;
[0052] 图2世界坐标系;
[0053] 图3覆盖区域的权重分布函数图;
[0054] 图4基于照片的拍照情境计算定位梯形标识图;
[0055] 图5定位权重计算与网格关系图示例图;
[0056] 图6基于多张照片计算的事件定位结果示例图;
【具体实施方式】
[0057] 本发明利用多人的拍照行为信息(包括拍照人的位置和他们的拍照方向)定位事 件发生的位置,基本思路是:首先使用拍照方向将拍照人的位置和事件发生位置进行关联, 然后根据拍照行为习惯和拍照取景约束,缩小事件定位解空间,并根据每张照片估算事件 发生的位置及其概率;最后根据多张照片的定位结论,采用概率累加的方法确定事件位置。 本方案中将要用到的参数符号含义如下表1所示:
[0058] 表1参数符号说明表
[0061] 本发明的具体步骤如下:
[0062] 一、终端记录过程
[0063] 步骤1,以事件为中心利用手机拍照软件(APP)从不同方向拍摄多张照片,构成照 片组K,并记录照片拍摄时的情境信息;
[0064] 这里的以事件为中心是指拍摄照片过程中,多张照片的图像信息均覆盖了事件的 实际位置;根据情境信息可得到拍照人的位置和拍照方向;
[0065] 这里的APP是指手机中能进行拍照并具有获取手机上各传感器、导航模块使用权 限的应用;上述的情境信息具体为:
[0066] I. 1拍照位置坐标三元组pLoc:〈lon,lat,er>,如果手机没有打开GPS,则使用手 机信号塔进行定位;在使用手机信号塔定位时,三元组中的参数er表示定位误差;手机定 位可采用Baidu提供的开放定位接口 API ;
[0067] 1. 2拍照瞬间的3D加速度计算值三元组:
[0068] accValue :<accx, accy, accz>
[0069] 其中accx, accy, accz分别表示3D加速度计在手机坐标系内的x轴、y轴、z轴的 读值。手机坐标系如图1所示;
[0070] 1 · 3拍照瞬间的3D磁力计值三元组:
[0071] megValue :<megx, megy, megz>
[0072] 其中megx, megy, megz分别表示3D磁力计在收集坐标系内的x轴、y轴、z轴的读 值。
[0073] 二、数据处理过程
[0074] 步骤2,根据多张照片拍摄的位置估算事件所在区域,并将该区域划分为网格;
[0075] 计算手机拍照时摄像头对准的方向,记为θ,Θ表示摄像头对准的方向与世界坐 标系X轴沿逆时针旋转的夹角,单位为度。世界坐标系X轴正向为东方,y轴正向为北方, 如图2所示。
[0076] 此处假设手机的摄像头(前后)垂直于手机屏幕,本方案中以后摄像头为例。Θ 的获取可直接调用Android开发API,代码如下:(部分常识代码省略)
[0077] SensorManager. getRotationMatrix(rotate, null, accValue, megValue);
[0078] SensorManager. getOrientation(rotate, oriValue);
[0079] 方向三元组oriValue =〈pitch, roll, Azimuth〉,分别表示手机绕手机坐标系的x 轴,y轴,z轴旋转的角度,如图1所示。接下来,根据oriValue获取Θ值,公式如下:
[0082] 上两式中的%表示求余。
[0083] 由于照片是对着事件发生位置拍摄的,因此照片在拍摄时手机摄像头对准的方向 中,包含事件发生位置,那么将所有照片拍摄视角Θ及沿Θ方向的拍摄区域放在一张图 中,这些区域重合的位置就是事件所在的大致区域;对该区域进行网格划分,网格边长为 G (G = 10表示100平方米的网格),网格总数为m。
[0084] 步骤3,根据每张照片的情境信息,从手机所在地点,沿拍照方向,构造梯形区域, 然后计算每个被梯形覆盖的网格的定位权重;以任意一张照片为例:
[0085] 步骤3. 1,假设照片的可视距离为los,即从相机到拍摄对象
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1