added lower and upper half composite exp

This commit is contained in:
Vidya Koesmahargyo
2020-12-03 10:16:36 -05:00
parent c190d6f86b
commit 847e01fc7c
6 changed files with 101 additions and 82 deletions

View File

@@ -17,7 +17,7 @@ class ConfigRawReader(object):
Args:
feature_config_yml (None, optional): yml file defined service configuration
"""
if feature_config_yml is None:
feature_config = DBMLIB_FEATURE_CONFIG
else:
@@ -25,15 +25,15 @@ class ConfigRawReader(object):
with open(feature_config, 'r') as ymlfile:
config = yaml.load(ymlfile)
#Verbal features
self.base_raw = config
self.err_reason = config['raw_feature']['error_reason']
#Output range
self.mov_headvel_start = config['raw_feature']['mov_headvel_start']
self.mov_headvel_end = config['raw_feature']['mov_headvel_end']
#Acoustic variable
self.aco_int = config['raw_feature']['aco_int']
self.aco_ff = config['raw_feature']['aco_ff']
@@ -194,6 +194,8 @@ class ConfigRawReader(object):
self.neu_exp = config['raw_feature']['neu_exp']
self.cai_exp = config['raw_feature']['cai_exp']
self.com_exp = config['raw_feature']['com_exp']
self.com_lower_exp = config['raw_feature']['com_lower_exp']
self.com_upper_exp = config['raw_feature']['com_upper_exp']
self.hap_exp_full = config['raw_feature']['hap_exp_full']
self.sad_exp_full = config['raw_feature']['sad_exp_full']
self.sur_exp_full = config['raw_feature']['sur_exp_full']
@@ -206,11 +208,13 @@ class ConfigRawReader(object):
self.neu_exp_full = config['raw_feature']['neu_exp_full']
self.cai_exp_full = config['raw_feature']['cai_exp_full']
self.com_exp_full = config['raw_feature']['com_exp_full']
self.com_lower_exp_full = config['raw_feature']['com_lower_exp_full']
self.com_upper_exp_full = config['raw_feature']['com_upper_exp_full']
self.fac_AsymMaskMouth = config['raw_feature']['fac_AsymMaskMouth']
self.fac_AsymMaskEye = config['raw_feature']['fac_AsymMaskEye']
self.fac_AsymMaskEyebrow = config['raw_feature']['fac_AsymMaskEyebrow']
self.fac_AsymMaskCom = config['raw_feature']['fac_AsymMaskCom']
#Movement features
self.head_vel = config['raw_feature']['head_vel']
self.mov_blink_ear = config['raw_feature']['mov_blink_ear']
@@ -222,4 +226,3 @@ class ConfigRawReader(object):
self.mov_Hpose_Yaw = config['raw_feature']['mov_Hpose_Yaw']
self.mov_Hpose_Roll = config['raw_feature']['mov_Hpose_Roll']
self.mov_Hpose_Dist = config['raw_feature']['mov_Hpose_Dist']

View File

@@ -11,32 +11,32 @@ from dbm_lib.dbm_features.raw_features.util import util as ut
def smooth(x,window_len=11,window='hanning'):
"""smooth the data using a window with requested size.
This method is based on the convolution of a scaled window with the signal.
The signal is prepared by introducing reflected copies of the signal
The signal is prepared by introducing reflected copies of the signal
(with the window size) in both ends so that transient parts are minimized
in the begining and end part of the output signal.
input:
x: the input signal
x: the input signal
window_len: the dimension of the smoothing window; should be an odd integer
window: the type of window from 'flat', 'hanning', 'hamming', 'bartlett', 'blackman'
flat window will produce a moving average smoothing.
output:
the smoothed signal
example:
t=linspace(-2,2,0.1)
x=sin(t)+randn(len(t))*0.1
y=smooth(x)
see also:
see also:
numpy.hanning, numpy.hamming, numpy.bartlett, numpy.blackman, numpy.convolve
scipy.signal.lfilter
TODO: the window parameter could be the window itself if an array instead of a string
NOTE: length(output) != length(input), to correct this: return y[(window_len/2-1):-(window_len/2)] instead of just y.
"""
@@ -62,7 +62,7 @@ def filter_by_confidence_and_thresh(x, fea, thresh):
return x[fea]
else:
return np.NaN
def add_au_emotion(x, emotion,emotion_type,exp_type):
"""
computing individula emotion expressivity matrix
@@ -79,20 +79,20 @@ def add_au_emotion(x, emotion,emotion_type,exp_type):
if x[au_c_label]==1 and (not np.isnan(x[au_r_label])): #there are data with face in, but au_c=0
sum_r += x[au_r_label]
cnt += 6
if exp_type=='full' and x[au_c_label]==0: #Logic to compute emotion expressivity when all AU's are present
cnt = 0
if exp_type=='full' and x[au_c_label]==0: #Logic to compute emotion expressivity when all AU's are present
cnt = 0
break
if cnt > 0:
if cnt > 0:
sum_r /= cnt
else:
sum_r = 0
v_emo = x[emotion_type] + sum_r
v_emo = x[emotion_type] + sum_r
else:
v_emo = np.NaN
error_reason = 'confidence less than 80%'
return v_emo, error_reason
def add_au_occ(x, emotion,emotion_type):
"""
computing individula emotion presence
@@ -107,14 +107,14 @@ def add_au_occ(x, emotion,emotion_type):
au_c_label = " AU{:02d}_c".format(au)
if x[au_c_label]==1: #there are data with face in, but au_c=0
au_pres.append(1)
if len(au_pres) == len(emotion):
em_pres = 1
else:
em_pres = np.NaN
error_reason = 'confidence less than 80%'
return em_pres, error_reason
def emotion_exp(em_au,of,em_col,err_col):
"""
Computing individual emotion expressivity and adding it to dataframe
@@ -122,14 +122,14 @@ def emotion_exp(em_au,of,em_col,err_col):
for emotion in em_au:
of[[em_col[0],err_col]]=of.apply(add_au_emotion, args=(emotion,em_col[0],'partial',), axis=1, result_type='expand')
of[[em_col[1],err_col]]=of.apply(add_au_emotion, args=(emotion,em_col[1],'full',), axis=1, result_type='expand')
def emotion_pres(em_au,of,em_col,err_col):
"""
Computing individual emotion expressivity and adding it to dataframe
"""
for emotion in em_au:
of[[em_col,err_col]]=of.apply(add_au_occ, args=(emotion,em_col,), axis=1, result_type='expand')
def calc_of_for_video(of,face_cfg,fe_cfg):
"""
Creating dataframe for emotion expressivity
@@ -142,7 +142,7 @@ def calc_of_for_video(of,face_cfg,fe_cfg):
fe_cfg.com_exp_full]
of[new_cols] = pd.DataFrame([[0] * len(new_cols)], index=of.index)
of[fe_cfg.err_reason] = 'Pass'
#Composite happiness expressivity
emotion_exp(face_cfg.happiness,of,[fe_cfg.hap_exp,fe_cfg.hap_exp_full],fe_cfg.err_reason)
#Composite sadness expressivity
@@ -167,6 +167,10 @@ def calc_of_for_video(of,face_cfg,fe_cfg):
emotion_exp(face_cfg.cai,of,[fe_cfg.cai_exp,fe_cfg.cai_exp_full],fe_cfg.err_reason)
#Composite Expressivity
emotion_exp(face_cfg.ACTION_UNITS,of,[fe_cfg.com_exp,fe_cfg.com_exp_full],fe_cfg.err_reason)
#Composite lower face expressivity
emotion_exp(face_cfg.LOWER_ACTION_UNITS,of,[fe_cfg.com_lower_exp,fe_cfg.com_lower_exp_full],fe_cfg.err_reason)
#Composite upper face Expressivity
emotion_exp(face_cfg.UPPER_ACTION_UNITS,of,[fe_cfg.com_upper_exp,fe_cfg.com_upper_exp_full],fe_cfg.err_reason)
#AU happiness presence
emotion_pres(face_cfg.happiness,of,fe_cfg.happ_occ,fe_cfg.err_reason)
#AU Sad presence

View File

@@ -18,18 +18,20 @@ class ConfigFaceReader(object):
Args:
service_config_yml (None, optional): yml file defined service configuration
"""
if service_config_yml is None:
service_config = DBMLIB_FACE_CONFIG
else:
service_config = service_config_yml
with open(service_config, 'r') as ymlfile:
config = yaml.load(ymlfile)
self.ACTION_UNITS = config['cdx_face_config']['ACTION_UNITS']
self.NEG_ACTION_UNITS = config['cdx_face_config']['NEG_ACTION_UNITS']
self.POS_ACTION_UNITS = config['cdx_face_config']['POS_ACTION_UNITS']
self.NET_ACTION_UNITS = config['cdx_face_config']['NET_ACTION_UNITS']
self.NET_ACTION_UNITS = config['cdx_face_config']['NET_ACTION_UNITS']
self.LOWER_ACTION_UNITS = config['cdx_face_config']['LOWER_ACTION_UNITS']
self.UPPER_ACTION_UNITS = config['cdx_face_config']['LOWER_ACTION_UNITS']
self.happiness = config['cdx_face_config']['happiness']
self.sadness = config['cdx_face_config']['sadness']
self.surprise = config['cdx_face_config']['surprise']
@@ -44,7 +46,7 @@ class ConfigFaceReader(object):
self.AU_fl = config['cdx_face_config']['AU_filters']
self.au_int = config['cdx_face_config']['au_intensity']
self.au_prs = config['cdx_face_config']['au_presence']
def get_action_unit(self):
"""Summary
Returns:
@@ -134,4 +136,4 @@ class ConfigFaceReader(object):
Returns:
TYPE: end point
"""
return self.cai
return self.cai

