Está en la página 1de 11

International Journal of Computer Engineering and Technology ENGINEERING (IJCET), ISSN 0976INTERNATIONAL JOURNAL OF COMPUTER 6367(Print), ISSN 0976

6375(Online) Volume 4, Issue 4, July-August & TECHNOLOGY (IJCET) (2013), IAEME

ISSN 0976 6367(Print) ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), pp. 20-30 IAEME: www.iaeme.com/ijcet.asp Journal Impact Factor (2013): 6.1302 (Calculated by GISI) www.jifactor.com

IJCET
IAEME

REGION WISE PROCESSING OF AN IMAGE USING MULTITHREADING IN MULTI CORE ENVIRONMENT & ITS APPLICATION IN MEDICAL IMAGING
Sanjay Saxena1, Neeraj Sharma2, Shiru Sharma3 Research Scholar, School of Biomedical Engineering, IIT (BHU), Varanasi, UP, India1 Associate Professor, School of Biomedical Engineering, IIT (BHU), Varanasi, UP, India2 Assistant Professor, School of Biomedical Engineering, IIT (BHU), Varanasi, UP, India3

ABSTRACT Fast processing of an image is a major requirement in many of image processing applications especially in the case of medical imaging. In todays scenario we can see that real time image processing applications need an enormous amount of processing power, computing proficiency and vast resources to perform the image processing applications. The limitations appear on image processing systems due to the dimension and nature of the image to be processed. It seems that parallel image processing would be the best solution to obtain higher speed of operation at real time resources constraints & fully deployment of available resources. This paper represents region wise parallel processing of the image instead of implementing mainly existing parallel algorithms such as grid wise or blocks wise processing to achieve excellent and speedy result. Although the existing parallel computing algorithm provide to some extent parallelism for image processing but fails to provide image processing operations varying at a huge rate. Parallel processing by images region of interest allows a larger image to be sub-divided into a set of different regions & each region is handled by a particular core present in the processor, where each core performing their individual task. This type of processing gives significantly efficient result rather than the existing parallel implementation of image processing application. Our experiments illustrate that the parallel implementation of the algorithm using results in a speed-up a propos 200% compared with sequential implementation on a core i3 processor, while a speed-up a propos 600% on Intel Xeon Processor. This paper also explains its application in medical imaging. Keywords: Core, Image Processing, Medical Imaging, Multithreading, Parallel Computing, Region.

20

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

I.

INTRODUCTION

Digital image processing is an ever expanding and dynamic area with applications reaching out into our everyday life such as medicine, space exploration, surveillance, authentication, automated industry inspection and many more areas [1]. As we know that it is the process to evaluate and manipulate the image in order to improve the superiority and finding several meaningful information from the image. Parallel processing by image region allows a larger imaging task to be assigned to a set of parallel pipelines, each performing some task but on individual regions [2]. Basically there are three types of image processing operations low level operations like smoothing, convolution, histogram, generation etc middle level image processing operations like region labeling, motion analysis etc and high level image processing operations object recognition [3]. Main problem arises in the image processing applications when we work on large images like medical images (CT, PET, and MRI) and image data set. Due to size of the image and large data set it takes more time to compute. To compute the entire image processing algorithm in reasonable time it is necessary to compute parallel instead of implementing sequential. The main goal of this research is to improve efficiency of parallel processing in multi core architecture which is easily available and extracting the statistical features of particular region of interests (ROIs) as per requirement. II. THEORY

Statistical features of the image plays a very vital role in image understanding. The various statistical measures [4, 10] are mean, mode, median, variance, standard deviations, covariance, skewness and kurtosis. All of these measures are used in a wide range of scientific and social research, including: biostatistics, computational biology, computational sociology, network biology, social science, sociology and social research etc. In this research we are able to find features like standard deviation, variance, co variance, mean, median, mode, auto correlation coefficient, kurtosis, skewness etc of individual distinct region. Some of them are described as below Mean: The arithmetic mean filter [5], also known as averaging filter, operates on an sliding mn window by calculating the average of all pixel values within the window and replacing the center pixel value in the destination image with the result. Its mathematical formulation is given as follows , , , (1) Where g is the noisy image, f(x,y) is the restored image, and r and c are the row and column coordinates respectively, within a window W of size mn where the operation takes place[11]. Standard Deviation: In terms of image processing it shows how much variation or "dispersion" exists from the average (mean, or expected value). Mathematically standard deviation is given by ,

