explaingit

rbgirshick/py-faster-rcnn

8,285PythonAudience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

A deprecated Python implementation of the Faster R-CNN object detection system that identifies and draws bounding boxes around objects in images, requiring Caffe and a GPU, users are directed to the newer Detectron project.

Mindmap

mindmap
  root((py-faster-rcnn))
    What it does
      Object detection
      Bounding box prediction
      Deprecated research code
    Tech Stack
      Python
      Caffe
      CUDA
      VGG16
    Requirements
      GPU 3 to 11 GB
      PASCAL VOC data
      Caffe build
    Audience
      CV researchers
      ML engineers
      Academic users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study the original Faster R-CNN architecture as a research reference for understanding region proposal networks.

USE CASE 2

Train a baseline object detector on PASCAL VOC data using VGG16 to reproduce 2015-era benchmark results.

USE CASE 3

Understand how combining region proposal and classification into one network made detection faster than prior two-stage methods.

USE CASE 4

Use as a historical starting point for reviewing the lineage of modern object detection frameworks like Detectron.

Tech stack

PythonCaffeCUDAMATLAB

Getting it running

Difficulty · hard Time to first run · 1day+

Requires building Caffe from source with Python bindings and a GPU with at least 3 GB VRAM, deprecated in favor of Detectron.

MIT license, use freely for any purpose including commercial use, as long as you keep the copyright notice.

In plain English

Note first: this repository has been deprecated. The authors direct users to a newer project called Detectron, which has superseded it. Faster R-CNN is a computer vision system for detecting and locating objects in images. Given a photograph, it can identify where specific things appear in the picture and draw a box around each one. The original research came out of Microsoft Research and was published in 2015. The core idea behind Faster R-CNN was to make object detection fast enough to approach real-time use by combining the region-proposal step and the classification step into a single network, rather than treating them as two separate passes. This repository is a Python reimplementation of the original code, which was written in MATLAB. The Python version is slightly slower than the MATLAB original and produces results that are close but not identical, so it is not a drop-in replacement for reproducing the original paper's exact numbers. It also adds an approximate joint training mode that is around 1.5 times faster than the alternating optimization approach described in the paper. Running the code requires a fairly involved setup. You need to build Caffe, which is a deep learning framework, along with its Python bindings. You also need a compatible GPU with several gigabytes of memory. Smaller network architectures need about 3 GB, while the larger VGG16 architecture needs roughly 11 GB for some training modes. Pre-trained model weights are downloaded separately via included scripts. Training data comes from the PASCAL VOC dataset, also downloaded separately. The project is written in Python and released under the MIT license. It was a widely referenced starting point for object detection research during its active years, which explains the high star count despite being archived.

Copy-paste prompts

Prompt 1
Explain how Faster R-CNN combines region proposal and object classification into a single neural network, and why that made it faster than previous two-stage detectors.
Prompt 2
I want to run py-faster-rcnn. Walk me through building Caffe with Python bindings on Ubuntu step by step.
Prompt 3
How do I fine-tune the VGG16 Faster R-CNN model on a custom dataset with categories different from PASCAL VOC?
Prompt 4
What succeeded py-faster-rcnn in the Detectron project, and how does the training and inference workflow compare between them?
Open on GitHub → Explain another repo

← rbgirshick on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.