We have moved! Please visit us at ANTHROECOLOGY.ORG. This website is for archival purposes only.


Jul 09 2011

Leafsnap: An Electronic Field Guide

Yet another dimension of computer vision...

Leafsnap:

“ is the first in a series of electronic field guides being developed by researchers from Columbia University, the University of Maryland, and the Smithsonian Institution. This free mobile app uses visual recognition software to help identify tree species from photographs of their leaves. Leafsnap contains beautiful high-resolution images of leaves, flowers, fruit, petiole, seeds, and bark. Leafsnap currently includes the trees of New York City and Washington, D.C., and will soon grow to include the trees of the entire continental United States. This website shows the tree species included in Leafsnap, the collections of its users, and the team of research volunteers working to produce it."

Dec 06 2010

Near-Infrared Structure from Motion?

Some time ago we purchased a calibrated digital camera for the purpose of capturing reflectance of near-infrared (NIR) light from vegetation for our computer vision remote sensing research.  The goal was to make 3D structure from motion point clouds with images recording light in a part of the spectrum that is known to provide very useful information about vegetation.

We purchased a Tetracam ADC Lite for use with our small aerial photography equipment.  This camera has a small image sensor similar to what might be found in the off-the-shelf digital cameras we use for our regular applications, but has a modified light filter that allows it to record light reflected in the near-infrared portion of the electromagnetic spectrum.  Plants absorb red and blue light for photosynthesis and reflect green light, hence why we see most plants as green.  Plants are also highly reflective of near-infrared light: light in that portion of the spectrum just beyond visible red.  This portion of light is reflected by the structure of plant cell walls and this characteristic can be captured using a camera or sensor sensitive to that part of the spectrum.  For example, in the image above the green shrubbery is seen as bright red because the Tetracam is displaying near-infrared reflectance as red color.  Below is a normal looking (red-green-blue) photo of the same scene.

Capturing NIR reflectance can be useful for discriminating between types of vegetation cover or for interpreting vegetation health when combined with values of reflected light in other ‘channels’ (e.g., Red, Green, or Blue).  A goal would be to use NIR imagery in the computer vision workflow to be able to make use of the additional information for scene analysis. 

We have just started to play around with this camera, but unfortunately all the leaves are gone off of the main trees in our study areas.  The new researcher to our team, Chris Leeney, took these photos recently as he was experimenting on how best to use the camera for our applications.

It was necessary to import the images as DCM format into the included proprietary software to be able to see the ‘false-color’ image seen above.  I also ran a small set of images through Photosynth, with terrible results and few identified features, link here.  I wonder if there is such poor reconstruction quality because of the grey scale transformation applied prior to SIFT?  It is likely impossible to say what is being done within Photosynth, but I ran some initial two image tests on my laptop with more promising results. 

I am running OpenCV on my Mac and am working with an open source OpenCV implementation of the SIFT algorithm written in C, written by Rob Hess and blogged about previously, 27 October 2010 “Identifying SIFT features in the forest”.  Interestingly Mr. Hess recently won 2nd place for this implementation in an open source software competition, congratulations!  

Initial tests showed about 50 or so correspondences between two adjacent images and when I ran the default RGB to gray scale conversion it was not readily apparent that a large amount of detail was lost and a round of the SIFT feature detector turned up thousands of potential features.  The next thing to do will be to get things running in Bundler and perhaps take more photos with the camera.

Sorry to scoop the story Chris, I was playing with the camera software and got the false-color images out and just had to test it out.  I owe you one!

Oct 26 2010

Identifying SIFT features in the forest

So that's what SIFT features look like in a forest!  As part of my final project for my Computational Photography class I am working on exploring the characteristics of SIFT features in the context of vegetation areas.  SIFT (Scale Invariant Feature Transform) is an image processing algorithm that uses a series of resampling and image convolutions (e.g., filters) to identify distinctive 'features' within an image that can be used for a number of image processing procedures, including Structure from Motion and 3D reconstruction with computer vision, as in Bundler.

While we have seen maps of SIFT features on images in the setting of urban scenes or landmarks, we had never viewed or investigated the SIFT features of our own data.  These features form the basis of the 3D point clouds that we use to measure ecosystem characteristics and it is my goal with this class project, and further with my dissertation research to investigate the nature of these features in greater detail.  Are SIFT features single leaves, groups of leaves, branches, or something else?  Questions left to be explored; it is a good thing I am able to exercise my recently discovered interests in programming and computer science for this research!  

What is in the picture?  The pink arrows represent the "locations, scales and orientations of the key features" (SIFT README, Lowe 2005).  The location of a feature (the non-arrow end of the arrow) is defined as the local maximum or minimum of a grayscale image intensity apparent through a series of image convolutions.  The scale of a feature (the size of the arrow here) represents the relative size of that feature in the image.  Clicking on the image to get a full-res version, also here, allows us to get an idea of what a feature might be. The original image without features can be seen here.  We can see that the large black shadow areas in the image, representing gaps in the canopy, typically have one large arrow extending out from somewhere within the dark area.  In this case that entire black area is the feature, with the point indicated by the arrow as the local maximum or minimum grayscale intensity.  I am still working through the mathematical explanation of how that location is determined, but it does not have to be a geometric center.  There are other approaches that might allow me to plot boxes or shapes around the features, which I will explore next.  The orientation of the key features represents the intensity gradient.  This is computed as part of the feature descriptor to make the feature invariant to image rotation when being matched to other features.

From here I will generate a sample set of photos from our study sites that cover different types of ground cover (forest, grass, pavement, water) and will analyze the characteristics of SIFT features based on scene content, feature texture and perhaps illumination.  Lot's of programming ahead!

I processed this image using a great open-source SIFT library implemented with OpenCV from a PhD Student at Oregon State, Rob Hess, in Terminal on my MacBook.

Refs:

SIFT README, available online in SIFT download, http://www.cs.ubc.ca/~lowe/keypoints/

Lowe, D. G. (2004). "Distinctive Image Features from Scale-Invariant Keypoints." International Journal of Computer Vision 60(2): 91-110.