FSMC-Pose: Frequency and Spatial Fusion with Multiscale Self-calibration for Cattle Mounting Pose Estimation
Organizations: Beijing Jiaotong University · NERCITA · Tsinghua University · Griffith University
Abstract
Mounting posture is an important visual indicator of estrus in dairy cattle. However, achieving reliable mounting pose estimation in real-world environments remains challenging due to cluttered backgrounds and frequent inter-animal occlusion. We present FSMC-Pose, a top-down framework that integrates a lightweight frequency-spatial fusion backbone, CattleMountNet, and a multiscale self-calibration head, SC2Head. Specifically, we design two algorithmic components for CattleMountNet: the Spatial Frequency Enhancement Block (SFEBlock) and the Receptive Aggregation Block (RABlock). SFEBlock separates cattle from cluttered backgrounds, while RABlock captures multiscale contextual information. The Spatial-Channel Self-Calibration Head (SC2Head) attends to spatial and channel dependencies and introduces a self-calibration branch to mitigate structural misalignment under inter-animal overlap. We construct a mounting dataset, MOUNT-Cattle, covering 1176 mounting instances, which follows the COCO format and supports drop-in training across pose estimation models. Using a comprehensive dataset that combines MOUNT-Cattle with the public NWAFU-Cattle dataset, FSMC-Pose achieves higher accuracy than strong baselines, with markedly lower computational and parameter costs, while maintaining real-time inference on commodity GPUs. Extensive experiments and qualitative analyses show that FSMC-Pose effectively captures and estimates cattle mounting pose in complex and cluttered environments. Dataset and code are available at https://github.com/elianafang/FSMC-Pose.
Figures & tables
| Split | Invisible | Partial | Visible | Total |
|---|---|---|---|---|
| Train | 7,493 (11.51%) | 4,646 (7.14%) | 52,965 (81.35%) | 65,104 |
| Val | 929 (11.14%) | 564 (6.77%) | 6,843 (82.09%) | 8,336 |
| Test | 1,066 (12.81%) | 572 (6.88%) | 6,682 (80.31%) | 8,320 |
| Total | 9,488 (11.60%) | 5,782 (7.07%) | 66,490 (81.32%) | 81,760 |
| Methods | Backbone | Head | AP/% | AP 50 /% | AP 75 /% | AR/% | AR 50 /% | AR 75 /% | FLOPs/G | Params/M |
|---|---|---|---|---|---|---|---|---|---|---|
| DEKR [ 7 ] | HRNet | DEKRHead | 87.2 | 95.8 | 90.3 | 89.0 | 96.7 | 91.9 | 44.416 | 29.548 |
| CID [ 26 ] | HRNet | CIDHead | 88.0 | 96.4 | 90.8 | 89.0 | 97.1 | 91.7 | 44.160 | 29.363 |
| CoupledEmbedding [ 28 ] | HRNet | AEHead | 72.2 | 90.5 | 75.4 | 78.0 | 95.0 | 77.2 | 41.100 | 28.641 |
| CoupledEmbedding [ 28 ] | HRNet | HAEHead | 73.9 | 90.1 | 74.0 | 80.4 | 96.6 | 82.5 | 40.500 | 28.541 |
| SimCC [ 12 ] | ResNet50 | SimCCHead | 87.4 | 96.0 | 91.0 | 89.9 | 96.7 | 92.9 | 5.493 | 36.753 |
| SimCC [ 12 ] | ResNet101 | SimCCHead | 87.4 | 97.0 | 91.6 | 89.8 | 97.5 | 91.7 | 9.140 | 55.745 |
| CattleMountNet | Head | Metrics (%) | Params/M | ||||
|---|---|---|---|---|---|---|---|
| SFEBlock | RABlock | SC2Head | AP | AP 75 | AR | AR 75 | |
| Baseline | 88.4 | 90.6 | 89.0 | 92.7 | 13.55 | ||
| Baseline w/ MobileNet | 87.8 | 89.5 | 89.0 | 91.3 | 1.609 | ||
| ✓ | 88.2 | 91.7 | 89.6 | 92.3 | 1.903 | ||
| ✓ | 88.0 | 90.8 | 89.0 | 91.7 | 2.393 | ||
| ✓ | 87.5 | 90.7 | 89.3 | 91.9 | 1.620 | ||
| Attention Mechanisms | AP/% | AP 75 /% | AR/% | AR 75 /% |
| CSA | 88.5 | 91.4 | 89.4 | 92.1 |
| ECA | 88.1 | 90.3 | 89.3 | 91.0 |
| SAM | 88.4 | 91.6 | 89.1 | 91.3 |
| EMA | 88.1 | 89.0 | 89.2 | 90.5 |
| CBAM | 88.4 | 90.8 | 89.4 | 91.2 |
| SCAM | 88.2 | 90.4 | 89.6 | 91.7 |
| Methods | FLOPs/G | Params/M | FPS |
|---|---|---|---|
| DEKR | 8.328 | 29.548 | 37.57 |
| CID | 8.093 | 29.363 | 184.09 |
| CoupledEmbedding | 7.590 | 28.541 | 89.90 |
| RTMO | 31.656 | 22.475 | 78.23 |
| Ours (FSMC-Pose) | 0.354 | 2.698 | 216.58 |
Object Pose Estimation
Object pose estimation recovers an object's 3D position and orientation from images, depth, point clouds, or contact sensing.
See all 187 papers