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.
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).
- Install prerequisites for Caffe (http://caffe.berkeleyvision.org/installation.html#prequequisites).
- Build HED (https://github.com/s9xie/hed). Supposing the root directory of HED is
$HED
. - Copy the folder
SRN
to$HED/example/
.
- 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.
- Download the Pre-trained VGG [3] model (VGG19). Copy it to
$HED/example/SRN/
- Change the dataset path in '$HED/example/SRN/train_val.prototxt'
- Run
solve.py
in shell (or you could use IDE like Eclipse)
cd $HED/example/SRN/
python solver.py
- Change the dataset path in
$HED/example/SRNtest.py
. - run
SRNtest.py
.
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.
SRN model on Sym-PASCAL Pre-trained SRN model on Sym-PASCAL: (OneDrive) or (BaiduYun)
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
BSDS500: (OneDrive)
Wei Ke (@KevinKecc) [email protected]
@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