0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微软开源的计算机视觉库

新机器视觉 来源:机器之心 2020-08-28 11:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

近年来,计算机视觉领域突飞猛进,在人脸识别、图像理解、搜索、无人机、地图、半自动和自动驾驶方面得到广泛应用。而这些应用的核心部分是视觉识别任务,如图像分类、目标检测和图像相似度。 在各种计算机视觉模型和应用层出不穷的当下,如何把握发展脉络,跟进领域前沿发展呢?微软创建了一个库,提供构建计算机视觉系统的大量示例和最佳实践指导原则。 项目地址: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 预测。模型的阈值可以根据使用者的场景进行更改。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6719

    浏览量

    107348
  • 计算机视觉
    +关注

    关注

    9

    文章

    1714

    浏览量

    47452
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136233

原文标题:PyTorch实现,GitHub 4000星:这是微软开源的计算机视觉库

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用代理式AI激活传统计算机视觉系统的三种方法

    当前的计算机视觉系统擅长于识别物理空间与流程中的事件,却难以诠释场景细节及其意义,也无法推理后续可能发生的情况。
    的头像 发表于 12-01 09:44 327次阅读

    STM32计算机视觉开发套件:B-CAMS-IMX摄像头模块技术解析

    STMicroelectronics用于 STM32开发板的B-CAMS-IMX摄像头模块提供强大的硬件集,可处理多种计算机视觉场景和用例。该模块具有高分辨率500万像素IMX335LQN
    的头像 发表于 10-20 09:46 710次阅读
    STM32<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>开发套件:B-CAMS-IMX摄像头模块技术解析

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    +FBNeo虚拟机, 多款游戏ROM分享)【VisionFive 2单板计算机试用体验】3、开源大语言模型部署 作者:gtbestom【VisionFive 2单板计算机试用体验】开箱+开发环境搭建
    发表于 09-04 09:08

    微软正式发布Microsoft行星计算机专业版

    地理空间数据虽赋能能源、农业、零售等多领域,却因复杂性与数据孤岛问题长期局限于专家群体。微软正式发布Microsoft行星计算机专业版,通过Microsoft Azure(国际版)整合AI技术分析能力,实现海量数据从采集、处理到洞察的全流程管理,推动可持续决策成为企业新基
    的头像 发表于 08-19 14:31 869次阅读

    易控智驾荣获计算机视觉顶会CVPR 2025认可

    近日,2025年国际计算机视觉与模式识别顶级会议(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美国田纳西州纳什维尔召开。
    的头像 发表于 07-29 16:54 981次阅读

    工业计算机的重要性

    工业计算机对某些行业至关重要。我们将在下面详细解释这些行业中的工业计算机应用。1.制造与工业自动化工业级计算机非常适合制造工厂,特别是那些想要自动化装配过程的工厂。在这样的环境中,工业计算机
    的头像 发表于 07-28 16:07 398次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境中运行。自动化计算机能够
    的头像 发表于 07-21 16:44 419次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 530次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 516次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
    的头像 发表于 04-22 14:29 1858次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    Arm KleidiCV与OpenCV集成助力移动端计算机视觉性能优化

    等多种应用中。然而,这些计算机视觉应用可能很难实现最优化的延迟性能和处理速度,特别是在内存大小、电池容量和处理能力有限的移动设备上难度更高。 而 Arm KleidiCV 便能在其中大显身手。该开源
    的头像 发表于 02-24 10:15 876次阅读

    微软OmniParser V2:大模型转化为计算机智能体

    )以及Anthropic(Sonnet)等,转化为“计算机使用智能体”(Computer Use Agent)的能力。 与前一版本相比,OmniParser V2在检测更微小、可交互的元素时展现出了更高
    的头像 发表于 02-18 09:31 2667次阅读

    AR和VR中的计算机视觉

    ):计算机视觉引领混合现实体验增强现实(AR)和虚拟现实(VR)正在彻底改变我们与外部世界的互动方式。即便是在引人入胜的沉浸式
    的头像 发表于 02-08 14:29 2125次阅读
    AR和VR中的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 943次阅读

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    1简介Opencv(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉,它实现了图像处理和计算机
    的头像 发表于 12-14 09:10 1262次阅读
    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV