forked from MarvinTeichmann/KittiSeg
-
Notifications
You must be signed in to change notification settings - Fork 2
/
guide.txt
100 lines (61 loc) · 2.77 KB
/
guide.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
----- SYSTEM SETUP -----
Ubunut 16.04
python 2.7
https://medium.com/repro-repo/install-cuda-and-cudnn-for-tensorflow-gpu-on-ubuntu-79306e4ac04e
- NVIDIA binary driver - version 384.130 from nvidia-384 (proprietary, tested)
- CUDA Version 8.0.61
- CUDNN 6 0 21
ANACONDA
- can be done with or without anaconda
- download anaconda (end of page): https://www.anaconda.com/products/individual#linux
- install conda dependencies and anaconda (https://docs.anaconda.com/anaconda/install/linux/)
- you can deactivate the auto base environment on new shell by: $ conda config --set auto_activate_base false
- $ conda create --name "name" python=2.7
- $ conda activate "name"
$ pip install tensorflow-gpu==1.4
$ git clone https://github.com/srv/Posidonia-semantic-segmentation
$ cd Posidonia-semantic-segmentation/vgg16fcn8
$ pip install -r requirements.txt
$ git submodule update --init --recursive
create DATA and RUNS folders
$ mkdir DATA
$ mkdir RUNS
Download weights folder from README.md and put it into de DATA folder
exec reshape.py to reshape images and gt to 480x360
$ python3 reshape.py --im_path_in path/to/files/im/ --im_path_out path/out/ --read_mode RGB
$ python3 reshape.py --im_path_in path/to/files/gt/ --im_path_out path/out/ --read_mode P
exec adapt_gt to adapt the ground truth (gt_color)
$ python3 adapt_gt.py --gt_path_in path/to/files/gt/ --gt_path_out path/out/ --read_mode P
exec maketxt.py to generate the txt containing the information of train, validation and test images
$ python3 maketxt.py --data_path path/to/"dataset_name"/
move training and testing folders, along with the generated txt's to vgg16fcn8/DATA/"dataset_name"/
DATA folder structure:
- weights/vgg.npy
-"dataset_name"/
- training/
- images/
- gt_images/
- testing/
- images/
- gt_images/
- testing.txt
- train3.txt
- val3.txt
----- TRAIN -----
modiffy hyperparameters (hypes file) in hypes/hypes.json
exec training
$ python train.py --hypes hypes/hypes.json
----- INFERENCE -----
exec inference
$ python inference.py --RUN run --data_file DATA/"dataset_name"/testing.txt
exec freeze if wanted
$ python3 freeze.py --RUN run
exec evaluate_frozen if wanted
$ python3 inference_frozen.py --path_model path/to/folder/containing/pb --data_path path/to/folder/with/images
----- EVALUATION -----
exec set_thr.py to get the final label maps,
$ python3 set_thr.py --im_path_in path/to/grey/images/ --im_path_out path/out/ --threshold thr
exec eval.py to evaluate the segmentation
$ python3 eval.py --im_path_gt path/to/gt/bw/ --im_path_test path/to/test/bw/ --read_mode P
exec view_error.py to see where the missclassifications are
% python3 view_error.py --im_path_gt path/to/gt/bw/ --im_path_test path/to/test/bw"/ --im_path_out path/out/ --read_mode P