• ## 医学影像分割

千次阅读 2019-04-30 10:31:58
title('(c) roberts算子分割'); I3=edge(I,'sobel'); subplot(2,3,4);imshow(I3);title('(d) sobel算子分割'); I4=edge(I,'Prewitt'); subplot(2,3,5);imshow(I4);title('(e) Prewitt算子分割'); subplot(2,3,6);...
1.迭代阈值法
%迭代阈值法
clc;clear all;close all
% I=rgb2gray(I);
subplot(1,2,1);imshow(I);title('(a) 原图');
I=double(I);T=(min(I(:))+max(I(:)))/2;
d=false;i=0;
while ~ d
u1=find(I<=T);
u2=find(I>T);
Tn=(mean(I(u1))+mean(I(u2)))/2;
d=abs(Tn-T)<1;
T=Tn;
i=i+1;
end
I(u1)=0;I(u2)=1;
subplot(1,2,2);imshow(I);title('(b) 处理结果');
2.分水岭法
%分水岭法
clc;clear all;close all
% I=rgb2gray(I);
subplot(2,2,1);imshow(I);title('(a) 原图');
I=double(I);hv=fspecial('prewitt');hh=hv.'
gv=abs(imfilter(I,hv,'replicate'));
gh=abs(imfilter(I,hh,'replicate'));
g=sqrt(gv.^2+gh.^2);
L=watershed(g);wr=L==0;
subplot(2,2,2);imshow(wr);title('(b) 分水岭');
I(wr)=255;
subplot(2,2,3);imshow(uint8(I));title('(c) 分割结果');
rm=imregionalmin(g);
subplot(2,2,4);imshow(rm);title('(d) 局部极小值');
3.边缘探测法
%边缘探测法
clc;clear all;close all
% I=rgb2gray(I);
figure;subplot(2,3,1);imshow(I);title('(a) 原图');
I1=im2bw(I);
subplot(2,3,2);imshow(I1);title('(b) 二值图像');
I2=edge(I,'roberts');
subplot(2,3,3);imshow(I2);title('(c) roberts算子分割');
I3=edge(I,'sobel');
subplot(2,3,4);imshow(I3);title('(d) sobel算子分割');
I4=edge(I,'Prewitt');
subplot(2,3,5);imshow(I4);title('(e) Prewitt算子分割');
subplot(2,3,6);imhist(I);title('(f) 直方图');
4.区域生长法
%区域生长法
clc;clear all;close all
% I=rgb2gray(I);
figure;
% seedx=[256, 128, 480];
% seedy=[128, 256, 384];
seedx=[128, 64, 255];
seedy=[64, 128, 192];
hold on
plot(seedx,seedy,'gs','linewidth',1);title('(a) 原图图像及种子质量');
figure;subplot(1,2,1);imshow(I);title('(a) 原图');
% seedx=[256, 128, 480];
% seedy=[128, 256, 384];
% hold on
% plot(seedx,seedy,'gs','linewidth',1);
% title('(a) 原图图像及种子质量');
I=double(I);
markerim=I==I(seedy(1),seedx(1));
for i=2:length(seedx)
markerim=markerim | (I==I(seedy(i),seedx(i)));
end
thresh=[15, 10, 15];
for i=1:length(seedx)
g=abs(I-I(seedy(i), seedx(i)))<=thresh(i);
end
g=mat2gray(g);
subplot(1,2,2);imshow(g)title('(b) 三个种子点区域生长结果');
5.直方图阈值分割法
% 直方图阈值分割法
clc;clear all;close all
% I=rgb2gray(I);
figure;subplot(1,3,1);imshow(I);title('(a) 原图');
subplot(1,3,2);imhist(I);title('(b) 直方图');
[m, n]=size(I);
for i=1:m
for j=1:n
if I(i,j)>140    %阈值根据实际情况设置
I(i,j)=255;
end
end
end
subplot(1,3,3);imshow(I);title('(c) 分割结果');

