هدف از انجام این پروژه طراحی و پیاده سازی یک سیستم است که تصویر دو چهره ورودی که برای احراز هویت به آن داده میشود را با هم مقایسه کرده و عددی را به عنوان میزان تشابه آن دو چهره برگرداند. سپس برای پذیرش احراز هویت، یک آستانه را برای میزان شباهت تعیین کند که اگر میزان شباهت از آن مقدار بیشتر بود، سیستم آن مقایسه را به عنوان تطبیق بپذیرد و در غیر اینصورت آن را رد کند. این حد آستانه باید به گونه ای باشد که خطا روی پایگاه داده آزمون، کمترین میزان باشد. منظور از خطا، جمع مقدار FAR1 و FRR2 می‌باشد.

  • برای دریافت داده‌های آموزش و آزمون لطفا به آزمایشگاه دکتر آنالویی مراجعه نمایید.

۱. مقدمه

تشخیص هویت همواره از اهمیت زیادی بین انسان ها برخوردار بوده و است. استفاده از روش هایی مانند داشتن پسورد و پین کد برای تشخیص هویت با خطر فراموشی و مبادله بین افراد مواجه اند، امروزه برای تشخیص هویت با قابلیت اطمینان بالا از سیستم های بیومتریک3 استفاده می شود. واژه بیومتریک از زبان یونانی می آید و برگرفته از دو واژه بیو4 به معنی زندگی و متریک5 به معنی اندازه گیری است. بیومتریک فناورى و علم اندازه گیرى و تحلیل خصوصیات بدن انسان مانند اثرانگشت، شبکیه چشم،الگوى رگ ها،عنبیه،الگوهاى صوتى،الگوهاى چهره است که به منظور تشخیص هویت انجام مى پذیرد. بنابراین در سیستم های بیومتریک، شناسایی افراد با تشخیص "این افراد که هستند" به جای "این افراد چه می دانند" صورت می گیرد ، زیرا پسورد و پین کد ممکن است فراموش شوند یا بین افراد مبادله شوند اما در مورد ویژگی های فیزیولوژیکی این امکان وجود ندارد.[1]

چند نمونه ازسیستم های بیومتریک:[1]

  1. بازشناسی چهره6

  2. عنبیه7

  3. اثر انگشت8

  4. رگ انگشت9

  5. بازشناسی لب10

  6. بازشناسی صوت11

    جدول زیر به مقایسه سیستم های بیومتریک نام برده شده می پردازد.

    مقایسه سیستم های بیومتریک

روش های بیومتریک جدید و در حال ظهور :[1]

  1. بازشناسی عطر انسان12

  2. بیومتریک EEG13

  3. طیف سنجی پوست14

  4. بافت بند انگشت15

  5. بازشناسی ناخن16

در این پروژه به بررسی سیستم بیومتریک مبتنی بر بازشناسی چهره پرداخته می شود.

۲. بازشناسی چهره

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

وظایف بازشناسی چهره[3]

  1. تایید17 چهره : در برنامه های کاربردی مورد نیاز است که دارای تعامل با کاربر به صورت ادعای هویت می باشند و به آن تطبیق یک به یک18 هم گویند.
    تست تایید با تقسیم افراد به 2 گروه انجام می شود:

    1. مشتریها19 : افرادی که تلاش می کنند با هویت خودشان دسترسی پیدا کنند.

    2. وانمود کنندگان20 : افرادی که در تلاشند تا با یک هویت اشتباه دسترسی پیدا کنند مثلا با هویتی که برای سیستم شناخته شده است اما متعلق به آن فرد نیست.
      در این میان تعدادی از وانمود کنندگان موفق می شوند تا دسترسی پیدا کنند که درصدشان محاسبه و به عنوان نرخ پذیرش اشتباه (FAR ) گزارش می شود و تعدادی از مشتری ها رد شده و نمی توانند دسترسی پیدا کنند که درصدشان به عنوان نرخ رد کردن اشتباه (FRR) گزارش می شود.

  2. شناسایی چهره21 : عمل شناسایی بیشتر در برنامه های کاربردی مورد نیاز است که بر اساس تعامل کار نمی کنند و به آن تطبیق یک به چند22 نیز گویند. مانند برنامه های کاربردی نظارت. تست شناسایی با توجه به در نظر داشتن این فرض است که تمامی چهره های موجود در تست متعلق به افراد شناخته شده اند و به درصد درست شناسایی چهره ، نرخ شناسایی صحیح (CIR23) و به درصد اشتباه شناسایی چهره ، نرخ شناسایی اشتباه (FIR24) گویند.

  3. لیست مراقبت25 : تعمیمی است از شناسایی چهره که شامل افراد ناشناخته هم می شوند. تست لسیت مراقبت هم مانند تست شناسایی CIR و FIR را گزارش می دهد اما می تواند FRR و FAR مربوط به خودش را هم داشته باشد تا میزان حساسیت لیست مراقبت را نشان دهد مثلا به این معنی که چه مقدار از افراد ناشناخته به عنوان در دسته افراد در لیست مراقبت قرار می گیرند( FAR )

