💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
摘要:对于放射科医师而言,对如肿块等乳腺异常的分类是一个具有挑战性的任务。计算机辅助诊断 (CADx) 技术可以通过协助医师将模式分类为良性和恶性类别来提高他们的表现。虽然神经网络 (NN) 例如多层感知器 (MLP) 存在缺陷,即训练时间长,但相当数量的 CADx 系统采用基于 NN 的分类器。原因是在适当训练时,它们能够提供高准确性。在本文中,我们介绍了三种新颖的学习规则,称为每个模式的相反权重反向传播 (OWBPP)、每个时代的相反权重反向传播 (OWBPE) 以及初始化时每个模式的相反权重反向传播 (OWBPI),以加速 MLP 分类器的训练过程。然后,我们使用传统的反向传播 (BP)、OWBPP、OWBPE 和 OWBPI 算法在 MLP 分类器上开发用于乳腺肿块诊断的 CADx 系统。我们定量分析每个系统的准确性和收敛速率。结果表明,所提出的 OWBPE 算法的收敛速率比传统 BP 快4倍以上。此外,使用 OWBPE 分类器的 CADx 系统的平均 ROC 曲线下面积 (Az) 为0.928,误检率 (FNR) 为9.9%,误诊率 (FPR) 为11.94%。
当运行主函数时,它将计算输入图像的Zernike矩,其中n=4为阶次,m=2为重复次数。由于第一行图像只是一个唯一物体(椭圆)的旋转版本,这三个图像的Zernike矩的幅度是相同的。此外,矩的相位差与图像的旋转角度成比例。预期地,两个不同形状(例如椭圆和矩形)的Zernike矩完全不同。这种行为的原因是Zernike矩在描述物体形状的能力。
一、Zernike矩的核心原理与医学应用优势
1. 数学定义与特征提取能力
Zernike矩是基于正交Zernike多项式的复数矩,其定义为:
其中,ρ为极径,θ为方位角,Rnm(ρ)为径向多项式。Zernike矩的模值∣Znm∣具有旋转不变性,而其相位差与图像旋转角度成比例。通过低阶矩描述整体形状、高阶矩刻画细节的特性,Zernike矩可有效区分肿块边缘的细微差异(如良性的规则轮廓与恶性的毛刺状边缘)。
2. 医学影像分析中的独特优势
- 抗噪性与亚像素精度:Zernike矩对噪声不敏感,且可实现亚像素级边缘定位,适用于低对比度乳腺X光或超声图像。
- 旋转与尺度不变性:通过归一化处理,Zernike矩特征不受图像平移、缩放及旋转影响,减少因患者体位差异导致的误判。
- 全局特征表征:相比局部纹理特征,Zernike矩能更全面地描述肿块的形态学特征,如对称性、分叶状结构等。
3. 典型应用场景
- 边缘检测与图像配准:在乳腺MRI与CT的多模态图像融合中,Zernike矩用于精确对齐病灶区域。
- 肿块分类:结合支持向量机(SVM)或神经网络,Zernike矩特征可区分良恶性肿块,文献报道其分类准确率可达85%以上。
二、快速相反权重学习规则(FOWLR)的创新机制
1. 传统反向传播算法的瓶颈
传统反向传播(BP)算法在多层感知机(MLP)中存在收敛速度慢、易陷入局部极值等问题,尤其在高维特征(如Zernike矩的多阶组合)场景下,训练时间显著增加。
2. FOWLR的核心思想与变体
FOWLR通过动态调整权重更新方向加速收敛,具体实现包括三种变体:
- OWBPP(逐模式更新) :每个训练样本后反向传播并调整权重。
- OWBPE(逐周期更新) :每个训练周期(epoch)后全局调整权重。
- OWBPI(初始化优化) :在权重初始化阶段引入反向传播修正。
其权重更新公式可表示为:
其中α为反向权重系数,通过抑制错误梯度方向加速收敛。
3. 性能提升对比
实验表明,FOWLR(尤其是OWBPE变体)使MLP的收敛速度提升4倍以上,同时维持高分类性能:ROC曲线下面积(AUC)达0.928,误诊率(FPR)11.94%,漏诊率(FNR)9.9%。
三、Zernike矩与FOWLR的协同应用框架
1. 系统架构
- 特征提取阶段:计算乳腺肿块ROI的Zernike矩(常用阶数n=4,m=2),生成旋转不变的特征向量。
- 分类器设计:采用MLP作为分类器,输入层节点数对应Zernike矩特征维度,输出层为二元(良性/恶性)节点。
- 训练优化:应用FOWLR替代传统BP算法,通过Matlab实现快速权重更新。
2. 关键技术突破
- 特征-算法适配:Zernike矩的低冗余特性减少了MLP输入维度,与FOWLR的高效训练形成互补。
- 动态学习率调整:结合Zernike矩特征的幅值差异,自适应调整不同特征通道的学习率,避免梯度震荡。
3. 实际临床验证
在MIAS乳腺数据库的57个ROI(37良性/20恶性)测试中,该系统对BI-RADS 4类肿块(恶性风险5%-95%)的分类准确率显著高于传统方法,尤其在小型肿块(<1cm)检测中表现突出。
四、技术挑战与解决方案
1. 数据层面的难点
- 类内差异与类间相似性:部分良性肿块(如纤维腺瘤)与恶性病灶形态相似。解决方案包括融合Zernike矩与灰度共生矩阵(GLCM)纹理特征。
- 小样本问题:采用迁移学习,复用自然图像预训练的MLP权重,再通过FOWLR微调。
2. 算法优化方向
- 计算效率优化:Zernike矩的递推计算法(如Clenshaw递推)可将计算复杂度从O(n2)降至O(n)。
- 过拟合抑制:在FOWLR中引入Dropout与L2正则化,提升模型泛化能力。
五、研究现状与未来展望
当前研究已证实Zernike矩+FOWLR框架在乳腺癌CADx系统中的有效性,但仍有以下发展方向:
- 多模态融合:结合超声弹性成像、钼靶X光的Zernike矩特征,构建多维度诊断模型。
- 可解释性增强:利用Zernike矩重构图像可视化,揭示分类决策的关键形态学依据。
- 实时性提升:基于GPU并行化Zernike矩计算与FOWLR权重更新,满足临床实时诊断需求。
📚2 运行结果
部分代码:
% A demo of how to use the Zernike moment function.
%
% Example:
% 1- calculate the Zernike moment (n,m) for an oval shape,
% 2- rotate the oval shape around its centeroid,
% 3- calculate the Zernike moment (n,m) again,
% 4- the amplitude of the moment (A) should be the same for both images
% 5- the phase (Phi) should be equal to the angle of rotation
clc; clear all; close all;
n = 4; m = 2; % Define the order and the repetition of the moment
disp('------------------------------------------------');
disp(['Calculating Zernike moments ..., n = ' num2str(n) ', m = ' num2str(m)]);
%--------------------------------------------------------------------------
% row 1
p = rgb2gray(imread('Oval_H.png'));
figure(1);subplot(2,3,1);imshow(p);
title('Horizontal oval');
p = logical(not(p));
tic
[~, AOH, PhiOH] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
Elapsed_time = toc;
xlabel({['A = ' num2str(AOH)]; ['\phi = ' num2str(PhiOH)]});
p = rgb2gray(imread('Oval_45.png'));
figure(1);subplot(2,3,2);imshow(p);
title('-45 degree oval');
p = logical(not(p));
[~, AOH, PhiOH] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
xlabel({['A = ' num2str(AOH)]; ['\phi = ' num2str(PhiOH)]});
p = rgb2gray(imread('Oval_V.png'));
figure(1);subplot(2,3,3);imshow(p);
title('Vertical oval');
p = logical(not(p));
[~, AOH, PhiOH] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
xlabel({['A = ' num2str(AOH)]; ['\phi = ' num2str(PhiOH)]});
%--------------------------------------------------------------------------
% row 2
p = rgb2gray(imread('shape_0.png'));
figure(1);subplot(2,3,4);imshow(p);
title('Horizontal shape');
p = logical(not(p));
[~, AOH, PhiOH] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
xlabel({['A = ' num2str(AOH)]; ['\phi = ' num2str(PhiOH)]});
p = rgb2gray(imread('shape_90.png'));
figure(1);subplot(2,3,5);imshow(p);
title('Vertical shape');
p = logical(not(p));
[~, AOV, PhiOV] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
xlabel({['A = ' num2str(AOV)]; ['\phi = ' num2str(PhiOV)]});
p = rgb2gray(imread('Rectangular_H.png'));
figure(1);subplot(2,3,6);imshow(p);
title('Horizontal Rectangle');
p = logical(not(p));
[~, AOH, PhiOH] = Zernikmoment(p,n,m); % Call Zernikemoment fuction
xlabel({['A = ' num2str(AOH)]; ['\phi = ' num2str(PhiOH)]});
%--------------------------------------------------------------------------
% show the elapsed time
disp('Calculation is complete.');
disp(['The elapsed time per image is ' num2str(Elapsed_time) ' seconds']);
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。