6.Otsu分割法
% Otsu分割法
clc;clear all;close all
% I=rgb2gray(I);
figure;subplot(1,2,1);imshow(I);title('(a) 原图');
count=imhist(I);
[r,t]=size(I);
N=r*t;
L=256;
count=count/N;
for i=2:L
if count(i)~=0
st=i-1;
break
end
end
for i=L:-1:1
if count(i)~=0
nd=i-1;
break
end
end
f=count(st+1:nd+1);
p=st;
q=nd-st;
u=0;
for i=1:q
u=u+f(i)*(p+i-1);
ua(i)=u;
end
for i=1:q
w(i)=sum(f(1:i));
end
d=(u*w-ua).^2/(w.*(1-w));
[y,tp]=max(d);
th=tp+p;
if th<=140
th=tp+p;
else
th=140;
end
y1=zeros(r,t);
for i=1:r
for j=1:t
x1(i,j)=double(I(i,j));
end
end
for i=1:r
for j=1:t
if x1(i,j)>=th
y1(i,j)=x1(i,j);
else
y1(i,j)=0;
end
end
end
subplot(1,2,2);imshow(y1);title('(b) 分割结果');


展开全文
• 医学影像分割是计算机视觉在医学影像处理中的一个重要应用领域，其目标是从医学影像中分割出目标区域，为后续的疾病诊断和治疗提供有效的帮助。
• 医学影像分割是计算机辅助诊断中的一项基础且关键的任务，目的在于从像素级别准确识别出目标器官、组织或病变区域。不同于自然场景下的图像，医学影像往往纹理复杂，同时受限于成像技术和成像设备，医学影像噪声大，...
• 深度学习下的医学影像分割算法综述.pdf
• 医学影像分割问题上深度学习网络的改进思路： 1、网络深层抽象信息与底层细节信息共享，用底层信息补充分割细节； 2、网络各个层互补信息，通过最大限度的保留网络信息流来提升分割精度；3、将二维卷积操作换为三...
在医学影像分割问题上深度学习网络的改进思路： 1、网络深层抽象信息与底层细节信息共享，用底层信息补充分割细节； 2、网络各个层互补信息，通过最大限度的保留网络信息流来提升分割精度；3、将二维卷积操作换为三维卷积操作从而利用图像层间信息互补提升分割精度。 不难看出，当前在医学影像分割竞赛上表现出众的三个工作的改进思路都在于扩大参与计算的信息。
展开全文
• 基于mean shift的医学影像分割，胃癌淋巴细胞的分割
• 来源：UNknown知识库转载自新机器视觉仅做学术分享，若侵权，请联系删文▍一、医学图像分割简介医学影像分割是医学影像分析中的重要领域，也是计算机辅助诊断、监视、干预和治疗所必需的一环，其...

来源：UNknown知识库
转载自新机器视觉
仅做学术分享，若侵权，请联系删文
▍一、医学图像分割简介
医学影像分割是医学影像分析中的重要领域，也是计算机辅助诊断、监视、干预和治疗所必需的一环，其关键任务是对医学影像中感兴趣的对象（例如器官或病变）进行分割，可以为疾病的精准识别、详细分析、合理诊断、预测与预防等方面提供非常重要的意义和价值。
在医学影像分割任务中，目前主要存在以下几个难点：
标注数据少。造成该问题的一个重要的原因是收集标注困难，手工标注医学影像是一个费时费力的过程，而这个标注过程在实际的临床实践中可能并不需要。传感器噪声或伪影。现代医学影像最基本的成像模态有 X 光、超声、CT 和 MRI 等，用于成像的医学设备会存在物理噪声和图像重建误差，而医学影像模态和成像参数设定的差别则会造成不同大小的伪影。分割目标形态差异大。患者之间存在高矮胖瘦等体型差异，且病变的大小、形状和位置可能存在巨大差异，因此解剖结构上会有差异。不同的分割部位也存在差异，往往需要不同的算法，有时还需要考虑到先验知识的加入。组织边界信息弱。人体内部的一些器官都是具有相似特征的软组织，它们相互接触且边界信息非常弱，而胰腺肿瘤、肝肿瘤、肾脏肿瘤等边界不清楚的肿瘤往往还非常小，导致很难被识别到。
▍二、基于 U-Net 的医学影像分割算法
1
U-Net
U-Net 是医学影像分割领域著名的一个网络架构，在 2015 年由 Ronneberger等人参加 ISBI Challenge 提出的一种基于 FCN 的分割网络。经过修改和扩展后的 U-Net 能够适应很小的训练集，并且输出更加精确的分割结果。U-Net 的上采样过程中依然有大量通道，这使得网络将上下文信息向更高分辨率传播，且其扩展路径与收缩路径对称，形成了一个 U 型的形状段，并通过跳跃连接的方式融合来自不同阶段的特征图。

