Input
Cascade detector H0, from the Initial Learning step;
Dynamic working set SD = {PD, QD};
All the frames in this action unit are represented as potential positive samples in the set P = {Ps, Pv}. Ps contains the strong positive samples, P0 contains peak related samples described above, P0 ∈ Ps. Pv contains ambiguous positive samples;
A large negative data set Q contains all other AUs and nonAUs and its size is Na.
Update positive working set by spreading within P and update negative working set by bootstrap in Q with the dynamic cascade learning process: Initialize: We set the value of Np as the size of P0. The size of the old positive data set is Np_old = 0 and the diffusion stage is t = 1. While (Np − Np_old)/Np > 0.1
AU Positive Spreading.
Np_old = Np. Use the current detector on the data set P to potentially add more positive samples, Psp are all the positive samples that are determined by the cascade classifier Ht−1.
Hard Constrain in Spreading.
k Indexes the current AU event and i is the index to the current frame in this AU event. Calculate the similarity values (1) between the peak frame in event k and all peak frames with the lowest intensity value ‘A’, and denote the average similarity value with Sk. Calculate the similarity value between frame i and peak frame in event k, its value is Ski, if Ski < 0.5 × Sk, frame i will be excluded from Psp.
After the above step, the remaining positive work set is Pw = Psp, Np = size of Psp. Using the Ht−1 detector to bootstrap false positive samples from the negative set Q until the negative working set Qw has Nq = β × R0 × Na samples, Na is different in AUs.
Train the cascade classifier Ht with the dynamic working set {Pw, Qw}. As Rt varies, the maximum acceptable false positive ratio per cascade stage fmr also becomes smaller (2).
t = t + 1; empty Pw and Qw.
END While
|