Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
活动

借助 Hugging Face 的开源工具推动计算机视觉项目

和我们一起回顾 YOLO Vision 2024 的主题演讲,了解 Hugging Face 的开源工具如何推动 AI 开发。

Abirami VinaAbirami Vina7 分钟阅读
借助 Hugging Face 开源工具推动计算机视觉项目

选择合适的算法只是构建高影响力计算机视觉解决方案的一部分。AI 工程师通常需要处理大型数据集、针对特定任务微调模型,并优化 AI 系统在真实场景中的性能。随着 AI 应用加速普及,简化这些流程的工具也越来越不可或缺。

在 YOLO Vision 2024 (YV24) 上,AI 专家和科技爱好者齐聚一堂,探索计算机视觉领域的最新创新。这场由 Ultralytics 主办的年度混合式活动引发了围绕多个主题的讨论,例如加快 AI 应用开发的方法。

活动的一大亮点是关于 Hugging Face 的主题演讲。Hugging Face 是一个开源 AI 平台,可简化模型训练、优化和部署。Hugging Face 的机器学习工程师 Pavel Iakubovskii 分享了其工具如何改进计算机视觉任务的工作流程,例如检测图像中的物体、将图像归入不同类别,以及无需针对特定示例进行预训练就能做出预测(零样本学习)。

Hugging Face Hub 托管并提供多种 AI 和计算机视觉模型,例如 Ultralytics YOLO11。在本文中,我们将回顾 Pavel 的演讲要点,并了解开发者如何使用 Hugging Face 的开源工具快速构建和部署 AI 模型。

Pavel 在 YV24 舞台上

图 1. Pavel 在 YV24 舞台上。

Hugging Face Hub 助力加快 AI 开发#

Pavel 在演讲开篇介绍了 Hugging Face:这是一个开源 AI 平台,提供适用于各种应用的预训练模型。这些模型面向 AI 的多个分支,包括自然语言处理 (NLP)、计算机视觉和多模态 AI,让系统能够处理文本、图像和音频等不同类型的数据。

Pavel 提到,Hugging Face Hub 现在托管着超过 100 万个模型,开发者可以轻松找到适合特定项目的模型。Hugging Face 致力于通过提供模型训练、微调和部署工具来简化 AI 开发。开发者能够试用不同模型后,将更容易把 AI 集成到实际应用中。

Hugging Face 最初以 NLP 闻名,后来业务扩展到了计算机视觉和多模态 AI,使开发者能够处理更广泛的 AI 任务。它还拥有活跃的社区,开发者可以通过论坛、Discord 和 GitHub 开展协作、分享见解并获取支持。

探索适用于计算机视觉应用的 Hugging Face 模型#

Pavel 进一步详细介绍了 Hugging Face 的工具如何让计算机视觉应用开发变得更容易。开发者可以使用这些工具完成图像分类、目标检测和视觉语言应用等任务。

他还指出,许多计算机视觉任务都可以使用 Hugging Face Hub 上的预训练模型来完成,从而减少从头开始训练的需求并节省时间。事实上,Hugging Face 提供了超过 13,000 个用于图像分类的预训练模型,包括食品分类、宠物分类和情绪检测模型。

为了强调这些模型的易用性,他说:“你可能根本不需要为项目训练模型——你或许能在 Hub 上找到一个已经由社区成员训练好的模型。”

用于目标检测的 Hugging Face 模型#

再举一个例子,Pavel 详细介绍了 Hugging Face 如何助力目标检测。目标检测是计算机视觉的一项关键功能,用于识别图像中的物体并确定其位置。即使标注数据有限,Hugging Face Hub 上的预训练模型也能让目标检测更加高效。

他还简要介绍了几种为这项任务构建的模型,你可以在 Hugging Face 上找到它们:

  • 实时目标检测模型:对于速度至关重要的动态环境,实时检测 Transformer(RT-DETR)等模型能够实现实时目标检测。RT-DETR 使用 COCO 数据集进行训练,并专为高效处理多尺度特征而设计,因此适用于对时效性要求高的应用。
  • 视觉语言模型:这些模型结合了图像和文本处理,使 AI 系统能够将图像与描述相匹配,或识别训练数据之外的物体。例如,CLIP 和 SigLIP 通过将文本与视觉内容关联起来改进图像搜索,并使 AI 解决方案能够理解语境、识别新物体。
  • 零样本目标检测模型:它们能够理解图像与文本之间的关系,从而识别以前未见过的物体。例如 OWL-ViT、Grounding DINO 和 OmDet,它们利用零样本学习,无需标注训练数据即可检测新物体。Ultralytics VLM Leaderboard 会在真实世界检测数据集上比较这类开放词汇检测器。

如何使用 Hugging Face 模型#

接着,Pavel 将重点转向亲自使用 Hugging Face 模型,并介绍了开发者利用这些模型的三种方式:探索模型、快速测试模型,以及进一步定制模型。

