专栏首页贾志刚-OpenCV学堂基于PyTorch的CV模型框架,北大学生出品TorchCV

基于PyTorch的CV模型框架,北大学生出品TorchCV

在机器学习带来的所有颠覆性技术中,计算机视觉领域吸引了业内人士和学术界最大的关注。

刚刚推出 1.3 正式版的 PyTorch 风头正劲,人们已经围绕这一深度学习框架开发出了越来越多的工具。最近,一个名为 TorchCV 的计算机视觉模型框架站上了 GitHub 趋势榜。

项目链接:https://github.com/donnyyou/torchcv

该库提供了基于深度学习的大部分 CV 问题研究的源代码,对于使用者来说,调用最常用、最为先进的计算机模型从此可以变得更加容易。TorchCV 的作者 Donny You 来自北京大学,是机器感知与智能教育部重点实验室的一名研三学生。

TorchCV 支持的模型

TorchCV 支持图像分类、语义分割、目标检测、姿态检测、实例分割、生成对抗网络等任务中的多个常见模型,列表如下:

图像分类

  • 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

语义分割

  • 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

目标检测

  • 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

姿态检测

  • CPM: Convolutional Pose Machines
  • OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

实例分割

  • Mask R-CNN

生成对抗网络

  • Pix2pix: Image-to-Image Translation with Conditional Adversarial Nets
  • CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent

快速启动 TorchCV

TorchCV 目前仅支持 Python3.x 和 pytorch 1.0。

pip3 install -r requirements.txtcd extensions
sh make.sh

利用 TorchCV 得到的模型性能数据

以下所示的性能数据完全复现了论文的结果。

图像分类

语义分割

目标检测

姿态估计

  • OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

实例分割

  • Mask R-CNN

生成对抗网络

  • Pix2pix
  • CycleGAN

TorchCV 的数据集

TorchCV 定义了你能在数据集子目录中查到的所有任务的数据格式。下面是一个用于训练语义分割的数据集目录树示例。你可以使用 datasets/seg/preprocess文件夹中的脚本对开源数据集进行预处理。

文件夹地址:https://github.com/donnyyou/torchcv/tree/master/datasets/seg/preprocess

TorchCV 的命令

项目作者提供了命令行工具,供用户使用模型,代码如下:

训练

cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh train tag

恢复训练

cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh train tag

验证

cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh val tag

测试

cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh test tag

2019 年,PyTorch 正在逐渐赶超 TensorFlow,在研究领域成为最为流行的深度学习框架。随着后者使用人数的增多,我们未来还会看到更多高效工具。

本文分享自微信公众号 - OpenCV学堂(CVSCHOOL)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从6万用户评论中,他们选出了23门全世界最好的CS免费课

    全世界范围内,有大概1000所大学发布了超过13000门免费公开课了,而且数量每年都会增长。

    量子位
  • BERT预训练模型的演进过程!(附代码)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    mantch
  • Transformer各层网络结构详解!面试必备!(附代码实现)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    mantch
  • 从word2vec到bert:NLP预训练模型发展史

    原文链接:https://zhuanlan.zhihu.com/p/49271699

    石晓文
  • 数据挖掘工程师必备的技能有哪些?

    R,Python,C ++,Java,Matlab,SQL,SAS,shell / awk / sed…

    加米谷大数据
  • 2D-Driven 3D Object Detection in RGB-D Images

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    于小勇
  • NLP技术路线详解:这是从数学到算法的艺术

    自然语言处理很多时候都是一门综合性的学问,它远远不止机器学习算法。相比图像或语音,文本的变化更加复杂,例如从预处理来看,NLP 就要求我们根据对数据的理解定制一...

    Datawhale
  • 围观SVM模型在分类和预测问题上的强悍表现!

    在上一期的《手把手教你如何由浅入深地理解线性SVM模型》中我们分享了线性SVM模型的来龙去脉,得到很多读者朋友的点赞和支持,本期我们继续分享SVM模型的其他知识...

    1480
  • 10 大 CNN 核心模型完全解析(附源代码,已全部跑通)

    LeNet虽然不是CNN的起点,但却是后来CNN兴起的标志模型。LeNet-5是1998年YannLeCun设计用于手写数字识别的模型。

    Datawhale
  • 推荐收藏 | 如何在实际中计划和执行一个机器学习和深度学习项目

    做研究打比赛和真正的做一个机器学习和深度项目是不一样的,如果你有这方面的困惑的话,可以看看这篇文章。

    Sam Gor

扫码关注云+社区

领取腾讯云代金券