/hed

Primary LanguagePython

Reimplementation of HED based on official version of caffe

For training:

  1. Clone this code by git clone https://github.com/zeakey/hed --recursive, assume your source code directory is$HED;

  2. Download training data from the original repo, and extract it to $HED/data/;

  3. Build caffe with bash $HED/build.sh, this will copy reimplemented loss layer to caffe folder first;

  4. Download initial model and put it into $HED/model/;

  5. Generate network prototxts by python model/hed.py;

  6. Start to train with cd $HED && python train.py --gpu GPU-ID 2>&1 | tee hed.log.

For testing:

  1. Download pretrained model $HED/snapshot/;

  2. Generate testing network prototxt by python $HED/model/hed.py(will generate training network prototxt as well);

  3. Run cd $HED && python forward_all();

Performance evaluation

I achieved ODS=0.779 on BSDS500 dataset, which is similar to HED's 0.78. Your can train your own model and evaluate using this code.

Pretrained models and detection results:

Orig-HED My-HED
Pretrained model Pretrained model
BSDS results BSDS results
Evaluation results Evaluation results

All detection results on the BSDS500 testing set and the pretrained models are provided. For example, the detected results of '3063.jpg' by the original HED and my implementation are shown below:

http://data.kaiz.xyz/edges/detection_results/hed_pretrained_bsds/3063.png

http://data.kaiz.xyz/edges/detection_results/my_hed_bsds/3063.png

You can preview results of all other images by replacing the filename in the above url.


By KAI ZHAO