Skip to content

Latest commit

 

History

History
116 lines (96 loc) · 4.05 KB

File metadata and controls

116 lines (96 loc) · 4.05 KB

AIlable - 图像标注应用功能总结

项目概述

AIlable是一个基于Avalonia UI和.NET 9.0开发的跨平台图像标注应用程序,具备AI辅助标注功能。

主要功能模块

1. 核心标注功能 ✅

  • 标注工具
    • 选择工具:选择和编辑现有标注
    • 矩形工具:绘制矩形边界框
    • 圆形工具:绘制圆形标注
    • 多边形工具:绘制多边形区域标注
    • 线条工具:绘制线段标注
    • 点工具:标记关键点
  • 标注属性:标签、颜色、线宽、可见性等可配置属性
  • 实时预览:绘制过程中实时显示标注形状

2. 图像处理功能 ✅

  • 图像加载:支持主流图像格式(JPG、PNG、BMP、GIF、TIFF、WebP等)
  • 图像显示:带缩放、平移的图像画布
  • 缓存优化:图像和尺寸信息缓存,提升加载性能
  • 批量处理:支持项目中多图像管理

3. 项目管理功能 ✅

  • 项目创建:新建标注项目
  • 项目保存/加载:以.ailproj格式保存和加载项目
  • 图像管理:添加、移除项目中的图像
  • 项目浏览器:左侧面板显示项目结构和图像列表

4. 导出功能 ✅

  • 多格式支持
    • COCO格式:适用于目标检测和实例分割
    • VOC格式:Pascal VOC XML格式
    • YOLO格式:YOLO训练数据格式
    • JSON格式:通用JSON标注格式
  • 批量导出:一键导出整个项目的标注数据

5. AI模型集成 ✅

  • 模型管理
    • 支持ONNX格式AI模型
    • 模型配置对话框
    • 支持YOLO系列目标检测模型
  • AI推理功能
    • 单图像推理
    • 批量推理
    • 可配置置信度阈值
    • 推理结果自动转换为标注

6. 用户体验优化 ✅

  • 性能监控:内置性能监控服务,跟踪操作耗时
  • 状态反馈:统一的状态管理和进度指示
  • 缓存机制:图像和元数据缓存,减少重复加载
  • 响应式UI:支持窗口调整和布局适配

技术架构

前端框架

  • Avalonia UI 11.0+:跨平台UI框架
  • MVVM模式:使用CommunityToolkit.Mvvm实现
  • 响应式设计:支持不同屏幕尺寸和分辨率

后端服务

  • .NET 9.0:现代.NET平台
  • 异步编程:全面使用async/await模式
  • 依赖注入:服务化架构设计

AI集成

  • ONNX Runtime:跨平台AI推理引擎
  • 图像处理:SixLabors.ImageSharp库
  • 模型支持:YOLO系列目标检测模型

数据格式

  • 项目文件:JSON格式的.ailproj文件
  • 标注数据:支持多种主流标注格式导出
  • 配置管理:基于ObservableObject的响应式数据绑定

跨平台支持

  • Windows:完整功能支持
  • macOS:通过Avalonia原生支持
  • Linux:跨平台兼容
  • Web:通过WebAssembly支持浏览器运行
  • 移动端:Android和iOS支持(实验性)

性能特性

  • 内存优化:图像缓存管理,避免内存泄漏
  • 异步加载:大图像异步加载,保持UI响应
  • 批量处理:高效的批量操作处理
  • 性能监控:内置性能指标收集和分析

扩展性

  • 插件架构:模块化设计,易于扩展新功能
  • AI模型扩展:支持添加新的AI模型类型
  • 导出格式扩展:可轻松添加新的导出格式
  • 标注类型扩展:可添加新的标注工具和形状

开发状态

已完成

  • 核心标注功能
  • 项目管理
  • 多格式导出
  • AI模型集成
  • 性能优化
  • 用户界面

🔄 当前任务

  • 功能测试和调试

使用场景

  • 计算机视觉项目:目标检测、图像分割等数据集制作
  • AI模型训练:为深度学习模型准备标注数据
  • 研究项目:学术研究中的图像数据标注
  • 商业应用:产品质量检测、医学图像分析等

总结

AIlable提供了一个完整的图像标注解决方案,结合了传统手工标注和AI辅助标注的优势,通过现代化的用户界面和高性能的技术架构,为用户提供高效、准确的图像标注体验。