- आवश्यक शर्तें
- कैसे चेहरा पहचान OpenCV के साथ काम करता है
- OpenCV में कैस्केड क्लासिफायर का उपयोग करके चेहरे का पता लगाना
फेस रिकॉग्निशन तेजी से लोकप्रिय हो रहा है और हम में से ज्यादातर पहले से ही इसका इस्तेमाल कर रहे हैं और इसे महसूस किए बिना भी कर रहे हैं। यह एक साधारण फेसबुक टैग सुझाव या स्नैपचैट फ़िल्टर या एक उन्नत हवाई अड्डा सुरक्षा निगरानी हो, फेस रिकग्निशन ने पहले ही इसमें अपना जादू चला दिया है। चीन ने छात्रों की उपस्थिति और व्यवहार की निगरानी के लिए स्कूलों में फेस रिकॉग्निशन का उपयोग शुरू कर दिया है। रिटेल स्टोर्स ने अपने ग्राहकों को वर्गीकृत करने और धोखाधड़ी के इतिहास वाले लोगों को अलग करने के लिए फेस रिकॉग्निशन का उपयोग करना शुरू कर दिया है। बहुत अधिक परिवर्तनों के साथ, इसमें कोई संदेह नहीं है कि यह तकनीक निकट भविष्य में हर जगह देखी जाएगी।
इस ट्यूटोरियल में हम सीखेंगे कि कैसे हम रास्पबेरी पाई पर ओपनसीवी लाइब्रेरी का उपयोग करके अपने स्वयं के फेस रिकॉग्निशन सिस्टम का निर्माण कर सकते हैं । पोर्टेबल रास्पबेरी पाई पर इस प्रणाली को स्थापित करने का लाभ यह है कि आप इसे निगरानी प्रणाली के रूप में काम करने के लिए कहीं भी स्थापित कर सकते हैं। सभी फेस रिकॉग्निशन सिस्टम की तरह, ट्यूटोरियल में दो पायथन स्क्रिप्ट शामिल होंगी, एक एक ट्रेनर प्रोग्राम है जो किसी विशेष व्यक्ति की तस्वीरों के एक सेट का विश्लेषण करेगा और एक डाटासेट (YML फ़ाइल) बनाएगा। दूसरा प्रोग्राम रिकॉगनाइजर प्रोग्राम हैजो एक चेहरे का पता लगाता है और फिर चेहरे की पहचान करने और व्यक्ति के नाम का उल्लेख करने के लिए इस YML फ़ाइल का उपयोग करता है। दोनों प्रोग्राम जो हम यहां चर्चा करेंगे, वे रास्पबेरी पाई (लिनक्स) के लिए हैं, लेकिन बहुत कम बदलाव के साथ विंडोज कंप्यूटर पर भी काम करेंगे। हमारे पास OpenCV के साथ आरंभ करने के लिए शुरुआती के लिए पहले से ही ट्यूटोरियल की श्रृंखला है, आप यहां सभी OpenCV ट्यूटोरियल की जांच कर सकते हैं।
आवश्यक शर्तें
जैसा कि पहले बताया गया है कि हम चेहरे का पता लगाने और पहचानने के लिए ओपनसीवी लाइब्रेरी का उपयोग करेंगे। तो सुनिश्चित करें कि आप इस ट्यूटोरियल के साथ आगे बढ़ने से पहले पाई पर ओपनसीवी लाइब्रेरी स्थापित कर सकते हैं। इसके अलावा अपने पीए को 2 ए एडाप्टर के साथ पावर करें और इसे एचडीएमआई केबल के माध्यम से डिस्प्ले मॉनिटर से कनेक्ट करें क्योंकि हम एसएसएच से वीडियो आउटपुट प्राप्त नहीं कर पाएंगे।
इसके अलावा, मैं यह बताने वाला नहीं हूं कि OpenCV कैसे ठीक काम करता है, यदि आप छवि प्रसंस्करण सीखने में रुचि रखते हैं तो इस OpenCV मूल बातें और उन्नत छवि प्रसंस्करण ट्यूटोरियल देखें। आप इस इमेज सेगमेंटेशन ट्यूटोरियल में कंटोज, ब्लॉब डिटेक्शन आदि के बारे में भी जान सकते हैं।
कैसे चेहरा पहचान OpenCV के साथ काम करता है
शुरू करने से पहले, यह समझना जरूरी है कि फेस डिटेक्शन और फेस रिकॉग्निशन दो अलग चीजें हैं। में चेहरे की पहचान केवल एक व्यक्ति का चेहरा पता लगाया सॉफ्टवेयर कोई आइडिया व्यक्ति है कि जो होगा है। में चेहरा पहचान सॉफ्टवेयर केवल चेहरे का पता नहीं लगा होगा, लेकिन यह भी व्यक्ति पहचान लेंगे। अब, यह स्पष्ट होना चाहिए कि फेस रिकॉग्निशन करने से पहले हमें फेस डिटेक्शन करने की आवश्यकता है। मेरे लिए यह बताना संभव नहीं होगा कि OpenCV वास्तव में उस मामले के लिए किसी चेहरे या किसी अन्य वस्तु का पता कैसे लगाता है। इसलिए, यदि आप यह जानने के लिए उत्सुक हैं कि आप इस ऑब्जेक्ट डिटेक्शन ट्यूटोरियल का अनुसरण कर सकते हैं।
एक वेबकैम से एक वीडियो फ़ीड अभी भी छवियों को एक के बाद एक अपडेट किए जाने के लंबे अनुक्रम से ज्यादा कुछ नहीं है। और इन छवियों में से प्रत्येक अपने संबंधित स्थिति में एक साथ रखे गए विभिन्न मूल्यों के पिक्सल का एक संग्रह है। तो कैसे एक प्रोग्राम इन पिक्सेल से एक चेहरे का पता लगा सकता है और आगे इसमें व्यक्ति को पहचान सकता है? इसके पीछे बहुत सारे एल्गोरिदम हैं और उन्हें समझाने की कोशिश करना इस लेख के दायरे से परे है, लेकिन चूंकि हम OpenCV लाइब्रेरी का उपयोग कर रहे हैं, इसलिए यह बहुत सरल है कि चेहरे की अवधारणाओं को पहचानने के बिना चेहरे की पहचान करना बहुत आसान है।
OpenCV में कैस्केड क्लासिफायर का उपयोग करके चेहरे का पता लगाना
केवल अगर हम एक चेहरे का पता लगाने में सक्षम हैं तो हम इसे पहचान पाएंगे या इसे याद रख पाएंगे। किसी वस्तु का पता लगाने के लिए जैसे फेस ओपनसीवी क्लासीफायर नामक किसी चीज का उपयोग करता है। ये क्लासिफायर डेटा (एक्सएमएल फ़ाइल) के पूर्व-प्रशिक्षित सेट हैं जिनका उपयोग हमारे मामले में किसी विशेष वस्तु का पता लगाने के लिए किया जा सकता है। आप यहां फेस डिटेक्शन क्लासिफायर के बारे में अधिक जान सकते हैं। फेस का पता लगाने के अलावा, क्लासिफायर अन्य ऑब्जेक्ट्स जैसे नाक, आंख, व्हीकल लाइसेंस प्लेट, स्माइल आदि का पता लगा सकता है। केस क्लासीफायर की सूची नीचे दी गई ज़िप फाइल से डाउनलोड की जा सकती है।
पायथन में ऑब्जेक्ट डिटेक्शन के लिए क्लासीफायर
वैकल्पिक रूप से OpenCV आपको अपना स्वयं का क्लासिफायर बनाने की भी अनुमति देता है जिसका उपयोग आपके कैस्केड क्लासीफायर को प्रशिक्षित करके एक छवि में किसी अन्य वस्तु का पता लगाने के लिए किया जा सकता है। इस ट्यूटोरियल में हम "haarcascade_frontalface_default.xml" नामक एक क्लासिफायर का उपयोग करेंगे, जो सामने की स्थिति से चेहरे का पता लगाएगा। हम देख लेंगे