OpenGVLab/PIIP

[NeurIPS 2024 Spotlight ⭐️ & TPAMI 2025] Parameter-Inverted Image Pyramid Networks (PIIP)

Python

113

56 commits

updated Aug 5, 2025

See the code

README

pyramid Parameter-Inverted Image Pyramid Networks (PIIP)

[📚 PIIP v1 Paper] [📚 PIIP v2 Paper] [🤗 Model] [📝 中文解读] [📑 Slides] [▶️ Video]

The official implementation of Parameter-Inverted Image Pyramid Networks.

NeurIPS 2024 Spotlight & TPAMI 2025

Ranked Top 10 in NeurIPS 2024 (among 15671 submissions), Top 2 in Computer Vision Area

📰 News

[2025/7/25] PIIP-LLaVA is accepted by TPAMI 2025!

[2025/4/20] Code and models of PIIP-LLaVA and ConvNeXt-based detection models are released!

[2025/1/15] We introduce PIIP-LLaVA, an MLLM that uses PIIP design to improve performance and save computational costs. We also extend PIIP to CNN-based structures and ViT-CNN hybrid structures. Code and models will be released soon. Check out our new paper for details.

⭐️ Highlights

TL;DR: We introduce the Parameter-Inverted Image Pyramid Networks (PIIP), employing a parameter-inverted paradigm that uses models with different parameter sizes to process different resolution levels of the image pyramid, thereby saving computation cost while improving the performance.

  • Support tasks of object detection, instance segmentation, semantic segmentation , image classification, and multimodal understanding.
  • Surpasses single-branch and other multi-resolution methods with higher performance and lower computation costs.
  • Achieve 60.0 $\rm AP^b$) on COCO object detection with InternViT-6B, and 73.0% accuracy on TextVQA and 74.5% on MMBench with only 2.8M training data.

scatter

🖼 Qualitative Results

detection visualization multimodal understanding visualization

📌 Abstract

Image pyramids are widely adopted in top-performing methods to obtain multi-scale features for precise visual perception and understanding. However, current image pyramids use the same large-scale model to process multiple resolutions of images, leading to significant computational cost. To address this challenge, we propose a novel network architecture, called Parameter-Inverted Image Pyramid Networks (PIIP). Specifically, PIIP uses pretrained models (ViTs or CNNs) as branches to process multi-scale images, where images of higher resolutions are processed by smaller network branches to balance computational cost and performance. To integrate information from different spatial scales, we further propose a novel cross-branch feature interaction mechanism. To validate PIIP, we apply it to various perception models and a representative multimodal large language model called LLaVA, and conduct extensive experiments on various tasks such as object detection, segmentation, image classification and multimodal understanding. PIIP achieves superior performance compared to single-branch and existing multi-resolution approaches with lower computational cost. When applied to InternViT-6B, a large-scale vision foundation model, PIIP can improve its performance by 1%-2% on detection and segmentation with only 40%-60% of the original computation, finally achieving 60.0 box AP on MS COCO and 59.7 mIoU on ADE20K. For multimodal understanding, our PIIP-LLaVA achieves 73.0% accuracy on TextVQA and 74.5% on MMBench with only 2.8M training data.

🔍 Method

Architecture

PIIP-LLaVA

🛠️ Usage

For instructions on installation, pretrained models, training and evaluation, please refer to the readme files under each subfolder:

🚀 Released Models

COCO Object Detection and Instance Segmentation

[!Note]

  1. We report the number of parameters and FLOPs of the backbone.
  2. Results in the paper were obtained with an internal codebase, which may exhibit slightly different performance than this repo ($\leq\pm0.2$).
  3. Experiments involving InternViT-6B do not use window attention, different from those in the paper.

DeiT-based Models (Mask-RCNN, 1x Schedule)

