BING Objectness proposal estimator Matlab wrapper. More in
C++ Matlab C Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Update Oct 16, 2015
BINGSingle.mexw64 fixed bugs Oct 25, 2015
Example_BINGSingle.m Update Oct 16, 2015
LICENSE Initial commit Oct 15, 2015
MxArray.cpp Initial commit Oct 15, 2015
PerImgAll.m Initial commit Oct 15, 2015
PlotsCVPR14.m Initial commit Oct 15, 2015
PosNeg.m Initial commit Oct 15, 2015 update Oct 16, 2015
compile.m fixed bugs Oct 26, 2015
trainBING.cpp Initial commit Oct 15, 2015

BING Objectness

BING Objectness proposal estimator Matlab (mex-c) wrapper, runs at 80 FPS at an i5-3210M CPU (2.5GHz) in MATLAB 2014b environment with Windows 7 64-bit and VS2012 as the compiler. Compared with the original version written in C++ provided by Ming-Ming Cheng, which runs at 150FPS, it might needs to be further optimized.


This is the matlab wrapper of BING Objectness for efficient objectness proposal estimator following the CVPR 2014 paper BING, please consider to cite and refer to this paper.

@inproceedings{BingObj2014, title={{BING}: Binarized Normed Gradients for Objectness Estimation at 300fps}, author={Ming-Ming Cheng and Ziming Zhang and Wen-Yan Lin and Philip H. S. Torr}, booktitle={IEEE CVPR}, year={2014}, }

The original author Ming-Ming Cheng has already released the source code for windows 64-bit platform, and Tianfei Zhou has provided the MATLAB code for the linux/mac users.

I modified some files in order to fit the VS2012 compiler so that MATLAB users in windows can easily reproduce the results in the paper or use BING for some other applications.


In order to make the code running, you need to download the images/annotations PASCAL VOC 2007 data from the link: VOC2007.

Please refer to the FAQs #2 in for more details about how to prepare for the VOC2007 dataset.

How To Use

  • compile.m - For re-compile the files.
  • trainBING.cpp - For training BING Objectness.
  • BINGMultiple.cpp - For reproducing the results of the original paper.
  • BINGSingle.cpp - For users to use BING on a single image.

Note that the function trainBING is a bit needless because BINGMultiple and BINGSingle themselves will learn the models if they do not exists.

You can run Example_BINGMultiple.m to reproduce the results in the origin paper, and a script called PerImgAll.m will be generated in your VOC2007 folder. You can use the script as well as PlotsCVPR14.m to plot the Figure 3 in the paper.

I have tested the code in Windows 7 64-bit (8G Memory) and Matlab R2014b and OpenCV3.0, and it produces the same accuracy results as the original windows version, except that it runs at 80 FPS compared to 300 FPS reported in the paper, due to lower main frequency of the CPU in my laptop.

Please contact me ( or create an issue if you have problems to run the codes.

Other Source Code Repos