LabelStudio:开源多模态数据标注神器初体验
本文详细介绍了开源多模态数据标注平台 LabelStudio,分享了使用helm在集群中部署的方法,并通过文本分类和图片对象识别案例展示了创建项目、导入数据、配置模板、标注及导出结果的完整使用流程,下一篇将聚焦结合模型的AI 智能标注。
什么是 LabelStudio
Label Studio 是一款开源的多模态数据标注平台,支持对文本、图像、音频、视频、时间序列等多元数据类型进行专业标注。它通过可视化界面提供灵活的标注模板(如目标检测、OCR、情感分析等),并能将标注结果一键导出为YOLO、COCO、PASCAL VOC等主流AI模型格式。
Label Studio is an open source data labeling tool. It lets you label data types like audio, text, images, videos, and time series with a simple and straightforward UI and export to various model formats. It can be used to prepare raw data or improve existing training data to get more accurate ML models.
LabelStudio 有哪些优点?
✅ 开源灵活性:Label Studio 是一个开源平台,用户可以根据自己的需求自由扩展和定制标注工作流程。
✅ 多模态数据支持:支持文本、图像、语音、视频等多种类型的数据标注,满足不同领域和场景的需求。
✅ 多样化的标注任务:支持多种类型的标注任务,包括分类、目标检测、实体识别等。用户可以根据具体的任务类型选择适合的标注工具和标签类型,从而更好地处理不同类型的数据集。
✅ 丰富的标注模板:内置多种标注模板,同时允许开发者根据具体业务场景自定义模板,提高标注的针对性和准确性。
✅ 易用性:提供直观、易用的用户界面,降低数据标注的门槛,提高标注效率。
✅ 智能提效:支持预标注(Pre-labeling)技术,通过模型预标注减少工作量,同时支持主动学习(Active Learning)
✅ 多人协作和质量控制:支持多人同时进行数据标注,从而确保标注结果的一致性和准确性。
部署
官方文档:https://labelstud.io/guide/install_k8s
这里使用 helm 方式进行部署。
准备 Storageclass
需要提前在集群中准备一个 StorageClass,这里使用 local-path 进行测试。
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.24/deploy/local-path-storage.yaml
开始部署
添加 chart 仓库
helm repo add heartex https://charts.heartex.com/
helm repo update heartex
开始部署
storageClass=local-path
helm -n label-studio upgrade --install --create-namespace \
label-studio heartex/label-studio \
--set global.persistence.config.volume.storageClass=$storageClass \
--set postgresql.primary.persistence.storageClass=$storageClass
查看 Pod 启动情况
[root@label-studio-k8s ~]# kubectl -n label-studio get po
NAME READY STATUS RESTARTS AGE
label-studio-ls-app-5b6f4688d6-vlfmw 2/2 Running 0 4m54s
label-studio-postgresql-0 1/1 Running 0 4m53s
浏览器访问
将 Service 修改为 NodePort 方式,便于访问
kubectl -n label-studio patch svc label-studio-ls-app \
-p '{"spec": {"type": "NodePort", "ports": [{"port":80, "nodePort":30808}]}}'
访问以下地址即可:
http://172.20.150.0:30808/
跳转到注册界面,随便填写邮箱密码注册一个账号即可登录
如何使用
整体标注流程一般分为以下几个步骤:
1)创建项目
2)导入数据
3)配置标注模板
4)开始标注
5)导出结果
文本分类
创建项目
初次使用,需要先创建一个 Project,填写 Project Name 即可。
导入数据
然后就是导入要标注的文件,支持的文字、声音,图片、视频等等格式,具体界面如下:
这里以文本分类作为 Demo,以下是验证用到的数据 demo.txt 内容如下:
"这款手机续航能力太棒了,重度使用一整天都没问题!"
"咖啡香气浓郁,喝下去整个人都精神焕发了"
"客服耐心解答了所有疑问,处理速度超乎预期"
"快递包装严实,配送员还贴心提醒验货"
"看到大家为灾区捐款的场面,感动得热泪盈眶"
"闺蜜送的生日礼物完全戳中我的审美,爱了爱了!"
"团队提前三个月完成年度目标,所有人都欢呼雀跃"
"孩子第一次独立完成作业,老母亲欣慰到想发朋友圈"
"公园湖面波光粼粼,樱花树下野餐简直治愈满分"
"新办公室采光通透,绿植墙让人工作效率倍增"
"刚买的耳机左耳杂音严重,品控简直灾难级"
"羽绒服洗一次就结块,这材质还不如地摊货"
"预约了三次都被临时取消,商家毫无契约精神"
"餐厅服务员态度傲慢,仿佛顾客在乞求用餐"
"连续加班一个月,感觉整个人都被掏空了"
"重要文件没保存就电脑死机,想砸键盘的心都有"
"化工厂泄漏导致河流污染,周边居民恐慌性抢购矿泉水"
"网红景点过度商业化,原始风貌破坏得面目全非"
"贵司的‘VIP专属通道’排队2小时真是物超所值"(反讽)
"能在35℃高温下坚持不制冷,这空调确实很有个性"
"食物味道惊艳,但服务员摔碎盘子吓得胃痉挛"
"红色包装在中国很喜庆,欧美客户却要求退货"
"这操作6到飞起,直接给我整破防了"
"哩个服务真系麻麻地,等我教下你点做啦"
直接导入即可
导入后效果如下
标注模版
开始标注之前,还需要配置下应该怎么标注,可以用 xml 方式直接配置,也可以使用现有的模版:
具体怎么配置可以参考官方文档:Label Studio — Customize the Label Studio User Interface
可以看到,LabelStudio 提供了很多标注模板
我们是准备做文本分类的,因此就选择一个文本分类模版,保存即可。
选项也可以根据实际情况调整。
开始标注
然后就是开始标注,根据内容选择合适的选项,然后提交就算是完成了一个标注任务。
导出结果
标注完成后导出结果
LabelStudio 也支持多种格式导出。
至此,我们就走完了数据标注基本流程。
对象检测
在演示一下图片对象识别如何标注。
导入数据
标注模板
标注模板这里选择 Object Detection with Bounding Boxes 即可。
然后将 Label 根据实际情况修改即可
开始标注
先选择 Label,然后再图片中框选出对应部分即可。
导出结果
以上便是 LabelStudio 的基本使用,下一篇介绍如何结合 ML 使用智能标注。
小结
本文首先介绍了 LabelStudio 是一款开源的多模态数据标注平台。
然后是 LabelStudio 有哪些优点:
开源灵活性
多模态数据支持、多样化的标注任务、丰富的标注模板
简单易用
智能提效
最后通过文本分类和图片对象识别演示了如何使用 LabelStudio 进行标注,步骤如下:
1)创建项目
2)导入数据
3)配置标注模板
4)开始标注
5)导出结果
下篇预告:结合模型实现「AI智能标注」,效率提升,解放双手!