مراحل سیستم بازشناسی چهره:[4]
روند بازشناسی چهره به طور معمول دارای چهار مرحله وابسته به هم می باشد:

  1. کشف چهره26

  2. نرمال سازی27 چهره

  3. استخراج ویژگی28

  4. بازشناسی چهره

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

  1. کشف چهره: در این مرحله تصمیم گرفته می شود که کدام یک از پیکسل ها بخشی از چهره می باشند و کدام یک نمی باشند و به این ترتیب فضای چهره29 را از پس زمینه اش جدا می کند. در حالتی که بازشناسی چهره در یک ویدئو مورد بررسی قرار می گیرد، چهره ای که تشخیص داده شده است باید در بین چندین فریم30 به صورت پیوسته پیگیری شود . به طور معمول، روش هایی که به نشانه گذاری31 چهره می پردازد، روش هایی که به یافتن رنگ چشم در ناحیه دایره ای می پردازند و همچنین روش هایی که از الگوی ویژگی استفاده می کنند در کشف چهره مورد استفاده قرار می گیرند.

  2. نرمال سازی چهره: زمانی که چهره کشف شد و از پس زمینه اش جدا شد، باید نرمال شود، به این معنی که چهره باید از لحاظ اندازه، زاویه، نور پردازی و غیره استاندارد شود که این امر به تصاویر موجود در پایگاه داده ای که از آن استفاده می شود وابسته است. برای نرمال سازی تصویر ، نشانه گذاری های کلیدی چهره باید به صورت کاملاً دقیق انجام شود. با استفاده از این نشانه گذاری ها الگوریتم نرمال سازی می تواند تصویر را برای اعمال تغییرات اندکی میزان کند.

  3. استخراج ویژگی: بعد از اتمام فرایند نرمال سازی نوبت به مرحله استخراج ویژگی می رسد. در این مرحله یک نمایش ریاضی که به آن الگوی بیومتریک یا مرجع بیومتریک گفته می شود تولید می گردد و در پایگاه داده ذخیره شده و پایه و اساس هر عمل یازشناسی را تشکیل می دهد.

  4. بازشناسی چهره: در آخرین مرحله، از الگوی بیومتریک تولید شده در مرحله قبل استفاده می شود به این صورت که برای سیستم های بازشناسی یک به یک، الگوی بیومتریک دو چهره با هم مقایسه شده و خروجی به صورت بله و خیر می باشد و در سیستم های بازشناسی یک به چند، الگوی بیومتریک چهره مورد نظر با الگوی بیومتریک سایر چهره های موجود در پایگاه داده مقایسه می شود و خروجی به گونه ایست که یک شناسه و یک سطح اطمینان را به سیستم بازمی گرداند. چالش برانگیز ترین قسمت در این سطح پیدا کردن یک پارامتر خوب برای میزان شباهت بین تصاویر است.

تصویر زیر مراحل یک سیستم بازشناسی چهره را نشان می دهد.

مراحل سیستم بازشناسی چهره

چالش های یک سیستم بازشناسی چهره [4]

  1. کیفیت تصویر32 : مهم ترین انتظاری که از یک سیستم بازشناسی چهره می توان داشت این است که از تصاویر با کیفیت بالا استفاده کند و یک تصویر با کیفیت، تصویریست که تحت شرایط دلخواه ما گرفته شده باشد. کیفیت تصویر برای استخراج ویژگی بسیار مهم است. اگر کیفیت تصویر خوب نباشد، حتی بهترین الگوریتم های بازشناسی چهره نیز بد عمل می کنند.

  2. نور پردازی33 : یک چهره با تغییر میزان نور متفاوت به نظر می رسد. عکس زیر تصویر چهره در نورپردازی های متفاوت را نشان می دهد.

    تصویر چهره در نورپردازی های متفاوت

  3. زوایای متفاوت34 : معمولاً داده های آموزشی که در یک سیستم بازشناسی تصویر استفاده می شود، چهره از روبه رو می باشد، زیرا تصویر از رو به رو نسبت به زوایای دیگر شامل اطلاعات مهمتری می باشد. مشکل زمانی پیش می آید که سیستم بخواهد یک تصویر زاویه دار را با استفاده از پایگاه داده ای از تصاویری از رو به رو شناسایی کند، بنابراین باید در پایگاه داده از هر چهره، تصاویری از زوایای متفاوت نگه داری شود. تصویر زیر پایگاه داده ای از چهره یک فرد در زوایای مختلف را نشان می دهد.

    پایگاه داده ای از چهره یک فرد در زوایای مختلف

الگوریتم های بازشناسی چهره[5]
در این قسمت به معرفی اجمالی تعدادی از الگوریتم های بازشناسی چهره پرداخته می شود:

  1. الگوریتم تحلیل اجزای اصلی(PCA35 ): الگوریتم PCA که به نام روش Karhunen-Loeve نیز شناخته می شود، یکی از محبوب ترین روش ها برای انتخاب ویژگی و کاهش ابعاد می باشد. بازشناسی چهره انسان با استفاده از PCA اولین بار توسط Turk and Pentland انجام شد. این روش بازشناسی که به نام روش چهره ویژه نیز شناخته می شود یک فضای ویژگی معرفی می کند که ابعاد فضای داده را کاهش می دهد و از این فضای داده کاهش یافته برای بازشناسی استفاده می شود. قدرت متمایز سازی ضعیف در کلاس و همچنین محاسبات بالا، از معایب رایج و شناخته شده PCA محسوب می شوند. این معایب توسط الگوریتم LDA برطرف شد.

  2. الگوریتم تحلیل جدا سازی خطی (LDA36 ): الگوریتم LDA یکی از برجسته ترین الگوریتم های استخراج ویژگی است، اما بسیاری از سیستم های بازشناسی چهره ای که از این الگوریتم استفاده می کنند، ابتدا با استفاده از PCA ابعاد را کاهش می دهند سپس از LDA برای افزایش قدرت جداسازی استفاده می کنند. علت این است که LDA مشکل کوچک بودن سایز نمونه را دارد در حالیکه برای جداسازی خوب ویژگی های انتخاب شده نیاز است که از هر کلاس تعداد زیادی نمونه داشته باشیم، بنابراین اگر بخواهیم مستقیماً از LDA استفاده کنیم، جداسازی ضعیفی صورت می گیرد.

  3. الگوریتم SVM37 : این الگوریتم یکی از مفیدترین تکنیک ها در مساله دسته بندی به شمار می آیدکه یک مثال روشن آن بازشناسی چهره می باشد. به هر حال زمانی که بردار ویژگی هایی که نمونه ها را مشخص می کند اطلاعات مربوط به یک سری از ورودی ها را از دست می دهد نمی توان از SVM استفاده کرد.

  4. الگوریتم تحلیل اجزای مستقل (ICA38 ): الگوریتم ICA روشی است برای یافتن فاکتورها و اجزای اصلی از داده های آماری چند بعدی. برای تصاویر چهره ای که دارای زاویه است و یا از نظر شدت نور شرایط متفاوتی دارد، استفاده از الگوریتم ICA مفید است زیرا نتایج بهتری را نسبت به سایر سیستم های موجود می دهد. آنچه ICA را از سایر الگوریتم ها متمایز می سازد این است که ICA به دنبال اجزاییست که هم از نظر آماری مستقل باشند و هم غیر گاوسی باشند.

  5. الگوریتم شبکه عصبی مصنوعی (ANN39 ): پرسپترون چند لایه (MLP40 ) با الگوریتم یادگیری فید فوروارد41 به دلیل سادگی و قابلیت اش در تطابق الگوی با ناظر، برای این سیستم ها انتخاب شده است.

