Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tkuanlun350/Tensorflow-SegNet
Implement slightly different caffe-segnet in tensorflow
https://github.com/tkuanlun350/Tensorflow-SegNet
Last synced: 3 months ago
JSON representation
Implement slightly different caffe-segnet in tensorflow
- Host: GitHub
- URL: https://github.com/tkuanlun350/Tensorflow-SegNet
- Owner: tkuanlun350
- License: mit
- Created: 2016-09-20T09:22:40.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-11-03T15:06:56.000Z (about 7 years ago)
- Last Synced: 2024-05-19T23:36:50.180Z (6 months ago)
- Language: Python
- Size: 113 KB
- Stars: 368
- Watchers: 32
- Forks: 165
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tensorflow-SegNet
Implement slightly different (see below for detail) [SegNet](http://arxiv.org/abs/1511.00561) in tensorflow,
successfully trained segnet-basic in CamVid dataset.Due to indice unravel still unavailable in tensorflow, the original upsampling
method is temporarily replaced simply by deconv( or conv-transpose) layer (without pooling indices).
You can follow the issue here: https://github.com/tensorflow/tensorflow/issues/2169
(The current workaround for unpooling layer is a bit slow because it lacks of GPU support.)for model detail, please go to https://github.com/alexgkendall/caffe-segnet
# Requirement
tensorflow 1.0
Pillow (optional, for write label image)
scikit-image# Update
Update to tf 1.0
Finally get some time to refactor a bit, removing some un-used function and
remove the hard-coded file path Now the model should be easy to config.
The parameters can be found in main.py.I planned to add more feature such as dilation, multi-resolution, sequential learning..etc.
Making it more like a "basic" segmentation toolbox and support more dataset as well.
Therefore the model and documentation will be changed accordingly in the future.More utility function will be added and some messed coding style will be fixed.
Any feature request is also welcomed.# Usage
see also example.sh
training:python main.py --log_dir=path_to_your_log --image_dir=path_to_CamVid_train.txt --val_dir=path_to_CamVid_val.txt --batch_size=5
finetune:
python main.py --finetune=path_to_saved_ckpt --log_dir=path_to_your_log --image_dir=path_to_CamVid_train.txt --val_dir=path_to_CamVid_val.txt --batch_size=5
testing:
python main.py --testing=path_to_saved_ckpt --log_dir=path_to_your_log --test_dir=path_to_CamVid_train.txt --batch_size=5 --save_image=True
You can set default path and parameters in main.py line 6~18.
note: in --testing you can specify whether to save predicted images, currently only save one image
for manually checking, will be configured to be more flexible.# Dataset
This Implement default to use CamVid dataset as described in the original SegNet paper,
The dataset can be download from author's github https://github.com/alexgkendall/SegNet-Tutorial in the CamVid folderexample format:
"path_to_image1" "path_to_corresponded_label_image1",
"path_to_image2" "path_to_corresponded_label_image2",
"path_to_image3" "path_to_corresponded_label_image3",
.......