专栏首页最新医学影像技术TN-SCUI2020挑战赛详细讲解

TN-SCUI2020挑战赛详细讲解

今天将分享甲状腺超声结节二值分割和二值分类的完整实现过程并提供训练好的模型和在测试数据上的提交结果成绩,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、超声图像分析与预处理

(1)、3644张超声结节原始数据和标注数据及训练标签文件可以在官网上下载获取到,下载下来后如下所示。测试数据一共有910张数据,目前也可以在官网上下载了。

(2)、由于原始数据大小不一样,这里对图像做统一大小设置,都设置成512x512的大小。

(3)、使用全部的3644例数据来训练,为了增加模型鲁棒性,可以对原始数据做数据增强处理,但是在这里就不做数据增强操作了,直接在原始数据量上进行分割和分类。

(4)、原始图像和金标准Mask图像的预处理还需要做归一化操作,统一都归一化到(0,1)。

二、分割网络

(1)、搭建VNet2d模型,网络输入大小是(512,512)。

具体实现可以参考Tensorflow入门教程(十九)——基于VNet的前列腺分割案例

(2)、loss采用的是二分类的dice函数。

代码实现如下:

def __get_cost(self, cost_name, Y_gt, Y_pred):
H, W, C = Y_gt.get_shape().as_list()[1:]
if cost_name == <span data-raw-text="" "="" data-textnode-index="27" data-index="547" class="character">"dice coefficient<span data-raw-text="" "="" data-textnode-index="27" data-index="564" class="character">":
smooth = 1e-5
pred_flat = tf.reshape(Y_pred, [-1, H * W * C])
true_flat = tf.reshape(Y_gt, [-1, H * W * C])
intersection = 2 * tf.reduce_sum(pred_flat * true_flat, axis=1) + smooth
denominator = tf.reduce_sum(pred_flat, axis=1) + tf.reduce_sum(true_flat, axis=1) + smooth
loss = -tf.reduce_mean(intersection / denominator)
return loss

具体实现可以参考Tensorflow入门教程(三十四)——常用两类图像分割损失函数

(3)、分割损失结果和精度经过如下图所示。

三、分类网络

(1)、搭建ResNet2d模型,网络输入大小是(512,512),网络比较基础就不多说了。

(2)、loss采用的是常见的二分类交叉熵损失函数。

(3)、分类损失结果和精度经过如下图所示。

四、测试数据结果

在910例数据上进行测试,测试数据结果排名在113名。

为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击原文链接即可访问。此外训练好的模型文件已经上传至百度云盘:链接:https://pan.baidu.com/s/15E-RvaqSLdDMBCUZoGTrDA

提取码:hszn。

如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。

本文分享自微信公众号 - 最新医学影像技术(MedicalHealthNews),作者:最新医学影像技术

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tensorflow入门教程(三十四)——常用两类图像分割损失函数

    常用的两类图像分割损失函数有二值交叉熵,dice系数,tversky,FocalLoss等。今天我将在TensorFlow下复现上述损失函数,并进行结果对比。

    用户7498388
  • Tensorflow入门教程(四十)——ACUNET

    今天将分享Unet的改进模型ACUNet,改进模型来自2020年的论文《ACU-NET:A 3D ATTENTION CONTEXT U-NET FOR MUL...

    用户7498388
  • BraTS18——多模态MR图像脑肿瘤分割挑战赛续8

    今天将继续分享从网络结构上进行改进提出PEVNet模型来分割脑肿瘤。为了方便大家学习理解整个分割流程,我将整个流程步骤进行了整理,并给出每个步骤的结果,希望对大...

    用户7498388
  • WGCNA将共表达基因与表型数据相关联

    单纯的共表达基因集合的结果并不能与我们的实验设计相关联,对于识别到的几十个共表达基因集合,一一进行富集分析去挖掘其功能,看上去如此的盲目,没有目的性,所以我们需...

    生信修炼手册
  • 十分钟,Python 带你看遍世界足球俱乐部沉浮

    作为一名足球迷,在年终盘点中,怎么能少了足球呢。如果你是关注欧洲足球的球迷(没办法,人家欧洲是足球的世界的中心),那么你一定知道,2019年是属于利物浦的一年,...

    周萝卜
  • 如何查找SAP Fiori UI上某个字段对应的底层数据库表

    我国古代,形容一个人武艺全面,会说他/她“十八般兵器样样精通”。所谓十八般兵器(有时也称十八般武艺),即刀、枪、剑、戟、斧、钺、钩、叉、鞭、锏、锤、抓、镋、棍、...

    Jerry Wang
  • 无线路由器的“克隆MAC地址”是干什么作用的?

    本文章转载:http://blog.sina.com.cn/s/blog_4c900d100102uysb.html

    跟着阿笨一起玩NET
  • JavaScript 错误处理大全【建议收藏】

    在所有的这些情况下,我们作为程序员都会产生错误,或者让编程引擎为我们创建一些错误。

    疯狂的技术宅
  • JavaScript正则表达式入门知识详细介绍

    正则表达式,在各种语言(JS、Java、Php等)里面都是很常见的,而且语法都有相似之处。作为新手,第一次接触正则,可能一脸茫然,这是什么东西,语法这么奇怪。其...

    Javanx
  • CICD(一) GitLab的搭建与使用

    alexhuiwang

扫码关注云+社区

领取腾讯云代金券