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相关推荐

  1. 复现计算机论文模型,深度学习模型复现难?看看这篇句子对模型的复现论文

    原标题:深度学习模型复现难?看看这篇句子对模型的复现论文 在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 ...

  2. Deep Learning 26:读论文“Maxout Networks”——ICML 2013

    论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...

  3. 矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现

    矩池云上复现论文 Neural Graph Collaborative Filtering 环境复现 Neural Graph Collaborative Filtering (NGCF) is a ...

  4. home credit default risk捷信消费金融违约风险模型复现(论文_毕业设计_作业)

    你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...

  5. home credit default risk(捷信违约风险)机器学习模型复现(论文_毕业设计_作业)

    你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...

  6. 如何复现论文?什么是论文复现?

    参考资料: 学习篇-顶会Paper复现方法 - 知乎 如何读论文?复现代码?_复现代码是什么意思 - CSDN 我是如何复现我人生的第一篇论文的 - 知乎 在我看来,论文复现应该有一个大前提和分为两个 ...

  7. [论文阅读] 颜色迁移-Automated Colour Grading

    [论文阅读] 颜色迁移-Automated Colour Grading 文章: Automated colour grading using colour distribution transfer ...

  8. 复现论文DRL代码程序

    复现论文第一步(以DRL为例),download 代码 and then 创建环境. 1)git clone GitHub - foolwood/DRL: [arXiv22] Disentangled ...

  9. 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 ...

最新文章

  1. list,numpy,tensor之间相互转换的方法
  2. Android编程 系统资源的介绍
  3. python数组文件_python数组
  4. 单片机入门-矩阵键盘控制数码管显示
  5. javascript的实现事件的一些实例
  6. 如何删除数据库中的所有用户表(表与表之间有外键关系)
  7. 用动态规划解决最长公共子序列问题 C语言,动态规划之最长公共子序列问题 C++实现...
  8. html绘制流程图飞线,基于jsplumb绘制流程图
  9. 【免费毕设】asp.net FTP客户端设计与开发 (源代码+lunwen)
  10. 吾以为,最适合入门的语言是Java
  11. 考研必备数学公式大全(数学二)(高等数学篇)
  12. Spring5--@Indexed注解
  13. 基于Prometheus的ego运动规划实现
  14. GD32F10x的窗口看门狗定时器
  15. 监控摄像头与云服务器
  16. HP Laserjet1010网络打印机安装 win7 64bit
  17. Matlab超声影像智能硬件
  18. VS2010 MSDN安装
  19. 【AUTOSAR】【CAN通信】CanTp
  20. android 横向照片流,MAC下将Android照片与iCloud照片流同步的方法

热门文章

  1. 日本村田 MURATA 产品推广信
  2. java怎么写桌面日历_极客编程日历桌面版开发笔记
  3. Matlab材料科学基础——作出特定晶面指数在简单体心立方中所表示的面
  4. 计算机基础第三次在线作业,中国石油大学北京计算机应用基础第三次在线作业1...
  5. 出人意料,这些人竟然也是程序员
  6. 从300到300万,一个远程外包团队的发展历程和经验
  7. IPFS星际文件系统注定会成为伟大的项目
  8. jquery validation纪要,我们的好伴侣
  9. 第一个springmvc项目
  10. android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3D选择容器等源码