View File

@@ -1,9 +1,9 @@
derive_feature:
#DBM Feature Group
FEATURE_GROUP: ['FAC_ASYM', 'FAC_AU', 'FAC_EXP', 'FAC_LMK', 'ACO_INT', 'ACO_FF', 'ACO_HNR', 'ACO_GNE', 'ACO_FM',
FEATURE_GROUP: ['FAC_ASYM', 'FAC_AU', 'FAC_EXP', 'FAC_LMK', 'ACO_INT', 'ACO_FF', 'ACO_HNR', 'ACO_GNE', 'ACO_FM',
'ACO_JITTER','ACO_SHIMMER', 'ACO_PAUSE', 'ACO_VFS', 'ACO_MFCC', 'MOV_HM', 'MOV_HP', 'EYE_BLINK']
#Feature group output file extensions
FAC_ASYM_LOC: _facasym
FAC_AU_LOC: _facau
@@ -22,31 +22,31 @@ derive_feature:
MOV_HM_LOC: _headmov
MOV_HP_LOC: _headpose
EYE_BLINK_LOC: _eyeblinks
#Facial category feature group
FAC_ASYM: ['fac_AsymMaskMouth', 'fac_AsymMaskEyebrow', 'fac_AsymMaskEye', 'fac_AsymMaskCom']
FAC_AU: ['fac_AU01int', 'fac_AU02int', 'fac_AU04int', 'fac_AU05int', 'fac_AU06int', 'fac_AU07int', 'fac_AU09int',
'fac_AU10int', 'fac_AU12int', 'fac_AU14int', 'fac_AU15int', 'fac_AU17int', 'fac_AU20int', 'fac_AU23int',
'fac_AU25int', 'fac_AU26int', 'fac_AU45int', 'fac_AU01pres', 'fac_AU02pres', 'fac_AU04pres', 'fac_AU05pres',
'fac_AU06pres', 'fac_AU07pres', 'fac_AU09pres', 'fac_AU10pres', 'fac_AU12pres', 'fac_AU14pres', 'fac_AU15pres',
FAC_AU: ['fac_AU01int', 'fac_AU02int', 'fac_AU04int', 'fac_AU05int', 'fac_AU06int', 'fac_AU07int', 'fac_AU09int',
'fac_AU10int', 'fac_AU12int', 'fac_AU14int', 'fac_AU15int', 'fac_AU17int', 'fac_AU20int', 'fac_AU23int',
'fac_AU25int', 'fac_AU26int', 'fac_AU45int', 'fac_AU01pres', 'fac_AU02pres', 'fac_AU04pres', 'fac_AU05pres',
'fac_AU06pres', 'fac_AU07pres', 'fac_AU09pres', 'fac_AU10pres', 'fac_AU12pres', 'fac_AU14pres', 'fac_AU15pres',
'fac_AU17pres', 'fac_AU20pres', 'fac_AU23pres', 'fac_AU25pres', 'fac_AU26pres', 'fac_AU28pres', 'fac_AU45pres']
FAC_EXP: ['hap_exp', 'sad_exp', 'sur_exp', 'fea_exp', 'ang_exp', 'dis_exp', 'con_exp', 'happ_occ', 'sad_occ',
'sur_occ', 'fea_occ', 'ang_occ', 'dis_occ', 'con_occ', 'pos_exp', 'neg_exp', 'com_exp', 'hap_exp_full',
'sur_occ', 'fea_occ', 'ang_occ', 'dis_occ', 'con_occ', 'pos_exp', 'neg_exp', 'com_exp','com_lower_exp','com_upper_exp', 'hap_exp_full',
'sad_exp_full', 'sur_exp_full','fea_exp_full', 'ang_exp_full', 'dis_exp_full', 'con_exp_full', 'pos_exp_full',
'neg_exp_full', 'com_exp_full']
FAC_LMK: ['fac_LMK00disp', 'fac_LMK01disp', 'fac_LMK02disp', 'fac_LMK03disp', 'fac_LMK04disp',
'fac_LMK05disp', 'fac_LMK06disp', 'fac_LMK07disp', 'fac_LMK08disp', 'fac_LMK09disp', 'fac_LMK10disp',
'fac_LMK11disp', 'fac_LMK12disp', 'fac_LMK13disp', 'fac_LMK14disp', 'fac_LMK15disp', 'fac_LMK16disp',
'fac_LMK17disp', 'fac_LMK18disp', 'fac_LMK19disp', 'fac_LMK20disp', 'fac_LMK21disp', 'fac_LMK22disp',
'fac_LMK23disp', 'fac_LMK24disp', 'fac_LMK25disp', 'fac_LMK26disp', 'fac_LMK27disp', 'fac_LMK28disp',
'fac_LMK29disp', 'fac_LMK30disp', 'fac_LMK31disp', 'fac_LMK32disp', 'fac_LMK33disp', 'fac_LMK34disp',
'fac_LMK35disp', 'fac_LMK36disp', 'fac_LMK37disp', 'fac_LMK38disp', 'fac_LMK39disp', 'fac_LMK40disp',
'fac_LMK41disp', 'fac_LMK42disp', 'fac_LMK43disp', 'fac_LMK44disp', 'fac_LMK45disp', 'fac_LMK46disp',
'fac_LMK47disp', 'fac_LMK48disp', 'fac_LMK49disp', 'fac_LMK50disp', 'fac_LMK51disp', 'fac_LMK52disp',
'fac_LMK53disp', 'fac_LMK54disp', 'fac_LMK55disp', 'fac_LMK56disp', 'fac_LMK57disp', 'fac_LMK58disp',
'fac_LMK59disp', 'fac_LMK60disp', 'fac_LMK61disp', 'fac_LMK62disp', 'fac_LMK63disp', 'fac_LMK64disp',
'neg_exp_full', 'com_exp_full','com_lower_exp_full','com_upper_exp_full']
FAC_LMK: ['fac_LMK00disp', 'fac_LMK01disp', 'fac_LMK02disp', 'fac_LMK03disp', 'fac_LMK04disp',
'fac_LMK05disp', 'fac_LMK06disp', 'fac_LMK07disp', 'fac_LMK08disp', 'fac_LMK09disp', 'fac_LMK10disp',
'fac_LMK11disp', 'fac_LMK12disp', 'fac_LMK13disp', 'fac_LMK14disp', 'fac_LMK15disp', 'fac_LMK16disp',
'fac_LMK17disp', 'fac_LMK18disp', 'fac_LMK19disp', 'fac_LMK20disp', 'fac_LMK21disp', 'fac_LMK22disp',
'fac_LMK23disp', 'fac_LMK24disp', 'fac_LMK25disp', 'fac_LMK26disp', 'fac_LMK27disp', 'fac_LMK28disp',
'fac_LMK29disp', 'fac_LMK30disp', 'fac_LMK31disp', 'fac_LMK32disp', 'fac_LMK33disp', 'fac_LMK34disp',
'fac_LMK35disp', 'fac_LMK36disp', 'fac_LMK37disp', 'fac_LMK38disp', 'fac_LMK39disp', 'fac_LMK40disp',
'fac_LMK41disp', 'fac_LMK42disp', 'fac_LMK43disp', 'fac_LMK44disp', 'fac_LMK45disp', 'fac_LMK46disp',
'fac_LMK47disp', 'fac_LMK48disp', 'fac_LMK49disp', 'fac_LMK50disp', 'fac_LMK51disp', 'fac_LMK52disp',
'fac_LMK53disp', 'fac_LMK54disp', 'fac_LMK55disp', 'fac_LMK56disp', 'fac_LMK57disp', 'fac_LMK58disp',
'fac_LMK59disp', 'fac_LMK60disp', 'fac_LMK61disp', 'fac_LMK62disp', 'fac_LMK63disp', 'fac_LMK64disp',
'fac_LMK65disp', 'fac_LMK66disp', 'fac_LMK67disp']
#Acoustic category feature group
ACO_INT: ['aco_int']
ACO_FF: ['aco_ff']
@@ -59,19 +59,19 @@ derive_feature:
ACO_VFS: ['aco_voicePct']
ACO_MFCC: ['aco_mfcc1','aco_mfcc2','aco_mfcc3','aco_mfcc4','aco_mfcc5','aco_mfcc6','aco_mfcc7','aco_mfcc8','aco_mfcc9',
'aco_mfcc10','aco_mfcc11','aco_mfcc12']
#Movement category feature group
MOV_HM: ['head_vel']
MOV_HP: ['mov_Hpose_Dist','mov_Hpose_Pitch','mov_Hpose_Yaw','mov_Hpose_Roll']
EYE_BLINK: ['mov_blink_ear', 'vid_dur', 'mov_blinkdur']
#Calculation for variables
# Facial Asymmetry
fac_AsymMaskMouth: ['mean', 'std']
fac_AsymMaskEyebrow: ['mean', 'std']
fac_AsymMaskEye: ['mean', 'std']
fac_AsymMaskCom: ['mean', 'std']
#Facial Action Unit
fac_AU01int: ['mean', 'std']
fac_AU02int: ['mean', 'std']
@@ -103,12 +103,12 @@ derive_feature:
fac_AU15pres: ['pct']
fac_AU17pres: ['pct']
fac_AU20pres: ['pct']
fac_AU23pres: ['pct']
fac_AU23pres: ['pct']
fac_AU25pres: ['pct']
fac_AU26pres: ['pct']
fac_AU28pres: ['pct']
fac_AU45pres: ['pct']
#Facial Expressivity
hap_exp: ['mean', 'std']
sad_exp: ['mean', 'std']
@@ -128,8 +128,10 @@ derive_feature:
neg_exp: ['mean', 'std', 'pct']
neu_exp: ['mean', 'std', 'pct']
com_exp: ['mean', 'std', 'pct']
com_lower_exp: ['mean','std','pct']
com_upper_exp: ['mean','std','pct']
hap_exp_full: ['mean', 'std']
sad_exp_full: ['mean', 'std']
sad_exp_full: ['mean', 'std']
sur_exp_full: ['mean', 'std']
fea_exp_full: ['mean', 'std']
ang_exp_full: ['mean', 'std']
@@ -139,7 +141,9 @@ derive_feature:
neg_exp_full: ['mean', 'std']
neu_exp_full: ['mean', 'std']
com_exp_full: ['mean', 'std']
com_lower_exp_full: ['mean','std']
com_upper_exp_full: ['mean', 'std']
#Facial Landmarks
fac_LMK00disp: ['mean', 'std']
fac_LMK01disp: ['mean', 'std']
@@ -151,7 +155,7 @@ derive_feature:
fac_LMK07disp: ['mean', 'std']
fac_LMK08disp: ['mean', 'std']
fac_LMK09disp: ['mean', 'std']
fac_LMK10disp: ['mean', 'std']
fac_LMK10disp: ['mean', 'std']
fac_LMK11disp: ['mean', 'std']
fac_LMK12disp: ['mean', 'std']
fac_LMK13disp: ['mean', 'std']
@@ -163,22 +167,22 @@ derive_feature:
fac_LMK19disp: ['mean', 'std']
fac_LMK20disp: ['mean', 'std']
fac_LMK21disp: ['mean', 'std']
fac_LMK22disp: ['mean', 'std']
fac_LMK22disp: ['mean', 'std']
fac_LMK23disp: ['mean', 'std']
fac_LMK24disp: ['mean', 'std']
fac_LMK25disp: ['mean', 'std']
fac_LMK26disp: ['mean', 'std']
fac_LMK27disp: ['mean', 'std']
fac_LMK28disp: ['mean', 'std']
fac_LMK29disp: ['mean', 'std']
fac_LMK29disp: ['mean', 'std']
fac_LMK30disp: ['mean', 'std']
fac_LMK31disp: ['mean', 'std']
fac_LMK32disp: ['mean', 'std']
fac_LMK33disp: ['mean', 'std']
fac_LMK34disp: ['mean', 'std']
fac_LMK34disp: ['mean', 'std']
fac_LMK35disp: ['mean', 'std']
fac_LMK36disp: ['mean', 'std']
fac_LMK37disp: ['mean', 'std']
fac_LMK37disp: ['mean', 'std']
fac_LMK38disp: ['mean', 'std']
fac_LMK39disp: ['mean', 'std']
fac_LMK40disp: ['mean', 'std']
@@ -193,7 +197,7 @@ derive_feature:
fac_LMK49disp: ['mean', 'std']
fac_LMK50disp: ['mean', 'std']
fac_LMK51disp: ['mean', 'std']
fac_LMK52disp: ['mean', 'std']
fac_LMK52disp: ['mean', 'std']
fac_LMK53disp: ['mean', 'std']
fac_LMK54disp: ['mean', 'std']
fac_LMK55disp: ['mean', 'std']
@@ -209,7 +213,7 @@ derive_feature:
fac_LMK65disp: ['mean', 'std']
fac_LMK66disp: ['mean', 'std']
fac_LMK67disp: ['mean', 'std']
#Acoustic feature
aco_int: ['mean', 'std', 'range']
aco_ff: ['mean', 'std', 'range']
@@ -238,7 +242,7 @@ derive_feature:
aco_mfcc10: ['mean']
aco_mfcc11: ['mean']
aco_mfcc12: ['mean']
#Movement feature
head_vel: ['mean', 'std']
mov_Hpose_Dist: ['mean', 'std']

View File

@@ -1,11 +1,11 @@
raw_feature:
#error reason
error_reason: error_reason
#Output range
mov_headvel_start: 0
mov_headvel_end: 200
#Facial markers
hap_exp: fac_hapintsoft
sad_exp: fac_sadintsoft
@@ -26,6 +26,8 @@ raw_feature:
neu_exp: neu_exp
cai_exp: cai_exp
com_exp: fac_comintsoft
com_lower_exp: fac_comlowintsoft
com_upper_exp: fac_comuppintsoft
hap_exp_full: fac_hapinthard
sad_exp_full: fac_sadinthard
sur_exp_full: fac_surinthard
@@ -38,13 +40,15 @@ raw_feature:
neu_exp_full: neu_exp_full
cai_exp_full: cai_exp_full
com_exp_full: fac_cominthard
com_lower_exp_full: fac_comlowinthard
com_upper_exp_full: fac_comuppinthard
#Facial asymmetry
fac_AsymMaskMouth: fac_asymmaskmouth
fac_AsymMaskEye: fac_asymmaskeye
fac_AsymMaskEyebrow: fac_asymmaskeyebrow
fac_AsymMaskCom: fac_asymmaskcom
#Facial landmark
fac_LMK00disp: fac_LMK00disp
fac_LMK01disp: fac_LMK01disp
@@ -114,7 +118,7 @@ raw_feature:
fac_LMK65disp: fac_LMK65disp
fac_LMK66disp: fac_LMK66disp
fac_LMK67disp: fac_LMK67disp
#Facial action unit
fac_AU01int: fac_AU01int
fac_AU02int: fac_AU02int
@@ -151,7 +155,7 @@ raw_feature:
fac_AU26pres: fac_AU26pres
fac_AU28pres: fac_AU28pres
fac_AU45pres: fac_AU45pres
#Verbal markers
aco_int: aco_int
aco_ff: aco_ff
@@ -184,7 +188,7 @@ raw_feature:
aco_speakingtime: aco_speakingtime
aco_numpauses: aco_numpauses
aco_pausefrac: aco_pausefrac
#Movement markers
head_vel: mov_headvel
mov_blink_ear: mov_blink_ear

View File

@@ -1,5 +1,7 @@
cdx_face_config:
ACTION_UNITS: [[6, 12],[1, 4, 15],[1, 2, 5, 26],[1, 2, 4, 5, 7, 20, 26],[4, 5, 7, 23],[9, 15],[12, 14]]
LOWER_ACTION_UNITS: [[12], [15], [26], [20, 26], [23], [15], [12, 14]]
UPPER_ACTION_UNITS: [[6], [1, 4], [1, 2, 5], [1, 2, 4, 5, 7], [4, 5, 7], [9]]
NEG_ACTION_UNITS: [[1, 4, 15], [1, 2, 4, 5, 7, 20, 26], [4, 5, 7, 23], [9, 15], [12, 14]]
POS_ACTION_UNITS: [[6, 12]]
NET_ACTION_UNITS: [[1, 2, 5, 26]]
@@ -14,12 +16,12 @@ cdx_face_config:
SELECTED_FEATURES: AU,POSE
face_expr_dir: /video/face_expressivity
face_asym_dir: /video/face_asymmetry
AU_filters: ['frame', ' face_id', ' timestamp', ' confidence', ' success', ' AU01_r',' AU02_r',' AU04_r',' AU05_r',
' AU06_r', ' AU07_r', ' AU09_r', ' AU10_r', ' AU12_r', ' AU14_r', ' AU15_r', ' AU17_r', ' AU20_r',
' AU25_r', ' AU26_r', ' AU45_r', ' AU01_c', ' AU02_c', ' AU04_c', ' AU05_c', ' AU06_c', ' AU07_c',
AU_filters: ['frame', ' face_id', ' timestamp', ' confidence', ' success', ' AU01_r',' AU02_r',' AU04_r',' AU05_r',
' AU06_r', ' AU07_r', ' AU09_r', ' AU10_r', ' AU12_r', ' AU14_r', ' AU15_r', ' AU17_r', ' AU20_r',
' AU25_r', ' AU26_r', ' AU45_r', ' AU01_c', ' AU02_c', ' AU04_c', ' AU05_c', ' AU06_c', ' AU07_c',
' AU10_c', ' AU12_c', ' AU14_c', ' AU15_c', ' AU17_c', ' AU20_c', ' AU23_c', ' AU25_c', ' AU26_c',
' AU28_c', ' AU45_c',' AU09_c',' AU23_r' ]
au_intensity: [' AU01_r',' AU02_r',' AU04_r',' AU05_r', ' AU06_r', ' AU07_r', ' AU09_r', ' AU10_r', ' AU12_r',
au_intensity: [' AU01_r',' AU02_r',' AU04_r',' AU05_r', ' AU06_r', ' AU07_r', ' AU09_r', ' AU10_r', ' AU12_r',
' AU14_r', ' AU15_r', ' AU17_r', ' AU20_r',' AU23_r', ' AU25_r', ' AU26_r', ' AU45_r']
au_presence: [' AU01_c', ' AU02_c', ' AU04_c', ' AU05_c', ' AU06_c', ' AU07_c', ' AU09_c', ' AU10_c', ' AU12_c',
' AU14_c', ' AU15_c', ' AU17_c', ' AU20_c', ' AU23_c', ' AU25_c', ' AU26_c', ' AU45_c']
au_presence: [' AU01_c', ' AU02_c', ' AU04_c', ' AU05_c', ' AU06_c', ' AU07_c', ' AU09_c', ' AU10_c', ' AU12_c',
' AU14_c', ' AU15_c', ' AU17_c', ' AU20_c', ' AU23_c', ' AU25_c', ' AU26_c', ' AU45_c']