[Image segmentation] Intuitionistic fuzzy C-means clustering based on matlab image segmentation IFCM [with Matlab source code 120 period]

1. Introduction

In daily life, there are many things that are more or less vague. Although vagueness is elusive, it is very important. Fuzzy theory emphasizes the use of fuzzy logic to describe things in real life to make up for the shortcomings of binary logic that cannot describe things with unclear boundaries. Human natural language is very vague in expression, and it is difficult to use binary logic to completely describe things in real life. Therefore, fuzzy theory defines the fuzzy concept as a fuzzy set, and quantifies the membership function of the degree to which the event belongs to a certain set to obtain the degree of membership to deal with the problem.
Fuzzy clustering is to use fuzzy mathematics to quantify the fuzzy relationship between samples, so as to objectively and accurately perform clustering, so that the data difference between each class should be as large as possible, and the data difference between the classes should be as large as possible Small, that is, minimize the similarity between classes and maximize the similarity within the classes. The fuzzy C-means is one of the most widely used and successful fuzzy clustering methods. It obtains the membership degree of each sample point to all cluster centers by optimizing the objective function, thereby determining the category of sample points to achieve the purpose of classifying samples.
2. Application of Fuzzy Theory
In 1965, Professor Zadeh proposed the famous fuzzy set theory and created a new subject-fuzzy mathematics, which mainly included fuzzy set theory, fuzzy logic, fuzzy reasoning and fuzzy control. Among them, the fuzzy set theory is an extension of the traditional set theory, which can better describe the ambiguity in human vision. Fuzzy set theory can be used at all levels of pattern recognition. Fuzzy theory mainly solves the uncertainty problems caused by incomplete, inaccurate, ambiguity, contradictions and other information at different levels of pattern recognition.
2.1 Fuzzy clustering theory
Based on the characteristics of fuzzy sets, fuzzy clustering methods came into being. Clustering is to divide a group of samples with a given unknown class label into multiple intrinsic classes, so that samples in the same class have a higher degree of similarity, while samples in different classes are very different. The purpose of cluster analysis is to reveal and characterize the internal structure of data. Its content involves research fields such as statistics, biology, and machine learning, and has been widely used in pattern recognition, data analysis and mining, and image processing.
In 1973, JC Bezdek proposed the landmark Fuzzy C-Means Clustering Algorithm (FCM) [1]. By introducing the membership degree of samples to cluster centers, the criterion function was not only differentiable, but also softened the attribution of the model.
Among the many fuzzy clustering algorithms, the FCM algorithm is the most widely used and successful. It obtains the membership degree of each sample point to all cluster centers by optimizing the objective function, thereby determining the category of the sample point to automatically classify the sample data the goal of.
2.1.1 Principle of the FCM algorithm
According to the number of clusters C and a set of data xk containing n L-dimensional vectors, the membership degree uij of the elements is output by the FCM algorithm, which represents the probability that the data xj belongs to the i-th class. It is obtained by finding the minimum value of the objective function in the following formula (1), usually m=2.

Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here2.1.3 Advantages and disadvantages of the
FCM algorithm The FCM algorithm is superior to the traditional hard C-means clustering algorithm in that the degree of membership can be continuously taken in the interval [0,1], taking into account the "this and that" of the samples belonging to each class, it can The classification of data sets with overlapping samples between classes has good convergence; and the FCM algorithm has low complexity and is easy to implement. However, FCM also has shortcomings, such as the objective function is easy to fall into the local minimum in the iterative process, the function converges slowly, and is sensitive to the initial value and noise. Starting from the analysis of the meaning and division trend of the membership degree of the fuzzy C-mean clustering partition matrix, we discuss an algorithm that can improve the performance of FCM—IFCM algorithm. Before that, a new concept needs to be introduced, namely, intuitionistic fuzzy sets.
2.2 Intuitionistic Fuzzy Clustering Theory
2.2.1 Introduction to
Intuitionistic Fuzzy Sets Intuitionistic Fuzzy Sets (IFS) are an important extension of fuzzy sets. By adding new attribute parameters-non-membership γ and uncertainty π, the objective can be described more delicately The fuzzy nature of the world, assuming that the intuitionistic fuzzy set A represents the relationship between the sample x and the universe of X={x1,x2,...,xn}, there are:
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
In summary, the algorithm steps of IFCM can be summarized as follows:
1) First Same as FCM. First define a criterion function, select C initial cluster centers or initialize a random membership matrix (iteration initial conditions).
2) Introduce the uncertainty parameter and change the membership matrix into a fuzzy membership matrix.
3) Calculate the distance from the sample to the cluster center using the fuzzy membership matrix, and divide the sample into each class.
4) Recalculate the cluster center of each class and the distance from the sample to the cluster center. In each calculation, the intuitionistic fuzzy membership matrix is ​​used to replace the original membership matrix, and the samples are re-divided into various classes.
5) Repeat steps 2, 3, and 4 until the criterion function is the smallest or reaches the specified threshold.
6) For image segmentation, map the iterated cluster centers to various image information, such as gray value, so as to realize the gray value classification of each pixel of the image.

3. Image segmentation based on fuzzy clustering

