PyTorch实现,GitHub4000星:微软开源的CV库( 二 )


本文插图
3. 目标检测
该目录提供了构建目标检测系统的示例和最佳实践 , 旨在使用户能够基于自己的数据集方便快捷地训练高准确率模型 。
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
该库使用了 torchvision 的 Faster R-CNN 实现 , 它被证明能够很好地处理多种计算机视觉问题 。
项目作者建议使用者在具备 GPU 的机器上运行示例 , 虽然 GPU 在技术层面上并非必需 , 但是如果不使用 GPU , 即使只用几十个图像 , 训练过程也会变得非常缓慢 。
4. 关键点检测
该目录包含构建关键点检测系统的示例和最佳实践指导原则 , 并展示了如何使用预训练模型进行人体姿势估计 。
该目录使用了 Mask R-CNN 的扩展 , 可以同时检测物体及其关键点 。 其底层技术与上述目标检测方法类似 , 即基于 Torchvision 的 Mask R-CNN 。

PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
5. 图像分割
该目录提供了构建图像分割系统的示例和最佳实践 , 旨在使用户能够基于自己的数据集方便快捷地训练高准确率模型 。
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
这里的实现使用了 fastai 的 UNet 模型 , 其中 CNN 主干(如 ResNet)在 ImageNet 数据集上经过预训练 , 因此使用者只需少量标注训练样本就可以对其进行微调 。
6. 动作识别
该目录包含构建基于视频的动作识别系统所需要的资源 , 旨在使用户能够在自定义数据集上轻松快速地训练出高准确率的快速模型 。
动作识别(也叫「活动识别」)包括从一系列帧中对多种动作进行分类 , 例如「阅读」或「饮酒」 。
动作识别是一个热门的研究领域 , 每年都有大量的方法发表 。 其中一个突出的方法是 R(2+1)D 模型 , 它能够获得高准确率 , 且比其他方法快得多 。 (参见论文《Large-scale weakly-supervised pre-training for video action recognition》)
该目录中的实现和预训练权重均基于这个 GitHub 库(https://github.com/moabitcoin/ig65m-pytorch) , 并添加了一些功能 , 以使自定义模型的训练和评估更加用户友好 。 这里在预训练时使用的是 IG-Kinetics 数据集 。
7. 多目标跟踪
该目录提供了构建和推断多目标跟踪系统的示例和最佳实践 , 旨在使用户能够基于自定义数据集轻松训练高准确率跟踪模型 。
该库集成了 FairMOT 跟踪算法 , 该算法在近期的 MOT 基准测试中表现出了很强的跟踪性能 , 同时也推理速度也很快 。
8. 人群计数
该目录提供了多个人群计数算法的 production-ready 版本 , 不同算法被统一在一组一致性 API 下 。
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
对多个基于专用数据集的人群计数模型实现进行评估后 , 该项目将模型范围缩小到两个选项:Multi Column CNN model (MCNN) 和 OpenPose 模型 。 二者均符合速度要求 。
对于高密度人群图像 , MCNN 模型取得了良好的效果;
对于低密度场景 , OpenPose 表现良好 。
而当人群密度未知时 , 该项目采用启发式方法 。 在满足以下条件时使用 MCNN 进行预测:OpenPose 预测大于 20 , MCNN 大于 50 。 反之 , 则使用 OpenPose 预测 。 模型的阈值可以根据使用者的场景进行更改 。
【PyTorch实现,GitHub4000星:微软开源的CV库】此外 , 该目录还展示了依赖项、安装过程、测试及性能 。