Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bodokaiser/piwise
Pixel-wise segmentation on VOC2012 dataset using pytorch.
https://github.com/bodokaiser/piwise
computer-vision fcn pytorch segnet semantic-segmentation
Last synced: about 2 months ago
JSON representation
Pixel-wise segmentation on VOC2012 dataset using pytorch.
- Host: GitHub
- URL: https://github.com/bodokaiser/piwise
- Owner: bodokaiser
- License: bsd-3-clause
- Created: 2017-03-21T08:05:59.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-26T14:04:41.000Z (over 5 years ago)
- Last Synced: 2024-04-15T09:12:33.177Z (about 2 months ago)
- Topics: computer-vision, fcn, pytorch, segnet, semantic-segmentation
- Language: Python
- Size: 51.8 KB
- Stars: 384
- Watchers: 14
- Forks: 88
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Lists
- Awesome-pytorch-list - piwise - wise segmentation on VOC2012 dataset using pytorch. (Paper implementations / Other libraries:)
- Awesome-pytorch-list-CNVersion - piwise
- CV-pretrained-model - piwise - wise segmentation on VOC2012 dataset using pytorch. | `PyTorch`| [BSD 3-Clause License]( https://raw.githubusercontent.com/bodokaiser/piwise/master/LICENSE.md ) (Model Deployment library / PyTorch <a name="pytorch"/>)
README
# PiWiSe
Pixel-wise segmentation on the [VOC2012][dataset] dataset using
[pytorch][pytorch].- [x] [FCN](https://arxiv.org/abs/1605.06211)
- [x] [SegNet](https://arxiv.org/abs/1511.00561)
- [ ] [PSPNet](https://arxiv.org/abs/1612.01105)
- [x] [UNet](https://arxiv.org/abs/1505.04597)
- [ ] [RefineNet](https://arxiv.org/abs/1611.06612)**For a more complete implementation of segmentation networks checkout [semseg](https://github.com/meetshah1995/pytorch-semseg).**
Note:
- FCN differs from original implementation see [this issue](https://github.com/bodokaiser/piwise/issues/4)
- SegNet does not match original paper performance see [here](https://github.com/bodokaiser/piwise/issues/3)
- PSPNet misses "atrous convolution" (conv layers of ResNet101 should be amended to preserve image size)Keeping this in mind feel free to PR. Thank you!
## Setup
See dataset examples [here][dataset_example].
### Download
Download [image archive][dataset_download] and extract and do:
```
mkdir data
mv VOCdevkit/VOC2012/JPEGImages data/images
mv VOCdevkit/VOC2012/SegmentationClass data/classes
rm -rf VOCdevkit
```### Install
We recommend using [pyenv][pyenv]:
```
pyenv virtualenv 3.6.0 piwise
pyenv activate piwise
```then install requirements with `pip install -r requirements.txt`.
## Usage
For latest documentation use:
```
python main.py --help
```Supported model parameters are `fcn8`, `fcn16`, `fcn32`, `unet`, `segnet1`,
`segnet2`, `pspnet`.### Training
If you want to have visualization open an extra tab with:
```
python -m visdom.server -port 5000
```Train the SegNet model 30 epochs with cuda support, visualization
and checkpoints every 100 steps:```
python main.py --cuda --model segnet2 train --datadir data \
--num-epochs 30 --num-workers 4 --batch-size 4 \
--steps-plot 50 --steps-save 100
```### Evaluation
Then we want to do semantic segmentation on `foo.jpg`:
```
python main.py --model segnet2 --state segnet2-30-0 eval foo.jpg foo.png
```The segmented class image can now be found at `foo.png`.
[pyenv]: https://github.com/pyenv/pyenv
[pytorch]: http://pytorch.org
[dataset]: http://host.robots.ox.ac.uk/pascal/VOC/
[dataset_example]: http://host.robots.ox.ac.uk/pascal/VOC/voc2012/segexamples
[dataset_download]: http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar### Results
These are some results based on segnet after 40 epoches. Set
```python
loss_weights[0] = 1 / 1
```
to deal gracefully with the unbalanced problem.
Input
Output
Ground Truth