Research

VecRoad: Point-based Iterative Graph Exploration for Road Graphs Extraction

Guided by segmentation cues, our VecRoad model predicts next move with flexible step size, resulting in high-quality vectorized road detection results.

Abstract

Extracting road graphs from aerial images automatically is more efficient and costs less than from field acquisition. This can be done by a post-processing step that vectorizes road segmentation predicted by CNN, but imperfect predictions will result in road graphs with low connectivity. On the other hand, iterative next move exploration could construct road graphs with better road connectivity, but often focuses on local information and does not provide precise alignment with the real road. To enhance the road connectivity while maintaining the precise alignment between the graph and real road, we propose a point-based iterative graph exploration scheme with segmentation-cues guidance and flexible steps. In our approach, we represent the location of the next move as a ‘point’ that unifies the representation of multiple constraints such as the direction and step size in each moving step. Information cues such as road segmentation and road junctions are jointly detected and utilized to guide the next move and achieve better alignment of roads. We demonstrate that our proposed method has a considerable improvement over state-of-the-art road graph extraction methods in terms of F-measure and road connectivity metrics on common datasets.

Paper

  • VecRoad: Point-based Iterative Graph Exploration for Road Graphs Extraction, Yong-Qiang Tan, Shang-Hua Gao, Xuan-Yi Li, Ming-Ming Cheng, Bo Ren, IEEE CVPR, 2020. [pdf|project|bib|code]

Results

Performance comparison on the RoadTracer road dataset. ‘P-F1’ and ‘J-F1’ denote the F-score of road pixel-level metric and junction-level metric, respectively.
(Visited 6,344 times, 1 visits today)
Subscribe
Notify of
guest

33 Comments
Inline Feedbacks
View all comments
justin sakong

I read your ‘VecRoad’ paper and it was very impressive. Moreover, I love your code style.
Can I get the Vecroad Train script for study road extraction task and the code style?

thanks

justin sakong

I send the email to you.(gjustin)
(both gmail and outlook)

Last edited 2 years ago by justin sakong
MM Cheng

We will sent it to you via email.

justin sakong

thank you. my email is gjustin@naver.com

Todoran

I am also interested by the training script. Could you please share it with me ? My email address is todorangeorge at yahoo dot com

MM Cheng

The training script has been open sourced.

小成2333

您好 我按照您给的参数ANCHOR_MAX_REGION_AREA=1000 所生成的junc_nms图片没有任何一个点 将该参数调制100000仍未见有点在图中出现 请问是还有别的地方影响了junc_nms图片点的生成了吗

小成2333

您好我想请问regions.txt里面的半径1 -1 -2是怎么样判定的呢

zi_mu

您好,我在运行eval_apls_metric.py文件时,出现以下问题,请问怎么解决?
line 65, in <module>
  res_lst.append(float(ret[-1].strip().split(‘ ‘)[-1]))
IndexError: list index out of range

Yong-Qiang Tan

您好,请检查line 45打印的结果,可能是graph文件出现了问题

谢谢您

您好,请问除了测试图像有包含点坐标的csv文件之外,训练数据集有无csv文件?能否分享一下?万分感谢

Yong-Qiang Tan

抱歉,训练数据集没有单独整理csv,不过你可以使用项目里的eval/graph2wkt.py将graphs.zip里的文件转成wkt文件

zi_mu

您好,https://github.com/tansor/VecRoad上边的代码只有inference部分,请问在未来有计划分享相关的训练代码吗?

Yong-Qiang Tan

目前训练代码由于某些原因不能公开,如果有计划公开会在本项目主页提前公示,谢谢关注

xq-c

您好。既然基于是点的迭代,那能否在预测图上不画出路网,而是标出每一次迭代预测出的关键点,并将所有的点绘制于遥感原图上呢?

Yong-Qiang Tan

您好,您的这个想法是可以的,只需把[这里]的cv.line替换成画点的函数即可

educ

可以分享一下训练好的模型么?

Yong-Qiang Tan

你好,代码和模型都已经开源了,在上文的[code]处可以找到,感谢关注

educ

请问pretrained module是已经训练好的模型呢,还是需要训练的初始模型呢?如果是已经训练好的模型那么运行命令是什么呢?谢谢啦

Yong-Qiang Tan

是已经训练好的模型,已经在readme勘误为released model,运行命令见 [here]

educ

可以用cpu运行代码吗?

收到。十分感谢您在百忙之中进行解答,也感谢您开源了您的工作成果。

educ

问题已解决。十分感谢您的帮助和解答。

dec

首先感谢开源代码,算法中RPNet的训练,分割和迭代图是分开训练的么,能否告知下训练RPNet的方法?

Yong-Qiang Tan

你好,感谢对本项目的关注。RPNet中分割和迭代图是一起训练的,使用同一批次的数据输入,得到分割图和迭代图,计算各自的loss,相加后反向传播更新网络参数。

dec

你好,想再请问下分割和迭代图的损失相加时,不同来源的损失是否有必要使用权重?

jimm

您好,请问VecRoad代码是否开源了,能否放个地址

dec

你好,请问VecRoad这篇文章的代码考虑开源么

dec

很棒~,感谢分享,期待你们的工作