विषयसूची:

ओपनसीवी चेहरा पहचान: 4 कदम
ओपनसीवी चेहरा पहचान: 4 कदम

वीडियो: ओपनसीवी चेहरा पहचान: 4 कदम

वीडियो: ओपनसीवी चेहरा पहचान: 4 कदम
वीडियो: Face Recognition Python Project | Face Detection Using OpenCV Python - Complete Tutorial 2024, नवंबर
Anonim
ओपनसीवी चेहरा पहचान
ओपनसीवी चेहरा पहचान

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

इस प्रोजेक्ट में, मैं आपको बताऊंगा कि रास्पबेरी पाई का उपयोग करके चेहरे की पहचान कैसे करें और हमने व्यक्ति का नाम प्रदर्शित करने के लिए arduino+Lcd का उपयोग किया है।

चरण 1: चीजें जो आपको चाहिए

तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी
तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी

1.रास्पबेरी पीआई

2.आर्डिनो यूएनओ / नैनो

3.16x2 एलसीडी डिस्प्ले

4. RASPI-CAMERA / WEBcam (बेहतर परिणामों के लिए मुझे वेबकैम पसंद है)

चरण 2: ओपनसीवी-परिचय और स्थापना

ओपनसीवी-परिचय और स्थापना
ओपनसीवी-परिचय और स्थापना

OpenCV (ओपन सोर्स कंप्यूटर विज़न लाइब्रेरी) एक बहुत ही उपयोगी लाइब्रेरी है - यह टेक्स्ट रिकग्निशन, फेस रिकग्निशन, ऑब्जेक्ट डिटेक्शन, डेप्थ मैप्स का निर्माण और मशीन लर्निंग जैसी कई उपयोगी सुविधाएँ प्रदान करती है।

यह लेख आपको दिखाएगा कि रास्पबेरी पाई पर ओपनसीवी और अन्य पुस्तकालयों को कैसे स्थापित किया जाए जो ऑब्जेक्ट डिटेक्शन और अन्य प्रोजेक्ट करते समय काम आएगा। वहां से, हम सीखेंगे कि ऑब्जेक्ट रिकग्निशन और मशीन लर्निंग प्रोजेक्ट को निष्पादित करके इमेज और वीडियो ऑपरेशंस कैसे करें। विशेष रूप से, हम एक छवि में चेहरों का पता लगाने के लिए एक सरल कोड लिखेंगे।

ओपनसीवी क्या है?

OpenCV एक ओपन सोर्स कंप्यूटर विजन और मशीन लर्निंग सॉफ्टवेयर लाइब्रेरी है। ओपनसीवी एक बीएसडी लाइसेंस के तहत जारी किया गया है जो इसे अकादमिक और व्यावसायिक उपयोग दोनों के लिए निःशुल्क बनाता है। इसमें C++, Python और Java इंटरफेस हैं और यह Windows, Linux, Mac OS, iOS और Android को सपोर्ट करता है। OpenCV को कम्प्यूटेशनल दक्षता और वास्तविक समय के अनुप्रयोगों पर एक मजबूत फोकस के लिए डिज़ाइन किया गया था।

रास्पबेरी पाई पर ओपनसीवी कैसे स्थापित करें?

OpenCV को स्थापित करने के लिए, हमें Python को स्थापित करना होगा। चूंकि रास्पबेरी पाई पायथन के साथ पहले से लोड है, हम सीधे ओपनसीवी स्थापित कर सकते हैं।

यह सुनिश्चित करने के लिए कि आपका रास्पबेरी पाई अप टू डेट है और अपने रास्पबेरी पाई पर स्थापित पैकेजों को नवीनतम संस्करणों में अपडेट करने के लिए नीचे दिए गए कमांड टाइप करें।

सुडो एपीटी-अपडेट प्राप्त करेंसुडो एपीटी-अपग्रेड प्राप्त करें

अपने रास्पबेरी पाई पर ओपनसीवी के लिए आवश्यक पैकेज स्थापित करने के लिए टर्मिनल में निम्नलिखित कमांड टाइप करें।

sudo apt libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4 स्थापित करें

अपने रास्पबेरी पाई पर पायथन 3 के लिए ओपनसीवी 3 स्थापित करने के लिए निम्न कमांड टाइप करें, पीआईपी 3 हमें बताता है कि ओपनसीवी पायथन 3 के लिए स्थापित हो जाएगा।

sudo pip3 opencv-contrib-python libwebp6 स्थापित करें

अब, OpenCV स्थापित किया जाना चाहिए।

