基于PyTorch的CV模型框架,北大學(xué)生出品TorchCV
在機(jī)器學(xué)習(xí)帶來(lái)的所有顛覆性技術(shù)中,計(jì)算機(jī)視覺(jué)領(lǐng)域吸引了業(yè)內(nèi)人士和學(xué)術(shù)界最大的關(guān)注。
剛剛推出 1.3 正式版的 PyTorch 風(fēng)頭正勁,人們已經(jīng)圍繞這一深度學(xué)習(xí)框架開(kāi)發(fā)出了越來(lái)越多的工具。最近,一個(gè)名為 TorchCV 的計(jì)算機(jī)視覺(jué)模型框架站上了 GitHub 趨勢(shì)榜。
項(xiàng)目鏈接:https://github.com/donnyyou/torchcv
該庫(kù)提供了基于深度學(xué)習(xí)的大部分 CV 問(wèn)題研究的源代碼,對(duì)于使用者來(lái)說(shuō),調(diào)用最常用、最為先進(jìn)的計(jì)算機(jī)模型從此可以變得更加容易。TorchCV 的作者 Donny You 來(lái)自北京大學(xué),是機(jī)器感知與智能教育部重點(diǎn)實(shí)驗(yàn)室的一名研三學(xué)生。
TorchCV 支持的模型
TorchCV 支持圖像分類(lèi)、語(yǔ)義分割、目標(biāo)檢測(cè)、姿態(tài)檢測(cè)、實(shí)例分割、生成對(duì)抗網(wǎng)絡(luò)等任務(wù)中的多個(gè)常見(jiàn)模型,列表如下:
圖像分類(lèi)
- VGG: Very Deep Convolutional Networks for Large-Scale Image Recognition
- ResNet: Deep Residual Learning for Image Recognition
- DenseNet: Densely Connected Convolutional Networks
- ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
- ShuffleNet V2: Practical Guidelines for Ecient CNN Architecture Design
- Partial Order Pruning: for Best Speed/Accuracy Trade-off in Neural Architecture Search
語(yǔ)義分割
- DeepLabV3: Rethinking Atrous Convolution for Semantic Image Segmentation
- PSPNet: Pyramid Scene Parsing Network
- DenseASPP: DenseASPP for Semantic Segmentation in Street Scenes
- Asymmetric Non-local Neural Networks for Semantic Segmentation
目標(biāo)檢測(cè)
- SSD: Single Shot MultiBox Detector
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- YOLOv3: An Incremental Improvement
- FPN: Feature Pyramid Networks for Object Detection
姿態(tài)檢測(cè)
- CPM: Convolutional Pose Machines
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
實(shí)例分割
Mask R-CNN
生成對(duì)抗網(wǎng)絡(luò)
- Pix2pix: Image-to-Image Translation with Conditional Adversarial Nets
- CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent
快速啟動(dòng) TorchCV
TorchCV 目前僅支持 Python3.x 和 pytorch 1.0。
- pip3 install -r requirements.txtcd extensions
- sh make.sh
利用 TorchCV 得到的模型性能數(shù)據(jù)
以下所示的性能數(shù)據(jù)完全復(fù)現(xiàn)了論文的結(jié)果。
圖像分類(lèi)
語(yǔ)義分割
目標(biāo)檢測(cè)
姿態(tài)估計(jì)
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
實(shí)例分割
- Mask R-CNN
生成對(duì)抗網(wǎng)絡(luò)
- Pix2pix
- CycleGAN
TorchCV 的數(shù)據(jù)集
TorchCV 定義了你能在數(shù)據(jù)集子目錄中查到的所有任務(wù)的數(shù)據(jù)格式。下面是一個(gè)用于訓(xùn)練語(yǔ)義分割的數(shù)據(jù)集目錄樹(shù)示例。你可以使用 datasets/seg/preprocess文件夾中的腳本對(duì)開(kāi)源數(shù)據(jù)集進(jìn)行預(yù)處理。
文件夾地址:https://github.com/donnyyou/torchcv/tree/master/datasets/seg/preprocess
TorchCV 的命令
項(xiàng)目作者提供了命令行工具,供用戶使用模型,代碼如下:
訓(xùn)練
- cd scripts/seg/cityscapes/
- bash run_fs_pspnet_cityscapes_seg.sh train tag
恢復(fù)訓(xùn)練
- cd scripts/seg/cityscapes/
- bash run_fs_pspnet_cityscapes_seg.sh train tag
驗(yàn)證
- cd scripts/seg/cityscapes/
- bash run_fs_pspnet_cityscapes_seg.sh val tag
測(cè)試
- cd scripts/seg/cityscapes/
- bash run_fs_pspnet_cityscapes_seg.sh test tag
2019 年,PyTorch 正在逐漸趕超 TensorFlow,在研究領(lǐng)域成為最為流行的深度學(xué)習(xí)框架。隨著后者使用人數(shù)的增多,我們未來(lái)還會(huì)看到更多高效工具。