fiftyone

GitHub
10.6k 740 简单 1 次阅读 昨天Apache-2.0数据工具其他开发框架图像
AI 解读 由 AI 自动生成,仅供参考

FiftyOne 是一款专为计算机视觉领域打造的开源工具,旨在帮助开发者高效构建高质量数据集并优化视觉 AI 模型。在传统的 AI 开发流程中,数据清洗、标注验证以及模型错误分析往往繁琐且难以直观呈现,FiftyOne 正是为了解决这一痛点而生。它提供了强大的可视化界面,让用户能够轻松浏览图像和视频数据,快速发现标注错误或数据分布不均的问题,从而显著提升数据质量。

同时,FiftyOne 支持对模型预测结果进行深度评估,帮助用户直观对比不同模型的表现,精准定位失败案例,加速迭代过程。无论是正在探索算法的科研人员、需要处理大规模数据的工程师,还是致力于提升产品性能的 AI 团队,都能从中受益。其独特的技术亮点在于灵活的插件架构和对多种主流深度学习框架的无缝集成,配合简洁的 Python API 和交互式应用界面,让复杂的数据分析工作变得简单直观。只需一行命令即可安装使用,FiftyOne 让视觉 AI 的开发流程更加透明、高效且协作友好。

使用场景

某自动驾驶初创公司的算法团队正在迭代一个交通标志识别模型,急需从十万级未标注图像中清洗数据并分析模型误判原因。

没有 fiftyone 时

  • 工程师只能编写繁琐的脚本随机抽样查看图片,难以直观发现数据集中存在的标签错误或类别分布不均问题。
  • 分析模型失败案例时,需在终端日志、代码断点和图片文件夹间反复切换,无法将预测置信度与具体图像特征关联起来。
  • 团队协作效率低下,发现的数据问题(如“雨天场景漏检”)仅能口头描述,缺乏可视化的证据链来指导重新标注。
  • 数据版本管理混乱,每次清洗后的数据集状态难以回溯,导致模型效果波动时无法定位是数据变更还是代码调整所致。

使用 fiftyone 后

  • 利用交互式仪表盘一键可视化全量数据分布,通过过滤功能迅速定位并修正了数千张错标和模糊的交通标志图片。
  • 直接在界面中按置信度排序查看误检样本,将模型预测框与原图叠加显示,瞬间锁定“夜间反光”这一核心干扰因素。
  • 创建共享的数据视图链接,团队成员可共同在界面上标记待重训样本,将“雨天优化”的需求转化为具体的图像子集。
  • 内置数据集版本控制功能,清晰记录每次筛选和标注的历史快照,确保模型迭代过程中的数据变更完全可追溯。

fiftyone 通过将枯燥的数据文件转化为可交互的视觉工作流,让团队从盲目的“试错训练”转变为精准的“数据驱动优化”。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes强烈建议在虚拟环境(virtualenv)中安装。若从源码安装以构建 App 界面,需额外安装 Node.js 和 Yarn。Linux 用户建议使用 nvm 管理 Node.js 版本。处理视频数据需安装 FFmpeg。开发者可配置连接自建的 MongoDB 实例。Windows 用户请勿使用 Microsoft Store 版本的 Python,并建议安装时取消 PATH 长度限制。
python3.9 - 3.12
Node.js
Yarn
MongoDB (可选,推荐自管理)
FFmpeg (处理视频数据集时必需)
libgl1-mesa-dev (Linux)
libcurl
openssl
build-essential (Linux)
Xcode Command Line Tools (macOS)
Microsoft Visual C++ Redistributable (Windows)
fiftyone hero image

快速开始

 

用于构建高质量数据集和计算机视觉模型的开源工具


官网文档立即试用入门指南教程博客社区

PyPI python PyPI版本 下载量 Docker拉取次数 许可证

Discord Hugging Face Voxel51博客 新闻邮件 LinkedIn Twitter Medium

👋 你好!

我们创建了 FiftyOne,旨在通过帮助您可视化和标注数据、评估模型,并以比以往更高效的方式最大化数据与模型质量,从而为您的视觉 AI 开发注入强大动力 🤝

如果您希望扩展到生产级、协作式、云原生的企业级工作负载,请查看 FiftyOne Enterprise 🚀

  安装   💻

简单如:

pip install fiftyone
更多详情

安装选项

FiftyOne 支持 Python 3.9 - 3.12。

对于大多数用户,我们建议通过 pip 安装上述所示的最新稳定版 FiftyOne。

如果您想参与 FiftyOne 的开发或安装最新的开发版本,也可以进行 源码安装

有关特定于系统的设置信息,请参阅 先决条件部分

我们强烈建议您在 虚拟环境 中安装 FiftyOne,以保持工作空间的整洁。

