برخلاف تشخیص چهره در سیستمهای امنیتی، احراز هویت با رمز عبور اغلب یکی از پیوندهای ضعیف در زنجیره امنیتی است. زیرا تهدیدی دائمی برای صنایع و سازمانها به وجود میآورد. کسبوکارها برای افزایش سطح دفاع خود باید مجددا به استراتژیک احراز هویت خود فکر کنند. در ادامه، بررسی میکنیم روشهای احراز هویت چگونه میتوانند با بازشناسی چهره توسط هوش مصنوعی تکمیل شوند.
احراز هویت در مرکز تقویت جایگاه امنیت سازمان است. احراز هویت با تشخیص چهره نیز سازمان را قادر میسازد تا سیستمهای خود را ایمن نگه دارد و فقط به کاربران یا فرایندهای احراز هویت شده اجازه دسترسی به منابع حفاظت شده بدهد. از جمله این موارد سیستمهای کامپیوتر، شبکهها، پایگاه داده، وبسایتها و سایر اپلیکیشنها و خدمات شبکه هستند.
رمزهای عبور، شکل سنتیتر احراز هویت است. اما حفاظت ضعیفی فراهم میکنند. چرا که ممکن است کاربران رمز عبور ضعیفی تعیین کنند یا مثلا از رمزعبور خود مجددا استفاده کنند. یا از رمزعبورهای قابل پیشبینی استفاده کنند یا حتی رمز عبور خود را با دیگران به اشتراک بگذارند.
تعداد زیادی از شرکتها برای مقابله با این وضعیت، از فناوریهای هوش مصنوعی (AI) و یادگیری ماشینی (ML) از جمله تکنیکهای مبتنی بر یادگیری عمیق استفاده میکنند تا رویکردهای احراز هویت امن را بیشتر و بهتر بسط دهند.
الگوریتمهای هوش مصنوعی/ یادگیری ماشینی با حفاظت از وسایل ما نسبت به حملات سایبری و پیشگیری از فعالیتهای کلاهبرداری، موجب تقویت امنیت سایبری شوند. در این پست، راهکار هوش مصنوعی بر اساس یادگیری عمیق و دیدگاه کامپیوتر را برای اجرای تشخیص چهره بر اساس احراز هویت زیستسنجی معرفی میکنیم.
بازشناسی یا تشخیص چهره چیست؟
فناوری بازشناسی یا تشخیص چهره موضوع جدیدی نیست. احتمالا همه شما هم اکنون در زندگی روزمره خود نیز از آن استفاده میکنید. زیرا امروزه بیشتر ما از تلفن هوشمند استفاده میکنیم که اغلب فناوری بازشناسی چهره را برای باز کردن قفل تلفن استفاده میکند.
این فناوری یک راه قدرتمند برای حفاظت از دادههای شخصی و اطمینان از این است که حتی اگر تلفن به سرقت رود، دادههای حساس آن در دسترس سارق قرار نخواهد گرفت. فناوری تشخیص چهره برای مجموعه زیادی از حوزهها از جمله امنیت، ایمنی و پرداخت استفاده میشود و حوزه استفاده از آن هر روز در حال افزایش است.
بازشناسی چهره دقیقا چه کار میکند؟
بازشناسی چهره یکی از مشکلات اصلی در شناسایی و تایید هویت فرد در تصاویر ویدئویی یا فریمهای ویدئویی در دادهها و الگوهای زیستسنجی چهره است. فناوری، مجموعه دادههای زیستسنجی منحصر به فردی از هر فرد را جمع آوری میکند که چهره و حالات صورت آنها را نیز در بر میگیرد تا به این وسیله، فرد را احراز هویت کند. فناوری بازشناسی یا تشخیص چهره بیشتر برای دو نوع از کارها استفاده میشود:
- تایید هویت چهره : با توجه به تصویر چهره، آن را با تصاویر مشخص در پایگاه داده تطبیق میدهد تا تصمیم بله یا خیر بگیرد. مثلا آیا این شخص همان فردی است که ادعا میکند یا خیر؟ آیا اطلاعات این شخص در پایگاه داده وجود دارد یا خیر؟
- شناسایی چهره : با توجه به تصویر چهره، آن را با تصاویر شناخته شده در پایگاه داده ایمن تطبیق میدهد تا مشخص کند این تصویر متعلق به چه کسی است. مثلا این شخص کیست؟ شناسایی اینکه این تصویر جان دو یا مارک تواین است یا خیر.
سیستم بازشناسی چهره سرتاسری برای احراز هویت بیومتریک
تیم شتاب دهنده جهانی هوش مصنوعی اریکسون (GAIA) بر روی اثبات مفهومی کار میکنند که قصد دارد احراز هویت را ایمنتر کند. هر چند شرکتهای دیگری نیز در بازار هستند که محصولات یا خدمات تجاری را برای کمک به ساخت اپلیکیشنهای بازشناسی چهره ارائه میکنند، اما تیم جایا بیشتر از ابزارهای منبع باز برای ساختن راهکارهایی با هوش مصنوعی استفاده میکند که در موبایل یا سایر وسایل پیشرفته نیز استفاده میشوند.
با توجه به محدودیت منابع، مثلا محل ذخیره و حافظه محدود در وسایل، لازم است هنگام انتخاب بهترین مدلهای ممکن در هوش مصنوعی، توازن خوبی میان پیچیدگی مدل، عملکرد و زمان پاسخگویی برقرار شود. یکی از عوامل مهمی که باید در نظر گرفته شود، قابلیت اعتماد مدلهای هوش مصنوعی در بازشناسی چهره است. اریکسون دستورالعملهایی برای توسعه هوش مصنوعی قابل اعتماد و پشتیبانی از این فعالیتها طراحی کرد.
شکل زیر طراحی معماری سیستم تشخیص چهره سرتاسری را برای احراز هویت بیومتریک نشان میدهد. در این سیستم تعداد نسبتا کمی از تصاویر یا فریمهای ویدئویی به عنوان ورودی استفاده میشود. به این ترتیب که چهره انسانها را آشکار کرده و مشخص میکند آیا چهرهها با تصاویر چهره در پایگاه داده کاربران ثبت نامی تطبیق دارد یا خیر.
اگر تطبیقی یافت شد، نشان میدهد هویت آن فرد از نظر زیست سنجی تایید شده است. در غیر این صورت هویت او تایید نمیشود. سیستم از چهار ماژول پایه تشکیل میشود:
- آشکارسازی چهره
- تنظیم کردن چهره
- کدگذاری چهره
- تطبیق چهره
به علاوه، بررسی زنده بودن چهره به عنوان یکی از ماژولهای اختیاری افزوده میشود تا اطمینان حاصل شود شخصی که احراز هویت میشود، یک فرد واقعی است و سیستم توسط عکس یک شخص هدف، گول نخورده است.
۱) آشکارسازی چهره
آشکارسازی چهره، گام اول در روند احراز هویت است. این فرایند شامل یافتن چهره در تصویر است. این مرحله فقط بر یافتن چهره تمرکز دارد و تعیین هویت را انجام نمیدهد. آشکارساز در سیستم تشخیص چهره فوق سبک به عنوان یک مدل پیش فرض آشکارسازی چهره تنظیم میشود. زیرا عملکردی عالی در آشکارسازی چهرهها از زوایای مختلف دارد.
این سیستم فقط محدود به آشکارسازی چهره از جلو نیست. به علاوه، آشکارساز یک مدل سبک وزن است و میتواند با سرعت زیادی چهرهها را آشکار کند.
۲) تنظیم چهره
تنظیم چهره مرحله بعد و پس از آشکار شدن چهره در تصویر است. اغلب اوقات هنگامی که فرد عکس میگیرد، ممکن است مستقیما رو به دوربین نباشد. اما تنظیم چهره میتواند این مشکل را رفع کند. حتی اگر چهرهای در مسیرهای مختلف بچرخد، سیستم هنوز میتواند تشخیص دهد آیا همان فرد است یا خیر.
به ویژه الگوریتمی به نام تخمین چشمانداز چهره برای یافتن مکانهای اختصاصی چهرهای به کار میرود. مثلا نقاط ویژهای که در هر چهرهای وجود دارد مانند بالای چانه، لبه بیرونی هر چشم، لبه داخلی هر ابرو و غیره.
شکل زیر مثالی از یک مدل چهره با ۶۸ نقطه مکانی را نشان میدهد که در الگوریتم هوش مصنوعی برای یافتن نقاط خاص هر چهره استفاده میشود. وقتی مکان این ساختارهای هندسی کلیدی در چهره شناسایی شد. هر گردش، تفسیر و بازنمایی مقیاس از آن چهره، میتواند نرمال سازی شود. صرف نظر از اینکه این چهره چطور چرخیده است، چشمها و دهان میتوانند در مکان یکسانی از تصویر، یافت شوند. وقتی تصویر تنظیم شد، مرحله بعدی فرایند تطبیق چهره، صحیحتر انجام خواهد شد.
۳) رمزگذاری چهره
گام سوم در سیستم تشخیص چهره رمزگذاری چهره است. در این فرایند، بخشهای کلیدی چهره از طریق چشمهای کامپیوتر شناسایی میشود. از آنجا که کامپیوترها فقط اعداد را شناسایی میکنند، به یک راهکار قابل اطمینان برای تبدیل تصاویر چهره به اعداد/ اندازهگیریها نیاز داریم تا چهره نمایش یابد.
یافتن روش مناسبی برای رمزگذاری چهره، کاری چالش برانگیز بود. مدلهای یادگیری عمیق از جمله مدل شبکه عصبی حلقوی (CNN) اغلب با استفاده از پایگاه داده بزرگی از تصاویر چهره آموزش دیدهاند تا بهترین بازنماییهای چهره در هر چهره را محاسبه کنند.
هدف این آموزش، تولید رمزگذاریهای تقریبا یکسان هنگام نگاه کردن به تصاویر مختلفی از یک شخص است، که در عین حال بتوان اندازهگیریهای کاملا متفاوتی هنگام نگاه کردن به تصاویر افراد مختلف، تولید کرد.
پس از جستجوی تعداد زیادی از مدلهای مختلف، مدل پیش آموزشی رزنت (Resent) که در Dlib تهیه شد، برای مدل رمزگذاری چهره انتخاب شد. این مدل یک مدل ResNet-34 بود که با حذف چندین لایه و بازسازی با ۲۹ لایه حلقوی، تعدیل شد.
این مدل رزنت، ورودیهای تصویری با ابعاد ۱۵۰×۱۵۰×۳۰ را دریافت کرده و هر تصویر چهره را به عنوان اندازهگیریهای ۱۲۸ dim بازنمایی/ رمزگذاری میکند. وقتی شبکه مدل طراحی شد، مدل از پیش آموزش دیده با توجه به مجموعه دادهای در حدود ۳ میلیون چهره، آموزش دید.
مجموعه دادههای چهره بیشتر از دو پایگاه داده چهره منبع باز، مجموعه داده جراحی چهره، و مجموعه داده VGG به دست آمد. طراحی مدل ResNet-34 در شکل ۳ نشان داده شده است.
۴) تطبیق چهره
پس از کدگذاری چهره، گام نهایی اجرای تطبیق چهره انجام میشود. در این مرحله لازم است فاصله دو رمزگذاری/ اندازهگیری متناظر با دو چهره محاسبه شده و فاصله آن با آستانه، مقایسه شد. اگر فاصله کمتر از آستانه باشد، آنگاه دو چهره متعلق به یک نفر تعیین میشوند. در غیر این صورت، دو چهره مربوط به دو فرد متفاوت هستند.
دو نوع کار اصلی در تطبیق چهره انجام میشود:
- شناسایی هویت چهره : فرایندی که شامل یافتن فردی در پایگاه دادههای کاربران ثبتنام شده و شناخته شده است که نزدیکترین کدگذاری (مثلا کمترین فاصله) را با تصویر چهرهای که آزمایش میشود، دارند.
- تایید هویت چهره : رمزگذاری تصویر چهره آزمایشی را با رمزگذاری هدف (مثلا رمزگذاری کاربر مجاز) مقایسه میکند. اگر دو رمزگذاری به قدر کافی نزدیک باشند (مثلا کمتر از آستانه)، هویت فرد آزمایش شده، تایید میشود.
۵) آشکارسازی زنده بودن چهره
علاوه بر کارکرد اصلی بازشناسی چهره، آشکارسازی زنده بودن چهره نیز در روند بازشناسی به کار میرود. این یک ویژگی انتخابی است تا اطمینان حاصل شود چهرهای که احراز هویت میشود، مربوط به فردی واقعی است و مربوط به یک عکس یا فریم ویدئو نیست.
مدلهایی که بر اساس حرکت کار میکنند از جمله آشکار سازی پلک زدن و آشکارسازی حرکت دهان به عنوان بخشی از بررسی زنده بودن تصویر به کار میروند. وقتی ویژگی آشکارسازی زنده بودن به کار میرود، سیستم با توجه به الگوی دهان بسته-باز-بسته، پلک زدن چشم را نشان میدهد تا تایید کند این شخص در حالت زنده است یا خیر.
۱-۵) آشکارسازی پلک زدن
شخص واقعی به صورت ناخودآگاه پلک میزند. مدل آشکارسازی پلک زدن سعی میکند الگوی چشمهای باز-بسته-باز را در فریمهای مختلف نشان دهد. مکان چشمها در مرحله تنظیم چهره مشخص میشود تا سپس برای محاسبه نسبت چشمها به کار رود. نسبت چشمها نیز برای پیشبینی باز یا بسته بودن چشم با استفاده از مدل یادگیری ماشینی بر اساس ماشین بردار پشتیبانی (SVM) به کار میرود. زیرا مدل یادگیری ماشینی، آشکارسازی دقیقتری از وضعیت چشمها را در مقایسه با روش پیشوندی آستانهای ارائه میدهد.
۲-۵) آشکارسازی حرکت دهان
وقتی محل دهان در مرحله تنظیم چهره تعیین میشود، نسبت وجه دهان محاسبه میشود تا وضعیت باز یا بسته دهان تعیین شود. از آنجا که حساسیت دهان کمتر از چشم است، تعیین یک آستانه ثابت، به اندازه کافی خوب است تا تصمیمگیری بر اساس آن انجام شود. اگر نسبت وجه دهان بزرگتر از این آستانه باشد، در گروه باز طبقه بندی میشود.
نتایج
سیستم حدود ۱۲۰ Mb فضا نیاز دارد تا همه مدلهای به کار رفته برای سیستم را نگهداری کند. از جمله آشکارسازی چهره، تنظیم چهره، کدگذاری چهره و آشکارسازی زنده بودن چهره. میانگین زمان اجرای سیستم، ۹.۶۷ فریم در ثانیه است (FPS).
هر قدر FPS بالاتر باشد، کیفیت انیمیشن بهتر است و با ۷تا ۸ FPS، انیمیشن نسبتا خوبی به دست میآید. سیستم میتواند صحتی نزدیک به صحت کامل را بر اساس تصاویر چهره آزمایشی ما به دست آورد و تقریبا همیشه میتواند هویت فرد را به درستی تایید کند.
یوآیدی نیز این فرآیند را با استفاده از الگوریتمهای هوش مصنوعی مانند یادگیری عمیق و تشخیص زنده بودن چهره کاربر انجام می دهد. با یوآیدی نیازی به تعیین رمزهای عبور و یا حفظ آنها نیست. چرا که خود چهره کاربر و حضور وی مجوز ورود و استفاده کاربر از خدمات مورد نظر می باشد. بنابراین استفاده از سیستم احراز هویت یوآیدی اطمینان بیشتری به کاربران میدهد. زیرا با ضریب خطای کمتر از ۰.۰۱ درصد به انجام امور خود میپردازد.