BackboneResolutionBox mAPMask mAP#Param#FLOPsDownload
ViT-B102443.739.790M463Glog | ckpt | cfg
PIIP-TSB1120/896/44843.638.7146M243Glog | ckpt | cfg
PIIP-TSB1568/896/44845.040.3147M287Glog | ckpt | cfg
PIIP-TSB1568/1120/67246.541.3149M453Glog | ckpt | cfg
ViT-L102446.742.5308M1542Glog | ckpt | cfg
PIIP-SBL1120/672/44846.540.8493M727Glog | ckpt | cfg
PIIP-SBL1344/896/44848.342.7495M1002Glog | ckpt | cfg
PIIP-SBL1568/896/67249.343.7497M1464Glog | ckpt | cfg
PIIP-TSBL1344/896/672/44847.141.9506M755Glog | ckpt | cfg
PIIP-TSBL1568/1120/672/44848.242.9507M861Glog | ckpt | cfg
PIIP-TSBL1792/1568/1120/44849.444.1512M1535Glog | ckpt | cfg
InternViT-6B102453.848.15919M29323Glog | ckpt | cfg
PIIP-H6B1024/51255.849.06872M11080Glog | ckpt | cfg

More ViT Variants

BackboneDetectorPretrainResolutionSchdBox mAPMask mAPDownload
PIIP-SBLMask R-CNNAugReg (384)1568/1120/6721x48.342.6log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + Uni-Perceiver (BL)1568/1120/6721x48.842.9log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + MAE (BL)1568/1120/6721x49.143.0log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III1568/1120/6721x50.044.4log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + DINOv2 (BL)1568/1120/6721x51.044.7log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + BEiTv2 (BL)1568/1120/6721x51.845.4log | ckpt | cfg
PIIP-SBLDINODeiT III (384)1792/1120/6723x57.8-log | ckpt | cfg
PIIP-H6BDINOMAE (H) + InternVL (6B)1024/7681x60.0-log | ckpt | cfg

ConvNeXt-based Models (Mask-RCNN, 1x Schedule)

C: ConvNeXt. V: ViT (DeiT).

BackboneResolutionBox mAPMask mAP#FLOPsDownload
ConvNeXt-B102442.438.7321Gcfg
PIIP-CT-CS-CB1024/672/44846.441.7326Glog | ckpt | cfg
PIIP-CT-VS-VB1024/672/44847.142.4373Gcfg
PIIP-CT-CS-VB1024/672/44846.842.2431Gcfg
PIIP-CT-VS-CB1024/672/44846.742.0297Gcfg
PIIP-VT-CS-VB1024/672/44845.440.9291Gcfg
PIIP-VT-CS-CB1024/672/44845.240.7231Gcfg
PIIP-VT-VS-CB1024/672/44844.840.3193Gcfg

ADE20K Semantic Segmentation

BackboneDetectorResolutionSchdmIoU#Param#FLOPsDownload
InternViT-6BUperNet51280k58.425910M6364Glog | ckpt | cfg
PIIP-H6BUperNet512/19280k57.816745M1663Glog | ckpt | cfg
PIIP-H6BUperNet512/25680k58.356745M2354Glog | ckpt | cfg
PIIP-H6BUperNet512/38480k59.326746M4374Glog | ckpt | cfg
PIIP-H6BUperNet512/51280k59.856747M7308Glog | ckpt | cfg

ImageNet-1K Image Classification

ModelResolution#Param#FLOPsTop-1 AccConfigDownload
PIIP-TSB368/192/128144M17.4G82.1configlog | ckpt
PIIP-SBL320/160/96489M39.0G85.2configlog | ckpt
PIIP-SBL384/192/128489M61.2G85.9configlog | ckpt

Multimodal Understanding