图1 U-Net 网络架构
当面对医学影像分割任务时，U-Net 这种扩展路径和收缩路径所组成的编码—解码的网络架构成为了首选，同时发展出很多变体。
2
加入密集连接的 U-Net 算法
密集连接的思想来自于 DenseNet，在 DenseNet 出现之前，卷积神经网络的进化一般通过层数的加深或者加宽进行，DenseNet 通过对特征的复用提出了一种新的结构，不但减缓了梯度消失的现象同时模型的参数量也更少。U-Net++ 网络架构在 2018 年被 Zhou 等人提出，创新点在于将密集连接加入 U-Net 网络，从而引入深度监督的思想，并通过重新设计的跳跃连接路径把不同尺寸的U-Net 结构融入到了一个网络里。在原始的U-Net网络架构上，UNet++ 加入了更多的跳跃连接路径和上采样卷积块，用于弥补编码器和解码器之间的语义鸿沟。中间隐藏层使用的深度监督一方面可以解决 U-Net++ 网络训练时的梯度消失问题，另一方面允许网络在测试的阶段进行剪枝，减少模型的推断时间。

图2 U-Net++网络架构
U-Net++ 网络架构的第一个优势就是精度的提升，这是由于它整合了不同层次的特征，第二个是灵活的网络结构配合深度监督，让参数量巨大的深度神经网络在可接受的精度范围内大幅度地缩减参数量。但是因为多次跳跃连接操作，同样的数据在网络中会存在多个复制，模型训练时的显存占用相对较高，需要采用一些显存优化技术来更好地训练模型。
3
融合残差思想的 U-Net 算法
神经网络因为宽度和深度的增加，会面临梯度消失或梯度爆炸引起的网络退化问题，为此 He 等人提出了残差网络（ResNet）。残差块的输入通过残差路径直接叠加到残差块的输出之中，残差块会尝试去学习并拟合残差以保证增加的网络层数不会削弱网络的表达性能。

图3 ResNet 残差学习块
2019年 Ibtehaz 等人提出了 MultiResUNet 网络，MultiResUNet 运用残差思想改造了 U-Net 中的卷积块和跳跃连接。MultiResNet 使用一系列 3×3 卷积核来模拟 5×5 卷积核和 7×7 卷积核的感受野，卷积块的输入经过 1×1 卷积核后经由残差路径直接与卷积后的输入叠加，作者称之为 MultiResblock，在减少网络计算量的同时可以提取不同尺度的空间特征。作者同时提出了 ResPath 来减少跳跃连接过程中所丢失的空间信息，ResPath 由一系列的 3×3 卷积、1×1卷积和残差路径组成，编码器的输入特征图经过 ResPath 与解码器特征图连接，一方面减少了语义鸿沟，另一方面增强了网络的学习能力。

图4 MultiResUNet 网络架构

