Papers
Topics
Authors
Recent
Search
2000 character limit reached

Adaptive Multi-Trace Carving (AMTC)

Updated 7 July 2026
  • Adaptive Multi-Trace Carving (AMTC) is a framework that uses iterative dynamic programming and adaptive trace compensation to detect weak frequency components in noisy spectrograms.
  • It identifies high-energy, smooth spectral ridges and enforces temporal continuity to accurately track subtle oscillations even at low SNR.
  • AMTC is applied in forensic analyses and wireless monitoring (e.g., contactless respiration), balancing tracking accuracy with near-real-time performance.

Adaptive Multi-Trace Carving (AMTC) is a frequency-tracking framework for detecting and tracking one or more subtle frequency components in noisy signals from a time-frequency representation such as a spectrogram. It was introduced for information-forensics settings in which the signal of interest is extremely weak, embedded in heavy interference, and may coexist with multiple other frequency components. The framework identifies frequency components through iterative dynamic programming and adaptive trace compensation, treating relatively high-energy traces sustaining over a certain duration as an indicator of the presence of frequency or oscillation components of interest and tracking their time-varying trend (Zhu et al., 2020). In later work, AMTC was incorporated as the key tracking component in Stage 1 of WiRM, where it is used after CSI has been sanitised with conjugate multiplication and converted into a time-frequency representation in order to follow the breathing frequency as it drifts over time, producing a respiratory-rate trace and a breath-presence indicator (Rhodes et al., 31 Jul 2025).

1. Conceptual basis and problem setting

AMTC addresses three practical difficulties that recur in forensic frequency tracking: Low SNR, Multiple traces, and Near-real-time operation (Zhu et al., 2020). The target signals in the original formulation include ENF (Electric Network Frequency) in audio or video for timestamp validation and rPPG / pulse rate in facial videos for physiological forensics and anti-spoofing. The motivating observation is that a useful frequency component appears as a high-energy smooth ridge/trace in the spectrogram, that a trace should be temporally continuous, and that a very strong trace can mask weaker traces.

The framework operates not directly on the raw 1-D signal, but on a time-frequency representation. Its core procedure is to “carve out” frequency traces one by one using dynamic programming plus adaptive compensation of already-detected traces (Zhu et al., 2020). The paper explicitly draws inspiration from seam carving in image resizing: instead of removing pixels, AMTC repeatedly finds the best “seam” in the spectrogram corresponding to a frequency trajectory.

In WiRM, the same general tracking role is specialized to contactless respiration monitoring. There, AMTC is needed because Stage 1 must track respiratory-rate changes over time rather than detect a single breathing frequency. Breathing is only approximately stationary over short windows, and a simple per-window peak-picking method on the spectrum can jump between local maxima caused by noise, frequency-bin merging caused by limited resolution, weak or missing breath components in some subcarriers or links, and genuine changes in breathing rate. AMTC is therefore introduced to make rate tracking temporal and adaptive rather than independent per window (Rhodes et al., 31 Jul 2025).

2. Single-trace formulation and dynamic-programming tracker

In the original formulation, the spectrogram magnitude is

ZR+M×N,\mathbf{Z}\in \mathbb{R}_+^{M\times N},

with MM frequency bins and NN time bins. A frequency trace is defined as

f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},

where f:[1,N][1,M]f:[1,N]\to[1,M]. The trace energy is

E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).

The simplest estimate is the trace maximizing energy: f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).

To enforce temporal continuity, AMTC adds a Markov-style regularization term: f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}), where

P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).

Here P(f(1))=PmP(f(1))=P_m is the initial state prior, MM0 is the transition probability, and MM1 controls smoothness. The paper usually uses a uniform prior and, in experiments, a uniform random-walk transition model with window width parameter MM2 (Zhu et al., 2020).

The regularized problem is solved by dynamic programming. The accumulated score map MM3 is defined as

MM4

This is a classic Viterbi-like recursion: at each time bin, each candidate frequency state collects the best previous path score plus current energy. After processing all frames, the optimal ending state is the maximum in the last column, and backtracking is carried out with

MM5

The transition restriction mechanism allows implausible jumps to be excluded by setting

MM6