ModelVision EncoderResolution#FLOPsLLMDataDownloadMMBENMMVetTextVQASQAIGQAVQAv2SEEDIPOPEAvg
LLaVA-1.5_7BCLIP-L336191GVicuna-7B1.2Mckpt64.331.158.266.862.078.566.185.964.1
PIIP-LLaVA_CLIP-BL_512-256_7BCLIP-B, CLIP-L512/256193GVicuna-7B1.2Mckpt | cfg63.832.057.968.862.879.167.386.564.8
PIIP-LLaVA_ConvNeXt-B_CLIP-L_640-224_7BConvNeXt-B, CLIP-L640/224191GVicuna-7B1.2Mckpt | cfg64.531.959.068.362.179.967.586.565.0
PIIP-LLaVA_CLIP-BL_512-448_7BCLIP-B, CLIP-L512/448422GVicuna-7B1.2Mckpt | cfg66.230.559.568.063.780.369.087.365.6
PIIP-LLaVA_ConvNeXt-B_CLIP-L_1024-336_7BConvNeXt-B, CLIP-L1024/336598GVicuna-7B1.2Mckpt | cfg67.531.563.168.162.781.169.087.966.4
PIIP-LLaVA_ConvNeXt-L_CLIP-L_1024-336_7BConvNeXt-L, CLIP-L1024/3361037GVicuna-7B1.2Mckpt | cfg67.031.467.168.363.981.569.488.267.1
PIIP-LLaVA-Plus_ConvNeXt-L_CLIP-L_1024-336_7BConvNeXt-L, CLIP-L1024/3361037GVicuna-7B2.7Mckpt | cfg74.544.773.095.062.982.372.187.574.0
LLaVA-1.5_13BCLIP-L336191GVicuna-13B1.2Mckpt67.736.161.371.663.380.068.285.966.8
PIIP-LLaVA_CLIP-BL_512-448_13BCLIP-B, CLIP-L512/448422GVicuna-13B1.2Mckpt | cfg67.636.161.671.064.581.269.587.267.3
PIIP-LLaVA_ConvNeXt-B_CLIP-L_1024-336_13BConvNeXt-B, CLIP-L1024/336598GVicuna-13B1.2Mckpt | cfg68.537.764.271.164.281.869.387.968.0
PIIP-LLaVA_ConvNeXt-L_CLIP-L_1024-336_13BConvNeXt-L, CLIP-L1024/3361037GVicuna-13B1.2Mckpt | cfg66.536.869.269.865.282.570.587.668.5

🖊️ Citation

If you find this work helpful for your research, please consider giving this repo a star ⭐ and citing our paper:

@inproceedings{piip,
  title={Parameter-Inverted Image Pyramid Networks},
  author={Zhu, Xizhou and Yang, Xue and Wang, Zhaokai and Li, Hao and Dou, Wenhan and Ge, Junqi and Lu, Lewei and Qiao, Yu and Dai, Jifeng},
  booktitle={NeurIPS},
  year={2024}
}

@article{piip_v2,
  title={Parameter-Inverted Image Pyramid Networks for Visual Perception and Multimodal Understanding},
  author={Wang, Zhaokai and Zhu, Xizhou and Yang, Xue and Luo, Gen and Li, Hao and Tian, Changyao and Dou, Wenhan and Ge, Junqi and Lu, Lewei and Qiao, Yu and Dai, Jifeng},
  journal={IEEE transactions on pattern analysis and machine intelligence},
  year={2025},
  publisher={IEEE}
}

📃 License

This project is released under the MIT license. Parts of this project contain code and models from other sources, which are subject to their respective licenses.

🙏 Acknowledgements

Our code is built with reference to the code of the following projects: LLaVA-1.5, InternVL-MMDetSeg, ViT-Adapter, DeiT, MMDetection, MMSegmentation, and timm. Thanks for their awesome work!

computer-vision
image-classification
instance-segmentation
multimodal-large-language-models
object-detection
semantic-segmentation
vision-language-models
vision-transformer

Contributors

wzk1015

54 commits

yangxue0827

2 commits

OpenGVLab/PIIP

