প্রকল্প সম্পর্কে

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-এর ফেস রিকগনিশন ক্ষমতার ওপর একটি সহজ এবং উচ্চ-স্তরের র‍্যাপার হিসেবে ব্যাপকভাবে ব্যবহৃত হয় এবং এটি প্রোটোটাইপিং ও প্রোডাকশন অ্যাপ্লিকেশনের জন্য উপযুক্ত।