---
kind: concept
slug: anchor-free-detection
title: Anchor-free detection
summary: >-
  Localizing objects or action segments without pre-set anchor windows: each location predicts its own boundaries, and a refinement step pools boundary features for each proposal. So far one card covers it (AFSD, temporal action localization). Its results are author-reported, and the official code differs from the paper in several settings.
tags: [detection, temporal-action-localization, anchor-free]
papers: ["2103.13137"]
related: [object-detection, focal-loss, contrastive-learning, label-assignment]
status: draft
updated_at: 2026-11-01
---

## Overview

Anchor-based detectors place a fixed set of candidate windows, called anchors,
at every location, then classify and refine each one. Their results depend on
how many anchors there are and how big they are [arxiv:2103.13137 §1]. An
anchor-free detector drops the windows. Each location predicts its own start
and end distances directly, so every location gives exactly one proposal
[arxiv:2103.13137 §3.1]. The open question is how to get boundary features
accurate enough to refine each proposal without anchors [arxiv:2103.13137 §1].

## Variants

Only one card in the wiki covers this concept so far. The design space below
is therefore the one that paper explores, not a survey of anchor-free methods.

### Boundary max-pooling refinement (AFSD)

Each pyramid location predicts a coarse start distance and end distance
[arxiv:2103.13137 §3.1]. A refinement module takes each coarse proposal, builds
a start region and an end region scaled by the proposal width, and takes the
channel-wise maximum over each region [arxiv:2103.13137 §3.2, eq. 3–4]. Two
consistency losses regularise the pooled features: an activation loss on the
start and end features, and a triplet loss across a split action
[arxiv:2103.13137 §3.3]. Reported numbers are 52.0 average mAP on THUMOS14 and
34.4 on ActivityNet 1.3, both author-reported [arxiv:2103.13137 tab. 1]. Card:
[Learning Salient Boundary Feature for Anchor-free Temporal Action Localization](/papers/2103.13137).

Design choices inside this variant, from the RGB-only ablation at mAP 0.3–0.7
average [arxiv:2103.13137 tab. 2]:

- Pooling: max 43.5, mean 42.7, conv 42.6, stack 42.9. Max is the best row.
- Quality score in place of a centerness target: 41.4, against 40.2 with
  centerness and 40.4 for the baseline.
- Consistency losses: 43.5 with both, 42.0 without the boundary contrastive
  term, 42.7 with either term alone.

## When to use which

| Situation | Use | Why |
|---|---|---|
| Temporal action localization, and you want no anchor windows to tune | Per-location boundary regression with boundary pooling (AFSD) | No pre-set window sizes or counts; one proposal per location [arxiv:2103.13137 §1] [arxiv:2103.13137 §3.1] |
| Refining each proposal from its own start and end regions | Max pooling over those regions | Max beats mean by 0.8 average points in the RGB ablation [arxiv:2103.13137 tab. 2] |
| Training data with few long actions | Use the consistency losses only where they apply | Boundary contrastive learning needs an action longer than twice the shortest action in the video, plus room for a background clip [arxiv:2103.13137 §3.3]. Dropping it costs 1.5 average points [arxiv:2103.13137 tab. 2] |
| Latency matters | Treat the reported speed as a claim, not a benchmark | Reports 3259 FPS on a 1080 Ti and 4057 on a V100, but the timing protocol is not stated [arxiv:2103.13137 tab. 3] |
| Need a quality target instead of centerness | Quality score (AFSD) | Gains 1.0 average points over the baseline, where centerness loses 0.2 [arxiv:2103.13137 tab. 2] |
| Need a comparison with other anchor-free methods | Not answerable from this page | No other anchor-free card exists yet. The paper's own table compares against anchor-based and actionness-guided methods only [arxiv:2103.13137 tab. 1] |

## Implementation sketch

The core is the boundary pooling step. Variants differ in the pooling operator,
the consistency losses and the training schedule. See the card for the full
training step.

```pseudocode
# Boundary max-pooling for one coarse proposal  [arxiv:2103.13137 §3.2] [eq. 3–4]
# Input:  coarse start psi and end xi (in frames); start_feat, end_feat (T, C)
# Output: pooled start and end features for this proposal, each of size C

def pool_boundaries(psi, xi, start_feat, end_feat, delta_a, delta_b):
    # Proposal width, taken as a positive length  [§3.2] (sign note on the card)
    w = xi - psi
    # Start region: part before the start point, part after  [eq. 3]
    s_lo = psi - w / delta_a
    s_hi = psi + w / delta_b
    # End region: part before the end point, part after  [eq. 3]
    e_lo = xi - w / delta_b
    e_hi = xi + w / delta_a
    # Channel-wise maximum over each region  [eq. 4]
    f_s = max_over_range(start_feat, s_lo, s_hi)
    f_e = max_over_range(end_feat, e_lo, e_hi)
    return f_s, f_e
```

## Contradictions

- **Region ratios.** The paper's default values are δ_a = 4 and δ_b = 10
  [arxiv:2103.13137 §4.1]. The text says a larger share inside the action
  helps [arxiv:2103.13137 §4.3]. The best ablation row is labelled δ_a < δ_b,
  which under eq. 3 gives the background side the larger share
  [arxiv:2103.13137 tab. 2]. The paper does not reconcile these.
- **Headline gains.** The introduction claims 3.7 points at mAP@0.5
  [arxiv:2103.13137 §1]. Section 4.2 claims 7.7 points at mAP@0.6
  [arxiv:2103.13137 §4.2]. The main table gives 3.9 and 5.7 for the same
  comparisons [arxiv:2103.13137 tab. 1]. Use the table values.
- **Paper and official code.** The public repository differs from the paper
  in several settings that change results: the region ratios are reversed, the
  Soft-NMS "threshold" is used as a Gaussian width, and the refined positive
  threshold defaults to 0 rather than 0.5. The full list is on the
  [card](/papers/2103.13137), under Paper vs code.

## Papers

- [Learning Salient Boundary Feature for Anchor-free Temporal Action Localization](/papers/2103.13137): AFSD. Per-location boundary prediction, max boundary pooling and two consistency losses for temporal action localization.
