ECCV 2026  ·  Main conference

Compositional Non-Face Re-Identification Pressure

under Cumulative Vision Releases

Tirth Joshi  ·  Honggang Wang

Katz School of Science and Health, Yeshiva University, New York, USA  ·  Malmö, September 2026

The gap

Privacy is audited one release at a time. Identity is not released one piece at a time.

A dataset ships, a checkpoint ships, an index ships. Each is assessed on its own, and each passes. But every one of them is extra side information about the same people, and side information composes.

We model a deployment as a sequence of releases \(Z_1, Z_2, \dots, Z_T\) about a fixed identity universe \(\mathcal{U}\). On Market-1501 that sequence is concrete:

Nothing here is a privacy failure in the ordinary sense. No release contains a face: every image is masked over its top 20%, removing the head region outright. The identities stay linkable anyway, through clothing, body shape, gait and scene context.

The leaky bucket

Single-release compliance does not bound ecosystem-level risk. The question a vision team should be able to answer is not "is this release safe?" but "how much anonymity has everything we have published, taken together, already cost?"

The metric

Vision Re-Identification Pressure Index

Let \(U\) be the identity of a subject, uniform over \(N\) identities, and \(Z_{1:T}\) everything released so far. vRPI is the anonymity that the release sequence has consumed, measured with Arimoto conditional Rényi entropy:

$$\mathrm{vRPI}_\alpha(T) \;=\; \log N \;-\; H_\alpha\!\left(U \mid Z_{1:T}\right), \qquad H_\alpha(U\mid Z)=\frac{\alpha}{1-\alpha}\log \Phi_\alpha(U\mid Z)$$

where \(\Phi_\alpha(U\mid Z) = \mathbb{E}_z\big[\|\Pr(U=\cdot\mid Z=z)\|_\alpha\big]\). It reads in nats: \(0\) means the releases told an adversary nothing; \(\log N\) means they pinned the identity down. Two properties make it usable rather than merely definable — it cannot go down as you publish more, and it bounds an actual attack.

α = 2

The recommended default. A stable, interpretable collision-style order, not dominated by a single extreme posterior entry.

α = 5, 10

Worst-case auditing. More sensitive to posterior sharpness, so report calibration diagnostics alongside.

The measure is defined on the true posterior induced by the releases, so it is attacker-independent. In practice it is estimated by plugging in a concrete attacker's posterior \(\widehat{p}_T(\cdot \mid z_{1:T})\) over the fixed identity set — which makes every measured value a lower bound on the pressure a better adversary could realise.

Non-uniform priors

If identities are not equally likely, \(\log N\) is the wrong normaliser, and the prior-normalised index \(\mathrm{vRPI}^{\pi}_\alpha(T) = H_\alpha(U) - H_\alpha(U\mid Z_{1:T})\) takes its place. Under a long tail there is simply less anonymity to erode — quantified with a Zipf sweep below.

Theory

Three results that make the index mean something

1. Monotonicity — pressure only rises

For \(\alpha > 1\) and any jointly distributed side information, \(H_\alpha(U \mid Z, W) \le H_\alpha(U \mid Z)\), so

$$\mathrm{vRPI}_\alpha(T{+}1) \;\ge\; \mathrm{vRPI}_\alpha(T).$$

The proof is a convexity argument on the \(\alpha\)-norm of the posterior mixture. No independence assumption is needed: a new release can never restore anonymity, whatever its correlation with the ones before it. This is the formal version of the leaky bucket.

2. An exact bridge to guessing probability

$$P_{\mathrm{guess}}(U \mid Z) \;\le\; \Phi_\alpha(U\mid Z) \;=\; \exp\!\left(\tfrac{1-\alpha}{\alpha}H_\alpha(U\mid Z)\right)$$

An information-theoretic quantity is only useful to a practitioner if it says something about what an adversary can do. This one does, directly: pressure upper-bounds the Bayes-optimal single-guess success rate.

3. Additivity holds only in an ideal benchmark — and the gap is measurable

Under conditional independence of the releases given the identity, pressure decomposes additively. Real releases are not conditionally independent, and the shortfall is itself a diagnostic:

$$\Delta_{\mathrm{corr},\alpha} \;=\; \sum_t \widehat{\mathrm{vRPI}}_\alpha(Z_t) \;-\; \widehat{\mathrm{vRPI}}_\alpha(Z_{1:T})$$

A positive \(\Delta\) says the releases overlap — summing per-release audits overstates joint pressure, so per-release accounting is not conservative in the direction people assume. Measured on Market: \(\Delta_{\mathrm{corr},2} = 0.304\).

