# object-proposals **Repository Path**: xingkongliang/object-proposals ## Basic Information - **Project Name**: object-proposals - **Description**: Repository containing wrapper to obtain various object proposals easily - **Primary Language**: Matlab - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-04-01 - **Last Updated**: 2024-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Object Proposals ================ This is a library/API which can be used to generate bounding box/region proposals using a large number of the existing object proposal approaches. If you use use our library, please cite our paper: @misc{1505.05836, Author = {Neelima Chavali and Harsh Agrawal and Aroma Mahendru and Dhruv Batra}, Title = {Object-Proposal Evaluation Protocol is 'Gameable'}, Year = {2015}, Eprint = {arXiv:1505.05836}, } * It is fully supported on Linux and partially supported on Mac OS. * Rigor, Randomized Prim are NOT supported on Mac OS. * Rigor requires installation of [boost][boost], [tbb][tbb] libraries. * Geodesic Object Proposals require c++11 compiler (C++ 4.7 or higher) and [eigen][eigen] (3.2 or higher). Compiling --------- 1. Run `compile.m` Generating Proposals -------------------- 1. Copy over `config.json.example` to `config.json` and set `imageLocation` and `outputLocation`. 2. Initialize path variables. ``` initialize; ``` 3. Generate proposals, using either of the following commands. ``` proposals = runObjectProposals('', 'path\to\image.jpg'); OR im = imread('path\to\image.jpg'); proposals = runObjectProposals('', im); ``` 4. For long-running jobs, use the following command. ``` runObjectProposals(''); ``` This will generate proposals for all the images in `imageLocation` and save the proposals in `outputLocation`. `` is the object proposal to be run. List of possible object proposal names: * `edgeBoxes` [1] * `endres` [2] * `mcg` [3] * `objectness` [4] * `rahtu` [5] * `randomPrim` [6] * `rantalankila` [7] * `selective_search` [8] * `rigor` [9] * `gop` [10] * `lpo` [11] **Note** RIGOR requires [boost][boost] and [tbb][tbb] libraries. Please follow the instructions given [here](https://docs.google.com/document/d/19hEkfpPsRYnYHBBmWxI-EMFPkkO-fhhDx8Js4HFrKv8) to setup these libraries. Evaluating Proposals -------------------- A ground truth file needs to be generated for the dataset. We have provided the file for PASCAL 2007 test set. The following code assumes you have generated proposals for all images in the dataset for which you want to evaluate for each proposal in your `config.json` file. ### Evaluation using recall curves & area under recall curves 1. Load ground truth. ``` testset=load('evaluation-metrics/data/pascal_gt_data.mat'); ``` 2. Generate best recall candidates. ``` compute_best_recall_candidates(testset,configjson,''); ``` 'proposalname' is an optional argument. If not provided, the function works for all the object proposals listed above. 3. Plot RECALL/AUC curves. ``` evaluateMetricForProposal('RECALL',''); evaluateMetricForProposal('AUC','