Public Lab Research note

Fusing 3D Modelling with NDVI in Python + VisualSFM + Meshlab

by ektopyrotic | June 10, 2020 00:21 10 Jun 00:21 | #23807 | #23807

Video Showcasing Use:

Here is an exercise in 3D image processing I performed using Near-infrared images processed into colormap NDVI, allowing me to create a 3D model of plants for use in 3D plant monitoring/health classification. This was created using (1) custom Python code to process the NIR reflectance images into a graded NDVI temperature scale images and using a combination of (2) VisualSFM for point cloud and polygon generation and (3) Meshlab to tidy up and display the polygon file. An RGB reconstruction was also performed on a collection of standard images (captured using a phone camera) of the collection of plants scanned for comparison. The NDVI 3D model was not a perfect reconstruction however it was cleaner in general than the RGB model and considerably faster to process in VisualSFM after the Python code had processed the input RAW (DNG format) images. It is relatively easy to see the distinction between the healthy vegetation and the background environment, the wooden decking, the plants were placed upon in the NDVI 3D model. This has lead me to think that this technique could be further developed in machine vision of plants in an environment in 3D, especially if the 3D model can be converted into a movie using a program like CMPMVS which could then be plugged into a platform such as PyTorch or Tensorflow for use in plant health classification in 3D. In any case this was an interesting way to demonstrate the use of NDVI and NIR imaging as applied in novel applications in the field of 3D photogrammetry and modelling with the intent of creating datasets for future explorations in machine vision research.

Code Available Here:


Looks super cool, thanks @ektopyrotic ! How many photos did you start with to create the 3d model?

Is this a question? Click here to post it to the Questions page.

Thank you @liz, I appreciate the support very much! I used 81 photos for this 3D model, which admittedly took a while to run on my laptop.

I have learned more is not necessarily always better where 3D image reconstruction using structure from motion and choosing the location of where one takes the images, i.e. so that each section of the objects are encapsulated in a region where everything is captured but not taking too many multiple shots at the same spot.

Reply to this comment...

Login to comment.