【论文阅读】

Abstract:

检测解剖学Landmarks有重要意义

近些年很多深度神经网络都是高度专业化但single task with特定解剖区域

YOLO:universal anatomical landmark detection model-实现基于混合数据的端到端训练的多landmark检测任务

组成:local&global网络

local:基于UNet 去学习多域局部特征

global:并行重复的扩张卷积dilated convolutions序列,提取全局特征 进一步消除landmark位置歧义

特点:更少的参数

train:1588张、头&手&胸的X-ray、62个点

results:在多个数据集上yolo better很多

数据集:

1. 头部数据集

可用☆、说明、

2. 手部数据集

hand、手部数据集有问题、数据集目录☆、

3.胸部数据集

chest、

论文

翻译-有数据集

【复现】

git clone https://github.com/ICT-MIRACLE-lab/YOLO_Universal_Anatomical_Landmark_Detection

1、文件目录

(这里是我已经跑过之后的目录)

tree -L 2     、    tree -P *.py

data目录

数据集 数量 像素/尺寸 原图格式 标签格式
chest 279 不固定 jpg txt
hand 1389 不固定w<h png csv
ceph 400 固定1935*2400 bmp txt(两人)

universal_landmark_detection目录:

├── datasets
  ├── networks
  ├── utils

2、Readme使用与参数说明

usage: main.py [-h] [-C CONFIG] [-c CHECKPOINT] [-g CUDA_DEVICES] [-m MODEL][-l LOCALNET] [-n NAME_LIST [NAME_LIST ...]] [-e EPOCHS][-L LR] [-w WEIGHT_DECAY] [-s SIGMA] [-x MIX_STEP] [-u] -rRUN_NAME -d RUN_DIR -p {train,validate,test}optional arguments:-h, --help            show this help message and exit-C CONFIG, --config CONFIG-c CHECKPOINT, --checkpoint CHECKPOINTcheckpoint path-g CUDA_DEVICES, --cuda_devices CUDA_DEVICES-m MODEL, --model MODEL-l LOCALNET, --localNet LOCALNET-n NAME_LIST [NAME_LIST ...], --name_list NAME_LIST [NAME_LIST ...]-e EPOCHS, --epochs EPOCHS-L LR, --lr LR-w WEIGHT_DECAY, --weight_decay WEIGHT_DECAY-s SIGMA, --sigma SIGMA-x MIX_STEP, --mix_step MIX_STEP-u, --use_background_channel-r RUN_NAME, --run_name RUN_NAME-d RUN_DIR, --run_dir RUN_DIR-p {train,validate,test}, --phase {train,validate,test}

2-1)示例自己完整训练-测试过程:

Train训练网络

(1)readme中训练一个U-Net模型:

python3 main.py -d ../runs -r unet2d_runs -p train -m unet2d -e 100

main.py在uLD目录下:

required参数:①-d参数:../ 返回上一级主目录创建默认名为runs文件夹作为运行目录run_dir;②-r参数:在其中创建运行文件unet2d_runs存储运行中的文件;checkpoints和yaml文件;③-p参数:指明什么阶段{train,validate,test}

optional 参数:④-m参数:选择模型model-networks-xxx  ⑤-e参数:遍历次数epoch=100

(2)训练GU2Net模型:

python3 main.py -d ../runs -r GU2Net_runs -p train -m gln -l u2net -e 100

(3)载入-c checkpoint,感觉类似于将我们训练好的pth载入的过程

python3 main.py -d ../runs -r GU2Net_runs -p train -m gln -l u2net -e 100 -c CHECKPOINT_PATH

训练方式:①可以使用命令行直接训练;②也可以在run里配置参数再run;③如果想直接运行main.py,那就把requires参数里的required=True改成defult='内容'就行了

Test测试模型:readme中会自动test,也可以将-p参数改为test模式手动测试

Eval评估模型

2-2) 也可以直接下载作者训练好的模型权重进行test和eval,给了example:

①下载并解压best.pt在YOLO/universal_landmark_detection目录下;

②test和eval模型

main.py -d ../runs -r GU2Net -p test -C config.yaml -m gln -l u2net -n chest cephalometric hand -c best.ptevaluation.py -i ../runs/GU2Net/results/test_epoch067

补充一下argparse模块★:是一个Python模块:命令行选项、参数和子命令解析器。 argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后将弄清如何从sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

使用步骤×3:

①创建解析器:parser = argparse.ArgumentParser()

②添加参数:parser.add_argument()

给属性名前加上“--”使其成为可选参数,常用方法/文档:default=‘’、type、

name or flags - 一个命名或者一个选项字符串的列表,例如foo或-f,--foo

action - 当参数在命令行中出现时使用的动作基本类型。

nargs - 命令行参数应当消耗的数目。

const - 被一些 action 和 nargs 选择所需求的常数。

default - 当参数未在命令行中出现并且也不存在于命名空间对象时所产生的值。

type - 命令行参数应当被转换成的类型。

choices - A sequence of the allowable values for the argument.

required - 此命令行选项是否可省略 (仅选项可用)。

help - 一个此选项作用的简单描述。

