-
Notifications
You must be signed in to change notification settings - Fork 124
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2334510
commit 9aedd47
Showing
2 changed files
with
95 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,7 +32,7 @@ conda create -n rtmdet-sam python=3.9 -y | |
conda activate rtmdet-sam | ||
``` | ||
|
||
PS: 如果你在conda环境中无法使用git命令,可以按照以下命令安装git | ||
PS: 如果你在 conda 环境中无法使用 git 命令,可以按照以下命令安装 git | ||
|
||
```shell | ||
conda install git | ||
|
@@ -44,7 +44,7 @@ conda install git | |
git clone https://github.com/open-mmlab/playground | ||
``` | ||
|
||
如果你遇到网络错误,请尝试通过ssh完成git克隆,像下面这个命令一样: | ||
如果你遇到网络错误,请尝试通过 ssh 完成 git 克隆,像下面这个命令一样: | ||
|
||
```shell | ||
git clone [email protected]:open-mmlab/playground.git | ||
|
@@ -69,7 +69,7 @@ pip install torch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 | |
|
||
```shell | ||
cd path/to/playground/label_anything | ||
# 在Windows中,进行下一步之前需要完成以下命令行 | ||
# 在 Windows 中,进行下一步之前需要完成以下命令行 | ||
# conda install pycocotools -c conda-forge | ||
pip install opencv-python pycocotools matplotlib onnxruntime onnx | ||
pip install git+https://github.com/facebookresearch/segment-anything.git | ||
|
@@ -80,7 +80,7 @@ wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth | |
# wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth | ||
``` | ||
|
||
PS: 如果您使用Windows环境,请忽略wget命令,手动下载wget的目标文件(复制url到浏览器或下载工具中) | ||
PS: 如果您使用 Windows 环境,请忽略 wget 命令,手动下载 wget 的目标文件(复制 url 到浏览器或下载工具中) | ||
例如: https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth | ||
|
||
安装 Label-Studio 和 label-studio-ml-backend | ||
|
@@ -95,7 +95,7 @@ pip install label-studio-ml==1.0.9 | |
|
||
## 启动服务 | ||
|
||
⚠label_anything 需要启用SAM后端推理后再启动网页服务才可配置模型(一共需要两步启动) | ||
⚠label_anything 需要启用 SAM 后端推理后再启动网页服务才可配置模型(一共需要两步启动) | ||
|
||
1.启动 SAM 后端推理服务: | ||
|
||
|
@@ -113,7 +113,7 @@ device=cuda:0 \ | |
|
||
``` | ||
|
||
PS: 在Windows环境中,在Anaconda Powershell Prompt输入以下内容等价于上方的输入: | ||
PS: 在 Windows 环境中,在 Anaconda Powershell Prompt 输入以下内容等价于上方的输入: | ||
|
||
```shell | ||
cd path/to/playground/label_anything | ||
|
@@ -141,24 +141,24 @@ device=$env:device | |
|
||
⚠以上的终端窗口需要保持打开状态。 | ||
|
||
接下来请根据以下步骤在Label-Studio Web 系统中配置使用后端推理服务。 | ||
接下来请根据以下步骤在 Label-Studio Web 系统中配置使用后端推理服务。 | ||
|
||
2.现在启动 Label-Studio 网页服务: | ||
|
||
请新建一个终端窗口进入label_anything项目路径。 | ||
请新建一个终端窗口进入 label_anything 项目路径。 | ||
|
||
```shell | ||
cd path/to/playground/label_anything | ||
``` | ||
|
||
⚠(如不使用vit-h的SAM后端可跳过此步)使用的推理后端是SAM的 **vit-h**, 由于模型加载时间长,导致连接后端超时,需要设置以下环境变量。 | ||
⚠(如不使用 vit-h 的 SAM 后端可跳过此步)使用的推理后端是 SAM 的 **vit-h**, 由于模型加载时间长,导致连接后端超时,需要设置以下环境变量。 | ||
|
||
具体可根据下载的SAM的权值名称判断,比如sam_vit_h_4b8939.pth 为 vit-h,sam_vit_b_01ec64.pth为 vit-b。 | ||
具体可根据下载的 SAM 的权值名称判断,比如 sam_vit_h_4b8939.pth 为 vit-h,sam_vit_b_01ec64.pth 为 vit-b。 | ||
|
||
```shell | ||
# Linux需要使用以下指令 | ||
# Linux 需要使用以下指令 | ||
export ML_TIMEOUT_SETUP=40 | ||
# Windows要使用以下指令 | ||
# Windows 要使用以下指令 | ||
set ML_TIMEOUT_SETUP=40 | ||
``` | ||
|
||
|
@@ -175,10 +175,16 @@ label-studio start | |
![](https://cdn.vansin.top/picgo20230330133118.png) | ||
|
||
我们注册一个用户,然后创建一个 OpenMMLabPlayGround 项目。 | ||
PS: Label-Studio的用户名密码存储于本地,如果出现浏览器记住了密码却无法登陆的情况,请重新注册 | ||
PS: Label-Studio 的用户名密码存储于本地,如果出现浏览器记住了密码却无法登陆的情况,请重新注册 | ||
|
||
![](https://cdn.vansin.top/picgo20230330133333.png) | ||
|
||
## 前端配置 | ||
|
||
### 导入图片 | ||
|
||
1.直接上传 | ||
|
||
我们通过下面的方式下载好示例的喵喵图片,点击 Data Import 导入需要标注的猫图片,点击 Save 创建 Project。 | ||
|
||
注意,如果使用其他数据集须保证数据名称中不含有中文 | ||
|
@@ -195,6 +201,37 @@ wget https://download.openmmlab.com/mmyolo/data/cat_dataset.zip && unzip cat_dat | |
![](https://cdn.vansin.top/picgo20230330133715.png) | ||
|
||
|
||
2.直接使用服务器上的图片数据: | ||
|
||
通过 Cloud Storages 的方式实现。 | ||
|
||
① 在启动 SAM 后端之前,需要设置环境变量: | ||
``` | ||
export LOCAL_FILES_DOCUMENT_ROOT=path/to/playground/label_anything | ||
``` | ||
|
||
② 在启动 label studio 之前,需要设置环境变量: | ||
``` | ||
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true | ||
export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=path/to/playground/label_anything | ||
``` | ||
|
||
③ 启动 SAM 后端和 label studio 之后,先 Create Project,在 Cloud Storage 中选择 Add Source Storage。 | ||
|
||
![](https://github.com/GodfatherPacino/img/assets/33151790/9b9e47a4-af9b-4fad-a572-12b947b770b0) | ||
|
||
选择 Local files, 填写绝对路径 | ||
|
||
![iShot_2023-05-15_15 10 45](https://github.com/GodfatherPacino/img/assets/33151790/1b5b1963-0d4c-4897-912e-30200b1676f9) | ||
|
||
之后就可以与服务器上的数据同步,点击 Sync Storage,使用服务器上的数据进行标注、导出等操作。 | ||
|
||
![iShot_2023-05-15_15 12 58](https://github.com/GodfatherPacino/img/assets/33151790/82cb4c31-e5b7-4c6d-9137-5d93289a424c) | ||
|
||
### 配置 XML | ||
|
||
--- | ||
在 `Settings/Labeling Interface` 中配置 Label-Studio 关键点和 Mask 标注。 | ||
|
||
```xml | ||
|
@@ -226,10 +263,11 @@ wget https://download.openmmlab.com/mmyolo/data/cat_dataset.zip && unzip cat_dat | |
|
||
![image](https://user-images.githubusercontent.com/25839884/233832662-02f856e5-48e7-4200-9011-17693fc2e916.png) | ||
|
||
### 加载 SAM 后端 | ||
|
||
然后在设置中点击 Add Model 添加 OpenMMLabPlayGround 后端推理服务,设置好 SAM 后端推理服务的 URL https://localhost:8003 ,并打开 `Use for interactive preannotations` 并点击 `Validate and Save`。 | ||
|
||
⚠如果你在这一步无法顺利执行,可能由于模型加载时间长,导致连接后端超时,请重新执行 `export ML_TIMEOUT_SETUP=40` (linux) 或 `set ML_TIMEOUT_SETUP=40` (windows) ,重新启动 `label-studio start` SAM后端推理服务。 | ||
⚠如果你在这一步无法顺利执行,可能由于模型加载时间长,导致连接后端超时,请重新执行 `export ML_TIMEOUT_SETUP=40` (linux) 或 `set ML_TIMEOUT_SETUP=40` (windows) ,重新启动 `label-studio start` SAM 后端推理服务。 | ||
|
||
![image](https://user-images.githubusercontent.com/25839884/233836727-568d56e3-3b32-4599-b0a8-c20f18479a6a.png) | ||
|
||
|
@@ -276,7 +314,7 @@ Bbox2Label: 由下面的 gif 的动图可以看出,只需要标注一个边界 | |
|
||
polygon 实例格式由于不太好控制点数,太多不方便微调(不像 mask 可以用橡皮擦微调),太少区域不准确。 | ||
|
||
此处提供将 label-studio 输出的json格式转换为COCO格式的转换脚本。 | ||
此处提供将 label-studio 输出的 json 格式转换为 COCO 格式的转换脚本。 | ||
|
||
⚠目前仅支持已经标注完所有图片的项目. | ||
|
||
|
@@ -362,7 +400,7 @@ python tools/analysis_tools/browse_dataset.py data/my_set/mask-rcnn_r50_fpn.py - | |
|
||
## 对生成的数据集使用 mmdetection 进行训练(可选) | ||
|
||
经过上一步生成了可用于 mmdetection 训练的config,路径为 `data/my_set/config_name.py` 我们可以用于训练。 | ||
经过上一步生成了可用于 mmdetection 训练的 config,路径为 `data/my_set/config_name.py` 我们可以用于训练。 | ||
|
||
|
||
```shell | ||
|