计算机视觉和AI模型的10大免费来源
AI 社区慷慨地分享代码、模型架构,甚至是在大型数据集上训练的模型。我们站在巨人的肩膀上,这就是行业如此广泛采用人工智能的原因。
当我们开始一个计算机视觉项目时,我们首先会找到部分解决我们问题的模型。
假设您要构建一个在受限区域寻找人员的安全应用程序。首先,检查一个公开可用的行人检测模型是否适合您开箱即用。如果是这样,您不需要训练新模型。如果没有,尝试公开可用的模型将使您了解选择哪种架构进行微调或迁移学习。
今天,我们将分享有关计算机视觉、机器学习和 AI 模型的免费资源。
1. Papers With Code
来源:paperwithcode.com/static/logo.png
Papers With Code的使命是创建一个包含机器学习论文、代码、数据集、方法和评估表的免费开放资源。
该平台定期更新计算机视觉和人工智能其他子领域的最新论文和资源。
1.1 使用过滤器缩小搜索结果
凭借包含数百篇研究论文和代码实现的广泛机器学习任务目录,您将有大量信息可供筛选,但平台上提供的周到过滤功能可以提供帮助。
1.2 示例
资料来源:paperwithcode.com/task/object-detection
对于特定任务,可以查看在该任务的流行基准测试中表现最佳的所有最先进的模型。此外,您可以选择以星星形式从社区收到的赞成票数量来查看提交的内容。
1.3 数据集
除此之外,Papers with Code 还在一个位置提供了一系列流行的公共数据集。
资料来源:paperwithcode.com/datasets
使用 Papers With Code,可以比较大量解决方案以找到可能适合您的解决方案。
2. ModelZoo.co
资料来源:modelzoo.co
Model Zoo由 Google 的研究工程师 Jing Yu Koh 创建,并为深度学习研究人员提供了一个平台,可以快速找到适用于各种平台和任务的预训练模型。
该站点会定期更新,并提供过滤功能,以根据您计划使用的机器学习框架或手头任务的类别找到合适的模型。
3. OpenVINO
来源:docs.openvino.ai/latest/_static/images/ov_chart.png
适用于OpenVINO?,工具包Open Model Zoo提供了各种免费、高度优化的预训练深度学习模型,这些模型在英特尔 CPU、GPU 和 VPU 上运行速度极快。
该存储库包含200 多个用于任务的神经网络模型,包括对象检测、分类、图像分割、手写识别、文本到语音、姿势估计等。
Open Model Zoo 还包含大量演示应用程序以及运行它们的说明。您可以使用这些应用程序作为模板来构建您的应用程序。
您还可以使用模型分析器来获得对模型的更多见解,例如内存消耗、稀疏性、Gflop 等。请记住,模型分析器仅适用于中间表示 (IR)格式的模型。
如果您刚开始使用 OpenVino Toolkit,可能值得查看openvinotoolkit/openvino_notebooks 存储库。它包含可立即运行的 jupyter 笔记本,可帮助您快速了解如何使用动物园中可用的 OpenVino 工具包和模型。
来源:github.com/openvinotoolkit/openvino_notebooks
4.TensorFlow model garden
来源:camo.githubusercontent.com
TensorFlow 是机器学习的端到端开源平台,可以说是最流行的机器学习框架。
TensorFlow 模型是一个包含许多最先进 (SOTA) 模型的存储库。
官方模型:此集合中的模型使用最新的 TensorFlow API 进行维护、测试并保持更新。
研究者模型:此集合中的模型可能使用 Tensorflow 1 或 2,并由研究人员维护。
社区模型:这是社区维护的模型链接的集合。
此存储库的目的是通过在提供的默认配置、数据集和微调可用模型检查点的基础上为您提供训练自己的模型的构建块。
TensorFlow 用户可以利用提供的模型并将它们视为参考来训练他们的模型或从可用的检查点微调模型。
5. TensorFlow hub
资料来源:gstatic.com/aihub/tfhub/tensorflow_hub_logo_fullcolor
从图像分类、文本嵌入、音频和视频动作识别,TensorFlow Hub是一个空间,您可以在其中浏览来自 TensorFlow 生态系统的训练模型和数据集。
与 TensorFlow Model Garden 不同,TensorFlow Hub 上可用的模型是即用型的,旨在用作具有设定输入和输出的黑匣子。
可用模型的常见格式是 SavedModel、TFLite 或 TF.js 格式,可以直接在其可用tensorflow_hub 库中的代码中实现。它允许以最少的代码在你的 TensorFlow 程序中下载和使用来自 TensorFlow Hub 的可用模型。
6. MediaPipe
资料来源:mediapipe.dev/assets/img/brand
MediaPipe 是由谷歌研究人员开发的开源、跨平台机器学习框架。它提供可定制的 ML 解决方案。
尽管 Mediapipe 项目仍处于 Alpha 阶段,但它的解决方案已经部署在我们使用的许多日常应用程序中。Google 的动态静止图像和 Youtube 的隐私模糊功能就是这样的例子。
除了轻量级和极快的性能之外,MediaPipe 还支持跨平台兼容性。我们的想法是构建一次 ML 模型,然后将其部署在不同的平台和设备上,并获得可重复的结果。
它支持 Python、C、Javascript、Android 和 IOS 平台。
Medipipe Models 集合为不同的任务提供了现成的感知模型,
来源:google.github.io/mediapipe/
最流行的解决方案是人脸网格(人脸标志模型)、姿势检测、头发分割、KNIFT(特征匹配)等。
来源:drive.google.com/file/d/1tV7EJb3XgMS7FwOErTgLU1ZocYyNmwlf/preview
为每个可用模型提供模型卡,其中包含有关该模型的所有详细信息。
Mediapipe 还提供了一个在线可用的模型可视化工具,有助于了解其机器学习推理管道的整体行为。下面是可用的人脸检测模型的图结构
有关Mediapipe的相关技术代码实现可以参考如下文章:
利用机器学习,进行人体33个2D姿态检测与评估利用机器学习,进行人手的21个3D手关节坐标检测利用机器学习进行人脸468点的3D坐标检测,并生成3D模型MediaPipe集成人脸识别,人体姿态评估,人手检测模型
mediapipe技术文章
MediaPipe 人脸检测图 来源:viz.mediapipe.dev/demo/face_detection
凭借其提供的快速性能和硬件兼容性,Mediapipe 非常适合大多数实时视觉解决方案。
7 CoreML 模型
来源:github.com/likedan/Awesome-CoreML-Models/raw/master/images/coreml.png
Apple 的 CoreML 库允许 iOS、macOS、tvOS 或 watchOS 开发人员创建利用 AI 力量的有趣且令人兴奋的应用程序。它自 iOS 11 以来就已经存在,并以某种形式并入许多即将推出的应用程序中。
来源:github.com/likedan/Awesome-CoreML-Models
Awesome-CoreML-Models 存储库包含 Apple 的 CoreML 库支持的机器学习模型集合。这些模型以 CoreML 格式提供,不需要在基于 CoreML 的应用程序中进行后处理或转换。
资料来源:docs-assets.developer.apple.com/published/cc3b628bee/rendered2x-1638462885.png
除了可用的模型,模型格式的数量可以转换为 coreML 格式。支持的格式包括 Tensorflow、Caffe、Keras、XGBoost、Scikit-learn、MXNet、LibSVM、Torch7 等。
8. nvidia AI Jetson
资料来源:nvidia.com/en-in/autonomous-machines/embedded-systems/
Jetson 是 Nvidia 的嵌入式计算板,是嵌入式平台社区部署 AI 应用程序的热门选择。Jetson 可以运行各种高级网络,包括 TensorFlow、PyTorch、Caffe/Caffe2、Keras、MXNet 等流行 ML 框架的完整原生版本。
Jetson Model Zoo包含各种 DNN 模型,用于在支持TensorRT的 Nvidia Jetson 上进行推理。它包括指向带有模型的代码示例和模型的原始来源的链接。
来源:elinux.org/Jetson_ZooModel_Zoo
模型还提供了与其他流行的嵌入式开发板(如 Raspberry Pi、英特尔神经计算棒和 Google Edge TPU 开发板)相比,在 Nvidia Jetson 上测试的不同模型的推理基准。
Nvidia Jetson 基准比较 资料来源:developer.nvidia.com/embedded/jetson-nano-dl-inference-benchmarks
考虑到 Jetson 是最强大的嵌入式平台之一,Jetson Model Zoo 是部署任何嵌入式应用程序的好资源
9 PINTO MODEL ZOO
来源:user-images.githubusercontent.com/33194443/104581604-2592cb00-56a2-11eb-9610-5eaa0afb6e1f.png
PINTO模型动物园由程序员和英特尔软件创新计划成员 Katsuya Hyodo 创建。它是一个共享 Tensorflow 生成的训练模型的调优结果的存储库。
来源:drive.google.com/file/d/1qpGnsizlYr_a5HEiBye8HQRpNwvO43Dd/view ?usp=sharing
Zoo 包含大量 252 个优化模型,涵盖广泛的机器学习领域。
提供的模型已经使用各种技术进行了优化,例如训练后量化(权重量化、整数量化、全整数量化、Float16 量化)和量化感知训练。
来源:github.com/PINTO0309/PINTO_model_zoo
模型可用于许多不同的平台,例如 TensorFlow Lite、OpenVINO、CoreML、TensorFlow.js、TF-TRT、MediaPipe、ONNX。如果您想要流行 ML 模型的优化版本,Pinto Model Zoo 是首选资源。
10. ONNX MODEL ZOO
来源:github.com/onnx/models/blob/master/resource/images/ONNX_logo_main.png
ONNX模型是 ONNX 格式的预训练、最先进模型的集合
开放神经网络交换 (ONNX) 是一种开放标准格式,用于表示由社区成员贡献的机器学习模型。它提供了互操作性的好处,并使您能够将首选框架与您选择的推理引擎一起使用。
它包含不同领域中许多不同任务的模型:
视觉
图像分类
目标检测和图像分割
身体、面部和手势分析
图像处理
语言
机器理解
机器翻译
语言建模
来源:github.com/onnx/models/blob/master/resource/images/ONNX_logo_main.png
每个模型都附带 Jupyter ,用于模型训练和使用经过训练的模型运行推理。这些是用 Python 编写的,包括指向训练数据集的链接以及对描述模型架构的原始论文的引用。
11. BO NUS:Modelplace.AI
Modelplace.AI是机器学习模型的市场,也是社区分享其定制训练模型的平台。它拥有越来越多的用于各种计算机视觉任务的模型,包括分类、对象检测、姿势估计、分割或文本检测。
Modelplace.AI
来源:modelplace.ai/models
Web 界面无需下载即可试用模型
将 Modelplace.AI 与其他模型存储库区分开来的一个重要因素是,您可以使用他们的 Web 界面自定义图像来试用您喜欢的模型。您还可以在标准基准上比较执行类似任务的模型。
Modelplace AI 比较模型 图片网址:learnopencv.com/wp-content/uploads/2021/10/demo-1.gif
Modelplace.AI 提供了一个方便的云 API,您可以在桌面、移动或边缘应用程序中使用。
或者,您可以根据要部署的平台选择下载该模型的优化版本。对于 Python 环境,他们将模型打包为 Python Wheel 文件,因此您只需几行代码即可快速启动并运行模型