【增强版 X-AnyLabeling:支持多模态图像对比标注与 YOLO 标签自动导入】

🧩 背景:为什么需要多模态标注工具?

项目地址:https://github.com/xy200303/X-AnyLabeling

在计算机视觉任务中,尤其是目标检测、语义分割、自动驾驶感知 等领域,我们常常不仅仅依赖RGB 图像,还需要结合其他模态的信息,比如:

  • 🌡️ 红外图像(Infrared)
  • 🛰️ 深度图(Depth)
  • 📡 雷达点云投影图
  • 📷 多光谱图像
  • 🧠 AI 模型生成的注意力热图、分割建议图

然而,官方 X-AnyLabeling 工具原生只支持单模态图像(通常是 RGB)的加载与标注。当你的任务需要结合多个模态进行综合判断时,比如:

"这个目标在可见光下不明显,但在红外图像中非常清晰,我希望能同时查看并对照标注"

就会变得十分不便:你可能需要在不同窗口、软件之间反复切换,手动对齐图像,严重影响标注效率和准确性。


✨ 我们的增强目标

为了解决这一痛点,我 fork 了官方 X-AnyLabeling 项目,并在其基础上开发了以下两大实用功能:


🆕 功能一:多模态图像拖动对比显示

🎯 核心能力

我们新增了一个 多模态图像对比模块,允许用户在标注界面中:

  • 同时加载原始图像 + 另一模态图像(如红外、深度图等)
  • 通过一个可拖动的滑动条,左右实时切换或对比两种模态
  • 直观地对照不同模态下的目标外观,辅助更精准的标注

🛠 实现细节

  • 支持拖动条控制两张图像的显示权重或直接切换
  • 图像对齐机制确保两张模态图像空间一致(如对齐像素、FOV 等)
  • 用户可通过 UI 拖动对比条,实时查看某一区域在不同模态下的表现
  • 支持常见格式:PNG、JPG、TIFF 等

🧠 使用场景举例

场景 说明
红外 + 可见光 夜间或低照度环境下,目标在红外中清晰可见,但在 RGB 中难以辨认
深度图 + RGB 自动驾驶中,结合深度信息辅助判断障碍物距离与形状
多光谱 农业、环保领域,通过不同波段图像识别植被、污染等

✅ 带来的优势

  • 提升标注精度:结合多模态信息,更准确地判断目标边界与类别
  • 提高效率:无需频繁切换窗口,在同一工具内完成多模态分析
  • 更智能的标注体验:为后续 AI 模型训练提供更丰富、对齐良好的数据

🆕 功能二:YOLO 标签自动导入(支持目录批量处理)

🎯 核心能力

