ویژه‌چهره کیست؟ توضیح بده.
چهره‌های ویژه (به انگلیسی: Eigenface) به یک سری از بردارویژه‌ها گفته می‌شود که برای حل مسئله تشخیص چهره در بینایی ماشین استفاده می‌شوند. این روش توسط Sirovich and Kirby ابداع شده است. بردار ویژه‌های استفاده شده در این روش با استفاده از ماتریس کوواریانس داده‌های در ابعاد بالا تولید می‌شوند. این روش به ما کمک می‌کند تا داده‌ها را از بعد بالا به یک بعد پایین‌تر بیاوریم.تولید بردارهای ویژه.برای تولید بردار ویژه‌های کافی که فضای مسئله را توصیف کنند نیاز به داده‌های چهره‌های انسان داریم که از نظر شرایط نوری و زاویه دید و محل قرارگیری چهره و اجزای آن مانند بینی و چشم شرایط مشابهی داشته باشند. ما از روش بررسی مولفه‌های اصلی (به انگلیسی:: Principal Component Analysis) یا PCA استفاده می‌کنیم.در واقع چهره‌های به دست آمده از PCA یک سری پایه برای فضای تمامی چهره‌ها می‌توان در نظر گرفت به طوری که تمامی چهره‌ها را به صورت ترکیب خطی مولفه‌های اصلی می‌نویسیم. این روش‌ها قابل استفاده در کاربردهای دیگر همچون لب‌خوانی، تشخیص صوت و تشخیص دست نوشته نیز است.درواقع اگر بخواهیم پنج گام اصلی به دست آوردن چهره‌های ویژه را توصیف کنیم به صورت زیر است:نمونه کد پایتون.import numpy as npimport mathmean_vector = np.mean(gamma_v, axis = 1)phi = []for i in range(OBSERVATION): phi.append(gamma_v[:,i] - mean_vector)phi = np.array(phi).Tgram = phi.T @ phiv,s_2,v_T = np.linalg.svd(gram)indices = s_2.argsort()v = v[indices[::-1]]u = phi @ v @ np.linalg.inv(np.diag(np.sqrt(s_2)))eigen_face = u[:,0:5]print(eigen_face)نمونه کد متلب.clear all;close all;load yalefaces[h, w, n] = size(yalefaces);d = h * w;% vectorize imagesx = reshape(yalefaces, [d n]);x = double(x);% subtract meanmean_matrix = mean(x, 2);x = bsxfun(@minus, x, mean_matrix);% calculate covariances = cov(x');% obtain eigenvalue &amp; eigenvector[V, D] = eig(s);eigval = diag(D);% sort eigenvalues in descending ordereigval = eigval(end: - 1:1);V = fliplr(V);% show mean and 1st through 15th principal eigenvectorsfigure, subplot(4, 4, 1)imagesc(reshape(mean_matrix, [h, w]))colormap grayfor i = 1:15 subplot(4, 4, i + 1) imagesc(reshape(V(:, i), h, w))endمحسابه بهینه بردار ویژه.خیلی از اوقات محسابه بردارویژه‌ها هزینه بر و عملاً غیرممکن است؛ زیرا اندازه ماتریس کوواریانس برابر با formula_3 که formula_4 تعداد پیکسل‌های عکس است می‌شود. برای حل این مشکل از رویکرد زیر استفاده می‌کنیم.فرض کنید formula_5 ماتریس ورودی‌ها که میانگینش صفر است می‌باشد. بنا به تعریف ماتریس کوواریانس برابر formula_6 است. می‌دانیم بردار ویژه‌ها از رابطه زیر به دست می‌آیند.formula_7ماتریس formula_8 ماتریس از ابعاد formula_9 است. بجای بردار ویژه‌های formula_8 ، بردار ویژه‌های formula_11 را بدست می‌آوریم.formula_12با ضرب formula_5 در دو طرف رابطه به رابطه زیر می‌رسیم.formula_14درواقع با بدست آوردن بردار ویژه‌های formula_8 می‌توان با ضرب formula_5 به بردار ویژه‌های formula_11 رسید.استفاده در سیستم‌های تشخیص چهره.انگیزه ما برای تبدیل عکس به یک سری بردارویژه، استفاده از آن‌ها برای تشخیص چهره بود. ابتدا با استفاده از یک مجموعه داده که داده‌هایی هستند که باید آن‌ها را تأیید کنیم یک سری بردار ویژه برای توصیف فضای تمامی عکس‌ها می‌سازیم. سپس با استفاده از رابطه زیر عکس جدیدی که باید وجود یا عدم وجود آن در مجموعه داده‌های خود تأیید کنیم را در فضای جدید بدست می‌آوریم. formula_18‌ها ضرایب در فضای جدید هستند.formula_19 بردار عکس میانگین و formula_20 بردار ویژه i ام است.formula_21سپس با استفاده از یک متریک مانند فاصله L2 یا ضریب پیرسن می‌توانیم نزدیک بودن عکس جدید به عکس‌های مجموعه خود را تأیید کنیم. برای مثال استفاده از نرم L2 به شکل زیر می‌شود.formula_22سپس با استفاده از یک آستانه مانند formula_23 وجود داده در مجموعه خود را رد می‌کنیم. همچنین از این الگوریتم برای تشخیص این که تصویر چهره انسان است یا خیر نیز می‌توان استفاده کرد. کافی است دو آستانه مانند formula_24 و formula_25 را در نظر بگیریم و formula_26‌هایی که از formula_24 بیشتر هستند را عکس غیرانسان (چهره) و formula_26‌هایی که بین formula_25 و formula_24 هستند را عکس‌هایی که در مجموعه داده نیستند اما همچنان مربوط به چهره یک انسان ناشناخته هستند در نظر بگیریم.