最近,一个名为 TorchCV 的计算机视觉模型框架站上了 GitHub 趋势榜。该库提供了基于深度学习的大部分 CV 问题研究的源代码,对于使用者来说,调用最常用、最为先进的计算机模型从此可以变得更加容易。TorchCV 的作者 Donny You 来自北京大学,是机器感知与智能教育部重点实验室的一名研三学生。
TorchCV 支持图像分类、语义分割、目标检测、姿态检测、实例分割、生成对抗网络等任务中的多个常见模型。
链接:https://github.com/donnyyou/torchcv
实施文件
-
- VGG:用于大规模图像识别的超深度卷积网络
- ResNet:用于图像识别的深度残差学习
- DenseNet:紧密连接的卷积网络
- ShuffleNet:一种用于移动设备的极其高效的卷积神经网络
- ShuffleNet V2:实用的CNN架构设计实用指南
- 部分订单细分:在神经体系结构搜索中获得最佳速度/精度折衷
-
- DeepLabV3:重新考虑原子卷积以进行语义图像分割
- PSPNet:金字塔场景解析网络
- DenseASPP:DenseASPP用于街道场景中的语义分割
- 非对称非局部神经网络的语义分割
-
- SSD:单发MultiBox检测器
- 复苏的R-CNN:通过区域互联网络实现实时目标检测
- YOLOv3:一个增量的改进
- FPN:用于目标检测的特征金字塔网络
-
- CPM:卷积姿势机
- OpenPose:使用零件相似性分段进行实时多人2D姿势估计
-
- 面具R-CNN
-
- Pix2pix:使用条件对抗网进行图像到图像的转换
- CycleGAN:使用周期一致的对抗网络进行不成对的图像到图像的转换。
火炬CV快速入门
现在仅支持python3.x,pytorch 1.0。
pip3 install -r requirements.txt
CD扩展名
sh make.sh
TorchCV的表演
下面显示的所有性能完全重新执行了论文的结果。
影像分类
- ImageNet(中心作物测试):224x224
模型 | 培养 | 测试 | 前1名 | 前5 | 学士学位 | Iters | 剧本 |
---|---|---|---|---|---|---|---|
ResNet50 | 培养 | 值 | 77.54 | 93.59 | 512 | 30瓦 | ResNet50 |
ResNet101 | 培养 | 值 | 78.94 | 94.56 | 512 | 30瓦 | ResNet101 |
随机播放网V2x0.5 | 培养 | 值 | 60.90 | 82.54 | 1024 | 40瓦 | 随机播放网V2x0.5 |
ShuffleNetV2x1.0 | 培养 | 值 | 69.71 | 88.91 | 1024 | 40瓦 | ShuffleNetV2x1.0 |
DFNetV1 | 培养 | 值 | 70.99 | 89.68 | 1024 | 40瓦 | DFNetV1 |
DFNetV2 | 培养 | 值 | 74.22 | 91.61 | 1024 | 40瓦 | DFNetV2 |
语义分割
- 城市景观(单比例整体图像测试):基本LR 0.01,作物尺寸769
模型 | 骨干 | 培养 | 测试 | 缪 | 学士学位 | Iters | 剧本 |
---|---|---|---|---|---|---|---|
PSP网 | 3x3-Res101 | 培养 | 值 | 78.20 | 8 | 4W | PSP网 |
DeepLabV3 | 3x3-Res101 | 培养 | 值 | 79.13 | 8 | 4W | DeepLabV3 |
- ADE20K(单尺度整幅图像测试):基本LR 0.02,作物尺寸520
模型 | 骨干 | 培养 | 测试 | 缪 | 宣布ACC | 学士学位 | Iters | 剧本 |
---|---|---|---|---|---|---|---|---|
PSP网 | 3x3-Res50 | 培养 | 值 | 41.52 | 80.09 | 16 | 15瓦 | PSP网 |
DeepLabv3 | 3x3-Res50 | 培养 | 值 | 42.16 | 80.36 | 16 | 15瓦 | DeepLabV3 |
PSP网 | 3x3-Res101 | 培养 | 值 | 43.60 | 81.30 | 16 | 15瓦 | PSP网 |
DeepLabv3 | 3x3-Res101 | 培养 | 值 | 44.13 | 81.42 | 16 | 15瓦 | DeepLabV3 |
物体检测
- Pascal VOC2007 / 2012(单秤测试):20个班级
模型 | 骨干 | 培养 | 测试 | 地图 | 学士学位 | 时代 | 剧本 |
---|---|---|---|---|---|---|---|
固态硬盘300 | VGG16 | 07 + 12_trainval | 07_测试 | 0.786 | 32 | 235 | 固态硬盘300 |
固态硬盘512 | VGG16 | 07 + 12_trainval | 07_测试 | 0.808 | 32 | 235 | 固态硬盘512 |
复苏的R-CNN | VGG16 | 07_trainval | 07_测试 | 0.706 | 1个 | 15 | 复苏的R-CNN |
姿势估计
- OpenPose:使用零件相似性分段进行实时多人2D姿势估计
实例细分
- 面具R-CNN
生成对抗网络
- Pix2pix
- 循环GAN
具有TorchCV的数据集
TorchCV已定义所有任务的数据集格式,您可以在数据集的子目录中检查该任务。以下是用于训练语义分段的示例数据集目录树。您可以使用文件夹数据集/ seg /预中的脚本对打开的数据集进行初步
DataSet
train
image
00001.jpg/png
00002.jpg/png
...
label
00001.png
00002.png
...
val
image
00001.jpg/png
00002.jpg/png
...
label
00001.png
00002.png
...
TorchCV的命令
以PSPNet为例。(“标签”可以是任何字符串,包括一个空字符串。)
- 训练
cd脚本/ seg /城市景观/
bash run_fs_pspnet_cityscapes_seg.sh火车标签
- 继续训练
cd脚本/ seg /城市景观/
bash run_fs_pspnet_cityscapes_seg.sh火车标签
- 验证
cd脚本/ seg /城市景观/
bash run_fs_pspnet_cityscapes_seg.sh val标签
- 测试:
cd脚本/ seg /城市景观/
bash run_fs_pspnet_cityscapes_seg.sh 测试标签