Skip to content

Commit

Permalink
[Fix] FileNotFound Error
Browse files Browse the repository at this point in the history
  • Loading branch information
GodfatherPacino authored May 17, 2023
1 parent 2334510 commit 9aedd47
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 17 deletions.
42 changes: 41 additions & 1 deletion label_anything/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ pip install label-studio==1.7.3
pip install label-studio-ml==1.0.9
```

## Start the service:
## Start the service
⚠label_anything requires the SAM backend to be enabled and then the web service to be started before the model can be loaded. (a total of two steps are required to start)

1.Start the SAM backend inference service:
Expand Down Expand Up @@ -173,6 +173,12 @@ PS: Label-Studio's username and password are stored locally. If you encounter a
![](https://cdn.vansin.top/picgo20230330133333.png)
## Frontend Configuration
### Import images to be annotated:
1.Upload
We will download the example Meow Meow images using the method below, click on Data Import to import the cat images that need to be annotated, and then click Save to create the project.
```shell
Expand All @@ -187,6 +193,39 @@ wget https://download.openmmlab.com/mmyolo/data/cat_dataset.zip && unzip cat_dat
![](https://cdn.vansin.top/picgo20230330133715.png)
2.Use images stored on the server:
realized through 'Cloud Storages'
① Set environment variables before launch the SAM backend:
```
export LOCAL_FILES_DOCUMENT_ROOT=path/to/playground/label_anything
```
② Set environment variables before launch the label studio backend to allow label studio to use local files:
```
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=path/to/playground/label_anything
```
③ After launching SAM and label studio backend,Create Project first,click on 'Add Source Storage' in Cloud Storage .
![](https://github.com/GodfatherPacino/img/assets/33151790/9b9e47a4-af9b-4fad-a572-12b947b770b0)
Choose 'Local files', write 'Absolute local path'
![iShot_2023-05-15_15 10 45](https://github.com/GodfatherPacino/img/assets/33151790/1b5b1963-0d4c-4897-912e-30200b1676f9)
Click on 'Sync Storage'. Then it can synchronize with the data on the server and use the data on the server for annotation, export and other operations.
![iShot_2023-05-15_15 12 58](https://github.com/GodfatherPacino/img/assets/33151790/82cb4c31-e5b7-4c6d-9137-5d93289a424c)
### XML configuration
---
Configure Label-Studio keypoint, Mask, and other annotations in Settings/Labeling Interface.
```xml
Expand Down Expand Up @@ -218,6 +257,7 @@ Next, copy and add the above XML to Label-Studio, and then click Save.
![image](https://user-images.githubusercontent.com/25839884/233832662-02f856e5-48e7-4200-9011-17693fc2e916.png)
### Load SAM backend
After that, go to Settings and click Add Model to add the OpenMMLabPlayGround backend inference service. Set the URL https://localhost:8003 for the SAM backend inference service, enable Use for interactive preannotations, and click Validate and Save.
Expand Down
70 changes: 54 additions & 16 deletions label_anything/readme_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -95,7 +95,7 @@ pip install label-studio-ml==1.0.9

## 启动服务

⚠label_anything 需要启用SAM后端推理后再启动网页服务才可配置模型(一共需要两步启动)
⚠label_anything 需要启用 SAM 后端推理后再启动网页服务才可配置模型(一共需要两步启动)

1.启动 SAM 后端推理服务:

Expand All @@ -113,7 +113,7 @@ device=cuda:0 \

```

PS: 在Windows环境中,在Anaconda Powershell Prompt输入以下内容等价于上方的输入:
PS: 在 Windows 环境中,在 Anaconda Powershell Prompt 输入以下内容等价于上方的输入:

```shell
cd path/to/playground/label_anything
Expand Down Expand Up @@ -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
```

Expand All @@ -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。

注意,如果使用其他数据集须保证数据名称中不含有中文
Expand All @@ -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
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -276,7 +314,7 @@ Bbox2Label: 由下面的 gif 的动图可以看出,只需要标注一个边界

polygon 实例格式由于不太好控制点数,太多不方便微调(不像 mask 可以用橡皮擦微调),太少区域不准确。

此处提供将 label-studio 输出的json格式转换为COCO格式的转换脚本
此处提供将 label-studio 输出的 json 格式转换为 COCO 格式的转换脚本

⚠目前仅支持已经标注完所有图片的项目.

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 9aedd47

Please sign in to comment.