How jwyang/fpn.pytorch works
This repository implements PyTorch Feature Pyramid Network object detection, with training and image-directory inference as user workflows. Training selects a dataset, builds region-of-interest training batches, and passes them through an FPN detector; the detector uses a region proposal network and one of three documented ROI pooling methods. Dataset-specific evaluation and COCO evaluation are additional capabilities. The excerpts confirm parts of these flows, but omit substantial model and demo code, so uncertain internal wiring is not expanded.
Main entry points: fpn.py FPN detector · factory.py Dataset factory · trainval_net.py Training entry · demo.py Inference demo
Components 23
Datasets and batches
- Dataset factory
lib/datasets/factory.py - Dataset base
lib/datasets/imdb.py - PASCAL VOC
lib/datasets/pascal_voc.py - COCO dataset
lib/datasets/coco.py - ImageNet dataset
lib/datasets/imagenet.py - Visual Genome
lib/datasets/vg.py - ROI database
lib/roi_data_layer/roidb.py - Batch loader
lib/roi_data_layer/roibatchLoader.py - Image preprocessing
lib/roi_data_layer/minibatch.py
FPN detector
- FPN detector
lib/model/fpn/fpn.py - ResNet backbone
lib/model/fpn/resnet.py - Proposals and anchors
lib/model/rpn/rpn_fpn.py - ROI targets
lib/model/rpn/proposal_target_layer.py - ROI pooling options
lib/model/roi_pooling/modules/roi_pool.py - ROI Align
lib/model/roi_align/modules/roi_align.py - ROI Crop
lib/model/roi_crop/modules/roi_crop.py
Training and inference
- Training entry
trainval_net.py - Inference demo
demo.py - Detection results
Evaluation
- VOC evaluation
lib/datasets/voc_eval.py - COCO evaluation
lib/pycocotools/cocoeval.py
Other components
- Engineer
- Image directory
Connections 28
- Engineer → Training entry: starts training
- Engineer → Inference demo: runs inference
- Training entry → Dataset factory: selects dataset
- Dataset factory → PASCAL VOC: creates
- Dataset factory → COCO dataset: creates
- Dataset factory → ImageNet dataset: creates
- Dataset factory → Visual Genome: creates
- PASCAL VOC → Dataset base: uses base
- COCO dataset → Dataset base: uses base
- ImageNet dataset → Dataset base: uses base
- Visual Genome → Dataset base: uses base
- Training entry → ROI database: builds database
- ROI database → Dataset factory: queries dataset
- Training entry → Batch loader: constructs
- Batch loader → Image preprocessing: prepares images
- Training entry → FPN detector: trains model
- Inference demo → FPN detector: runs detection
- Inference demo → Image directory: reads images
- FPN detector → ResNet backbone: extracts features
- FPN detector → Proposals and anchors: generates proposals
- FPN detector → ROI targets: samples training ROIs
- FPN detector → ROI pooling options: pools ROI features
- FPN detector → ROI Align: aligns ROI features
- FPN detector → ROI Crop: crops ROI features
- FPN detector → Detection results: produces detections
- Inference demo → Detection results: renders detections
- PASCAL VOC → VOC evaluation: evaluates detections
- COCO dataset → COCO evaluation: evaluates detections