CoolFace
Datasetpublic

justchugh/MPSC-RR

MPSC-RR Dataset Respiratory Waveform Reconstruction using Persistent Independent Particles Tracking from Video             Dataset Description The MPSC-RR dataset is a comprehensive collection of RGB videos designed for contactless respiratory rate estimation and respiratory waveform reconstruction research. The dataset captures respiratory-induced movements… See the full description on the dataset page: https://huggingface.co/datasets/justchugh/MPSC-RR.

sourceHugging Facecc-by-4.0updated 1y agoView on Hugging Face
2likes83downloads
Dataset Card

<div align="center"> <h1 style="font-size: 4em; margin-bottom: 0.2em;">MPSC-RR Dataset</h1> <h2 style="font-size: 2.5em; margin-top: 0; color: #666;">Respiratory Waveform Reconstruction using Persistent Independent Particles Tracking from Video</h2> </div>

<p align="center"> <a href="https://huggingface.co/datasets/justchugh/MPSC-RR"> <img src="https://img.shields.io/badge/Dataset-HuggingFace-yellow?style=for-the-badge" alt="Dataset"> </a> &nbsp;&nbsp; <a href="https://justchugh.github.io/RRPIPs.github.io/#paper"> <img src="https://img.shields.io/badge/Paper-CHASE%202025-blue?style=for-the-badge" alt="Paper"> </a> &nbsp;&nbsp; <a href="https://github.com/mxahan/RRPIPS"> <img src="https://img.shields.io/badge/Code-GitHub-black?style=for-the-badge" alt="Code"> </a> &nbsp;&nbsp; <a href="https://justchugh.github.io/RRPIPs.github.io/"> <img src="https://img.shields.io/badge/Website-GitHub-red?style=for-the-badge" alt="Website"> </a> &nbsp;&nbsp; <a href="LICENSE"> <img src="https://img.shields.io/badge/License-CC%20BY%204.0-green?style=for-the-badge" alt="License"> </a> </p>

![Dataset Overview](dataset.mp4)

Dataset Description

The MPSC-RR dataset is a comprehensive collection of RGB videos designed for contactless respiratory rate estimation and respiratory waveform reconstruction research. The dataset captures respiratory-induced movements across multiple body positions and camera angles, providing diverse scenarios for developing robust respiratory monitoring algorithms.

Key Features

  • Multi-Position Coverage: Front, back, side, and lying positions
  • Natural Breathing Patterns: Regular, slow, and fast breathing captured
  • Diverse Demographics: Adult volunteers across different age groups and backgrounds
  • Ground Truth Annotations: Vernier Go Direct Respiration Belt measurements
  • High-Quality Videos: RGB videos with clear respiratory motion visibility
  • Real-World Conditions: Varied lighting, clothing, and environmental settings

Dataset Statistics

  • Total Videos: 31 video sessions
  • Subjects: 24 adult volunteers (Subject IDs: 1-24)
  • Duration: 2.5-5 minutes per video (Average: ~4 minutes)
  • Resolution: Varied resolutions from 304×304 to 1602×1080
  • Frame Rate: Primarily 30 FPS (with some at 30.1, 29, and 24 FPS)
  • Total Duration: ~2.1 hours of respiratory monitoring data
  • Total Size: 5.18 GB

Data Structure

Video Files

s{subject_id}_{view_position}.{ext}

Naming Convention:

  • s1_front.mov - Subject 1, front view
  • s20_side.mp4 - Subject 20, side view (Note: one video in MP4 format)
  • s24_lying.mov - Subject 24, lying position

View Positions:

  • front - Frontal chest/abdomen view (6 videos)
  • back - Back/shoulder movement view (4 videos)
  • side - Side profile view (16 videos)
  • lying - Lying down position (5 videos)

Metadata Structure

