ISSN ONLINE(2278-8875) PRINT (2320-3765)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

FPGA Implementation of GLCM

Girisha A B1, M C Chandrashekhar 2, Dr. M Z Kurian 3
  1. PG student [VLSI and Embedded systems], Dept. of E&C, SSIT, Tumkur, Karnataka, India
  2. Associate Professor, Dept. of E&C, SSIT, Tumkur, Karnataka, India
  3. Dean & HOD, Dept. of E&C, SSIT, Tumkur, Karnataka, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Abstract

This paper presents hardware architecture for Gray Level Co-occurrence Matrix (GLCM). Texture is one of the important characteristics used in identifying objects or regions of interest in an image. A statistical method of examining texture that considers the spatial relationship of pixels is the GLCM, also known as the gray level spatial dependence matrix. The GLCM functions characterize the texture of an image by calculating how often pairs of pixel with specific values and in a specified spatial relationship occur in an image, creating a GLCM, and then extracting statistical measures from this matrix. GLCM is a second order statistical feature which contains information about pixels having similar gray level values in an image.

Keywords

GLCM, FPGA, Texture Analysis, Statistical method.

INTRODUCTION

GLCM represents the distance and angular spatial relationship over an image or image sub-region of specific size. Gray level co-occurrence matrix, also referred to as a co-occurrence distribution is defined over an image to be the distribution of co-occurring values at a given offset. GLCM is created from a gray-scale image. GLCM is created from a gray-scale image. The GLCM contains information about how often a pixel with gray-level (gray scale intensity or Tone) value i occurs either horizontally, vertically, or diagonally to adjacent pixels with the value j. Where i & j are the gray level values (tone) in an image.

RELATED WORK

Gray Level Co‐occurrence Matrix is second order statistic measurement that contains information about the positions of pixels having similar gray level values. Haralick has extracted many statistical features known as Haralick texture features [1] using the GLCMs.
Second-order statistics [2] are defined as the likelihood of observing a pair of gray values occurring at the endpoints of a dipole (or needle) of random length placed in the image at a random location and orientation.
GLCM directions of analysis
1. Horizontal (0˚ or 180˚).
2. Vertical (90˚ or 270˚).
3. Right Diagonal (45˚ or 225˚).
4. Left diagonal (135˚ or 315˚). Denoted as P0, P45, P90 & P135 respectively.
image
Fig.1 shows directional analysis [3] of P (0°), P (45°), P (90°), P (135°) in an image. If the adjacent pixel to the pixel of interest is along x axis then it referred to as 0° directional analysis. If the adjacent pixel to the pixel of interest is along 45° then it referred to as 45° directional analysis. If the adjacent pixel to the pixel of interest is along 90° then it referred to as 90° directional analysis. If the adjacent pixel to the pixel of interest is along 135° then it referred to as 135° directional analysis. For each direction GLCM can be calculated. We can obtain four different GLCM for a same image or image sub-region.
The following figures explain how to create GLCM for an input image .Consider an input image as shown in figure2 and its corresponding intensity matrix.
image
GLCM is a Ng x Ng matrix, where Ng is the number of gray levels in the input image. Number of pixel pair repetitions are counted and updated in the GLCM matrix. GLCM can be created for four directions namely 0°, 45°, 90°, 135°. Fig. 3 ,fig. 4,fig. 5, fig. 6 shows GLCM for 0°, 45°, 90°, 135° respectively.
Haralick has extracted many properties or features from GLCM. To extract Haralick features GLCM should be a symmetric and normalized matrix. To make a matrix symmetric, we should take transpose of GLCM and add it with the original GLCM. To get a normalized matrix, calculate sum of all elements in a GLCM and divide each element of the matrix with the obtained sum. From the normalized symmetrical GLCM texture features are extracted.
image
image
image
image

FPGA IMPLEMENTATION

The block diagram of FPGA implementation of GLCM is as shown in fig. 7. The GLCM architecture was implemented using Verilog hardware description language. The proposed GLCM architecture is implemented for a 8x8 image (8 tone, that is for images with gray values from 1 to 8).
image

RESULTS

The GLCM architecture was implemented using Verilog hardware description language (for P (0°)). These descriptions were then processed by standard Xilinx ISE 10.1 design tool suite, which performed synthesis, placement, routing, and bit stream (FPGA physical programming information) generation.
image
The bitstream generated was dumped onto XC2VP30 device of Xilinx Virtex 2 pro family. The number of slice flip flops used was 591 and the number of 4 inputs LUT’s used was 784, each representing 2% of the total resources available. Fig. 8 shows the output of the implemented design seen using chipscope pro. Updated matrix shows the GLCM, a and b represent location in a matrix, c and d represent the input.

CONCLUSION

In this paper, we have proposed and implemented a novel FPGA based architecture for GLCM. The design was focused on GLCM hardware realization. The design was completely implemented on hardware. The results obtained were cross checked with simulation results.

References