[NeurIPS 2024 Spotlight ⭐️ & TPAMI 2025] Parameter-Inverted Image Pyramid Networks (PIIP)

Python

113

56 commits

updated Aug 5, 2025

See the code

README

pyramid Parameter-Inverted Image Pyramid Networks (PIIP)

[📚 PIIP v1 Paper] [📚 PIIP v2 Paper] [🤗 Model] [📝 中文解读] [📑 Slides] [▶️ Video]

The official implementation of Parameter-Inverted Image Pyramid Networks.

NeurIPS 2024 Spotlight & TPAMI 2025

Ranked Top 10 in NeurIPS 2024 (among 15671 submissions), Top 2 in Computer Vision Area

📰 News

[2025/7/25] PIIP-LLaVA is accepted by TPAMI 2025!

[2025/4/20] Code and models of PIIP-LLaVA and ConvNeXt-based detection models are released!

[2025/1/15] We introduce PIIP-LLaVA, an MLLM that uses PIIP design to improve performance and save computational costs. We also extend PIIP to CNN-based structures and ViT-CNN hybrid structures. Code and models will be released soon. Check out our new paper for details.

⭐️ Highlights

TL;DR: We introduce the Parameter-Inverted Image Pyramid Networks (PIIP), employing a parameter-inverted paradigm that uses models with different parameter sizes to process different resolution levels of the image pyramid, thereby saving computation cost while improving the performance.

  • Support tasks of object detection, instance segmentation, semantic segmentation , image classification, and multimodal understanding.
  • Surpasses single-branch and other multi-resolution methods with higher performance and lower computation costs.
  • Achieve 60.0 $\rm AP^b$) on COCO object detection with InternViT-6B, and 73.0% accuracy on TextVQA and 74.5% on MMBench with only 2.8M training data.

scatter

🖼 Qualitative Results

detection visualization multimodal understanding visualization

📌 Abstract

Image pyramids are widely adopted in top-performing methods to obtain multi-scale features for precise visual perception and understanding. However, current image pyramids use the same large-scale model to process multiple resolutions of images, leading to significant computational cost. To address this challenge, we propose a novel network architecture, called Parameter-Inverted Image Pyramid Networks (PIIP). Specifically, PIIP uses pretrained models (ViTs or CNNs) as branches to process multi-scale images, where images of higher resolutions are processed by smaller network branches to balance computational cost and performance. To integrate information from different spatial scales, we further propose a novel cross-branch feature interaction mechanism. To validate PIIP, we apply it to various perception models and a representative multimodal large language model called LLaVA, and conduct extensive experiments on various tasks such as object detection, segmentation, image classification and multimodal understanding. PIIP achieves superior performance compared to single-branch and existing multi-resolution approaches with lower computational cost. When applied to InternViT-6B, a large-scale vision foundation model, PIIP can improve its performance by 1%-2% on detection and segmentation with only 40%-60% of the original computation, finally achieving 60.0 box AP on MS COCO and 59.7 mIoU on ADE20K. For multimodal understanding, our PIIP-LLaVA achieves 73.0% accuracy on TextVQA and 74.5% on MMBench with only 2.8M training data.

🔍 Method

Architecture

PIIP-LLaVA

🛠️ Usage

For instructions on installation, pretrained models, training and evaluation, please refer to the readme files under each subfolder:

🚀 Released Models

COCO Object Detection and Instance Segmentation

[!Note]

  1. We report the number of parameters and FLOPs of the backbone.
  2. Results in the paper were obtained with an internal codebase, which may exhibit slightly different performance than this repo ($\leq\pm0.2$).
  3. Experiments involving InternViT-6B do not use window attention, different from those in the paper.

DeiT-based Models (Mask-RCNN, 1x Schedule)

