============================================================
OSINT texture surface re-identification - statistics
============================================================
models present: ['clip', 'clip_l', 'dinov2', 'dinov2_l', 'dinov2_518', 'resnet50', 'efficientnet']

Retrieval (mean [95% bootstrap CI]):
  CLIP ViT-B/32        mAP=0.535[0.529,0.541] R1=0.943 R@5=0.993 mAP_xs=0.518
  CLIP ViT-L/14        mAP=0.590[0.584,0.597] R1=0.954 R@5=0.996 mAP_xs=0.575
  DINOv2 ViT-S/14      mAP=0.604[0.598,0.609] R1=0.976 R@5=0.997 mAP_xs=0.586
  DINOv2 ViT-L/14      mAP=0.646[0.640,0.651] R1=0.981 R@5=0.997 mAP_xs=0.631
  DINOv2 ViT-S/14 (518px) mAP=0.611[0.605,0.617] R1=0.981 R@5=0.999 mAP_xs=0.592
  ResNet-50            mAP=0.505[0.499,0.511] R1=0.962 R@5=0.994 mAP_xs=0.484
  EfficientNet-B0      mAP=0.552[0.546,0.558] R1=0.970 R@5=0.997 mAP_xs=0.531

Verification (same vs different surface):
  CLIP ViT-B/32        AUC=0.938[0.935,0.940] EER=0.137
  CLIP ViT-L/14        AUC=0.960[0.959,0.962] EER=0.100
  DINOv2 ViT-S/14      AUC=0.968[0.966,0.969] EER=0.090
  DINOv2 ViT-L/14      AUC=0.973[0.971,0.974] EER=0.072
  DINOv2 ViT-S/14 (518px) AUC=0.969[0.967,0.970] EER=0.088
  ResNet-50            AUC=0.938[0.936,0.940] EER=0.134
  EfficientNet-B0      AUC=0.950[0.948,0.952] EER=0.125

Paired model comparison (Wilcoxon signed-rank on per-query AP):
  clip vs clip_l: mAP 0.535 vs 0.590  p=3.65e-155
  clip vs dinov2: mAP 0.535 vs 0.604  p=9.65e-177
  clip vs dinov2_l: mAP 0.535 vs 0.646  p=0.00e+00
  clip vs dinov2_518: mAP 0.535 vs 0.611  p=4.43e-211
  clip vs resnet50: mAP 0.535 vs 0.505  p=6.95e-35
  clip vs efficientnet: mAP 0.535 vs 0.552  p=3.08e-20
  clip_l vs dinov2: mAP 0.590 vs 0.604  p=1.96e-08
  clip_l vs dinov2_l: mAP 0.590 vs 0.646  p=6.60e-110
  clip_l vs dinov2_518: mAP 0.590 vs 0.611  p=5.70e-18
  clip_l vs resnet50: mAP 0.590 vs 0.505  p=9.50e-181
  clip_l vs efficientnet: mAP 0.590 vs 0.552  p=6.90e-44
  dinov2 vs dinov2_l: mAP 0.604 vs 0.646  p=5.78e-128
  dinov2 vs dinov2_518: mAP 0.604 vs 0.611  p=1.29e-11
  dinov2 vs resnet50: mAP 0.604 vs 0.505  p=0.00e+00
  dinov2 vs efficientnet: mAP 0.604 vs 0.552  p=9.99e-144
  dinov2_l vs dinov2_518: mAP 0.646 vs 0.611  p=3.72e-70
  dinov2_l vs resnet50: mAP 0.646 vs 0.505  p=0.00e+00
  dinov2_l vs efficientnet: mAP 0.646 vs 0.552  p=7.56e-289
  dinov2_518 vs resnet50: mAP 0.611 vs 0.505  p=0.00e+00
  dinov2_518 vs efficientnet: mAP 0.611 vs 0.552  p=2.69e-184
  resnet50 vs efficientnet: mAP 0.505 vs 0.552  p=1.23e-154

Best model by mAP: DINOv2 ViT-L/14
mAP by material (best model), worst to best:
  aluminium_foil   0.489
  white_bread      0.504
  linen            0.536
  cork             0.614
  corduroy         0.625
  wood             0.639
  cotton           0.667
  cracker          0.671
  brown_bread      0.734
  wool             0.786
  lettuce_leaf     0.840