1 Introduction
2 Architecture Design of Backbone Networks
2.1 Efficient Models by Manual Design
2.2 Automatic Architecture Design
2.3 Efficient Backbones for Video Understanding
2.4 Efficient Backbones for 3D Vision
3 Dynamic Backbone Networks
3.1 Sample-wise Dynamic Networks
3.2 Spatial-wise Dynamic Networks
3.3 Temporal-wise Dynamic Networks
4 Efficient Models for Downstream Computer Vision Tasks
4.1 Object Detection
4.2 Semantic Segmentation
4.3 Instance Segmentation
5 Model Compression Techniques
5.1 Network Pruning
5.2 Network Quantization
5.3 Knowledge Distillation
5.4 Low-rank Factorization
5.5 Hybrid Techniques
6 Efficient Deployment on Hardware
6.1 Hardware-aware Model Design
6.2 Acceleration Tools
6.3 Algorithm-Hardware Co-design
7 Challenges and Future Directions
7.1 Designing General-purpose Backbones
7.2 Developing Task-specialized Models
7.3 Deep Networks for Edge Computing
7.4 Leveraging Large-scale Training Data
7.5 Practical Efficiency
7.6 Model Compression Approaches