原版 X-AnyLabeling 对 YOLO 格式的标签(通常是 labels/*.txt)支持有限,且只能逐个图像手动导入,效率极低。

我们新增了:

  • 一键批量导入 YOLO 标签功能
  • 自动扫描 labels/ 目录,根据图像文件名自动匹配对应的 .txt 标签
  • 支持 YOLO 格式(Class_id, x_center, y_center, width, height)
  • 自动转换为 X-AnyLabeling 内部使用的 JSON 标注格式
  • 支持 HBB(矩形)、SEG(分割)、OBB(旋转框) 等常见 YOLO 模式自动识别

🛠 实现细节

  • 自动递归搜索多级目录,匹配图像与标签文件
  • 智能构建文件名映射(如 img001.jpgimg001.txt
  • 提供导入进度条与结果统计(成功/失败数量)
  • 支持中断恢复与错误提示

🧠 使用场景举例

场景 说明
批量预标注数据导入 快速将已有 YOLO 格式数据集导入 X-AnyLabeling 进行可视化修正与增强标注
多人协作标注 团队统一使用 YOLO 标注格式,快速导入统一平台进行精细调整
模型预测结果回溯 将 YOLO 模型预测的标签快速加载,辅助人工校正

✅ 带来的优势

  • 节省大量重复劳动:告别逐张导入标签的繁琐操作
  • 标准化流程:与主流 YOLO 工具链无缝衔接(如 YOLOv5/YOLOv8 输出)
  • 提升数据流转效率:从模型输出 → 可视化 → 人工修正,一气呵成

🧩 技术架构简要

模块 文件/组件 功能
多模态图像显示 canvas.py 等 UI 核心模块 控制拖动条、图像叠加渲染、对比模式切换
YOLO 标签导入 upload.py 批量读取 labels/*.txt,自动转 JSON,支持多级目录
渲染优化 paintEvent 与事件处理 控制分层绘制顺序,确保标注、控件、对比图像层次清晰
用户交互 拖动条 UI、模式切换按钮 提供直观的交互方式,适配不同工作流

📦 安装与使用

1. 获取增强版代码

你可以通过以下方式获取我们的增强版 X-AnyLabeling:

2. 安装依赖

建议使用 Python 3.8+虚拟环境

bash 复制代码
python -m venv venv
.\venv\Scripts\activate  # Windows
# 或 source venv/bin/activate  # Linux/Mac
pip install -r requirements.txt
pip install pyinstaller  # 如需打包

3. 运行软件

bash 复制代码
python anylabeling/app.py

或直接启动主程序(根据项目入口调整)。

4. 使用多模态功能

  • 在菜单中选择「打开多模态图像」或类似选项
  • 加载主图像与辅助模态图像(如红外图)
  • 使用拖动条实时对比

5. 批量导入 YOLO 标签

  • 将你的图像与 labels/*.txt 放入对应目录
  • 在软件中选择「导入 YOLO 标签」或启动时自动加载
  • 标签将自动转换为软件内可编辑的格式

🎯 适用人群

  • 自动驾驶感知工程师:需要结合红外/深度等模态标注障碍物
  • AI 数据标注团队:希望提升多模态数据标注效率与一致性
  • 计算机视觉研究员:需要精细控制标注过程,结合多源信息
  • 科研机构 / 实验室:多模态数据采集与标注流程标准化

🤝 开源与未来计划

本项目为 非官方增强版 ,基于 https://github.com/xy200303/X-AnyLabeling fork 并扩展,代码开源,欢迎贡献与反馈!

未来我们计划支持:

  • 🧠 更多模态类型(如点云、雷达、多光谱融合)
  • 🤖 与 YOLOv8 / Segment Anything 模型深度集成
  • 🌐 多人协作标注与版本管理
  • 📊 标注质量评估与自动化辅助

📌 总结

功能 说明 价值
✅ 多模态图像拖动对比 同屏加载并对比不同模态图像,支持拖动控制 提升多模态标注精度与效率
✅ YOLO 标签批量导入 自动扫描并转换 labels/*.txt 为软件内格式 大幅节省数据预处理时间
🧩 易于使用 & 扩展 基于成熟 X-AnyLabeling 架构,UI 友好,模块清晰 易上手,方便二次开发

相关推荐
沙蒿同学8 分钟前
我把架构约定编译成了会变红的测试:Wails v2 + Go + Vue3 桌面脚手架实战
前端·后端·github
TAN-90°-22 分钟前
Deep Learning for Computer Vision——Generative Models 2
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉
落魄大学生之流水线上谋生计1 小时前
幻境相机 Mirage Camera
github
YOLO数据集集合1 小时前
光伏板红外-可见光配对缺陷检测数据集 | 光伏板缺陷 红外可见光配准 多模态检测 无人机巡检 目标检测 YOLO格式9094期
人工智能·目标检测·计算机视觉·目标跟踪·红外·无人机视角·太阳能板
wangruofeng1 小时前
从一个 10 万星 AI Agent 项目里,能学到什么真正的软件工程
github·agent·ai编程
子林super1 小时前
复杂JSON Schema结构与输出校验
github
子林super2 小时前
结构化输出解析失败处理策略
github
怕浪猫2 小时前
拆解 Google《AI Agent Handbook》:企业级 Agent 的六层架构与产品矩阵
面试·github·agent
kali-Myon3 小时前
分享一个网络安全 AI 工具导航项目 SecSkills
安全·ai·github·ctf
YOLO_DATA3 小时前
无人机高速公路道路缺陷数据集 道路损伤数据集 公路裂缝识别 AI大疆数据集 10798期
人工智能·深度学习·yolo·机器学习·cnn