Official pytorch implementation of paper "Inception Convolution with Efficient Dilation Search" (CVPR 2021 Oral).

Related tags

Deep LearningIC-Conv
Overview

IC-Conv

This repository is an official implementation of the paper Inception Convolution with Efficient Dilation Search.

Getting Started

Download ImageNet pre-trained checkpoints.

Extract the file to get the following directory tree

|-- README.md
|-- ckpt
|   |-- detection
|   |-- human_pose
|   |-- segmentation
|-- config
|-- model
|-- pattern_zoo

Easy Use

The current implementation is coupled to specific downstream tasks. OpenMMLab users can quickly use IC-Conv in the following simple ways.

from models import IC_ResNet
import torch
net = IC_ResNet(depth=50,pattern_path='pattern_zoo/detection/ic_r50_k9.json')
net.eval()
inputs = torch.rand(1, 3, 32, 32)
outputs = net.forward(inputs)

For 2d Human Pose Estimation using MMPose

  1. Copying the config files to the config path of mmpose, such as
cp config/human_pose/ic_res50_k13_coco_640x640.py your_mmpose_path/mmpose/configs/bottom_up/resnet/coco/ic_res50_k13_coco_640x640.py
  1. Copying the inception conv files to the model path of mmpose,
cp model/ic_conv2d.py your_mmpose_path/mmpose/mmpose/models/backbones/ic_conv2d.py
cp model/ic_resnet.py your_mmpose_path/mmpose/mmpose/models/backbones/ic_resnet.py
  1. Running it directly like MMPose.

Model Zoo

We provided the pre-trained weights of IC-ResNet-50, IC-ResNet-101and IC-ResNeXt-101 (32x4d) on ImageNet and the weights trained on specific tasks.

For users with limited computing power, you can directly reuse our provided IC-Conv and ImageNet pre-training weights for detection, segmentation, and 2d human pose estimation tasks on other datasets.

Attentions: The links in the tables below are relative paths. Therefore, you should clone the repository and download checkpoints.

Object Detection

Detector Backbone Lr AP dilation_pattern checkpoint
Faster-RCNN-FPN IC-R50 1x 38.9 pattern ckpt/imagenet_retrain_ckpt
Faster-RCNN-FPN IC-R101 1x 41.9 pattern ckpt/imagenet_retrain_ckpt
Faster-RCNN-FPN IC-X101-32x4d 1x 42.1 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-R50 1x 42.4 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-R101 1x 45.0 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-X101-32x4d 1x 45.7 pattern ckpt/imagenet_retrain_ckpt

Instance Segmentation

Detector Backbone Lr box AP mask AP dilation_pattern checkpoint
Mask-RCNN-FPN IC-R50 1x 40.0 35.9 pattern ckpt/imagenet_retrain_ckpt
Mask-RCNN-FPN IC-R101 1x 42.6 37.9 pattern ckpt/imagenet_retrain_ckpt
Mask-RCNN-FPN IC-X101-32x4d 1x 43.4 38.4 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-R50 1x 43.4 36.8 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-R101 1x 45.7 38.7 pattern ckpt/imagenet_retrain_ckpt
Cascade-RCNN-FPN IC-X101-32x4d 1x 46.4 39.1 pattern ckpt/imagenet_retrain_ckpt

2d Human Pose Estimation

We adjust the learning rate of resnet backbone in MMPose and get better baseline results. Please see the specific config files in config/human_pose/.

Results on COCO val2017 without multi-scale test
Backbone Input Size AP dilation_pattern checkpoint
R50(mmpose) 640x640 47.9 ~ ~
R50 640x640 51.0 ~ ~
IC-R50 640x640 62.2 pattern ckpt/imagenet_retrain_ckpt
R101 640x640 55.5 ~ ~
IC-R101 640x640 63.3 pattern ckpt/imagenet_retrain_ckpt
Results on COCO val2017 with multi-scale test. 3 default scales ([2, 1, 0.5]) are used
Backbone Input Size AP
R50(mmpose) 640x640 52.5
R50 640x640 55.8
IC-R50 640x640 65.8
R101 640x640 60.2
IC-R101 640x640 68.5

Acknowledgement

The human pose estimation experiments are built upon MMPose.

Citation

If our paper helps your research, please cite it in your publications:

@article{liu2020inception,
 title={Inception Convolution with Efficient Dilation Search},
 author={Liu, Jie and Li, Chuming and Liang, Feng and Lin, Chen and Sun, Ming and Yan, Junjie and Ouyang, Wanli and Xu, Dong},
 journal={arXiv preprint arXiv:2012.13587},
 year={2020}
}
Owner
Jie Liu
Jie Liu
Tutel MoE: An Optimized Mixture-of-Experts Implementation

Project Tutel Tutel MoE: An Optimized Mixture-of-Experts Implementation. Supported Framework: Pytorch Supported GPUs: CUDA(fp32 + fp16), ROCm(fp32) Ho

Microsoft 344 Dec 29, 2022
Implementation of SwinTransformerV2 in TensorFlow.

