विषयसूची:
- चरण 1: रीयल टाइम वीडियो में चेहरे का पता लगाना
- चरण 2: अपनी नमूना छवियों का प्रशिक्षण
- चरण 3: चेहरों को पहचानना
वीडियो: ओपनसीवी फेस डिटेक्शन, ट्रेनिंग एंड रिकग्निशन: 3 स्टेप्स
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
ओपनसीवी एक ओपन सोर्स कंप्यूटर विज़न लाइब्रेरी है जो बुनियादी छवि प्रसंस्करण कार्यों जैसे धुंधलापन, छवि सम्मिश्रण, छवि को बढ़ाने के साथ-साथ वीडियो की गुणवत्ता, थ्रेशोल्डिंग आदि करने के लिए बहुत लोकप्रिय है। छवि प्रसंस्करण के अलावा, यह विभिन्न पूर्व-प्रशिक्षित गहन शिक्षण प्रदान करता है। मॉडल जो सीधे हाथ में सरल कार्यों को हल करने के लिए उपयोग किए जा सकते हैं।
ओपनसीवी इंस्टॉलेशन के लिए इस लिंक का उपयोग करें
www.instructables.com/id/Opencv-and-Python…
चरण 1: रीयल टाइम वीडियो में चेहरे का पता लगाना
आप कई फेस डिटेक्शन प्रोग्राम के लिए Google पर खोज कर सकते हैं और पहचाने गए चेहरों को आगे की इमेज प्रोसेसिंग चीजों जैसे ट्रेनिंग और लेबलिंग के लिए एक फोल्डर में सेव किया जाना चाहिए। हम 30 नमूने एकत्र करने जा रहे हैं
आयात cv2
np. के रूप में numpy आयात करें
आयात ओएस आयात sys
कैमरा = cv2.वीडियो कैप्चर (0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml") # अपना harcascade फ़ाइल पथ जोड़ें
नाम = कच्चा_इनपुट ("उसका नाम क्या है?")
#सभी फ़ाइलें उपयोगकर्ता/प्रसाद/दस्तावेज़/छवि फ़ोल्डर के अंतर्गत सहेजी जाएंगी
dirName = "/ उपयोगकर्ता/प्रसाद/दस्तावेज़/छवियां/" + नाम
प्रिंट (dirName) यदि नहीं os.path.exists (dirName): os.makedirs (dirName) प्रिंट ("निर्देशिका बनाई गई") अन्य: प्रिंट ("नाम पहले से मौजूद है") sys.exit ()
गिनती = 1
#हम 30 सैंपल लेने जा रहे हैं
जबकि गिनती 30: ब्रेक # फ्रेम = फ्रेम। सरणी ग्रे = cv2.cvtColor (फ्रेम, cv2. COLOR_BGR2GRAY) चेहरे = faceCascade.detectMultiScale (ग्रे, 1.5, 5) (x, y, w, h) चेहरों में: roiGray = ग्रे [y:y+h, x:x+w] फ़ाइल का नाम = dirName + "/" + नाम + str(गिनती) + ".jpg" cv2.imwrite(fileName, roiGray) cv2.imshow("face", roiGray) cv2.rectangle(फ्रेम, (x, y), (x+w, y+h), (0, 255, 0), 2) काउंट += 1 cv2.imshow('frame', फ्रेम) key = cv2.वेटकी(1)
अगर कुंजी == 27:
टूटना
#कैमरा.रिलीज़ ()
cv2.destroyAllWindows ()
चरण 2: अपनी नमूना छवियों का प्रशिक्षण
फेस डिटेक्शन पूरा होने के बाद हम छवियों के प्रशिक्षण के लिए जा सकते हैं
पीआईएल आयात से एनपी के रूप में osimport numpy आयात करें छवि आयात cv2 आयात अचार # आयात सीरियल
#ser = सीरियल। सीरियल ('/ dev/ttyACM0', 9600, टाइमआउट = 1)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml")
पहचानकर्ता = cv2.face. LBHFaceRecognizer_create ()
बेसडिर = os.path.dirname(os.path.abspath(_file_))
#इमेज फोल्डर के तहत इमेज को ट्रेन करें
imageDir = os.path.join(baseDir, "images")
वर्तमान आईडी = 1
लेबलआईड्स = {} yLabels = xTrain = #ser.write("प्रशिक्षण…..".एन्कोड ())
os.walk (imageDir) में रूट, डीआईआर, फाइलों के लिए:
फाइलों में फाइल के लिए प्रिंट (रूट, डीआईआर, फाइल): प्रिंट (फाइल) अगर फाइल.एंड्सविथ ("पीएनजी") या फाइल.एंड्सविथ ("जेपीजी"): पथ = ओएस.पथ। जॉइन (रूट, फाइल) लेबल = os.path.basename(root) प्रिंट (लेबल)
यदि लेबल आईडी में लेबल नहीं है:
लेबल आईडी [लेबल] = वर्तमान आईडी प्रिंट (लेबल आईडी) वर्तमान आईडी + = 1
आईडी_ = लेबल आईडी [लेबल]
pilImage = Image.open(path).convert("L") imageArray = np.array(pilImage, "uint8") face = faceCascade.detectMultiScale(imageArray, scaleFactor=1.1, minNeighbors=5)
फलकों में (x, y, w, h) के लिए:
roi = imageArray[y:y+h, x:x+w] xTrain.append(roi) yLabels.append(id_)
f के रूप में खुले ("लेबल", "wb") के साथ:
अचार। डंप (लेबल आईडी, एफ) एफ। बंद करें ()
पहचानकर्ता.ट्रेन (xTrain, np.array(yLabels))
पहचानकर्ता.सेव ("ट्रेनर.वाईएमएल") प्रिंट (लेबल आईडी)
चरण 3: चेहरों को पहचानना
प्रशिक्षण समाप्त होने के बाद अब आप नीचे दिए गए कोड को चला सकते हैं ताकि यह आपके प्रशिक्षित चेहरों को पहचानना शुरू कर दे
आयात osos.environ['PYTHONINSPECT'] = 'चालू' आयात cv2 np आयात अचार के रूप में आयात numpy #import RPi. GPIO समय से GPIO आयात नींद से
f के रूप में खुले ('लेबल', 'आरबी') के साथ:
dicti = अचार। लोड (एफ) एफ। बंद करें ()
कैमरा = cv2.वीडियो कैप्चर (0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml")
पहचानकर्ता = cv2.face। LBPHFaceRecognizer_create ()
फ़ॉन्ट = cv2. FONT_HERSHEY_SIMPLEX
अंतिम = ''
# कैमरे में फ़्रेम के लिए
जबकि ट्रू: रिट, फ्रेम = कैमरा। रीड () ग्रे = cv2.cvtColor (फ्रेम, cv2. COLOR_BGR2GRAY) चेहरे = faceCascade.detectMultiScale (ग्रे, स्केलफैक्टर = 1.5, minNeighbors = 5) के लिए (x, y, w, h) चेहरों में: roiGray = धूसर[y:y+h, x:x+w]
id_, conf = पहचानकर्ता। भविष्यवाणी (roiGray)
नाम के लिए, dicti.items में मान ():
यदि मान == id_: प्रिंट (नाम) cv2.putText (फ्रेम, नाम, (x, y), फ़ॉन्ट, 2, (0, 0, 255), 2, cv2. LINE_AA) यदि नाम! = अंतिम: अंतिम = नाम अगर conf <= 70: cv2.rectangle(फ्रेम, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('फ्रेम', फ्रेम)
कुंजी = cv2.waitKey(1)
अगर कुंजी == 27:
cv2.destroyAllWindows को तोड़ें ()
सिफारिश की:
एबेलकाडाबरा (फेस रिकग्निशन डोर लॉक सिस्टम): 9 कदम
एबेलकाडाबरा (चेहरा पहचान दरवाज़ा बंद प्रणाली): संगरोध के दौरान इधर-उधर लेटते हुए, मैंने घर के दरवाजे के लिए चेहरा पहचान बनाकर समय को मारने का एक तरीका खोजने की कोशिश की। मैंने इसे एबेलकाडबरा नाम दिया - जो अब्रकदबरा के बीच संयोजन है, दरवाजे की घंटी के साथ एक जादू वाक्यांश जिसे मैं केवल घंटी लेता हूं। ज़ोर - ज़ोर से हंसना
फेस रिकग्निशन के साथ डोरबेल: 7 स्टेप्स (तस्वीरों के साथ)
डोरबेल विथ फेस रिकग्निशन: मोटिवेशन हाल ही में, मेरे देश में डकैतियों की एक लहर आई है, जो अपने ही घरों में बुजुर्ग लोगों को निशाना बना रही है। आमतौर पर, रहने वालों द्वारा स्वयं प्रवेश दिया जाता है क्योंकि आगंतुक उन्हें समझाते हैं कि वे देखभाल करने वाले / नर्स हैं। यह
फेस ट्रैकिंग और स्माइल डिटेक्शन हैलोवीन रोबोट्स: 8 स्टेप्स (चित्रों के साथ)
फेस ट्रैकिंग और स्माइल डिटेक्टिंग हैलोवीन रोबोट्स: हैलोवीन आ रहा है! हमने कुछ अच्छा बनाने का फैसला किया। मिलिए घोस्टी और स्कली रोबोट से। वे आपके चेहरे का अनुसरण कर सकते हैं और वे जानते हैं कि आप अपने साथ हंसने के लिए कब मुस्कुरा रहे हैं! यह प्रोजेक्ट iRobbie ऐप का उपयोग करने का एक और उदाहरण है जो iPhone int
रीयल-टाइम फेस रिकग्निशन: एक एंड-टू-एंड प्रोजेक्ट: 8 चरण (चित्रों के साथ)
रीयल-टाइम फेस रिकग्निशन: एक एंड-टू-एंड प्रोजेक्ट: ओपनसीवी की खोज करने वाले मेरे पिछले ट्यूटोरियल में, हमने स्वचालित दृष्टि वस्तु ट्रैकिंग सीखी। अब हम वास्तविक समय में चेहरों को पहचानने के लिए अपने PiCam का उपयोग करेंगे, जैसा कि आप नीचे देख सकते हैं: यह प्रोजेक्ट इस शानदार "ओपन सोर्स कंप्यूटर विज़न लाइब्रेरी&qu
रास्पबेरी पाई ज़ीरो और ओपनसीवी के साथ फेस और आई डिटेक्शन: 3 चरण
रास्पबेरी पाई ज़ीरो और ओपनसीवी के साथ फेस एंड आई डिटेक्शन: इस निर्देशयोग्य में मैं यह दिखाने जा रहा हूं कि आप रास्पबेरी पाई और ओपनसीवी का उपयोग करके चेहरे और आंख का पता कैसे लगा सकते हैं। यह opencv पर मेरा पहला निर्देश है। मैंने रास्पबेरी में ओपन सीवी सेट करने के लिए कई ट्यूटोरियल्स का पालन किया लेकिन हर बार कुछ त्रुटियों के साथ मारा। वैसे भी मैं