BackboneResolutionBox mAPMask mAP#Param#FLOPsDownload
ViT-B102443.739.790M463Glog | ckpt | cfg
PIIP-TSB1120/896/44843.638.7146M243Glog | ckpt | cfg
PIIP-TSB1568/896/44845.040.3147M287Glog | ckpt | cfg
PIIP-TSB1568/1120/67246.541.3149M453Glog | ckpt | cfg
ViT-L102446.742.5308M1542Glog | ckpt | cfg
PIIP-SBL1120/672/44846.540.8493M727Glog | ckpt | cfg
PIIP-SBL1344/896/44848.342.7495M1002Glog | ckpt | cfg
PIIP-SBL1568/896/67249.343.7497M1464Glog | ckpt | cfg
PIIP-TSBL1344/896/672/44847.141.9506M755Glog | ckpt | cfg
PIIP-TSBL1568/1120/672/44848.242.9507M861Glog | ckpt | cfg
PIIP-TSBL1792/1568/1120/44849.444.1512M1535Glog | ckpt | cfg
InternViT-6B102453.848.15919M29323Glog | ckpt | cfg
PIIP-H6B1024/51255.849.06872M11080Glog | ckpt | cfg

More ViT Variants

BackboneDetectorPretrainResolutionSchdBox mAPMask mAPDownload
PIIP-SBLMask R-CNNAugReg (384)1568/1120/6721x48.342.6log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + Uni-Perceiver (BL)1568/1120/6721x48.842.9log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + MAE (BL)1568/1120/6721x49.143.0log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III1568/1120/6721x50.044.4log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + DINOv2 (BL)1568/1120/6721x51.044.7log | ckpt | cfg
PIIP-SBLMask R-CNNDeiT III (S) + BEiTv2 (BL)1568/1120/6721x51.845.4log | ckpt | cfg
PIIP-SBLDINODeiT III (384)1792/1120/6723x57.8-log | ckpt | cfg
PIIP-H6BDINOMAE (H) + InternVL (6B)1024/7681x60.0-log | ckpt | cfg

ConvNeXt-based Models (Mask-RCNN, 1x Schedule)

C: ConvNeXt. V: ViT (DeiT).

BackboneResolutionBox mAPMask mAP#FLOPsDownload
ConvNeXt-B102442.438.7321Gcfg
PIIP-CT-CS-CB1024/672/44846.441.7326Glog | ckpt | cfg
PIIP-CT-VS-VB1024/672/44847.142.4373Gcfg
PIIP-CT-CS-VB1024/672/44846.842.2431Gcfg
PIIP-CT-VS-CB1024/672/44846.742.0297Gcfg
PIIP-VT-CS-VB1024/672/44845.440.9291Gcfg
PIIP-VT-CS-CB1024/672/44845.240.7231Gcfg
PIIP-VT-VS-CB1024/672/44844.840.3193Gcfg

ADE20K Semantic Segmentation

BackboneDetectorResolutionSchdmIoU#Param#FLOPsDownload
InternViT-6BUperNet51280k58.425910M6364Glog | ckpt | cfg
PIIP-H6BUperNet512/19280k57.816745M1663Glog | ckpt | cfg
PIIP-H6BUperNet512/25680k58.356745M2354Glog | ckpt | cfg
PIIP-H6BUperNet512/38480k59.326746M4374Glog | ckpt | cfg
PIIP-H6BUperNet512/51280k59.856747M7308Glog | ckpt | cfg

ImageNet-1K Image Classification

ModelResolution#Param#FLOPsTop-1 AccConfigDownload
PIIP-TSB368/192/128144M17.4G82.1configlog | ckpt
PIIP-SBL320/160/96489M39.0G85.2configlog | ckpt
PIIP-SBL384/192/128489M61.2G85.9configlog | ckpt

Multimodal Understanding

