در یادگیری ماشین، یک شبکه عصبی پیچشی (CNN یا ConvNet ) ردهای از شبکههای عصبی مصنوعی عمیق و پیشرو است که برای تجزیه و تحلیل تصاویر بصری، با موفقیت به کار گرفته شده است. آنها در شناسایی تصویر (تشخیص چهره) و آنالیز ویدئو، سیستمهای توصیه کننده و پردازش زبان طبیعی کاربرد دارند. در اینجا به تجزیه و تحلیل تشخیص چهره میپردازیم.
تشخیص چهره چیست؟
تشخیص چهره یکی از برنامههای نرم افزاری بیومتریک است که میتواند با مقایسه و تجزیه و تحلیل الگوهای مبتنی بر خطوط صورت فرد، شخص را شناسایی یا تأیید کند. تشخیص چهره بیشتر برای اهداف امنیتی استفاده میشود، گرچه در زمینههای دیگر نیز مورد توجه قرار گرفته است. در حقیقت، فناوری تشخیص چهره، توجه زیادی را به خود جلب کرده است چون در کاربردهای مربوط به اجرای قانون و همچنین سایر ارگانها توانمند میباشد.
از روشهای مختلفی در زمینه تشخیص چهره استفاده میشود، مانند روش تشخیص چهره بر مبنای انطباق تعمیم یافته و روش انطباق ترکیب منطقههای تطبیقی. اکثر سیستمهای تشخیص چهره، بر اساس نقاط گرهای مختلف در صورت انسان عمل میکنند. مقادیر اندازه گیری شده بر حسب متغیر مرتبط با نقاط صورت یک شخص، در شناسایی یا تأیید منحصر به فرد فرد کمک میکنند. با استفاده از این تکنیک، برنامهها میتوانند از دادههای دریافت شده از چهره استفاده کنند و میتوانند افراد هدف را به طور دقیق و سریع شناسایی نمایند. تکنیکهای تشخیص چهره با رویکردهای جدید مانند مدل سازی 3 بعدی به سرعت در حال پیشرفت هستند و به حل مشکلات در تکنیکهای موجود کمک میکنند.
تشخیص چهره، از مزایای بسیاری برخوردار است. در مقایسه با سایر تکنیکهای بیومتریک، تشخیص چهره ماهیتی غیر تماسی دارد. تصاویر چهره را میتوان از فاصله دور ثبت کرد و بدون نیاز به تعامل با کاربر / شخص، قابل تجزیه و تحلیل هستند. در نتیجه، هیچ کاربری نمیتواند از شخص دیگری با موفقیت تقلید کند. تشخیص چهره میتواند به عنوان یک معیار امنیتی عالی برای حضور و ردیابی زمان باشد. تشخیص چهره، فناوری ارزانی است چون مانند سایر روشهای بیومتریک، مستلزم پردازش کمتری میباشد.

نحوه استفاده از یادگیری ماشین در تشخیص چهره
رویکردی که ما برای تشخیص چهره استفاده خواهیم کرد، بسیار قابل فهم و ساده است اما شما میتوانید در مورد یک مسئله بسیار پیچیده هم این روش را امتحان کنید. بیایید به برسی نحوه کار تشخیص چهره مدرن بپردازیم!
در اینجا هدف، استفاده از شبکه عصبی عمیق برای تشخیص چهره یک شخص است. این یعنی شبکه عصبی برای شناسایی خودکار ویژگیهای مختلف چهره و محاسبه اعداد بر اساس آن، باید آموزش ببیند. خروجی شبکه عصبی را میتوان به عنوان یک شناسه برای چهره یک شخص خاص در نظر گرفت – اگر تصاویر مختلفی از یک شخص را به سیستم بدهید، خواهید دید که خروجی شبکه عصبی بسیار مشابه یا نزدیک خواهد بود، در حالی که اگر تصاویر فرد دیگری را به آن بدهید، خروجی بسیار متفاوت خواهد بود.
یادگیری ماشین، با انتخاب یک الگوریتم، وارد کردن دادهها و دریافت نتیجه، بسیاری از مشکلات را حل کرده است. ما نیازی به ایجاد شبکه عصبی خودمان نداریم. ما به یک مدل آموزش دیده dlib دسترسی داریم که میتواند مورد استفاده قرار گیرد. این مدل دقیقاً همان کاری را انجام میدهد که ما نیاز داریم – وقتی تصویر چهره شخصی را به آن میدهیم، دستههای از اعداد را تولید میکند (رمزگذاری چهره). با مقایسه رمزگذاری چهرهها از تصاویر مختلف، متوجه میشویم که آیا چره یک شخص، با شخص دیگری که از او تصویر داریم مطابقت دارد یا خیر. با این حال، نصب و استفاده از یک کتابخانه تشخیص چهره به نام face recognition بسیار آسانتر است. در اینجا از این کتابخانه در برخی موارد استفاده کردهایم.
این مراحلی است که باید طی کنیم:
- تشخیص: چهرهها را در تصاویر پیدا کنید
- نشانه گذاری: ویژگی های صورت را در تصاویر پیدا کرده و آنها را دستکاری کنید
- مقایسه: چهرهها را در تصاویر شناسایی کنید

مراحل تشخیص چهره چیست؟
- آماده سازی تصاویر
در اینجا، برای سادگی از یک تصویر استفاده خواهد شد.
- نشانه گذاری
در تصویر با دریافت مکانها و خطوط چشم، بینی، دهان و چانه هر فرد، دستکاری ها انجام میشود.
import face_recognition
image = face_recognition.load_image_file(“your_file.jpg”)
face_landmarks_list = face_recognition.face_landmarks(image)
دریافت نتیجه از تشخیص چهره، کمی خسته کننده است و باید ویژگیهای تشخیص چهره را برای تجزیه و تحلیل مهم دانست.
- شناسایی چهرهها در تصاویر
این کار با تشخیص چهره افرادی که در عکس حضور دارند انجام میشود.
“جو بایدن” به عنوان شخصی که در عکس حضور دارد، در خروجی مشخص میگردد.
همچنین میتوان از این روش برای چندین تصویر در یک عکس استفاده کرد و این کار با انتخاب چهرههایی که در عکس حضور دارند، انجام میشود. سپس از مراحلی که در بالا گفته شد برای تجزیه و تحلیل ورودی (n) جهت تولید خروجیهای (n) استفاده خواهد شد.
نتیجه
ما با استفاده از یک رویکرد ساده، یعنی با تشخیص، دستکاری و شناسایی خطوط چهره، توانستهایم تشخیص دهیم که در عکس، چه کسانی حضور دارند.
این به وضوح نشان میدهد که یادگیری ماشین در جهان هوش مصنوعی، چقدر سریع جای خود را پیدا کرده است. یکی از نمونههای روزانه که با آن سر و کار داریم، فیسبوک است که افرادی که در یک عکس حضور دارند را بدون برچسب گذاری دستی، به طور خودکار برچسب میزند. این قبلا محقق نشده بود، و افراد در عکسها بوسیلهای پیشنهادها برچسب گذاری میشدند.
مترجم: عارف ارازپور