2011-02-12 20 views
21

कार्यक्रम किस प्रवाह से गुजरता है?चेहरे की पहचान कार्यक्रम कैसे काम करते हैं?

+3

अपने प्रश्न विषय बंद है - यह पर cstheory.stackexchange.com –

+16

@Daniel ए व्हाइट उपयुक्त हो सकता है: पूछे जाने वाले प्रश्न के अनुसार, सॉफ्टवेयर एल्गोरिदम और प्रोग्रामिंग समस्याओं के बारे में सवाल विषय पर इतने पर कर रहे हैं। चेहरा पहचान एक प्रोग्रामिंग समस्या है जिसे सॉफ़्टवेयर एल्गोरिदम का उपयोग करके हल किया जाता है। मैं नहीं देखता कि यह कैसे विषय है। – Niki

उत्तर

36

बहुत मोटे तौर पर, प्रसंस्करण चरणों होगा:

  1. प्रत्येक का पता चला चेहरे
  2. के लिए चेहरे पदों
  3. मानक के अनुसार पता लगाने चेहरे
  4. कलेक्ट सुविधाओं एक मशीन सीखने एल्गोरिथ्म के लिए सुविधाओं फ़ीड

चरण 1 आमतौर पर क्लासिक Viola&Jones face detection algorithm का उपयोग करके किया जाता है। यह काफी तेज और भरोसेमंद है।

चरण 1 में पाए गए चेहरों में अलग चमक, विपरीत और विभिन्न आकार हो सकते हैं। प्रसंस्करण को सरल बनाने के लिए, वे सभी एक ही आकार के लिए स्केल किए गए हैं और एक्सपोजर मतभेदों को चरण 2 में मुआवजा दिया जाता है (उदाहरण के लिए हिस्टोग्राम बराबरता का उपयोग करना)।

चरण 3 के लिए कई दृष्टिकोण हैं। प्रारंभिक चेहरे डिटेक्टरों ने विशिष्ट पदों को खोजने की कोशिश की आंखें, नाक के अंत, होंठ के अंत, आदि) और पहचान के लिए सुविधाओं के रूप में ज्यामितीय दूरी और कोण का उपयोग करें। जो मैंने पढ़ा है, उससे ये दृष्टिकोण बहुत तेज थे, लेकिन विश्वसनीय नहीं थे।

एक और हालिया दृष्टिकोण, "Eigenfaces", इस तथ्य पर आधारित है कि चेहरे की तस्वीरों को मूल छवियों के एक रैखिक संयोजन के रूप में अनुमानित किया जा सकता है (पीसीए के माध्यम से प्रशिक्षण छवियों के एक बड़े सेट से पाया जाता है)। इस सन्निकटन में रैखिक कारकों को सुविधाओं के रूप में उपयोग किया जा सकता है। यह दृष्टिकोण व्यक्तिगत रूप से चेहरे (आंखों, नाक, मुंह) के हिस्सों पर भी लागू किया जा सकता है। यदि सभी छवियों के बीच मुद्रा समान है तो यह सबसे अच्छा काम करता है। अगर कुछ चेहरे बाईं ओर देखते हैं, तो दूसरे ऊपर की ओर देखते हैं, यह भी काम नहीं करेगा। सक्रिय उपस्थिति मॉडल फ्लैट 2 डी चित्रों के बजाय एक पूर्ण 3 डी मॉडल को प्रशिक्षित करके उस प्रभाव का सामना करने का प्रयास करते हैं।

चरण 4 अपेक्षाकृत सरल है: आपके पास प्रत्येक चेहरे के लिए संख्याओं का सेट है, और प्रशिक्षण के दौरान प्राप्त चेहरे की छवियों के लिए, और आप प्रशिक्षण परीक्षण को ढूंढना चाहते हैं जो वर्तमान परीक्षण चेहरे पर "सबसे समान" है। मशीन सीखने वाले एल्गोरिदम यही करते हैं। मुझे लगता है कि सबसे आम एल्गोरिदम समर्थन वेक्टर मशीन (एसवीएम) है। अन्य विकल्प उदा। कृत्रिम तंत्रिका नेटवर्क या के-निकटतम पड़ोसियों। यदि विशेषताएं अच्छी हैं, तो एमएल एल्गोरिदम की पसंद इससे कोई फर्क नहीं पड़ेगी।

विषय पर साहित्य:

  • Computer Vision - Algorithms an Applications व्यवहार करता है चेहरे का पता लगाने, चेहरा पहचानने और मशीन सीखने (कई अन्य विषयों के अलावा)। यह काफी नया है इसलिए यह नवीनतम शोध को शामिल करता है। इसमें एक महान ग्रंथसूची भी है।
  • Template Matching Techniques in Computer Vision गहराई से, पहचान पहचानने के लिए टेम्पलेट मिलान दृष्टिकोण का इलाज करता है।
  • और आप Google विद्वान का उपयोग करके बहुत सारे शोध लेख पा सकते हैं।
3

Principal Component Analysis पैटर्न पहचान प्रणाली के आधार पर facial recognition है।

+2

मैं कहूंगा कि मुख्य घटक विश्लेषण चेहरा पहचान में एक तकनीक का उपयोग है। हालांकि पीसीए उपयोगी है, सभी चेहरा पहचान समाधान पीसीए का उपयोग नहीं करते हैं। – Predictor

संबंधित मुद्दे