Side-output Residual Network for Object Symmetry Detection in the Wild
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
AnnoTool
MT-SRN
SRN
README.md

README.md

SRN

This code is for the paper "Side-output Residual Network for Object Symmetry Detection in the Wild". pdf

SRN is build on Holistically-Nested Edge Detection (HED) [1] with Residual Unit (RU). RU is used to compute the residual between output image and side-output of SRN. The comparision of the symmetry results of HED and SRN are shown below. The first row is from our SRN and the second row is from HED. From left to right, it illustrates the final output, the side-output1 to side-output5, respectively.

From the results, it's easily to understande that the output residual decreases orderly from the deepest side-ouput to the final output (ringht-to-left).

Installing

  1. Install prerequisites for Caffe (http://caffe.berkeleyvision.org/installation.html#prequequisites).
  2. Build HED (https://github.com/s9xie/hed). Supposing the root directory of HED is $HED.
  3. Copy the folder SRN to $HED/example/.

Training

  1. Download benchmark Sym-PASCAL trainning and testing set (OneDrive) or (BaiduYun). Our dataset Sym-PASCAL derived from PASCAL 2011 segmentation dataset [1]. The annotation and statistics are detailed in the Section 3 in our paper.
  2. Download the Pre-trained VGG [3] model (VGG19). Copy it to $HED/example/SRN/
  3. Change the dataset path in '$HED/example/SRN/train_val.prototxt'
  4. Run solve.py in shell (or you could use IDE like Eclipse)
cd $HED/example/SRN/
python solver.py

Testing

  1. Change the dataset path in $HED/example/SRNtest.py.
  2. run SRNtest.py.

Evaluation

We use the evaluation code of [3] to draw the PR curve. The code can be download spb-mil.

NOTE: Before evaluation, the NMS is utilized. We use the NMS code in Piotr's edges-master.

Pre-trained SRN model on Sym-PASCAL

Pre-trained SRN model on Sym-PASCAL: (OneDrive) or (BaiduYun)

The PR curve data for symmetry detection

Sym-PASCAL: (OneDrive) or (BaiduYun)

SYMMAX: (OneDrive) or (BaiduYun)

WH-SYMMAX: (OneDrive) or (BaiduYun) mostly taken from http://wei-shen.weebly.com/publications.html

SK506: (OneDrive) or (BaiduYun) mostly taken from http://wei-shen.weebly.com/publications.html

The PR curve data for edge detection

BSDS500: (OneDrive)

Ref

[1] S. Xie and Z. Tu. Holistically-nested edge detection. In International Conference on Computer Vision, 2015

[2] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results. http://www.pascal-network.org/challenges/VOC/voc2011/workshop/index.html.

[3] S. Tsogkas and I. Kokkinos. Learning-based symmetry detection in natural images. In European Conference on Computer Vision