본문 바로가기
딥러닝관련/Segmentation

MMSegmentation 사용하기 (Installation, env setting, inference with pre-trained models)

by 머리올리자 2022. 3. 3.

https://github.com/open-mmlab/mmsegmentation

 

GitHub - open-mmlab/mmsegmentation: OpenMMLab Semantic Segmentation Toolbox and Benchmark.

OpenMMLab Semantic Segmentation Toolbox and Benchmark. - GitHub - open-mmlab/mmsegmentation: OpenMMLab Semantic Segmentation Toolbox and Benchmark.

github.com

 

Segmentation을 하기 위해 위의 open-mmlab에서 나온 mmsegmentation을 이용하여 환경을 세팅하였다.

 

https://mmsegmentation.readthedocs.io/en/latest/get_started.html

 

Prerequisites — MMSegmentation 0.21.1 documentation

Prerequisites Linux or macOS (Windows is in experimental support) Python 3.6+ PyTorch 1.3+ CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible) GCC 5+ MMCV The compatible MMSegmentation and MMCV versions are as below. Please install th

mmsegmentation.readthedocs.io

위 링크에 나와있는 것과 같이 torch 1.6.0 + cuda 10.1을 사용하였다.

 

처음에는 docker container를 이용하여 setting 하려고 했는데 

 

현재 위 코드를 실행하고 있는 환경을 ssh를 통해 접근하는데,

 

local에서는 visualize가 되지만, docker container 환경에서는 visualize가 작동되지 않아 그냥 local에 환경 설치를 하였다.

(ssh 말고 본 컴퓨터에서 docker container에서 visualize가 되는데 나중에 ssh->container로 visualize 하는 것도 해결해보아야 겠다)

 

여튼..

 

위와 같이 framework와 cuda 환경을 세팅해준다음

 

mmcv-full을 install 해주면 되는데

 

이는 위 링크에 가서 아래 부분을 찾아서 맞춰 설치해주면 된다.

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html

 

https://mmsegmentation.readthedocs.io/en/latest/dataset_prepare.html

 

Prepare datasets — MMSegmentation 0.21.1 documentation

Prepare datasets It is recommended to symlink the dataset root to $MMSEGMENTATION/data. If your folder structure is different, you may need to change the corresponding paths in config files. mmsegmentation ├── mmseg ├── tools ├── configs

mmsegmentation.readthedocs.io

위 링크에 맞춰서 데이터를 세팅해주고

(당연히 이때는 git에서 파일들이 설치되어 있을 것이다)

(git clone https://github.com/op​en-mmlab/mmsegmentation.git)

 

이후 아래와 같이 동영상 파일을 다운 받고

wget -O demo/demo.mp4 https://user-images.githubusercontent.com/22089207/144212749-44411ef4-b564-4b37-96d4-04bedec629ab.mp4

 

이후 checkpoint를 모델에 맞게 다운로드 한 다음 아래와 같은 코드를 입력하면

 

python demo/video_demo.py demo/demo.mp4 configs/cgnet/cgnet_680x680_60k_cityscapes.py     checkpoints/cgnet_680x680_60k_cityscapes_20201101_110253-4c0b2f2d.pth     --device cuda:0 --palette cityscapes --show

위와 같이 비디오가 재생되면서 segmentation이 진행되는 것을 볼 수 있다.

 

환경을 다 세팅하고나서 정리하는 것이라 중간중간 빠진 내용이 있는데 나중에 추가적으로 작성해야겠다.

 

아래 링크를 들어가서 그대로 준비하면 왠만하면 작동한다

 

https://mmsegmentation.readthedocs.io/en/latest/

 

Welcome to MMSegmenation’s documentation! — MMSegmentation 0.21.1 documentation

Docs > Welcome to MMSegmenation’s documentation! Edit on GitHub Shortcuts

mmsegmentation.readthedocs.io

아래에서 추가 정리

 

2022.03.03 - [딥러닝관련/Segmentation] - MMSegmentation 사용하기 (Inference)

 

MMSegmentation 사용하기 (Inference)

따로 정리하지 않았지만 mmsegmentation

better-tomorrow.tistory.com