Project Title: Reproduction and Enhancement of [Xu, Chang, et al. "Dynamic coarse-to-fine learning for oriented tiny object detection" CVPR, 2023.]
This repository contains the code and results for reproducing the paper "Dynamic coarse-to-fine learning for oriented tiny object detection" and implementing a novel approach for improving the model's performance. The original paper tackles the challenging task of detecting arbitrarily oriented tiny objects, which poses significant difficulties for existing detectors, particularly in label assignment. Despite advancements in adaptive label assignment, extreme geometries and limited features of tiny objects often result in severe mismatch and imbalance issues.
To address these challenges, the paper proposes a dynamic prior along with a coarse-to-fine assigner, termed DCFL. The approach models prior, label assignment, and object representation dynamically, aiming to alleviate mismatch issues and provide appropriate, balanced supervision for diverse instances. The novelty introduced here involves the integration of Pruning, Quantization, and Huffman Encoding to reduce the model size while analyzing its effect on accuracy.
The purpose of this project was to reproduce the results presented in the paper "Dynamic coarse-to-fine learning for oriented tiny object detection" and explore the effects of network optimization techniques like pruning, quantization, and Huffman encoding on the model’s performance and size.
Below are the results obtained from the reproduction of the original paper's experiment on the DOTA V1 dataset:
- mAP: 0.6782
- Recall: 0.872
- Precision: 0.057
After applying pruning, quantization, and Huffman encoding, the results are as follows:
- mAP: 0.6257
- Recall: 0.850
- Precision: 0.043
The application of these techniques significantly reduced the model size, as shown in the diagram below, albeit with some reduction in precision and mAP.
Pruning involves removing less significant weights from the network, thereby reducing the network's complexity and size. This step aims to maintain accuracy while compressing the model.
Quantization reduces the number of bits required to represent each weight, which leads to a smaller model with reduced computational requirements.
Huffman encoding is used for lossless compression of the quantized weights, further minimizing the storage size of the model without affecting its accuracy.
To reproduce the results and apply the novelty, follow these steps:
- Clone the repository:
git clone https://github.com/Nikhil-Kumar-Patel/Tiny_Oriented_Object_Detection.git
- Install the required dependencies:
pip install -r requirements.txt
This project successfully reproduces the original results and demonstrates the impact of model optimization techniques such as pruning, quantization, and Huffman encoding. While these methods effectively reduce the model size, they also lead to a trade-off in precision and mAP.
- Dynamic coarse-to-fine learning for oriented tiny object detection - link to the paper