Main result

Exposure expansion dominates everything else

The NFLeak protocol runs the release ladder R₁–R₄ against an attacker ladder on Market-1501-Tau — all \(N=751\) training identities, closed-world, top-20% masked. Every attacker outputs a posterior over the same 751 identities, so every number below is computed over the same label space, matching the theory.

Mean ± std over 3 seeds on Market-1501-Tau (\(N=751\)). R₂ and R₃ use validation-tuned fusion weights and temperature calibration. R₄ introduces released artifacts — a prototype bank and a \(k\)NN graph — exploited by A₂ and A₀-Graph. Missing rows are missing, not zero: A₂ and A₀-Graph have no artifact to attack before R₄, and A₄ has no trainable backbone at R₄.
ReleaseAttackerPguessvRPI1.5vRPI2vRPI5vRPI10
R₁A₀0.2883 ±.02223.91804.33194.96675.1327
R₁A₁0.1600 ±.00861.23481.65612.74373.1123
R₁A₃0.4073 ±.01734.30744.72315.27985.4163
R₁A₄0.5073 ±.02524.69165.09125.56855.6779
R₂A₀0.7491 ±.00876.12506.21196.32696.3561
R₂A₁0.5375 ±.00514.56124.99975.51325.6292
R₂A₃0.7063 ±.00265.76965.94026.14576.1943
R₂A₄0.7304 ±.00565.84216.01336.20396.2471
R₃A₀0.7529 ±.00715.76695.92716.13056.1801
R₃A₁0.5372 ±.00434.55044.99175.50805.6245
R₃A₃0.7092 ±.00435.76605.93686.14306.1918
R₃A₄0.7238 ±.00395.83196.00606.19926.2429
R₄A₀-Graph0.7366 ±.00765.45535.66975.94866.0168
R₄A₂0.7519 ±.00706.30716.35726.42746.4461
Guessing probability 0 .2 .4 .6 .8 R₁ R₂ R₃ R₄ Pressure vRPI₂ (nats) 0 2 4 6 R₁ R₂ R₃ R₄ log N = 6.62
A₀ retrieval A₁ linear A₃ MLP A₄ white-box A₂ prototype index (R₄) A₀-Graph (R₄)
Both quantities move together, and both move almost entirely at one step. R₁→R₂ is exposure expansion; R₂→R₃ adds a generic public encoder and changes little; R₄ adds no new features at all, only published artifacts.

R₁ → R₂ · exposure expansion

Every attacker jumps. The black-box retrieval adversary — the weakest realistic one, needing nothing but the released encoder and the gallery — goes from \(P_{\mathrm{guess}} = 0.2883\) to \(0.7491\), and vRPI₂ from 4.3319 to 6.2119 against a ceiling of \(\log 751 = 6.62\). Simply training the next checkpoint on more of the same people is the single largest privacy event in the sequence.

R₂ → R₃ · the generic channel is stable under calibrated fusion

Adding an ImageNet ResNet-50 leaves attackers flat or marginally better (A₀: 0.7491 → 0.7529; A₃: 0.7063 → 0.7092). With validation-tuned fusion weights and posterior temperatures, appending a generic representation avoids the brittle regressions naive concatenation produces — it neither helps the adversary much nor rescues anyone.

R₄ · artifacts leak on their own terms

R₄ changes no feature state. It only publishes what R₃ already computed. Generic attackers are therefore unchanged — and the specialists those artifacts enable are not: the prototype-index attacker A₂ reaches \(P_{\mathrm{guess}} = 0.7519\) at vRPI₂ = 6.3572, the highest value anywhere in the study, and the graph-exploiting A₀-Graph reaches 0.7366. Shipping a derived index is its own disclosure.

Replication

The R₁→R₂ effect is not one dataset and not one protocol

An independent, lighter-weight paired protocol — score-level fusion, a reduced training budget, and a min_imgs_per_id=4 filter so every identity yields a valid exposure/gallery/query triple — reruns the exposure-expansion step on Market and on CUHK03-Tau.

Absolute magnitudes are not comparable to the main table. Different fusion, different training budget, different identity filter — hence \(N=736\) and \(N=700\) rather than 751. The claim this table makes is only the within-protocol paired R₁→R₂ increase, which is positive for both attackers on both datasets.
DatasetAttackerNR₁ PguessR₂ PguessR₁ vRPI2R₂ vRPI2
Market-1501-TauA₀736.197.547.8734.966
Market-1501-TauA₃736.368.6915.1985.943
CUHK03-TauA₀700.226.399.5303.325
CUHK03-TauA₃700.313.5024.5494.977

