基于聚类的分割方法是以统计学为基础提出的一种分割方法。其实质是通过计算像素与每一类聚类中心的欧氏距离来判定像素与每一类聚类中心的相似性,距离近就说明像素与聚类中心相似性大,反之相似性小。基于一定标准下的相似性自动划分成若干个子集(类),使得相似度大的像素划分为相同的组织类,反之划分成不同的组织类。其聚类过程中不使用样本任何的先验信息,是一种非监督分类方法。
模糊聚类算法是目前聚类算法研究中应用最广泛的算法之一。该方法利用隶属度函数给出样本对于类别的不确定程度,符合现实世界中事物所具有的亦此亦彼特性,进而实现聚类。因此,模糊聚类分析更能客观地反映现实世界,成为解决聚类问题有力的分析工具。该算法较适用于模糊图像的分割,但传统的模糊聚类算法存在一个缺点就是未充分利用图像像素所提供的信息。
脑部图像分割是基于MRI和一定标准下的相似性,将MRI中较相似的像素划分为相同的组织类,相似度小的像素划分为不同的组织类。模糊c-均值聚类FCM算法是目前应用最广泛的MRI图像分割算法,该算法在分割无噪声或者噪声含量极低的图像时可以取得较好的效果。但是医学MRI图像由于自身成像技术缺陷使得图像较易受噪声等多种因素影响。而传统FCM算法在聚类分割过程中未充分考虑图像像素的空间信息,仅考虑了像素点的灰度信息使得医学图像噪声含量超过一定量后,若仍使用传统模糊聚类分割算法进行分割,会导致分割效果受噪声影响较大。
为解决上述缺陷,不少学者对FCM算法进行了改进。部分学者引入像素邻域信息到模糊聚类分割算法的目标函数中,提高算法抗噪性,以获得较好的分割效果。本项目将偏置场校正引入FCM算法,提出一种偏置场校正的改进模糊c-均值聚类图像分割算法,运行环境为MATLAB R2018A。部分代码如下:
Load the data
DATA_PATH = "data/data.mat";
data = load(DATA_PATH, "-mat");
img = data.imageData;
mask = data.imageMask;
imshow(img);
title("Corrupted Image");
saveas(gcf, "plots/corrupted.jpg", "jpg");
% We only need to segment inside the brain, the background-foreground
% segmentation is already provided by the mask
imshow(mask);
title("Image Mask");
saveas(gcf, "plots/mask.jpg", "jpg");
出图如下:
完整代码: MATLAB环境下基于偏置场校正的改进模糊c-均值聚类图像分割算法(MATLAB R2018A)
工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。