VecRoad: Point-based Iterative Graph Exploration for Road Graphs Extraction
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]
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
I send the email to you.(gjustin)
(both gmail and outlook)
We will sent it to you via email.
thank you. my email is gjustin@naver.com
I am also interested by the training script. Could you please share it with me ? My email address is todorangeorge at yahoo dot com
The training script has been open sourced.
您好 我按照您给的参数ANCHOR_MAX_REGION_AREA=1000 所生成的junc_nms图片没有任何一个点 将该参数调制100000仍未见有点在图中出现 请问是还有别的地方影响了junc_nms图片点的生成了吗
你好,可以写程序判断一下非零像素的个数,nms后交点用一个像素表示,肉眼可能不能观察到
您好我想请问regions.txt里面的半径1 -1 -2是怎么样判定的呢
你好,这是图像patch之间的相对位置,参考RoadTracer的源码
https://github.com/mitroadmaps/roadtracer/blob/master/dataset/lib/regions.go
您好,我在运行eval_apls_metric.py文件时,出现以下问题,请问怎么解决?
line 65, in <module>
res_lst.append(float(ret[-1].strip().split(‘ ‘)[-1]))
IndexError: list index out of range
您好,请检查line 45打印的结果,可能是graph文件出现了问题
您好,请问除了测试图像有包含点坐标的csv文件之外,训练数据集有无csv文件?能否分享一下?万分感谢
抱歉,训练数据集没有单独整理csv,不过你可以使用项目里的eval/graph2wkt.py将graphs.zip里的文件转成wkt文件
您好,https://github.com/tansor/VecRoad上边的代码只有inference部分,请问在未来有计划分享相关的训练代码吗?
目前训练代码由于某些原因不能公开,如果有计划公开会在本项目主页提前公示,谢谢关注
您好。既然基于是点的迭代,那能否在预测图上不画出路网,而是标出每一次迭代预测出的关键点,并将所有的点绘制于遥感原图上呢?
您好,您的这个想法是可以的,只需把[这里]的cv.line替换成画点的函数即可
可以分享一下训练好的模型么?
你好,代码和模型都已经开源了,在上文的[code]处可以找到,感谢关注
请问pretrained module是已经训练好的模型呢,还是需要训练的初始模型呢?如果是已经训练好的模型那么运行命令是什么呢?谢谢啦
是已经训练好的模型,已经在readme勘误为released model,运行命令见 [here]
可以用cpu运行代码吗?
收到。十分感谢您在百忙之中进行解答,也感谢您开源了您的工作成果。
问题已解决。十分感谢您的帮助和解答。
首先感谢开源代码,算法中RPNet的训练,分割和迭代图是分开训练的么,能否告知下训练RPNet的方法?
你好,感谢对本项目的关注。RPNet中分割和迭代图是一起训练的,使用同一批次的数据输入,得到分割图和迭代图,计算各自的loss,相加后反向传播更新网络参数。
你好,想再请问下分割和迭代图的损失相加时,不同来源的损失是否有必要使用权重?
你好,在我的实验设置里,不同损失的权重都设置为了1
您好,请问VecRoad代码是否开源了,能否放个地址
你好,代码已经开源了,在上文的[code]处可以找到,感谢关注
你好,请问VecRoad这篇文章的代码考虑开源么
你好,目前代码在整理阶段,整理完毕就会开源,耐心等待哈~
很棒~,感谢分享,期待你们的工作