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



در یادگیری ماشین، یک شبکه عصبی پیچشی[1] (CNN یا ConvNet ) رده­ای از شبکه­های عصبی مصنوعی عمیق و پیشرو است که برای تجزیه و تحلیل تصاویر بصری، با موفقیت به کار گرفته شده است. آنها در شناسایی تصویر (تشخیص چهره) و آنالیز ویدئو، سیستم­های توصیه کننده و پردازش زبان طبیعی کاربرد دارند. در اینجا به تجزیه و تحلیل تشخیص چهره می­پردازیم.

تشخیص چهره چیست؟

تشخیص چهره یکی از برنامه­های نرم افزاری بیومتریک است که می­تواند با مقایسه و تجزیه و تحلیل الگوهای مبتنی بر خطوط صورت فرد، شخص را شناسایی یا تأیید کند. تشخیص چهره بیشتر برای اهداف امنیتی استفاده می­شود، گرچه در زمینه­های دیگر نیز مورد توجه قرار گرفته است. در حقیقت، فناوری تشخیص چهره، توجه زیادی را به خود جلب کرده است چون در کاربردهای مربوط به اجرای قانون و همچنین سایر ارگان­ها توانمند می­باشد.

از روش­های مختلفی در زمینه تشخیص چهره استفاده می­شود، مانند روش تشخیص چهره بر مبنای انطباق تعمیم یافته[2] و روش انطباق ترکیب منطقه­ای تطبیقی[3]. اکثر سیستم­های تشخیص چهره، بر اساس نقاط گره­ای مختلف در صورت انسان عمل می­کنند. مقادیر اندازه گیری شده بر حسب متغیر مرتبط با نقاط صورت یک شخص، در شناسایی یا تأیید منحصر به فرد فرد کمک می­کنند. با استفاده از این تکنیک، برنامه­ها می­توانند از داده­های دریافت شده از چهره استفاده کنند و می­توانند افراد هدف را به طور دقیق و سریع شناسایی نمایند. تکنیک­های تشخیص چهره با رویکردهای جدید مانند مدل سازی 3 بعدی به سرعت در حال پیشرفت هستند و به حل مشکلات در تکنیک­های موجود کمک می­کنند.

تشخیص چهره، از مزایای بسیاری برخوردار است. در مقایسه با سایر تکنیک­های بیومتریک، تشخیص چهره ماهیتی غیر تماسی دارد. تصاویر چهره را می­توان از فاصله دور ثبت کرد و بدون نیاز به تعامل با کاربر / شخص، قابل تجزیه و تحلیل هستند. در نتیجه، هیچ کاربری نمی­تواند از شخص دیگری با موفقیت تقلید کند. تشخیص چهره می­تواند به عنوان یک معیار امنیتی عالی برای حضور و ردیابی زمان باشد. تشخیص چهره، فناوری ارزانی است چون مانند سایر روش­های بیومتریک، مستلزم پردازش کمتری می­باشد.

نحوه استفاده از یادگیری ماشین در تشخیص چهره

رویکردی که ما برای تشخیص چهره استفاده خواهیم کرد، بسیار قابل فهم و ساده است اما شما می­توانید در مورد یک مسئله بسیار پیچیده هم این روش را امتحان کنید. بیایید به برسی نحوه کار تشخیص چهره مدرن بپردازیم!

در اینجا هدف، استفاده از شبکه عصبی عمیق برای تشخیص چهره یک شخص است. این یعنی شبکه عصبی برای شناسایی خودکار ویژگی­های مختلف چهره و محاسبه اعداد بر اساس آن، باید آموزش ببیند. خروجی شبکه عصبی را می­توان به عنوان یک شناسه برای چهره یک شخص خاص در نظر گرفت – اگر تصاویر مختلفی از یک شخص را به سیستم بدهید، خواهید دید که خروجی شبکه عصبی بسیار مشابه یا نزدیک خواهد بود، در حالی که اگر تصاویر فرد دیگری را به آن بدهید، خروجی بسیار متفاوت خواهد بود.

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

این مراحلی است که باید طی کنیم:

  1. تشخیص: چهره ها را در تصاویر پیدا کنید
  2. نشانه گذاری[4]: ویژگی های صورت را در تصاویر پیدا کرده و آنها را دستکاری کنید
  3. مقایسه: چهره­ها را در تصاویر شناسایی کنید

مراحل در تشخیص چهره

  1. آماده سازی تصاویر

در اینجا، برای سادگی از یک تصویر استفاده خواهد شد.

  1. نشانه گذاری

در تصویر با دریافت مکان­ها و خطوط چشم، بینی، دهان و چانه هر فرد، دستکاری­ها انجام می­شود.

import face_recognition

image = face_recognition.load_image_file(“your_file.jpg”)

face_landmarks_list = face_recognition.face_landmarks(image)

دریافت نتیجه از تشخیص چهره، کمی خسته کننده است و باید ویژگی­های تشخیص چهره را برای تجزیه و تحلیل مهم دانست.

  1. شناسایی چهره­ها در تصاویر

این کار با تشخیص چهره افرادی که در عکس حضور دارند انجام می­شود.

“جو بایدن” به عنوان شخصی که در عکس حضور دارد، در خروجی مشخص می­گردد.

همچنین می­توان از این روش برای چندین تصویر در یک عکس استفاده کرد و این کار با انتخاب چهره­هایی که در عکس حضور دارند، انجام می­شود. سپس از مراحلی که در بالا گفته شد برای تجزیه و تحلیل ورودی (n) جهت تولید خروجی­های (n) استفاده خواهد شد.

نتیجه

ما با استفاده از یک رویکرد ساده، یعنی با تشخیص، دستکاری و شناسایی خطوط چهره، توانسته­ایم تشخیص دهیم که در عکس، چه کسانی حضور دارند.

این به وضوح نشان می­دهد که یادگیری ماشین در جهان هوش مصنوعی، چقدر سریع جای خود را پیدا کرده است. یکی از نمونه­های روزانه که با آن سر و کار داریم، فیسبوک است که افرادی که در یک عکس حضور دارند را بدون برچسب گذاری دستی، به طور خودکار برچسب می­زند.  این قبلا محقق نشده بود، و افراد در عکس­ها بوسیله­ی پیشنهادها[5] برچسب گذاری می­شدند. 

مترجم: عارف ارازپور

دسته : دسته تست
نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

طراحی توسط نام برند