সুচিপত্র:
- ধাপ 1: একটি রিয়েল টাইম ভিডিওতে মুখ সনাক্ত করা
- ধাপ 2: আপনার নমুনা চিত্র প্রশিক্ষণ
- ধাপ 3: মুখ সনাক্ত করা
ভিডিও: ওপেনসিভি মুখ সনাক্তকরণ, প্রশিক্ষণ এবং স্বীকৃতি: 3 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
ওপেনসিভি একটি ওপেন সোর্স কম্পিউটার ভিশন লাইব্রেরি যা প্রাথমিক চিত্র প্রক্রিয়াকরণের কাজ যেমন অস্পষ্টতা, ইমেজ ব্লেন্ডিং, ইমেজ বাড়ানোর পাশাপাশি ভিডিও কোয়ালিটি, থ্রেশহোল্ডিং ইত্যাদি করার জন্য খুবই জনপ্রিয়, ইমেজ প্রসেসিং ছাড়াও এটি বিভিন্ন প্রাক-প্রশিক্ষিত গভীর শিক্ষা প্রদান করে মডেলগুলি যা সরাসরি হাতে সহজ কাজগুলি সমাধান করতে ব্যবহার করা যেতে পারে।
ওপেনসিভি ইনস্টলেশনের জন্য এই লিঙ্কটি ব্যবহার করুন
www.instructables.com/id/Opencv-and-Python…
ধাপ 1: একটি রিয়েল টাইম ভিডিওতে মুখ সনাক্ত করা
আপনি অনেক মুখ সনাক্তকরণ প্রোগ্রামের জন্য গুগলে অনুসন্ধান করতে পারেন এবং সনাক্ত করা মুখগুলি একটি ফোল্ডারে সংরক্ষণ করা উচিত যেমন প্রশিক্ষণ এবং লেবেলিংয়ের মতো আরও চিত্র প্রক্রিয়াকরণের জিনিস। আমরা 30 টি নমুনা সংগ্রহ করতে যাচ্ছি
আমদানি cv2
np হিসাবে numpy আমদানি করুন
import os import sys
ক্যামেরা = cv2। ভিডিও ক্যাপচার (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #আপনার হারকাসকেড ফাইল পাথ যোগ করুন
নাম = raw_input ("তার নাম কি?")
#সমস্ত ফাইল ব্যবহারকারী/প্রসাদ/নথি/চিত্র ফোল্ডারের অধীনে সংরক্ষণ করা হবে
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] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("face", roiGray) cv2.rectangle (ফ্রেম, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2. WaitKey (1)
যদি কী == 27:
বিরতি
#camera.release ()
cv2.destroyAllWindows ()
ধাপ 2: আপনার নমুনা চিত্র প্রশিক্ষণ
ফেস ডিটেকশন সম্পন্ন হওয়ার পর আমরা ছবিগুলি প্রশিক্ষণের জন্য যেতে পারি
পিআইএল আমদানি থেকে np হিসাবে osimport numpy আমদানি করুন চিত্র আমদানি cv2 আমদানি আচার #import সিরিয়াল
#ser = serial. Serial ('/dev/ttyACM0', 9600, সময়সীমা = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
সনাক্তকারী = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ file_))
#ইমেজ ফোল্ডারের নীচে ছবিগুলি প্রশিক্ষণ দিন
imageDir = os.path.join (baseDir, "ইমেজ")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("প্রশিক্ষণ ….."। এনকোড ())
os.walk (imageDir) এ রুট, dirs, ফাইলের জন্য:
ফাইলে ফাইলের জন্য প্রিন্ট (রুট, ডাইরস, ফাইল): প্রিন্ট (ফাইল) যদি file.endswith ("png") অথবা file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) প্রিন্ট (লেবেল)
যদি লেবেল আইডিতে লেবেল না থাকে:
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (path).convert ("L") imageArray = np.array (pilImage, "uint8") face = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbours = 5)
মুখে (x, y, w, h) জন্য:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
খোলা ("লেবেল", "wb") হিসাবে f:
pickle.dump (labelIds, f) f.close ()
identizer.train (xTrain, np.array (yLabels))
identizer.save ("trainer.yml") প্রিন্ট (labelIds)
ধাপ 3: মুখ সনাক্ত করা
প্রশিক্ষণ শেষ হওয়ার পর এখন আপনি নিচের কোডটি চালাতে পারেন যাতে এটি আপনার প্রশিক্ষিত মুখগুলিকে চিনতে শুরু করে
আমদানি osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi।
খোলা ('লেবেল', 'আরবি') হিসাবে f:
dicti = pickle.load (f) f.close ()
ক্যামেরা = cv2। ভিডিও ক্যাপচার (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
শনাক্তকারী = cv2.face. LBPHFaceRecognizer_create () identizer.read ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
শেষ = ''
#camera.capture_continuous (rawCapture, format = "bgr", use_video_port = true) ফ্রেমে
সত্য যখন: ret, frame = camera.read () ধূসর = cv2.cvtColor (ফ্রেম, cv2. COLOR_BGR2GRAY) face = faceCascade.detectMultiScale (ধূসর, স্কেলফ্যাক্টর = 1.5, minNeighbours = 5) for (x, y, w, h) মুখে: roiGray = ধূসর [y: y+h, x: x+w]
id_, conf = identizer.predict (roiGray)
নামের জন্য, dicti.items () এর মান:
if value == id_: print (name) cv2.putText (frame, name, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) যদি name! = last: last = নাম যদি conf <= 70: cv2.rectangle (ফ্রেম, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('ফ্রেম', ফ্রেম)
কী = cv2.waitKey (1)
যদি কী == 27:
ব্রেক cv2.destroyAllWindows ()
প্রস্তাবিত:
কম্পিউটার ভিশন (ওপেনসিভি) ব্যবহার করে তারকা স্বীকৃতি: 11 টি ধাপ (ছবি সহ)
কম্পিউটার ভিশন (ওপেনসিভি) ব্যবহার করে স্টার রিকগনিশন: এই নির্দেশনাটি আপনাকে বর্ণনা করবে কিভাবে একটি ইমেজের স্টার প্যাটার্ন স্বয়ংক্রিয়ভাবে চিহ্নিত করার জন্য কম্পিউটার ভিশন প্রোগ্রাম তৈরি করতে হয়। পদ্ধতিটি ওপেনসিভি (ওপেন-সোর্স কম্পিউটার ভিশন) লাইব্রেরি ব্যবহার করে প্রশিক্ষিত এইচএএআর ক্যাসকেডের একটি সেট তৈরি করতে পারে যা হতে পারে
মুখ সনাক্তকরণ এবং সনাক্তকরণ - OpenCV পাইথন এবং Arduino ব্যবহার করে Arduino ফেস আইডি: 6 ধাপ
মুখ সনাক্তকরণ এবং সনাক্তকরণ | ওপেনসিভি পাইথন এবং আরডুইনো ব্যবহার করে আরডুইনো ফেস আইডি: মুখের স্বীকৃতি AKA ফেস আইডি আজকাল মোবাইল ফোনের অন্যতম গুরুত্বপূর্ণ বৈশিষ্ট্য। সুতরাং, আমার একটি প্রশ্ন ছিল " আমি কি আমার আরডুইনো প্রকল্পের জন্য একটি ফেস আইডি রাখতে পারি " এবং উত্তর হল হ্যাঁ … আমার যাত্রা নিম্নরূপ শুরু হয়েছিল: ধাপ 1: আমাদের প্রবেশাধিকার
মুখ সনাক্তকরণ+স্বীকৃতি: 8 টি ধাপ (ছবি সহ)
মুখ সনাক্তকরণ+স্বীকৃতি: এটি একটি ক্যামেরা থেকে ওপেনসিভি দিয়ে মুখ সনাক্তকরণ এবং স্বীকৃতি চালানোর একটি সহজ উদাহরণ। দ্রষ্টব্য: আমি সেন্সর প্রতিযোগিতার জন্য এই প্রকল্পটি তৈরি করেছি এবং ক্যামেরাটি ব্যবহার করেছি সেন্সর হিসাবে ট্র্যাক এবং রিকগনিশন ফেসেসের জন্য, সুতরাং, আমাদের লক্ষ্য এই সেশনে, 1. অ্যানাকোন্ডা ইনস্টল করুন
রাস্পবেরি পাই জিরো এবং ওপেনসিভি দিয়ে মুখ এবং চোখ সনাক্তকরণ: 3 টি ধাপ
রাস্পবেরি পাই জিরো এবং ওপেনসিভি দিয়ে মুখ এবং চোখ সনাক্তকরণ: এই নির্দেশে আমি দেখাবো কিভাবে আপনি রাস্পবেরি পাই এবং ওপেনসিভি ব্যবহার করে মুখ এবং চোখ সনাক্ত করতে পারেন। এটি ওপেনসিভিতে আমার প্রথম নির্দেশযোগ্য। আমি রাস্পবেরিতে খোলা সিভি সেট আপ করার জন্য অনেক টিউটোরিয়াল অনুসরণ করেছি কিন্তু প্রতিবারই কিছু ত্রুটি পেয়েছি। যাই হোক আমি
টেক্সাস বড় মুখ - 3D মুখ অভিক্ষেপ কিভাবে: 10 ধাপ (ছবি সহ)
টেক্সাস বিগ ফেস - 3D ফেস প্রজেকশন কিভাবে: " জীবন্ত মূর্তি তৈরি করুন " ভাস্কর্যগুলিতে আপনার মুখ তুলে ধরার মাধ্যমে। কিভাবে: By ডেভিড সাদারল্যান্ড, কার্ক মোরেনো গ্রাফিতি রিসার্চ ল্যাব হিউস্টনের সহযোগিতায়* বেশ কিছু মন্তব্য বলেছে কিছু অডিও সমস্যা আছে। এটাই