for forbidden transitions, which makes the path score MM7. For a uniform random walk within a window of radius MM8,

MM9

In that special case, NN0 does not affect the solution (Zhu et al., 2020).

In WiRM, the same general logic is instantiated on a different state space. AMTC does not operate directly on raw CSI; its input is a spectrogram

NN1

constructed from the BNR-combined ACF columns over NN2 windows. Each column corresponds to one time window, and each row corresponds to one candidate breathing frequency between

NN3

which the paper equates to about NN4 to NN5 BPM. For a candidate trace

NN6

the log-probability is

NN7

WiRM assumes a uniform initial frequency prior,

NN8

and a Gaussian transition prior with

NN9

obtained by curve fitting empirical respiratory waveform data. AMTC then estimates the trace by maximizing a tradeoff between energy along the path and trace prior probability: f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},0 where f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},1 is a smoothing parameter (Rhodes et al., 31 Jul 2025).

3. Trace presence detection and adaptive multi-trace carving

Tracking alone is not sufficient in the original AMTC framework; the method also tests whether a trace is actually present in each time bin. For this purpose the paper defines a Relative Energy Ratio (RER): f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},2 where

f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},3

is the set of frequencies away from the estimated trace, and f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},4 is a guard-band width. Large RER indicates that the detected trace is relatively stronger than background, so the frame is likely voiced; small RER indicates likely unvoiced. The frame decision is made by thresholding

f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},5

The paper uses f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},6 in its experiments and notes that this is close to the optimal operating point across SNRs. To avoid fragmented decisions, AMTC merges short segments: two voiced segments are merged if separated by an unvoiced gap shorter than f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},7, and two unvoiced segments are merged if separated by a voiced segment shorter than f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},8. Experimental values are

f={(f(n),n)}n=1N,\mathbf{f}=\{(f(n),n)\}_{n=1}^{N},9

These operations are part of the single-trace decision layer (Zhu et al., 2020).

The “multi-trace” aspect arises through an iterative greedy pipeline. The algorithmic idea is to run the single-trace DP tracker to get the dominant trace, estimate the spectral support of that trace at each time frame, reduce or suppress the energy around that trace, re-run tracking on the compensated spectrogram to find the next trace, and repeat for f:[1,N][1,M]f:[1,N]\to[1,M]0 traces. This is why the method is called Adaptive Multi-Trace Carving (Zhu et al., 2020).

The distinctive step is adaptive trace compensation. Suppose f:[1,N][1,M]f:[1,N]\to[1,M]1 is the trace found at iteration f:[1,N][1,M]f:[1,N]\to[1,M]2. For each time frame f:[1,N][1,M]f:[1,N]\to[1,M]3, the method estimates the effective frequency-band support of the trace by locating the left boundary f:[1,N][1,M]f:[1,N]\to[1,M]4 and right boundary f:[1,N][1,M]f:[1,N]\to[1,M]5. These are found by searching for local minima or extrema around f:[1,N][1,M]f:[1,N]\to[1,M]6 in the spectrum and its first-order difference. The interval

f:[1,N][1,M]f:[1,N]\to[1,M]7

is called the effective peak. The spectrogram is then updated pointwise as

f:[1,N][1,M]f:[1,N]\to[1,M]8

with

f:[1,N][1,M]f:[1,N]\to[1,M]9

This is a flipped Gaussian-shaped attenuation centered at the detected trace, and its width adapts to the actual spread of the peak (Zhu et al., 2020).

In WiRM, AMTC also returns a breath-presence indicator trace

E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).0

where E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).1 if breath is detected in window E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).2, else E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).3. The paper says breathing detection is computed “similarly” to the rate trace, and the outputs are mapped back to the current time step to produce

E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).4

and similarly the breath indicator E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).5 (Rhodes et al., 31 Jul 2025).

4. Offline and online realizations

The offline version of AMTC processes the full spectrogram according to the sequence

E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).6

Its complexity is

E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).7

The paper contrasts this with factorial HMM methods, which can be much more expensive: E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).8 ignoring emission-probability computation (Zhu et al., 2020).

