C-Green: A computer Vision System for Leaf Identification

Similar documents
The Delicate Art of Flower Classification

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

Indoor Surveillance System Using Android Platform

A Method for Controlling Mouse Movement using a Real- Time Camera

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor

A Simple Feature Extraction Technique of a Pattern By Hopfield Network

MAVIparticle Modular Algorithms for 3D Particle Characterization

Face Recognition in Low-resolution Images by Using Local Zernike Moments

Signature Region of Interest using Auto cropping

Topographic Change Detection Using CloudCompare Version 1.0

Local features and matching. Image classification & object localization

Classifying Manipulation Primitives from Visual Data

Fast Matching of Binary Features

Image Segmentation and Registration

Automatic License Plate Recognition using Python and OpenCV

Machine vision systems - 2

LEAF COLOR, AREA AND EDGE FEATURES BASED APPROACH FOR IDENTIFICATION OF INDIAN MEDICINAL PLANTS

How To Filter Spam Image From A Picture By Color Or Color

The Scientific Data Mining Process

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

Comparison of Non-linear Dimensionality Reduction Techniques for Classification with Gene Expression Microarray Data

CLOUD CHARACTERIZATION USING LOCAL TEXTURE INFORMATION. Antti Isosalo, Markus Turtinen and Matti Pietikäinen

The Role of Size Normalization on the Recognition Rate of Handwritten Numerals

Morphological segmentation of histology cell images

Visual Structure Analysis of Flow Charts in Patent Images

Data Mining: Exploring Data. Lecture Notes for Chapter 3. Introduction to Data Mining

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Character Image Patterns as Big Data

Using MATLAB to Measure the Diameter of an Object within an Image

Nuclear Science and Technology Division (94) Multigroup Cross Section and Cross Section Covariance Data Visualization with Javapeño

Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture.

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

Module II: Multimedia Data Mining

PERFORMANCE ANALYSIS OF HIGH RESOLUTION IMAGES USING INTERPOLATION TECHNIQUES IN MULTIMEDIA COMMUNICATION SYSTEM

Signature Segmentation from Machine Printed Documents using Conditional Random Field

MVA ENS Cachan. Lecture 2: Logistic regression & intro to MIL Iasonas Kokkinos Iasonas.kokkinos@ecp.fr

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

AUTOMATIC CROWD ANALYSIS FROM VERY HIGH RESOLUTION SATELLITE IMAGES

QUALITY TESTING OF WATER PUMP PULLEY USING IMAGE PROCESSING

Image Normalization for Illumination Compensation in Facial Images

A Study on M2M-based AR Multiple Objects Loading Technology using PPHT

How To Fix Out Of Focus And Blur Images With A Dynamic Template Matching Algorithm

Thresholding technique with adaptive window selection for uneven lighting image

Recognizing Cats and Dogs with Shape and Appearance based Models. Group Member: Chu Wang, Landu Jiang

Adobe Illustrator CS5 Part 1: Introduction to Illustrator

jorge s. marques image processing

3D Model based Object Class Detection in An Arbitrary View

Machine Learning for Medical Image Analysis. A. Criminisi & the InnerEye MSRC

Demo: Real-time Tracking of Round Object

A Study of Automatic License Plate Recognition Algorithms and Techniques

LOCAL SURFACE PATCH BASED TIME ATTENDANCE SYSTEM USING FACE.

Voronoi Treemaps in D3

Supervised and unsupervised learning - 1

COM CO P 5318 Da t Da a t Explora Explor t a ion and Analysis y Chapte Chapt r e 3

Example: Credit card default, we may be more interested in predicting the probabilty of a default than classifying individuals as default or not.

Designing a Graphical User Interface

Analecta Vol. 8, No. 2 ISSN

Convolution. 1D Formula: 2D Formula: Example on the web:

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

Poker Vision: Playing Cards and Chips Identification based on Image Processing

An Active Head Tracking System for Distance Education and Videoconferencing Applications

Robert Collins CSE598G. More on Mean-shift. R.Collins, CSE, PSU CSE598G Spring 2006

Plotting Data with Microsoft Excel

PowerPoint: Graphics and SmartArt

