机器之心报道

编辑:魔王、陈萍

本文介绍了微软开源的计算机视觉库,它囊括了计算机视觉领域的最佳实践、代码示例和丰富文档。

近年来,计算机视觉领域突飞猛进,在人脸识别、图像理解、搜索、无人机、地图、半自动和自动驾驶方面得到广泛应用。而这些应用的核心部分是视觉识别任务,如图像分类、目标检测和图像相似度。

在各种计算机视觉模型和应用层出不穷的当下,如何把握发展脉络,跟进领域前沿发展呢?微软创建了一个库,提供构建计算机视觉系统的大量示例和最佳实践指导原则。

项目地址:https://github.com/microsoft/computervision-recipes

这个库旨在构建一个全面的集合,涵盖利用了计算机视觉算法、神经架构和系统运行方面近期进展的工具和示例。

该库没有从头开始创建实现,而是基于已有的 SOTA 库发展而来,并围绕加载图像数据、优化和评估模型、扩展至云端构建了额外的工具函数。此外,微软团队表示,希望通过该项目回答计算机视觉领域的常见问题、指出频繁出现的缺陷问题,并展示如何利用云进行模型训练和部署。

该库中所有示例以 Jupyter notebooks 和常见工具函数的形式呈现。所有示例均使用 PyTorch 作为底层深度学习库。

Jupyter notebooks 地址:https://github.com/microsoft/computervision-recipes/blob/master/scenarios

工具函数地址:https://github.com/microsoft/computervision-recipes/blob/master/utils_cv

目标群体

该库的目标群体是具备一定计算机视觉知识背景的数据科学家和机器学习工程师,因为库的内容以 source-only(仅源代码)的形式呈现,支持自定义机器学习建模。这个库提供的工具函数和示例旨在为现实世界的视觉问题提供解决方案加速器。

示例

该库支持不同的计算机视觉场景,如基于单张图像运行,示例如下:

或基于视频序列的动作识别等场景,示例如下:

场景

该库涵盖常用的计算机视觉场景,包含如下类别:

对于每个主要场景(base),该项目均提供使用户高效构建自己模型的工具。这需要使用者完成一些任务,如基于自己的数据微调模型的简单任务,或者难例挖掘甚至模型部署等更复杂的任务。

1. 图像分类任务

该目录提供了构建图像分类系统的示例和最佳实践,旨在让用户能够在自己的数据集上轻松快速地训练高准确率分类器。

这里提供的示例 notebook 具备预置的默认参数,可以很好地处理多个数据集。该目录还提供了有关常见缺陷和最佳实践的大量文档。

此外,该库还展示了如何使用微软的云计算平台 Azure,加快在大型数据集上的训练速度或将模型部署为 web 服务。

2. 图像相似度

该目录提供了构建图像相似度系统的示例和最佳实践,旨在使用户能够基于自己的数据集方便快捷地训练高精度模型。

下图为图像检索示例,其中左图为查询图像,右面为与之最相似的 6 幅图像:

3. 目标检测

该目录提供了构建目标检测系统的示例和最佳实践,旨在使用户能够基于自己的数据集方便快捷地训练高准确率模型。

该库使用了 torchvision 的 Faster R-CNN 实现,它被证明能够很好地处理多种计算机视觉问题。

项目作者建议使用者在具备 GPU 的机器上运行示例,虽然 GPU 在技术层面上并非必需,但是如果不使用 GPU,即使只用几十个图像,训练过程也会变得非常缓慢。

4. 关键点检测

该目录包含构建关键点检测系统的示例和最佳实践指导原则,并展示了如何使用预训练模型进行人体姿势估计。

该目录使用了 Mask R-CNN 的扩展,可以同时检测物体及其关键点。其底层技术与上述目标检测方法类似,即基于 Torchvision 的 Mask R-CNN。

5. 图像分割

该目录提供了构建图像分割系统的示例和最佳实践,旨在使用户能够基于自己的数据集方便快捷地训练高准确率模型。

这里的实现使用了 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 下。

对多个基于专用数据集的人群计数模型实现进行评估后,该项目将模型范围缩小到两个选项:Multi Column CNN model (MCNN) 和 OpenPose 模型。二者均符合速度要求。

对于高密度人群图像,MCNN 模型取得了良好的效果;

对于低密度场景,OpenPose 表现良好。

而当人群密度未知时,该项目采用启发式方法。在满足以下条件时使用 MCNN 进行预测:OpenPose 预测大于 20,MCNN 大于 50。反之,则使用 OpenPose 预测。模型的阈值可以根据使用者的场景进行更改。

此外,该目录还展示了依赖项、安装过程、测试及性能。

