Skip to content

AiCure/open_dbm

Repository files navigation

OpenDBM

GitHub Actions for deploying to GitHub Pages with Static Site Generators

PyPI Latest Release Anaconda Latest Release Python Version PyPI - License Test Coverage Code style: black Imports: isort

Supported OS Platforms

OS Build Status
Linux Build
Windows Build
macOS-Intel Build

What is it

OpenDBM is a software package that allows for calculation of digital biomarkers of health and functioning from video or audio of an individual’s behavior. It integrates existing tools for behavioral measurements such as facial activity, voice, speech, and movement into a single package for measurement of overall behavior. Checkout the OpenDBM digital biomarker variables and list of scientific publications

More About OpenDBM

At a modular level, OpenDBM is a library that consists of the following components:

Component Description
Facial An OpenDBM module to get facial attributes
Movement An OpenDBM module to get movement attributes
Verbal Acoustic An OpenDBM module to get verbal acoustic attributes
Speech & Language An OpenDBM module to get speech & language attributes

Usually, OpenDBM is used for:

  • A digital biomaker extraction app
  • A helper tools to give insight of patient condition

Table of Contents

⭐️ Installation

Prerequisites (Install Dependencies)

With Conda Environment (recommended)

Make sure to install conda first at anaconda

On Linux/macOS

conda install -c conda-forge cmake ffmpeg sox

On Windows

#Make sure to run in Anaconda Prompt, or add conda to the path.
conda install -c conda-forge ffmpeg sox dlib

Without Conda Environment

Installation instructions

OpenDBM Installation

pip install opendbm 

Model Download ( Facial and Movement Components)

Make sure you have installed docker and already login to Docker Hub.

If you haven't, Find the tutorial here

docker pull opendbmteam/dbm-openface

⭐️ Usage

Basic Usage

Try your first OpenDBM program

from opendbm import FacialActivity

#make sure Docker is active to access the model
model = FacialActivity()
path = "sample.mp4"
model.fit(path)
landmark = model.get_landmark()

To get the attribute like mean and std is as straighforward as .mean():

landmark.mean()
landmark.std()
landmark.to_dataframe() # convert results as pandas dataframe

For more in-depth tutorials about OpenDBM, you can check out:

⭐️ More resources

⭐️ License

OpenDBM is published under the GNU AGPL 3.0 license.

⭐️ People

OpenDBM is maintained by the Clinical Data Science Team (including Andre Paredes, Director of OpenDBM) at AiCure. Current development and maintenance build on the efforts of Anzar Abbas and Vijay Yadav, alongside Vidya Koesmahargyo and Isaac Galatzer-Levy. OpenDBM was made open source in October 2020. Email the community at opendbm@aicure.com.