Image Rotation Angle Estimation: Comparing Circular-Aware Methods
Organizations: Research Group Software Architecture, Faculty of Computer Science, University of Vienna, Vienna, Austria · MAXI solutions e.U., Vienna, Austria
Abstract
Automatic image rotation estimation is a key preprocessing step in many vision pipelines. This task is challenging because angles have circular topology, creating boundary discontinuities that hinder standard regression methods. We present a comprehensive study of five circular-aware methods for global orientation estimation: direct angle regression with circular loss, classification via angular binning, unit-vector regression, phase-shifting coder, and circular Gaussian distribution. Using transfer learning from ImageNet-pretrained models, we systematically evaluate these methods across sixteen modern architectures by adapting their output heads for rotation-specific predictions. Our results show that probabilistic methods, particularly the circular Gaussian distribution, are the most robust across architectures, while classification achieves the best accuracy on well-matched backbones but suffers training instabilities on others. The best configuration (classification with EfficientViT-B3) achieves a mean absolute error (MAE) of 1.23° (mean across five independent runs) on the DRC-D dataset, while the circular Gaussian distribution with MambaOut Base achieves a virtually identical 1.24° with greater robustness across backbones. Training and evaluating our top-performing method-architecture combinations on COCO 2014, the best configuration reaches 3.71° MAE, improving substantially over prior work, with further improvement to 2.84° on the larger COCO 2017 dataset.
Figures & tables
| Architecture | Method (MAE°, mean(std)) | Best method metrics (5-run means) | ||||||||
| DA | CLS | UV | PSC | CGD | Med° | RMSE° | Acc (2°/5°/10°) | AUC (2°/5°/10°) | P90/P95° | |
| ViT-Tiny | 18.39(1.76) | 6.85(0.74) | 4.16(0.76) | 4.17(0.22) | 5.69(1.56) | 2.31 | 7.69 | 0.43/0.81/0.96 | 0.22/0.48/0.69 | 6.49/11.82 |
| ViT-Base | 15.16(2.83) | 2.97(1.80) | 2.89(0.65) | 2.80(0.58) | 2.10(0.49) | 1.30 | 3.97 | 0.70/0.98/1.00 | 0.37/0.69/0.84 | 2.99/5.53 |
| EfficientViT-B0 | 15.68(4.06) | 7.46(1.13) | 5.87(2.01) | 4.94(0.87) | 4.87(0.52) | 1.68 | 12.25 | 0.56/0.92/0.97 | 0.29/0.59/0.77 | 6.57/17.71 |
| EfficientViT-B3 | 8.25(1.84) | 1.23(0.61) ∗ | 2.41(0.35) | 2.74(1.53) | 1.93(0.33) | 0.79 | 2.17 | 0.90/0.99/1.00 | 0.55/0.80/0.90 | 1.89/3.18 |
| ConvNeXt V2 Atto | 7.88(2.11) ∗ | 3.04(1.55) | 2.69(0.41) | 2.83(0.64) | 3.46(1.54) | 1.77 | 4.13 | 0.53/0.89/0.98 | 0.28/0.57/0.76 | 4.89/7.06 |
| Method | Arch. | MAE° | Med° | RMSE° | Acc (2°/5°/10°) | AUC (2°/5°/10°) | P90/P95° |
| COCO 2014 ( 83K train images) | |||||||
| Net-360 [ 4 ] | AlexNet-like | 20.97 | – | – | –/–/– | –/–/– | –/– |
| OAD-360 [ 14 ] | ViT | 10.07(1.07) | 1.35 | 35.17 | 0.68/0.91/0.93 | 0.37/0.65/0.79 | 4.29 /88.18 |
| Ours (DA) | ConvNeXt V2-Atto | 14.79(0.28) | 3.35 | 31.32 | 0.34/0.63/0.79 | 0.18/0.38/0.55 | 41.33/65.67 |
| Ours (CLS) | EfficientViT-B3 | 4.67(0.42) | 0.79 | 13.47 | 0.81/0.94/0.96 | 0.51/0.74/0.85 | 7.21/21.04 |
| Ours (UV) | ConvNeXt V2-Base | 4.51(0.29) | 1.40 | 11.26 | 0.63/0.89/0.96 | 0.35/0.62/0.78 | 6.67/16.94 |