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


机器之心报道
编辑:魔王、陈萍
本文介绍了微软开源的计算机视觉库 , 它囊括了计算机视觉领域的最佳实践、代码示例和丰富文档 。
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
近年来 , 计算机视觉领域突飞猛进 , 在人脸识别、图像理解、搜索、无人机、地图、半自动和自动驾驶方面得到广泛应用 。 而这些应用的核心部分是视觉识别任务 , 如图像分类、目标检测和图像相似度 。
在各种计算机视觉模型和应用层出不穷的当下 , 如何把握发展脉络 , 跟进领域前沿发展呢?微软创建了一个库 , 提供构建计算机视觉系统的大量示例和最佳实践指导原则 。
项目地址: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(仅源代码)的形式呈现 , 支持自定义机器学习建模 。 这个库提供的工具函数和示例旨在为现实世界的视觉问题提供解决方案加速器 。
示例
该库支持不同的计算机视觉场景 , 如基于单张图像运行 , 示例如下:
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
或基于视频序列的动作识别等场景 , 示例如下:
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
场景
该库涵盖常用的计算机视觉场景 , 包含如下类别:
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
对于每个主要场景(base) , 该项目均提供使用户高效构建自己模型的工具 。 这需要使用者完成一些任务 , 如基于自己的数据微调模型的简单任务 , 或者难例挖掘甚至模型部署等更复杂的任务 。
1. 图像分类任务
该目录提供了构建图像分类系统的示例和最佳实践 , 旨在让用户能够在自己的数据集上轻松快速地训练高准确率分类器 。
这里提供的示例 notebook 具备预置的默认参数 , 可以很好地处理多个数据集 。 该目录还提供了有关常见缺陷和最佳实践的大量文档 。
此外 , 该库还展示了如何使用微软的云计算平台 Azure , 加快在大型数据集上的训练速度或将模型部署为 web 服务 。
PyTorch实现,GitHub4000星:微软开源的CV库
本文插图
2. 图像相似度
该目录提供了构建图像相似度系统的示例和最佳实践 , 旨在使用户能够基于自己的数据集方便快捷地训练高精度模型 。
下图为图像检索示例 , 其中左图为查询图像 , 右面为与之最相似的 6 幅图像:
PyTorch实现,GitHub4000星:微软开源的CV库