rcnn  by rbgirshick

Object detection system using CNNs and region proposals

created 11 years ago
2,395 stars

Top 19.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides the original R-CNN (Regions with Convolutional Neural Network Features) codebase, a pioneering object detection system. It targets researchers and practitioners interested in the historical development of deep learning for computer vision, offering a foundational understanding of region-based object detection.

How It Works

R-CNN combines a bottom-up region proposal method (Selective Search) with features extracted by a deep Convolutional Neural Network (CNN). Proposed regions are warped and fed into a CNN to generate rich feature vectors. These features are then used to train category-specific SVMs for classification and a linear regression model for bounding box refinement, achieving state-of-the-art performance at the time of its release.

Quick Start & Requirements

  • Install: Requires MATLAB and Caffe (specifically version v0.999).
  • Prerequisites: MATLAB (tested with 2012b on 64-bit Linux), Caffe v0.999 with MATLAB wrapper compiled (make matcaffe), ImageNet auxiliary data (./get_ilsvrc_aux.sh), and the R-CNN source code. CUDA and MKL libraries must be in LD_LIBRARY_PATH.
  • Setup: Involves cloning the repo, creating a symlink to Caffe, downloading pre-computed models (1.5GB), and potentially pre-computed selective search boxes.
  • Demo: Run rcnn_demo within MATLAB after setup.
  • Docs: https://github.com/rbgirshick/rcnn

Highlighted Details

  • Achieved 53.3% mAP on PASCAL VOC 2012, a 30% relative improvement over prior methods.
  • Supports training custom detectors on datasets with bounding box annotations.
  • Includes code for fine-tuning CNNs for detection using Caffe.
  • Models available for PASCAL VOC 2007, 2010, 2012, and ILSVRC13.

Maintenance & Community

This codebase is explicitly stated as "no longer maintained and exists as a historical artifact." It is a supplement to academic papers.

Licensing & Compatibility

Released under the Simplified BSD License. Compatible with commercial use.

Limitations & Caveats

The code is outdated and not compatible with current Caffe versions. It requires specific, older dependencies (Caffe v0.999) and MATLAB, making setup complex and potentially fragile. The README notes that training requires significant disk space (200GB for feature cache) and considerable time (8-9 hours per chunk on a powerful GPU/CPU setup).

Health Check
Last commit

8 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
11 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.