随笔分类 -  医学人工智能

摘要:起因 今天和同组讨论了一下网络输出时,在torch.argmax之前经过torch.sigmoid和不经过sigmoid的区别。 主要起因是实验结果图像不同 图1 不经过sigmoid 图2 经过sigmoid 我们发现经过sigmoid预测的图像更加严格(实验结果证明,经过sigmoid效果好), 阅读全文
posted @ 2023-04-06 13:27 九叶草 阅读(113) 评论(0) 推荐(0) 编辑
摘要:对于图像分割,首先可能会想到TP(True Positives), TN(True Negatives), FP(False Positives),FN(False Negatives)这几个单词,但实际上由他们几个单词组成的混淆矩阵(confusion matrix)才是重点。 真实 预测 正例 阅读全文
posted @ 2022-11-19 13:36 九叶草 阅读(3797) 评论(0) 推荐(1) 编辑
摘要:这类方法按照图像的相似性准则划分不同的区域块。其中较为典型的方法优:种子区域生长法、分水岭法、区域分裂合并法。 种子区域生长法:首先通过一组表示不同区域的种子像素开始,逐步合并与种子周围相似的像素,从而扩大区域,直到无法合并像素点或者区域为止。这个相似性度量可以采用平均灰度值、纹理、颜色等信息。该方 阅读全文
posted @ 2022-10-31 16:57 九叶草 阅读(975) 评论(0) 推荐(0) 编辑
摘要:1、基于边缘检测的图像语义分割算法试图通过检测包含不同区域的边缘来解决分割问题。它可以说是人们最先想到也是研究最多的方法之一。通常不同区域的边界上像素的灰度值变化比较剧烈,如果将图片从空间域通过傅里叶变换到频率域,边缘就对应着高频部分,这是一种非常简单的边缘检测算法。最简单的边缘检测方法是并行微分算 阅读全文
posted @ 2022-10-31 16:05 九叶草 阅读(1621) 评论(0) 推荐(0) 编辑
摘要:阈值法:基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。 一个简单实现: import cv2 import numpy as np import 阅读全文
posted @ 2022-10-31 14:29 九叶草 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1.首先进入官网下载你需要的版本。你也可以安装老版本,我已经用红色框框出来了。 2.开始安装,等个几十秒钟就ok了。 3.当然要实现提取中心线,还需要 VMTK 这个玩意, 打开应用,找到 install slicer extension 这个选项,下载咱需要的一下插件: 4.完了只有应用 rest 阅读全文
posted @ 2022-09-17 15:09 九叶草 阅读(1755) 评论(2) 推荐(0) 编辑
摘要:想看一下对于一个训练好的模型,其每一层编码阶段的可视化输出是什么样子的。我以3Dircabd肝脏血管分割为例,训练好了一个U-Net模型。然后使用该模型在推理阶段使用,并可视化了每一层编码器。 分割结果: 可视化分为两个展示,分别是有原图和没有原图作为背景的。 无背景 encoder第一层 enco 阅读全文
posted @ 2022-05-28 16:36 九叶草 阅读(476) 评论(0) 推荐(0) 编辑
摘要:过拟合原因: 1. 训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度;(模型太复杂,参数就会太大,然而你的数据量又很小) 2. 训练集和测试集特征分布不一致;(用分类猫的训练集,去拟合分类狗的) 3. 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出 阅读全文
posted @ 2022-05-22 16:41 九叶草 阅读(176) 评论(0) 推荐(0) 编辑
摘要:cv2.morphologyEx(image, cv2.MORPH_GRADIENT, SE)可以参考这篇博客cv2.MORPH_GRADIENT:形态学梯度(morph-grad),可以突出团块(blob)的边缘, 保留物体的边缘轮廓。 #coding:utf-8 import SimpleITK 阅读全文
posted @ 2022-05-21 16:37 九叶草 阅读(676) 评论(0) 推荐(0) 编辑
摘要:cv2.getStructuringElement(cv2.MORPH_RECT, (7,7))介绍,请看这个博客。我简要说一下cv2.getStructuringElement,可用于构造一个特定大小和形状的结构元素,用于图像形态学处理。其中 MORPH_RECT 就是构造一个全1方形矩阵。代码如 阅读全文
posted @ 2022-05-21 16:14 九叶草 阅读(443) 评论(0) 推荐(0) 编辑
摘要:试着展示了肝脏每层卷积之后的结果。代码如下: import torch import torch.nn as nn import SimpleITK as sitk import numpy as np def change_indenty(ct): ct[ct < 40] = 40 ct[ct > 阅读全文
posted @ 2022-05-16 17:13 九叶草 阅读(397) 评论(0) 推荐(0) 编辑
摘要:# coding:utf-8from glob import globimport osimport SimpleITK as sitkfrom pathlib import Pathimport numpy as npimport imageioimport pandas as pd def rl 阅读全文
posted @ 2022-05-06 20:16 九叶草 阅读(97) 评论(0) 推荐(0) 编辑
摘要:# coding: utf-8 #主要将子文件下大量图片进行路径编号,并保存到csv文件当中。方便直接从文件读取图片路径以及其他图片信息。 #我做的是图像分割,所以存在三类分割区域:["large_bowel", "small_bowel", "stomach"]。 #文件路径:train\case 阅读全文
posted @ 2022-05-06 20:07 九叶草 阅读(83) 评论(0) 推荐(0) 编辑
摘要:为了便于直观的看到2D标签,通常会将其转化为png图像,具体代码如下: # coding:utf-8 from glob import glob import os import SimpleITK as sitk from pathlib import Path import numpy as n 阅读全文
posted @ 2022-05-04 12:36 九叶草 阅读(421) 评论(0) 推荐(0) 编辑
摘要:具体代码 ,请看的的github if __name__ == "__main__": df = pd.read_csv(r'D:/compation/kaggle/train.csv/train.csv') # 路径文件 list_images = glob(r'D:\\compation\\ka 阅读全文
posted @ 2022-05-02 11:55 九叶草 阅读(269) 评论(0) 推荐(0) 编辑
摘要:使用nnUNet跑BraTS脑肿瘤分割预测TC和ET非常低,原来是预测的时候,使用了预处理后的标签。原本标签是:2:WT, 1:TC, 4:ET。但是预处理之后变为:1:WT, 2:TC, 3:ET。所以我们对于最后预测完需要变回原来的标签值。nnUNet需要改动代码位置:nnunet/infere 阅读全文
posted @ 2022-04-29 09:34 九叶草 阅读(591) 评论(0) 推荐(0) 编辑
摘要:在使用nn-Unet做BraTS2019数据集预测时,预测文件分别生成了三类文件:.pkl .npz .nii.gz,我们需要的是.nii.gz文件。所以需要进行文件移动。 # coding:utf-8 import os,shutil import time src_path=f"C:\\User 阅读全文
posted @ 2022-04-23 18:48 九叶草 阅读(1244) 评论(0) 推荐(0) 编辑
摘要:在进行深度学习时,为了提高精度,或者为了评估我们模型的优劣,以及如何选择一个更好的模型。这样我们就需要用到交叉验证方法。 我们主要实现如何使用KFold划分训练集和验证集 #coding:utf-8from sklearn.model_selection import KFold def selec 阅读全文
posted @ 2022-04-19 16:44 九叶草 阅读(505) 评论(0) 推荐(0) 编辑
摘要:对于小数据量医学图像进行深度学习使,会由于数据量过小而过拟合。因此我们需要采用数据扩充方法,而flip和rotate又是经常用到的,这里做一个简单的实现。 输入为[batchsize,height, width, channel]。这里是2D医学图像数据增强,我之前应该有写到3D增强,不过2D稍加改 阅读全文
posted @ 2022-04-19 16:07 九叶草 阅读(654) 评论(0) 推荐(0) 编辑
摘要:#coding:utf-8# 任务需要,需要删除多余的文件,手动删除太麻烦,几行python搞定 import os from glob import glob path = r"/media/icml-014/peixu/MyData/2019brain/valid/*" # 获取到目录 all_ 阅读全文
posted @ 2022-04-19 15:52 九叶草 阅读(1010) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示