Skip to main content

Collection of utility tools and deep learning methods for multimodal feature extraction.

Project description

Exordium

Collection of Preprocessing Functions and Deep Learning Methods for Multimodal Feature Extraction

CI codecov Docs GitHub Release PyPI Python PyTorch Code style: ruff License


Exordium is a comprehensive toolkit for multimodal feature extraction across audio, video, and text modalities. It provides preprocessing functions, utility tools, and deep learning wrappers for processing and analyzing multimodal data.

Features

Audio

Functionality Model / Method Output
I/O load, save, resample waveform
Spectral features MFCC, Mel-spectrogram (with pre-emphasis) spectrogram
Low-level descriptors OpenSMILE — eGeMAPSv02 88-d vector
Audio–language embeddings CLAP (laion/larger_clap_music_and_speech) 512-d vector
Speech representations Wav2Vec2 (facebook/wav2vec2-base-960h) (T, 768)
Speech representations WavLM (microsoft/wavlm-base/base+/large) (T, 768/1024) per layer

Video

Face Detection & Tracking

Functionality Model / Method Output
Face detection YOLOv8-Face (arnabdhar/YOLOv8-Face-Detection) bounding boxes
Face detection + keypoints YOLO11-pose (yolo11n/s-pose_widerface) bounding boxes + 5-pt keypoints
Multi-face tracking IoU-based tracker track IDs across frames

Face Analysis

Functionality Model / Method Output
Dense facial landmarks MediaPipe FaceMesh (face_landmarker.task) 478 × (x, y)
Iris landmarks MediaPipe Iris 71 eye pts + 5 iris pts, EAR, diameters
Head pose 6DRepNet (300W-LP + AFLW2000) yaw, pitch, roll (degrees)
Gaze estimation L2CS-Net (ResNet-50, MPIIFaceGaze) pitch, yaw (radians)
Gaze estimation UniGaze (ViT-based) pitch, yaw (radians)
Eye blink detection BlinkDenseNet121 (DenseNet-121) per-eye open/closed probability
Facial action units OpenGraphAU (Swin-T backbone) 41-dim AU intensity vector

Deep Visual Features

Functionality Model / Method Output
Video features Swin Transformer (tiny/small/base) 768-d / 768-d / 1024-d
Face identity features FAb-Net 256-d
Vision–language embeddings CLIP (ViT-H/14, laion2B) 1024-d
Self-supervised visual features DINOv2 (small/base/large/giant) 384 / 768 / 1024 / 1536-d

Text

Functionality Model / Method Output
Speech-to-text Whisper (OpenAI) transcript
Contextual embeddings BERT (bert-base-uncased) (T, 768)
Contextual embeddings RoBERTa (roberta-large) (T, 1024)
Multilingual embeddings XML-RoBERTa (xlm-roberta-base) (T, 768)

Utilities

  • Device management — GPU/CPU selection via get_torch_device
  • Caching@load_or_create decorator (safetensors, npy, pkl, fdet, vdet, track)
  • Normalization — global, per-feature, sliding-window
  • Padding — fixed-length sequence padding and masking
  • Loss functions — Bell, ecl1 losses
  • Concurrency — thread- and process-pool helpers

Installation

Requires uv. The video extras include unigaze, which pins timm==0.3.2 (broken with modern PyTorch). uv's override-dependencies in pyproject.toml silently upgrades it to timm>=1.0. Plain pip has no equivalent override mechanism and will fail to resolve this conflict.

uv pip install exordium          # base only
uv pip install exordium[all]     # all optional dependencies
uv pip install exordium[audio]   # audio extras only
uv pip install exordium[video]   # video extras only
uv pip install exordium[text]    # text extras only

Install uv if you don't have it yet:

curl -LsSf https://astral.sh/uv/install.sh | sh

Extras

Extra Dependencies
audio OpenSMILE, torchaudio — audio feature extraction
text transformers, torchaudio — text and speech models
video MediaPipe, Ultralytics, blinklinmult, unigaze, timm — face & video models
all all previously described extras

Development

git clone https://github.com/fodorad/exordium
cd exordium
uv pip install -e ".[all,dev]"
make check   # lint + type-check + test + docs

Documentation


Related Projects

EmotionLinMulT (202X)

Efficient, transformer-based, multi-task emotion detection system.

BlinkLinMulT (2023)

Transformer-based eye blink detection and eye state recognition across 7 public benchmark databases.

PersonalityLinMulT (2022)

LinMulT trained for Big Five personality trait estimation and sentiment analysis.

LinMulT

General-purpose multimodal transformer with linear-complexity attention mechanisms.


Contact

Ádám Fodoradamfodor.com · fodorad201@gmail.com

Project details


Download files

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

Source Distribution

exordium-2.1.0.tar.gz (32.5 MB view details)

Uploaded Source

Built Distribution

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

exordium-2.1.0-py3-none-any.whl (131.9 kB view details)

Uploaded Python 3

File details

Details for the file exordium-2.1.0.tar.gz.

File metadata

  • Download URL: exordium-2.1.0.tar.gz
  • Upload date:
  • Size: 32.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exordium-2.1.0.tar.gz
Algorithm Hash digest
SHA256 701c5413598c85a858c089c7b484a7d412967355504ef484e4598d357db2f1e3
MD5 9191b1d8f91b4d224d39927a27a53daa
BLAKE2b-256 ed3df10f12c13a0d824c031175b9558e15c1c0c963a37ff4b58ff12bece5792f

See more details on using hashes here.

Provenance

The following attestation bundles were made for exordium-2.1.0.tar.gz:

Publisher: cd.yml on fodorad/exordium

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

File details

Details for the file exordium-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: exordium-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 131.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exordium-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46a04b057c8b5e1b4bff1c4cffdb4f464685c4716155d93c318783b09fafac7f
MD5 f37b73abb097543a5381702f14d4696b
BLAKE2b-256 f45169dfb7784ed6ed8ea96346587340273ecfec5545d686e4a254a1ec6baf22

See more details on using hashes here.

Provenance

The following attestation bundles were made for exordium-2.1.0-py3-none-any.whl:

Publisher: cd.yml on fodorad/exordium

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page