// the find
open-mmlab/mmdetection
OpenMMLab Detection Toolbox and Benchmark
MMDetection is OpenMMLab's PyTorch object detection framework covering ~50 architectures from Faster R-CNN through DINO and Grounding DINO. It's aimed at researchers who want reproducible baselines and practitioners who need a config-driven way to swap backbones, necks, and heads without rewriting training loops. The breadth is the point — this is a benchmark suite as much as a library.
The config inheritance system is genuinely well-designed: a Faster R-CNN with ResNet-50 shares 95% of its config with one using Swin-L, and the diff is readable. Pre-trained weights for almost every architecture are provided with reproducible COCO numbers, which saves days of debugging 'why doesn't my number match the paper'. RTMDet is a real contribution — 52.8 AP at 322 FPS on a 3090 is not marketing, and it's available in tiny-to-extra-large sizes. The modular registry system (backbone/neck/head as independent components) makes it straightforward to plug in a custom backbone without forking the whole repo.
Last push was August 2024 and the OpenMMLab ecosystem is showing maintenance fatigue — several subprojects have already gone quiet. The dependency chain (mmcv, mmengine, then mmdetection) has historically been a version compatibility nightmare; installing a specific combination that actually works together takes trial and error. The config system that makes swapping easy also makes debugging hard — when something fails, the error is often buried several layers of registry lookups deep. No serious support for anything beyond COCO-style 2D detection: if you need rotated boxes, video, or 3D, you're pushed to MMRotate/MMDetection3D which are separate repos with their own dependency versions.