Reimplementation of HED based on official version of caffe
-
Clone this code by
git clone https://github.com/zeakey/hed --recursive
, assume your source code directory is$HED
; -
Download training data from the original repo, and extract it to
$HED/data/
; -
Build caffe with
bash $HED/build.sh
, this will copy reimplemented loss layer to caffe folder first; -
Download initial model and put it into
$HED/model/
; -
Generate network prototxts by
python model/hed.py
; -
Start to train with
cd $HED && python train.py --gpu GPU-ID 2>&1 | tee hed.log
.
-
Download pretrained model
$HED/snapshot/
; -
Generate testing network prototxt by
python $HED/model/hed.py
(will generate training network prototxt as well); -
Run
cd $HED && python forward_all()
;
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.
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