۳. کارهای مرتبط

بعد از اینکه با هدف بازشناسی چهره، وظایف، مراحل، چالش ها و برخی از الگوریتم های آن آشنا شدیم به بررسی کارهای مرتبطی که در این زمینه انجام شده است می پردازیم.
در [3] علاوه بر مطرح کردن وظایف بازشناسی چهره، به معرفی یک الگوریتم پیاده سازی نیز پرداخته است که با استفاده از بردارهای ویژه می باشد. همانطور که می دانیم وظیفه بازشناسی چهره این است که سیگنال های ورودی ( داده های تصویر ) را با تقسیم به چند کلاس از هم متمایز سازد. سیگنال های ورودی دارای نویز بسیاری هستند، با این حال تصاویر ورودی کاملاً تصادفی نیستند و با وجود تفاوت هایشان الگوهایی وجود دارد که در هر سیگنال ورودی اتفاق می افتد. این الگو ها که ممکن است در همه سیگنال ها دیده شوند، می تواند در حوزه بازشناسی چهره قرار گیرد. بعضی از اجزا ( مانند چشم، دهان و بینی ) در صورت و همچنین فاصله نسبی بین این اجزا جزء ویژگی های مهم به شمار می رود. این ویژگی ها در حوزه بازشناسی چهره، چهره ویژه ( یا به طور کلی اجزا اصلی ) نامیده می شوند. این ویژگی ها به وسیله یک ابزار ریاضی که تحلیل اجزا اصلی نامیده می شوند از داده های تصاویر اصلی استخراج می شوند. به وسیله PCA می توان هر تصویر اصلی موجود در مجموعه آموزشی را به چهره ویژه متناظر با آن تبدیل کرد. ویژگی مهم PCA این است که می توان هر تصویر اصلی را با ترکیب کردن چهره های ویژه دوباره ساخت. هر چهره ویژه، تنها ویژگی های اصلی هر چهره را نمایش می دهد که این ویزگی ها ممکن است در تصویر اصلی موجود باشد یا نباشد. اگر ویژگی در تصویر اصلی موجود باشد، سهم بردار ویژه متناظر با آن در مجموع چهره های ویژه باید بیشتر باشد و برعکس اگر آن ویژگی خاص در تصویر اصلی موجود نباشد، آنگاه چهره ویژه متناظر باید مشارکت کمتری در جمع چهره های ویژه داشته باشد یا اینکه اصلاً نقشی نداشته باشد. بنابراین برای ساخت دوباره ی چهره اصلی از روی چهره های ویژه، باید جمع وزن داری از همه چهره های ویژه موجود را حساب کرد که در آن هر چهره ویژه وزن مشخصی دارد.
از نظر ریاضی، الگوریتم با استفاده از ماتریس کوواریانس مربوط به مجموعه تصاویر چهره، بردار های ویژه را محاسبه می کند، این بردار ها اختلاف بین تصاویر را مشخص می کند. وقتی ما این بردار های ویژه را نمایش می دهیم به آن چهره ویژه گوییم. هر چهره می تواند با ترکیب خطی چند چهره ویژه نمایش داده شود. به هر حال ما می توانیم تعداد چهره های ویژه را به یک عدد کاهش دهیم اما با ارزش بیشتر که کارامدتر خواهد بود.
ایده اصلی الگوریتم پیشنادی این مقاله تولید سیستمی است که نه تنها تصاویر، بلکه وزن های ویژگی را با هم مقایسه می کنند. الگوریتم را می توان به مراحل زیر خلاصه کرد:

  1. بدست آوردن پایگاه داده ای از تصاویر چهره، محاسبه چهره های ویژه و تعیین فضای چهره با استفاده از همه آن ها

  2. محاسبه مجموعه وزن های تصویر جدید دریافتی

  3. تعیین اینکه تصویر جدید دریافتی یک چهره است یا خیر، برای این کار باید بررسی کنیم که آیا به اندازه کافی به فضای چهره نزدیک است یا نه

  4. و سر انجام باید تشخیص داده شود که آیا تصویر مشابه یکی از تصاویر موجود در پایگاه داده است یا خیر
    مراحل الگوریتم:
    الگوریتم به 2 بخش تقسیم می شود:
    اولین بخش بررسی می کند که آیا تصویر چهره است یا خیر و دومین بخش مربوط می شود به توصیف بازشناسی که آیا کاربر مورد تایید است یا خیر.
    مراحل الگوریتم به شکل زیر طرح ریزی شده است:

  5. آماده سازی مجموعه آموزشی که شامل تصویر Fi است

  6. بدست اوردن ماتریس میانگین و کم کردن حاصل از چهره اصلی

    M=\frac { 1 }{ { F }_{ m } } \sum _{ n-1 }^{ { F }_{ m } }{ Fi }

    FR=Fi-M

  7. محاسبه ماتریس کوواریانس C

    C=\frac { 1 }{ { F }_{ m } } \sum _{ n-1 }^{ { F }_{ m } }{ { F }_{ R } } { F }_{ R }^{ T }

  8. محاسبه مقدارهای ویژه و بردارهای ویژه ماتریس کوواریانس

  9. محاسبه وزن هر تصویر موجود در مجموعه آموزشی و ذخیره آن در مجموعه W

  10. محاسبه وزن برای تصویر مجهول و ذخیره آن در بردار Wx

  11. مقایسه Wx با w و محاسبه فاصله بین آن ها با استفاده از Euclidian distance

  12. اگر فاصله میانگین از threshold بیشتر شود چهره نیست

  13. مقایسه فاصله بین تصویر ورودی و تصاویر موجود در مجموعه آموزشی

  14. اگر فاصله min و وزن max باشد، آنگاه تصویر ورودی یک چهره شناخته شده است در عیر این صورت چهره نا شناخته است