Recognition Method for Handwritten Digits Based on Improved Chain Code Histogram Feature

Plumbing and Pipe-Fitting Challenges

NIS-Elements: Using Regions of Interest (ROIs) & ROI Statistics

Image Analysis Report

Data Mining and Visualization

Mean-Shift Tracking with Random Sampling

Big Data: Image & Video Analytics

Circle Object Recognition Based on Monocular Vision for Home Security Robot

3D Drawing. Single Point Perspective with Diminishing Spaces

Tutorial 8 Raster Data Analysis

3D Drawing. Single Point Perspective with Diminishing Spaces

SIGNATURE VERIFICATION

A secure face tracking system

Practical Tour of Visual tracking. David Fleet and Allan Jepson January, 2006

Data Mining: Exploring Data. Lecture Notes for Chapter 3. Introduction to Data Mining

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

AN IMPROVED DOUBLE CODING LOCAL BINARY PATTERN ALGORITHM FOR FACE RECOGNITION

Determining optimal window size for texture feature extraction methods

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Defect detection of gold-plated surfaces on PCBs using Entropy measures

Signature verification using Kolmogorov-Smirnov. statistic

MetaMorph Software Basic Analysis Guide The use of measurements and journals

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts

Vision based Vehicle Tracking using a high angle camera

Building an Advanced Invariant Real-Time Human Tracking System

Galaxy Morphological Classification

Pixels Description of scene contents. Rob Fergus (NYU) Antonio Torralba (MIT) Yair Weiss (Hebrew U.) William T. Freeman (MIT) Banksy, 2006

Automatic Building Facade Detection in Mobile Laser Scanner point Clouds

A Segmentation Algorithm for Zebra Finch Song at the Note Level. Ping Du and Todd W. Troyer

Transcription:

C-Green: A computer Vision System for Leaf Identification Chinmai Basavaraj Indiana State University cbasavaraj@sycamores.indstate.edu December 16, 2014 Abstract I describe here a system which uses automatic visual recognition to identify tree species from the picture of their leaves. I mainly describe the Image processing techniques and Computer Vision concepts required to build this system. I have made use of OpenCV an open source computer vision and machine learning software library, to separate the leaf image from a light colored background and to extract features representing the curvature of the leaf s contour over multiple scales. 1 Introduction C Green is a system to automatically identify tree species using computer vision and image processing. Computer vision is the process of modeling and replicating human vision using computer software and hardware. The work described here is closely related to Leafsnap [1] a mobile app, which describes a more advanced and latest version of the current leaf identification system. I have a used a different and simpler approach for Segmentation [Section 2] of the leaf from its background. Apart from that the basic idea is the same. I have made use of OpenCV, an open source computer vision and machine learning software library to implement this system in C++. Our automatic system requires that a single leaf specimen is photographed on a solid lightcolored background (See Figure 1). The recognition process consists of Segmenting the image to obtain a binary image separating the leaf from the background. We do this by estimating a threshold value that separates the background from the foreground and dilating the resulting image to get rid of stem. [Section 2] Extracting curvature features from the binarized image discriminatively representing the shape of the leaf. We compute histograms of curvature over multiple scales using integral measures of curvature. [Section 3] Comparing the features to those from a labeled database of leaf images and returning the species with the closest matches. 1

Figure 1: Image of a leaf on a light-colored solid background The current version of the system does not have the comparison module written into it. The segmentation and extraction process are completed within 1 second for an image of size 640x480 pixels. 2 Segmentation Segmentation is the process of separating the leaf from its background to obtain a binary image (Black/White). My program relies solely upon shape of the leaf to identify its species. Other features such as the color of the leaf, its venation pattern are not suitable for various reasons - they are either too highly variable across different leaves of the same species, undetectable or only present at limited time of the year. Reliable leaf segmentation is thus crucial in order to obtain shape descriptions that are sufficiently accurate for recognition. 2.1 Uniform Thresholding I make use of a simple segmentation method called Uniform Thresholding. Here, the matter is straight forward. If pixel value is greater than a threshold value, it is assigned one value (may be white), else it is assigned another value (may be black). I read in the image in greyscale format, since the color information is not required. It makes the computation easier and efficient. I go through every pixel, converting the image to binary. (See Figure 3) Figure 2: Image of leaf in greyscale 2

