Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

张倩、泽南整理

基于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,在研究领域成为最为流行的深度学习框架。随着后者使用人数的增多,我们未来还会看到更多高效工具。

入门计算机视觉模型框架TorchCV
4
相关数据
计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

姿态检测技术

姿态检测是指主体对主要行为者提出的主张的反应。它是假新闻评估的一套方法的核心部分。

姿态估计技术

姿势估计是指检测图像和视频中的人物形象的计算机视觉技术,以便确定某人的某个肢体出现在图像中的位置。

推荐文章
暂无评论
暂无评论~