در [6] که بازشناسی چهره با استفاده از چهره ویژه42 است از روشی برای بازشناسی چهره استفاده شده که بر مبنای کد گذاری و کد گشایی تصویر چهره می باشد. این روش شامل دو مرحله می باشد: استخراج ویژگی با استفاده از الگوریتم PCA و بازشناسی با استفاده از شبکه عصبی back propagation. روش چهره ویژه از الگوریتم PCA استفاده می کند که راه کارامدی را برای داشتن فضای ابعاد کمتر در اختیار ما قرار می دهد. در [7] نیز از روش PCA استفاده می شود با این تفاوت که سیستمی پیاده سازی می شود که از فیلتر log gabor برای استخراج ویژگی استفاده می کند و همچنین برای کاهش تعداد ویژگی های انتخاب شده نیز از الگوریتم پنجره کشویی استفاده می شود. معماری این سیستم به صورت زیر می باشد:

توضیح تصویر

و الگوریتم آن مختصراً به شرح زیر است:
مرحله 1: عکس توسط دوربین گرفته می شود و سپس تصویر پویا به تصویر ایستا تبدیل شده و در پایگاه داده ذخیره می شود.
مرحله 2: پیش پردازش
مرحله 3: استخراج ویژگی با استفاده از فیلتر Log gabor
مرحله 4: کاهش تعداد ویژگی های انتخاب شده با استفاده از الگوریتم پنجره کشویی
مرحله 5: ساخت دوباره تصویر با استفاده از الگوریتم PCA
[8] نیز بررسی روش PCA می باشد که در آدامه به پیاده سازی آن روی مجموعه ای از داده ها با استفاده از متلب می پردازد.

در [9] برای استخراج ویژگی، روش تحلیل مولفه های مستقل از هم، به عنوان جایگزینی برای الگوریتم تحلیل مولفه های اصلی که بسیار زیاد در بازشناسی چهره به کار گرفته شده است، مطرح می شود . ICA ویژگی هایی از چهره را استخراج می کند که برای احراز هویت مناسب و کارامد است که این امر منجر به این می شود که نرخ موفقیت بهبود پیدا کند.

در [10] به مقایسه روش تحلیل مولفه های اصلی و روش تحلیل مولفه های مستقل از هم پرداخته می شود که علت این مقایسه ادعاهای ضد و نقیضی بود که تا آن زمان مطرح می شد. در نهایت با آزمایش های مختلفی که انجام می شود نشان می دهد که الگوریتم PCA عملکرد خوبی دارد اما نه به اندازه ICA. در [11] نیز Kyungim Baek ،Bruce A. Draper ،J. Ross Beveridge و Kai She به مقایسه PCA و ICA پرداخته اند و آزمایش های خود را روی مجموعه داده FERET انجام دادند. آنها نشان دادند زمانی که یک معیار فاصله مناسب استفاده شود، PCA به طرز قابل ملاحظه ای بهتر از ICA عمل می کند. [12] مقایسه دو الگوریتم PCA و LDA می باشد.
مقاله [13] یک تکنیک جدید برای بازشناسی چهره معرفی می کند که در آن از تبدیل گابور ویولت43 و شبکه انتشار به عقب44 استفاده می شود. در روشی که مطرح می شود، ویژگی های تصویر چهره مورد پرسش و تصاویر چهره موجود در پایگاه داده، از طریق تبدیل گابور استخراج می شود و همچنین با استفاده از الگوریتم BPN آموزش داده می شود.هدف اصلی سیستم پیشنهادی، ایجاد سیستم تشخیص چهره کارا، با بهبود کارایی سیستم های تشخیص چهره موجود می باشد. این سیستم برای بهبود کارایی بر حسب دقت و درستی ایجاد شده است. برای پایگاه داده ای شامل 100 تصویر، دقت 100% بهبود یافته و متوسط نرخ فراخوانی نیز تا 97% رسیده است. راندمان این سیستم 100% بدست آمده است.
معماری ایجاد شده برای بازشناسی چهره مبتنی بر ویژگی در شکل نشان داده شده است.

