There are usually three methods to solve the problem of multi-angle gait Detection: using a multi-camera system to establish a 3D model, extracting angle-independent gait features, and angle Conversion Models.
The most basic feature of the View Transformation Model is to use Singular Value Decomposition (SVD) to break down the feature matrix into a vector irrelevant to the angle and a vector irrelevant to the object, and feature value. Then, the extracted object-independent vector is used to convert the feature from the current angle to the corresponding angle. The overall process of the model is as follows:
First, the feature matrix is constructed using features of multiple objects at different angles, and then the Singular Value Decomposition is performed on the matrix.
It indicates the features of the m object under the n angle. It is the feature value of the m object and is irrelevant to the angle, that is, the obtained angle conversion vector. Angle conversion is derived as follows:
Here, it indicates the pseudo-inverse.
That is, through vector P, the features under Angle j can be obtained through the feature of Arbitrary Angle I of object m.
The main purpose is to use svd to directly use the code written in matlab, and then save the obtained P.
[sk,sm,sna]=size(v_m_features);v_t_m_tmp = reshape(v_m_features,sk*sm,sna);v_t_m = reshape(v_t_m_tmp', sk*sna,sm);[U,S,V]=svd(v_t_m,'econ');%[U,S,V]=svd(v_t_m);P=U*S;[spm,spn]=size(P);v_t_p=zeros(sna,spn,sk);v_t_p_ij=zeros(sna,sna,sk*sk);for ki=1:sk for ii=1:sna nai=(ki-1)*sna+ii; v_t_p(ii,:,ki)=P(nai,:); endendfor i=1:skfor j=1:skij=(i-1)*sk+j; v_t_pj=pinv(v_t_p(:,:,j));v_t_p_ij(:,:,ij)= v_t_p(:,:,i)*v_t_pj;endend