LabelBee - 为标注而生的开源工具库 🐝
LabelBee是一个专注于标注体验的开源工具库,由OpenMMLab团队开发。它为开发者提供了一套完整的标注工具解决方案,包括渲染库和组件库,可以快速搭建高质量的标注应用。
LabelBee的主要特性
- 即插即用: 通过简单的配置就可以创建标注应用
- 渲染分离: 可以单独使用渲染模块,灵活性高
- 多种工具: 支持框选、标签、关键点、线条、多边形、文本等多种标注工具
- 场景丰富: 适用于目标检测、分类、分割、关键点标注、OCR等多种算法场景
- 结果导出: 支持导出为COCO、COCO-Text、ADE20k等常用格式
- 跨平台: 提供桌面客户端版本,支持Windows/Linux/Mac系统
快速上手
LabelBee提供了npm包方便开发者快速接入:
# 使用npm安装
npm install @labelbee/lb-annotation
npm install @labelbee/lb-components
# 使用yarn安装
yarn add @labelbee/lb-annotation
yarn add @labelbee/lb-components
以下是一个简单的使用示例:
import React from 'react';
import ReactDOM from 'react-dom';
import { AnnotationView } from '@labelbee/lb-components';
const src = ''; // 可访问的图片路径
const DefaultComponent = () => {
return (
<AnnotationView
src={src}
/>
)
}
ReactDOM.render(<App />, document.querySelector('#app'));
通过这样简单的代码,就可以创建一个基础的标注界面。
LabelBee的核心组件
LabelBee主要包含两个核心组件:
- 渲染库 (lb-annotation): 负责底层的渲染逻辑,可以单独使用。
- 组件库 (lb-components): 提供了完整的标注UI组件,基于渲染库构建。
这种分离的设计使得LabelBee具有很高的灵活性,开发者可以根据需求选择使用。
支持的标注场景
LabelBee支持多种常见的标注场景,包括但不限于:
- 目标检测:适用于车辆、行人、人脸等检测场景
- 关键点标注:适用于人脸关键点、车辆关键点等场景
- 线条标注:适用于车道线、人体轮廓线等场景
- 图像分割:支持人体分割、全景分割、可驾驶区域分割等
- OCR标注:支持车牌、发票、保单等文字检测与识别场景
桌面客户端版本
除了SDK形式,LabelBee还提供了开箱即用的桌面客户端版本。该版本集成了LabelBee的所有功能,支持多工具和多步骤串行标注。主要特点包括:
- 支持Windows/Linux/Mac多种操作系统
- 支持本地读写图片和标注结果
- 提供快速可用的手动标注能力
- 可嵌入独立部署的业务系统中使用
对于需要快速开始标注工作的用户来说,桌面客户端是一个很好的选择。
未来规划
LabelBee团队计划在未来增加更多功能:
- 接入更多标注工具和能力,如批量标签筛选、视频标注、音频标注等
- 开发融合图像标注工具
- 支持在线图片读取等更多客户端功能
开源协议
LabelBee采用Apache 2.0开源协议,允许商业使用。
相关链接
LabelBee作为一个专注于标注体验的开源工具库,为开发者提供了强大而灵活的标注解决方案。无论是想快速搭建标注应用,还是需要定制化的标注功能,LabelBee都能满足各种需求。欢迎开发者们尝试使用LabelBee,也欢迎为项目贡献代码,一起推动标注工具的发展! 🚀