Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
D-X-Y committed Jul 12, 2018
1 parent 0e7a696 commit 6c8a0b5
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 188 deletions.
57 changes: 0 additions & 57 deletions LICENSE

This file was deleted.

3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -4,7 +4,8 @@ By Xuanyi Dong, Liang Zheng, Fan Ma, Yi Yang, Deyu Meng

### Introduction

This framework aims to solve the few-example object detection problem, in which there are only a few images with bounding box annotations per object class and a large number of images without annotations. The framework combines self-paced learning and multi-modal learning, and we call it Multi-modal Self-Paced Learning for Detection (MSPLD). The code is modified from [R-FCN](https://github.com/daijifeng001/R-FCN).
This framework aims to solve the few-example object detection problem, in which there are only a few images with bounding box annotations per object class and a large number of images without annotations. The framework combines self-paced learning and multi-modal learning, and we call it Multi-modal Self-Paced Learning for Detection (MSPLD). The code is modified from [R-FCN](https://github.com/daijifeng001/R-FCN) and [Faster RCNN](https://github.com/shaoqingren/faster_rcnn).
Note that few-example object detection is a kind of semi-supervised object detection.

MSPLD was accepted to [TPAMI 2018](https://ieeexplore.ieee.org/document/8374906/).

Expand Down
11 changes: 11 additions & 0 deletions external/README.md
@@ -0,0 +1,11 @@
# External Library

## Caffe
Caffe is provided the `caffe` directory.

## Information
In our ablative studies, we use the Non-overlapping ImageNet-Voc and Non-overlapping ImageNet-COCO to pre-train the classification models.
The Non-overlapping ImageNet-Voc is the ImageNet-1k data without the PASCAL VOC 20 classes, and the Non-overlapping ImageNet-COCO is similar to Non-overlapping ImageNet-VOC.
The `information` directory contains the classes in the Non-overlapping ImageNet-Voc and the Non-overlapping ImageNet-COCO.

See the list file : `ImageNet-1000.coco` and `ImageNet-1000.pvoc`. As these two lists are manually labeled by myself, there might be some mistakes.
111 changes: 0 additions & 111 deletions external/visual/visual.py

This file was deleted.

23 changes: 6 additions & 17 deletions functions/weakly/online/prepare_online_voc.m
@@ -1,22 +1,11 @@
function res_name = prepare_online_voc(cls, boxes, imdb, cache_name, suffix)
% res = imdb_eval_voc(cls, boxes, imdb, suffix)
% Use the VOCdevkit to evaluate detections specified in boxes
% for class cls against the ground-truth boxes in the image
% database imdb. Results files are saved with an optional
% suffix.
% --------------------------------------------------------
% MSPLD implementation
% Modified from MATLAB Faster R-CNN (https://github.com/shaoqingren/faster_rcnn)
% Copyright (c) 2018, Xuanyi Dong
% Licensed under The MIT License [see LICENSE for details]
% --------------------------------------------------------

% AUTORIGHTS
% ---------------------------------------------------------
% Copyright (c) 2014, Ross Girshick
%
% This file is part of the R-CNN code and is available
% under the terms of the Simplified BSD License provided in
% LICENSE. Please retain this notice and LICENSE if you use
% this file (or any portion of it) in your project.
% ---------------------------------------------------------

% Add a random string ("salt") to the end of the results file name
% to prevent concurrent evaluations from clobbering each other
use_res_salt = true;
% comp4 because we use outside data (ILSVRC2012)
comp_id = 'comp4';
Expand Down
5 changes: 5 additions & 0 deletions functions/weakly/online/weakly_online_test.m
@@ -1,3 +1,8 @@
%###########################################################################
%## Copyright (c) 2018-present, Xuanyi Dong ###
%## Few-Example Object Detection with Model Communication ###
%## IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018 ###
%###########################################################################
function res = weakly_online_test(confs, imdb, roidb, varargin)
ip = inputParser;
ip.addRequired('confs', @iscell);
Expand Down
5 changes: 5 additions & 0 deletions functions/weakly/supervise/weakly_train_mode.m
@@ -1,3 +1,8 @@
%###########################################################################
%## Copyright (c) 2018-present, Xuanyi Dong ###
%## Few-Example Object Detection with Model Communication ###
%## IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018 ###
%###########################################################################
function mode = weakly_train_mode( conf )
if ( conf.regression )
if (conf.fast_rcnn)
Expand Down
6 changes: 6 additions & 0 deletions functions/weakly/utils/rfcn_bbox_transform.m
@@ -1,3 +1,9 @@
% --------------------------------------------------------
% MSPLD implementation
% Modified from MATLAB Faster R-CNN (https://github.com/shaoqingren/faster_rcnn)
% Copyright (c) 2018, Xuanyi Dong
% Licensed under The MIT License [see LICENSE for details]
% --------------------------------------------------------
function [regression_label] = rfcn_bbox_transform(ex_boxes, gt_boxes)

ex_widths = ex_boxes(:, 3) - ex_boxes(:, 1) + 1;
Expand Down
6 changes: 6 additions & 0 deletions functions/weakly/utils/rfcn_bbox_transform_inv.m
@@ -1,3 +1,9 @@
% --------------------------------------------------------
% MSPLD implementation
% Modified from MATLAB Faster R-CNN (https://github.com/shaoqingren/faster_rcnn)
% Copyright (c) 2018, Xuanyi Dong
% Licensed under The MIT License [see LICENSE for details]
% --------------------------------------------------------
function [pred_boxes] = rfcn_bbox_transform_inv(boxes, box_deltas)

src_w = double(boxes(:, 3) - boxes(:, 1) + 1);
Expand Down
2 changes: 0 additions & 2 deletions functions/weakly/weakly_co_train_v3.m
Expand Up @@ -123,8 +123,6 @@
pre_keeps = zeros(numel(unsupervise_ids), numel(models));

% rng_seed 5; per_sample 3;
%Init_Per_Select = [40, 12, 10, 20, 20, 10, 50, 25, 15, 10,...
% 20, 15, 15, 30, 15, 15, 15, 20, 40, 35];
Init_Per_Select = [40, 12, 10, 20, 20, 10, 50, 25, 15, 10,...
20, 15, 15, 30, 15, 15, 15, 20, 40, 35];
%% Start Training
Expand Down

0 comments on commit 6c8a0b5

Please sign in to comment.