python
{
    "video_id": str,                    # e.g., "s1_front"
    "subject_id": int,                  # Subject identifier (1-24)
    "view_position": str,               # front, back, side, lying
    "duration_seconds": float,          # Video duration
    "resolution": str,                  # e.g., "1920x1080"
    "frame_rate": float,                # 30.0, 30.1, 29.0, or 24.0 FPS
    "file_size_mb": float,              # File size in megabytes
    "filename": str                     # Actual filename with extension
}

Usage

Loading the Dataset

python
from datasets import load_dataset

# Load all videos
dataset = load_dataset("justchugh/MPSC-RR")

# Access video information
sample = dataset[0]
video_id = sample["video_id"]
subject_id = sample["subject_id"] 
view_position = sample["view_position"]

Filtering Videos

python
# Get front view videos
front_videos = dataset.filter(lambda x: x["view_position"] == "front")

# Get specific subject's videos
subject_1 = dataset.filter(lambda x: x["subject_id"] == 1)

# Get lying position videos
lying_videos = dataset.filter(lambda x: x["view_position"] == "lying")

Basic Analysis

python
# Count videos per position
positions = [sample["view_position"] for sample in dataset]
position_counts = {pos: positions.count(pos) for pos in set(positions)}
print("Videos per position:", position_counts)

# List all subjects
subjects = set(sample["subject_id"] for sample in dataset)
print(f"Subjects: {sorted(subjects)}")

Data Collection

Equipment

  • Camera: Standard RGB cameras (mobile phones, mounted cameras)
  • Ground Truth: Vernier Go Direct Respiration Belt for pressure measurements
  • Distance: 1-1.5 meters from subjects
  • Environment: Clinical laboratory setting with controlled conditions

Protocol

  1. 1.Subject Preparation: Comfortable positioning with clear view of respiratory regions
  2. 2.Baseline Recording: 30-second calibration period
  3. 3.Data Collection: 3-5 minutes of natural breathing
  4. 4.Ground Truth Sync: Synchronized pressure belt data collection
  5. 5.Quality Check: Manual verification of respiratory cycles

View Positions Explained

PositionDescriptionCaptured RegionsUse CaseCount
frontFrontal viewChest, abdomen expansionStandard respiratory monitoring6
backBack viewShoulder, back movementPosterior respiratory motion4
sideSide profileChest wall movementLateral respiratory dynamics16
lyingSupine positionAbdomen, chest (lying)Sleep/rest respiratory patterns5

Dataset Distribution

Subject RangeVideo CountPositions Available
1-26 videosfront, back, lying
32 videosback, lying
41 videofront
52 videosfront, lying
61 videofront
7-2216 videosside (primarily)
231 videofront
242 videosback, lying

Benchmark Results

Performance of state-of-the-art methods on MPSC-RR:

MethodMAE (bpm)RMSE (bpm)Modality
Intensity-based3.255.12RGB
Optical Flow2.423.89RGB
PIPs++1.622.92RGB
RRPIPS1.011.80RGB

Applications

This dataset supports research in:

  • Contactless Vital Sign Monitoring
  • Multi-Position Respiratory Analysis
  • Computer Vision for Healthcare
  • Sleep and Rest Monitoring
  • Wearable-Free Health Tracking
  • Clinical Decision Support Systems

Data Quality

Inclusion Criteria

  • Clear visibility of respiratory-induced motion
  • Stable video recording (minimal camera movement)
  • Synchronized ground truth data available
  • Adequate lighting conditions

Quality Metrics

  • Motion Clarity: All videos show visible respiratory movement
  • Synchronization: <50ms offset between video and pressure data
  • Duration: Minimum 148 seconds per recording
  • Resolution: Varied resolutions optimized for respiratory motion capture

Related Datasets

  • AIR-125: Infant respiratory monitoring (125 videos, infants)
  • BIDMC: PPG and respiration signals (53 recordings, clinical)
  • Sleep Database: NIR/IR respiratory data (28 videos, adults)

Ethical Considerations

  • IRB Approval: All data collection approved by institutional review board
  • Informed Consent: Written consent obtained from all participants
  • Privacy Protection: Faces blurred or cropped when necessary
  • Data Anonymization: No personally identifiable information included
  • Voluntary Participation: Participants could withdraw at any time