ModelVision EncoderResolution#FLOPsLLMDataDownloadMMBENMMVetTextVQASQAIGQAVQAv2SEEDIPOPEAvg
LLaVA-1.5_7BCLIP-L336191GVicuna-7B1.2Mckpt64.331.158.266.862.078.566.185.964.1
PIIP-LLaVA_CLIP-BL_512-256_7BCLIP-B, CLIP-L512/256193GVicuna-7B1.2Mckpt | cfg63.832.057.968.862.879.167.386.564.8
PIIP-LLaVA_ConvNeXt-B_CLIP-L_640-224_7BConvNeXt-B, CLIP-L640/224191GVicuna-7B1.2Mckpt | cfg64.531.959.068.362.179.967.586.565.0
PIIP-LLaVA_CLIP-BL_512-448_7BCLIP-B, CLIP-L512/448422GVicuna-7B1.2Mckpt | cfg66.230.559.568.063.780.369.087.365.6
PIIP-LLaVA_ConvNeXt-B_CLIP-L_1024-336_7BConvNeXt-B, CLIP-L1024/336598GVicuna-7B1.2Mckpt | cfg67.531.563.168.162.781.169.087.966.4
PIIP-LLaVA_ConvNeXt-L_CLIP-L_1024-336_7BConvNeXt-L, CLIP-L1024/3361037GVicuna-7B1.2Mckpt | cfg67.031.467.168.363.981.569.488.267.1
PIIP-LLaVA-Plus_ConvNeXt-L_CLIP-L_1024-336_7BConvNeXt-L, CLIP-L1024/3361037GVicuna-7B2.7Mckpt | cfg74.544.773.095.062.982.372.187.574.0
LLaVA-1.5_13BCLIP-L336191GVicuna-13B1.2Mckpt67.736.161.371.663.380.068.285.966.8
PIIP-LLaVA_CLIP-BL_512-448_13BCLIP-B, CLIP-L512/448422GVicuna-13B1.2Mckpt | cfg67.636.161.671.064.581.269.587.267.3
PIIP-LLaVA_ConvNeXt-B_CLIP-L_1024-336_13BConvNeXt-B, CLIP-L1024/336598GVicuna-13B1.2Mckpt | cfg68.537.764.271.164.281.869.387.968.0
PIIP-LLaVA_ConvNeXt-L_CLIP-L_1024-336_13BConvNeXt-L, CLIP-L1024/3361037GVicuna-13B1.2Mckpt | cfg66.536.869.269.865.282.570.587.668.5

🖊️ Citation

If you find this work helpful for your research, please consider giving this repo a star ⭐ and citing our paper:

@inproceedings{piip,
  title={Parameter-Inverted Image Pyramid Networks},
  author={Zhu, Xizhou and Yang, Xue and Wang, Zhaokai and Li, Hao and Dou, Wenhan and Ge, Junqi and Lu, Lewei and Qiao, Yu and Dai, Jifeng},
  booktitle={NeurIPS},
  year={2024}
}

@article{piip_v2,
  title={Parameter-Inverted Image Pyramid Networks for Visual Perception and Multimodal Understanding},
  author={Wang, Zhaokai and Zhu, Xizhou and Yang, Xue and Luo, Gen and Li, Hao and Tian, Changyao and Dou, Wenhan and Ge, Junqi and Lu, Lewei and Qiao, Yu and Dai, Jifeng},
  journal={IEEE transactions on pattern analysis and machine intelligence},
  year={2025},
  publisher={IEEE}
}

📃 License

This project is released under the MIT license. Parts of this project contain code and models from other sources, which are subject to their respective licenses.

🙏 Acknowledgements

Our code is built with reference to the code of the following projects: LLaVA-1.5, InternVL-MMDetSeg, ViT-Adapter, DeiT, MMDetection, MMSegmentation, and timm. Thanks for their awesome work!

computer-vision
image-classification
instance-segmentation
multimodal-large-language-models
object-detection
semantic-segmentation
vision-language-models
vision-transformer

Contributors

wzk1015

54 commits

yangxue0827

2 commits

Languages

Python

77.8%

C++

13.0%

Cuda

7.8%