Kinematic Causal Attribution: Black-Box Explanations of Motion versus Geometry for 4D Point-Cloud Video Models
Abstract
4D perception models, which classify 3D point-cloud videos, are being built into robots, assistive monitoring and AR, yet before deploying one a practitioner cannot check which cue it relies on: how a body part moves, or what shape it has. 3D attribution is single-frame, video attribution is confined to RGB pixels, gradient maps need white-box access, attention is absent from state-space backbones, and point-level perturbations assume a point correspondence across frames that real depth and LiDAR data lack. We present Kinematic Causal Attribution (KCA), a black-box, interventional attribution method that queries only the model's outputs. Its freeze operator removes a region's motion while keeping its shape, and a shape-free proxy removes the shape while keeping the motion. Together they span a motiongeometry cube for every tracked region, whose order-symmetric Shapley decomposition is complete and whose interaction is measured rather than assumed away. The operators rewrite per-frame point sets, so they need no correspondences, and a context-averaged estimator handles structures that span several regions. We validate KCA on the official PSTNet, P4Transformer and Mamba4D trained on MSR-Action3D. The decisive test is an audit: two binary tasks are built from real clips whose classes differ only in the motion or only in the shape of the same arm, and the motion share of the arm's importance follows the defining cue on all three backbones (0.83 vs. 0.60 on P4Transformer, 0.86 vs. 0.30 on PSTNet, 0.92 vs. 0.61 on Mamba4D), a distinction no single attribution map can make. The split costs no faithfulness: the necessity maps have the lowest deletion AUC on P4Transformer and PSTNet, tie with the best baseline on Mamba4D, and lose their correlation with the trained model's once the weights are randomised. Skeleton ground truth, re-sampling stability and cost complete the validation.
Figures & tables
| Method | Del. | Comp. | Ins. | Suff. |
|---|---|---|---|---|
| Random (floor) | 0.916 0.14 | 0.003 0.05 | 0.920 0.14 | 0.041 0.12 |
| Geometry-edge (floor) | 0.890 0.19 | 0.011 0.11 | 0.903 0.16 | 0.103 0.21 |
| Motion-prior (floor) | 0.505 0.38 | 0.277 0.33 | 0.860 0.16 | 0.365 0.22 |
| Grad Input | 0.655 0.28 | 0.086 0.18 | 0.722 0.25 | 0.332 0.28 |
| SmoothGrad [ Smilkov et al., 2017 ] | 0.772 0.24 | 0.031 0.12 | 0.915 0.14 | 0.083 0.16 |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 0.282 0.26 | 0.347 0.24 | 0.862 0.17 | 0.129 0.19 |
| PSTNet | P4Transformer | Mamba4D | ||||
| Method | Del. | EBPG | Del. | EBPG | Del. | EBPG |
| Random (floor) | 0.950 | 0.098 | 0.929 | 0.098 | 0.902 | 0.098 |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 0.303 | 0.390 | 0.230 | 0.567 | 0.329 | 0.456 |
| Region occlusion [ Zheng et al., 2019 ] | 0.252 | 0.329 | 0.230 | 0.394 | 0.246 | 0.351 |
| OccAM [ Schinagl et al., 2022 ] | 0.845 | 0.098 | 0.865 | 0.098 | 0.778 | 0.098 |
| Extremal Pert. [ Fong et al., 2019 ] | 0.932 | 0.098 | 0.621 | 0.076 | 0.577 | 0.085 |
| moving GT | static | crossover: cue = | |||
| Method | PG | EBPG | PG | motion | shape |
| Grad Input | 0.46 | 0.35 | – | – | – |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 0.92 | 0.55 | – | – | – |
| 3D Grad-CAM [ Selvaraju et al., 2017 ] | 0.19 | 0.10 | – | – | – |
| Region occlusion [ Zheng et al., 2019 ] | 0.40 | 0.40 | – | – | – |
| OccAM [ Schinagl et al., 2022 ] | 0.17 | 0.13 | – | – | – |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| point-cloud video; , sampled per frame | |
| model; target logit of class | |
| a tracked region: its point set in each frame | |
| centroid of | |
| freeze: static at its shape ( , ) | |
| shape-free proxy moving along ( , ) | |
| shape-free proxy static at ( , ) |
| Assumption | Needed by | |
|---|---|---|
| I | interventional validity (operators rewrite only ) | Props. 2 , 3 , 4 |
| S | separability (measured by , not assumed) | Prop. 2 (marginal ACE only) |
| M | monotonicity & exogeneity | Prop. 3 (identification) |
| corner, order | mot. | shape | Del. |
|---|---|---|---|
| static proxy (default), symmetric | 1.00 | 0.00 | 0.428 |
| static proxy, motion-first | 1.00 | 0.00 | 0.428 |
| deletion, symmetric | 0.92 | 0.49 | 0.419 |
| deletion, motion-first | 0.85 | 0.00 | 0.419 |
| donor fill, symmetric | 0.92 | 0.49 | 0.419 |
| donor fill, motion-first | 0.85 | 0.00 | 0.419 |
| Result | Data | Model(s) | Record |
|---|---|---|---|
| Tab. 1 , 3 (left), 12 , 13 , 14 ; Fig. 3 , 1 , 6 | all 287 test clips, 2048 points per frame; ground-truth metrics on the 275 with a complete skeleton | P4Transformer (Fig. 6 : all three) | benchmark, p4transformer/raw.jsonl |
| Tab. 2 | the first two test clips per action (40) | all three | benchmark, one file per backbone |
| Tab. 3 (right), Fig. 4 , Appendix G | arm-moving videos: 163 train, 200 test; 40 test clips explained per task | one task model per task and backbone | crossover*/crossover.json |
| Tab. 11 , Fig. 5 ; displace probe | 40 clips (sanity: the first 20) | P4Transformer | ablation/ablation.json |
| Tab. 8 | the same 40 clips, 5 point samplings each | P4Transformer | stability/stability.jsonl |
| Tab. 10 | as the crossover, 6 training seeds | P4Transformer task models | crossover*/crossover.json |
| one sampling | average of two samplings | |||
| Method | points | body parts | points | body parts |
| Random (floor) | 0.00 | 0.01 | 0.00 | 0.01 |
| Motion-prior (floor) | 0.66 | 0.99 | 0.73 | 0.99 |
| Grad Input | 0.82 | 0.86 | 0.81 | 0.87 |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 0.92 | 0.94 | 0.91 | 0.93 |
| Region occlusion [ Zheng et al., 2019 ] | 0.71 | 0.85 | 0.81 | 0.91 |
| Quantity | laptop | full scale |
|---|---|---|
| Test accuracy, P4Transformer (%) | 90.6 | 89.2 |
| Test accuracy, PSTNet (%) | 87.5 | 88.9 |
| Test accuracy, Mamba4D (%) | 83.6 | 88.2 |
| P4T Del.: KCA (context) | 0.178 | 0.179 |
| P4T Del.: region occlusion | 0.219 | 0.233 |
| P4T Del.: Integrated Gradients | 0.268 | 0.282 |
| Seed | acc. % (mot. / shape) | share (mot. / shape) | gap 95% CI |
|---|---|---|---|
| 0 | 80.5 / 83.5 | 0.83 / 0.60 | [0.14, 0.32] |
| 1 (not trained) | 50.0 / 86.5 | 0.65 / 0.55 | [ 0.02, 0.21] |
| 2 | 67.8 / 88.8 | 0.73 / 0.57 | [0.06, 0.26] |
| 3 | 78.8 / 77.5 | 0.85 / 0.78 | [ 0.02, 0.19] |
| 4 (not trained) | 50.0 / 72.2 | 0.60 / 0.81 | [ 0.32, 0.08] |
| 5 (not trained) | 50.0 / 80.5 | 0.73 / 0.69 | [ 0.05, 0.17] |
| Variant | Del. | EBPG | mot. share | passes | s | |
| local, | 0.235 | 0.47 | 0.65 | 0.46 | 19 | 0.3 |
| local, (default) | 0.272 | 0.54 | 0.73 | 0.63 | 37 | 0.5 |
| local, | 0.334 | 0.54 | 0.78 | 0.70 | 73 | 0.8 |
| context, | 0.192 | 0.44 | 0.65 | 0.48 | 257 | 2.3 |
| context, (default) | 0.219 | 0.54 | 0.75 | 0.58 | 257 | 2.3 |
| context, | 0.212 | 0.52 | 0.82 | 0.66 | 257 | 2.4 |
| Method | Del. | Comp. | Ins. | Suff. | Sens- |
|---|---|---|---|---|---|
| Random (floor) | 0.916 0.14 | 0.003 0.05 | 0.920 0.14 | 0.041 0.12 | 0.004 0.17 |
| Geometry-edge (floor) | 0.890 0.19 | 0.011 0.11 | 0.903 0.16 | 0.103 0.21 | 0.000 0.17 |
| Motion-prior (floor) | 0.505 0.38 | 0.277 0.33 | 0.860 0.16 | 0.365 0.22 | 0.000 0.18 |
| Grad Input | 0.655 0.28 | 0.086 0.18 | 0.722 0.25 | 0.332 0.28 | 0.028 0.23 |
| SmoothGrad [ Smilkov et al., 2017 ] | 0.772 0.24 | 0.031 0.12 | 0.915 0.14 | 0.083 0.16 | 0.006 0.18 |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 0.282 0.26 | 0.347 0.24 | 0.862 0.17 | 0.129 0.19 | 0.046 0.22 |
| Method | s / clip |
|---|---|
| Random (floor) | 0.00 |
| Geometry-edge (floor) | 0.14 |
| Motion-prior (floor) | 0.16 |
| Grad Input | 0.06 |
| SmoothGrad [ Smilkov et al., 2017 ] | 1.53 |
| Integrated Grad. [ Sundararajan et al., 2017 ] | 1.93 |
| Action | mot. share | Del. KCA | Del. occl. | acc. % |
|---|---|---|---|---|
| high arm wave | 0.61 | 0.151 | 0.265 | 100 |
| horizontal arm wave | 0.61 | 0.062 | 0.090 | 100 |
| hammer | 0.63 | 0.074 | 0.075 | 7 |
| hand catch | 0.68 | 0.244 | 0.359 | 80 |
| forward punch | 0.63 | 0.193 | 0.232 | 92 |
| high throw | 0.65 | 0.103 | 0.101 | 86 |
Feature Attribution
Feature attribution estimates which input features or internal components contribute to a model’s predictions.
See all 234 papers