Rotation TTA for Segmentation
SkillDev toolsTest-time augmentation via 4 rotation angles (0/90/180/270), applying inverse rotation to each prediction before averaging
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Rotation TTA for Segmentation skill
What this skill tells your AI
The instructions your AI receives, as published by wenmin-wu/ds-skills in skills/cv/rotation-tta-segmentation/SKILL.md and read by ahel’s review.
Overview
For segmentation tasks without strong orientation priors (microscopy, satellite, scroll fragments), rotating the input by 0°, 90°, 180°, and 270° and averaging the inverse-rotated predictions reduces directional bias. This is computationally efficient — all 4 rotations can be batched into a single forward pass by concatenating along the batch dimension.
Quick Start
import torch
def rotation_tta(model, x):
B = x.shape[0]
# Create 4 rotated versions, batch together
rotated = [x] + [torch.rot90(x, k=k, dims=(-2, -1)) for k in range(1, 4)]
batch = torch.cat(rotated, dim=0) # (4*B, C, H, W)
with torch.no_grad():
preds = torch.sigmoid(model(batch))
# Split and inverse-rotate
preds = preds.reshape(4, B, *preds.shape[1:])
aligned = [torch.rot90(preds[k], k=-k, dims=(-2, -1)) for k in range(4)]
return torch.stack(aligned, dim=0).mean(0)
pred = rotation_tta(model, images.cuda())
Workflow
- Create 4 rotated copies of the input (0°, 90°, 180°, 270°)
- Concatenate along batch dimension for a single forward pass
- Apply sigmoid to raw logits
- Split predictions back into 4 groups
- Inverse-rotate each group by -k*90° to realign with original orientation
- Average all 4 aligned predictions
Key Decisions
- 4 rotations: sufficient for most tasks; 8 (adding flips) doubles cost for marginal gain
- Batched forward: 4x batch size in one pass is faster than 4 separate passes
- Memory: if 4x batch doesn't fit, process in pairs
- When useful: isotropic data (no gravity direction); less useful for natural photos with orientation
References
Signals
- GitHub stars
- 60
- Forks
- 4
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
cv-rotation-tta-segmentation- Source
- github.com/wenmin-wu/ds-skills