Describes all steps of behavior recognition; example for facial expressions. The file describes the following: 1) data format [3 choices] 2) feature detection & description [2 choices] 3) behavior classification Data and additional information can be obtained at: http://vision.ucsd.edu/~pdollar/research/research.html ---------------------------------------------------------------------------------------- DATA FORMAT First the directory of the data must be specified. Alter datadir.m to point to the location of the data. Behavior data can be represented in 1 of 3 ways. In each case data is divided into a number of 'sets', each set contains data that should be treated together (for training and testing, see generating results for more info). In each case, a set contains a number of behavior clips. The three methods for representing a set are: [set_ind] the 2 digit set index, '00','01',... [cliptype] represents behavior type, such as 'grooming' or 'smiling' [instance] represents the 3 digit instance number - '000','001',... 1) .avi files in a datadir/set[set_ind]/, named '[cliptype][instance].avi' 2) .mat files in a datadir/set[set_ind]/, named 'clip_[cliptype][instance].mat' When loaded the file contains two matlab variables: 'I' and 'clipname' 3) a single DATASETS struct, kept in memory as DATASETS, described below. If all the sets can be stored in memory at once, the third option can be used. DATASETS is an array of nsets elements, where each element is a struct representing a set of data. Each DATASETS should initally have the following two fields: IS and IDX. IS is either a ...xN 4D array of N clips or an N element cell array of clips (3D arrays). IDX should be a length N uint8 vector of clip types. Note that as processing proceeds the contents of DATASETS will change. One can convert between the formats using the conv_* functions. To go from DATASETS format to .avi format, go through the .mat format. ---------------------------------------------------------------------------------------- FEATURE DETECTION & DESCRIPTION These functions are used to detect cuboids and than apply descriptors to them, creating data that can than be used in various training / testing scenarios described next. The two function featuresSM and featuresLG both return the same output. The difference is that featuresSM works with data fully in memory (the DATASETS format), while featuresLG writes things back and forth to the hard disk (using the .mat format). If the files are originally in .avi format, they need to be converted to either .mat format or the DATASETS format. ---------------------------------------------------------------------------------------- BEHAVIOR CLASSIFICATION See recog_test or recog_test_nfold ---------------------------------------------------------------------------------------- EXAMPLE below