, ,
21

, ,

(2)

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

Variance: The variance [8] is a measure of how far a set of numbers is spread out. ,

, ,

, ,

(3)

Mode: In statistics [4], the mode is the value that occurs most frequently. In image processing filter will each pixel value by its most common neighbor. Mathematically, Mean Mode = 3(Mean - Median) (4) These above & many more statistical features are explained in [11]. If we are able to find these features by individual region present in the image than it could be very beneficial for the images having more than one regions with different characteristics. In this paper we are able to find statistical features individually for particular region. It also deals with developing a tool which efficiently parallelizes our sequential process to find ROI present in Medical Images in very minimum of time as per requirement by the medical practitioner. It is necessary to check when the parallel approach is precious or when it is not. Another objective of this paper is to produce efficient ideas of paralleling. Steven J Simske [2] explained the aspect of region wise parallel image processing. Parallel processing by image region allows a larger imaging task to be assigned to a set of parallel pipelines, each performing the same task but on a different data set. Image analysis of this type is readily amenable to a familiar cloud computing approach, map-reduce, when for example a large set of images is being analyzed to find a single item. Examples of parallel processing by image region include (multi-page) document skew detection and multiple face detection and tracking. Following there is a figure which is explained by Steven J Simske the region wise processing

Fig. 1: Example of a parallel processing by image region implementation. In this example, the slides captured from 13 different slide adapter-equipped scanners are shown. 13 parallel processors can be used for analysis of the slides (and parallel processing by image)[2]
22

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

To measure the speed up of parallel execution we are using the following relation which is defined in [12] and Image processing with multi core architecture is explained in [14]. Observed Speedup : Observed speedup of a code which has been parallelized, defined as:

wall-clock time of serial execution --------------------------------------------wall-clock time of parallel execution

And many more speed up measurement techniques are explained by Enrique Alba [13]. Parallel computing can also be applied by MATLAB. As we know that MATLAB is a high-level language and interactive environment for numerical computation, visualization, and programming. It also provide efficient parallel computing tool box for multithreading. Parallel MATLAB: MATLAB is widely used for developing/prototyping algorithms. The High Level Language and Integrated Development/Visualization environment leads to productive code development by parallelizing MATLAB code 1. Algorithm can be run with different/larger data sets. 2. Algorithm can be run with larger parameter sweeps. 3. Compute times may be reduced. So in this paper we are using MATLAB to do multithreading. III. IMPLEMENTATION Our implementation mainly consist of three phases: 1) Preprocessing & Segmentation of the image on client core or processor 2) Activation of threads in the cores and assignment of ROIs to different threads 3) Calculation of distinctive features of Regions as per requirements, Produces the result on client processor & De allocation of threads. Main steps of our implementation are given in the following Flow Chart:

23

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

Flow Chart:
Start

Upload an Image on client Core Image Enhancement on client

Basic Morphological operations Image Segmentation and Identification of Required ROIs


No

Region Wise Processing?


Yes

End

Activation of Required no of threads to Different cores Send Pixels Values of Distinct Region to Different Threads Calculation of Distinctive Features of Different ROIs as Per Requirements & Send to Client
De allocation of Threads present in cores & Displays the result in client

IV.

RESULT AND DISCUSSION

This section describes the results obtained with the region wise parallel implementation. This also deals with the environment used in the experiments, the test images, and results, along with the evaluation of the performance obtained with the parallelization.

24

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

Evaluation Two experiments are given to show the speed difference between the sequential computing and the parallel computing. We have tested above algorithm on 12 different sized cell images. And the efficiencies of the parallel computing implemented by these algorithms analyzed and compared respectively. In this paper of we are showing two cell image on different cores. Experiment 1: Hardware Configuration: CPU: Inter (R) Pentium (R) Core i3 CPU 2.30 GHz. RAM: 2GB. Hard Disk Drive: 320 GB Software Environment: Operating System: Windows 7 Home Basic 64 bit. Development Tools: MATLAB R2011a, Intel Compiler 9.1. Images Cell1.tiff Cell1.tiff Cell2.tiff Cell2.tiff Size 256 X 256 256 X 256 3172 X 1024 3172 X 1024 Active Threads in Cores 1 2 1 2 Speed Up 0.786 2.15 0.98 1.68

