एसवीडी / पीसीए गणना से नई छवियां फिटिंग


16

मैं विकिपीडिया पर आइगेनफेस पेज से विचारों को दोहराने की कोशिश कर रहा हूं । एक सौ से नमूना छवियों एक डेटा मैट्रिक्स का प्रतिनिधित्व करती (जहां प्रत्येक छवि लंबाई का एक वेक्टर को चपटा n , इस प्रकार एक्स एक है 100 से n मैट्रिक्स), मैं एक SVD अपघटन गणना की है:XnX100n

X=UΣVT

इसलिये:

XXT=UΣ2Uटी

सबसे बड़ी में से एक सबसेट लेने से eigenmodes, मैं मैट्रिक्स का अनुमान लगा सकता (जाने σ 1σ 2 ):क्षσ1σ2

Xσ1u1v1T+σ2u2v2T++σquqvqT

अब एक नया वेक्टर दिया गया है , जो X में नहीं एक छवि का प्रतिनिधित्व करता है , मैं अपनी नई छवि y का सबसे अच्छा प्रतिनिधित्व करने के लिए q eigenvectors U के भार को कैसे निर्धारित करूं ? पैथोलॉजिकल मामलों को छोड़कर, क्या यह प्रतिनिधित्व अद्वितीय है?yXqUy

संक्षेप में, मैं यह करना चाहूंगा (विकी पेज से):

अब इन आइजनफैस का उपयोग मौजूदा और नए दोनों चेहरों का प्रतिनिधित्व करने के लिए किया जा सकता है : हम ईजनफेस पर एक नई (मीन-घटाना) छवि को प्रोजेक्ट कर सकते हैं और इस तरह रिकॉर्ड कर सकते हैं कि नया फेस माध्य चेहरे से कैसे अलग है।

मैं उस प्रक्षेपण को कैसे करूं?


1
भविष्य के पाठकों को यह कार्यान्वयन मूल्यवान लग सकता है ।
एमरे

जवाबों:


11

"प्रक्षेपण" जिसे संदर्भित किया जाता है, एक वेक्टर प्रक्षेपण है । वेक्टर के प्रक्षेपण की गणना करने के वेक्टर पर , आप का उपयोग आंतरिक उत्पाद दो वैक्टर की:ab

aproj=a,bb

इस मामले में की वेक्टर घटक है एक है कि एक ही दिशा में झूठaprojab । यूक्लिडियन अंतरिक्ष में, आंतरिक उत्पाद ऑपरेटर को उनके डॉट उत्पाद के रूप में परिभाषित किया जाता है :

a,b=ab=i=1naibi

जहां वैक्टर में घटकों की संख्या है एक और और एक मैं और मैं कर रहे हैं मैं वैक्टर की मई के घटक एक और , क्रमशः। Intuitively, दो वैक्टर की आंतरिक उत्पाद की गणना के द्वारा, आप पा "कितना की" वेक्टर एक वेक्टर की दिशा में चला जाता है । ध्यान दें कि यह एक हस्ताक्षरित मात्रा है, इसलिए एक नकारात्मक मूल्य का मतलब होगा कि दोनों वैक्टर के बीच का कोण 90 डिग्री से अधिक है, जैसा कि प्रक्षेपण ऑपरेटर के लिए एक वैकल्पिक परिभाषा द्वारा सचित्र है:nabaibiiabab

aproj=|a|cos(θ)b

जहां दो वैक्टर बीच का कोण है।θ

तो, एक वेक्टर दिया और आधार वैक्टर का एक समूह मैं , एक मिल सकता है "का कितना एक " आधार वैक्टर में से प्रत्येक की दिशाओं में से प्रत्येक में चला जाता है। आमतौर पर, उन आधार वैक्टर सभी पारस्परिक रूप से रूढ़िवादी होंगे। आपके मामले में, एसवीडी एक ऑर्थोगोनल अपघटन है, इसलिए इस स्थिति को संतुष्ट किया जाना चाहिए। तो, पूरा करने के लिए आप क्या वर्णन है, आप eigenvectors है मैट्रिक्स ले जाएगा यू और उम्मीदवार वेक्टर के आंतरिक उत्पाद की गणना yabiaUy प्रत्येक कॉलम के साथ :

pi=yui

अदिश मूल्य है कि आप प्रत्येक आंतरिक उत्पाद से प्राप्त का प्रतिनिधित्व करता है कितनी अच्छी तरह वेक्टर y के साथ "खड़े" मैं मई के आइजन्वेक्टर। चूंकि eigenvectors असामान्य हैं , इसलिए आप निम्न प्रकार से मूल वेक्टर y को फिर से संगठित कर सकते हैं:piyiy

y=i=1npiui

आपने पूछा कि क्या यह प्रतिनिधित्व अद्वितीय है; मुझे यकीन नहीं है कि आपका क्या मतलब है, लेकिन यह इस मायने में अद्वितीय नहीं है कि किसी दिए गए वेक्टर को किसी भी संख्या में रूढ़िवादी आधारों पर प्रक्षेपण द्वारा विघटित किया जा सकता है। मैट्रिक्स यू में निहित आइजनवेक्टर एक ऐसा उदाहरण है, लेकिन आप किसी अन्य संख्या का उपयोग कर सकते हैं। उदाहरण के लिए, y की असतत फूरियर रूपांतरण की गणना को अलग-अलग आवृत्ति के जटिल घातीय वैक्टरों के एक असामान्य आधार पर पेश करने के रूप में देखा जा सकता है।yUy


शानदार जवाब धन्यवाद! "अद्वितीय" के लिए, मुझे एसवीडी द्वारा दिए गए आधार के अर्थ में अद्वितीय था। मेरा अनुमान है कि यह है कि, एक orthonormal आधार दिया तो आप गणना अनन्य होना चाहिए - लेकिन यह नहीं हो (अगर वे orthogonal नहीं थे, तो हम एक छोटे आधार सेट मिल सकता है के बाद से) हो सकती है यदि आधार orthonormal तो नहीं है? y
आदी

yy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.