请参阅 安装指南 以获取故障排除信息以及关于如何快速上手 FiftyOne 的其他内容。

从源码安装

源码安装

请按照以下步骤从源码安装 FiftyOne 并构建应用程序。

您需要安装以下工具:

  • Python (3.9 - 3.12)
  • Node.js - 在 Linux 上,我们建议使用 nvm 来安装最新版本。
  • Yarn - 在安装 Node.js 后,您可以使用 corepack enable 来启用 Yarn。

我们强烈建议您在 虚拟环境 中安装 FiftyOne,以保持工作空间的整洁。

如果您正在 Google Colab 中工作, 请跳转到这里

首先,克隆仓库:

git clone https://github.com/voxel51/fiftyone
cd fiftyone

然后运行安装脚本:

# Mac 或 Linux
bash install.sh

# Windows
.\install.bat

如果在导入 FiftyOne 时遇到问题,您可能需要将克隆的仓库路径添加到您的 PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/path/to/fiftyone

请注意,安装脚本会修改您的 ~/.bashrc~/.bash_profile 中的 nvm 设置,这是安装和构建应用程序所必需的。

升级源码安装

要将现有的源码安装升级到最新版本,只需拉取最新的 develop 分支并重新运行安装脚本:

git checkout develop
git pull

# Mac 或 Linux
bash install.sh

# Windows
.\install.bat

重新构建应用程序

当您拉取应用程序的新更改时,您需要重新构建它,可以通过重新运行安装脚本或直接在 ./app 目录下运行 yarn build 来完成。

开发者安装

如果您想 参与 FiftyOne 的开发, 应使用安装脚本的 -d 标志进行开发者安装:

# Mac 或 Linux
bash install.sh -d

# Windows
.\install.bat -d

虽然不是强制性的,但开发者通常更倾向于配置他们的 FiftyOne 安装,使其连接到自行安装和管理的 MongoDB 实例,您可以按照 这些简单的步骤 来完成。

在 Google Colab 中的源码安装

您可以在 Google Colab 中通过在单元格中运行以下命令,然后 重启运行时 来从源码安装:

%%shell

git clone --depth 1 https://github.com/voxel51/fiftyone.git
cd fiftyone

# Mac 或 Linux
bash install.sh

# Windows
.\install.bat

生成文档

有关构建和贡献文档的信息,请参阅 文档指南

卸载

您可以按如下方式卸载 FiftyOne:

pip uninstall fiftyone fiftyone-brain fiftyone-db
初学者的先决条件

系统特定设置

安装 FiftyOne 之前,请按照您操作系统或环境的说明进行 基本系统设置。

如果您是一位经验丰富的开发者,您很可能已经完成了这些步骤。

Linux

1. 安装 Python 和其他依赖项

以下步骤适用于全新安装的 Ubuntu Desktop 24.04,并且也适用于 Ubuntu 24.04、22.04 以及 Ubuntu Server:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-venv python3-dev build-essential git-all libgl1-mesa-dev
  • 在 Linux 上,您至少需要 openssllibcurl 包。
  • 在基于 Debian 的发行版上,您需要根据发行版的版本安装 libcurl4libcurl3,而不是 libcurl
# Ubuntu
sudo apt install libcurl4 openssl

# Fedora
sudo dnf install libcurl openssl

2. 创建并激活虚拟环境

python3 -m venv fiftyone_env
source fiftyone_env/bin/activate

3. 安装 FFmpeg(可选)

如果您计划处理视频数据集,您需要安装 FFmpeg

sudo apt-get install ffmpeg
MacOS

1. 安装 Xcode 命令行工具

xcode-select --install

2. 安装 Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

运行上述命令后,请按照终端中的提示完成 Homebrew 的安装。

3. 安装 Python

brew install python@3.9
brew install protobuf

4. 创建并激活虚拟环境

python3 -m venv fiftyone_env
source fiftyone_env/bin/activate

5. 安装 FFmpeg(可选)

如果您计划处理视频数据集,您需要安装 FFmpeg

brew install ffmpeg
Windows

1. 安装 Python

⚠️ 不建议使用 Microsoft Store 中提供的 Python 版本 ⚠️

请从 python.org 下载 Python 3.9 至 3.12 的安装程序。 确保选择 64 位版本。例如,您可以下载 Python 3.10.11 安装程序

双击安装程序并按照提示操作。

  • 请勾选将 Python 添加到系统 PATH 的选项。
  • 在安装结束时,有一个选项可以禁用 PATH 长度限制,建议您启用该选项。

2. 安装 Microsoft Visual C++

下载 Microsoft Visual C++ Redistributable。 双击安装程序并按照提示完成安装。

3. 安装 Git

此链接 下载 Git。双击安装程序并按照提示完成安装。

