تشخیص چهره با پایتون DeepFace

زمان مطالعه: 15 دقیقه ویرایش: 1401/04/12

سلام! در این مقاله میخوایم چهره رو شناسایی کنیم و ویژگی های اون رو بدست بیاریم. با ما همراه باشید

تشخیص چهره با پایتون-مسترپای

کتابخانه DeepFace

DeepFace کتابخانه ای در پایتون، برای تشخیص چهره، ویژگی های چهره، سن و جنسیت هست. علاوه بر این ها امکان بازشناسی چهره هم به شما میده که در ادامه مقاله با DeepFace آشنا میشیم

 

نصب کتابخانه دیپ فیس:

برای نصب DeepFace، وارد محیط ترمینال میشیم و دستور زیر رو وارد میکنیم:

pip install deepface

 

تشخیص چهره با DeepFace:

خب الان که دیپ فیس رو نصب کردیم، میخوایم برنامه ای بنویسیم، که 2 تصویر بهش بدیم، و اون بگه که افراد داخل این دو تصویر، یک فرد هستند یا نه

برای اینکار باید اول کتابخانه رو import کنیم:

from deepface import DeepFace

برای تایید چهره های در تصاویر از تابع verified استفاده میکنیم:

result = DeepFace.verify("img1.jpg", "img2.jpg")

 

حواستون باشه که شما به جای img1.jpg و img2.jpg، نام تصاویر خودتون رو بزنید

الان اگه ما متغیر result رو پرینت کنیم، 5 خروجی به ما در قالب دیکشنری نمایش میده:

 

verified: مقدار True یا False هست که میگه این دو فرد، یک نفر هستند یا خیر اگر True بود یعنی یک نفرن و اگه False بود یعنی دو فرد متفاوت هستن

distance: فاصله خصوصیات این دو چهره رو به ما میگه. هر چی که مقدارش بیشتر باشه، یعنی اون ها شباهت کمتری به هم دارن.

max_threshold: حدی هست که برای distance در نظر میگیره، اگه distance بیشتر از این باشه، verified اونها False میشه

 model: نوع مدلی که استفاده کردیم که به صورت پیشفرض، VGG هست

similarity_metric: نشون میده که برای پیدا کردن فاصله شباهت هاشون از چه عمل ریاضی ای استفاده کرده

 

خب ما الان 2 عکس از آقای محمدرضا گلزار آماده کردیم، و به DeepFace دادیم و خروجی این شد:

تشخیص چهره در پایتون deepface

و همينطور که ميبينيد، تایید کرد که این دو فرد، یک نفر هستند(verified=True)

این هم بگم که ما میتونیم دیتاستی به تابع verify بدیم و افراد یکسان رو بهمون بگه:

 

استخراج ویژگی های چهره:

برای اینکار از تابع analyze استفاده میکنیم که در اولین آرگیومنت باید نام تصویر، بعد ویژگی هایی که میخوایم از تصویر دربیاره رو بدیم:

 

 

تشخیص چهره همزمان:

خب برای اینکار از تابع stream استفاده میکنیم. حواستون باشه که به عنوان آرگیومنت، باید محل تصاویر یا دیتاستون رو بدید:

 

 

خیلی ممنون که با من همراه بودید. اگه سوال، نظر یا انتقادی داشتید حتما در قسمت دیدگاه مطرح کنید. خیلی ممنون از توجه شما :)



1
user نوشته شده توسط عرفان سلیمی علاقه‌مند به برنامه‌نویسی، خصوصا پایتون و C++


دیدگاه


برای ثبت دیدگاه، وارد شوید