This repository contains the implementations of PKINet (CVPR2024) and PKINet-v2 (ECCV2026) for remote sensing object detection.
- PKINet is the original poly-kernel backbone for remote sensing detection.
- PKINet-v2 further improves both detection accuracy and inference efficiency over PKINet.
Pipeline of PKINet.
Pipeline of PKINet-v2.
- Poly Kernel Inception Network for Remote Sensing Detection: arXiv
- PKINet-v2: Towards Powerful and Efficient Poly-Kernel Remote Sensing Object Detection: arXiv
- PKINet-v2-T backbone(ImageNet, 300 epochs): Download
- PKINet-v2-S backbone(ImageNet, 300 epochs): Download
| Model | Detector | mAP | Angle | Config | Dev-Config | Weights |
|---|---|---|---|---|---|---|
| PKINet-v2-S-Sqrt5 | Oriented R-CNN | 80.75 | le90 | config | develop | model |
The following models are the standard PKINet-v2 model zoo results.
| Model | Detector | mAP | Angle | Config | Dev-Config | Weights |
|---|---|---|---|---|---|---|
| PKINet-v2-T | Oriented R-CNN | 79.36 | le90 | config | - | model |
| PKINet-v2-S | Oriented R-CNN | 80.46 | le90 | config | develop | model |
| PKINet-v2-S | Rotated Faster R-CNN | 79.02 | le90 | config | develop | model |
| PKINet-v2-S | Rotated FCOS | 77.13 | le90 | config | develop | model |
| PKINet-v2-S | R3Det | 77.64 | oc | config | develop | model |
| PKINet-v2-S | RoI Transformer | 79.87 | le90 | config | develop | model |
| PKINet-v2-S | S2ANet | 79.68 | le135 | config | develop | model |
| Model | Detector | mAP | Angle | Config | Weights |
|---|---|---|---|---|---|
| PKINet-v2-S | Oriented R-CNN | 73.57 | le90 | config | model |
- PKINet-T backbone (ImageNet, 300 epochs): Download
- PKINet-S backbone (ImageNet, 300 epochs): Download
| Model | mAP | Angle | Config | Weights |
|---|---|---|---|---|
| PKINet-T (1024,1024,200) | 77.87 | le90 | pkinet-t_fpn_o-rcnn_dotav1-ss_le90 | model |
| PKINet-S (1024,1024,200) | 78.39 | le90 | pkinet-s_fpn_o-rcnn_dotav1-ss_le90 | model |
| Model | mAP | Angle | Config | Weights |
|---|---|---|---|---|
| PKINet-S (1024,1024,200) | 71.47 | le90 | pkinet-s_fpn_o-rcnn_dotav15-ss_le90 | model |
MMRotate-PKINet depends on PyTorch, MMCV, MMDetection, and MMEngine.
For more details, please refer to the MMRotate installation guide.
conda create --name pkinet python=3.8 -y
conda activate pkinet
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
pip install yapf==0.40.1
pip install -U openmim
mim install mmcv-full
mim install mmdet
mim install mmengine
git clone https://github.com/NUST-Machine-Intelligence-Laboratory/PKINet.git
cd PKINet
mim install -v -e .Please see get_started.md for the basic usage of MMRotate.
We also provide tutorials for:
- PKINet-v2-S backbone(ImageNet, 300 epochs): Download
bash ./tools/dist_train.sh configs/pkinet-v2/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90.py 4python tools/pkinet/convert_pkinet_to_deploy.py \
configs/pkinet-v2/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90.py \
work_dirs/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90/latest.pth \
work_dirs/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90/pkinet-v2-s-deploy.pthbash ./tools/dist_test.sh \
configs/pkinet-v2/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90_deploy.py \
work_dirs/pkinet-v2-s_fpn_o-rcnn_3x_dotav1-ss_le90/pkinet-v2-s-deploy.pth \
4 \
--format-only \
--eval-options submission_dir=work_dirs/results/pkinet-v2-dota5. Submit the result to DOTA-v1.0 server
Important
If you care more about inference speed, we strongly recommend PyTorch 2.4.1 + CUDA 11.8, which is more efficient for large-kernel inference for inference. However, the training stability of this version has not been thoroughly verified, so we do not recommend using it for training.
conda create --name pkinet-dev python=3.10 -y
conda activate pkinet-dev
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install yapf==0.40.1
pip install -U openmim
mim install mmcv-full
mim install mmdet
mim install mmengine
git clone https://github.com/NUST-Machine-Intelligence-Laboratory/PKINet.git
cd PKINet
mim install -v -e .
bash ./tools/dist_train.sh configs/pkinet/pkinet-s_fpn_o-rcnn_dotav1-ss_le90.py 4This project is released under the Apache 2.0 license.
If you find this repository useful, please consider citing:
@inproceedings{cai2024poly,
author = {Cai, Xinhao and Lai, Qiuxia and Wang, Yuwei and Wang, Wenguan and Sun, Zeren and Yao, Yazhou},
title = {Poly Kernel Inception Network for Remote Sensing Detection},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2024},
pages = {27706-27716}
}@article{cai2026pkinetv2,
title={PKINet-v2: Towards Powerful and Efficient Poly-Kernel Remote Sensing Object Detection},
author={Cai, Xinhao and Liulei Li and Gensheng Pei and Zeren Sun and Yazhou Yao and Wenguan Wang},
journal={arXiv preprint arXiv:2603.16341},
year={2026}
}
