Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 9.95 KB

README.Hindi.md

File metadata and controls

94 lines (60 loc) · 9.95 KB

चेहरे-अभिव्यक्ति-पहचान

यह YouTube पर रितेश द्वारा बनाए गए इस वीडियो का कोड है।

फेशियल एक्सप्रेशन या फेशियल इमोशन डिटेक्टर का उपयोग केवल उसके चेहरे से यह जानने के लिए किया जा सकता है कि कोई व्यक्ति दुखी, खुश, क्रोधित आदि है या नहीं। इस रिपॉजिटरी का उपयोग ऐसे कार्य को करने के लिए किया जा सकता है। यह आपके वेबकैमरा का उपयोग करता है और फिर वास्तविक समय में आपकी अभिव्यक्ति की पहचान करता है। हाँ वास्तविक समय में!

योजना

यह तीन चरणों वाली प्रक्रिया है. सबसे पहले, हम चेहरों की उपस्थिति का पता लगाने के लिए XML फ़ाइल लोड करते हैं और फिर हम अपने नेटवर्क को पांच अलग-अलग श्रेणियों में अपनी छवि के साथ पुनः प्रशिक्षित करते हैं। उसके बाद, हम अंतिम वीडियो से label_image.py प्रोग्राम आयात करते हैं और वास्तविक समय में सब कुछ सेट करते हैं।

निर्भरताएं

यदि आपने इन्हें पहले से इंस्टॉल नहीं किया है तो सीएमडी/टर्मिनल में निम्नलिखित को हिट करें:

pip install tensorflow
pip install opencv-python

अभी के लिए बस इतना ही।

तो आइए प्रत्येक चरण पर एक संक्षिप्त नज़र डालें।

चरण 1 - ओपनसीवी हार कैस्केड का कार्यान्वयन

मैं वेबकैम में चेहरे की उपस्थिति का पता लगाने के लिए "फ्रंटल फेस ऑल्ट" क्लासिफायर का उपयोग कर रहा हूं। यह फ़ाइल इस रिपॉजिटरी के साथ शामिल है। आप अन्य क्लासिफायर यहां पा सकते हैं।

इसके बाद, हमारे पास इस फ़ाइल को लोड करने का कार्य है, जिसे label.py प्रोग्राम में पाया जा सकता है। जैसे:

# We load the xml file
classifier = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')

अब सब कुछ Label.py प्रोग्राम से सेट किया जा सकता है। तो चलिए अगले चरण पर चलते हैं।

चरण 2 - नेटवर्क को पुनः प्रशिक्षित करना - टेन्सरफ्लो इमेज क्लासिफायर

हम एक इमेज क्लासिफायरियर बनाने जा रहे हैं जो पहचानता है कि कोई व्यक्ति दुखी है, खुश है या नहीं और फिर इस टेक्स्ट को ओपनसीवी विंडो पर दिखाएं। इस चरण में कई उप चरण शामिल होंगे:

  • हमें सबसे पहले इमेजेज नाम से एक डायरेक्टरी बनानी होगी। इस निर्देशिका में हैप्पी, सैड, एंग्री, शांत और न्यूट्रल जैसे नामों से पांच या छह उप निर्देशिकाएं बनाएं। आप इससे अधिक भी जोड़ सकते हैं.

  • अब इन निर्देशिकाओं को इंटरनेट से डाउनलोड करके संबंधित छवियों से भरें। उदाहरण के लिए, "खुश" निर्देशिका में, केवल उन व्यक्तियों की संख्या भरें जो खुश हैं।

  • अब वीडियो में सुझाए अनुसार "face-crop.py" प्रोग्राम चलाएं

  • एक बार जब आप केवल छवियां साफ कर लेते हैं, तो आप नेटवर्क को फिर से प्रशिक्षित करने के लिए तैयार हैं। इस उद्देश्य के लिए मैं मोबाइलनेट मॉडल का उपयोग कर रहा हूं जो काफी तेज़ और सटीक है। प्रशिक्षण चलाने के लिए, मूल फ़ोल्डर पर क्लिक करें और यहां सीएमडी/टर्मिनल खोलें और निम्नलिखित पर क्लिक करें:

    python retrain.py --output_graph=retrained_graph.pb --output_labels=retrained_labels.txt --architecture=MobileNet_1.0_224 --image_dir=images
    

इस चरण के लिए बस इतना ही.

चरण 3 - पुनः प्रशिक्षित मॉडल को आयात करना और सब कुछ सेट करना

अंत में, मैंने सब कुछ "label_image.py" फ़ाइल के अंतर्गत डाल दिया है जहाँ से आप सब कुछ प्राप्त कर सकते हैं। अब CMD/टर्मिनल में निम्नलिखित टाइप करके "label.py" प्रोग्राम चलाएँ:

python label.py

यह OpenCV की एक नई विंडो खोलेगा और फिर आपके चेहरे के भाव की पहचान करेगा। अब हमारा काम हो गया!

योगदान दिशानिर्देश

"चेहरे की अभिव्यक्ति-पहचान" परियोजना में योगदान देने पर विचार करने के लिए धन्यवाद!

शुरू करना

  1. रिपॉजिटरी को फोर्क करें: योगदान देने के लिए, मुख्य रिपॉजिटरी को अपने GitHub खाते में फोर्क करें।

  2. रिपॉजिटरी को क्लोन करें: अपनी फोर्कड रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन करें:

git clone https://github.com/MauryaRitesh/Facial-Expression-Detection.git
  1. विकास परिवेश स्थापित करें: यदि आपने पहले से आवश्यक निर्भरताएँ स्थापित नहीं की हैं। आप निम्न आदेश चलाकर ऐसा कर सकते हैं:
pip install tensorflow
pip install opencv-python
  1. एक शाखा बनाएं: अपने योगदान के लिए एक नई शाखा बनाएं। शाखा के लिए एक वर्णनात्मक नाम चुनें जो आपके योगदान की प्रकृति को दर्शाता हो।
git checkout -b feature/your-feature-name

5.अपने परिवर्तन करें: अपनी शाखा में आवश्यक परिवर्तन और परिवर्धन करें।

  1. अपने परिवर्तन प्रतिबद्ध करें: स्पष्ट, संक्षिप्त और अच्छी तरह से प्रलेखित प्रतिबद्ध संदेश बनाएं। किसी भी प्रासंगिक मुद्दे का संदर्भ लें या अपनी प्रतिबद्धताओं में अनुरोध खींचें।
git commit -m "Add new feature"
  1. अपने परिवर्तन पुश करें: अपनी शाखा को अपने GitHub रिपॉजिटरी में पुश करें:
git push origin feature/your-feature-name
  1. एक पुल अनुरोध बनाएं: अपने फोर्कड रिपॉजिटरी से मुख्य रिपॉजिटरी तक एक पुल अनुरोध बनाएं।

यदि आपको कुछ दिलचस्प लगे तो कृपया इस रेपो को तारांकित करें। <3