Skip to content

DYH200009/GRAPE

Repository files navigation

GRAPE: High-fidelity 3D Gaussian Reconstruction for Agricultural Plant Entities

📖 Abstract

Plant phenotyping analysis is a crucial task in agricultural research, aiming to measure plant morphological data using tools such as calipers and radars. However, traditional methods generally struggle to accurately capture the surface textures and structural features of plants. In this paper, we propose a unified architecture to reconstruct high fidelity 3D surface models and render realistic plant views,which enhances geometric accuracy during Gaussian densification and mesh extraction from 2D images. First, we apply semantic segmentation with large language models to extract plant objects from 2D RGB images, generating sparse mappings and camera poses. These images and point clouds are then processed to produce Gaussian ellipsoids and 3D textured models, with our method detecting smooth regions during densification. To ensure precise alignment of Gaussians with object surfaces, our robust 3D Gaussian splatting method includes an outlier removal algorithm, produces more accurate models with less noise than traditional techniques. Experimental results demonstrate that our method outperforms existing plant modeling approaches, surpassing the NeRF-based method instantNGP and the 3DGS-based surface modeling method SuGaR in terms of PSNR, LPIPS, and SSIM metrics.

image image image

GRAPE (Ours)'s mesh results on some classes of the GRAPE dataset.

🔧 Setup of GRAPE

1. Clone the repo.

# https
git clone https://github.com/DYH200009/GRAPE
# or ssh
git clone [email protected]:DYH200009/GRAPE.git

2. Environment setup.

If you have an environment used for 3dgs, use it. If not, please refer to the environment configuration of 3DGS environment The environment.yml file for 3DGS has been provided in our repo.

Additionally, you also need to install the open3d scipy matplotlib pillow libraries.

# If you have already installed the 3dgs environment,
# please activate the environment and execute the following command :
conda activate gaussian_splatting
pip install open3d scipy matplotlib pillow
cd submodules/diff-gaussian-rasterization/
pip install -e .
cd ../simple-knn/
pip install -e .
cd  ../../

In addition, you need to install SuGaR's running environment separately If you have an environment used for SuGaR, use it. If not, please refer to the environment configuration of SuGaR environment

3. Download the demo dataset

  • Create a new data folder
  • Download the file (GRAPE-Dataset).
  • Unzip it to data folder.

4. Run the codes

In order to run our code,

# python train.py -s [path_to_dataset] -m [path_to_output] --eval
# cd MeshExtractor
# python train.py -s [path_to_dataset] -r <"density" or "sdf"> -c [path_to_output]

Run demo:

python train.py -s data/GRAPE/grape -m outputCKT/grape 
cd MeshExtractor
python train.py -s data/GRAPE/grape -r density -c outputCKT/grape 

⭕️ Acknowledgment

This project is based on GeoGussian and SuGaR Thanks for the contribution of the open source community.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published