Skip to content

Commit

Permalink
Update 2021-10-29-vitalalley.md
Browse files Browse the repository at this point in the history
  • Loading branch information
szz34 authored Sep 6, 2024
1 parent 5d91e43 commit 0bc6b86
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions _posts/2021-10-29-vitalalley.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ tags:

# Related Work
COBWEB: a robust map update system using GPS trajectories.

Crowdatlas: Self-updating maps for cloud and personal use.

在发现新路径这一领域有许多相关研究工作,但他们主要针对的都是道路结构标准、车辆行驶方向统一的高速公路,而针对结构不规则、行人行走方向高度随机的人行道的研究却少之又少。且以往用于高速公路的算法也不能直接应用到搜索人行道上。

![image](https://github.com/user-attachments/assets/11faabe4-4b17-4536-a890-b5820851ad63)
Expand All @@ -32,9 +34,13 @@ Crowdatlas: Self-updating maps for cloud and personal use.

# Data preprocessing
由于学生佩戴的设备存在定位误差,以及学生移动特点(主要待在家或学校内)的影响,并非所有数据都对我们的研究有帮助,因此我们需要对数据进行预处理:

(1)根据数据中的“出行方式”这一属性,只保留步行状态的数据。

(2)删除了噪声数据(图中正方形点),也就是定位误差较大,远离学生移动轨迹的点。

(3)由于学生的活动位置主要集中在家和学校,这些数据对我们发现人行道同样没有帮助,因此删除此类逗留数据(红色虚线圈出)。

(4)对剩余数据进行分类,将那些与地图软件中已存在的道路高度匹配的点称为“匹配点”(圆圈代表的点),反之不能与任何道路匹配的点称为“不匹配点”(三角代表的点),此类点大概率代表了未知的人行道。我们后续的工作将主要利用匹配和不匹配这两种数据。

![image](https://github.com/user-attachments/assets/88a13589-750a-4193-92d6-87101e683bfe)
Expand All @@ -58,6 +64,7 @@ Crowdatlas: Self-updating maps for cloud and personal use.

# Representative Walkway Identification
我们这项研究工作的最终目的是发现一条能够加载进地图软件的代表性路线,而并非一整片非常精确的可行走区域,一来我们没有足够的数据量做支撑,二来不容易直接集成到现有的电子地图中。因此在本模块中,我们将通过两个阶段,从可行走区域中提取代表性路线。

第一阶段,我们将基于位置聚类识别交叉点。所谓交叉点,就是可行走区域与地图软件中已存路段相连接的位置,这些位置通常对应可行走区域的入口或出口。最后匹配点是指那些与已知路段位置高度匹配,且其上一个位置或下一个位置处在未知区域中的点。如下图中的A1,A2,B1,B2。

![image](https://github.com/user-attachments/assets/94223d46-af82-4ed5-9aa8-a31ae39c65c2)
Expand All @@ -67,6 +74,7 @@ Crowdatlas: Self-updating maps for cloud and personal use.
![image](https://github.com/user-attachments/assets/7c093bb3-d399-49aa-ad86-0306703a0032)

第二阶段,我们将基于轨迹聚类提取代表性路线。通过上一阶段我们获得了连接已存路段和可行走区域的交叉点,而轨迹则为连接两个交叉点,即可行走区域的入口和出口之间的一条路线。我们首先根据该轨迹两端的点为每条轨迹命名,如上图,两端连接的分别为SC-1簇和SC-2簇,于是将路线命名为<SC-1, SC-2>。我们发现即使同样的一对入口和出口,中间也可能存在多条可走的轨迹,例如从SC-1到SC-2,存在三角到三角、圆到圆、菱形到菱形这三条轨迹,它们可能对应着多条代表性路线。于是下一步,我们将命名相同的多条轨迹划分为一组,并在每一组中利用聚类算法(具体算法见论文中提到的参考文献)划分为一个或多个簇,每个簇对应一条代表性路线,簇中包含的轨迹数为该代表性路线的支持度。如上图中的两条代表性路线,它们的支持度分别为3和1。

在现实生活中的一条路应该是位于可行走区域中的一条多段线(也就是比较曲折),这条线将穿过那些分数较高的格子。而我们当前只得到一条大概形状的路线,因此还要对其进行优化。我们的做法是,将原本的由许多小格子组成的地图转化为简单的仅包含点和边的图,其中点代表原图中的格子,两个连续位置之间用边连接。我们还将原图中格子对应的概率得分的倒数设置为点的权值。在构建好带权图之后,我们可以利用A*算法(使用其他类似算法也可以)得到最优路径,也就是所含点的总权值最小的路径,这就是我们最终的代表性路线。

![image](https://github.com/user-attachments/assets/14a2f06e-8e68-4096-b09a-6a0c70f94d10)
Expand All @@ -79,7 +87,9 @@ Crowdatlas: Self-updating maps for cloud and personal use.
![image](https://github.com/user-attachments/assets/32262aed-ec50-45d3-8eab-8dda56615f03)

在检索到相应图像后,我们对图像进行一系列处理,并与模板图像做比对,验证人行道是否真实存在:

(1)首先基于像素值将图像分割为多个簇,之后直接舍弃掉图像的上半部分。因为大部分道路都出现在图像下方,这样可以减少计算成本。

(2)提取图像的关键点,这些点大多出现在分割线的周围,进而计算这些关键点的梯度大小和方向,并以直方图的形式表示。如下图中的直方图,横轴代表梯度方向,纵轴代表梯度大小。最后将此图像与模板图像做比对,这里的模板图像具体指什么我们后面再解释。模板图像也有一个相应的直方图。我们计算两直方图的卡方距离,若差距小于某个阈值,则可以认为该图像满足典型交叉点的特征,即对应的人行道真实存在。

![image](https://github.com/user-attachments/assets/be68d0fc-3782-4047-97b2-2e11f285f67c)
Expand All @@ -92,6 +102,7 @@ Crowdatlas: Self-updating maps for cloud and personal use.

# Performance Evaluation
下面对VitalAlley系统做性能评估。此处直接简单说明结论,详细请见原文,图表表达的很清楚。

我们使用VitalAlley在新加坡发现了736条新的人行道,总里程可达150多公里。我们通过实地考察的方式证明真实存在的人行道比例可达93%。

![image](https://github.com/user-attachments/assets/6af1f7f1-2145-4a49-baa8-ec2f127a24ee)
Expand Down

0 comments on commit 0bc6b86

Please sign in to comment.