1 MSNet

MSNet augments SPDNet with a multi-scale submanifold block that extracts and fuses local principal-submatrix geometry alongside the global SPD representation.

Date of publication: 26/06/2023

Ref: @chenRiemannianLocalMechanism2023

Overview

MSNet argues that existing SPD networks treat each SPD matrix as a global representation and neglect local geometric information. It identifies local patterns on an SPD manifold with regular SPD submanifolds formed by principal submatrices, then uses several scales of such submatrices for visual and skeleton-based action recognition. Evaluated on Cambridge-Gesture (CG), First-Person Hand Action Benchmark (FPHA), and a 50-class subset of UCF-101 (UCF-sub).

Architecture

An SPDNet backbone first produces lower-dimensional discriminative SPD features through repeated BiMap and ReEig layers:

Each branch uses a BiMap-ReEig block with a different target scale. A submatrix-selection operation, SubSec, extracts principal submatrices from branch . Principal submatrices are used because they remain SPD and therefore form regular SPD submanifolds; arbitrary square submatrices need not be SPD.

For a learned SPD feature interpreted as the covariance of a latent random matrix, a sliding receptive field corresponds to a principal covariance submatrix. With step , the selection produces principal submatrices.

Each selected submatrix is mapped with LogEig: . TrilCon extracts and vectorizes the lower-triangular part, then concatenates all submanifolds within a branch. A final Concat layer combines all branch vectors, followed by a fully connected layer, softmax, and cross-entropy. One branch retains the entire SPD matrix as a trivial submanifold, providing global information.

The full MSNet-MS sequence is

where , , , , and denote BiMap, ReEig, multi-scale submanifold, fully connected, and softmax layers.

Despite the paper’s convolutional motivation, MSNet does not define an SPD convolution or attention layer. Its “local mechanism” is principal-submatrix selection plus log-domain fusion.

Model Parameters

Five configurations are studied:

  • MSNet-H: holistic/global SPD information only.
  • MSNet-PS: all proper submanifold types, excluding the whole-matrix trivial submanifold.
  • MSNet-AS: all proper and trivial submanifolds.
  • MSNet-S: selected proper submanifolds used by MSNet-MS, without the global branch.
  • MSNet-MS: selected multi-scale proper submanifolds plus the global branch.
DatasetBiMap settingsSubmanifold scales
CG
FPHA
UCF-sub

The optimal ReEig threshold and BiMap dimensions are first searched with SPDNet, then reused unchanged in MSNet (exact thresholds not reported). Parameter counts and FLOPs are not reported.

Training Parameters

  • Initial manifold learning rate: ; decay ×0.8 every 50 epochs; minimum .
  • Batch size: 30.
  • BiMap initialization: random semi-orthogonal matrices.
  • Submatrix-selection step: 1.
  • Loss: softmax cross-entropy.
  • Hardware: Intel i5-9400 2.90 GHz CPU, 8 GB RAM.
  • Table-reported per-dataset learning rates/epochs: CG / 500; FPHA / 3,500; UCF-sub / 500. (The relation between these and the manifold schedule is not explained in the paper.)

Data: CG — 900 videos, 9 classes; 20 clips/class train, 80 test; frames grayscale, PCA to 100 dims, covariances. FPHA — 1,175 videos, 45 classes; 600 train / 575 test; 63-D joint vectors → . UCF-sub — 50 classes × 100 clips; PCA to 100 dims; 70/30 gallery/probe split.

Results

FPHA recognition accuracy (%):

MethodAccuracy
Lie Group82.69
Gram Matrix85.39
SPDNet85.57
SymNet82.96
MSNet-H85.74
MSNet-S86.61
MSNet-MS87.13

CG and UCF-sub accuracy (%):

MethodCGUCF-sub
SPDNet89.0359.93
SymNet89.8156.73
MSNet-H89.0358.27
MSNet-S90.1459.40
MSNet-MS91.2560.87

UCF-sub backbone-depth ablation: MSNet-MS improves on SPDNet under every tested backbone, with the largest gain in the most underfitting configuration (e.g., : 28.73 → 36.07). Training time per epoch: CG 0.53 s (SPDNet) vs 1.29 s (MSNet-MS); FPHA 1.53 vs 2.67; UCF-sub 11.33 vs 34.50.

Code

Official source and supplement: https://github.com/GitZH-Chen/MSNet.git