Team Ai
Modelpublic

Ambiq/compressionkit-ppg-4x-v1.1

sourceHugging Faceotherupdated 4d agoView on Hugging Face
0likes75downloads
Model Card

compressionkit-ppg-4x-v1.1

A PPG signal compression codec using Residual Vector Quantization (RVQ), optimized for edge and wearable devices.

Model Details

  • —Modality: PPG
  • —Sample Rate: 64 Hz
  • —Compression Ratio: 4x
  • —Quantization: INT8
  • —RVQ Levels: 2
  • —Codebook Size: 256 entries × 16D
  • —Encoder Input: [None, 1, 320, 1]
  • —Encoder Output: [None, 1, 80, 16]

Release Provenance

Release kind: correctedexportwithoutretraining. Export source commit: `7a5443834ec50e41f41d4ff2b1c2f27e73b1acf7`. Physiological scorecard: historical; not reevaluated for this release. Packet compatibility: corrected RVQ level counts; bind packets to exact repository and revision. Pretraining ancestry: not independently audited during export repair. See `releaseprovenance.json` for checkpoint hashes, replaced revision, and sample provenance.

Quality Metrics

Fidelity & Robustness

Both fidelity yardsticks are reported so the codec is judged fairly: faithfulness is PRD vs the recorded (still-noisy) input, while truth fidelity is PRD vs clean ground truth. Lower is better.

MetricValue
Truth PRD vs clean (%)1.14
Truth PRD at native noise (%)34.36
Faithful PRD vs input (%)3.44
PRD degradation slope (PRD%/dB)4.40
PRD at 0 dB SNR (%)75.92
PRD at -6 dB SNR (%)104.75
Pure-noise imprint autocorr0.2853

Time Domain

PRD here is faithfulness (vs the recorded input); see **Fidelity & Robustness** above for the clean-truth and noise-regime view.

MetricMeanMedianP90
PRD vs input — faithfulness (%)3.43581.32074.2732
RMSE0.01830.01310.0318
Cosine Similarity0.99590.99990.9999

Spectral

  • —Band Total Relative Error (median): 0.0065

Bitrate

Encoder Precision Parity

Difference from FP32 reconstruction on a disjoint real-data holdout; lower is better.

EncoderP90 PRDWorst PRDStatus
int82.81%4.64%recommended
fp160.20%0.64%recommended
int16x80.73%2.87%recommended

Usage

Python (compressionkit runtime)

python
from compressionkit.runtime import RVQCodec

codec = RVQCodec.from_pretrained("Ambiq/compressionkit-ppg-4x-v1.1")

# Encode: float32 signal → RVQ indices
indices = codec.encode(signal)

# Decode: RVQ indices → reconstructed signal
recon = codec.decode(indices)

Local deployment directory

python
codec = RVQCodec("path/to/deploy/")

Files

FileDescription
encoder_int8.tfliteINT8 quantized encoder (on-device)
encoder_float32.tfliteFloat32 encoder for browser/server runtimes
encoder_fp16.tfliteFP16 encoder variant for supported edge runtimes
encoder_int16x8.tfliteINT16x8 encoder variant for supported edge runtimes
encoder.hC header for encoder
encoder.kerasFloat32 Python reference encoder (training/inspection use)
decoder_float32.tfliteFloat32 decoder (server-side evaluation)
decoder_int8.tfliteINT8 decoder (optional, on-device)
decoder.kerasFloat32 Python reference decoder (training/inspection use)
codebook.npzRVQ codebook tables
codebook.hC header for codebook
config.jsonDeployment manifest
sample_stimulus.npzSynthetic test data
quality_scorecard.jsonFull evaluation metrics

Dataset & License

Training data: BIDMC + BUT PPG + PPG-DaLiA + WESAD (all open, no restricted-access dependency). Sample data uses synthetic physiokit waveforms only — no patient data is redistributed.

Model weights are released under the Ambiq Model Weights License — deployment is restricted to Ambiq silicon devices. See LICENSE-MODEL-WEIGHTS.md for full terms.

Citation

bibtex
@software{compressionkit,
  author = {Ambiq AI},
  title = {compressionKIT: Signal Compression for Edge AI},
  url = {https://github.com/AmbiqAI/compressionkit}
}