4. 创建并激活虚拟环境

  • 按下 Win + R,输入 cmd 并按回车键。或者,在开始菜单中搜索 “命令提示符”。
  • 导航到您的项目目录:cd C:\path\to\your\project
  • 创建虚拟环境:python -m venv fiftyone_env
  • 激活虚拟环境:在命令提示符窗口中输入 fiftyone_env\Scripts\activate
  • 激活后,您的命令提示符应发生变化,并显示虚拟环境名称: (fiftyone_env) C:\path\to\your\project

5. 安装 FFmpeg(可选)

如果您计划处理视频数据集,您需要安装 FFmpeg

此处 下载 FFmpeg 二进制文件, 并将 FFmpeg 的路径(例如 C:\ffmpeg\bin)添加到您的 PATH 环境变量中。

Docker

请参考 这些说明 了解如何构建和运行包含 FiftyOne 发布版或源代码构建的 Docker 镜像。

  快速入门   🚀

通过打开 Python shell 并运行下面的代码片段,您可以立即开始使用 FiftyOne。 这段代码会下载一个 小型数据集 ,并启动 FiftyOne 应用程序 以便您探索数据集:

import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
session = fo.launch_app(dataset)

然后,您可以查看 this Colab 笔记本 ,了解在 quickstart 数据集上的一些常见工作流程。

请注意,如果您在脚本中运行上述代码,必须加入 session.wait(), 以阻塞执行直到您关闭应用程序。更多信息请参阅 this页面

  核心功能   🔑

  • 原生标注: 您可以直接在应用中创建和编辑 2D 和 3D 标注,也可以与您喜爱的标注工具集成;随后在同一平台上完成数据精选、质量保证及迭代优化。

https://github.com/user-attachments/assets/b06bcdac-d64f-4465-8668-12007dc0eeaa

https://github.com/user-attachments/assets/9dc2db88-967d-43fa-bda0-85e4d5ab6a7a

https://github.com/user-attachments/assets/246faeb7-dcab-4e01-9357-e50f6b106da7

https://github.com/user-attachments/assets/8c32d6c4-51e7-4fea-9a3c-2ffd9690f5d6

https://github.com/user-attachments/assets/24fa1960-c2dd-46ae-ae5f-d58b3b84cfe4

https://github.com/user-attachments/assets/de5f25e1-a967-4362-9e04-616449e745e5

https://github.com/user-attachments/assets/c7ed496d-0cf7-45d6-9853-e349f1abd6f8

  文档   🪪

请参阅以下资源,快速上手 FiftyOne:

入门指南 教程 示例代码 用户指南 示例项目 API 参考 CLI 参考

完整文档请访问 fiftyone.ai

  FiftyOne Enterprise   🏎️

希望在云端安全协作处理数十亿条样本,并连接您的计算资源以自动化工作流吗?请了解 FiftyOne Enterprise

  常见问题与故障排除   ⛓️‍💥

如遇安装问题,请参考我们的 常见问题解答 页面。若仍无法解决,可查阅 FAQ 页面获取更多答案。

如果您遇到上述资源未能解决的问题,欢迎在 GitHub 上提交问题,或通过 Discord 联系我们。

  加入我们的社区   🤝

通过您喜欢的方式与我们保持联系:

Discord Hugging Face 邮件列表 LinkedIn Medium

🎊 请在社交媒体上分享 FiftyOne 如何助力您的视觉 AI 项目,并@Voxel51 和 #FiftyOne 标记我们 🎊

  贡献者   🧡

FiftyOne 和 FiftyOne Brain 都是开源项目,我们非常欢迎社区的贡献!请查看贡献指南,了解如何参与其中。

特别感谢以下各位为 FiftyOne 做出贡献的优秀开发者!

  引用   📖

如果您在研究中使用了 FiftyOne,请随时引用该项目(当然,前提是您真的喜欢它 😊):

@article{moore2020fiftyone,
  title={FiftyOne},
  author={Moore, B. E. and Corso, J. J.},
  journal={GitHub. Note: https://github.com/voxel51/fiftyone},
  year={2020}
}

版本历史

v1.14.12026/04/06
v1.14.02026/04/02
v1.13.52026/03/23
v1.13.42026/03/09
v1.13.32026/03/03
v1.13.22026/02/20
v1.13.12026/02/18
v1.13.02026/02/12
v1.12.02026/02/04
v1.11.12026/01/14
db-v0.4.52026/01/05
db-v1.4.12025/12/30
v1.11.02025/12/05
db-v1.4.02025/11/07
v1.10.02025/10/31
v1.9.02025/10/20
v1.8.12025/09/25
v1.8.02025/09/04
v1.7.22025/08/05
v1.7.12025/07/21

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|6天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架