Code and dataset for paper Fine-scale Antarctic Grounded Ice Cliff 3D Calving Monitoring based on Multi-temporal UAV Photogrammetry Without Ground Control. Ice cliff collapse detection and volume estimation using multitemporal aligned mesh generated from photogrammetry.
Note: Due to the randomness of the clustering algorithm, the results obtained by the code will be slightly different from the results of the paper.
- MATLAB (tested on R2023a)
- CloudComPy (tested on v3.9)
The dataset contains geo-registered multitemporal meshes recording the calving process of an ice cliff in Antarctica and ice cliff calving detection results. It can be accessed here: https://data.mendeley.com/datasets/fvt6r84zmm/1
The meshes were generated from UAV photogrammetry and the co-alignment technique. The dataset is a single CloudCompare .bin
file, Ice_cliff_multitemporal_mesh.bin
. It contains meshes generated by Metashape from each epoch. The file structure is shown in the image below. Each subfolder contains a mesh of the ice cliff on yyyymmdd
day.
The ice cliff is located between the Qinling station area
The UAV for collecting aerial images was a DJI Mavic 2 Pro drone, which carries a Hasselblad L1D-20c gimbal camera. Its 28 mm-equivalent lens has a
Parameter name | Value |
---|---|
Flying height | 100 m |
Image front/sidelap | 80% / 60% |
# of images planned | 330 |
GSD | 2.1 cm |
Image coverage | 159 |
In the \result
folder stores a series of point cloud files mmdd-mmdd_diff.ply
. They are calving object detection results of our paper. The snow_volume_0.66.xlsx
is a table containing the numerical results of calving detection.
Below are two screenshots showing ice cliff mesh and calving object detection results from our paper.
- Set the parameter
STEP
inCloudComPy_scripts\run_change_detection.py
to 9, and the parameterpath
to the location ofIce_cliff_multitemporal_mesh.bin
. - Run
CloudComPy_scripts\run_change_detection.py
(CloudComPy required), it creates a point cloud filemmdd-mmdd.las
under the subfolder ofdistance_threshold_xx
. This compares the mesh between the first and the last epoch. - Set the
folder
in line 4 ofrun_generateValidSpace.m
to the subfolder created in step 2. - Run
run_generateValidSpace.m
, it will create apointcloudValidSpace.mat
storing the point cloud for valid space in theexport
subfolder.
- Set the parameter
STEP
inCloudComPy_scripts\run_change_detection.py
to 1, and the parameterpath
to the location ofIce_cliff_multitemporal_mesh.bin
. - Run
CloudComPy_scripts\run_change_detection.py
(CloudComPy required), it creates a series of point cloud filemmdd-mmdd.las
under the subfolder ofdistance_threshold_xx
. This compares the mesh between each epoch. - Set the
folder
in line 4 ofrun.m
to the subfolder created in step 2. - Run
run.m
, it will export the calving volume result to the console, and store it to an Excel table. It will also create a series of point cloud filemmdd-mmdd_diff.ply
. They are calving objects detected by the algorithm.
@article{ZHANG2025104620,
title = {Fine-scale Antarctic grounded ice cliff 3D calving monitoring based on multi-temporal UAV photogrammetry without ground control},
journal = {International Journal of Applied Earth Observation and Geoinformation},
volume = {142},
pages = {104620},
year = {2025},
issn = {1569-8432},
doi = {https://doi.org/10.1016/j.jag.2025.104620},
url = {https://www.sciencedirect.com/science/article/pii/S1569843225002675},
author = {Shuhang Zhang and Lei Zheng and Huizhou Zhou and Qiuyang Zhao and Jie Li and Yinyue Xia and Wuming Zhang and Xiao Cheng},
keywords = {Grounded ice cliff, Calving detection, UAV photogrammetry, Co-alignment}
}