← all repositories
DetectionTeamUCAS/R2CNN_Faster-RCNN_Tensorflow

Faster-RCNN learns to tilt: detecting objects that refuse to stay straight

A TensorFlow re-implementation that adds rotated bounding boxes to the classic two-stage detector, aimed at aerial imagery and scene text where horizontal boxes miss most of the target.

584 stars Python Computer Vision
R2CNN_Faster-RCNN_Tensorflow
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

This repo is a TensorFlow re-implementation of R²CNN, grafting rotational region detection onto a standard Faster-RCNN backbone. It predicts oriented bounding boxes instead of axis-aligned ones, which matters when your objects—ships, text blocks, storage tanks—sit at arbitrary angles. The authors note they adopted the paper’s idea rather than replicating it exactly.

The interesting bit

The project targets the DOTA aerial-image dataset, where horizontal detectors famously struggle. The leaderboard tables show R²CNN hitting 60.67 mAP on oriented detection versus Faster-RCNN’s 52.93—a meaningful but not dominant gap, with later methods (ICN, R²CNN++) pulling further ahead. The code also runs face detection and ICDAR2015 text benchmarks, suggesting the rotational head generalizes across domains.

Key highlights

  • Supports ResNet-50/101 and MobileNet v2 backbones via ImageNet pre-training
  • Includes trained model weights and demo scripts for DOTA, FDDB, and live camera input
  • Requires TensorFlow ≥ 1.2, CUDA 8.0, and Python 2.7 (Anaconda recommended)
  • Data pipeline expects VOC-style XML annotations; includes cropping utilities for DOTA’s oversized images
  • Cython extensions for box utilities need manual compilation before training or inference

Caveats

  • Python 2.7 and TensorFlow 1.x in 2024: expect dependency archaeology
  • Setup is manual and scattered across multiple scripts (compile, convert to TFRecord, edit config files, copy config contents into cfgs.py)
  • The authors explicitly state this is not an exact re-implementation; reproducibility versus the original paper is unclear

Verdict

Worth a look if you need a working oriented-detection baseline in TensorFlow 1.x and can tolerate legacy tooling. Everyone else should probably chase the R²CNN++ paper or newer PyTorch implementations instead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.