প্রকল্প সম্পর্কে
face_recognition হলো মুখ শনাক্তকরণ এবং ম্যানিপুলেশনের জন্য একটি পাইথন লাইব্রেরি এবং কমান্ড-লাইন টুল। এটি dlib-এর অত্যাধুনিক ফেস রিকগনিশন মডেলের ওপর ভিত্তি করে তৈরি এবং Labeled Faces in the Wild (LFW) বেঞ্চমার্কে ৯৯.৩৮% নির্ভুলতা দাবি করে। এটি মুখ শনাক্ত করা, মুখের বৈশিষ্ট্য বের করা, ফেস এনকোডিং গণনা করা এবং ব্যক্তিদের শনাক্ত করার জন্য একটি সহজ API প্রদান করে।
প্রধান বৈশিষ্ট্যসমূহ:
- face_locations() ব্যবহার করে ছবিতে সব মুখ খুঁজে বের করা যায়, যার মধ্যে উচ্চ নির্ভুলতার জন্য একটি ঐচ্ছিক ডিপ-লার্নিং ভিত্তিক CNN মডেল রয়েছে (ভালো পারফরম্যান্সের জন্য CUDA প্রয়োজন)।
- face_landmarks() ব্যবহার করে মুখের বৈশিষ্ট্য (চোখ, নাক, মুখ, চিবুক) চিহ্নিত ও রূপরেখা তৈরি করা যায়, যা ডিজিটাল মেকআপের মতো অ্যাপ্লিকেশনের জন্য উপযোগী।
- face_encodings() দ্বারা তৈরি ১২৮-মাত্রিক ফেস এনকোডিং তুলনা করে এবং compare_faces() ব্যবহার করে ব্যক্তিদের শনাক্ত করা যায়।
- দুটি কমান্ড-লাইন প্রোগ্রাম অন্তর্ভুক্ত রয়েছে: ছবির ফোল্ডারে পরিচিত ব্যক্তিদের শনাক্ত করার জন্য face_recognition এবং মুখের বাউন্ডিং-বক্স স্থানাঙ্ক আউটপুট দেওয়ার জন্য face_detection।
ইনস্টলেশন:
- macOS বা Linux-এ Python 3.3+ বা Python 2.7 প্রয়োজন। উইন্ডোজ আনুষ্ঠানিকভাবে সমর্থিত নয় তবে কমিউনিটির নির্দেশিকা অনুযায়ী কাজ করতে পারে।
- প্রথমে Python বাইন্ডিং সহ dlib ইনস্টল করতে হবে।
- cmake ইনস্টল করার পর pip3 install face_recognition কমান্ডের মাধ্যমে ইনস্টল করা যায়।
- Nvidia Jetson Nano, Raspberry Pi 2+, FreeBSD এবং উইন্ডোজের জন্য অতিরিক্ত প্ল্যাটফর্ম গাইড রয়েছে।
- Heroku বা AWS-এর মতো ক্লাউড হোস্টে সহজে ডেপ্লয়মেন্টের জন্য একটি Docker ইমেজ প্রদান করা হয়েছে।
ব্যবহারের উদাহরণ (Python):
import face_recognition
# ছবিতে মুখ খুঁজে বের করা
image = face_recognition.load_image_file("your_file.jpg")
face_locations = face_recognition.face_locations(image)
# মুখের বৈশিষ্ট্য বের করা
face_landmarks_list = face_recognition.face_landmarks(image)
# একজন ব্যক্তিকে শনাক্ত করা
known_image = face_recognition.load_image_file("biden.jpg")
unknown_image = face_recognition.load_image_file("unknown.jpg")
biden_encoding = face_recognition.face_encodings(known_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
results = face_recognition.compare_faces([biden_encoding], unknown_encoding)
কমান্ড-লাইন ইন্টারফেস:
- face_recognition ./known_people/ ./unknown_pictures/ কমান্ডটি প্রতিটি শনাক্তকৃত মুখের জন্য ফাইলের নাম এবং শনাক্তকৃত নাম প্রিন্ট করে।
- --tolerance 0.54 ম্যাচিংকে কঠোর করে; --show-distance true গণনাকৃত ফেস দূরত্ব প্রদর্শন করে।
- --cpus 4 মাল্টি-কোর সিস্টেমে প্যারালাল প্রসেসিং সক্ষম করে।
- face_detection ./folder_with_pictures/ প্রতিটি মুখের জন্য পিক্সেল স্থানাঙ্ক প্রিন্ট করে।
উদাহরণ স্ক্রিপ্ট:
রিপোজিটরিতে অনেক উদাহরণ রয়েছে, যেমন: ডিফল্ট HOG মডেল এবং CNN মডেল দিয়ে ফেস ডিটেকশন, রিয়েল-টাইম ওয়েবক্যাম রিকগনিশন, ভিডিও ফাইলে ফেস রিকগনিশন, Flask ব্যবহার করে HTTP ওয়েব সার্ভিস, এবং একাধিক ছবি দিয়ে প্রশিক্ষণের জন্য K-nearest neighbors ও SVM ক্লাসিফায়ার।
সতর্কতা:
- রিকগনিশন মডেলটি প্রাপ্তবয়স্কদের ওপর প্রশিক্ষিত, তাই ডিফল্ট ০.৬ থ্রেশহোল্ডে শিশুদের ক্ষেত্রে এটি ভালো কাজ নাও করতে পারে।
- জাতিগত গোষ্ঠীর ভিত্তিতে নির্ভুলতা ভিন্ন হতে পারে।
- ডেপ্লয়মেন্টের জন্য Dockerfile এবং প্রি-বিল্ট Docker ইমেজ অন্তর্ভুক্ত রয়েছে, যা Nvidia ড্রাইভার ব্যবহার করে Linux সিস্টেমে GPU সাপোর্ট দেয়।
এই প্রকল্পটি dlib-এর ফেস রিকগনিশন ক্ষমতার ওপর একটি সহজ এবং উচ্চ-স্তরের র্যাপার হিসেবে ব্যাপকভাবে ব্যবহৃত হয় এবং এটি প্রোটোটাইপিং ও প্রোডাকশন অ্যাপ্লিকেশনের জন্য উপযুক্ত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.