A public available dataset for road boundary detection in aerial images

Overview

Topo-boundary

This is the official github repo of paper Topo-boundary: A Benchmark Dataset on Topological Road-boundary Detection Using Aerial Images for Autonomous Driving.

Project page.

Topo-boundary is a publicly available benchmark dataset for topological road-boundary detection in aerial images. With an aerial image as the input, the evaluated method should predict the topological structure of road boundaries in the form of a graph.

This dataset is based on NYC Planimetric Database. Topo-boundary consists of 25,297 4-channel aerial images, and each aerial image has eight labels for different deep-learning tasks. More details about the dataset structure can be found in our paper. Follow the steps in the ./dataset to prepare the dataset.

We also provide the implementation code (including training and inference) based on PyTorch of 9 methods. Go to the Implementation section for details.

Update

  • May/22/2021 Topo_boundary is released. More time is needed to prepare ConvBoundary, DAGMapper and Enhanced-iCurb, thus currently these models are not open-sourced.

Platform information

Hardware info

GPU: one RTX3090 and one GTX1080Ti
CPU: i7-8700K
RAM: 32G
SSD: 256G + 1T

Software info

Ubuntu 18.04
CUDA 11.2
Docker 20.10.1

Make sure you have Docker installed.

File structure

Topo-Boundary
|
├── dataset
|   ├── data_split.json
|   ├── config_dir.yml
|   ├── get_data.bash
|   ├── get_checkpoints.bash
│   ├── cropped_tiff
│   ├── labels
|   ├── pretrain_checkpoints
│   └── scripts
|   
├── docker 
|
├── graph_based_baselines
|   ├── ConvBoundary
|   ├── DAGMApper
|   ├── Enhanced-iCurb
|   ├── iCurb
|   ├── RoadTracer
|   └── VecRoad 
|
├── segmentation_based_baselines
|   ├── DeepRoadMapper
|   ├── OrientationRefine
|   └── naive_baseline
|

Environment and Docker

Docker is used to set up the environment. If you are not familiar with Docker, refer to install Docker and Docker beginner tutorial for more information.

To build the docker image, run:

# go to the directory
cd ./docker
# optional
chmod +x ./build_image.sh
# build the docker image
./build_image.sh

Data and pretrain checkpoints preparation

Follow the steps in ./dataset to prepare the dataset and checkpoints trained by us.

Implementations

We provide the implementation code of 9 methods, including 3 segmentation-based baseline models, 5 graph-based baseline models, and an improved method based on our previous work iCurb. All methods are implemented with PyTorch by ourselves.

Note that the evaluation results of baselines may change after some modifications being made.

Evaluation metrics

We evaluate our implementations by 3 relaxed-pixel-level metrics, the self-defined Entropy Connectivity Metric (ECM), naive connectivity metric (proposed in ConvBoundary) and Average Path Length Similarity (APLS). For more details, refer to the supplementary document.

Related topics

Other research topics about line-shaped object detection could be inspiring to our task. Line-shaped object indicts target objects that have long but thin shapes, and the topology correctness of them also matters a lot. They usually have an irregular shape. E.g., road-network detection, road-lane detection, road-curb detection, line-segment detection, etc. The method to detect one line-shaped object could be adapted to another category without much modification.

To do

  • Acceleration
  • Fix bugs

Contact

For any questions, please send email to zxubg at connect dot ust dot hk.

Citation

@article{xu2021topo,
  title={Topo-boundary: A Benchmark Dataset on Topological Road-boundary Detection Using Aerial Images for Autonomous Driving},
  author={Xu, Zhenhua and Sun, Yuxiang and Liu, Ming},
  journal={arXiv preprint arXiv:2103.17119},
  year={2021}
}

@article{xu2021icurb,
  title={iCurb: Imitation Learning-Based Detection of Road Curbs Using Aerial Images for Autonomous Driving},
  author={Xu, Zhenhua and Sun, Yuxiang and Liu, Ming},
  journal={IEEE Robotics and Automation Letters},
  volume={6},
  number={2},
  pages={1097--1104},
  year={2021},
  publisher={IEEE}
}
Owner
Zhenhua Xu
HKUST Ph.D. Candidate
Zhenhua Xu
UIUCTF 2021 Public Challenge Repository

UIUCTF-2021-Public UIUCTF 2021 Public Challenge Repository Notes: every challenge folder contains a challenge.yml file in the format for ctfcli, CTFd'

SIGPwny 15 Nov 03, 2022
Using CNN to mimic the driver based on training data from Torcs

Behavioural-Cloning-in-autonomous-driving Using CNN to mimic the driver based on training data from Torcs. Approach First, the data was collected from

Sudharshan 2 Jan 05, 2022
Pytorch implementation for Patient Knowledge Distillation for BERT Model Compression

