- ضروری اجزاء
- راسبیری پائی میں اوپن سی وی انسٹال کرنا
- dlib استعمال کرکے چہرے کے پرزوں کا پتہ لگانے کا طریقہ
- چہرے کی تاریخی نشان کا پتہ لگانے کے لئے راسبیری پائ پروگرامنگ
- چہرہ حصہ پہچاننے والا کی جانچ ہو رہی ہے
چہرے کے نشان کی نشاندہی چہرے کے مختلف حصوں جیسے ابرو ، آنکھوں ، ناک ، منہ اور جبڑے کا پتہ لگانے کا عمل ہے۔ بہت ساری ایپلی کیشنز ہیں جو فیشل لینڈ مارک کا پتہ لگانے کی تکنیک استعمال کرتی ہیں۔
اس سے پہلے ، ہم اوپن سی وی کا استعمال کرتے ہوئے چہرے کی شناخت کا نظام بناتے ہیں ، آج ہم وہی اوپن سی وی چہرے کی نشاندہی کرنے کیلئے راسبیری پائی کے ساتھ استعمال کریں گے ۔ دلیب لائبریری سے پہلے سے تربیت یافتہ چہرے کی نشانی کا پتہ لگانے والا ماڈیول چہرے پر کی جانے والی چہرے کے اہم ڈھانچے کی جگہ کا پتہ لگانے کے لئے استعمال کیا جائے گا اور پتہ لگائے گئے چہرے کے پرزوں کو دیکھنے کے لئے ازگر اوپن سی وی کا استعمال کیا جائے گا۔
ضروری اجزاء
ہارڈ ویئر اجزاء
- راسبیری پائی 3
- پائی کیمرہ ماڈیول
سافٹ ویئر اور آن لائن خدمات
- اوپن سی وی
- دلیب
- ازگر 3
اس کے ساتھ آگے بڑھنے سے پہلے رسبری PI 3 چہرے لینڈ مارک کھوج ، سب سے پہلے، ہم اس منصوبے میں OpenCV، imutils، dlib، Numpy، اور کچھ دیگر انحصار انسٹال کرنے کی ضرورت ہے. اوپن سی وی کا استعمال یہاں ڈیجیٹل امیج پروسیسنگ کے لئے کیا گیا ہے۔ ڈیجیٹل امیج پروسیسنگ کی سب سے عام ایپلی کیشنز آبجیکٹ کا پتہ لگانے ، چہرے کی شناخت اور لوگوں کا مقابلہ کرتے ہیں۔
راسبیری پائی کے ساتھ پائی کیمرہ انٹرفیس کرنے کے بارے میں مزید جاننے کے ل our ، ہمارے گذشتہ سبق پر عمل کریں۔
راسبیری پائی میں اوپن سی وی انسٹال کرنا
یہاں اوپن سی وی لائبریری راسبیری پی کیو آر اسکینر کے لئے استعمال ہوگی۔ اوپن سی وی کو انسٹال کرنے کے لئے ، پہلے ، راسبیری پائی کو اپ ڈیٹ کریں۔
sudo اپٹ اپ ڈیٹ
پھر اپنے راسبیری پائ پر اوپن سی وی انسٹال کرنے کے لئے مطلوبہ انحصار انسٹال کریں۔
libhdf5-dev -y sudo apt-get install libhdf5-serial-dev آپ خود انسٹال کریں libatlas-base-dev انسٹال کریں libjasper-dev -y sudo apt-get نصب کریں libqtgui4 -y سودو مناسب حاصل انسٹال libqt4 ٹیسٹ -y
اس کے بعد ، مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے راسبیری پائی میں اوپن سی وی انسٹال کریں۔
pip3 انسٹال کریں اوپنکیو-شراکت-ازگر == 4.1.0.25
ہم نے پہلے راسبیری پائی کے ساتھ اوپن سی وی کا استعمال کیا تھا اور اس پر بہت سارے سبق تیار کیے تھے۔
- سی ایم کیک کا استعمال کرتے ہوئے راسبیری پائی پر اوپن سی وی انسٹال کرنا
- راسبیری پائی اور اوپن سی وی کے ساتھ حقیقی وقت کا سامنا کرنا پڑتا ہے
- راسبیری پائی اور اوپن سی وی کا استعمال کرتے ہوئے لائسنس پلیٹ کی پہچان
- اوپن سی وی اور راسبیری پائ کا استعمال کرتے ہوئے ہجوم سائز کا تخمینہ
ہم نے ابتدائی سطح سے شروع ہونے والے اوپن سی وی سبق کا ایک سلسلہ بھی تیار کیا ہے۔
امپٹلز کا انسٹال کرنا : امپٹیلس کا استعمال کچھ ضروری امیجنگ پروسیسنگ جیسے ٹرانسلیشن ، گردش ، ریسائزنگ ، کنکالائزیشن ، اور میٹپلوٹلیب امیجیز کو اوپن سی وی کے ساتھ آسان ڈسپلے کرنے کے لئے کیا جاتا ہے۔ لہذا ذیل میں کمانڈ استعمال کرکے امپٹال لگائیں۔
پائپ 3 انسٹال کریں
dlib انسٹال کرنا: dlib ایک جدید ٹول کٹ ہے جس میں مشینی لرننگ الگورتھم اور حقیقی دنیا کے مسائل کے ل tools ٹولز شامل ہیں۔ dlib انسٹال کرنے کے لئے نیچے دیئے گئے کمانڈ کا استعمال کریں۔
pip3 انسٹال dlib
NumPy انسٹال کرنا: NumPy سائنسی کمپیوٹنگ کے لئے بنیادی لائبریری ہے جو ایک طاقتور n جہتی صفی آبجیکٹ پر مشتمل ہے ، C ، C ++ وغیرہ کو اکٹھا کرنے کے لئے ٹولز مہیا کرتی ہے۔
پپ 3 انسٹال کریں
dlib استعمال کرکے چہرے کے پرزوں کا پتہ لگانے کا طریقہ
ہم dlib لائبریری کے چہرے کی نشاندہی کرنے والے پہلے سے تیار شدہ چہرے کی نشاندہی کرنے والے کو استعمال کرنے جا رہے ہیں تاکہ 68 (x، y) کی جگہ معلوم کی جاسکے۔ اس نقشے سے نقش چہرے پر چہرے کے ڈھانچے بن جاتے ہیں۔ dlib چہرے کی تاریخی نشان گوئی کرنے والا iBUG 300-W ڈیٹاسیٹ پر تربیت یافتہ ہے۔ 68 نقاط کے اشاریوں پر مشتمل ایک تصویر نیچے دی گئی ہے۔
چہرے کی تاریخی نشان کا پتہ لگانے کے لئے راسبیری پائ پروگرامنگ
اس صفحے کے آخر میں دلیب کے پہلے سے تربیت یافتہ چہرے کی تاریخی شناخت کا پتہ لگانے والے کے ساتھ چہرے کے پرزوں کی شناخت کے لئے مکمل ازگر کا کوڈ دیا گیا ہے۔ یہاں ہم بہتر تفہیم کے لئے کوڈ کے کچھ اہم حص partsوں کی وضاحت کر رہے ہیں۔
لہذا ، ہمیشہ کی طرح ، تمام مطلوبہ لائبریریوں کو شامل کرکے کوڈ شروع کریں۔
امپورٹ سے درآمد کریں face_utils این پی پی درآمد argparse درآمد imutils درآمد dlib درآمد cv2 picamera سے.
پھر کیمرا آبجیکٹ کو شروع کریں اور ریزولوشن (640 ، 480) اور فریم ریٹ 30 fps پر سیٹ کریں
کیمرا = پائکیمرا () کیمرا.ریجول = (640 ، 480) کیمرا. فریمریٹ = 30
اب اگلی سطروں میں ، چہرے کی تاریخی پیش گو گو کا راستہ فراہم کرنے کے لئے استدلال تجزیہ کار کا استعمال کریں۔
ap = argparse.AggumentParser () ap.add_argument ("- p"، "- shape-predictor"، مطلوبہ = سچ ، مدد = "چہرے کی تاریخی نشان گوئی کا راستہ") args = vars (ap.parse_args ())
اگلی سطروں میں ، HOG پر مبنی dlib کے پہلے سے تربیت یافتہ چہرہ پکڑنے والا شروع کریں اور پہلے سے تربیت یافتہ چہرے کی تاریخی پیشن گوئی کو لوڈ کریں۔
ڈٹیکٹر = dlib.get_frontal_face_detector () پیش گو
اس کے بعد راسبیری پائی کیمرہ سے فریموں کو گرفت میں لینا شروع کرنے کے لئے کیپچر_کونٹنگ فنکشن کا استعمال کریں ۔
کیمرہ میں فریم کے لئے۔)
کسی خاص فریم کو حاصل کرنے کے لئے کی بورڈ کی کلید 'S' کا استعمال کریں۔ پھر قبضہ شدہ تصویر کا سائز تبدیل کریں اور اسے گرے اسکیل میں تبدیل کریں۔
اگر کلید == آرڈر ("s"): تصویری = imutils.resize (تصویر ، چوڑائی = 400) سرمئی = cv2.cvt رنگ (تصویر ، cv2.COLOR_BGR2GRAY)
پکڑی گئی تصویر میں چہروں کا پتہ لگانے کے لئے dlib لائبریری کے ڈٹیکٹر فنکشن کا استعمال کریں۔
rects = پکڑنے والا (گرے ، 1)
اس تصویر کو دیکھیں جس پر چہرے کا پتہ لگانے کا کام کیا گیا تھا ، چہرے کی نشانیوں کا تعین کریں ، اور 68 پوائنٹس کو NumPy صف میں تبدیل کریں۔ انفرادی طور پر چہرے کے ہر خطوں پر لوپ لگائیں۔
کے لئے (میں ، ریکٹ) انیمیریٹ (ریکٹس) میں: شکل = پیش گو گو
اس کے بعد ، اصلی تصویر کی ایک کاپی لیں اور تصویر پر چہرے کے حصے کا نام کھینچنے کے لئے اس لوپ کے ل for استعمال کریں ۔ متن کا رنگ سرخ ہو جائے گا ، آپ اسے RGB کی اقدار کو تبدیل کرکے کسی اور رنگ میں تبدیل کر سکتے ہیں۔
فیس بک میں (نام ، (i ، j)) کیلئے ، 255) ، 2)
اب ہم چہرے کے کھوج والے حصوں کو لوپ کریں گے اور ان چہرے کے حصوں پر دائرے کھینچنے کے لئے اوپن سی وی ڈرائنگ فنکشن کا استعمال کریں گے ۔ ڈرائنگ کے افعال کے بارے میں مزید معلومات کے ل You آپ اس اوپن سی وی دستاویز کی پیروی کرسکتے ہیں
(x ، y) شکل میں: cv2.c मंडल (کلون ، (x ، y) ، 1 ، (0 ، 0 ، 255) ، -1)
اب اگلی سطروں میں ، ہم ایک خاص چہرے کے حصے کے نقاط کے باؤنڈنگ باکس کی کمپیوٹنگ کرکے ہر چہرے کے حصے کو ایک علیحدہ شبیہہ کے طور پر نکالیں گے۔ نکالی گئی تصویر کو 250 پکسلز میں تبدیل کیا جائے گا۔
(x ، y ، w ، h) = cv2.boundingRect (np.array (])) روئی = امیج
اب کوڈ کی آخری سطروں میں ، چہرے کے پرزوں کو ان کے نام اور اس حصے کی الگ تصویر دکھائیں۔ چہرے کا علاقہ تبدیل کرنے کے لئے ESC کی کا استعمال کریں۔
cv2.imshow ("ROI" ، roi) cv2.imshow ("شبیہ" ، کلون) cv2.waitKey (0)
چہرہ حصہ پہچاننے والا کی جانچ ہو رہی ہے
پروجیکٹ کو جانچنے کے ل a ، ایک ڈائرکٹری بنائیں اور نیچے دیئے گئے کمانڈز کا استعمال کرکے اس پر جائیں۔
mkdir چہرہ حصہ کا پتہ لگانے والا سی ڈی چہرہ حصہ کا پتہ لگانے والا
اب اس لنک سے form_predictor_68_face_landmark.dat فائل ڈاؤن لوڈ کریں ، اور پھر اس لائبریری کے اندر form_predictor_68_face_landmark.dat فائل کو نکالیں اور کاپی کریں ، اور پھر ڈیٹ ڈاٹ پیی نامی ایک نئی فائل کھولیں اور نیچے دیئے گئے کوڈ کو پیسٹ کریں۔
اب ذیل کا کمانڈ استعمال کرکے ازگر کا کوڈ لانچ کریں:
python3 detect.py - shape-predictor form_predictor_68_face_landmarks.dat
آپ کو ایک ونڈو نظر آئے گا جس میں آپ کے کیمرے سے ایک براہ راست نظارہ دکھائے گا۔ پھر براہ راست سلسلہ میں سے فریم منتخب کرنے کے لئے 'S' بٹن دبائیں۔ آپ اپنے منہ کے علاقے پر سرخ نقطوں کو دیکھیں گے۔ چہرے کے دوسرے حصوں کو دیکھنے کے لئے ESC کی کا استعمال کریں۔
مکمل ازگر کا کوڈ اور مظاہرے کی ویڈیو ذیل میں دی گئی ہے۔