awesome semantic segmentation pytorch
1.0.0
영어 | 简体中文
이 프로젝트는 Pytorch를 사용하여 의미 론적 세분화 모델에 대한 간결하고 사용하기 쉬운 수정 가능한 참조 구현을 제공하는 것을 목표로합니다.

# semantic-segmentation-pytorch dependencies
pip install ninja tqdm
# follow PyTorch installation in https://pytorch.org/get-started/locally/
conda install pytorch torchvision -c pytorch
# install PyTorch Segmentation
git clone https://github.com/Tramac/awesome-semantic-segmentation-pytorch.git
# for example, train fcn32_vgg16_pascal_voc:
python train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50
# for example, train fcn32_vgg16_pascal_voc with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50
# for example, evaluate fcn32_vgg16_pascal_voc
python eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc
# for example, evaluate fcn32_vgg16_pascal_voc with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc
cd ./scripts
#for new users:
python demo.py --model fcn32s_vgg16_voc --input-pic ../tests/test_img.jpg
#you should add 'test.jpg' by yourself
python demo.py --model fcn32s_vgg16_voc --input-pic ../datasets/test.jpg
.{SEG_ROOT}
├── scripts
│ ├── demo.py
│ ├── eval.py
│ └── train.py
모델 및 백본에 대한 세부 사항.
.{SEG_ROOT}
├── core
│ ├── models
│ │ ├── bisenet.py
│ │ ├── danet.py
│ │ ├── deeplabv3.py
│ │ ├── deeplabv3+.py
│ │ ├── denseaspp.py
│ │ ├── dunet.py
│ │ ├── encnet.py
│ │ ├── fcn.py
│ │ ├── pspnet.py
│ │ ├── icnet.py
│ │ ├── enet.py
│ │ ├── ocnet.py
│ │ ├── psanet.py
│ │ ├── cgnet.py
│ │ ├── espnet.py
│ │ ├── lednet.py
│ │ ├── dfanet.py
│ │ ├── ......
스크립트를 실행하여 다음과 같은 데이터 세트를 다운로드 할 수 있습니다.
cd ./core/data/downloader
python ade20k.py --download-dir ../datasets/ade
| 데이터 세트 | 훈련 세트 | 유효성 검사 세트 | 테스트 세트 |
|---|---|---|---|
| VOC2012 | 1464 | 1449 | ✘ |
| vocaug | 11355 | 2857 | ✘ |
| ADK20K | 20210 | 2000 | ✘ |
| 도시 스케이프 | 2975 | 500 | ✘ |
| 머리 | |||
| SBU-Shadow | 4085 | 638 | ✘ |
| 입술 (사람을보고) | 30462 | 10000 | 10000 |
.{SEG_ROOT}
├── core
│ ├── data
│ │ ├── dataloader
│ │ │ ├── ade.py
│ │ │ ├── cityscapes.py
│ │ │ ├── mscoco.py
│ │ │ ├── pascal_aug.py
│ │ │ ├── pascal_voc.py
│ │ │ ├── sbu_shadow.py
│ │ └── downloader
│ │ ├── ade20k.py
│ │ ├── cityscapes.py
│ │ ├── mscoco.py
│ │ ├── pascal_voc.py
│ │ └── sbu_shadow.py
| 행동 양식 | 등뼈 | 기차 세트 | Evalset | crops_size | 에포크 | JPU | IOU를 의미합니다 | pixacc |
|---|---|---|---|---|---|---|---|---|
| FCN32S | vgg16 | 기차 | 발 | 480 | 60 | ✘ | 47.50 | 85.39 |
| FCN16S | vgg16 | 기차 | 발 | 480 | 60 | ✘ | 49.16 | 85.98 |
| fcn8s | vgg16 | 기차 | 발 | 480 | 60 | ✘ | 48.87 | 85.02 |
| FCN32S | RESNET50 | 기차 | 발 | 480 | 50 | ✘ | 54.60 | 88.57 |
| pspnet | RESNET50 | 기차 | 발 | 480 | 60 | ✘ | 63.44 | 89.78 |
| deeplabv3 | RESNET50 | 기차 | 발 | 480 | 60 | ✘ | 60.15 | 88.36 |
참고 : lr=1e-4, batch_size=4, epochs=80 .
자세한 내용은 테스트를 참조하십시오.
.{SEG_ROOT}
├── tests
│ └── test_model.py