معماری ایجاد شده برای بازشناسی چهره مبتنی بر ویژگی

استخراج ویژگی و بازشناسی چهره از بخش های مهم این معماری می باشند. چهره مورد پرسش، جهت محاسبه ویژگی ها و فاصله دو چشم و بینی به شکل مثلث پردازش می شود. در این سیستم از سه ویژگی اصلی یعنی دو چشم و بینی استفاده می شود. فاصله بین دو چشم تا بینی، برای تصویر چهره مورد پرسش محاسبه شده است.
چهره هایی که به ویژگی های تصویر مورد پرسش شباهت دارند به عنوان خروجی داده می شوند. تصویر چهره ورودی مورد پرسش، به تبدیل گابور داده می شود و سه ویژگی از آن استخراج می شود، این ویژگی ها توسط BPN آموزش داده می شوند. این سیستم پیشنهادی این قابلیت را دارد که ویژگی های مشابه را در گروهی از تصاویر که شامل 59 چهره می باشند شناسایی کند. تصویر مورد پرسش و تصویری که به وسیله این تصویر شناسایی شد کاملاً مشابه اند. از اندازه فاصله برای مقایسه استفاده می شود، تصاویر چهره با ویژگی های مشابه نمایش داده می شوند. تصاویر چهره خروجی به عنوان تصاویر مرتبط با تصویر ورودی مورد پرسش شناسایی می شوند.
تبدیل گابور ویولت:
فیلتر گابور به دلیل روابط بیولوژیکی و ویژگی های تکنیکی اش برای پردازش تصاویر چهره انتخاب شده است. نمایش ویولت که در معادله زیر نشان داده شده است برای تحلیل ویژگی در مسائل بینایی مفید است زیرا تئوری مربوط به آن نتایج قدرتمندی چون الگوریتم هایی برای تشخیص نقطه غالب و تجزیه و تحلیل الگوی پریودیک محلی را دارد.

y[n]=(x*g)[n]\sum _{ k=-\infty }^{ +\infty }{ x[k]g[n-k] }

تکنیک های تحلیل با چندین وضوح، سیگنال را به مولفه هایی با چندین مولفه تجزیه می کنند به طوریکه مولفه هایی با مقیاس بزرگ حامل اطلاعات کلی است در حالی که مولفه هایی با مثیاس کوچک شامل طلاعات جزئی می باشند. علاوه بر این برخی از مدل های روانشناسی اخیر به این موضوع اشاره می کند که سیستم بینایی انسان اطلاعات تصاویر را با درجات وضوح متفاوتی پردازش و تجزیه و تحلیل می کند.
همچنین 2D-DWT فرایندی است که با عبور دادن سیگنالی که شامل یک سری از نمونه های رقمی است، از دو فیلتر پایین گذر45( L ) و بالا گذر 46( H ) ،آن سیگنال را تجزیه می کند.
معادله مربوط به فیلتر پایین گذر:

{ y }_{ low }=\sum _{ k=-\infty }^{ +\infty }{ x[k]g[2n-k] }

معادله مربوط به فیلتر بالا گذر:

{ y }_{ high }=\sum _{ k=-\infty }^{ +\infty }{ x[k]h[2n-k] }

شبکه عصبی:
شبکه عصبی به عنوان یک سیستم بازیابی انطباقی استفاده می شود که قابلیت بازیابی را با ماژول شبکه ترکیب می کند به طوری که وزن شبکه قابلیت انطباق را نشان می دهد. این روش یادگیری مزایای زیادی را نسبت به روش های بازیابی سنتی دارد.
سیستم پیشنهادی بر اساس شبکه های عصبی انتشار به عقب می باشد. سه لایه از شبکه BPN شامل لایه ورودی، لایه خروجی و لایه مخفی در شکل زیر نشان داده شده است.
سه لایه از شبکه

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

  1. آموزش ویژگی ها به شبکه عصبی

  2. مقایسه خروجی شبکه با خروجی دلخواه بر اساس ویژگی ها

  3. محاسبه خطا در هر نرون خروجی

  4. محاسبه اینکه خروجی هر بردار ویژگی چگونه تغییر کند تا مطابق خروجی دلخواه ما شود.( برای هر نرون )

  5. تنظیم وزن هر نرون برای کاهش خطای محلی

  6. تکرار مرحله 3 تا 5، تا زمانی که خروجی بدست بیاید.

در [14] می بینیم که مساحت، مقیاس و جهت تصاویر با هم می توانند اطلاعات ارزشمندی را در اختیار ما قرار دهند که استفاده از هر کدام از آنها به طور جداگانه این امر را ممکن نمی سازد.. ابتدا توسط فیلتر گابور تصویر چهره به مقیاس ها و جهت های مختلفی تجزیه می شود، سپس تحلیل الگوی باینری محلی را با گابور ترکیب می کنیم که این کار منجر به تفسیر خوبی از چهره برای بازشناسی می شود. سپس دسته بندی مان را بر اساس فاصله هیستوگرام میانگین انجام می دهیم. تصاویر چهره معمولاً تحت تاثیر حالات، زوایا، نور پردازی و جفت شدگی های متفاوت قرار می گیرد که روش های موجود ممکن است تحت شرایط مطمئن خوب عمل کنند اما جفت شدگی هنوز به عنوان یک چالش برای آن ها محسوب می شود . روش پیشنهادی فاصله هیستوگرام میانگین به این مساله می پردازد. به این طریق، اطلاعات بدست آمده از حوزه های مختلف گرد هم می آیند تا تفسیر خوبی از چهره برای بازشناسی حاصل شود.

