• Stars
    star
    250
  • Rank 162,397 (Top 4 %)
  • Language
    C++
  • Created almost 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🛣️ automatic extraction of road markings from MLS or ALS point cloud [ISPRS-A' 19]

RoadMarkingExtraction

This repository contains a C++ implementation of the automatic extraction, classification and vectorization of road markings from MLS point cloud. It's based on traditional image & point cloud processing approaches, which can act as the easy baseline for novel learning-based methods.

alt text


About

Version 1.2: passed on Ubuntu 16.04. For former versions, please check the other branches.

Dependent 3rd Party Libs: Eigen3, PCL1.8, OpenCV2, LibLas, DXFLib

Application Scenarios: MLS or ALS point cloud for highway or urban roads

How to use

  1. Install dependent libs by sh ./script/download_dependent_lib.sh.

  2. Build the repository:

mkdir build
cd build
cmake .. 
make 
cd ..
  1. Prepare the model pool (take ./model_pool/xxx as an example) and configure the parameter list (take ./config/xxx.txt as an example).

  2. Configure the input (*.las or *.pcd point cloud) and output path in ./script/run_xxx.sh.

  3. Run sh ./script/run_xxx.sh.

  4. Check the results in your output folder. You may use CloudCompare to visualize the point cloud and use AutoCAD or ShareCAD to visualize the dxf files.


Citation

If you find this code useful for your work or use it in your project, please consider citing:

@article{pan2019automatic,
  title={Automatic Road Markings Extraction, Classification and Vectorization from Mobile Laser Scanning Data.},
  author={Pan, Yue and Yang, B and Li, S and Yang, H and Dong, Z and Yang, X},
  journal={International Archives of the Photogrammetry, Remote Sensing \& Spatial Information Sciences},
  year={2019}
}

paper link

Workflow

alt text

Image Processing

alt text

Demo

alt text

Acknowledgement:

Thanks hibetterheyj for the effort to migrate the codes on Linux.

More Repositories

1

MULLS

MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square [ICRA '21]
C++
613
star
2

GH-ICP

GH-ICP: Iterative Closest Point algorithm with global optimal matching and hybrid metric [3DV' 18]
C++
313
star
3

LLS-LOAM

Lidar Odometry and Mapping with Mutiple Metrics Linear Least Square ICP
C++
138
star
4

EasySFM

A simple Structure-from-motion software and toolbox
C++
36
star
5

Pointcloud_Format_Transformer

A Tool for various point cloud data format transformation for well-known datasets
C++
30
star
6

point-cloud-registration-review

Literature review of point cloud registration methods (For geomatics seminar at ETH Zurich)
21
star
7

drone-tracking-toolkits

Measuring Drone Trajectory using Total Stations with Visual Tracking [IPA '20 @ ETH]
MATLAB
18
star
8

ETH-CV-exercise-review

My solutions to exercises of Computer Vision course @ ETH Zurich
MATLAB
10
star
9

PPE_Kriging

Codes for Kriging interpolation for PPE course
MATLAB
5
star
10

GNSSLab

Repo. for GNSS Lab @ ETHZ
Shell
5
star
11

YuePanEdward.github.io

SCSS
3
star
12

3DV-Implicit-Reconstruction

Explore Various Encodings for Implicit Scene Reconstruction
2
star
13

diff-gaussian-surfel-rasterization

Cuda
2
star
14

360degree-Reality2Virtuality

The art of the fusion of reality & virtuality
2
star
15

MeasureAPP

Multi-function Inertial Measurement Tool Android APP
Java
2
star
16

4pcstest

a test for git
C++
2
star
17

PointCloudScissor

A useful tool to cut a set of point cloud into two parts with a designed IoU (overlapping)
C++
2
star
18

gseg_pcd_tools

point cloud processing tools
C++
1
star
19

PCLtools

Project points to a plane with known coefficients using PCL (a simple tool)
C++
1
star
20

PPE_TLSCalibration

Codes for TLS calibration for PPE
MATLAB
1
star
21

ETH-II-exercise-review

My solutions to exercises of Image Interpretation course @ ETH Zurich
MATLAB
1
star
22

OpenHDMap

HDMap for UVs (to be detailed)
1
star
23

PIN_evaluation

Jupyter Notebook
1
star