Object detection, Keras-style: batteries not quite included
A Keras-native RCNN implementation that trades flexibility for familiarity, then stops updating in 2019.

What it does
keras-rcnn wraps region-based CNNs (Faster R-CNN and friends) into standard Keras Model objects. You instantiate keras_rcnn.models.RCNN, compile with your favorite optimizer, and call fit_generator like it’s 2018. The library handles bounding boxes, masks, and category labels through a custom ObjectDetectionGenerator that expects a very specific JSON dictionary format—nested dictionaries all the way down.
The interesting bit
The project bets on Keras’s user-friendly API at a time when most object-detection code was raw TensorFlow soup. The data format is almost aggressively explicit: every image needs MD5 checksums, full pathnames, and bounding boxes specified as minimum/maximum dictionaries with r and c keys. It’s structured like a grant proposal, not a Python dict.
Key highlights
- Pure Keras API:
compile(),fit_generator(), standard callbacks - Built-in generators for object detection and instance segmentation
- Ships with toy shape dataset (circles, rectangles, triangles) for quick tests
- Supports external data via rigid JSON schema with checksum validation
- Slack channel for support (archaeologists welcome)
Caveats
- Pinned to TensorFlow 1.13.1, Keras 2.2.4, Python 3—effectively frozen in 2019
- No GPU guidance, no performance numbers, no pretrained weights in README
fit_generatorAPI was deprecated by Keras itself shortly after
Verdict
Grab this if you’re maintaining legacy Keras code or need a readable RCNN reference implementation. Skip it for new projects; the ecosystem has moved to PyTorch and TensorFlow 2.x, and this repo moved with it—to a complete standstill.