مرجع[15] یک روش مبتنی بر مولفه و دو روش عمومی برای بازشناسی چهره را معرفی می کند. در سیستم مبتنی بر مولفه ابتدا مولفه های چهره مشخص و استخراج می شوند، سپس با یک بردار ویژگی که توسط یک ماشین پشتیبانی از بردار دسته بندی شده، ترکیب می شوند، دو سیستم عمومی، با دسته بندی یک بردار ویژگی که شامل اطلاعاتی از کل تصویر چهره است به بازشناسی چهره می پردازد. در سیستم عمومی اولیه برای هر فرد موجود در پایگاه داده، SVM آموزش داده می شود. دومین سیستم عمومی، شامل مجموعه ای از SVM ها می باشند و ممکن است در طول آموزش با خوشه بندی47 مواجه شوند.

۴. آزمایش‌ها

برای این قسمت از [16] استفاده می کنیم.
در این بخش الگوریتم پیشنهادی برنامه نویسی ویژگی های سیگنال مونوژنیک توضیح داده شده است که شامل 2 بخش می باشد: کدنویسی اختلاف محلی مونوژنیک و کد نویسی چگالی محلی مونوژنیک. بخش اول اختلاف بین پیکسل مرکزی و پیکسل های اطراف آن را کد می کندو بخش دوم مقدار خود پیکسل مرکزی را. واضح است که این 2 بخش کامل کننده یکدیگر می باشند.

1.کدینگ دودویی اختلاف محلی مونوژنیک

فرایند کدنویسی اختلاف محلی

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

C({ z }_{ c })={ [{ C }_{ N },{ C }_{ N-1 },...,{ C }_{ 1 }] }_{ binary }={ [\sum _{ i=1 }^{ N }{ { 2 }^{ i-1 } } .{ C }_{ i }] }_{ decimal }

2.کدینگ محلی چگالی مونوژنیک
در همه روش ها اختلاف اطلاعات یک ناحیه برای بازشناسی الگو کد می شود به جز پیکسل مرکزی که در ناحیه محلی حذف می گردد. در واقع اطلاعات پیکسل مرکز اطلاعات منمایز کننده ای است اما ممکن است در اختلاف محلی لحاظ نگردد. برای مصال دو پیکسل با الگوی اختلاف محلی یکسان ممکن است چگالی های متفاوتی داشته باشند.

کدینگ دودویی مونوژنیک
با توجه به روند کد نویسی گفته شده در بالا، برای هر یک از مولفه های دامنه، مرحله و جهت سیگنال مونوژنیک، می توانیم یک نگاشت کد دودویی مونوژنیک داشته باشیم که آن را MBC گویند. نگاشت کد برای دامنه، فاز و جهت را به ترتیب با MBC-P، MBC-A و MBC-O مشخص می کنند. در هر بخش، MBC-P، MBC-A و MBC-O از ترکیب کد چگالی محلی و کد اختلاف محلی بدست می آید. در هر مکان MBC-P، MBC-A و MBC-O از ترکیب کدینگ چگالی محلی و کدینگ اختلاف محلی شکل می گیرد:

MBC-A({ Z }_{ c })={[{ C }_{ x }^{ I }({ Z }_{ c }),{ C }_{ y }^{ I }({ Z }_{ c }),{ C }_{ A }({ Z }_{ c })]}_{ binary }
MBC-A({ Z }_{ c })={[{ C }_{ x }^{ I }({ Z }_{ c }),{ C }_{ y }^{ I }({ Z }_{ c }),{ C }_{ P }({ Z }_{ c })]}_{ binary }
MBC-A({ Z }_{ c })={[{ C }_{ x }^{ I }({ Z }_{ c }),{ C }_{ y }^{ I }({ Z }_{ c }),{ C }_{ O }({ Z }_{ c })]}_{ binary }

جدول زیر تعداد الگوها زمانی که 8 نزدیکترین پیکسل در کدینگ نقش دارند را در روش های MBC-X و LBP و روش های کدینگ مربوط به گابور نشان می دهد.

تعداد الگوها

همانطور که دیده می شود وقتی 8 تا از نزدیکترین همسایه های یک پیکسل برای کدنویسی اختلاف محلی به کار گرفته می شود، هر الگوی MBC، ده کد خواهد داشت. تعداد الگوهای ممکن برای هر MBC معادل 1024 عدد می شود که از سایر روش های کدینگ که قبل از این استفاده می شده مانند LBP بیشتر می باشد. تعداد الگوهای بیشتر، دقت بیشتری را در پی دارد، همچنین هیستوگرام تولید شده را در هر زیر ناحیه به صورت پراکنده تر می سازد. این هیستوگرام پراکنده می تواند قابلیت کافی و یا حتی بیشتری را داشته باشد و یک سیستم بازشناسی چهره کارا را نتیجه دهد. سه نگاشت MBC-P، MBC-A و MBC-O که در بالا به آن ها اشاره شد را می توان به صورت تنها به عنوان ویژگی برای دسته بندی استفاده کرد. همچنین می توانند با هم برای بهبود کارایی بازشناسی چهره استفاده شوند که در ادامه توضیح داده می شوند.

بازشناسی چهره با استفاده از سیستم کد باینری مونوژنیک:

بازشناسی چهره با MBC:

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

{ H }_{ MBC-A }\quad ,\quad { H }_{ MBC-P }\quad ,\quad { H }_{ MBC-O }

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

{ H }_{ t }=({ h }_{ t }(r,s),\quad r=1,...,l;\quad s=\quad 1,2,3)

