globalmatch

GlobalMatch: Registration of forest terrestrial point clouds by global matching of relative stem positions [ISPRS 2023]

https://github.com/zexinyang/globalmatch

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, sciencedirect.com
  • Committers with academic emails
    2 of 3 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

3d dataset forestry laser-scanning matching point-cloud registration
Last synced: 4 months ago · JSON representation ·

Repository

GlobalMatch: Registration of forest terrestrial point clouds by global matching of relative stem positions [ISPRS 2023]

Basic Info
Statistics
  • Stars: 73
  • Watchers: 5
  • Forks: 11
  • Open Issues: 0
  • Releases: 0
Topics
3d dataset forestry laser-scanning matching point-cloud registration
Created about 3 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

GlobalMatch

This is the official implementation of the method described in the following paper (see the published version on ISPRS or our preprint on arXiv):

Xufei Wang, Zexin Yang, Xiaojun Cheng, Jantien Stoter, Wenbing Xu, Zhenlun Wu, and Liangliang Nan. GlobalMatch: Registration of forest terrestrial point clouds by global matching of relative stem positions. ISPRS Journal of Photogrammetry and Remote Sensing. Vol. 197, 71-86, 2023.

Build

The current implementation depends on the Point Cloud Library (PCL) and its dependencies (e.g., Eigen and the Visualization Toolkit (VTK)). Please install PCL (and its dependencies) first.

To build GlobalMatch, you need CMake (>= 3.12) and a compiler that supports >= C++14. With CMake, GlobalMatch can be built on almost all platforms, although so far we have only tested it on Linux (GCC >= 4.8, Clang >= 3.3).

There are many options to build GlobalMatch. Choose one of the following (not an exhaustive list):

  • Option 1 (purely on the command line): Use CMake to generate Makefiles and then make (on Linux/macOS) or nmake(on Windows with Microsoft Visual Studio).

    • On Linux or macOS, you can simply $ cd path-to-root-dir-of-GlobalMatch $ mkdir Release $ cd Release $ cmake -DCMAKE_BUILD_TYPE=Release .. $ make
    • On Windows with Microsoft Visual Studio, use the x64 Native Tools Command Prompt for VS XXXX (don't use the x86 one), then $ cd path-to-root-dir-of-GlobalMatch $ mkdir Release $ cd Release $ cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release .. $ nmake
  • Option 2: Use any IDE that can directly handle CMakeLists files to open the CMakeLists.txt in the root directory of GlobalMatch. Then you should have obtained a usable project and just build it. I personally highly recommend using CLion. For Windows users: your IDE must be set for x64.

  • Option 3: Use CMake-Gui to generate project files for your IDE. Then load the project to your IDE and build it. For Windows users: your IDE must be set for x64.

Don't have any experience with C/C++ programming? Have a look at Liangliang's step-by-step tutorial.

Usage

We have split GlobalMatch into two classes - Mapping and Matching - to make it easier to use. The main.cpp file demonstrates how to use it for pairwise registration. To register a "source" forest point cloud to a "target" one, run the built executable like this: commandline ./GlobalMatch <source_scan_ply_file> <target_scan_ply_file> <output_matrix_txt_file> - <source_scan_ply_file> and <target_scan_ply_file> specify the path to the input point cloud ply files (order matters: source filename comes first) - <output_matrix_txt_file> specifies the filename to save the estimated 4 by 4 transformation matrix

Benchmark Dataset

The Tongji-Trees dataset, as part of our work, is introduced to complement the scarce publicly available data for evaluating marker-free registration methods for forest TLS scans. The dataset (including raw scans, ground-truth matrices, and our estimated matrices) can be downloaded from the links below:

| Dataset | Google Drive Google Drive | Baidu Wangpan Baidu Yun | Size | |:------------:|:-------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:------------:| | Tongji-Trees | Download link | Download link | approx. 10GB |

Disclaimer: The estimated matrices you obtain may differ slightly from our provided ones due to the stochastic nature of our stem mapping algorithm.

Citation

We kindly ask you to cite our paper if you use (part of) the code, ideas, or dataset in your academic work:

bibtex @article{wang2023globalmatch, title={GlobalMatch: Registration of forest terrestrial point clouds by global matching of relative stem positions}, author={Wang, Xufei and Yang, Zexin and Cheng, Xiaojun and Stoter, Jantien and Xu, Wenbing and Wu, Zhenlun and Nan, Liangliang}, journal={ISPRS Journal of Photogrammetry and Remote Sensing}, volume={197}, pages={71--86}, year={2023}, publisher={Elsevier} }


Please feel free to contact me at zexin.yang@foxmail.com with questions, comments, or suggestions ;-)

Zexin Yang

December 21, 2021

Owner

  • Name: Zexin Yang
  • Login: zexinyang
  • Kind: user

Citation (CITATION.bib)

@article{wang2023globalmatch,
  title={GlobalMatch: Registration of forest terrestrial point clouds by global matching of relative stem positions},
  author={Wang, Xufei and Yang, Zexin and Cheng, Xiaojun and Stoter, Jantien and Xu, Wenbing and Wu, Zhenlun and Nan, Liangliang},
  journal={ISPRS Journal of Photogrammetry and Remote Sensing},
  volume={197},
  pages={71--86},
  year={2023},
  publisher={Elsevier}
}

GitHub Events

Total
  • Issues event: 1
  • Watch event: 5
  • Issue comment event: 2
  • Push event: 2
  • Fork event: 3
Last Year
  • Issues event: 1
  • Watch event: 5
  • Issue comment event: 2
  • Push event: 2
  • Fork event: 3

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 12
  • Total Committers: 3
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.5
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Zexin z****g@t****n 6
Zexin Yang 5****g 5
volcano_w t****i@t****n 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: 2 days
  • Average time to close pull requests: 9 minutes
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 4.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: 2 days
  • Average time to close pull requests: 9 minutes
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 4.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • YangSiri (1)
  • qpc001 (1)
  • coding-encoding (1)
Pull Request Authors
  • Thunder-Volcano (1)
Top Labels
Issue Labels
Pull Request Labels