A package for segmenting LiDAR data using Segment-Anything Model (SAM) from Meta AI Research.
Project description
segment-lidar
Python package for segmenting aerial LiDAR data using Segment-Anything Model (SAM) from Meta AI.
This package is specifically designed for unsupervised instance segmentation of aerial LiDAR data. It brings together the power of the Segment-Anything Model (SAM) developed by Meta Research and the segment-geospatial package from Open Geospatial Solutions. Whether you're a researcher, developer, or a geospatial enthusiast, segment-lidar opens up new possibilities for automatic processing of aerial LiDAR data and enables further applications. We encourage you to explore our code, contribute to its development and leverage its capabilities for your segmentation tasks.
Installation
We recommand using Python 3.9
. First, you need to install PyTorch
. Please follow the instructions here.
Then, you can easily install segment-lidar
from PyPI:
pip install segment-lidar
Or, you can install it from source by running the following commands:
git clone https://github.com/Yarroudh/segment-lidar
cd segment-lidar
python setup.py install
Please, note that the actual version is always under tests. If you find any issues or bugs, please report them in issues section. The second version should implement more advanced features and fonctionalities.
Documentation
If you are using segment-lidar
, we highly recommend that you take the time to read the documentation. The documentation is an essential resource that will help you understand the features of the package, as well as provide guidance on how to use it effectively.
Basic tutorial
A basic tutorial is available here. You can also refer to API for more information about different parameters.
Without ground filtering
from segment_lidar import samlidar
model = samlidar.SamLidar(ckpt_path="sam_vit_h_4b8939.pth")
points = model.read("pointcloud.las")
labels, *_ = model.segment(points=points, image_path="raster.tif", labels_path="labeled.tif")
model.write(points=points, segment_ids=labels, save_path="segmented.las")
With ground filtering
from segment_lidar import samlidar
model = samlidar.SamLidar(ckpt_path="sam_vit_h_4b8939.pth")
points = model.read("pointcloud.las")
cloud, non_ground, ground = model.csf(points)
labels, *_ = model.segment(points=cloud, image_path="raster.tif", labels_path="labeled.tif")
model.write(points=points, non_ground=non_ground, ground=ground, segment_ids=labels, save_path="segmented.las")
Sample data
For testing purposes, you can download a sample here: pointcloud.las.
This data was retrieved from AHN-4. For more data, please visit AHN-Viewer.
Related repositories
We would like to express our acknowledgments to the creators of:
Please, visit these repositories for more information about image raster automatic segmentation using SAM from Meta AI.
License
This software is under the BSD 3-Clause "New" or "Revised" license which is a permissive license that allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it. Please refer to the LICENSE file for more detailed information.
Citation
The use of open-source software repositories has become increasingly prevalent in scientific research. If you use this repository for your research, please make sure to cite it appropriately in your work. The recommended citation format for this repository is provided in the accompanying BibTeX citation. Additionally, please make sure to comply with any licensing terms and conditions associated with the use of this repository.
@misc{yarroudh:2023:samlidar,
author = {Yarroudh, Anass},
title = {LiDAR Automatic Unsupervised Segmentation using Segment-Anything Model (SAM) from Meta AI},
year = {2023},
howpublished = {GitHub Repository},
url = {https://github.com/Yarroudh/segment-lidar}
}
Yarroudh, A. (2023). LiDAR Automatic Unsupervised Segmentation using Segment-Anything Model (SAM) from Meta AI [GitHub repository]. Retrieved from https://github.com/Yarroudh/segment-lidar
Author
This software was developped by Anass Yarroudh, a Research Engineer in the Geomatics Unit of the University of Liege. For more detailed information please contact us via ayarroudh@uliege.be, we are pleased to send you the necessary information.
Copyright © 2023, Geomatics Unit of ULiège. Released under BSD-3 Clause License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for segment_lidar-0.1.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 505c2375cd91b56b493735022227d407ec4390f41f2e53c83103b18b9c6664a4 |
|
MD5 | 205a0ee19f5aa97ff52aa16079f0421e |
|
BLAKE2b-256 | 9bb3817a033479866a25dd3ec51379ec4cf65a9fd35aeda3778596b99bbb624f |