Citation

If you use this dataset in your research, please cite:

bibtex
@inproceedings{hasan2025rrpips,
    title={RRPIPS: Respiratory Waveform Reconstruction using Persistent Independent Particles Tracking from Video},
    author={Hasan, Zahid and Ahmed, Masud and Sakib, Shadman and Chugh, Snehalraj and Khan, Md Azim and Faridee, Abu Zaher MD and Roy, Nirmalya},
    booktitle={ACM/IEEE International Conference on Connected Health: Applications, Systems and Engineering Technologies (CHASE)},
    year={2025},
    pages={1--12},
    doi={10.1145/3721201.3721366}
}

Quick Start

python
# Install required packages
pip install datasets

# Load and explore dataset
from datasets import load_dataset
dataset = load_dataset("justchugh/MPSC-RR")

print(f"Total videos: {len(dataset)}")
print(f"First video: {dataset[0]['video_id']}")
print(f"Positions available: {set(s['view_position'] for s in dataset)}")

# Example: Get all side view videos
side_videos = dataset.filter(lambda x: x["view_position"] == "side")
print(f"Side view videos: {len(side_videos)}")

License

This dataset is released under Creative Commons Attribution 4.0 International License.

Links

  • Code Repository: https://github.com/mxahan/RRPIPS
  • Website Repository: https://github.com/justchugh/RRPIPs.github.io

Contact

  • Technical Issues: zhasan3@umbc.edu
  • Dataset Questions: schugh1@umbc.edu

Team

<div align="center">

<table border="0" style="border: none;"> <tr> <td align="center" style="border: none; padding: 20px;"> <a href="https://mxahan.github.io/digital-cv/"> <img src="assets/authors/Zahid.png" width="180px;" style="border-radius: 50%;" alt="Zahid Hasan"/><br /> <sub><b>Zahid Hasan</b></sub> </a> </td> <td align="center" style="border: none; padding: 20px;"> <a href="https://mahmed10.github.io/personalwebpage/"> <img src="assets/authors/Masud.png" width="180px;" style="border-radius: 50%;" alt="Masud Ahmed"/><br /> <sub><b>Masud Ahmed</b></sub> </a> </td> <td align="center" style="border: none; padding: 20px;"> <a href="https://www.linkedin.com/in/shadman-sakib15/"> <img src="assets/authors/Shadman.png" width="180px;" style="border-radius: 50%;" alt="Shadman Sakib"/><br /> <sub><b>Shadman Sakib</b></sub> </a> </td> <td align="center" style="border: none; padding: 20px;"> <a href="https://justchugh.github.io"> <img src="assets/authors/Snehalraj.png" width="180px;" style="border-radius: 50%;" alt="Snehalraj Chugh"/><br /> <sub><b>Snehalraj Chugh</b></sub> </a> </td> </tr> </table>

<table border="0" style="border: none;"> <tr> <td align="center" style="border: none; padding: 20px;"> <a href="https://www.linkedin.com/in/azim-khan-10/"> <img src="assets/authors/Azim.png" width="180px;" style="border-radius: 50%;" alt="Md Azim Khan"/><br /> <sub><b>Md Azim Khan</b></sub> </a> </td> <td align="center" style="border: none; padding: 20px;"> <a href="https://azmfaridee.github.io"> <img src="assets/authors/Zaher.png" width="180px;" style="border-radius: 50%;" alt="Abu Zaher MD Faridee"/><br /> <sub><b>Abu Zaher MD Faridee</b></sub> </a> </td> <td align="center" style="border: none; padding: 20px;"> <a href="https://mpsc.umbc.edu/nroy"> <img src="assets/authors/Nirmalya.png" width="180px;" style="border-radius: 50%;" alt="Nirmalya Roy"/><br /> <sub><b>Nirmalya Roy</b></sub> </a> </td> </tr> </table>

</div> ---

Dataset Version: 1.0