This project focuses on the phenotyping of musk melon plants using dense point clouds generated with Neural Radiance Fields (NeRFs), followed by post-processing to extract meaningful phenotypic data.
Accurate phenotyping is crucial for understanding plant characteristics and improving crop yields. This project leverages NeRFs to create detailed 3D representations of musk melon plants, enabling comprehensive analysis of their physical traits such as volume, surface area, and other morphological features.
.vscode/: Configuration files for Visual Studio Code to ensure a consistent development environment.clean_pointcloud/: Contains scripts and tools for processing and cleaning the raw point cloud data obtained from NeRFs.scripts/: Includes various utility scripts to facilitate data preprocessing, analysis, and conversions.src/: Core source code for the project, including:- NeRF implementation for generating point clouds.
- Analysis modules for extracting plant phenotypes.
.gitignore: Specifies intentionally untracked files to ignore.README.md: Project overview and setup guide (this file).
Make sure you have the following installed:
- Python 3.8+
- pip (Python package manager)
- Git
This project uses Python and Jupyter notebooks. The primary dependencies can be managed using pip.
git clone https://github.com/noahbu/ppheno.git
cd pphenopython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateThere is no requirements.txt provided, but based on the Jupyter notebooks and scripts, you will likely need:
pip install numpy pandas matplotlib open3d jupyterIf you plan to work with NeRFs or the cleaning pipeline, you may also need:
pip install scikit-learn opencv-pythonMost of the analysis is driven from notebooks. To start:
jupyter notebookThen open the relevant .ipynb files to run the point cloud analysis and visualization.
🧠 Tip: If you're missing packages when running a notebook, Jupyter will usually tell you in the error log. You can install them on the fly with !pip install <package-name> in a cell.
- Use NeRF scripts in
src/to generate dense 3D point clouds of melon plants from image data.
- Navigate to
clean_pointcloud/:python clean.py --input <path_to_raw_pointcloud> --output <path_to_cleaned_output>
- Use the tools in
src/to extract relevant phenotypic information:python analyze.py --input <cleaned_pointcloud>
- Use
scripts/for various helper tasks such as format conversion, batch processing, etc.
The dataset used for this project includes multi-angle images of musk melon plants captured in controlled environments. Point clouds are reconstructed using NeRFs.
The NeRF reconstruction requires preprocessing of the video which was done with COLMAP, which needs to be installed for processing.
Note: Data files are not included in the repository due to size. Contact me for access.
Contributions are welcome! Here's how you can help:
- Fork this repo and submit a pull request
- Report bugs or request features via GitHub Issues
- Improve documentation and examples
- NeRF for the foundational 3D reconstruction model.
- Research in plant phenotyping and computer vision communities.
Built for researchers, by researchers — enabling better plant trait analysis through cutting-edge vision models.