---
kind: concept
slug: loss-disentanglement
title: Loss disentanglement
summary: >-
  Splits one box regression loss into one term per parameter group, so each term sees only its own group from the prediction. The paper reports more stable training for monocular 3D detection. Its ablation gains from this step alone are small, and the cost is k times the loss terms.
tags: [loss-design, regression, 3d-detection, optimisation]
papers: ["1905.12365"]
related: [disentangled-representation, object-detection, focal-loss, multi-task-learning]
status: draft
updated_at: 2026-10-24
---

## Overview

A network that regresses several quantities at once, such as depth, size and
angle, often sums their errors into one loss. The quantities have different
units and meanings, so their errors can pull against each other
[arxiv:1905.12365 §1]. Loss disentanglement is one fix for this. It splits the
loss into one term per parameter group. In each term, only that group comes
from the prediction and every other group is set to the ground truth, so each
term is still the same kind of box loss [arxiv:1905.12365 §5.1].

This is not the same as [disentangled representation](/concepts/disentangled-representation),
which concerns latent codes. Here the split is over the terms of a loss.

The method needs two properties. The box loss must be zero when the prediction
equals the target, and the map from network output to box must be one-to-one
[arxiv:1905.12365 §5.1].

## Variants

Only one paper with a card covers this technique, so there is one variant.

### Per-group box loss (MonoDIS)

For 2D boxes, the loss has two groups, size and centre, and uses the signed
IoU loss [arxiv:1905.12365 §5.1] [arxiv:1905.12365 eq. 1]. For 3D boxes, it has
four groups, depth, projected centre, rotation and dimensions, and uses the
Huber loss over the eight box corners [arxiv:1905.12365 §5.1]
[arxiv:1905.12365 eq. 2]. The paper applies the split to both losses in its
main experiments [arxiv:1905.12365 §5.1]. Card: [Disentangling Monocular 3D Object Detection](/papers/1905.12365).

## Reported effect

All numbers are author-reported on the KITTI validation split, car class,
3D AP40, Easy / Moderate / Hard [arxiv:1905.12365 tab. 3].

| Setting | 3D Easy | 3D Mod | 3D Hard |
|---|---|---|---|
| 3D box head, entangled loss (ablation) | 3.90 | 2.70 | 2.50 |
| 3D box head, disentangled loss | 4.10 | 3.00 | 2.70 |
| Full MonoDIS | 11.06 | 7.60 | 6.37 |

The gain from the split by itself is small in these rows. The larger gains
in the same table come from the other changes the paper makes, which the rows
do not separate [arxiv:1905.12365 tab. 3]. The AP11 rows on the same split show
the same small gain [arxiv:1905.12365 tab. 5]. The paper calls the training
more stable and faster, but this comparison is not shown in a table
[arxiv:1905.12365 §5.2] [arxiv:1905.12365 fig. 7].

## When to use which

| Situation | Use | Why |
|---|---|---|
| Outputs mix units or meanings and one summed loss trains badly | Per-group split of the box loss | The paper motivates the split this way [arxiv:1905.12365 §1] |
| Box map is not one-to-one, or the loss is not zero at the truth | Do not apply as written | These are the method's conditions [arxiv:1905.12365 §5.1] |
| Training budget is tight | Expect k box-loss terms per example | Each term is a full box loss, so cost grows with k [arxiv:1905.12365 §5.1] |
| Need the 3D lift to work | Calibrated camera at train and test time | The lift uses the intrinsics K [arxiv:1905.12365 §3] [arxiv:1905.12365 app. B] |
| Expecting a large gain from the split alone | Measure it on your own setup | The ablation gain is small [arxiv:1905.12365 tab. 3] |

Open points that the paper does not settle:

- Whether the sum over groups is normalised, and whether the Huber terms are
  summed or averaged before the 1/8 factor [arxiv:1905.12365 §4.3] [arxiv:1905.12365 §5.1].
- The units of the Huber threshold δ = 3.0 [arxiv:1905.12365 §7.2].
- How the 3D head's training boxes are matched to ground truth
  [arxiv:1905.12365 §4.3].

## Implementation sketch

Language-agnostic pseudocode of the generic split. The paper's concrete
groups are in the card's Method section [arxiv:1905.12365 §5.1].

```pseudocode
# Disentangled loss over k parameter groups  [arxiv:1905.12365 §5.1]
# Input:  prediction theta, ground-truth box y_hat, groups G_1..G_k
# Output: scalar loss

def disentangled_loss(theta, y_hat, groups, psi, psi_inv, box_loss):
    # 1. Ground-truth parametrisation  [arxiv:1905.12365 §5.1]
    theta_hat = psi_inv(y_hat)
    total = 0
    for group in groups:
        # 2. Keep group j from the prediction, the rest from ground truth
        mixed = theta_hat.copy()
        mixed[group] = theta[group]
        # 3. Map back to a box and apply the ordinary box loss  [§5.1]
        total += box_loss(psi(mixed), y_hat)
    # 4. Whether this sum is normalised is not stated  [§5.1]
    return total
```

## Contradictions

None known. Only one card cites this technique, so there is no cross-paper
comparison.

## Papers

- [Disentangling Monocular 3D Object Detection](/papers/1905.12365): splits the
  2D and 3D box losses into per-group terms for monocular 3D car detection.