The pattern is the same one, and it is largest exactly where the main experiment says it should be: the black-box retrieval attacker, at the exposure-expansion step, on both datasets.

Diagnostics

Four ways the result could have been an artifact of the setup

Masking more of the head does not help

Sweeping the mask from \(\tau = 0\) to 40% of image height — well past the head — barely moves anything. At R₂ the retrieval attacker's vRPI₂ stays within [4.874, 4.909] and the MLP probe's within [5.832, 5.882]; \(P_{\mathrm{guess}}\) stays above 0.50 for A₀ and 0.63 for A₃ even at 40%. Removing the face is not a mitigation, because the face was never carrying the signal.

Masking ablation on Market-1501-Tau at R₂, vRPI₂. Removing 40% of every image — twice the head region — leaves the measured pressure essentially unchanged.
Mask τ0%10%20%30%40%
A₀ vRPI₂4.9014.8884.9094.8744.883
A₃ vRPI₂5.8825.8325.8565.8615.879

The effect is not a temperature artifact

Posterior sharpness is a real lever on any Rényi quantity, so the softmax temperature is swept over \(\theta \in \{.025, .05, .1, .2, .5, 1.0\}\). The exposure-expansion increase \(\Delta\mathrm{vRPI}_2(R_2 - R_1)\) is positive at every temperature — ranging over [0.781, 4.100] for A₀ and [0.567, 0.677] for A₃. The magnitude is calibration-dependent; the sign is not.

The releases overlap, and per-release audits overstate the total

Marginal pressures of \(E_1, E_2, E_3\) are 0.884, 4.159 and 0.629; the joint is 5.368, not their sum of 5.672. So \(\Delta_{\mathrm{corr},2} = 0.304 > 0\). Summing independent per-release audits is not a conservative approximation of ecosystem risk — it is a different, larger number, and the theory says exactly why.

Long-tailed priors leave less to erode

Under a Zipf(\(s\)) identity prior the available anonymity budget \(H_\alpha(U)\) shrinks, and with it the prior-normalised increase: \(\Delta\mathrm{vRPI}^{\pi}_2\) falls from 3.818 at \(s=0\) (uniform) to 0.123 at \(s=1.5\). This is a real caveat on deployment, not a weakness in the measure — when a few identities dominate the prior, an adversary already knew most of what a release could tell them.

Code

Reproduce it

Two notebooks, both run on Kaggle, plus the CSVs behind every published table:

git clone https://github.com/tirth5828/nfleak-eccv2026
cd nfleak-eccv2026

code/01_main_market1501_tau.ipynb          # main table: N=751, R1-R4, A0-A4, 3 seeds
code/02_replication_and_diagnostics.ipynb  # CUHK03 replication + all four diagnostics

You will need Market-1501 and CUHK03 mounted, and to repoint the /kaggle/input/... paths. results/ holds the run the paper reports — the replication table, the masking sweep, the temperature sweep, the dependence-overlap diagnostic and the Zipf normalisation — and supplementary/ holds the extended proofs.

Two runs exist — read this before using results/

The experiments were downloaded twice and the folder ended up with two runs side by side, with genuinely different numbers, and the original run_summary.json pointed at the earlier one. Every file now in results/ was checked value by value against the published tables — all sixteen replication values and all four diagnostics match to the last printed digit. The superseded run is preserved under results/superseded-earlier-run/ rather than deleted, so the provenance stays visible.

One gap, stated plainly: the main \(N=751\) table is not in results/ at all. Notebook 01 wrote its CSVs inside the Kaggle session and they were never saved out; only the notebook's own cell outputs have them. Reproducing the main table means re-running notebook 01.

2 datasets, 2 protocols
Market-1501-Tau (N = 751 and 736), CUHK03-Tau (N = 700)

4 releases × 5 attackers
R₁–R₄ against A₀, A₁, A₂, A₃, A₄, at α ∈ {1.5, 2, 5, 10}

Poster

ECCV 2026, Malmö

1400 × 1000 mm, print-ready CMYK, built in LaTeX against a print-check pipeline covering page geometry, trim clearance, and embedded and subsetted fonts.

The conference poster: three columns covering the compositional leakage thesis, the vRPI definition and its theorems, the release and attacker ladders, the main results table and the diagnostics.
Click for the print PDF.

Citation

BibTeX

@inproceedings{joshi2026compositional,
  title     = {Compositional Non-Face Re-Identification Pressure under
               Cumulative Vision Releases},
  author    = {Joshi, Tirth and Wang, Honggang},
  booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
  year      = {2026},
}