CTPelvicBone——骨盆级联分割网络完整实现
今天将分享骨盆级联的二值分割的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、图像分析与预处理
(1)、1184例CT原始数据和标注数据及训练标签文件可以在原文链接中获取得到。
(2)、前面文章是采用简单粗暴的方式来处理数据,将训练原始图像和标注图像进行图像大小缩放到固定大小,具体是128x128x96,这会导致最后分割结果颗粒感很强,视觉效果不好。本文将采用两个级联的Vnet3D网络来分割提取盆骨,由于训练的显卡是1080ti的11G显存的,所以第一阶段是将训练原始图像和标注图像进行图像大小缩放到固定大小,具体是128x128x96,第二阶段是根据标注图像找到盆骨的ROI区域,然后将对应ROI区域的图像和标注图像裁切出来,缩放到固定大小,具体是160x96x96,如果你的显卡显存足够大的话,可以将该大小改的大一点,如果显存小的话,可以将该大小改小一点。
(3)、对缩放后的原始图像进行窗宽窗位设置,将0到800之间的Hu值进行保留,其他的范围进行截断处理。
(4)、然后在采用均值为0,方差为1的方式对原始图像进行归一化处理。
(5)、为了防止模型过拟合,还增加了数据增强的处理过程,采用旋转,平移,翻转等方法对图像和标注数据同时进行扩充处理,这里扩充了10倍。
二、分割网络
(1)、搭建VNet3d模型,网络输入大小是(128,128,96)和(160,96,96)。具体实现可以参考Tensorflow入门教程(十九)——基于VNet的前列腺分割案例
(2)、loss采用的是多分类的focalloss函数。具体实现可以参考Tensorflow入门教程(三十五)——常用多类图像分割损失函数
(3)、训练损失函数和精度结果如下所示。
三、测试数据结果
首先将输入图像统一缩放到(128,128,96),设置窗宽窗位(0,800),输入到网络中预测,然后根据预测结果得到盆骨ROI的区域范围,再根据该范围从输入图像中裁切出该区域子图像,再统一缩放到(160,96,96),设置窗宽窗位(0,800),输入到网络中预测,最后将结果恢复到原始图像大小。下面是10例测试数据分割结果,左边是金标准结果,右边是预测结果。可以看到基本上分割的都是正确的,与前面文章相比第五例数据左右大盆骨正确分割了,还有就是分割结果与金标准相比,颗粒感明显降低,视觉效果会更好,这说明级联VNet3d分割效果有明显提高。
相关文章
- Kubernetes(k8s)实现IPv4/IPv6网络双栈
- 深度学习卷积神经网络——经典网络GoogLeNet(Inception V3)网络的搭建与实现
- SPSS用KMEANS(K均值)、两阶段聚类、RFM模型在P2P网络金融研究借款人、出款人行为数据规律|附代码数据
- xshell连接虚拟机步骤_虚拟机网络设置
- 计算机网络课设校园网络设计_中小型企业网络的设计与实现
- 锐捷网络交换机配置命令大全,锐捷业务的工程师可以收藏备用!
- 数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化|附代码数据
- [Nucleic Acids Research | 论文简读] 基于大规模数据整合的单细胞基因调控网络推理算法
- NFS - Network FileSystem网络文件系统的实现原理
- 从分布式到微服务:深入理解网络,网络传输中的对象序列化问题
- java网络编程
- 【京准小课堂】NTP网络校时服务器参数详解与分析
- Linux中网卡路由设置实现网络连通性(linux网卡路由设置)
- MySQL与Apache:实现完美的网络体验(mysqlapache)
- 服务Linux快速启动HTTP服务实现网络分享(linux启动http)
- 深入Linux系统:使用UDP抓取网络数据包(linuxudp抓包)
- Redis访问控制:实现安全的网络环境(redis访问限制)
- Linux实现虚拟网桥:一种新的网络技术(linux虚拟网桥)
- Linux下IP设置网关实现网络连通性(linuxip设置网关)
- 俄罗斯黑客狂盗10亿美元 堪称网络犯罪行业的独角兽
- Linux下使用CURL实现无缝尝试新网络(linux curl)
- 腾讯云搭建强大数据服务Redis助力网络加速(腾讯云使用redis)
- 使用Oracle数据库网络DG实现安全的信息传输(oracle dg传输)