Git Product home page Git Product logo

adaptive_feeding's Introduction

Adaptive Feeding: Achieving Fast and Accurate Detections by Adaptively Combining Object Detectors

Code in Python 2.7 for paper in ICCV 2017.

Note

This code aims at reproducing the experimental results when combining R-FCN and SSD300 reported in the paper. If you want to replace R-FCN with SSD500, the procedure can be quite simple.

Step 1

Since we use SSD and R-FCN in our experiments, it is necessary to merge branches in Single Shot Multibox Detector and R-FCN. You can either do this by yourself or simply compile our code on the basis of Single Shot Multibox Detector, which means you should download the SSD CAFFE BRANCH before running our code and configure the DATASET (especially Pascal VOC) following the instruction written by Wei Liu.

Step 2

In this step you may need to download our code and merge it into aforementioned caffe folder. Now your folder should be structured like this:

caffe-ssd

cmake

AF

output_files

data

docker

docs

examples

include

matlab

python

models

scripts

src

tools

.......

Our code lies in AF/ and we also provide indices of images in output_files/. Please do remember to download our models and put them under AF/. Now you might have such a structure

AF

cal_mAP

indices

R-FCN

SSD300

SVM

tiny_yolo

......

Step 3

After configure the dataset path and caffe branch, you are able to run our code (besides, you might still need to modify some variables in the code, like home_path in all four python files)

cd caffe-ssd/
# Get Easy vs. Hard split
python AF/get_Easy_Hard.py
# Train an AF classifier
python AF/train_AF.py
# Get the mAP of the combination
python AF/cal_mAP.py

For your convenience, we already provided extracted proposals from Tiny-YOLO (under AF/tiny_yolo). If you want to speed up the detection process, implementing the YOLO under caffe is necessary. Please refer to caffe-YOLO.

Miscellaneous

In addition to the official experimental code, we also provided a file named video_demo.py under AF/ in order to help you make a demo like this. To produce such a video, you need to follow the instructions in code and employ ffmpeg to organize frames. If you have any question, please feel free to contact me at [email protected].

adaptive_feeding's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.