MMSEG
-
open-mmlab에서 제공하는 pytorch기반 세그멘테이션 툴박스
-
PSPNet, DeepLabV3, PSANet, DeepLabV3+ 와 같은 여러 최신 모델을 지원함
-
GitHub: OpenMMLab Semantic Segmentation Toolbox and Benchmark.
설치
설치 환경
- OS: Ubuntu-22.04 LTS (WSL)
- CPU: Intel i9-9900k
- GPU: RTX 2080 8G
- RAM: 32G
- CUDA: 11.8
- cuDNN: v8.9.7
- 날짜: 2024.05.14.
MMSeg 설치
- Conda 환경 생성
conda create --name mmseg python=3.8 -y
conda activate mmseg
- pytorch 설치
-
pytorch 설치 참고: Start Locally | PyTorch
-
GPU:
conda install pytorch torchvision -c pytorch
-
CPU:
conda install pytorch torchvision cpuonly -c pytorch
# pytorch 2.1 버전 설치
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia
# 설치 확인
$ python
import torch
torch.cuda.is_available()
>> True
- MMCV 설치 mmcv 설치 참고: Installation — mmcv 2.2.0 documentation mim 을 사용하여 mmcv 설치
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
# 설치확인
mim list
>>
Package Version Source
--------- --------- --------------------------------------
mmcv 2.2.0 https://github.com/open-mmlab/mmcv
mmengine 0.10.4 https://github.com/open-mmlab/mmengine
+ MMCV 설치 이슈
- error:
MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4.
mim uninstall mmcv
설치된 mmcv를 삭제mim install mmcv==2.1.0
설치- 이슈관련
- MMSegmentation 설치 git 다운로드 및 설치
git clone -b main https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -v -e .
설치 확인
Inference Test
사전 weight 네트워크 구성 파일을 다운로드
mim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest .
아래 명령어를 통해 Inference Demo 코드 실행
python demo/image_demo.py demo/demo.png pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
+ 데모 실행 이슈 추가 라이브러리 설치 필요
pip install ftfy
pip install regex
Video Test
사전 준비한 비디오와 아래 명령어를 통해 실행
python demo/video_demo.py sample_video.MP4 pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --output-file result.mp4 --output-width 640 --output-height 480
+ video_demo.py 파일 수정
# video_demo.py
# 실시간 결과 안보이게
# show=False 파라미터 추가
94:: draw_img = show_result_pyplot(model, frame, result, show=False)
참고
- GitHub - open-mmlab/mmsegmentation: OpenMMLab Semantic Segmentation Toolbox and Benchmark.
- Get started: Install and Run MMSeg — MMSegmentation 1.2.2 documentation
- [Bug] AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4, <2.2.0. · Issue #3096 · open-mmlab/mmcv · GitHub