deepblue0822 / fpn.pytorch

Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fpn.pytorch Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection

Introduction

This project inherits the property of our pytorch implementation of faster r-cnn. Hence, it also has the following unique features:

  • It is pure Pytorch code. We convert all the numpy implementations to pytorch.

  • It supports trainig batchsize > 1. We revise all the layers, including dataloader, rpn, roi-pooling, etc., to train with multiple images at each iteration.

  • It supports multiple GPUs. We use a multiple GPU wrapper (nn.DataParallel here) to make it flexible to use one or more GPUs, as a merit of the above two features.

  • It supports three pooling methods. We integrate three pooling methods: roi pooing, roi align and roi crop. Besides, we convert them to support multi-image batch training.

Benchmarking

We benchmark our code thoroughly on three datasets: pascal voc, coco. Below are the results:

1). PASCAL VOC 2007 (Train/Test: 07trainval/07test, scale=600, ROI Align)

model GPUs Batch Size lr lr_decay max_epoch Speed/epoch Memory/GPU mAP
Res-101   8 TitanX 24 1e-2 10 12 0.22 hr 9688MB 74.2

Results on coco are on the way.

About

Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection

License:MIT License


Languages

Language:Python 76.2%Language:C 12.3%Language:Cuda 10.2%Language:C++ 0.5%Language:MATLAB 0.4%Language:Shell 0.4%