For near-real-time forensic analysis, the paper adapts AMTC to an online form with bounded delay. At time E(f)=n=1NZ(f(n),n).E(\mathbf{f})=\sum_{n=1}^{N}\mathbf{Z}(f(n),n).9, the method estimates f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).0 using a spectrogram window f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).1, with a look-ahead of f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).2 frames, and it also uses a look-back length f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).3 for later traces to stabilize updates. The implementation keeps a fixed-length buffer or queue for f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).4, f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).5, and previous trace estimates, updates only the newly arrived columns of f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).6, and reuses unchanged parts of the previous backtracking result when possible. The worst-case complexity is

f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).7

but the expected runtime is much lower because trace estimates typically change only locally between updates (Zhu et al., 2020).

The paper studies the trade-off between accuracy, robustness, and delay. Offline-AMTC has the highest accuracy and uses full future information, which makes it suitable for offline forensic validation. Online-AMTC has slightly lower accuracy than offline-AMTC, but much lower delay and suitability for near-real-time use. Performance improves as f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).8 increases; with 100-frame look-ahead, online-AMTC approaches offline-AMTC closely. A segment-based offline baseline is fast and memory-friendly, but loses context and degrades accuracy substantially (Zhu et al., 2020).

WiRM uses AMTC only within the rate-estimation stage rather than in an explicitly iterative multi-trace mode. Stage 1 proceeds as follows: Conjugate multiplication of CSI to cancel phase noise; ACF BNR combining across magnitude and phase of the conjugate-multiplied CSI; Spectrogram construction from sliding windows of the combined autocorrelation; and AMTC to carve a breathing-rate trace from that spectrogram. The paper’s Stage 1 algorithm is summarized in Algorithm 1, “WiRM Stage 1 -- Respiratory Rate Estimation” (Rhodes et al., 31 Jul 2025).

5. Applications and empirical performance

The original AMTC paper evaluates the method on synthetic single-trace experiments, multi-trace synthetic experiments, an rPPG dataset, and an ENF dataset (Zhu et al., 2020). In the synthetic single-trace setting, the experiments use 3-minute synthetic signals, a sampling rate of 30 Hz, and an STFT with rectangular window length f^=argmaxf  E(f).\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f}).9 s, f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),0 overlap, and frequency bin spacing f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),1 bpm. Five SNR levels down to very low values, including f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),2 dB and below, are considered, with 500 trials per SNR condition. The metrics are

f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),3

f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),4

and

f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),5

For the multi-trace synthetic experiments, two traces are embedded in the signal,

f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),6

with SNR from 0 to f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),7 dB, 1-minute signals, 64 frequency bins with 1 bpm resolution, and 169 frequency states spanning the range of interest. The reported metrics from multipitch tracking literature are f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),8, f^=argmaxf  E(f)+λP(f),\hat{\mathbf{f}}=\underset{\mathbf{f}}{\arg\max}\; E(\mathbf{f})+\lambda P(\mathbf{f}),9, and P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).0 (Zhu et al., 2020).

The empirical results reported in the paper can be summarized as follows.

Setting Result
Synthetic single-trace AMTC outperformed Particle Filter and YAAPT, especially at low SNR
Online efficiency Online-AMTC: 0.38 s per 100 frames; Brute-force: 2.50 s per 100 frames; Segment-based offline: 0.09 s per 100 frames but much worse accuracy
Multi-trace synthetic Comparable or better tracking accuracy than SD-fHMM and SI-fHMM, with much higher efficiency
rPPG Offline-AMTC: P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).1 bpm, P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).2; Online-AMTC: P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).3 bpm, P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).4
ENF Offline-AMTC: P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).5 Hz, Pearson P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).6; Online-AMTC: P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).7 Hz, Pearson P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).8

The paper attributes AMTC’s suitability for very weak signals to six properties: Energy accumulation over time, Temporal continuity prior, Iterative compensation, Presence testing, Near-real-time design, and No reliance on heavy training (Zhu et al., 2020).