图5 MultiResUNet 的 MultiRes block 和 Res Path
4
集成注意力机制的 U-Net 算法
注意力机制借鉴了人类的注意力思维方式，最初被应用于基于 RNN 循环神经网络模型的图像分类、自然语言处理等深度学习任务中并取得了显著成果。2018年 Oktay 等人提出了 Attention U-Net 网络架构。AttentionU-Net 在对扩展路径每个阶段上的特征图与收缩路径中对应特征图进行拼接之前，使用了一个注意力门抑制无关区域中的特征激活来提高模型的分割准确性，在达到高分割精度的同时而无需额外的定位模块。与 U-Net 和相比，AttentionU-Net 在胰腺和腹部多器官分割数据集上，提升了分割的精度，同时减少了模型训练和推理的时间。

图6 Attention U-Net网络架构
5
面向 3D 影像的 U-Net 算法
3D U-Net 网络架构是原始 U-Net 网络架构的一个简单扩展，由 U-Net 的研究团队在 2016 年提出并应用于三维图像分割。因为电脑屏幕上只能展示二维的切片，所以直接在三维层面上标注分割标签比较困难。与此同时，相邻的二维切片往往包含了近似的图片信息。基于上述两个事实，作者提出了只需要稀疏标注的二维图像进行训练的 3D U-Net 网络架构。3D U-Net 通过将 U-Net 原来的 2D 卷积、池化、上采样操作替换成对应的 3D 操作，并加入 Batch Normalization 层实现了对三维医学影像的直接分割。
2016年 Milletari 等人提出了 V-Net 网络架构，是原始 U-Net 网络架构的另一种 3D 实现。V-Net 相比 3D U-Net 最大的亮点在于吸收了 ResNet 的思想，在网络拓展路径和收缩路径的每个阶段中都引入残差学习的机制。同时，V-Net 以步长为 2 的 2×2×2 卷积核取代拓展路径里的池化操作来降低特征图的分辨率。
V-Net 和 3D U-Net 都是针对三维医学影像所直接构建的端到端的深度卷积神经网络，目的是运用 3D 卷积从三维进行编码，以良好的分割某些在二维没有明显表征的病理。3D分割算法在利用医学影像的三维组织连通性方面具有优势，但相较2D分割算法其参数量更多，训练和推理过程对设备的算力要求更高。

参考资料：彭璟，罗浩宇，赵淦森等《深度学习下的医学影像分割算法综述》

本文仅做学术分享，如有侵权，请联系删文。
下载1
在「3D视觉工坊」公众号后台回复：3D视觉，即可下载 3D视觉相关资料干货，涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复：3D视觉github资源汇总，即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复：相机标定，即可下载独家相机标定学习课件与视频网址；后台回复：立体匹配，即可下载独家立体匹配学习课件与视频网址。
重磅！3DCVer-学术论文写作投稿 交流群已成立扫码添加小助手微信，可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群，旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群，目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。一定要备注：研究方向+学校/公司+昵称，例如：”3D视觉 + 上海交大 + 静静“。请按照格式备注，可快速被通过且邀请进群。原创投稿也请联系。▲长按加微信群或投稿▲长按关注公众号
3D视觉从入门到精通知识星球：针对3D视觉领域的视频课程（三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程）、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕，更有各类大厂的算法工程人员进行技术指导。与此同时，星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息，打造成集技术与就业为一体的铁杆粉丝聚集区，近2000星球成员为创造更好的AI世界共同进步，知识星球入口：
学习3D视觉核心技术，扫描查看介绍，3天内无条件退款 圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用，麻烦给个赞和在看~

展开全文
• 针对现有方法对肝部医学影像分割上的不足,提出了一种用于对肝部医学影像进行分割的改进型U-Net结构。在上采样过程中只复制池化层特征,以减少信息丢失;同时引入残差网络对初步分割图像进行循环精炼,实现高层特征与低...
• 基于GraphCuts的医学影像分割工具效果图程序主界面使用方法（1）读取待分割图像和标记图像（2）参数设置（3）分割图像后续 工具 VS2015，ITK4.10，VTK7.1， Qt5.9.5 VS2015大家应该很熟悉，就是一个编译器，不用多说...


