Ai 医学图像分割
一名没事喜欢敲敲代码的铲屎官
展开
-
YOLOV3 SPP 目标检测项目(针对xml或者yolo标注的自定义数据集)
本篇代码使用 YOLOV3 SPP 网络的目标检测,数据集的格式包括xml或者yolo格式标注的都可以。因为yolo系列网络数据集的标注都是yolo格式的,所以如果自定义数据集标注是xml文件,需要进行转换。摆放好数据后,运行xml2yolo.py就会自动生成yolo格式的数据,如图浅蓝色框就是代码生成的部分。如果是YOLO格式标注的,只需要将文件按照固定位置摆放即可,项目就可以自动训练。转换的代码如下:代码就是简单的转换,这里不做解释。xml 文件标注的数据需要按照下图路径摆放,文件名严格按照下面更改。原创 2023-12-10 20:14:21 · 364 阅读 · 0 评论 -
关于肺结节实时的目标检测
通过cv对视频文件读取,并进行实时检测原创 2023-03-23 14:20:52 · 810 阅读 · 0 评论 -
血细胞实时视频目标检测
实时窗口的目标检测原创 2023-03-22 16:13:36 · 676 阅读 · 0 评论 -
Faster RCNN 对肺结节 目标检测
如图为数据集展示,其中被选中的部分就是病状data 是项目的数据dataset 是数据加载train 训练函数的主体utils 相关的工具函数predict 是预测文件log 是训练日志信息。原创 2023-03-22 13:32:16 · 1056 阅读 · 0 评论 -
关于图像分类、目标检测和语义分割的Data Annotations
介绍了如何新建 解释器的环境对分类、分割、检测的自定义数据集进行讲解原创 2023-03-20 14:03:16 · 584 阅读 · 0 评论 -
Faster RCNN 对血液细胞目标检测
目录1. 介绍2. 工具函数介绍 utils2.1 xml 文件的读取 get_label_from_xml2.2 绘制边界框 draw_bounding_box2.3 计算 iou 函数 miou3. dataset 数据加载4. train 函数4.1 头文件4.2 超参数4.3 数据加载4.4 建立 faster rcnn 模型4.5 可视化4.6 训练4.7 训练过程的损失4.8 log 文件信息5. 预测文件6. 完整代码6.1 dataset6.2 train6.3 utils6.4 predi原创 2023-03-19 20:17:09 · 838 阅读 · 1 评论 -
nii 文件的相关操作(SimpleITK)
关于 SimpleITK 如何读取 nii 文件的操作,包括如果对 nii 进行切片保存,以及对保存的多个灰度图像进行堆叠原创 2023-03-14 10:49:55 · 1003 阅读 · 1 评论 -
unet 基于 DRIVE 语义分割的完整项目
unet对DRIVE数据集的完整项目,包括对语义分割任务的预处理重新实现,利用混淆矩阵计算分割的常见性能指标等等原创 2023-04-13 21:52:48 · 1380 阅读 · 0 评论 -
腹部MRI多脏器分割(多个类别的分割)
基于MRI 腹部器官的一个多分类应用对数据集进行划分 train+test对dataset 的image 和label的加载进详细介绍原创 2023-03-12 23:07:32 · 1010 阅读 · 0 评论 -
肝脏CT 语义分割(backbone = resnet34)
resnet34 作为 backbone,介绍了transform对图像维度的影响及可视化图像的影响。详细介绍了label 是否需要进行手动归一化,且label的数据类型对不同的损失函数的影响原创 2023-03-12 08:03:07 · 553 阅读 · 0 评论 -
Unet 基于TCGA颅脑肿瘤MRI分割(高阶API分割模型)
运用了语义分割的高阶API原创 2023-03-11 16:48:38 · 811 阅读 · 0 评论 -
Unet 基于TCGA颅脑肿瘤MRI分割(交叉熵损失+多通道输出)
本章分割运用到了交叉熵损失函数,因此网络预测的是多channel原创 2023-03-11 07:40:53 · 751 阅读 · 0 评论 -
Unet 基于TCGA颅脑肿瘤MRI分割(提取有效数据+划分训练集、验证集)
注:原始的数据只有 DATASET/ TCGA 患者样本项目的文件结构如图所示:DATASET 是下面的 TCGA 是原始数据,每个文件夹都是一个病人的样本随机一个目录打开如图所示:mask 全黑代表没有病样,所以对本章分割的项目是属于无效的数据因此,需要将数据进行预处理,将有病例的image和label取出,放到DATASET下的TCGA_image 和 TCGA_label 当中-------------> 对应的是 pre_process.py 文件。原创 2023-03-10 12:10:17 · 988 阅读 · 0 评论 -
unet 对骨头区域的分割
unet 对骨头的分割。包含了对原始数据的图像增强(windowing和hist均衡化方法),并且将增强后的图像划分为trainset和testset。在train结束的时候,会将所有的testset进行推理并保存。predict可以对单张图像进行推理,并且将分割图像的边框在原始图像展示原创 2023-04-17 12:12:54 · 673 阅读 · 0 评论 -
医学图像处理的windowing 方法
windowing 方法是针对于医学图像预处理的方法,类似于图像增强的一种windowing:窗口化,也称为灰度映射、对比度拉伸、直方图修改或对比度增强,是通过CT数字处理图像的CT图像灰度分量的过程;这样做将改变图片的外观以突出显示特定的结构。图像的亮度通过窗口级别进行调整。对比度通过窗口宽度进行调整。其实,就是因为医学图像的灰度级往往不是简单的255,可能灰度的动态范围达到千的数量级。那么在显示的时候,对比度效果就不好。所以windowing 方法就是利用数字图像处理。原创 2023-04-16 16:23:12 · 1319 阅读 · 0 评论 -
关于医学图像dicom格式数据的读取和可视化
单个的文件夹里是一个样本的dcm文件,里面的dcm数据有点类似于表征一个动态的信息。例如,对一个肝脏扫描5s,每秒保存10张图像,那么5s就会产生50张dcm图像。然后将50个dcm的数据放到单个文件夹下,作为样本。可以发现img_file 里面单个的dcm文件包含了很多信息,如果展示图片的话,只需要。这里测试的样本放到data文件里,里面包含129个dcm的数据。所以,往往相同文件夹下两个相邻的dcm图像差距不是很大。DICOM 数据是医学图像信息保存的常见格式,使用lambda 可以实现重新排序(原创 2023-04-15 14:00:09 · 1515 阅读 · 0 评论 -
resnet34 对皮肤病分类(从txt文件读取label)
label从txt文件进行获取,并保存到不同类别的文件夹里,通过ImageFolder进行加载原创 2023-03-25 14:16:07 · 588 阅读 · 0 评论 -
CNN 卷积神经网络对染色血液细胞分类(blood-cells)
项目目录如下:demo.py 是主程序,包括了CNN网络的搭建和train过程predict 是网络对 testSet 的验证EOSINOPHIL 嗜酸性粒细胞LYMPHOCYTE 淋巴细胞MONOCYTE 单核细胞NEUTROPHIL 中性粒细胞demo.py 需要的库文件如下:定义一个简单的卷积神经网络卷积到全连接层之间的参数,可以通过shape显示,从而避免计算每一层的size# 定义神经网络nn.ReLU(),nn.ReLU(),原创 2023-03-07 22:12:00 · 757 阅读 · 1 评论 -
CNN 分类 MNIST 数据集
但是随着网络的加深,计算较为复杂。通过len函数,可以显示样本的数目,这里trainSet是整个训练数据,所以是6w,而trainLoader会根据batch_size返回多少个批次,所以这里是60000 / 100 = 600。这里为了后面方便比较CPU和GPU的速度,我们加入 device ,因为本机是可以用cuda进行训练的,所以待会要是用cpu进行训练的话,要在if后面加个not。训练的时候,就是读取数据,然后 forward,计算损失,清空上一次的梯度,backward,梯度更新这些重复的操作。原创 2023-03-07 09:36:19 · 411 阅读 · 0 评论 -
Tensor 和 Numpy 相关操作
Numpy :处理多维数组 + 读取图片Tensor : 张量,可以理解为多维数组。tensor 是神经网络传递的基本数据,pytorch中的重要数据结构,和numpy的ndarrays相似。但可以用于GPU加速 + 反向传播一般来说神经网络工作的基本流程是:Image读取图片 -----> np 读取数据 -----> 转为tensor用于model训练 -----> 输出结果仍为tensor ------> 转为 np 绘制图像Image.open 读取图像,产生的数据是image类型。原创 2023-03-02 18:05:30 · 1430 阅读 · 0 评论