【复现 | 论文】Seg4Reg Networks for Automated Spinal Curvature Estimation
Seg4Reg Networks for Automated Spinal Curvature Estimation
用于自动脊柱曲率估计的 Seg4Reg 网络
【论文阅读】
Abstract
提出pipeline来进行准确脊柱侧弯评估
framework:
Seg4Reg,首先经过分割网络得到mask,然后回归网络直接基于此进行cobb角预测。
+a domain adaptation module来缓解domain shift问题
输出:集成ensemble不同模型的预测结果
Intro
评估bobb两方法:
①预测landmark然后计算角:高精度但是过于依赖landmark,小误差导致大错误
②直接回归cobb:方法稳定但预测精确不够(本文证明该方法更优)
本文:MICCAI AASCE 2019 challenge
Method
seg:与PSPNet相似、reg:传统分类模型
预处理:
- train/test区域不同⇒直方图均衡化使它们视觉相似(因为test不多就手工crop,并数据增强)
- 再seg之前额外加一个”gap~bones”可提高分割模型性能(正则化训练过程)
使用ImageNet预训练的分类网络(?用在谁上面)可以提升有限的训练样本;
train/test之间domain gap用[3]加一个判别器分支,并在反传时反转梯度(loss如下,本文 λ=1)
网络训练参数及配置:
实验结果
- Local Validation
L1 loss:
表1:input类型和尺寸的消融实验
⇒segmentation mask is the best input type and (512, 256) is the best input size
表2:不同分割网络性能
⇒adding a dilation pyramid thus improves the performance of previous PSPNet
目的:选择最合适的(也是进一步说明我们选择图片尺寸、网络的合理性)
- Online test
相关知识
domain shift
dilated convolution作用
Adam optimizer
词汇积累
alleviate减轻、缓解mitigate
【实验复现】
1、mat2csvQA
import os.pathimport pandas as pd
import scipy
from scipy import io
# 'data/labels/train/sunhl-1th-02-Jan-2017-162 A AP.jpg.mat'def mat2csv(mat_file_path):features_struct = scipy.io.loadmat(mat_file_path)# print(features_struct)features = features_struct['p2']dfdata = pd.DataFrame(features)datapath1 = mat_file_path[:-4]+'.csv'dfdata.to_csv(datapath1, index=False, header=False)if __name__ == '__main__':# data_root = 'data/labels/val'# mat_files =[os.path.join(data_root,filename) for filename in os.listdir(data_root) if filename.endswith('.mat')]# print(mat_files)# for item in mat_files:# mat2csv(item)labels = pd.read_csv('data/labels/train/sunhl-1th-02-Jan-2017-162 A AP.jpg.csv', header=None).valuesprint(labels)
(1)refer:python读取mat转换为csv
(2)输出的csv文件里第一行是0,1导致69行>68点
Pandas DataFrame DataFrame.to_csv() 函数里面header=False注释,行index=False
(3)发现拷贝的数据没有landmark.csv和angle.csv,拿到的数据不对=>这一步骤不需要了
和之前yolo一样,os.py系统文件不修改
os.mkdir() 方法
2、文件 visual_dir给一个输出文件位置,data_dir也是
3、ModuleNotFoundError: No module named 'libs.black_list'里面没写啥,直接注释,新报错
A:“只能用大招了”这个文件夹标记成【源根】 Done
4、IndexError: index 131 is out of bounds for axis 0 with size 128 索引超出长度
最后找到原因是其中有个点的值>1,导致出现131;改成了0.99999试一下
5、TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. 原因
用排除法只能是这个loss.list出问题,加了float报错
参考train.py里面本来就有的部分,应该↓:tensor转numpy-√、detach()、
a.detach().numpy()
a.cpu().detach().numpy()
6、IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
原因、维度
解决:debug之后发现这一步test_results_list里面是空的(点进去test函数,这个参数无效)
【复现 | 论文】Seg4Reg Networks for Automated Spinal Curvature Estimation相关推荐
- 复现计算机论文模型,深度学习模型复现难?看看这篇句子对模型的复现论文
原标题:深度学习模型复现难?看看这篇句子对模型的复现论文 在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 ...
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...
- 矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现
矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现 Neural Graph Collaborative Filtering (NGCF) is a ...
- home credit default risk捷信消费金融违约风险模型复现(论文_毕业设计_作业)
你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...
- home credit default risk(捷信违约风险)机器学习模型复现(论文_毕业设计_作业)
你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...
- 如何复现论文?什么是论文复现?
参考资料: 学习篇-顶会Paper复现方法 - 知乎 如何读论文?复现代码?_复现代码是什么意思 - CSDN 我是如何复现我人生的第一篇论文的 - 知乎 在我看来,论文复现应该有一个大前提和分为两个 ...
- [论文阅读] 颜色迁移-Automated Colour Grading
[论文阅读] 颜色迁移-Automated Colour Grading 文章: Automated colour grading using colour distribution transfer ...
- 复现论文DRL代码程序
复现论文第一步(以DRL为例),download 代码 and then 创建环境. 1)git clone GitHub - foolwood/DRL: [arXiv22] Disentangled ...
- Sipakmed:a new dataset feature and image based classification of cervical cells——记一次复现论文经历
Sipakmed:a new dataset feature and image based classification of normal and pathological cervical ce ...
最新文章
- list,numpy,tensor之间相互转换的方法
- Android编程 系统资源的介绍
- python数组文件_python数组
- 单片机入门-矩阵键盘控制数码管显示
- javascript的实现事件的一些实例
- 如何删除数据库中的所有用户表(表与表之间有外键关系)
- 用动态规划解决最长公共子序列问题 C语言,动态规划之最长公共子序列问题 C++实现...
- html绘制流程图飞线,基于jsplumb绘制流程图
- 【免费毕设】asp.net FTP客户端设计与开发 (源代码+lunwen)
- 吾以为,最适合入门的语言是Java
- 考研必备数学公式大全(数学二)(高等数学篇)
- Spring5--@Indexed注解
- 基于Prometheus的ego运动规划实现
- GD32F10x的窗口看门狗定时器
- 监控摄像头与云服务器
- HP Laserjet1010网络打印机安装 win7 64bit
- Matlab超声影像智能硬件
- VS2010 MSDN安装
- 【AUTOSAR】【CAN通信】CanTp
- android 横向照片流,MAC下将Android照片与iCloud照片流同步的方法
热门文章
- 日本村田 MURATA 产品推广信
- java怎么写桌面日历_极客编程日历桌面版开发笔记
- Matlab材料科学基础——作出特定晶面指数在简单体心立方中所表示的面
- 计算机基础第三次在线作业,中国石油大学北京计算机应用基础第三次在线作业1...
- 出人意料,这些人竟然也是程序员
- 从300到300万,一个远程外包团队的发展历程和经验
- IPFS星际文件系统注定会成为伟大的项目
- jquery validation纪要,我们的好伴侣
- 第一个springmvc项目
- android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3D选择容器等源码