Table 1: Calculation of speed up in Core i3 Processor Experiment 2: Hardware Configuration: CPU: Intel(R) Xeon(R) E5640 @ 2.67 GHz RAM: 12 GB Software Environment: Operating System: Windows 7 Home Basic 64 bit. Development Tools: MATLAB R2012a Images Cell1.tiff Cell1.tiff Cell1.tiff Cell1.tiff Cell2.tiff Cell2.tiff Cell2.tiff Cell2.tiff Size 256 X 256 256 X 256 256 X 256 256 X 256 3172 X 1024 3172 X 1024 3172 X 1024 3172 X 1024 8 1 2 4 8 Active Threads in Cores 1 2 4 Speed Up 0.87 1.5 3.8 5.65 0.95 1.2 3.42 5.91

Table 2: Comparative Study of Sequential and Parallel Version

25

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

Result of segmentation and some statistical features calculation of different cells regions present in the image on client processor
segmented image original image

Figure 2: Original Image

Figure 3: Segmented Image


Weighted (red) and Unweighted (blue) Centroid Locations

Figure 4: Segmented Binary Image of a single cell

Figure 5: Centroids of different segmented image regions

Histogram of region 1 60 60

Histogram of region 2

50

50

40

40

30

30

20

20

10

10

0 0 100 200 300 400 500 600

100

200

300

400

500

600

Figure 6: Histogram of region1 in Thread of a activated core 26

Figure 7: Histogram of region2 Thread of a activated core

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

Histogram of region 3 45 40 35 100 30 25 20 15 40 10 5 0 20 80 140

Histogram of region 4

120

60

100

200

300

400

500

600

100

200

300

400

500

600

Fig. 8: Histogram of Region 3


Histogram of region 5 40 35 30

Fig. 9: Histogram of Region 4

Histogram of region 6 100 90 80 70

25 20 15 10

60 50 40 30 20

5 0

10 0

100

200

300

400

500

600

100

200

300

400

500

600

Fig. 10: Histogram of Region 5

Fig. 11: Histogram of Region 6

60

120

50

100

S t a n d a rd D e v ia t io n

40

80

30

M ean 1 2 3 4 Region Label Number 5 6

60

20

40

10

20

3 4 Region Label Number

Fig. 12: Standard Deviations of Regions

Fig. 13: Mean of Regions

27

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

90 80

120

100 70 60 M edian 1 2 3 4 Region Label Number 5 6 50 40 30 20 20 10 0 0 80

M ode

60

40

3 4 Region Label Number

Fig. 14: Mode


3000

Fig. 15: Median

2500

2000 Variance

1500

1000

500

3 4 Region Label Number

Fig.16: Variance V. CONCLUSION & ITS APPLICATION IN MEDICAL IMAGING

We can see from the above experiment that processor having more cores produces good speed up if the algorithm is efficiently organized. This work presents region wise parallel processing of the image. By implementing these above we can see that all of the activated cores are able to handle their individual region. Histogram of different cells region is calculated by different threads activated in different cores in the same way we calculated different statistical features of different cells region. We can observe that this is a very promising result since it allows the exploitation of the enormous processing power of existing processors with multiple cores. The main focus of this implementation to improve performance of parallel image processing. In the future, the purpose is to use the same principle of division of regions present in the image to Medical Dicom images like CT, PET image of abdomen and assignments of different regions like liver, kidney, spleen etc to different activated kernels so that information gain is efficient and execution time is fast. This version would allow the segmentation of large dicom images that do not fit in main memory. Thus, it is expected that the image segmentation can handle extremely large data efficiently and without requiring special hardware. It is also expected to propose others parallel versions for different hardware like clusters and GPUs (Graphics Processing Units). Normal a CT scan, PET scan, etc take much time to produce the result so by parallelizing our code we can find good result in very reasonable time.

28

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

