六、肺癌检测-训练指标和数据增强
上一篇文章讲了训练过程和tensorboard可视化,这一篇文章记录下训练指标和数据增强的东西。
五、肺癌检测-数据集训练 training.py model.py_wxyczhyza的博客-CSDN博客
一、目标
1. 记录精度、召回率、F1分数
2. 样本均衡和样本随机化
3. 数据增强
二、要点
1. 精度、召回率、F1分数
精度、召回率、F1分数概念可参考文章:
召回率,精确度,准确率,F1分数的区别_wxyczhyza的博客-CSDN博客
2. 样本均衡化和样本随机化
由于数据中肿瘤只占所有结节的极少数,直接训练时会导致模型被训练成偏向将结果预测为正常结节,所以要对样本进行平衡和随机化,避免某个batch中出现所有样本只有正常结节没有肿瘤。
具体步骤:将正样本放在pos_list中,负样本放在neg_list中,当调用dataset的getiem(index)时,计算这个index是正样本还是负样本,并从对应的pos_list或neg_list中索引对应的样本返回。
假设希望正常结节和肿瘤数量的比例ratio=2,当使用dataset的getitem通过下标索引样本时,希望得到的样本为:
数据集 索引 Index |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 转换公式 |
肿瘤+ 正常- |
+ | - | - | + | - | - | + | - | - | + | |
pos_list索引 Index_P |
0 | 1 | 2 | 3 | Index_P = Index // (ratio+1) | ||||||
neg_list索引 Index_N |
0 | 1 | 2 | 3 | 4 | 5 | Index_N = Index -1- Index_P |
举例:当ratio_int=2, 输入dataset的index为101,则:
① 101/ (2+1) = 33.6...,不能被3整除,证明是一个负样本,它对应的正样本的索引Index_P=33
② 负样本的索引Index_N = 101 -1 - 33 = 67
书中部分代码如下:
# dsets.py __init__函数代码
# 正常结节
self.negative_list = [nt for nt in self.candidateInfo_list if not nt.isNodule_bool
]
# 肿瘤
self.pos_list = [nt for nt in self.candidateInfo_list if nt.isNodule_bool
]
# dsets.py def getitem()
if self.ratio_int:pos_ndx = ndx // (self.ratio_int + 1)if ndx % (self.ratio_int + 1): # 负样本neg_ndx = ndx - 1 - pos_ndxneg_ndx %= len(self.negative_list) # 求余数防止下标溢出candidateInfo_tup = self.negative_list[neg_ndx]else:pos_ndx %= len(self.pos_list) # 求余数防止下标溢出candidateInfo_tup = self.negative_list[pos_ndx]
else:candidateInfo_tup = self.candidateInfo_list[ndx]
六、肺癌检测-训练指标和数据增强相关推荐
- 目标检测中的数据增强
目标检测中的数据增强 技术标签: 深度学习 人工智能 一.图像遮挡 ①random erase 用随机值或训练集的平均像素替换图像区域. URL: https://arxiv.org/pdf/1708 ...
- 汇总|目标检测中的数据增强、backbone、head、neck、损失函数
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:Tom Hardy https://zhuanlan.zhihu.com/p/137769687 ...
- 目标检测中的数据增强,包括bbox的变换
检测和分类不同,检测过程中,图片处理以后,bbox往往也需要同步变换 里面碰到最坑的地方,在于cv.rectangle(),如果是对图像进行操作,一定要deepcopy 文章目录 1. 水平翻转 1. ...
- 目标检测中的数据增强:mosaic,mixup,cutout,cutmix
认真读绝对不亏,不要看到全是字就 怕 了. 最近学目标检测,在看yolov4的时候,看到了mosaic数据增强方法,所以查阅了一些知识,因为网上的讲解都注重于原理,不注重详细的实现方法以及细节,而工 ...
- 目标检测 慎用旋转数据增强
目录 概述 一个具体的例子 原因分析 影响分析 总结建议 概述 在进行SSD.YOLO等目标检测类模型训练的时候,为了提升模型的识别率和泛化能力,一般会采用数据增强策略,主要包括调整图片的亮度.对比度 ...
- BBAug: 一个用于PyTorch的物体检测包围框数据增强包
本文转载自AI公园. 作者:Harpal Sahota 编译:ronghuaiyang 导读 实现了Google Research,Brain Team中的增强策略. 像许多神经网络模型一样,目标检测 ...
- 目标检测使用的数据增强方法汇总
向AI转型的程序员都关注了这个号
- 目标检测带标签数据增强代码
注意:我的数据集名字从1开始的,所以是for i in range(1,num),所以倒数第三句 str(i + num-1) 如果是从零开始就不用-1.另外文件名以及图片大小(1280,1024)也 ...
- 【目标检测】56、目标检测超详细介绍 | Anchor-free/Anchor-based/Backbone/Neck/Label-Assignment/NMS/数据增强
文章目录 1.双阶段和单阶段目标检测器 1.1 双阶段目标检测器 1.1.1 R-CNN 1.1.2 SPP 1.1.3 Fast R-CNN 1.1.4 Faster R-CNN 1.2 单阶段目标 ...
最新文章
- Service Fabric独立集群搭建
- BZOJ4543/BZOJ3522 [POI2014]Hotel加强版(长链剖分)
- 鸿蒙0s是什么意思,华为官宣,鸿蒙0S正式来临?
- 1746: 多项式系数(杨辉三角的应用)
- Sql自动更新不同IP的数据库数据。(link Server)
- 【文末赠书】牛顿:伸向未知量的利爪
- miui游戏驱动程序偏好设置_米粉必看:小米官方教你如何关闭 MIUI 广告 - 小米,MIUI...
- html5星期,HTML5 时钟
- java 序列化 写入mysql_java 序列化到mysql数据库中
- Spring : ImportBeanDefinitionRegistrar源码分析
- 页面图片中间有条线----解决
- mysql字符类型总结及常用字符函数
- marlab中主成分得分怎么求_雅漾恒润保湿精华乳,做完配方成分解读,我表示遗憾,决定守住我的花呗...
- Microstation v8+Terrasolid安装教程
- mysql时间减去1年_mysql时间增加一年
- QT 连接 MySQL 失败:手动编译 MySQL 驱动插件
- 基于深度学习的移动网络异常检测
- 骏飞H5幸运刮刮乐源码多级分佣+upupw直接架设+H5微信登陆公众号接入 管理员
- git commit message——git提交日志规范备忘
- 基于UDS的ECU bootloader
热门文章
- 基于DDSRF正负序分离方法的不平衡电网PQ控制策略_平衡电流控制
- 1225:金银岛 2020-12-04
- ZY Player 2.6.3 中文版 全网视频播放器
- 傲游Android插件,傲游浏览器安卓版_傲游浏览器手机版下载-太平洋下载中心
- 无法打开计算机 eploxre 接口未知,绝地求生辅助发卡网Win7系统打开计算机属性提示“此项目的属性未知”解决方案...
- 视频配音怎么制作?教你手机怎么给视频配音
- Oracle P6软件编制项目计划及进度控制程序
- c 语言 内部函数与外部函数,C语言-内部函数与外部函数.doc
- Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
- 如何自己制作java对话框_java中的卡片式对话框如何制作