که L تعداد زیر ناحیه های هر مقیاس، S شاخص مقیاس و { h }_{ t }(r,s) هیستوگرام نگاشت ویژگی t در r امین زیر ناحیه با مقیاس s می باشد.

شباهت بین 2 هیستوگرام به عنوان اشتراک معرفی می شود.

{ S }_{ h }({ h }_{ a },{ h }_{ b })=\sum _{ i=1 }^{ M }{ min({ h }_{ a }^{ i },{ h }_{ b }^{ i }) }

که در آن M تعداد بین ها در هیستوگرام است،
{ h }_{ a }^{ i },{ h }_{ b }^{ i }
به ترتیب تعداد iامین دور را نشان می دهد. با محاسبه اشتراک هیستوگرام، ویژگی ها و تصاویر مورد بررسی می توانند برای دسته بندی محاسبه شوند.

بازشناسی چهره با استفاده از MBC تر کیبی
واضح است که زیر ناحیه های مختلف در تصاویر چهره قدرت متمایز سازی متفاوتی دارند. به همین دلیل متد های بسیاری، قبل از عمل تطابق وزن های مختلفی را به هیستوگرام زیر ناحیه های متفاوت نسبت می دهند. این عمل در واقع یک فرایند ترکیب ویژگی است و می تواند نرخ بازشناسی چهره را بهبود ببخشد. با این وجود این وزن گذاری نمی تواند ابعاد ویزگی را کاهش دهد.

نگاشت ویژگی MBC در ابتدا به 2 بلوک تقسیم می شود و سپس هر بلوک خود به دو زیر ناحیه تبدیل می شود. در هر زیر ناحیه هیستوگرام نگاشت ویژگی در هر مقیاس به شیوه ای که گفته شد ساخته می شود.هسیتوگرام ویژگی هر بلوک نیز ترکیب همه هیستوگرام های زیر ناحیه هایش است. سپس برای هیستوگرام ویژگی هر بلوک از الگوریتم LDA استفاده می شود تا یک ماتریس طرح ریز را از مجموعه آموزشی یاد بگیرد و سپس ابعاد ویژگی هیستوگرام را با استفاده از این ماتریس هیستوگرام،کاهش بدهد. همچنین

F_{ t }^{ p }{ (i) } و F_{ t }^{ g }{ (i) }
به ترتیب ویژگی های کاهش یافته { H }{ t }را در iامین بلوک تصویر مورد بررسی و گالری تصاویر نشان می دهد. از آنجایی که$$ F{ t }^{ p }{ (i) } و F_{ t }^{ g }{ (i) }$$ویژگی های هیستوگرام نیستند، میزان شباهت آن ها را با استفاده از فاصله کسینوسی محاسبه می کنیم:

{ S }_{ t }(F_{ t }^{ p }{ (i) }وF_{ t }^{ g }{ (i) })=\quad \frac { <F_{ t }^{ p }{ (i) }وF_{ t }^{ g }{ (i) }> }{ ||F_{ t }^{ p }{ (i) }||||F_{ t }^{ g }{ (i) }|| }

فاصله کسینوسی به طور گسترده ای در بازشناسی چهره استفاده می شود. همچنین استفاده از فاصله اقلیدسی باعث مقایسه عادلانه می شود. شباهت بین تصویر مورد بررسی و تصویر گالری به صورت زیر محاسبه می شود:

{ S }_{ MBC-F }=(1-2.w){ S }_{ MBC-A }+w{ S }_{ MBC-P }+w{ S }_{ MBC-O }

که w در ان وزن می باشد.
در معادله بالا به
{ S }_{ MBC-P } و { S }_{ MBC-O }
مقدار یکسانی را نسبت می دهیم زیرا فاز و جهت محلی در پایگاه داده های متفاوت کارایی یکسانی دارد. بنابراین تنها یک پارامتر وزن یعنی w را دارد و با امتیاز شباهت
{ S }_{ MBC-F }
معرفی می شود و به همین صورت به MBC ترکیبی، MBC-F گفته می شود.

در شکل زیر منحنی نرخ بازشناسی در مقابل تعداد مقیاس ها برای روش های مختلف MBC در نظر گرفته شده است.

توضیح تصویر

آزمایش روی پایگاه داده FERET
در شکل زیر نمونه ای از تصاویر چهره نرمال شده از پایگاه داده FERET دیده می شود:

توضیح تصویر

پایگاه داده FERET اغلب برای اعتبار سنجی موثر بودن یک الگوریتم استفاده می شود، زیرا شامل تصاویر متفاوت فراوانی می باشد. زیر مجموعه Fa را به عنوان گالری تصاویر و زیر مجموعه Fb و Fc را که دارای حالات و نورپردازی های متفاوت است به عنوان تصویر مورد بررسی در نظر می گیریم. DUPI و DUPII شامل تصاویری می باشند که در زمان های متفاوت گرفته شده است. برای بعضی از افراد تفاوت زمانی عکس موجود در گالری با DUPI و DUPII بیش از 2 سال می باشد. بخش چهره هر تصویر بر اساس مکان چشم جدا شده است. تصویر چهره جدا شده به 130 * 150 پیکسل نرمالسازی می شود.

جدول زیر نرخ بازشناسی را با استفاده از کد اختلاف محلی و همچنین با استفاده از کد اختلاف و چگالی محلی نشان می دهد:

توضیح تصویر

جدول زیر نرخ بازشناسی با استفاده از روش MBC گفته شده روی مجموعه FERET را نشان می دهد:

توضیح تصویر