metavar - 在使用方法消息中使用的参数值示例。

dest - 被添加到 parse_args() 所返回对象上的属性名。

③解析参数:parser.parse_args()

在readme的结尾作者提供了yamlConfig.py和Pytorch-UNet

3、实验过程及报错解决

把训练好的best.pt放到YOLO/universal_landmark_detection目录下,配置参数,运行,报错。

(1) main.py运行命令如下:

main.py -d ../runs -r GU2Net_runs -p test -C config.yaml -m gln -l u2net -n chest cephalometric hand -c best.pt

解决遇到的问题:

安装requirments.txt有报错(不是pip而是安装包的问题,可更新一下),我单独安装了

No module named 'SimpleTK'

pip install SimpleITK

No module named 'skimage'解决1

【论文 | 复现】YOLO-landmark detection相关推荐

  1. 【论文|复现]Vertebra-Focused Landmark Detection For Scoliosis Assessment

    来源:2020 IEEE 17th International Symposium on Biomedical Imaging (ISBI) [论文] 翻译 Abstract In this pape ...

  2. [人脸对齐] Structured Landmark Detection via Topology-Adapting Deep Graph Learning

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接: Structured Landmark Detection via Topology-Adapting ...

  3. 【论文阅读】Misshapen Pelvis Landmark Detection WithLocal-Global Feature Learning for DiagnosingDevelop

    作者及团队:刘川斌 Chuanbin Liu; 谢洪涛; 张思成; 毛振东; 孙俊; 张永东 会议及时间:IEEE Transactions on Medical Imaging 2020-12| 期 ...

  4. YOLO-Universal Anatomical Landmark Detection论文精读

    前言 论文<You Only Learn Once: Universal Anatomical Landmark Detection>提出了一个通用的解剖地标检测的架构模型.You Onl ...

  5. [人脸对齐] SAN:Style Aggregated Network for Facial Landmark Detection 论文阅读

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接: Style Aggregated Network for Facial Landmark Detecti ...

  6. Deeply supervised salient object detection with short connections 论文复现

    DSS Model论文复现 <Deeply supervised salient object detection with short connections>这篇文章是南开大学程明明教 ...

  7. 论文阅读:You Only Learn Once: Universal Anatomical Landmark Detection

    Y ou Only Learn Once: Universal Anatomical Landmark Detection 你只学习一次:通用解剖学标志点检测 单位:北大奇迹组 发表:2021MICC ...

  8. Facial Landmark Detection(人脸特征点检测)

    原文地址:http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375 作为计算机视觉研究员,我们很早就开始研究人脸 ...

  9. 经典论文复现 | LSGAN:最小二乘生成对抗网络

    来源:PaperWeekly 本文约2500字,建议阅读10分钟. 本文介绍了经典AI论文--LSGAN,它比常规GAN更稳定,比WGAN收敛更迅速. 笔者这次选择复现的是 Least Squares ...

最新文章

  1. 【音频处理】从时域和频域上分别改变音频的响度
  2. 解决ubuntu中遇到“E:Unable to locate package rar” 的问题
  3. int *p=NULL; *p=9;是错误的!
  4. Fallout 3完结
  5. 系统管理找不到请求的服务器,解决Win10无法打开软件提示服务器没有及时响应或控制请求的方法...
  6. OSChina_IOS版客户端笔记(四)_程序数据、缓存的管理
  7. php编程 第一节,PHP第一节php简介_PHP
  8. 两种参数类型_深入理解Java中方法的参数传递机制
  9. 程序语言的概念知识笔记
  10. dubbo源码解析(十)远程通信——Exchange层
  11. 大众仪表板上为什么30km,50km处要标红?
  12. 学习阶段小测,简单的幸运抽奖系统
  13. JAVA自行车租借管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  14. 如何查看一个期刊是sci几区以及影响因子 入藏号 ISSN等信息
  15. 小学六年级人教版计算机书,小学数学六年级人教版
  16. 最全MacWin软件分享
  17. 打开word出现运行时错误‘-2147418113 (8000fff)‘的解决办法
  18. Unirech:阿里云国际版账户无法登陆,为什么账户会被风控?
  19. 从零开始的Nginx详解(2)【Nginx-HTTP服务器】
  20. Latex中插入.eps图片遇到的问题 (Unknown graphics extension:.eps)

热门文章

  1. node php v2ex,仿V2EX开源二次元论坛程序+安装教程
  2. HTMl页面加入落叶下雨动画,基于HTML5+Webkit实现树叶飘落动画
  3. 计算机装饰表格123教学设计,计算机基础培训123.doc
  4. 哥德巴赫猜想(python)
  5. CTF密码学--新手题--Normal_RSA--解题过程及总结
  6. Android之——手机黑名单的实现
  7. 华为P20无敌拍摄能力开放 如何即刻获得?
  8. 计算机备份应用程序无法启动,由于内部错误,备份应用程序无法启动如何解决-解决“由于内部错误,备份应用程序无法启动”的方法 - 河东软件园...
  9. 少室山论道——武学修炼之道
  10. Windows 7国家语言支持