Logo
← All blogs

Synthetic data and domain adaptation for sports brand detectors

Sports brand detectors face rare creatives, venue-specific lighting, and camera packs that change every season. Sponsorlytix used synthetic data and domain adaptation so detectors generalised across football, tennis, combat, and basketball scenes.

Eagle Eye generated labelled arenas, wrapped LED creatives, and weather variants, then adapted models toward real broadcast distributions. The goal is inventory-grade boxes on live feeds — not impressive synthetic demos that fail under compression artefacts.

Problem framing for rights holders and brands

Collecting and labelling every new LED creative by hand does not scale. Novel brands appear mid-season. Venues differ in LED pitch, glare, and camera height. Waiting on exhaustive live labels delays measurement for the exact tournaments partners care about.

Rights holders need detectors that recognise next week's creative on last week's geometry. Brands need confidence that a new kit mark will be measured from match one — not after a fortnight of missed exposures.

  • Procedural venues place LED, board, mat, and court logos into sport geometries.
  • Motion and blur simulations must match broadcast camera profiles.
  • Domain adaptation closes the gap to live compression and lighting.
  • Active learning samples hard live frames for sparse HITL labels.

Methodology — synthesise, train, adapt, active HITL

Procedural venue builders place LED ribbons, boards, mats, and court logos into sport-specific geometries. Creative textures map onto those surfaces with motion and blur simulations matched to broadcast camera profiles. Detectors train on those labelled frames for Brand Detection and Placement Detection heads.

Domain-adversarial and self-training stages pull the feature distribution toward real clips. Active learning then samples hard live frames for sparse human labels that close remaining gaps. Failure modes from generic loose boxes are treated as negatives to avoid — the contrast panel below shows what inventory-grade detection refuses to ship.

Placement Detection heads train jointly with brand identity so synthetic scenes teach both where inventory sits and what it is. That joint objective is what keeps loose player-silhouette boxes from looking like a win during training.

Synthetic to live adaptation (schematic)
Schematic / illustrative1Synthesize2Train3Adapt4Active5Deploy
Illustrative training flow from synthetic generation through domain adaptation to live deployment.

Detection panels — target output and failure contrast

Inventory-grade board and equipment detections as the synthetic training target
Target output style for synthetic training: tight board and equipment boxes with asset-class labels. Synthetic pipelines aim to reproduce this inventory-grade behaviour on live feeds.
Dense LED detections illustrating multi-creative scenes synthetic data must cover
Dense multi-creative LED scenes are exactly what synthetic generators must cover before a tournament window — many adjacent brands, distinct boxes.
Generic loose false-positive style boxes labelled as a failure mode, not Sponsorlytix output
Contrast: generic loose false-positive style overlays (NOT Sponsorlytix / Eagle Eye inventory-grade output). Synthetic+HITL loops explicitly penalise this failure mode — a silhouette that merely contains a logo somewhere inside is not sellable inventory.

Real-world synthetic programme examples

  • New football LED creatives synthesised weeks before a tournament window.
  • Combat cage wraps generated with fighter occlusion layers.
  • Tennis court logos under clay dust and hard-court glare variants.
  • Basketball courtside strips with arena reflection profiles.
  • Active-learning queues of hard live night-LED frames labelled in HITL.

Results discussion (illustrative)

Synthetic pretraining expands creative coverage. Domain adaptation recovers live texture and compression artefacts. Sponsorlytix monitors live hard examples so the loop stays closed through the season. Training mix chart is schematic volume — not a claim about production dataset sizes.

Illustrative training mix
Schematic / illustrativeSynthetic55Archival30Active15
Schematic relative volume of training sources. Not a claim about production dataset sizes.

Code — synthetic clip builder and active sample

def build_synthetic_clip(venue, creative, camera_profile):
    scene = venue.spawn()
    scene.apply_creative(creative)
    scene.simulate_motion(camera_profile)
    frames, boxes = scene.render_labelled()
    # boxes are inventory-grade: asset_class + brand_id + xyxy
    return frames, boxes

def active_sample(live_loader, model, budget):
    hard = []
    for frame in live_loader:
        pred = model.predict(frame)
        if pred.entropy > model.threshold or pred.max_iou_to_gt_proxy < 0.5:
            hard.append(frame)
        if len(hard) >= budget:
            break
    return hard  # enqueue to HITL in Koba

Takeaways

Synthetic data and domain adaptation let Sponsorlytix ship detectors for new creatives and venues without waiting on exhaustive live labels. Eagle Eye keeps the adaptation loop tied to real broadcast hard cases.

That is how sports brand detectors stay current across a full competition calendar — and why loose generic boxes stay out of the ledger.