🚀 densenet121-res224-chex
DenseNet是一种卷积神经网络,它通过密集块(Dense Blocks)在各层之间建立密集连接,在这种结构中,所有层(特征图尺寸匹配)都直接相互连接。为保持前馈特性,每一层会从前面所有层获取额外输入,并将自身的特征图传递给后面所有层。该模型可用于X光图像分类,具有重要的医学应用价值。
🚀 快速开始
DenseNet是一种卷积神经网络,它通过密集块(Dense Blocks)在各层之间建立密集连接,在这种结构中,所有层(特征图尺寸匹配)都直接相互连接。为保持前馈特性,每一层会从前面所有层获取额外输入,并将自身的特征图传递给后面所有层。
✨ 主要特性
- 利用密集连接:通过Dense Blocks在各层之间建立密集连接,增强特征传播。
- 前馈特性:每一层从前面所有层获取额外输入,并将自身特征图传递给后续层。
- 多输出:每个预训练模型有18个输出。
📦 安装指南
文档未提供具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
以下是如何使用此模型对X光图像进行分类的示例:
注意:每个预训练模型有18个输出。all
模型的每个输出都经过训练。然而,对于其他权重,某些目标未经过训练,会随机预测,因为它们不存在于训练数据集中。唯一有效的输出列在对应权重的数据集的{dataset}.pathologies
字段中。
模型的基准测试信息请参考:BENCHMARKS.md
import urllib.request
import skimage
import torch
import torch.nn.functional as F
import torchvision
import torchvision.transforms
import torchxrayvision as xrv
model_name = "densenet121-res224-chex"
img_url = "https://huggingface.co/spaces/torchxrayvision/torchxrayvision-classifier/resolve/main/16747_3_1.jpg"
img_path = "xray.jpg"
urllib.request.urlretrieve(img_url, img_path)
model = xrv.models.get_model(model_name, from_hf_hub=True)
img = skimage.io.imread(img_path)
img = xrv.datasets.normalize(img, 255)
if len(img.shape) > 2:
img = img[:, :, 0]
if len(img.shape) < 2:
print("error, dimension lower than 2 for image")
img = img[None, :, :]
transform = torchvision.transforms.Compose([xrv.datasets.XRayCenterCrop()])
img = transform(img)
with torch.no_grad():
img = torch.from_numpy(img).unsqueeze(0)
preds = model(img).cpu()
output = {
k: float(v)
for k, v in zip(xrv.datasets.default_pathologies, preds[0].detach().numpy())
}
print(output)
更多代码示例请参考:example scripts。
📚 详细文档
模型输出说明
每个预训练模型有18个输出。all
模型的每个输出都经过训练。然而,对于其他权重,某些目标未经过训练,会随机预测,因为它们不存在于训练数据集中。唯一有效的输出列在对应权重的数据集的{dataset}.pathologies
字段中。
基准测试
模型的基准测试信息请参考:BENCHMARKS.md
📄 许可证
本项目采用Apache-2.0许可证。
📚 引用
主要的TorchXRayVision论文
- 标题:TorchXRayVision: A library of chest X-ray datasets and models
- 作者:Joseph Paul Cohen, Joseph D. Viviano, Paul Bertin, Paul Morrison, Parsa Torabian, Matteo Guarrera, Matthew P Lungren, Akshay Chaudhari, Rupert Brooks, Mohammad Hashir, Hadrien Bertrand
- BibTeX引用:
@article{Cohen2020xrv,
author = {Cohen, Joseph Paul and Viviano, Joseph D. and Bertin, Paul and Morrison, Paul and Torabian, Parsa and Guarrera, Matteo and Lungren, Matthew P and Chaudhari, Akshay and Brooks, Rupert and Hashir, Mohammad and Bertrand, Hadrien},
journal = {https://github.com/mlmed/torchxrayvision},
title = {{TorchXRayVision: A library of chest X-ray datasets and models}},
url = {https://github.com/mlmed/torchxrayvision},
year = {2020}
arxivId = {2111.00595},
}
发起库开发的论文
@inproceedings{cohen2020limits,
title={On the limits of cross-domain generalization in automated X-ray prediction},
author={Cohen, Joseph Paul and Hashir, Mohammad and Brooks, Rupert and Bertrand, Hadrien},
booktitle={Medical Imaging with Deep Learning},
year={2020},
url={https://arxiv.org/abs/2002.02497}
}