Patient Knowledge Distillation for BERT Model Compression Knowledge distillation for BERT model Installation Run command below to install the environm

Siqi 180 Dec 19, 2022
💊 A 3D Generative Model for Structure-Based Drug Design (NeurIPS 2021)

A 3D Generative Model for Structure-Based Drug Design Coming soon... Citation @inproceedings{luo2021sbdd, title={A 3D Generative Model for Structu

Shitong Luo 118 Jan 05, 2023
MAT: Mask-Aware Transformer for Large Hole Image Inpainting

MAT: Mask-Aware Transformer for Large Hole Image Inpainting (CVPR2022, Oral) Wenbo Li, Zhe Lin, Kun Zhou, Lu Qi, Yi Wang, Jiaya Jia [Paper] News This

254 Dec 29, 2022
TACTO: A Fast, Flexible and Open-source Simulator for High-Resolution Vision-based Tactile Sensors

TACTO: A Fast, Flexible and Open-source Simulator for High-Resolution Vision-based Tactile Sensors This package provides a simulator for vision-based

Facebook Research 255 Dec 27, 2022
Unpaired Caricature Generation with Multiple Exaggerations

CariMe-pytorch The official pytorch implementation of the paper "CariMe: Unpaired Caricature Generation with Multiple Exaggerations" CariMe: Unpaired

Gu Zheng 37 Dec 30, 2022
Pytorch Implementation for Dilated Continuous Random Field

DilatedCRF Pytorch implementation for fully-learnable DilatedCRF. If you find my work helpful, please consider our paper: @article{Mo2022dilatedcrf,

DunnoCoding_Plus 3 Nov 13, 2022
CSE-519---Project - Job Title Analysis (Project for CSE 519 - Data Science Fundamentals)

A Multifaceted Approach to Job Title Analysis CSE 519 - Data Science Fundamentals Project Description Project consists of three parts: Salary Predicti

Jimit Dholakia 1 Jan 04, 2022
FreeSOLO for unsupervised instance segmentation, CVPR 2022

FreeSOLO: Learning to Segment Objects without Annotations This project hosts the code for implementing the FreeSOLO algorithm for unsupervised instanc

NVIDIA Research Projects 253 Jan 02, 2023
We propose a new method for effective shadow removal by regarding it as an exposure fusion problem.

Auto-exposure fusion for single-image shadow removal We propose a new method for effective shadow removal by regarding it as an exposure fusion proble

Qing Guo 146 Dec 31, 2022
PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners for self-supervised ViT.

MAE for Self-supervised ViT Introduction This is an unofficial PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners for self-sup

36 Oct 30, 2022
Code for the paper “The Peril of Popular Deep Learning Uncertainty Estimation Methods”

Uncertainty Estimation Methods Code for the paper “The Peril of Popular Deep Learning Uncertainty Estimation Methods” Reference If you use this code,

EPFL Machine Learning and Optimization Laboratory 4 Apr 05, 2022
A data-driven approach to quantify the value of classifiers in a machine learning ensemble.

Documentation | External Resources | Research Paper Shapley is a Python library for evaluating binary classifiers in a machine learning ensemble. The

Benedek Rozemberczki 188 Dec 29, 2022
Crowd-Kit is a powerful Python library that implements commonly-used aggregation methods for crowdsourced annotation and offers the relevant metrics and datasets

Crowd-Kit: Computational Quality Control for Crowdsourcing Documentation Crowd-Kit is a powerful Python library that implements commonly-used aggregat

Toloka 125 Dec 30, 2022
Code release for Local Light Field Fusion at SIGGRAPH 2019

Local Light Field Fusion Project | Video | Paper Tensorflow implementation for novel view synthesis from sparse input images. Local Light Field Fusion

1.1k Dec 27, 2022
Embeds a story into a music playlist by sorting the playlist so that the order of the music follows a narrative arc.

playlist-story-builder This project attempts to embed a story into a music playlist by sorting the playlist so that the order of the music follows a n

Dylan R. Ashley 0 Oct 28, 2021
An example of Scatterbrain implementation (combining local attention and Performer)

An example of Scatterbrain implementation (combining local attention and Performer)

HazyResearch 97 Jan 02, 2023
Dahua Camera and Doorbell Home Assistant Integration

Home Assistant Dahua Integration The Dahua Home Assistant integration allows you to integrate your Dahua cameras and doorbells in Home Assistant. It's

Ronnie 216 Dec 26, 2022
GANimation: Anatomically-aware Facial Animation from a Single Image (ECCV'18 Oral) [PyTorch]

GANimation: Anatomically-aware Facial Animation from a Single Image [Project] [Paper] Official implementation of GANimation. In this work we introduce

Albert Pumarola 1.8k Dec 28, 2022