SwinTransformerV2-TensorFlow A TensorFlow implementation of SwinTransformerV2 by Microsoft Research Asia, based on their official implementation of Sw

Phan Nguyen 2 May 30, 2022
Code for our ACL 2021 paper "One2Set: Generating Diverse Keyphrases as a Set"

One2Set This repository contains the code for our ACL 2021 paper “One2Set: Generating Diverse Keyphrases as a Set”. Our implementation is built on the

Jiacheng Ye 63 Jan 05, 2023
TrackTech: Real-time tracking of subjects and objects on multiple cameras

TrackTech: Real-time tracking of subjects and objects on multiple cameras This project is part of the 2021 spring bachelor final project of the Bachel

5 Jun 17, 2022
Spontaneous Facial Micro Expression Recognition using 3D Spatio-Temporal Convolutional Neural Networks

Spontaneous Facial Micro Expression Recognition using 3D Spatio-Temporal Convolutional Neural Networks Abstract Facial expression recognition in video

Bogireddy Sai Prasanna Teja Reddy 103 Dec 29, 2022
Anatomy of Matplotlib -- tutorial developed for the SciPy conference

Introduction This tutorial is a complete re-imagining of how one should teach users the matplotlib library. Hopefully, this tutorial may serve as insp

Matplotlib Developers 1.1k Dec 29, 2022
Official Implementation for "ReStyle: A Residual-Based StyleGAN Encoder via Iterative Refinement" https://arxiv.org/abs/2104.02699

ReStyle: A Residual-Based StyleGAN Encoder via Iterative Refinement Recently, the power of unconditional image synthesis has significantly advanced th

967 Jan 04, 2023
Mitsuba 2: A Retargetable Forward and Inverse Renderer

Mitsuba Renderer 2 Documentation Mitsuba 2 is a research-oriented rendering system written in portable C++17. It consists of a small set of core libra

Mitsuba Physically Based Renderer 2k Jan 07, 2023
Complete* list of autonomous driving related datasets

AD Datasets Complete* and curated list of autonomous driving related datasets Contributing Contributions are very welcome! To add or update a dataset:

Daniel Bogdoll 13 Dec 19, 2022
DeepConsensus uses gap-aware sequence transformers to correct errors in Pacific Biosciences (PacBio) Circular Consensus Sequencing (CCS) data.

DeepConsensus DeepConsensus uses gap-aware sequence transformers to correct errors in Pacific Biosciences (PacBio) Circular Consensus Sequencing (CCS)

Google 149 Dec 19, 2022
🌎 The Modern Declarative Data Flow Framework for the AI Empowered Generation.

🌎 JSONClasses JSONClasses is a declarative data flow pipeline and data graph framework. Official Website: https://www.jsonclasses.com Official Docume

Fillmula Inc. 53 Dec 09, 2022
Group project for MFIN7036. Our goal is to predict firm profitability with text-based competition measures.

NLP_0-project Group project for MFIN7036. Our goal is to predict firm profitability with text-based competition measures1. We are a "democratic" and c

3 Mar 16, 2022
Official repository for MixFaceNets: Extremely Efficient Face Recognition Networks

MixFaceNets This is the official repository of the paper: MixFaceNets: Extremely Efficient Face Recognition Networks. (Accepted in IJCB2021) https://i

Fadi Boutros 51 Dec 13, 2022
A very short and easy implementation of Quantile Regression DQN

Quantile Regression DQN Quantile Regression DQN a Minimal Working Example, Distributional Reinforcement Learning with Quantile Regression (https://arx

Arsenii Senya Ashukha 80 Sep 17, 2022
Implementation of "Meta-rPPG: Remote Heart Rate Estimation Using a Transductive Meta-Learner"

Meta-rPPG: Remote Heart Rate Estimation Using a Transductive Meta-Learner This repository is the official implementation of Meta-rPPG: Remote Heart Ra

Eugene Lee 137 Dec 13, 2022
In this project, we create and implement a deep learning library from scratch.

ARA In this project, we create and implement a deep learning library from scratch. Table of Contents Deep Leaning Library Table of Contents About The

22 Aug 23, 2022
Rax is a Learning-to-Rank library written in JAX

🦖 Rax: Composable Learning to Rank using JAX Rax is a Learning-to-Rank library written in JAX. Rax provides off-the-shelf implementations of ranking

Google 247 Dec 27, 2022
Python/Rust implementations and notes from Proofs Arguments and Zero Knowledge

What is this? This is where I'll be collecting resources related to the Study Group on Dr. Justin Thaler's Proofs Arguments And Zero Knowledge Book. T

Thor 66 Jan 04, 2023
The official repository for Deep Image Matting with Flexible Guidance Input

FGI-Matting The official repository for Deep Image Matting with Flexible Guidance Input. Paper: https://arxiv.org/abs/2110.10898 Requirements easydict

Hang Cheng 51 Nov 10, 2022
Transformer - Transformer in PyTorch

Transformer 完成进度 Embeddings and PositionalEncoding with example. MultiHeadAttent

Tianyang Li 1 Jan 06, 2022