基于GraphCuts的医学影像分割
工具效果图程序主界面使用方法（1）读取待分割图像和标记图像（2）参数设置（3）分割图像

工具
VS2015，ITK4.10，VTK7.1， Qt5.9.5 VS2015大家应该很熟悉，就是一个编译器，不用多说； ITK是医学影像处理工具，目前版本已经更新到5.1了，作者这里还是用的比较老旧的4.10版本； VTK是医学影像显示工具，目前已经更新到9.0了，作者使用的是7.1版本； Qt是UI工具，目前已经更新到5.14版本了，作者里使用的是5.9版本。 如果读者们想详细了解ITK，VTK，Qt等工具，请大家自行到各个工具的官网查看。 .
效果图
关于GraphCuts算法的原理，这里不做过多的描述，因为该算法已经是相当的成熟了，如果读者们想了解该算法，直接在度娘上搜索。下面直接看效果图：
如上图所示，左上角是病人的肝脏图像，又上角是肝体的分割结果，目测分割效果貌似 还不错。当然，如果 读者想知道分割精度，那只能用工具去计算。左下角是肝脏影像的体绘制，体绘制效果很差，因为有很多参数需要调节，作者在这里偷懒，就没有管体绘制的效果。右下角是分割肝体的体绘制，其体绘制效果也是很不理想的，作者准备花费一些时间，把体绘制做好，到时候再给各位读者看。
程序主界面
程序主界面如下图所示：
使用方法
（1）读取待分割图像和标记图像
从主界面上看，菜单栏有File，Edit，Segmentation，Help。File菜单就是加载需要分割的图像和标记图像，看下图：  通过点击File->OpenSourceImage就是加载想要分割的图像，上图显示了我们加载分割图像是一幅有63层切片的三维影像。通过点击File->OpenPreSegImage就可以读取标记图像，也叫预分割图像。在这里为什么要读取预分割图像？我们在做自然图像GraphCuts算法分割时，也是要标记图像的，只不过自然图像可以直接打开，可以直接使用鼠标标记。而医学影像就麻烦一点，需要我们使用专业的工具才能标记图像。
（2）参数设置
（3）分割图像
点击菜单栏中的Segmentation->Segment就可以进行分割了，由于图像太大了，分割需要很多时间，这里就省略分割过程，直接看分割效果。  目测分割效果还是很不错的，至于具体精度是多少，需要读者们自行去计算。不过，作者曾经也计算过，大约是80%-95%之间，相对来说，可以满足医院的要求。 作者也添加了体绘制功能，由于体绘制效果实在太差了，本应该去掉体绘制功能的，但是作者也花费了一些时间，所以还是尊重自己的劳动成功，目前保留体绘制功能。体绘制图如下图。 
展开全文
• 行业分类-物理装置-模型训练、医学影像分割方法和装置.zip
• 提出一种基于稳健特征统计的医学影像分割算法。由用户提供标记的种子点，通过稳健统计量描述种子点及其周围点对象的特征，使得分割的边缘更光滑，且对噪声不敏感，对边缘进行轮廓演变，基于稀疏场方法完成曲线演化，...
• 主要针对医学影像分割算法。包括了FCN全卷积网络的细胞分割效果，U-Net细胞分割效果。查阅了采用深度学习分割医学影像的几十篇论文，做出的总结。 医学影像分割——细胞分割算法分析与总结 1. 基于传统算法的细胞...
• 主动深度学习用于医学影像分割 之间的联合合作： 抽象的 我们提出了一种新颖的主动学习框架，该框架能够以有限数量的训练标记数据有效地训练用于医学影像语义分割的卷积神经网络。 我们的贡献是一种实用的具有成本...
• 医学影像分割入门MRI关于T1、T2、Flair等概念 相关概念：医学影像分割,是深度学习与医学的结合,通过对医学影像的分析处理,实现对病灶部位的自动分割. MRI MRI是磁共振成像(Megnetic Resonace Imaging)，原理是依据...
• 这是我在台湾交换生时所做的一个项目，其中涉及到了医学影像分割。用简单的话描述一下这个项目：在给定的人脑MR影像中，把海马体(HIP)分割出来，以这部分的特征来判断病人是否患有阿滋海默症。医学影像分割最常用的...
• 今天看到了一篇介绍深度学习在医学影像分割中的应用的文章，写的很好，分享给更多需要的朋友。原文链接：https://cloud.tencent.com/developer/article/1029037 一、医学影像分割有助于临床工作 图像分割在影像学...
• 针对传统图像分割方法对于形状起伏较大和边界模糊的目标无法获得较高分割精度的问题，文中提出使用深度学习方法分割医学图像以辅助医生进行诊断和治疗。使用卷积层、池化层和反卷积层设计了一个包含5个卷积层、3个...
• 基于matlab GUI界面医学影像分割 二、源代码 function varargout = brain_ysw(varargin) % BRAIN_YSW MATLAB code for brain_ysw.fig % BRAIN_YSW, by itself, creates a new BRAIN_YSW or raises the existing % ...
• 该团队提出了一个可以自适应任何新数据集的医学影像分割框架，该框架能根据给定数据集的属性自动调整所有超参数，整个过程无需人工干预。仅仅依赖于朴素的U-Net结构和鲁棒的训练方案，nnU-Net在六个得到...
• Unet 形的网络结构为什么在医学影像分割上表现不错呢？ 个人的理解： 医学图像边界模糊、梯度复杂，需要较多的高分辨率信息，深度学习可以做到这一点，比如上采样下采样以及skip connection和concatenation 待...
• 医学影像相关的挑战赛： https://grand-challenge.org/challenges/ “华为・昇腾杯”AI+遥感影像： https://naic.pcl.ac.cn/frame/2 https://www.datafountain.cn/datasets?page=3
• 针对现有方法在脑肿瘤图像分割上的不足,提出一种基于改进的卷积神经网络的脑肿瘤图像分割算法。将DenseNet和U-net网络结构相融合,以提高对图像特征的提取能力。为了扩大卷积核的感受野,采用了空洞卷积。将分割结果...
• 基于matlab GUI界面医学影像分割 二、源代码 function varargout = brain_ysw(varargin) % BRAIN_YSW MATLAB code for brain_ysw.fig % BRAIN_YSW, by itself, creates a new BRAIN_YSW or raises the existing % ...
• 提出了一种基于小波分解和Markov随机场的医学影像图像分割算法。该算法利用小波金字塔分解得到的多尺度分布较好的提取出图像的边缘轮廓信息，通过分层Markov建模，并借助最大后验概率准则克服了其边缘定位不准及非...
• 医学图像段 网段网络架构 参考文件： 《一百层提拉米苏：用于语义分割的全卷积密集网络》 SimonJégou，Michal Drozdzal，David Vazquez，Adriana Romero，Yoshua Bengio Mychange 输入尺寸：512x512 使用7x7...
• 这是用于3D医学成像分割的架构的Tensorflow实现。 该代码仅实现Tensorflow图，必须在训练程序中使用它。 网络的视觉表示 这是此代码实现的网络示例。 用法示例 from VNet import VNet input_channels = 6 num_...
• 软件实现了读取CT影像，矢状面，冠状面，横断面视图显示，以及3D重建之后的视图显示 更多内容，请关注微信公众号CppBlock
• U-net是一种基于CNN神经网络的图像分割模型，模型主要包括两个部分：对图片的特征提取与上采样。模型的巧妙之处在于在上采样时，会将上采样结果与特征提取中对应通道的特征进行拼接，然后接着进行卷积运算。这样能更...
• 因此对origin只需进行滑动窗口分割预处理，对label需要先做__二值化__（去掉模糊的部分，让特征更明显），再做滑动窗口分割。 因为语义分割本质上是分类问题（这里是二分类），即 某一个像素属于哪一类（0 或 255...

...