جدول زیر نرخ بازشناسی با استفاده از روش های مختلف روی پایگاه داده تصاویر FERET را نشان می دهد:

توضیح تصویر

پایگاه داده FERET از 300 تصویر تشکیل شده است که این تصاویر از 30 نفر می باشد که شامل 10 تصویر از هر فرد می باشد.

کد مربوط به MBC-A را می توانید اینجامشاهده کنید.
کد مربوط بهMBC-O را می توانید اینجا مشاهده کنید.
کد مربوط به MBC-Pرا می توانید اینجا مشاهده کنید.

۵. کارهای آینده

۶. مراجع

[1] Rupinder Saini , Narinder Rana, Comparison of various biometric methods, International Journal of Advances in Science and Technology (IJAST)Vol 2 Issue I (March 2014)
[2] Stan, Z. Li, and K. Jain Anil. "Handbook of face recognition." (2005).
[3] PRASHANT KUMAR, SINI SHIBU. Authorization of Face Recognition Technique Based on Eigen Faces, International Journal of Advanced Research in Computer and Communication Engineering Vol. 3, Issue 9, September 2014
[4] Ambika Ramchandra, Ravindra Kumar, Overview Of Face Recognition System Challenges, INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 2, ISSUE 8, AUGUST 2013
[5] Sujata G. Bhele and V. H. Mankar, A Review Paper on Face Recognition Techniques, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 1, Issue 8, October 2012
[6] Prof. V.P. Kshirsagar, M.R.Baviskar, M.E.Gaikwad, Face Recognition Using Eigenfaces, Dept. of CSE, Govt. Engineering College, Aurangabad (MS), India.
[7] Sarala A. Dabhade, Mrunal S. Bewoor, Face Recognition using Principle Component Analysis, Emerging Trends in Computer Science and Information Technology -2012, Proceedings published in International Journal of Computer Applications
[8] Liton Chandra Paul , Lakshman Saha, Abdulla Al Suman, Md. Najim Uddin Mondal, Methodological Analysis of Principal
Component Analysis Method, International Journal of Scientific & Engineering Research Volume 4, Issue3, March-2013
[9] C. Havran, L. Hupet, J. Czyz, J. Lee, L. Vandendorpe, M. Verleysen, Independent Component Analysis for face authentication, KES'2002 proceedings - Knowledge-Based Intelligent Information and Engineering Systems, Crema (Italy), 16-18 September 2002
[10] Bruce A. Draper, Kyungim Baek, Marian Stewart Bartlett, and J. Ross Beveridgea, Recognizing faces with PCA and ICA, Computer Vision and Image Understanding 91 (2003) 115–137
[11] Kyungim Baek, Bruce A. Draper, J. Ross Beveridge, Kai She, PCA vs. ICA: A comparison on the FERET data set, Department of Computer Science Colorado State University
[12] Abhishek Bansal, Kapil Mehta, Sahil Arora, Face Recognition PCA & LDA algorithms, 2012 Second International Conference on Advanced Computing & Communication Technologies
[13] V. Balamurugan, Mukundhan Srinivasan, Vijayanarayanan.A, A New Face Recognition Technique using Gabor Wavelet Transform with Back Propagation Neural Network, International Journal of Computer Applications (0975 – 8887) Volume 49– No.3, July 2012
[14] S.Kalaimagal, M.Edwin Jaya Singh, Face Recognition Using Gabor Volume Based Local Binary Pattern, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 2, Issue 6, June 2012
[15]Bernd Heisele?, Purdy Ho,? Tomaso Poggio, Face Recognition with Support Vector Machines: Global versus Component-based Approach, Center for Biological and Computational Learning
[16]Meng Yang, Student Member, IEEE, Lei Zhang, Member, IEEE, Simon C. K. Shiu, Member, IEEE, and David Zhang, Fellow, IEEE, Monogenic Binary Coding: An Efficient Local Feature Extraction Approach to Face Recognition,Dept. of Computing, The Hong Kong Polytechnic University, Hong Kong, China

۷. پیوندهای مفید


  1. False Accept Rate

  2. False Reject Rate

  3. bimetric

  4. bio

  5. metric

  6. Face recognition

  7. Iris

  8. Finger print

  9. Finger vein

  10. lip recogniton

  11. Voice recognition

  12. Human scent recognition

  13. electroencephalogram

  14. Skin spectroscopy

  15. Knuckles texture

  16. Finger nail recognition

  17. Verification

  18. one-to-one

  19. clients

  20. imposters

  21. Identification

  22. one-to-many

  23. Correct Identification Rate

  24. False Identification Rate

  25. Watch List

  26. Face detection

  27. Normalization

  28. Feature extraction

  29. Face space

  30. frame

  31. landmark

  32. Image Quality

  33. Illumination Problem

  34. Pose Variation

  35. Principal Component Analysis

  36. Linear Discriminant Analysis

  37. Support Vector Machine

  38. Independent Component Analysis

  39. Artificial Neural Network

  40. Multi-Layer Perceptron

  41. Feed Forward

  42. Eigenface

  43. gabor wavelet

  44. back propagation

  45. low pass

  46. high pass

  47. Clustering

تایید شده

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

با تشکر

سید حسن طباطبایی

با سلام و خسته نباشید
در قسمت آزمایش فقط روش کدینگ را توضیح داده اید و کد هایی که بر روی گیت هاب قرار داده اید فقط کدهای MBC میباشد. نمودار هایی مانند FAR ، FRR یا ROC رسم نشده است. مرحله مقایسه و معیار شباهت نیز توضیح داده نشده است. اما توضیحات جزئیات کدینگ و نمایش نتایج آن نسبتا خوب است.
موفق باشید.