简介
"连接组学"领域旨在通过在单个突触水平上绘制神经连接图来重建大脑的布线图。最近电子显微镜(EM)技术的进步使得收集大量纳米级分辨率的图像堆栈成为可能,但标注需要专业知识且极其耗时。在此,我们提供了一个由PyTorch驱动的深度学习框架,用于连接组学中的自动和半自动语义分割和实例分割,我们称之为PyTorch Connectomics(PyTC)。这个仓库主要由哈佛大学视觉计算组(VCG)维护。
PyTorch Connectomics目前正在积极开发中!
主要特点
- 多任务、主动和半监督学习
- 分布式和混合精度优化
- 处理大型数据集的可扩展性
- 针对体积数据的全面数据增强
安装
请参考Pytorch Connectomics维基,特别是安装页面,以获取在本地机器或高性能集群上安装的最新说明。
Docker
除了上述安装指南外,我们还将PyTC Docker镜像推送到公共Docker注册表(2022年3月12日),以提高可用性。此外,我们还提供相应的Dockerfile以支持个性化修改。请参考我们的PyTC Docker指南了解更多信息。
注意事项
分割模型
我们提供了几种编码器-解码器架构,这些是定制的3D UNet和具有各种模块和主干网络的特征金字塔网络(FPN)模型。这些模型可用于3D图像堆栈的语义分割和自下而上的实例分割。这些模型还可以专门为同向和非同向数据集构建。请查看文档了解更多详情。
数据增强
我们为EM图像提供了一个数据增强接口,包含几种常见的增强方法。该接口基于NumPy数组操作,因此可以轻松地与许多基于Python的深度学习框架(如TensorFlow)集成。有关数据增强模块设计的更多详情,请查看文档,特别是utils文档。
YACS配置
我们使用Yet Another Configuration System(YACS)库来管理模型训练和推理中的设置和超参数。教程示例的配置文件可以在这里找到。所有可用的配置选项可以在connectomics/config/defaults.py中找到。请注意,某些选项的默认值为None,这仅在YACS v0.1.8之后的版本中支持。
致谢
本项目建立在许多前期项目的基础之上。特别地,我们要感谢以下GitHub仓库的贡献者:
- pyGreenTea:HHMI Janelia FlyEM团队
- DataProvider:普林斯顿SeungLab
- Detectron2:Facebook AI研究院
我们衷心感谢NSF awards IIS-1835231和IIS-2124179的支持。
许可证
本项目采用MIT许可证,版权归所有PyTorch Connectomics贡献者所有 - 详见LICENSE文件。
引用
有关我们框架的详细描述,请阅读这份技术报告。如果您在研究中发现PyTorch Connectomics(PyTC)有用,请引用:
@article{lin2021pytorch,
title={PyTorch Connectomics: A Scalable and Flexible Segmentation Framework for EM Connectomics},
author={Lin, Zudi and Wei, Donglai and Lichtman, Jeff and Pfister, Hanspeter},
journal={arXiv preprint arXiv:2112.05754},
year={2021}
}