3.1 Overview of
image segmentation Image segmentation is to subdivide an image into its constituent objects or sub-regions. These regions are not intersecting each other, and each region meets the consistency of a specific region. The degree of segmentation mainly depends on the problem that people want to solve. When the area or object of interest has been distinguished, the segmentation is complete. Image segmentation is an important problem in image processing, and it is also a classic problem in computer vision research. Image understanding in computer vision, including target detection, feature extraction and target recognition, all depend on the quality of segmentation.
At present, image segmentation algorithms are generally designed around two basic characteristics of brightness values: discontinuity and similarity. The application of the discontinuity of the brightness value is mainly to segment the image based on the discontinuous change of the pixel characteristics (such as the gray value), such as the most commonly used edge detection. The similarity of brightness values ​​can be used to form a mechanism, that is, the image is divided into similar regions according to pre-specified criteria. Some examples include threshold processing, region separation, region growth, and clustering. The advantage of using fuzzy C-means clustering and its extended algorithm for image segmentation is that it avoids the problem of threshold setting. The clustering process does not require manual intervention. You only need to enter the expected number of categories to achieve automated image segmentation.
3.2 The significance of fuzzy membership matrix in image segmentation
In image segmentation, fuzzy membership can be used to indicate the degree to which a pixel in a gray-scale image belongs to a gray-value center, so it is only necessary to find a pixel point to a gray-scale value The maximum degree of membership of the center can divide the pixel into the gray-level area. For gray-scale image segmentation, the calculation formula of fuzzy membership can be written as:
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

2. Remarks

Complete code or writing add QQ2449341593 past review
>>>>>>
[Matlab 024] [Image processing 1] Image compression of Matlab image processing tutorial series
[Matlab 025] [Image processing 2] Matlab image processing tutorial series Image segmentation (1)
[Matlab 026 issue] [Image processing 3] Image segmentation of Matlab image processing tutorial series (2)
[Matlab 029] [Image processing 4] Matlab fingerprint recognition
[Matlab 030] [Image processing 5] Bank Card number recognition matlab source code
[Matlab 074] [Image processing 6] [Image clustering] Based on FCM and improved FCM brain CT image clustering processing
[Matlab 075] [Image processing 7] [Image evaluation] Based on CCF algorithm Image quality evaluation
[Matlab 076] [Image processing 8] [Image enhancement] CLAHE algorithm based on local contrast enhancement-histogram enhancement
[Matlab 077] [Image processing 9] [Image fusion] Image fusion based on Frequency Partition
[ Matlab Issue 078] [Image Processing 10] [Image Evaluation] Image quality evaluation based on svm without reference
[Image Edge Detection] Matlab source code of ellipse edge detection based on least square method [Matlab Issue 079] [Image Processing 11]
[Image Encryption] Image encryption and decryption based on chaotic system matlab source code with GUI [Matlab 080 period] [Image processing 12]
[Image processing] Based on DWT+DCT+PBFO to improve image watermark hiding and extraction matlab source code with GUI [Matlab 081 period] [Image processing 13]
[Image registration] Image registration matlab source code based on sift algorithm [Matlab 082] [Image processing 14]
[Image fusion] Image fusion matlab source code based on CBF algorithm [Matlab 083] [Image processing 15]
[Image segmentation] Image segmentation matlab source code based on random walk algorithm [Matlab 084] [Image processing 16]
[Image filtering] Image two-dimensional bilateral Gaussian filtering [Matlab 085] [Image processing 17]
[Image denoising] Based on adaptive morphology Image denoising [Matlab 086 issue] [Image processing 18]
[Image enhancement] DEHAZENET and HWD based underwater scattering image enhancement [Matlab 087] [Image processing 19]
[Image enhancement] PSO optimization ACE image enhancement matlab Source code [Matlab 088] [Image processing 20]
[Image enhancement] Gray-scale image enhancement based on region similarity transformation function and dragonfly algorithm [Matlab 089] [Image processing 21]
[Image reconstruction] ASTRA algorithm for image reconstruction [Matlab 090 [Image processing 22]
[Image segmentation] Image segmentation based on quadtree matlab source code [Matlab 091] [Image processing 23]
[Image segmentation] Heart centerline extraction [Matlab 092] [Image processing 24]
[Image recognition ] Based on svm plant leaf disease detection and classification [Matlab 093] [Image processing 25]
[Image recognition] Based on template matching handwritten number recognition system GUI interface [Matlab 094] [Image processing 26]
[Image recognition] based on unchanged Moment’s digital verification code recognition with GUI interface [Matlab 095] [Image processing 27]
[Image recognition] Barcode recognition system [Matlab 096] [Image processing 28]
[Image recognition] RMB recognition system based on RGB and BP neural network with GUI interface [Matlab 097] [Image processing 29]
[Image recognition] Matlab source code recognition based on cnn convolutional neural network [Matlab 098] [Image Processing 30]
[Image classification] Classification of remote sensing images based on extreme learning classifier [Matlab 099] [Image processing 31]
[Image straight line fitting] Image straight line fitting based on least squares method and bisect angle bisector [Matlab 100 [Image processing 32]
[Image defogging] Image defogging based on dark channel [Matlab 101 issue] [Image processing 33]
[Image transformation] DIBR-3D image transformation (3D Image Warping) [Matlab 117 issue] [Image processing 34 ]
[image] segmentation image segmentation and morphological reconstruction filtering improved FCM algorithm (FRFCM) Matlab 118 based on the [period] [35] the image processing
[image] image segmentation based on fuzzy clustering algorithm FCM segmentation [period] [Matlab 119 Image processing 36】

Guess you like

Origin blog.csdn.net/TIQCmatlab/article/details/113028098