他演示了开发者如何直接在 Hugging Face Hub 上浏览模型,无需编写任何代码,并通过交互式界面轻松即时测试模型。Pavel 补充道:“你无需编写哪怕一行代码,也不用把模型下载到电脑上,就能试用它。”由于有些模型体积较大,在 Hub 上运行模型有助于避免存储和处理能力方面的限制。

如何使用 Hugging Face 模型

图 2. 如何使用 Hugging Face 模型。

此外,Hugging Face Inference API 让开发者能够通过简单的 API 调用运行 AI 模型。它非常适合快速测试、概念验证项目和快速原型开发,无需复杂的配置。

对于更高级的用例,开发者可以使用 Hugging Face Transformers 框架。这是一款开源工具,提供用于文本、视觉和音频任务的预训练模型,同时支持 PyTorch 和 TensorFlow。Pavel 解释说,开发者只需两行代码,就能从 Hugging Face Hub 获取模型,并将其连接到预处理工具(例如图像处理器),以分析视觉 AI 应用中的图像数据。

使用 Hugging Face 优化 AI 工作流#

接下来,Pavel 解释了 Hugging Face 如何简化 AI 工作流。他讨论的一个关键主题是优化 Transformers 中的注意力机制。注意力机制是深度学习模型的核心功能,可以帮助模型聚焦于输入数据中最相关的部分。这能提高语言处理和计算机视觉任务的准确率。不过,这一过程可能非常耗费资源。

优化注意力机制可以显著降低内存用量,同时提升速度。Pavel 指出:“例如,改用效率更高的注意力实现,性能最高可提升 1.8 倍。”

Hugging Face 在 Transformers 框架中内置了对更高效注意力实现的支持。开发者只需在加载模型时指定另一种注意力实现,就能启用这些优化。

Optimum 和 Torch Compile#

他还谈到了量化,这种技术通过降低模型所用数字的精度来缩小 AI 模型,同时尽量不影响准确率。这有助于模型减少内存占用并加快运行速度,使其更适合智能手机和嵌入式系统等处理能力有限的设备。

为了进一步提高效率,Pavel 介绍了 Hugging Face Optimum 库。这套工具旨在优化和部署模型。开发者只需几行代码,就能应用量化技术并将模型转换为高效格式,例如开放神经网络交换(ONNX),使模型能够在云服务器和边缘设备等不同类型的硬件上流畅运行。

Pavel 介绍 Optimum 库及其功能

图 3. Pavel 介绍了 Optimum 库及其功能。

最后,Pavel 提到了 Torch Compile 的优势。Torch Compile 是 PyTorch 中的一项功能,可优化 AI 模型处理数据的方式,让模型运行得更快、更高效。Hugging Face 将 Torch Compile 集成到 Transformers 和 Optimum 库中,让开发者只需进行少量代码更改,就能享受这些性能提升。

通过优化模型的计算结构,Torch Compile 可以加快推理速度,并将帧率从每秒 29 帧提升到每秒 150 帧,同时不影响准确性或质量。

使用 Hugging Face 工具部署模型#

随后,Pavel 简要介绍了开发者在选定合适的模型并确定最佳开发方案后,如何使用 Hugging Face 工具扩展和部署 Vision AI 模型。

例如,开发者可以使用 Gradio 和 Streamlit 部署交互式 AI 应用。Gradio 让开发者能够为机器学习模型创建基于 Web 的界面,而 Streamlit 则可以通过简单的 Python 脚本构建交互式数据应用。

Pavel 还指出:“你不必从头开始编写所有内容。”他指的是 Hugging Face 提供的指南、训练笔记本和示例脚本。这些资源能帮助开发者快速上手,无需从零开始构建所有内容。

Pavel 在 YV24 上介绍 Hugging Face 的功能

图 4. Pavel 在 YV24 上介绍 Hugging Face 的功能。

Hugging Face Hub 的优势#

在主题演讲接近尾声时,Pavel 总结了使用 Hugging Face Hub 的优势。他强调,Hugging Face Hub 简化了模型管理与协作。他还特别提到,平台提供的指南、笔记本和教程可以帮助初学者和专家理解并实现 AI 模型。

“Hub 上已经有很多很棒的 Spaces。你可以找到类似的项目,克隆共享的代码,修改几行,把模型换成自己的,然后再推送回去。”他这样介绍,并鼓励开发者充分利用这个平台的灵活性。

要点#

在 YV24 的演讲中,Pavel 分享了 Hugging Face 如何提供支持 AI 模型训练、优化和部署的工具。例如,Transformers、Optimum 和 Torch Compile 等创新工具可以帮助开发者提升模型性能。

随着 AI 模型变得更加高效,量化技术和边缘部署方面的进步让模型更容易在资源有限的设备上运行。将这些改进与 Hugging Face 等工具以及 Ultralytics YOLO11 等先进的计算机视觉模型相结合,是构建可扩展、高性能 Vision AI 应用的关键。

加入我们不断壮大的社区!访问我们的 GitHub 仓库,了解 AI;查看我们的 YOLO 许可证,开启 Vision AI 项目。想了解医疗保健领域的计算机视觉或农业领域的计算机视觉等创新应用吗?访问我们的解决方案页面,了解更多信息!

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来