In WiRM, the Stage 1 contribution that includes AMTC is reported on the RF polysomnography dataset. The paper does not isolate AMTC alone in a standalone ablation table, but states that the respiratory-rate results of the full Stage 1 pipeline include a 38% average RMSE reduction versus the best state-of-the-art baseline and a 33.1% average improvement in the percentage of estimates within P(f)logP(f(1))+n=2NlogP(f(n)f(n1)).P(\mathbf{f})\triangleq \log P(f(1))+\sum_{n=2}^{N}\log P(f(n)\mid f(n-1)).9 BPM of ground truth. The baselines compared are Pos-Free Breath, TR-BREATH, and SMARS. For one example night, WiRM had over 50% of samples within 1 BPM, over 30% within [1, 3) BPM, and breath presence correctly identified 92.2% of the time for that night (Rhodes et al., 31 Jul 2025).

6. Integration in WiRM and relation to carving-based methods

Within WiRM, AMTC is the last step of the first-stage rate pipeline, but its effectiveness depends on the preprocessing before it. WiRM first forms conjugate-multiplied CSI using

P(f(1))=PmP(f(1))=P_m0

for P(f(1))=PmP(f(1))=P_m1, using receiver P(f(1))=PmP(f(1))=P_m2 as the reference link. This is the paper’s phase-sanitisation step: it cancels common phase noise sources such as sampling clock offset, carrier frequency offset, jitter, and sampling time offset. WiRM then computes the ACF over both the magnitude P(f(1))=PmP(f(1))=P_m3 and the phase P(f(1))=PmP(f(1))=P_m4, fuses them by BNR combining, constructs a spectrogram, and applies AMTC (Rhodes et al., 31 Jul 2025).

The Stage 1 parameter settings relevant to AMTC are explicitly specified: respiratory-rate window length

P(f(1))=PmP(f(1))=P_m5

number of time windows

P(f(1))=PmP(f(1))=P_m6

overlap

P(f(1))=PmP(f(1))=P_m7

which is about 1 second between estimates, AMTC smoothing parameter

P(f(1))=PmP(f(1))=P_m8

respiratory frequency range

P(f(1))=PmP(f(1))=P_m9

and Gaussian transition standard deviation

MM00

The CSI dataset used for evaluation has MM01 subcarriers, MM02 transmit antennas, MM03 receive antennas, and sampling frequency MM04 Hz (Rhodes et al., 31 Jul 2025).

The robustness findings reported for the WiRM Stage 1 pipeline are closely tied to the Phase Sanitisation + AMTC chain. Under phase noise, WiRM is reported as unaffected in the simulations because conjugate multiplication cancels common phase noise before AMTC sees the data. The reported respiratory-rate RMSE values under phase noise are WiRM: 0.0, Pos-Free Breath: 4.1, TR-BREATH: 6.5, and SMARS: 0.8. Under multiplicative noise, WiRM RMSE is 0.0 at standard deviations 0.1, 0.25, 0.5, 0.75, and 1.0. Under thermal noise, WiRM RMSE is 0.0 at 0.1, 0.5, and 1.0, then 2.6 at 5.0 and 5.6 at 10.0 (Rhodes et al., 31 Jul 2025). The paper states that this shows improved or comparable resilience to these common noise sources.

A conceptually adjacent later development is Orthogonal Subspace Carving (OSC), a projection-based memory architecture that uses a projection / null-space carving mechanism before tensor aggregation (Pence et al., 9 Jun 2026). That work does not explicitly discuss AMTC, “multiple traces,” or “adaptive multi-trace carving” by name. A plausible implication is that it is relevant chiefly at the level of carving as a design motif rather than as a direct extension of spectrogram ridge tracking. Its stated lesson for AMTC-style methods is that carving need not be a destructive cleanup stage after binding; it can be the binding mechanism itself, and orthogonality can be used locally and adaptively rather than globally (Pence et al., 9 Jun 2026).

Taken together, these works place AMTC in two related but distinct contexts. In its original form, it is a unified approach for detecting and tracking weak frequency components under very low SNR conditions and in near real time (Zhu et al., 2020). In WiRM, it functions as a spectrogram ridge-tracking algorithm that takes a BNR-combined, phase-sanitised time-frequency representation of CSI, models breathing-rate evolution as a Markov process, and outputs both a respiratory-rate trace and breath-presence indicators (Rhodes et al., 31 Jul 2025).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Adaptive Multi-Trace Carving (AMTC).