REFERENCES
Daggu Venkateshwar Rao, Shruti Patil, Naveen Anne Babu and V Muthukumar, Implementation and Evaluation of Image Processing Algorithms on Reconfigurable Architecture using C-based Hardware Descriptive Languages for International Journal of Theoretical and Applied Computer Sciences, Vol. 1, No. 1, 2006. [2] Steven J Simske, Parallel Processing Considerations for Image Recognition Tasks, Parallel Processing for Imaging Applications, SPIE Vol. 7872, 2011. [3] A.K.Manjunathachari, K.SatyaPrasad, Implementation of Image Processing Operations Using Simultaneous Multithreading and Buffer Processing for ICGST, GVIP Journal, Volume 6, Issue 3, December, 2006. [4] E. Kreyszig Advanced Engineering Mathematics, J. Willey & Sons Inc. 2011. [5] R. Gonzalez, R.E. Woods, Digital Image Processing, Upper Saddle River, NJ, Prentice Hall, 2002. [6] Chunsheng Ma, Spatiotemporal stationary covariance models, Journal of Multivariate Analysis, Volume 86, Issue 1, July 2003, Pages 97-107. [7] S. Zhnang, H. Yao, S. Liu, X. Chen, W. Gao, A Covariance-based Method for Dynamic Background Subtraction, in proceeding of 19th International Conference on Pattern Recognition, (ICPR 2008), Tampa, FL, 8-11 Dec. 2008, pp. 1-4. [8] Aja-Fernandez, S.; Estepar, R.S.J.; Alberola-Lopez, C.; Westin, C.-F., Image Quality Assessment based on Local Variance, in proceeding of 28th Annual International Conference of the IEEE Engineering in Medicine and Biology Society,(EMBS '06), Aug. 30 2006-Sept. 3 2006, vol., no., pp.4815-4818. [9] J. Robinson, Covariance matrix estimation for appearance-based face image processing. In Proc. BMVC05, pages 389-398, 2005. [10] J. Mayer, On testing image processing applications with statistical methods, in Proceedings of Software Engineering 200 ( E 200 ), ecture otes in Informatics, Gesellschaft f r Informatik e. ., llen Druck erlag GmbH, onn, 200 vol. -64, pp.69-78. [11] Vijay Kumar, Priyanka Gupta, Importance of Statistical Measures in Digital Image Processing, International Journal of Emerging Technology and Advanced Engineering, Volume 2, Issue 8, August 2012. [12] Blaise Barney, Lawrence Livermore National Laboratory, Introduction to Parallel Computing. [13] Enrique Alba, Parallel evolutionary algorithms can achieve super-linear performance, Information Processing Letters 82 7-13, 2002. [14] Greg Slabaugh, Richard Boyes, Xiaoyun Yang, Multicore Image Processing with OpenMP. [15] R. Edbert Rajan and Dr.K.Prasadh, Spatial and Hierarchical Feature Extraction Based on Sift for Medical Images, International Journal of Computer Engineering & Technology (IJCET), Volume 3, Issue 2, 2012, pp. 308 - 322, ISSN Print: 0976 6367, ISSN Online: 0976 6375. [16] Mane Sameer S. and Dr. Gawade S.S., Review on Vibration Analysis with Digital Image Processing, International Journal of Advanced Research in Engineering & Technology (IJARET), Volume 4, Issue 3, 2013, pp. 62 - 67, ISSN Print: 0976-6480, ISSN Online: 0976-6499. [17] J.Rajarajan and Dr.G.Kalivarathan, Influence of Local Segmentation in the Context of Digital Image Processing A Feasibility Study, International Journal of Computer Engineering & Technology (IJCET), Volume 3, Issue 3, 2012, pp. 340 - 347, ISSN Print: 0976 6367, ISSN Online: 0976 6375.
29

[1]

International Journal of Computer Engineering and Technology (IJCET), ISSN 09766367(Print), ISSN 0976 6375(Online) Volume 4, Issue 4, July-August (2013), IAEME

AUTHORS PROFILE 1. Sanjay Saxena, currently Pursuing PhD in School of Biomedical Engineering, IIT(BHU), Varanasi, UP, India. His research interests are Medical Image Processing, Parallel Computing, Computer Vision. 2. Dr. Neeraj Sharma is an Associate Professor at the School of Biomedical Engineering, IIT(BHU), Varanasi, UP, India. His research interests are Biomedical Image & Signal Processing, Bio Instrumentation. 3. Dr. Shiru Sharma is an Assistant Professor at the School of Biomedical Engineering, IIT(BHU), Varanasi, UP, India. Her research interest is Biological Control system,

30

También podría gustarte