This is an implementation of a Continuous Conditional Random Fields:

This particular implementation is described in:

'Dimensional Affect Recognition using Continuous Conditional Random Fields'
Tadas Baltrusaitis Ntombikayise Banda Peter Robinson

And is designed for regression in time series.

The idea for CCRF is taken from the following papers:

'Global Ranking Using Continuous Conditional Random Fields'
Tao Qin, Tie-Yan Liu, Xu-Dong Zhang, De-Sheng Wang, Hang Li

'Continuous Conditional Random Fields for Regression in Remote Sensing'
Vladan Radosavljevic and Slobodan Vucetic and Zoran Obradovic

The code is layed out as follows:

data -> to recreate the results in the paper
data preparation -> some helper functions for loading the data
demo -> some sample scripts of training and predicting using CCRF
FG 2013 recreation -> scripts to recreate the FG 2013 paper results
lib -> the main routine functions for CCRF

Best start would be the demo scripts, as they show how a model can be trained and tested.

The paper described the algorithm as gradient descent, but a bfgs version exists as well, however, it's still experimental.

If you want to recreate results in 'Dimensional Affect Recognition using Continuous Conditional Random Fields' use wholeExperiment*grad_desc.m scripts (this will do both cross-validation, training and testing (warning this takes time)). Cross-validation results are provided to save time, so you could just run the final training/testing.

If you end up using any of the code please cite 'Dimensional Affect Recognition using Continuous Conditional Random Fields'
Tadas Baltrusaitis Ntombikayise Banda Peter Robinson


-----------------------------
Tadas Baltrusaitis
 