0. 적용환경
글 작성시기 : 2025.02.15
OS: Ubuntu 22.04 (Window 11 - WSL로 로컬로 설치)
1. 개요
- Meta 에서 개발한 SAM(Segment Anything Model)을 CVAT에 적용하여 Segmentation 작업을 자동화 할 수 있다.
- 우선 Ububtu에 기본적으로 CVAT이 설치 되어 있어야 합니다. (아래 링크 참조)
[CVAT] Windows11에 CVAT 설치 및 Auto Labelling (Part-1 설치)
0. 시작하기 앞서대량 Segmentation 라벨링 할 일이 생겨 CVAT을 이용 하기로 했다.특히 CVAT의 경우 YoloV7 이나, Segment Anything 과 같은 자동 라벨링 툴을 같이 이용할 수 있어 이번에 작업 하게 되었다CVAT
sunnys-note.tistory.com
2. CVAT에 SAM 설치
- CVAT에 SAM 적용을 위해서는 SAM을 Serverless Platform인 Nuclio function형태로 배포해 주어야 합니다.
2-1. BuildKit 설치
- 우선 BuildKit이라는 것을 설치 해야 합니다.
- CVAT이 설치 되어 있는 Ubuntu로 접속합니다. 본 설명에서는 root 폴더에 cvat이 설치되어 있습니다.
- root 폴더에서 아래를 먼저 실행 시킵니다.
$ apt install docker-buildx-plugin
2-2. nuclio 설치
- CVAT가 설치된 디렉토리의 components/serverless/docker-compose.serverless.yml파일에 작성된 버전과 동일한 버전으로 다운로드 해야 한다.
- cvat 이 설치된 폴더에서 아래와 같이 vi 로 해당 파일을 오픈하여 확인 한다.
$vi /components/serverless/docker-compose.serverless.yml
- 필요한 버전은 1.13.0-amd64 임이 확인. 다음과 같은 명령어를 사용하여 cvat 폴더에서 다운로드 받는다
wget https://github.com/nuclio/nuclio/releases/download/1.13.0/nuctl-1.13.0-linux-amd64
- 파일을 CVAT 폴더에 다운받았다면 아래 명령어를 실행한다
- 다운로드한 nuctl 실행 파일에 실행 권한을 부여하고, nuctl을 시스템 경로에서 실행할 수 있도록 설정하는 것이다.
sudo chmod +x nuctl-1.13.0-linux-amd64
sudo ln -sf $(pwd)/nuctl-1.13.0-linux-amd64 /usr/local/bin/nuctl
- 정상적 설정되었다면 nuctl --help 명령어를 실행하면 아래와 같은 결과가 출력된다
- 다음으로 아래 명령어를 실행하면 Nuclio 플랫폼을 Docker 컨테이너로 빌드 및 배포하고 CVAT에서 해당 기능을 활성화한다.
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d --build
- 이제 다시 localhost:8080 으로 재 접속하면 이전에 없었던 Models 카테고리가 생성 된 것을 확인 할 수 있다
- 업로드한 모델은 nuclio로 접속시 (localhost:8070) 에도 확인 할 수 있다.
- 생성한 프로젝트와 배포한 모델이 없어 현재는 default만 존재한다.
2-3. SAM 설치
- nuclio를 통해 sam 모델을 업로드 해주는 script를 cvat에서 제공해 주는 주기 때문에 해당 script를 아래와 같이 실행
- 본 예제에서는 cpu 모델로 설치를 진행 해 본다. cvat/serverless 폴더에서 스크립트를 실행한다
- 설치 시간은 매우 오래 걸림으로 중간에 멈춘것 같아도 대기 해 보시기 바랍니다. (체감 설치 시간 약 30분)
cd cvat/serverless
# on cpu server
./deploy_cpu.sh pytorch/facebookresearch/sam/nuclio/
- 설치가 완료된 이후 nuctl get functions 라고 실행 하면 아래와 같이 설치된 모델 리스트가 나온다
- CVAT 웹페이지를 보면 이전에 비어있던 Models에 SAM 모델이 생긴것을 볼 수 있다
- clio 사이트에서도 Project에 cvat 이 생성되어 있고 클릭시 sam 모델이 있는것을 확인 할 수 있다
- 이제 CVAT에서 라벨링 작업 프로젝트를 생성하고 실행 해 볼수 있다
'AI' 카테고리의 다른 글
[CVAT] CVAT 관리자 계정 만들기 및 비밀번호 설정 (0) | 2025.02.16 |
---|---|
[CVAT] Windows11에 CVAT 설치 (0) | 2025.02.16 |