DeepTFUS: variant E (soft-argmax + Dice on −6 dB iso-volume)
A reproduction attempt of DeepTFUS, proposed by Srivastav et al. (arXiv:2505.12998).
Fine-tune of masonwang025/deeptfus-base
that adds an orthogonal-mechanism Dice loss on top of variant C's recipe.
Soft-argmax pulls the predicted centroid toward GT; Dice pulls the
−6 dB iso-volume shape to match GT. Tests whether the two loss terms
compose to fix focal_position_error_mm AND max_pressure_error AND
focal-volume bloat simultaneously.
⭐ The only variant that beats paper on max_pressure_error (0.129
vs paper 0.199) and the only variant to tighten the predicted focal
blob (3.06× → 2.70×), at the cost of ~0.2 mm of focal_mm vs C.
Modification (vs base, vs C)
loss.focal_weight 0 to 5e-5 (C's recipe; soft-argmax centroid pull)
loss.focal_temperature : to 0.03
loss.grad_weight 0.1 to 0.1 (anchor kept)
loss.dice_weight 0 to 3e-3 (NEW: Dice on −6 dB iso-volume)
loss.dice_threshold : to 0.5 (= half-max amplitude)
loss.dice_temperature : to 0.05 (sigmoid soft-mask sharpness)
Dice term: 1 − Dice(σ((pred−0.5)/0.05), σ((target−0.5)/0.05)).
Penalizes pred for having voxels above half-peak amplitude where GT
doesn't, and vice versa. Fine-tune ran 10 epochs from base ckpt at
lr=3e-5; shipped ckpt is ckpt_epoch_005.pt (best balanced epoch by
val_max_p + tied for val_total).
Test results (n = 597)
| metric | paper | base | E (this model) | Δ vs base |
|---|---|---|---|---|
relative_l2 mean ± std |
0.414 ± 0.086 | 0.384 ± 0.078 | 0.401 ± 0.081 | +0.017 (still in paper budget) |
focal_position_error_mm mean ± std |
2.89 ± 2.14 | 6.49 ± 4.58 | 5.32 ± 3.44 | −1.17 mm; best std of any variant |
focal_position_error_mm median |
2.45 | 5.15 | 4.39 | −0.76 mm (−15%) |
max_pressure_error mean ± std |
0.199 ± 0.158 | 0.225 ± 0.116 | 0.129 ± 0.095 ★ | −0.096 (−43%) beats paper |
max_pressure_error median |
0.166 | 0.217 | 0.110 ★ | −0.107 (−49%) beats paper |
focal_pressure_error median |
: | 0.528 | 0.421 | −0.107 |
focal_iou_fwhm mean |
: | 0.156 | 0.164 ★ | +0.008 (best of any variant) |
inference_latency_s median |
: | 0.233 | 0.232 | unchanged |
★ = project best on that metric.
Other variants and discussion
See the Collection for the other 5 variants, and the project page for the full reproduction story, interactive viewer, and discussion of trade-offs.
Usage
from huggingface_hub import hf_hub_download
import torch
ckpt = torch.load(
hf_hub_download("masonwang025/deeptfus-ft-e-dice-anchored", "ckpt_best.pt"),
map_location="cpu", weights_only=False,
)
Model code: github.com/masonwang025/deeptfus.
Citation & License
Paper: Srivastav et al., arXiv:2505.12998, 2025.
License: CC-BY-NC-ND-4.0, matching the TFUScapes dataset.
Model tree for masonwang025/deeptfus-ft-e-dice-anchored
Base model
masonwang025/deeptfus-base