Skip to main content

SeetaPsych Hertz

Heart rate estimation modules for SeetaPsych

Usage

This project is already included in the seetapsych-lib default configuration. Download and use it via seetapsych-manager download.

For usage, refer to SeetaPsych.

You can additionally add this algorithm module using the following methods.

Heart rate estimation requires processing video or real-time video streams to extract heart rate information.

WebUI

Run seetapsych-webui with the --files argument to use it.

seetapsych-webui --files seetapsych_hertz/modules/seeta.yml

Programmatic Usage

Add the following code in your program to use this algorithm module.

from seetapsych_lib.runtime.factory import Factory
from seetapsych_lib.runtime.pipeline import Pipeline

factory = Factory()
factory.load_file_modules("seetapsych_hertz/modules/seeta.yml")

pipeline = Pipeline(factory, ...)

pipeline.add_attributes("face/heart_rate")

Module Catalog

Module YAML Path Package Name
seetapsych_hertz/modules/ada-chrom.yml HeartRate-AdaChrom
seetapsych_hertz/modules/seeta.yml HeartRate-Seeta
seetapsych_hertz/modules/tiny-hr.yml HeartRate-TinyHR

AdaChrom

Model-free rPPG heart rate estimation using adaptive chrominance analysis on skin ROI.

Module config: ada-chrom.yml

Package Provides Requires
HeartRate-AdaChrom face/heart_rate face/dense_landmarks

Description

Adaptive chrominance rPPG heart rate estimator. Accepts multiple ROI selectors; the default forehead-only adaptive skin mask (skin_b_adaptive_forehead) matches the original delivery configuration, while the preset group all runs every available region.

Usage Notes

  • Supports both video streams and video files.
  • For video stream mode, best results are achieved at 30 FPS or higher, which requires optimized processing logic and better hardware (with GPU).
  • For stable analysis results, it is recommended to use video files with a stable frame rate of 30 FPS or higher.

Parameters

Name Type Default Description & Tuning
window_samples integer 300 Sliding window frame count for HR estimation. Larger values reduce noise but increase latency; adjust based on real-time demand.
roi_regions selection[] ["skin_b_adaptive_forehead"] ROI selectors to estimate heart rate on. Multiple selectors are evaluated independently, with valid results merged into the fused hr_bpm and the per-region roi_hr_bpm map.

Models

(None)

Output Attributes

  • face/heart_ratespec.

The per-region results requested via roi_regions are returned inside roi_hr_bpm: each key corresponds to one selected ROI and the value is that region's heart rate in BPM for the current window.

TinyHR

Lightweight neural network for fast heart rate estimation directly from face video frames.

Module config: tiny-hr.yml

Package Provides Requires
HeartRate-TinyHR face/heart_rate face/detection

Description

Fast RhythmFormer heart rate estimator using buffered face crops + Welch spectral analysis.

Usage Notes

  • Supports both video streams and video files.
  • For video stream processing, frame rates close to 30 or 25 FPS yield the best results.
  • For stable analysis results, it is recommended to use video files with a frame rate of 30 FPS or 25 FPS.

Parameters

Name Type Default Description & Tuning
fps number 30 Expected camera/video FPS used for spectral analysis windowing. Mismatch with actual source FPS degrades HR accuracy.
interval number 1 Seconds between consecutive HR estimates. Smaller intervals yield more updates with higher jitter; larger intervals are smoother but slower.

Models

Model Recommended
seeta-hertz-tinyhr.onnx

Output Attributes

  • face/heart_ratespec.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seetapsych_hertz-0.0.3.post1.tar.gz (208.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seetapsych_hertz-0.0.3.post1-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

Details for the file seetapsych_hertz-0.0.3.post1.tar.gz.

File metadata

  • Download URL: seetapsych_hertz-0.0.3.post1.tar.gz
  • Upload date:
  • Size: 208.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for seetapsych_hertz-0.0.3.post1.tar.gz
Algorithm Hash digest
SHA256 5905a8eefe142d3b891c3783b25d002be0bd94b67ba1f78d1a8def51bf90f56d
MD5 372d16675349853b9cd7b338c999fa1b
BLAKE2b-256 74d5157cddade3ed7cd5b182bd6ed87cbf716e27c9750d65b2234aad1a659d47

See more details on using hashes here.

Provenance

The following attestation bundles were made for seetapsych_hertz-0.0.3.post1.tar.gz:

Publisher: publish.yml on seetapsych/seetapsych-hertz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seetapsych_hertz-0.0.3.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for seetapsych_hertz-0.0.3.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfcf4206740fa78a6c63dd9d7d02d564058fb1769b7931baa360c4518a7354cb
MD5 000003237d739878c64dc03355f039ed
BLAKE2b-256 3a3c591c0f88e9390fad37257d2c9e14e95a999ac07ce6e0d267142d13ee82e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for seetapsych_hertz-0.0.3.post1-py3-none-any.whl:

Publisher: publish.yml on seetapsych/seetapsych-hertz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.3.post1 This release

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page