بخشی از مقاله
چکیده
در این مقاله روشی جدید برای تشخیص صورت زنده از صورتهای جعلی با استفاده از تنها یک تصویر و به کمک الگوریتم شکل از سایه - shape from shading - پیشنهاد شده است. کاربرد اصلی این موضوع در مباحث تشخیص هویت بایومتریک و سیستمهای نوین امنیتی است.
روش ارائه شده با به کارگیری الگوریتم شکل از سایه و به کمک الگوهای سرعت محلی - Local Speed Patterns - و با استفاده از روش دسته بندی ماشین بردار پشتیبانی - Support Vector Machine - میتواند تصاویر صورت زنده را از تصاویر جعلی تشخیص دهد. نتایج عملی بر روی مجموعه داده NUAA بیانگر آن است که با اعمال تنظیمات مناسب، الگوریتم قادر است تا صورتهای واقعی را با سرعت بالا و دقت خوبی از صورتهای جعلی تشخیص دهد و میتوان از آن در سیستمهای تشخیص هویت بایومتریک با هدف جلوگیری از نفوذ افراد غیر مجازی که تصاویر افراد مجاز را از طریق شبکههای اجتماعی یا به هر روش دیگری به دست آوردهاند، استفاده نمود.
-1 مقدمه
امروزه با فراگیر شدن استفاده از شبکههای اجتماعی حجم زیادی از دادههای شخصی در اختیار همگان قرار گرفته است. بخشی از این دادهها شامل تصاویر و ویدیوهاست که در آنها اطلاعاتی از جمله تصویر چهره افراد به راحتی در دسترس است. میزان این اطلاعات به حدی است که با استفاده از آنها و به کمک الگوریتم های تشخیص چهره، میتوان جامعه افرادی را که باهم ارتباط دارند، شناسایی نمود.
از سوی دیگر، با گستردگی استفاده از دستگاههای الکترونیکی مانند تلفن همراه و جایگزین شدن قفل و کلیدهای قدیمی با قفلهای سریع دیجیتال، استفاده از روشهای تشخیص هویت بایومتریک مانند شناسایی و تشخیص بر اساس اثر انگشت ، عنبیه چشم، الگوی رگها در دست و تشخیص فرد از روی چهره اهمیت زیادی پیدا کرده است. به طور ویژه روش تشخیص فرد از روی چهره، به دلیل عدم نیاز به مداخله و تماس فیزیکی با سیستم، مورد توجه قرار گرفته است.
از طرف دیگر سیستمهای امنیتی و تشخیص هویت همواره در معرض خطر نفوذ غیر مجاز و حملههای کلاه بردارانه1 قرار دارند و با توجه به اهمیت دادههای موجود در حافظه این سیستمها، باید راهکاری جهت مقابله با این گونه حملات فراهم گردد.
سیستم تشخیص هویت بر اساس چهره نیز نسبت به این حملات بسیار آسیب پذیر بوده و در برخی موارد به سادگی و با یک عکس از فرد دارای مجوز دسترسی، میتوان سیستم را فریب داد که با توجه به راحتی دسترسی به این گونه تصاویر در شبکههای اجتماعی، باید بتوان روشی برای تشخیص صورت واقعی از انواع صورتهای جعلی2 مانند ماسک ساخته شده از روی تصاویر، عکس پرینت شده، تصاویرگرفته شده از صفحه3 و ویدیوهای کوتاه ارائه کرد. شکل - 1 - برخی از روشهای کلاه بردارانه را که برای نفوذ به این گونه سیستمها مورد استفاده قرار میگیرند نشان میدهد.
شکل - : - 1 چند مثال از روشهای کلاه بردارانه برای فریب سیستمهای امنیتی طراحی شده بر اساس تشخیص چهره
الف - ویدیویی از پلک زدن / ب - تصویری از صفحه / ج - ماسک / د - عکس
برای تشخیص صورت زنده از صورت جعلی چندین روش متفاوت ارائه شده است. در حالت کلی اغلب روشهای موجود را میتوان در سه دسته اصلی تقسیم بندی نمود: -1 روشهای مبتنی بر حرکت صورت4 -2 روشهای مبتنی بر طیف5 و -3 روش های مبتنی بر کیفیت تصاویر. 6 البته برخی از الگوریتمهای پیشنهادی ترکیبی از این دستهها و یا ابداعی بوده و در این دسته بندی جای نمیگیرند.
روشهای مبتنی بر حرکت صورت به دنبال تشخیص حرکات طبیعی صورت مانند پلک زدن [4,5] ،حرکت دهان [6] و چرخش سر [7] هستند. همچنین میتوان از میزان همبستگی - از نظر حرکات - بین پس زمینه و پیش زمینه برای تشخیص صورت زنده استفاده کرد. بدین صورت که میزان هم بستگی بین سر کاربر و پس زمینه را برای شناسایی حملههای کلاه بردارانه مورد استفاده قرار داد
این گونه روشها گرچه سادهاند، اما به چندین فریم برای دنبال کردن اجزاء چهره نیاز دارند که موجب افزایش زمان تشخیص میشود. علاوه بر این لازم است تا کاربر با سیستم تعامل و همکاری کرده و با انجام برخی حرکات در صورت خود از جمله صحبت کردن، پلک زدن یا قرار دادن سر خود در زوایای مختلف در مقابل دوربین، سیستم را قفل گشایی کند. علاوه بر مشکل فوق، این گونه روشها به سادگی و با تهیه یک فیلم کوتاه از کاربر مجاز قابل فریب دادن هستند. به عنوان مثال در حالتی که فیلمی کوتاه از پلک زدن کاربر دارای مجوز تهیه و به سیستم داده شود، به سادگی میتوان به سیستم نفوذ کرد.
دستهای دیگر از روشها سعی در شناسایی تفاوتهای موجود در بین طیف صورتهای زنده و صورتهای جعلی داشته تا با استفاده از این تفاوت و به کمک دسته بندی کنندهها7 بتوانند تشخیص را انجام دهند.
مزایای این دسته الگوریتمها عدم نیاز به همکاری کاربران و اطاعت از دستورالعملی خاص میباشد که در نتیجه تشخیص راحتتر و سریعتر انجام میشود. همچنین نیازی نیست که فاصله کاربر از سیستم مقداری ثابت باشد. شیوههای مبتنی بر حرکت در حالتی که توسط یک ماسک با قسمتی متحرک و یا ویدیو کوتاه مورد حمله قرار بگیرند، به سادگی فریب داده میشوند. اما در روشهای مبتنی بر طیف این نقطه ضعف برطرف گشته است.
در یکی از روشهای پیشنهادی بر مبنای طیف، اختلاف بازتاب نور از صورت زنده و صورت جعلی در میزان روشنایی متفاوت، اندازه-گیری شده است و سپس با استفاده از تفکیک کننده خطی فیشر8 تشخیص انجام شده است
روشهای چند طیفی9 نیز بازتاب از سطح اشیاء را شناسایی می-کنند. نمونهای از این روشها، تشخیص چهره زنده با استفاده از یادگیری توزیع بازتاب چند طیفی میباشند. پیشنهاد دهندگان روش ارائه شده در [10] با اندازهگیری منحنی بازتاب نور از مواد مختلف، از جمله پوست انسان و مواد دیگر، موفق به اندازهگیری دو طول موج متفاوت شده و از آن برای تشخیص استفاده کردهاند. در این روش از مدل Lambertian در حالی که فاصله کاربر تا سیستم متغیر و بدون محدودیت است استفاده شده و منحنی بازتاب از پوست انسان و سایر مواد با اندازهگیری عملی، محاسبه میشود. همچنین دستگاهی برای دریافت دادههای چند طیفی از صورت با هدف شناسایی صورت زنده ساخته شده است و از دسته بندی کنندهها برای تشخیص استفاده میشود.
سومین دسته از روشها مبنای تصمیم گیری را بر کیفیت تصویر گرفته شده قرار میدهند. در این روشها فرض بر این است که در شرایط تصویر برداری یکسان، تصاویر تهیه شده از صورت های جعلی دچار اعوجاج بیشتری خواهند شد. Tan و همکاران[11] به این موضوع پرداختهاند که ظاهر شخص در شرایط نوری مختلف، متفاوت است. آنها همچنین نشان دادهاند که فاکتورهای زیادی به دوربین وابسته است که میتوانند کیفیت تصویر را تحت تأثیر قرار دهند و در نتیجه تشخیص صورت زنده از عکس را دشوارتر کنند. آنها در روش پیشنهادیشان دسته بندی کننده رگراسیون خطی از نوع پراکنده استاندارد10 را به صورت غیرخطی و فضایی توسعه دادهاند و برای مقابله با حملات کلاه بردارانه از دسته بندی دودویی استفاده کردهاند. این محققین ، اطلاعات بافت را با فیلتر DoG ترکیب کردهاند و از این روش برای بهبود عملکرد تشخیص صورت زنده از جعلی استفاده کرده اند.
Li و همکارانش روشی را بر اساس ضرایب تبدیل فوریه ارائه کردهاند .[12] در این روش نشان داده شده است که تصاویر گرفته شده از صورتهای جعلی اطلاعات بیشتری را از دست دادهاند که این اطلاعات بیشتر شامل ضرایب فرکانس بالا میشود. در واقع علت این موضوع این است که در موردهای جعلی دو بار تصویر برداری رخ داده است.
در [13] و با رویکردی مشابه با [11] ، با استفاده از فیلترهای DoG ، اطلاعات فرکانسی کافی برای تشخیص صورت زنده از روی تصویر استخراج میشود و تصمیمگیری بر اساس این اطلاعات انجام میگیرد.
در [14] نیز با استفاده از الگوهای باینری محلی چند گانه، ریز بافتها را ،که نشانههایی از زنده بودن - واقعی بودن - صورت هستند، استخراج کرده اند.
در رویکردی دیگر [15] ، این ریز بافتها در ناحیهی اجزاء صورت، چشمها و بینی، استخراج شدهاند و تشخیص بر اساس اطلاعات بدست آمده از آنها انجام میگیرد.
ادامه این مقاله به صورت زیر ساماندهی شده است : در بخش دوم روش پیشنهادی مطرح و توضیح داده شده است. در بخش سوم نتایج عملی استفاده از الگوریتم بر روی مجموعه داده NUAA با ذکر توضیحات آورده شده است. در پایان و در بخش چهارم نیز نتیجه گیری بیان شده است.
-2 روش پیشنهادی در این مقاله
در روش پیشنهادی این مقاله، برای تشخیص صورت زنده از صورت جعلی از تکنیک شکل از سایه یا SFS11 استفاده شده است. هدف از SFS استخراج مشخصهای از بعد سوم تصاویر دوبعدی است که به کمک آن میتوان به پستی و بلندیها و عمق شکل موجود در تصویر پی برد. تصویر حاصل از SFS به شیوههای مختلف قابل نمایش است: عمق - , - ، نرمال سطح - , , - 12 ، گرادیان سطح - - , ، کجی سطح - - 13 و شیب. - - 14
عمق را میتوان فاصلهی نسبی دوربین تا نقاط سطح و یا ارتفاع نسبی سطح از صفحه ی xy در نظر گرفت. نرمال سطح جهت برداری است که بر صفحه ای مماس بر سطح جسم، عمود باشد. گرادیان سطح - , - = - , - ، نرخ تغییرات عمق در جهتهای x و y را مشخص میکند. کجی سطح و شیب نیز مقادیری هستند که با توجه به نرمال سطح قابل محاسبه میباشند.
تکنیکهای SFS را میتوان به چهار گروه تقسیم کرد [16] که عبارتند از: -1 روشهای کمینه کردن-2 15 روشهای انتشار-3 16 روش های محلی17 و -4 روشهای خطی.
در روش پیشنهادی Pentland برای [17] SFS از تقریب خطی تابع انعکاس بر حسب گرادیان سطح استفاده شده است و تبدیل فوریه برای این تابع خطی به منظور محاسبه عمق در هر نقطه از سطح به کار گرفته شده است.
برای تشخیص صورت زنده از صورت جعلی، در روش پیشنهادی این مقاله، ابتدا SFS پیشنهادی Pentland را روی تصویر اعمال می کنیم. با این روش عمق تصویر در هر نقطه بدست میآید. اساس عملکرد روش پیشنهادی این مقاله متفاوت بودن عمق تصاویر گرفته شده از صورت زنده و تصاویر گرفته شده از روی سایر تصاویر و ویدیوهاست چرا که صورت زنده سه بعدی است و تصاویر و ویدیوهایی که به عنوان صورت جعلی به کار میروند، دو بعدی هستند.
در ادامه و با استفاده از فرمولهای - 1 - و - 2 - ، تصویر 18 LSP را از نتیجه تصویر حاصل شده از SFS بدست میآوریم.
در رابطه - 2 - ، I تصویری است که میخواهیم تصویر LSP را از روی آن بدست بیاوریم.
برای بدست آوردن تصویر LSP یک همسایگی مربع با ابعاد 3 پیکسل در 3 پیکسل، حول هر پیکسل اختیار میکنیم . در فرمول - - 2 ، - , - بیانگر پیکسلهای همسایهی پیکسل هستند. بنابراین مقادیردر بازهی بین 0 تا 255 خواهد بود و تصویر LSP حاصل به صورت مقیاس خاکستری19 قابل نمایش است. همسایگی در نظر گرفته شده برای هر پیکسل، در شکل - 2 - نشان داده شده است.
شکل - : - 2 همسایگی در نظر گرفته شده برای هر پیکسل به منظور محاسبه تصویر LSP
حال ویژگیها را از تصویر LSP استخراج میکنیم و هیستوگرام را با توجه به آنها بدست میآوریم. در شکل - 3 - مراحل پیش پردازش الگوریتم پشنهادی نشان داده شده است.
شکل - : - 3 مراحل پیش پردازش و بدست آوردن تصویر LSP
الف - تصویر اصلی / ب - تصویر حاصل از SFS / ج - همسایگی هر پیکسل در تصویر / د - محاسبه