Figure 3: Binary Image of leaf after thresholding 2.2 Dilation - Removing the Stem At this point, the stem of the leaf may or may not be present in the segmentation. The original leaf might not have had a stem to begin with, or it might have been lost during segmentation. To standardize the shape, we have to remove the stems from all segmentations using Dilation. A dilation operation consists of convoluting an image with some kernel, which can have any shape or size, usually a square or circle. The kernel has a defined anchor point, usually being the center of the kernel. The function dilates the image using the specified structuring element that determines the shape of a pixel neighborhood over which the maximum is taken. (See Figure 4) Figure 4: Image of leaf without stem after Dilation 2.3 Resizing We have to resize the image to a standardized pixel value before we begin to extract features. I make use of the opencv resize() function along with bilinear Interpolation to do soft-binning of curvature values. 3 Extraction Leaf shape can be effectively represented using multiscale curvature measures. Curvature is a fundamental property of shape and has thus attracted much attention from the vision community. We make use of integral measures to compute functions of the curvature at a boundary point. 3

One such measure in 2D is the area of intersection of a disk centered at a contour point and the inside of the contour (see Fig 5). For straight, concave, and convex boundaries, the fraction of the disk intersected will be equal to or greater than or less than 0.5 respectively. Figure 5: Curvature = (white pixels in circle)/area Integral measures are fast and easy to compute for images on discrete grids, invariant to rotation, insensitive to small segmentation and discretization errors, independent of the topological complexity. 3.1 Edge Detection In order to find the points along the contour of the leaf, I make use of basic edge detection method. I traverse through the Image matrix comparing each pixel Intensity with its immediate neighbors. Any change in the intensity indicates an edge. I mark all these points and measure the curvature at each of these points. Figure 6: Image of points along the contour resulting from edge detection 3.2 Computing Histograms of Curvature over Scale[HoCS] Histograms are simply collected counts of the data organized into a set of predefined bins. Parallel to measuring the curvature along the contour of the leaf, I construct the histogram of curvature for that specified scale. Once we obtain the curvature measure at a particular point add it to the respective histogram bin. In the end we will have Histogram of Curvature for that particular scale. 4

Figure 7: Image showing how curvature is measured at each point I repeat this process for multiple scales. Finally, we compute histograms of curvature values at multiple scales and then concatenate these histograms to form the HoCS feature. If you look at Figure 8 and Figure 9, you can observe the big difference in HoCS feature calculated for 2 different leaf Images of vaying shape. Figure 8: Histogram of curvature for Maple Leaf Figure 9: Histogram of curvature for some random leaf 5

4 Future Work Comparison First thing I need to do to make the system complete, is to add a comparison module. To promote further research in leaf recognition, Leafsnap [1] has released its extensive dataset consisting of images of leaves taken from two different sources, as well as their automatically generated segmentations. I can make use of this dataset and develop a web based interface, where the user can upload a picture of the leaf and I can use a simple nearest neighbor approach to display top 5 matches. Users can then make the final identification themselves. Classifier Classifying whether the image is of a valid leaf, to decide if it is worth processing further, using a binary classifier applied to gist features [2]. Advanced Thresholding and Segmentation I can make use of more advanced adaptive thresholding and segmentation methods like Otsu s Method. Efficiency Currently the system runtime is O(m*n), where m and n are widht and height of Image in Pixels. Segmentation routine described already makes use of the multi-threaded features. I can incorporate a multi-threaded version of code for Computing Histogram of Curvature over scale. That would improve the speed by a great factor. 5 References Leafsnap : A Computer Vision System for Automatic Plant Species Identification, Neeraj Kumar, Peter N. Belhumeur, Arijit Biswas, David W. Jacobs, W. John Kress, Ida C. Lopez, Joà o V. B. Soares, Proceedings of the 12th European Conference on Computer Vision (ECCV), October 2012 Adrian Kaehler, Gary Bradski Learning OpenCV-Computer Vision in C++ with the OpenCV Library: (2Nd Ed.) O Reilly Media 6