opencv官方標註工具cvat的安裝
一開始我在網路上都是找到 LabelImg 這個軟體的教學居多,某天看到有人用 cvat,感覺功能更強大就來研究研究。
cvat 是 opencv github 上的標註工具,可支援多人線上作業,多種標記方式,匯出多種檔案格式。
多種標記方式:
● 矩形
● 多邊形
● 標記點
輸入的檔案格式:
● 圖片
● 影片
匯出格式:
● CVAT XML v1.1 for images
● CVAT XML v1.1 for a video
● Pascal VOC
● YOLO
● MS COCO Object Detection
● PNG class mask + instance mask as in Pascal VOC
● TFrecord
● MOT
● LabelMe
加速標記方式:
● 在影片上能用track的方式快速標記連續多張圖
● 可用cvat提供的模型或上傳openvino的模型,做自動標記
安裝步驟
官方安裝步驟我是用windows10的環境,首先要安裝一些基本的東西:
● Docker for Windows
● Git for Windows
● Google Chrome
安裝完成後,在開始功能表裡面找git bash應用程式並執行,進入到你要放下載cvat程式的位置
git clone https://github.com/opencv/cvat cd cvat
Build docker images 使用預設值
docker-compose build
Run docker containers.
docker-compose up -d
創建一個superuser
winpty docker exec -it cvat bash -ic 'python3 ~/manage.py createsuperuser'
在Google Chrome網址列輸入localhost:8080
停止 docker containers
docker-compose down以上是能在本機上使用,接下來要說明的是如何在區域網路上使用
在區域網路上使用
在cvat資料夾裡建立 docker-compose.override.ymlversion: "2.3" services: cvat_proxy: environment: CVAT_HOST: <your ip>
cvat\cvat-ui\react_nginx.conf
server { root /usr/share/nginx/html; # Any route that doesn't have a file extension (e.g. /devices) location / { try_files $uri $uri/ /index.html; add_header Access-Control-Allow-Origin "*"; #<加入這行> } }
cvat\settings\base.py
Line:28 ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', 'localhost,127.0.0.1,<your ip>').split(',') #<加入ip> Line:188 # Cross-Origin Resource Sharing settings for CVAT UI UI_SCHEME = os.environ.get('UI_SCHEME', 'http') UI_HOST = os.environ.get('UI_HOST', 'localhost') UI_PORT = os.environ.get('UI_PORT', '3000') CORS_ALLOW_CREDENTIALS = True CSRF_TRUSTED_ORIGINS = [UI_HOST] UI_URL = '{}://{}'.format(UI_SCHEME, UI_HOST) # UI_WITHOUT_PORT must be added to CORS_ORIGIN_WHITELIST UI_WITHOUT_PORT = UI_URL #<加入這行> if UI_PORT and UI_PORT != '80': UI_URL += ':{}'.format(UI_PORT) CORS_ORIGIN_WHITELIST = [UI_URL, UI_WITHOUT_PORT] #<加入這行> CORS_REPLACE_HTTPS_REFERER = True
防火牆
com.docker.backend 要允許連線上傳自己的模型
我一開始一直找不到models這個分頁,但是官方操做說明有寫到可以上傳,最後發現他只能上傳openvino的model,目前我只弄出可以上傳model的頁面,沒有真正用自己的model自動標記,但有用cvat提供的automatic segmentation標記過是可以的。上傳自己的model官方說明
● 首先要先下載最新的 OpenVINO toolkit 要linux版本的。
Build docker image
docker-compose -f docker-compose.yml -f components/openvino/docker-compose.openvino.yml build # 如果有使用docker-compose.override.yml docker-compose -f docker-compose.yml -f components/openvino/docker-compose.openvino.yml -f docker-compose.override.yml build
Run docker container
docker-compose -f docker-compose.yml -f components/openvino/docker-compose.openvino.yml up -d # 如果有使用docker-compose.override.yml docker-compose -f docker-compose.yml -f components/openvino/docker-compose.openvino.yml -f docker-compose.override.yml up -d
使用cvat提供的automatic segmentation
docker-compose -f docker-compose.yml -f components/auto_segmentation/docker-compose.auto_segmentation.yml build # 如果有使用docker-compose.override.yml docker-compose -f docker-compose.yml -f components/auto_segmentation/docker-compose.auto_segmentation.yml -f docker-compose.override.yml build
Run docker container
docker-compose -f docker-compose.yml -f components/auto_segmentation/docker-compose.auto_segmentation.yml up -d # 如果有使用docker-compose.override.yml docker-compose -f docker-compose.yml -f components/auto_segmentation/docker-compose.auto_segmentation.yml -f docker-compose.override.yml up -d
留言
張貼留言