/SRN

Side-output Residual Network for Object Symmetry Detection in the Wild

Primary LanguageMATLABMIT LicenseMIT

This code is for the CVPR17 paper "Side-output Residual Network for Object Symmetry Detection in the Wild" pdf and TNNLS paper "SRN: Side-Output Residual Network for Object Reflection Symmetry Detection and Beyond" pdf.

Introduction

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).

Getting started

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/.

Data preparation

  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.

Training

  1. Download the Pre-trained VGG [3] model (VGG19). Copy it to $HED/example/SRN/
  2. Change the dataset path in '$HED/example/SRN/train_val.prototxt'
  3. 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.

Model zoo

model

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

results

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)

Repository Contributor

Wei Ke (@KevinKecc) wei.ke@xjtu.edu.cn

Citation

@inproceedings{conf/cvpr/KeCJZY17, author = {Wei Ke and Jie Chen and Jianbin Jiao and Guoying Zhao and Qixiang Ye}, title = {{SRN:} Side-Output Residual Network for Object Symmetry Detection in the Wild}, booktitle = {{IEEE} Conference on Computer Vision and Pattern Recognition}, pages = {302--310}, year = {2017} } @article{journals/tnn/KeCJZY21, author = {Wei Ke and Jie Chen and Jianbin Jiao and Guoying Zhao and Qixiang Ye}, title = {{SRN:} Side-Output Residual Network for Object Reflection Symmetry Detection and Beyond}, journal = {{IEEE} Trans. Neural Networks Learn. Syst.}, volume = {32}, number = {5}, pages = {1881--1895}, year = {2021} }

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