开源一站式工具数据studioLabel(开源工具一站式数据模型)「开源数据平台」

以前图像打标用的是labelme,一直用的不错
近期玩大模型,需要处理大量的NLP数据,就想找一个一站式的开源数据处理工具,最好是还能够支持利用各种模型辅助数据处理
找到了Label-studio
Label Studio 是一个开源的数据标注工具
它允许用户使用简单直观的用户界面标注音频、文本、图像、视频和时间序列数据,并可以导出为各种模型格式
它可以用来准备原始数据或改进现有训练数据,以获得更准确的机器学习模型
Github地址:https://github.com/HumanSignal/label-studio以下是Label Studio的一些运行效果:Label Studio安装以下为几种常用的安装方式:使用 Docker 在本地安装官方 Label Studio docker 镜像在这里,可以通过docker pull. 在 Docker 容器中运行 Label Studio 并通过 访问它http://localhost:8080
docker pull heartexlabs/label-studio:latestdocker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest您可以在该目录中找到所有生成的资产,包括SQLite3数据库存储label_studio.sqlite3和上传的文件./mydata
使用 pip 本地安装# Requires Python >=3.8pip install label-studio# Start the server at http://localhost:8080label-studio用poetry本地安装### install poetrypip install poetry### set poetry environmentpoetry new my-label-studiocd my-label-studiopoetry add label-studio### activate poetry environmentpoetry shell### Start the server at http://localhost:8080label-studio使用 Anaconda 进行本地安装conda create --name label-studioconda activate label-studioconda install psycopg2pip install label-studio安装用于本地开发您可以在本地运行最新的 Label Studio 版本,而无需从 pypi 安装软件包
# Install all package dependenciespip install poetrypoetry install# Run database migrationspython label_studio/manage.py migratepython label_studio/manage.py collectstatic# Start the server in development mode at http://localhost:8080python label_studio/manage.py runserver本地安装与简单测试我用的Anaconda的安装方法:conda create --name label-studioconda activate label-studioconda install psycopg2pip install label-studio安装后运行label-studio既可以在8080端口启动服务
如果想要设置本地存储目录,或者端口等参数,可以运行label-studio --help参考label-studio的参数设置:# label-studio --help=> Database and media directory: /root/.local/share/label-studio=> Static URL is set to: /static/usage: label-studio [-h] [--version] [-b] [-db DATABASE] [--data-dir DATA_DIR] [-d] [-c CONFIG_PATH] [-l LABEL_CONFIG] [--skip-long-migrations] [--ml-backends ML_BACKENDS [ML_BACKENDS ...]] [--sampling {sequential,uniform,prediction-score-min}] [--log-level {DEBUG,INFO,WARNING,ERROR}] [--internal-host INTERNAL_HOST] [-p PORT] [--host HOST] [--cert CERT_FILE] [--key KEY_FILE] [--initial-project-description PROJECT_DESC] [--password PASSWORD] [--username USERNAME] [--user-token USER_TOKEN] [--agree-fix-sqlite] {version,user,init,start,reset_password,shell,calculate_stats_all_orgs,export,annotations_fill_updated_by} ...Label studiopositional arguments: {version,user,init,start,reset_password,shell,calculate_stats_all_orgs,export,annotations_fill_updated_by} Available commands version Print version info user Print user info init Initialize Label Studio start Start Label Studio server reset_password Reset password for a specific username shell Run django shell calculate_stats_all_orgs Calculate task counters and statistics export Export project in a specific format annotations_fill_updated_by Fill the updated_by field for Annotationsoptions: -h, --help show this help message and exit --version Show Label Studio version -b, --no-browser Do not open browser when starting Label Studio -db DATABASE, --database DATABASE Database file path for storing tasks and annotations --data-dir DATA_DIR Directory for storing all application related data -d, --debug Debug mode -c CONFIG_PATH, --config CONFIG_PATH Server config -l LABEL_CONFIG, --label-config LABEL_CONFIG Label config file path --skip-long-migrations Skip long migrations on start --ml-backends ML_BACKENDS [ML_BACKENDS ...] Machine learning backends URLs --sampling {sequential,uniform,prediction-score-min} Sampling type that defines order for labeling tasks --log-level {DEBUG,INFO,WARNING,ERROR} Logging level --internal-host INTERNAL_HOST Web server internal host, e.g.: "localhost" or "0.0.0.0" -p PORT, --port PORT Web server port --host HOST Label Studio full hostname for generating imported task urls, sample task urls, static loading, etc. Leave it empty to make all paths relative to the domain root, it's preferable for work for most cases.Examples: "https://77.42.77.42:1234", "http://ls.domain.com/subdomain/" --cert CERT_FILE Certificate file for HTTPS (in PEM format) --key KEY_FILE Private key file for HTTPS (in PEM format) --initial-project-description PROJECT_DESC Project description to identify project --password PASSWORD Password for default user --username USERNAME Username for default user --user-token USER_TOKEN User token for API access --agree-fix-sqlite Agree to fix SQLite issues on python 3.6-3.8 on Windows automatically这是我的命令:label-studio --data-dir /app/labelstudio/data -p 8090将数据放到“/app/labelstudio/data” 目录下,端口改为8090
启动后访问对应的URL,即可见到登录界面:第一次选择sign up进行注册:注册成功后进入Projects界面,可以点击Create新建项目:建立了几个项目测试了一下,发现效果不错:应用模型辅助打标看介绍通过label-studio的配套项目label-studio-ml-backend (https://github.com/HumanSignal/label-studio-ml-backend),可以实现机器学习辅助打标
例如利用SAM模型帮你自动分割图像
看官方文档给的例子,效果很不错:这是一个负鼠图片,首先选择适当的智能注释工具,在本例中为矩形边界框
然后从第三行选择要应用的矩形标签,在本例中为“Possum”(带有关联的热键“6”)
在您感兴趣的主题周围拖动一个矩形,SAM 模型将根据该区域进行预测
使用智能矩形工具的对象蒙版如果您对所选区域感到满意,请选中复选标记并提交注释
假设您发现(如本例所示,置信度分数为 92%)区域被过度选择,您应该使用关键点工具来为您提供对区域细化的更多控制(通过亲和点和反亲和点)不过我在编译docker的时候总是下载失败,准备后续再试一下
开源一站式工具数据studioLabel(开源工具一站式数据模型)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息