Anchor-Free Object Detection (FCOS)

An end-to-end one-stage object detector implementation achieving 45 FPS on A100 GPUs.

Overview

This project involves the implementation of a high-performance Anchor-Free Object Detection (FCOS) system. Moving away from traditional anchor-based methods, this one-stage detector simplifies the training process and improves inference speed without compromising accuracy.

Key Technical Achievements

  • Architecture Implementation: Built an end-to-end FCOS detector using a ResNet–FPN (Feature Pyramid Network) backbone in PyTorch.
  • Loss Functions: Implemented and tuned Focal Loss for class imbalance and GIoU (Generalized Intersection over Union) Loss for precise bounding box regression. Added a “centerness” head to suppress low-quality detections.
  • Performance:
    • Achieved 37.9% mAP on the Pascal VOC dataset (2007 + 2012), outperforming the baseline by 2.4% through multi-scale augmentation techniques.
    • Engineered a high-throughput inference pipeline capable of 45 FPS on A100 GPUs.
  • Optimization: Utilized vectorized box decoding, confidence thresholding, and batched NMS (Non-Maximum Suppression) to maximize speed.
  • Tools: Developed custom visualization tools for real-time training diagnostics to monitor convergence and prediction quality.

Tech Stack

  • Python, PyTorch
  • Computer Vision (ResNet, FPN)
  • CUDA Optimization