(यदि कोई त्रुटि हुई हो: फिर भी आप नीचे दिए गए लिंक का अनुसरण करके ऐसा कर सकते हैं

https://www.instructables.com/id/Raspberry-Pi-Hand…)

अब जल्दी मत करो हमें यह जांचना होगा कि यह ठीक से स्थापित किया गया था या नहीं

इसके द्वारा अपने opencv का परीक्षण करें:

1. अपने टर्मिनल पर जाएं और "पायथन" टाइप करें

2.फिर "import cv2" टाइप करें।

3.फिर "cv2._version_" टाइप करें।

फिर इन पुस्तकालयों को स्थापित करें

pip3 अजगर-सुन्न स्थापित करें

pip3 अजगर-matplotlib स्थापित करें

किसी छवि में चेहरों का पता लगाने के लिए परीक्षण कोड:

आयात cv2

faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml");

छवि = cv2.imread('आपकी फ़ाइल का नाम') #example cv2.imread('home/pi/Desktop/filename.jpg')

आपको आउटपुट मिलेगा जैसे कि तस्वीर में मौजूद लोगों के चेहरों पर एक चौकोर बक्से बने हैं।

चरण 3: रीयल टाइम वीडियो में चेहरे का पता लगाना और पहचानना

आयात cv2

np. के रूप में numpy आयात करें

आयात ओएस

आयात धारावाहिक

ser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) # /dev/ttyACM0 आपके मामले में बदल सकता है, arduino पर निर्भर करता है

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier(cascadePath)

पहचानकर्ता = cv2.face.createLBPHFaceRecognizer ()

छवियां =

लेबल=

os.listdir ('डेटासेट') में फ़ाइल नाम के लिए:

im=cv2.imread('डेटासेट/'+फ़ाइल नाम, 0)

छवियां। संलग्न करें (आईएम)

लेबल.एपेंड (int(filename.split('.')[0][0]))

#प्रिंट फ़ाइल नाम

name_file=open('labels.txt')

name=names_file.read().split('\n')

पहचानकर्ता। ट्रेन (छवियां, एनपी। सरणी (लेबल))

प्रिंट 'ट्रेनिंग हो गया।.. '

फ़ॉन्ट = cv2. FONT_

HERSHEY_SIMPLEXcap=cv2. VideoCapture(1) # आपका वीडियो डिवाइस

lastRes=''गिनती=0

जबकि(1):

_, फ्रेम = कैप। पढ़ें ()

ग्रे=cv2.cvtColor(फ्रेम, cv2. COLOR_BGR2GRAY)

चेहरे = faceCascade.detectMultiScale(ग्रे, १.३, ५)

गिनती+=1

फलकों में (x, y, w, h) के लिए:

cv2.rectangle(फ्रेम, (x, y), (x+w, y+h), (255, 0, 0), 2)

अगर गिनती> 20: रेस = नाम [पहचानकर्ता। भविष्यवाणी (ग्रे [वाई: वाई + एच, एक्स: एक्स + डब्ल्यू]) -1]

अगर res!=lastRes:

lastRes=res

अंतिम प्रिंट प्रिंट करें

ser.write(lastRes)

गिनती = 0

टूटना

cv2.imshow ('फ्रेम', फ्रेम)

के = 0xFF और cv2.waitKey(10)

अगर कश्मीर == 27:

टूटना

कैप.रिलीज ()

सेर.क्लोज़ ()

cv2.destroyAllWindows ()

चरण 4: कोड चलाना

कोड चलाना
कोड चलाना

1. पिछले चरण में संलग्न फाइलों को डाउनलोड करें

2. अपने धूसर फ़ोटो (6 चित्र/नमूने…..) को अपने डेटासेट फ़ोल्डर में कॉपी करें

1.टॉम क्रूज़ 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (अधिक खुले डेटासेट फ़ोल्डर के लिए डेटा सेट छवि संख्या)

2. ब्रैड पिट-2_1, 2_2, 2_3, 2_4, 2_5, 2_6

3. सिंह-3_1, 3_2, 3_3, 3_4, 3_5, 3_6

4. आयरनमैन4_1, 4_2, 4_3, 4_4, 4_5, 4_6

उपरोक्त की तरह आप संबंधित व्यक्तियों के लिए लेबल जोड़ सकते हैं,

इसलिए यदि पाई 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 के बीच किसी भी चेहरे का पता लगाता है, तो इसे टॉम क्रूज़ के रूप में लेबल किया गया था, इसलिए कृपया तस्वीरें अपलोड करते समय सावधान रहें ……………

और फिर अपने arduino को अपने रास्पबेरी पाई से कनेक्ट करें और main.py codeser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) में परिवर्तन करें। सभी डाउनलोड की गई फ़ाइलें (main.py, डेटासेट फ़ोल्डर) डालें, एक फ़ोल्डर में haarcascade_frontalface_default.xml।)

3.अब रास्पि-टर्मिनल खोलें "sudo python main.py" द्वारा अपना कोड चलाएं

सिफारिश की: