সুচিপত্র:

ওপেনসিভি ফেস রিকগনিশন: 4 টি ধাপ
ওপেনসিভি ফেস রিকগনিশন: 4 টি ধাপ

ভিডিও: ওপেনসিভি ফেস রিকগনিশন: 4 টি ধাপ

ভিডিও: ওপেনসিভি ফেস রিকগনিশন: 4 টি ধাপ
ভিডিও: How To Create a Face Recognition App in Android Studio||Face Detect App|| android ml tutorial 2024, নভেম্বর
Anonim
ওপেনসিভি ফেস রিকগনিশন
ওপেনসিভি ফেস রিকগনিশন

স্মার্ট ফোন, অনেক ইলেকট্রনিক গ্যাজেটের মতো অনেক অ্যাপ্লিকেশনে এখন মুখের স্বীকৃতি বেশ সাধারণ বিষয়। এই ধরণের প্রযুক্তিতে প্রচুর অ্যালগরিদম এবং সরঞ্জাম ইত্যাদি জড়িত। যা রাস্পবেরি পাই এবং ওপেন সোর্স কম্পিউটার ভিশনের মতো কিছু এমবেডেড এসওসি প্ল্যাটফর্ম ব্যবহার করে ওপেনসিভির মতো লাইব্রেরি, আপনি এখন আপনার নিজের অ্যাপ্লিকেশনে মুখের স্বীকৃতি যোগ করতে পারেন, যেমন নিরাপত্তা ব্যবস্থা।

এই প্রকল্পে, আমি আপনাকে রাস্পবেরি পাই ব্যবহার করে মুখের স্বীকৃতি কীভাবে তৈরি করতে হয় তা বলব এবং আমরা ব্যক্তির নাম প্রদর্শন করতে arduino+Lcd ব্যবহার করেছি..

ধাপ 1: আপনার প্রয়োজনীয় জিনিসগুলি

জিনিস আপনার প্রয়োজন
জিনিস আপনার প্রয়োজন

1. রাস্পবেরি পিআই

2. আরডুইনো ইউএনও / ন্যানো

3.16x2 এলসিডি ডিসপ্লে

4. রাস্পি-ক্যামেরা / ওয়েবক্যাম (আমি ভাল ফলাফলের জন্য ওয়েবক্যাম পছন্দ করি)

পদক্ষেপ 2: ওপেনসিভি-ইন্ট্রো এবং ইনস্টলেশন

ওপেনসিভি-ইন্ট্রো এবং ইনস্টলেশন
ওপেনসিভি-ইন্ট্রো এবং ইনস্টলেশন

ওপেনসিভি (ওপেন সোর্স কম্পিউটার ভিশন লাইব্রেরি) একটি খুব দরকারী লাইব্রেরি - এটি অনেক দরকারী বৈশিষ্ট্য যেমন টেক্সট রিকগনিশন, ফেস রিকগনিশন, অবজেক্ট ডিটেকশন, ডেপথ ম্যাপস তৈরি এবং মেশিন লার্নিং প্রদান করে।

এই নিবন্ধটি আপনাকে দেখাবে কিভাবে রাস্পবেরি পাইতে ওপেনসিভি এবং অন্যান্য লাইব্রেরি ইনস্টল করতে হবে যা বস্তু সনাক্তকরণ এবং অন্যান্য প্রকল্প করার সময় কাজে আসবে। সেখান থেকে, আমরা শিখব কিভাবে বস্তু স্বীকৃতি এবং মেশিন লার্নিং প্রজেক্ট সম্পাদন করে ইমেজ এবং ভিডিও অপারেশন করতে হয়। বিশেষ করে, আমরা একটি ছবিতে মুখ সনাক্ত করার জন্য একটি সাধারণ কোড লিখব।

OpenCV কি?

ওপেনসিভি একটি ওপেন সোর্স কম্পিউটার ভিশন এবং মেশিন লার্নিং সফটওয়্যার লাইব্রেরি। ওপেনসিভি একটি বিএসডি লাইসেন্সের অধীনে প্রকাশিত হয় যা এটি একাডেমিক এবং বাণিজ্যিক উভয় ব্যবহারের জন্যই বিনামূল্যে করে। এটিতে সি ++, পাইথন এবং জাভা ইন্টারফেস রয়েছে এবং উইন্ডোজ, লিনাক্স, ম্যাক ওএস, আইওএস এবং অ্যান্ড্রয়েড সমর্থন করে। ওপেনসিভি কম্পিউটেশনাল দক্ষতা এবং রিয়েল-টাইম অ্যাপ্লিকেশনগুলিতে শক্তিশালী মনোযোগের জন্য ডিজাইন করা হয়েছিল।

রাস্পবেরি পাইতে ওপেনসিভি কীভাবে ইনস্টল করবেন?

ওপেনসিভি ইনস্টল করার জন্য, আমাদের পাইথন ইনস্টল করতে হবে। যেহেতু রাস্পবেরি পিস পাইথনের সাথে প্রিললোড করা হয়েছে, তাই আমরা সরাসরি OpenCV ইনস্টল করতে পারি।

আপনার রাস্পবেরি পাই আপ টু ডেট আছে তা নিশ্চিত করতে এবং আপনার রাস্পবেরি পাইতে ইনস্টল করা প্যাকেজগুলি সর্বশেষ সংস্করণে আপডেট করতে নিচের কমান্ডগুলি টাইপ করুন।

sudo apt- আপডেট পান sudo apt-get upgrade

আপনার রাস্পবেরি পাইতে ওপেনসিভির জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করতে টার্মিনালে নিম্নলিখিত কমান্ডগুলি টাইপ করুন।

sudo apt libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqt4-test libqt4-test ইনস্টল করুন

আপনার রাস্পবেরি পাইতে পাইথন 3 এর জন্য ওপেনসিভি 3 ইনস্টল করতে নিম্নলিখিত কমান্ডটি টাইপ করুন, পাইপ 3 আমাদের বলে যে ওপেনসিভি পাইথন 3 এর জন্য ইনস্টল করা হবে।

sudo pip3 opencv- অবদান-পাইথন libwebp6 ইনস্টল করুন

এখন, OpenCV ইনস্টল করা উচিত।

(যদি কোন ত্রুটি ঘটে থাকে: তবুও আপনি নীচের লিঙ্কটি অনুসরণ করে এটি করতে পারেন

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

এখন তাড়াহুড়ো করবেন না আমাদের এটি সঠিকভাবে ইনস্টল করা হয়েছে কিনা তা পরীক্ষা করা দরকার

এর মাধ্যমে আপনার opencv পরীক্ষা করুন:

1. আপনার টার্মিনালে যান এবং টাইপ করুন "পাইথন"

2. তারপর "আমদানি সিভি 2" টাইপ করুন।

3. তারপর "cv2._ version_" টাইপ করুন।

তারপর এই লাইব্রেরিগুলি ইনস্টল করুন

pip3 python-numpy ইনস্টল করুন

pip3 পাইথন- matplotlib ইনস্টল করুন

একটি ছবিতে মুখ সনাক্ত করার জন্য পরীক্ষা কোড:

আমদানি cv2

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

image = cv2.imread ('আপনার ফাইলের নাম') #উদাহরণ cv2.imread ('home/pi/Desktop/filename.jpg')

আপনি আউটপুট পাবেন যেমন একটি বর্গক্ষেত্রের বাক্স তৈরি করা হয়েছে যারা মানুষের মুখে আছে।

ধাপ 3: একটি রিয়েল টাইম ভিডিওতে মুখ সনাক্তকরণ এবং স্বীকৃতি

আমদানি cv2

np হিসাবে numpy আমদানি করুন

আমদানি ওএস

সিরিয়াল আমদানি করুন

ser = serial. Serial ('/dev/ttyACM0', 9600, সময়সীমা = 1) #/dev/ttyACM0 আপনার ক্ষেত্রে পরিবর্তিত হতে পারে, এটি arduino এর উপর নির্ভর করে

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

সনাক্তকারী = cv2.face.createLBPHFaceRecognizer ()

ছবি =

লেবেল =

os.listdir ('ডেটাসেট') -এ ফাইলের নামের জন্য:

im = cv2.imread ('ডেটাসেট/'+ফাইলের নাম, 0)

images.append (im)

labels.append (int (filename.split ('।') [0] [0]))

#প্রিন্ট ফাইলের নাম

names_file = open ('labels.txt')

names = names_file.read ()। split ('\ n')

identizer.train (ছবি, np.array (লেবেল))

মুদ্রণ 'প্রশিক্ষণ সম্পন্ন। । । '

ফন্ট = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # আপনার ভিডিও ডিভাইস

lastRes = "count = 0

যখন (1):

_, ফ্রেম = cap.read ()

ধূসর = cv2.cvtColor (ফ্রেম, cv2. COLOR_BGR2GRAY)

মুখ = faceCascade.detectMultiScale (ধূসর, 1.3, 5)

গণনা+= 1

মুখে (x, y, w, h) জন্য:

cv2.rectangle (ফ্রেম, (x, y), (x+w, y+h), (255, 0, 0), 2)

যদি গণনা করুন> 20: res = names [identizer.predict (ধূসর [y: y+h, x: x+w])-1]

যদি res! = lastRes:

lastRes = res

lastRes প্রিন্ট করুন

ser.write (lastRes)

গণনা = 0

বিরতি

cv2.imshow ('ফ্রেম', ফ্রেম)

k = 0xFF & cv2.waitKey (10)

যদি k == 27:

বিরতি

cap.release ()

ser.close ()

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. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6

উপরের মত আপনি সংশ্লিষ্ট ব্যক্তিদের জন্য লেবেল যোগ করতে পারেন,

তাই যদি pi 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 এর মধ্যে কোন মুখ সনাক্ত করে, তাহলে এটি টম ক্রুজ হিসাবে চিহ্নিত করা হয়েছিল, তাই দয়া করে ছবি আপলোড করার সময় সতর্ক থাকুন ………………

এবং তারপর আপনার arduino কে আপনার রাস্পবেরী পাই এর সাথে সংযুক্ত করুন এবং main.py কোডার = সিরিয়াল (সিরিয়াল ('/dev/ttyACM0', 9600, সময়সীমা = 1) 3. পরিবর্তন করুন সমস্ত ডাউনলোড করা ফাইল (main.py, ডেটাসেট ফোল্ডার, একটি ফোল্ডারে haarcascade_frontalface_default.xml।)

3. এখন Raspi- টার্মিনাল খুলুন "sudo python main.py" দ্বারা আপনার কোড চালান

প্রস্তাবিত: