Plant 3D (P3D): A plant phenotyping toolkit for 3D point clouds
Plant 3D (P3D) automatically extracts common phenotyping features of interest from high-resolution 3D scans of plant architectures. P3D is open-source and is bundled with a stand-alone Windows application. P3D is written in C++ using OpenGL, QT, TensorFlow, and the point cloud library (PCL). P3D can visualize and process data imported as a 3D point cloud (pcd or txt formats) or a mesh (obj format).
- Lamina VS. stem classification
- Lamina counting and segmentation
- Stem skeletonization
- Whole leaf labeling
Points are classified by a trained deep learning model. The model uses binary classification and separates lamina and stem points. Prior training each 3D point was embedded into 33D FPFH (Fast Point Feature Historgram) space using Point Cloud Library. The enference begins by taking input point cloud and computes FPFH for each point, result is pumped through trained deep learning model. P3D comes with a few pretrained models. Models can be found in TF_Models folder with ".pb" tensorflow file extension. To use a model, click on classify button (button icon at the top) on the left menu, controls panel on the lower right should appear. In the controls panel click Browse button to provide a path to ".pb" file and then click Run Classification. For details on why FPFH was selected, what parameters, data were used for training please refer to our publication (See link below).
Similarly to classification clicking on segmentaion icon on the left panel will bring lamina segmentation controls panel on the lower right. Menu provides many options to do lamina segmentation. The method is an enhanced version of conditional region growing. To use lamina segmentaion on user's files that already been classified else where and only contain lamina points a particular naming convetion must be followed (Described below).
Our approach to stem skeletanization builds upon PypeTree framework. We improved on speed and accuracy. Improvements as well as detailed table of comparisons is presented in our publication (below). Stem file naming convetion need to be followed to run this methods as well. (below)
Leaf labeling task consolidates the information gathered from lamina segmentation and skeletanization to produce a point cloud where each point is labeled as one of the following: main stem, leaf in biological sense or cotyledon. Currenlty this task in only available for tomato plants. To run this method both stem and lamina files need to named according to the convention (below) when imported to P3D. For more details refer to the publication.
For the tasks to function properly a particular naming conventions need to be followed. All task except for classification expect this format.plant_name_l.pcd or plant_name_l.txt // "_l" stands for lamina points
plant_name_s.pcd or plant_name_s.txt // "_s" stands for stem points
Classification if ran on any file will produce two sets of points and name them according to the convetions automatically.
TF_Models folder contains deep learning model/s trained on our dataset on extracted FPFH features. To use the any of the models download a model you want and supply a path to it during classification. Prior inference P3D will compute FPHF features for every point. Parameters for FPFH computation are set to the same values as during training.
Developing methods to accurately process large volumes of 3D point clouds remains challenging for many 3D plant phenotyping applications. Here, we describe a tool that addresses four core phenotyping tasks: classification of cloud points into lamina and stem points; graph skeletonization of the stem points; segmentation of lamina points into individual lamina; and whole leaf labeling composed of individual lamina. These four tasks are critical for numerous downstream phenotyping goals, such as quantifying plant biomass, performing morphological analyses of plant shapes, and uncovering genotype to phenotype relationships. The P3D tool provides an intuitive graphical user interface, a fast 3D rendering engine for visualizing plants with millions of cloud points, and several graph-theoretic and machine learning algorithms for 3D plant architecture analyses. As 3D point clouds become a standard data type for collecting plant architecture data in the lab and in the field, the P3D tool can help accelerate next-generation plant phenotyping.
For many details not mentined here please refer to our Plant Physiology publication: