ขั้นตอนการหาคุณลักษณะเด่นด้วย Eigen face ในงานรู้จำใบหน้าด้วย MATLAB

ปี ค.ศ. 1987 คุณ Sirovich และคุณ Kirby ได้ทำการพัฒนา Eigenface ให้เป็นที่รู้จัก โดยเรียกชุดเวกเตอร์ที่ใช้ในการระบุตัวตนด้วยใบหน้าของมนุษย์ว่า Eigenface หรืออีกอย่างหนึ่งว่าเป็นชื่อเรียกเซตของ Eigen Vector จากกระบวนการทางคณิตศาสตร์และสถิติของใบหน้าที่หลากหลาย วิธีนี้ได้รับความสนใจและยอมรับว่าสามารถสังเคราะห์ภาพใบหน้าขึ้นมาใหม่ได้จากข้อมูลจากแบบจำลอง และสามารถจัดเก็บข้อมูลพารามิเตอร์ของใบหน้าของบุคคลในรูปแบบชุดตัวเลขเพียงเล็กน้อย

ซึ่งการสร้างแบบจำลอง Eigenface นี้ สามารถทำได้จากขั้นตอนวิธีทางสถิติจากเมทริกซ์ความแปรปรวนร่วมเกี่ยว (covariance matrix) โดยเรียกลักษณะของเซตใบหน้าที่หลากหลายนี้เป็นกลุ่มของเวกเตอร์นี้ว่า Eigen Vector ซึ่งเป็นแนวทางหนึ่งในทฤษฎีเรื่องการวิเคราะห์ส่วนประกอบ Principle component analysis (PCA) โดย Eigen face มีขั้นตอนดังต่อไปนี้

1_oxBYlkxjl4sPnFDyOBQE5Q

1. ขั้นตอนที่ 1 รับภาพอินพุท (Input images) และ ค่าเฉลี่ยของรูปภาพ

m = mean(T,2); % Computing the average face image

Train_Number = size(T,2);

A = [];

for i = 1 : Train_Number

temp = double(T(:,i)) — m; % Computing the difference image for each image in the training set Ai = Ti — m

A = [A temp]; % Merging all centered images

end

L = A’*A; % L is the surrogate of covariance matrix C=A*A’.

[V D] = eig(L);

%%%%%% Sorting and eliminating eigenvalues

L_eig_vec = [];

for i = 1 : size(V,2)

if( D(i,i)>1 )

L_eig_vec = [L_eig_vec V(:,i)];

end

end

% Calculating the eigenvectors of covariance matrix ‘C’

Eigenfaces = A * L_eig_vec; % A: centered image vectors

Euc_dist = [];

for i = 1 : Train_Number

q = ProjectedImages(:,i);

temp = ( norm( ProjectedTestImage — q ) )²;

Euc_dist = [Euc_dist temp];

end

[Euc_dist_min , Recognized_index] = min(Euc_dist);

หมายเหตุท้าย:
หากคุณชอบบทความนี้อย่าลืมคลิก❤ด้านล่างเพื่อแนะนำและถ้าคุณมีคำถามใด ๆ แสดงความคิดเห็นและฉันจะพยายามอย่างดีที่สุดที่จะตอบ คุณสามารถติดตามฉันบน facebook page () และสามารถส่งอีเมลถึงฉัน

ขอให้ทุกคนมีวันที่ดี 🙂