pytorch实现人脸识别_PyTorch实现,GitHub4000星:微软开源的CV库相关推荐

  1. pytorch实现人脸识别_PyTorch实现,GitHub4000星:这是微软开源的计算机视觉库

    来源:机器之心 本文介绍了微软开源的计算机视觉库,它囊括了计算机视觉领域的最佳实践.代码示例和丰富文档. 近年来,计算机视觉领域突飞猛进,在人脸识别.图像理解.搜索.无人机.地图.半自动和自动驾驶方面 ...

  2. 基于PyTorch的人脸识别框架(翻译)

    内容来源:https://github.com/XiaohangZhan/face_recognition_framework 基于PyTorch的人脸识别框架 Face recognition fr ...

  3. PyTorch实现,GitHub 4000星:这是微软开源的计算机视觉库

    视学算法报道 编辑:魔王.陈萍 转载自公众号:机器之心 本文介绍了微软开源的计算机视觉库,它囊括了计算机视觉领域的最佳实践.代码示例和丰富文档. 近年来,计算机视觉领域突飞猛进,在人脸识别.图像理解. ...

  4. 4计算准确率_PyTorch实现,GitHub 4000星:这是微软开源的计算机视觉库

    本文介绍了微软开源的计算机视觉库,它囊括了计算机视觉领域的最佳实践.代码示例和丰富文档. 机器之心报道,编辑:魔王.陈萍. 近年来,计算机视觉领域突飞猛进,在人脸识别.图像理解.搜索.无人机.地图.半 ...

  5. PyTorch实现,GitHub star 4k+:这是微软开源的计算机视觉库

    点击上方,选择星标或置顶,不定期资源大放送!阅读大概需要15分钟 Follow小博主,每天更新前沿干货[导读]本文介绍了微软开源的计算机视觉库,它囊括了计算机视觉领域的最佳实践.代码示例和丰富文档. ...

  6. pytorch实现人脸识别_一步一步带你完成深度学习与对象检测之人脸识别

    前期文章我们分享了opencv的人脸检测 人工智能-OpenCV+Python实现人脸识别 以及dlib的人脸检测与人脸识别 人工智能-Dlib+Python实现人脸识别 通过往期的分享,我们了解到人 ...

  7. python 换脸 github_人脸识别和换脸相关深度学习开源项目github汇总

    openface github:https://github.com/cmusatyalab/openface openface是一个基于深度神经网络的开源人脸识别系统.该系统基于谷歌的文章<F ...

  8. 腾讯推出世界最强人脸识别 准确率99.8%;微软在慕尼黑设立欧洲首个物联网实验室 | IoT黑板报...

    外媒:韩国最大电信运营商SK电讯或被迫放弃与华为合作 @雷锋网 据外媒报道,韩国最大的电信运营商SK电讯近来受到巨大舆论压力,或有可能放弃使用华为的网络设备,因为批评家认为华为的技术将可以窃听通话内容 ...

  9. python人脸识别门禁系统毕设_开源|手把手教你用Python进行人脸识别(附源代码)...

    原标题:开源|手把手教你用Python进行人脸识别(附源代码) 全球人工智能 来源:Github 翻译:黄玮 想要了解目前世界上最简洁的人脸识别库吗?现在小编带大家来学习使用Python语言或命令行进 ...

最新文章

  1. java regexp_java中使用regexp
  2. c语言一行黑白相间的瓷砖,C语言编程练习15:贴瓷砖
  3. 如何让插件代码同时兼容ats 5.x和ats 6.x的方法
  4. torch 多进程队列 问题
  5. 【Flutter】ExpansionTile 可折叠列表
  6. 【CVPR2020 image caption】读Meshed-Memory Transformer for Image Captioning
  7. python draw.text颜色_python wand:用draw.text()改变文本样式
  8. Centos-检查文件系统并尝试修复-fsck
  9. Java Calendar 基本用法
  10. 计算机网络数据链路层之其基础概述
  11. python画图程序没有图_Python实现画图软件功能方法详解
  12. [译] REST API 已死,GraphQL 长存
  13. 基于node.js的网上书店系统的设计与实现.rar(项目源码+论文)(开发文档+nodejs配置+安装+运行教学.zip)
  14. ASIO音频驱动开发指南
  15. java九宫格问题课程设计_JavaWeb课程设计_清爽夏日九宫格日志网源码
  16. AdSense后台添加美国税务信息W-8BEN纳税表秒过的详细操作图文教程
  17. 走过30年岁月的WPS,它的复兴之路该怎么走
  18. 小德张-清朝最后一位首领太监
  19. zcmu1064: 计算旅途时间
  20. html文标题党,「深度好文」教你如何成为一个合格的标题党

热门文章

  1. [Python + PyQt5] 均匀平面波的入射、反射及透射的仿真实验
  2. cube一站式云原生机器学习平台-推理服务的工程化加速
  3. python机器学习库sklearn——降维
  4. AD画封装的血泪教训:有叉的放在外侧
  5. 拓扑量子计算机 超导 光,科学家发现新型拓扑超导材料 有望推动实现拓扑量子计算...
  6. python打印9宫格,25宫格等奇数格,且横竖斜相加和相等
  7. [CQOI2011]放棋子
  8. luogu p1652 圆
  9. 转载 用Python实现设计模式——工厂模式
  10. MySQL设置默认编码