پیشرفتهای اخیر در زمینه نرمافزار و سختافزار کامپیوتر، صنعت را قادر ساخته است تا سیستمهای موثق زیست سنجی قابل استفادهای را توسعه دهد.
از آنجا که عنبیه چشم انسان بسیار بافت پیچیدهای دارد، شیوه مختصری بر اساس بعد فرکتال جهت آشنا شدن با عنبیه چشم انسان در این تحقیق ارائه شده است.
میزان ابعاد فرکتال، انسدادهای عنبیه با استفاده از پنج بعد شکست متفاوت با تخمین الگوریتمها محاسبه شدهاند و تفکیک شناختی برای تشخیص الگوهای عنبیهای از نظر اعتبار شخصی بکار گرفته شدهاند.
سیستم نمونه اصلی بنام سیستم شناخت خودکار عنبیه(AIRIS) توسعه داده شده و نتایج صوری آن ارائه شده است.
امروزه به علت اهمیت روز افزون اطلاعات و تمایل افراد به امنیت بیشتر اطلاعات مخصوصا در Internet، ابزارهای قدیمی مانند استفاده از Password به تنهایی جوابگو و قابل اعتماد نمیباشد، خصوصاً با ایجاد تجارت الکترونیک و خرید و فروش اینترنتی مسئله امنیت نه تنها برای شرکتها و بانکها بلکه برای عموم افراد مهم شده است.
بنابرین متخصصین به دنبال راههایی مطمئنتر میگردند یکی از موفقترین راه های یافته شده استفاده از علم بیومتریک(Biometric) است.[1,2,3] که با یکی از معرفترین آنها یعنی اثر انگشت از دیر باز آشنا هستیم.
خطوطی که بر روی سرانگشتان همه انسانها نقش بسته از دیر باز مورد توجه همه بوده است، این خطوط نقشهای مختلفی دارند، یکی از این وظایف ایجاد اصطکاک بین سر انگشتان و اشیاء متفاوت است مانند قلم که با استفاده از این اصطکاک می توانیم اشیاء را برداریم ،بنویسیم، یا لمس کنیم.
از سوی دیگر این خطوط برای هر شخص منحصر به فرد است، از سالها پیش از اثر انگشت افراد در جرم شناسی استفاده می شود، مانند تمام دیگر اعضاء بدن DNA های هر شخصی الگوی ساخت این خطوط را دارا هستند و در واقع DNAهای هرشخص نیز کاملا منحصر به فردند و این قضیه تقریبا در مورد تمام دیگر اعضاء بدن صادقاند.
با وجود hackerها و دزدیهای اینترنتی Passwordها ابزار قابل اعتمادی نیستند.
بیومتریک علم شناسایی افراد از طریق مشخصات انسانی اوست که شامل اثر انگشت،کف دست، صورت، امضاء، دست خط، صدا و اسکن شبکیه و عنبیه است.
جدول (1).
در علم بیومتریک اعضایی از بدن مورد توجه قرار گرفته که استفاده از آنها راحتتر و کم ضررتر باشد.
هر کدام از روشهای مورد استفاده دارای نقاط ضعف و قدرتی هستند که با ترکیب آنها با دیگر روشهای امنیتی می توان ضعفهای موجود را از بین برد[4].
امروزه به علت اهمیت روز افزون اطلاعات و تمایل افراد به امنیت بیشتر اطلاعات مخصوصا در Internet، ابزارهای قدیمی مانند استفاده از Password به تنهایی جوابگو و قابل اعتماد نمیباشد، خصوصاً با ایجاد تجارت الکترونیک و خرید و فروش اینترنتی مسئله امنیت نه تنها برای شرکتها و بانکها بلکه برای عموم افراد مهم شده است.
جدول(1).
هر کدام از روشهای مورد استفاده دارای نقاط ضعف و قدرتی هستند که با ترکیب آنها با دیگر روشهای امنیتی می توان ضعفهای موجود را از بین برد[4].
جدول(1):مقایسه چند روش بیومتریک(زیستسنجیانسانی) در اصل تمام روشهای شناسایی با سه مورد زیر ارتباط دارند: آنچه که شما میدانید (یک کلمه عبور یا PIN) آنچه که شما دارید (کارت خودپرداز ،کارت هوشمندو...) آنچه که شما هستید (مشخصات فیزیکی یا رفتاری) شیوههای معتبر شخصی بر اساس شیوههای هر فرد و یا آنچه شخص میداند، میباشد.
گرچه این شیوهها معمولا مشکلات مربوط به خود را دارند، (به عنوان مثال، کلید، IDکارت و غیره) یا آنچه که یک شخص میداند.(پسورد، شماره PINکد و غیره).
اگرچه این روشها معمولاٌ مشکلاتی را به دنبال دارند.
بعنوان مثال کلیدها ممکن است، تغییر پیدا کند، ID کارتها ممکن است گم شوند، پسورد و شماره PIN کد ممکن است فراموش شود.
دقت و اعتماد در محاسبات شخصی به خاطر عملکرد عملیات فیزیولوژیکی است.
[1],[2].
پیشرفتهای اخیر در تکنولوژی سخت افزار و نرم افزار، دانشگاه را قادر به تحقیق نموده و صنعت را قادر به توسعه سیستمهای موثق زیست سنجی خودکار نموده است.
زیست شیمی که انسان به اعتبار شخصی فرد بر پایه خصوصیات رفتاری و یا فیزیکی واحد هر مرد یا زن دارد که بیشتر به صورت ارثی قابل اطمینان است و بیشتر قادر به تشخیص بین فرد مجاز از غیر مجاز (فرد ظاهر ساز متقلب) میباشد.
2- بررسیها 2.1- خصوصیات عنبیه چشم انسان : یک عضو داخلی بدن انسان که از خارج قابل رویت است و دارای ویژگی های منحصر به فرد برای هر شخص است.
به طوری که هرگز دو نفر با عنبیه یکسان پیدا نمیشود و جزو اثر باقی مانده در طول حیات یک شخص است که در سنین مختلف از بدو تولد تا پیری تغییر نمیکند و برخلاف اثر انگشت، خصایص عنبیه بسیار دقیق و پیچیدهتر است و شامل الگوی بافتی یکسان است و آنقدر پیچیده است که بعنوان یک مشخصه زیست سنجی قوی مورد استفاده قرار میگیرد.[5] خصوصیات عنبیه چشم نشان میدهد که احتمال پیدا کردن دو فرد با الگوی عنبیه یکسان صفر است و در مقایسه با دیگر مشخصههای زیست سنجی مانند دست و انگشت نگاری الگوهای عنبیهای ثابتتر و معتبرترند که برای تمام افراد و سنین مختلف ثابت است.[5,6].
چندین بررسی نشان داده که تغییرات معمولی از نظر رنگ و ساختار بافتهای عنبیهای بیشمارترند که حتی دو عنبیه شبیه به هم وجود ندارد چه برسد به اینکه یکسان باشند.
حتی برای یک شخص هم دو عنبیه متفاوت است.
2.2- آثار پیشین : چشم پزشک فرانسوی الفونس برتیلون معتقد است که بکارگیری الگوی عنبیه بعنوان پایه (مبنا) برای شناسایی شخص است .
وی در سال 1981 بعد از خواندن مقالهها ( گزارش هایتوصیفی ) زیاد درباره تغییر ناپذیری طولانی عنبیه در سانفرانسیسکو اظهار کرد که از عنبیه به عنوان پایه علم زیست سنجی انسانی استفاده شود.
در سال 1987 آنها به همکاری کردن بادانشمند کامپیوتر جان داگمن(Daugman) از دانشگاه کمبریج انگلستان که نرم افزار تشخیص هویت از طریق عنبیه را ایجاد کرده پرداختند.
پس از اینکه فلوم و سفیر[6] نیز این حقیقت را مشاهده نمودند که هر عنبیه بافت یکسان و مجزائی دارد بطوری که حتی تا اواخر عمر میتواند ثابت بماند لذا مفهوم شناخت خودکار عنبیه در سال 1988 پیشنهاد نمودن که نهایتاٌ موفق به تحقق آن نشدند.
کار اولیه برای درک واقعی تشخیص اتوماتیک عنبیه توسط جانسون[7] در سال 1991 انجام شد.
سپس سیستم موفقیت آمیزی با استفاده از Wavelet توسط داگمن[8,9] توسعه داده شد.
به طوری که او اولین کسی بود که نتیجه امید بخش را در سال 1992در زمینه تشخیص اتوماتیک عنبیه منتشر کرد .بعدها کارهای کوچکتر (ابعاد کوچکتر ) نسبت به کار آقای داگمن تحقیق یافت.
اصول اولیه شیوه داگمن این است که تصاویر را به صورت تصاویر ثابت با فیلترهای گوناگون و با اندازههای متفاوت و مرکزهای متفاوت را دریافت و تبدیل میکند و تصاویر را بر اساس بانک دو بعدی Gabor Wavelets بدست میآورد و علامت هایی براساس نتایج واقعی و فرضی و کدگذاری در بردارهای باینری 2048 بیتی میدهد و همچنین تطبیق کردن با استفاده از Hamming Distance انجام می شود.
Hamming Distance مینیمم شمارهای از بیتهای است که میبایست به طور صحیح برای تبدیل بیتهای رشتهای داخل بقیه تغییر یابد.
در این سیستم الگوی عنبیه شخص در یک تصویر ویدئویی واقعی وجود دارد که به توالیهای فشردهای از Gabor Wavelet میباشد که اکثر بیتهای مهم شامل 256 بایت کد عنبیه است.
داگمن مدعی است که سیستم او اجرای عالیی بر روی پایگاه دادههای مختلف از تصاویر عنبیه دارا است.
در سال 1996 ویلدز (Wildes) یک سیستم اولیه بر اساس تشخیص عنبیه اتوماتیک ارائه داد که در تکنیکهای ثبت تصاویر محاسباتی بسیار استفاده میشود.[10,11].
این سیستم یک تجزیه پالایندگی ایزوتروپی استفاده میکند.
به عبارت دیگر ایجاد یک هرم لاپلاسین از تصاویر فیلتر شده ضعیف در مقیاسهای متفاوت برای تجزیه دادههای تصویر استفاده میکند.همچنین منحرف کردن عنبیه به تصویر تطبیقی برای مقایسه و استفاده از روابط نرمال شده برای پیدا کردن پیکسلهایی شبیه به عنبیه از دیگر خصوصیات کار ویلدز میباشد.
درسال 1998بولز(Boles) و بوشاش(Boashash) [12,13] در یک سیستم تشخیص عنبیه پیشنهاد کردند که هیچ تفاوتی از تغییر Wavelet در انواع رزلوشنهای محاسباتی بر اساس دایرههای هم محور در عنبیه وجود ندارد و خلاصه اینکه نکات مهم پیشنهادی بولز و بوشاش مواردی از قبیل تجزیه شدن عنبیه براساس مجموعه یک بعدی از شدت سیگنالها و بکار بردن موج کوچک جهت تغییر شکل دادن و استخراج نقاط تقاطعی صفر در مقیاسهای مختلف و در نهایت مقایسه موقعیتهایی از نقاط تقاطعی صفر برای تطبیق عنبیه میباشد.
در سال 1999 ژو(Zhu)، تان(Tan) و وانگ(Wang) [14] یک الگوریتمی برای استخراج خصوصیات الگوهای عنبیه از فیلتر کردن Gabor چند کانالی و تغییر شکل Wavelet استفاده نمودهاند.
در سال 2003 لی ما (Li Ma)[15,16] به کمک تان، وانگ و ژانگ تشخیص انسان بر اساس بافت عنبیه و در سال 2004 نیز آثار تشخیص عنبیه توسط تشریح کلید متغیرهای محلی را در ادامه مبحث تشخیص عنبیه توسعه دادند.
3- تحلیل و تشخیص : برای تحلیل و تشخیص عنبیه ما مراحل زیر را در پیش گرفتیم: (نمودار 1 ) الف.
گرفتن تصویر ب.
جداسازی عنبیه ج.
استخراج خصایص د.
طبقه بندی نمودار1: مراحل تحلیل و تشخیص عنبیه چشم انسان 3.1- گرفتن تصویر: الگوى به کار رفته در عنبیه هر شخصى منحصر به فرد است.
این الگو در چشمان راست و چپ یک شخص نیز یکسان نیست.
شاید تصور شود که استفاده از فناوری اسکن عنبیه برای ورود به مکانی حفاظت شده در آینده عملی می شود اما در حقیقت این فناوری هم اکنون سیستم امنیتی بسیاری از اماکن سری مهم دنیا را تشکیل می دهد.
در قلب این سیستم یک (CCD Charge Coupled Device) عناصر میکرو الکترونیکی که نور را به سیگنال تبدیل می کنند وجود دارد.
این سیستم برای اینکه تصویری شفاف و با کیفیت بالا از عنبیه شخص بگیرد (تصویر 1و2) از نوری قابل رویت با فرکانسی نزدیک به فرکانس اشعه مادون قرمز استفاده می کند.
بدین ترتیب مردمک چشم شخص بسیار تیره تر به نظر میرسد و در نتیجه کار کامپیوتر را برای جداسازی مردمک از عنبیه راحتتر می کند.
وقتی که درون چشمی را از اسکنر نگاه میکنید دوربین به صورت خودکار بر روی عنبیه چشم شما تنظیم میشود.
برای اینکه مطمئن شوید در جای درستی ایستادهاید سیستم به یک آینه مجهز میشود یا دستگاه با صدای رسا به شما اعلام میکند که چشم خود را در جای دقیقی نگاه داشتهاید یا خیر.
معمولا بایستی چشم شما ۱۰ تا ۲۵ سانتی متر از دوربین فاصله داشته باشد وقتی دوربین از عنبیه عکس می گیرد محل های زیر را مشخص می کند.
(تصویر3) ۱ مرکز مردمک ۲ لبه مردمک ۳ لبه عنبیه ۴ مژه و پلک چشم، سپس الگوی عنبیه را آنالیز و به رمز ترجمه می کند.
با توجه به دقت بالای این روش این اسکنرها اغلب در موارد امنیتی شدید استفاده می شود.
طبق تحقیقهای انجام شده چشم انسان از ویژگی های کاملا منحصر به فرد و یکتای او به شمار می رود.
به طوری که احتمال اشتباه سیستم در این روش یک در ۱۰۷۸ است که بسیار قابل توجه است، همچنین اسکن از عنبیه این امکان را برای سیستم فراهم می سازد تا ۲۰۰ نقطه از عنبیه بررسی و مقایسه شود، در حالی که شناسایی از طریق اثر انگشت ۶۰ تا ۷۰ نقطه را بررسی میکند.
در بدن انسان عنبیه چشم ساختاری ظاهری ولی به نوعی محافظت شده به حساب میآید، عضوی است که با گذر زمان دستخوش تغییر نمیشود و این ویژگی، این روش شناسایی را بیش از سایر روش ها ایدهآل میسازد.
در اکثر مواقع عنبیه چشم افراد پس از انجام عمل جراحی نیز بدون تغییر باقی میماند.
حتی افراد نابینا نیز میتوانند از این روش استفاده کنند، البته تا زمانی که چشم آنها عنبیه داشته باشد.
استفاده از عینک یا لنزهای تماسی هیچ کدام بر روال کار تشخیص، اختلال ایجاد نمیکنند و سبب تشخیص نادرست نمیشوند.
3.2- جدا سازی عنبیه : قدم اول درجداسازی عنبیه شامل نقطهیابی داخلی وخارجی مرز درعنبیه است در سیستم دوگمان عملگرهای بخش 1 برای مشخص کردن مرکز و ضخامت عنبیه و مردمک چشم استفاده میشود.
این عملگر ها دایرههای هندسی از عنبیه و مردمک چشم استخراج میکند .در واقع آنها به عنوان دایرهای دیگرگرفته میشوند .
در چشمان سالم صلبیه نسبت به عنبیه و مردمک چشم بطور کلی سیاهتر است.
بشرطی که (x0, y0) دایره نیرومنداز دایرهای اطراف و شعاعش تفکیک شود.
برای استفاده بهینه از کد های صحیح و کلی محاسبه زمانی برای موضع یابی صحیح برای یک پیکسل درعنبیه در حدود 250ms است .
بنابراین این عملگرها قابل درک و مشهود هستند که بازتاب نمایش غیر عادی از نقطه منتشر شده مصنوعی است .
برای نقطه گزاری به سوی مرکز از چشمان کاربر، ما از محو کردن نور در تصویر مصنوعی چشم استفاده میکنیم.
این نقطه هیچ وقت در جایی گرفته نمیشود که نزدیک مردمک چشم باشد بلکه از مرز بین عنبیه و مردمک چشم از داخلیترین حد در عنبیه شکست خورده گرفته میشود.
دومین مرحله برای جستجوی دقیقتر مرز مردمک چشم، مرکز عنبیه و مرز عنبیه استفاده میشوند.
درحقیقت از این استراتژی از شیب تجزیه شده را که یک حیله و روش بکاربرده شده در دایره های آشکار شده است استفاده میشود.
قبل از استخراج خصوصیات عنبیه، تصویر باید به منظور نرمالیزاسیون مقیاس و شدت روشنایی بخشهای عنبیه و به منظور بهبود تصاویر عنبیه برای بهتر استخراج کردن خصوصیات عنبیه چشم، پیش پردازش شود تا به جزءهای مهمی از عنبیه تقسیم شود.
بنابراین ماژول پیش پردازش به سه واحد تجزیه میشود: بخشهای اجزاء تصاویر عنبیه، نرمالسازی تصاویر عنبیه و افزایش بهبود تصاویر عنبیه، هر واحد در زیر توضیح داده شده است.
3.2.1- واحد اجزاء تصاویر عنبیه : اول تصاویر وارد شده پیش پردازش میشوند تا اجزاء عنبیه را استخراج کنند هر دو مرز داخلی و خارجی از یک نوع عنبیه میتواند دایرههایی را استخراج کند.
(تصویر4) اگر چه دو دایره معمولاً هم مرکز نیستند.
در مقایسه با بخشهای دیگر چشم، مردمک تاریکترین و عنبیه خاکستری میباشد.
واحد اجزاء تصویر عنبیه، فضای عنبیه نزدیک به دایره را بخش بندی میکند.
الف.
موقعیت مردمک : میدانیم که عنبیه و مردمک شکلهای دایرهای دارند و لبهها مرز آنها را مشخص میکند که به شکل یک منحنی بسته وصل است.
هر نقطه داخل مردمک شناسایی شده، بعنوان نقطه مناسبی از پروسجر برای استخراج عنبیه تا مرزهای مردمک میتواند انتخاب شود.
برای پیدا کردن موقعیت مناسب مردمک ما جستجو میکنیم یک قسمت یا نقطه تاریک از فضای مردمک را و بعنوان نقطه مناسب در نظر میگیریم.
ب.
شناسایی مرز مردمک : در شروع نقاط مناسب، سیستم قصد دارد که سه لبه از نقاط روی مرز مردمک را شناسایی کند تا از 3 گذر پردازش استفاده کند.
ج.
محاسبات پارامترهای موقعیت عنبیه و قطعه بندی عنبیه : به منظور سه لبه، نقاط بر روی مرز مردمک مشخص شده است و مرز مردمک میتواند بطور مشابه موقعیت پارامترهای عنبیه متمرکز شودو از طریق سه لبه نقاط روی مرز خارجی عنبیه محاسبه شود.
و مرحله بعدی سیستم عنبیه را قطعه بندی میکند.
3.2.2- واحد نرمال سازی تصاویر عنبیه : بنا به توضیحات داده شده روشنایی تصویر به صورت توزیع نشده است، علاوه بر آن تفاوت فاصله چشم با دوربین ممکن است نتایج متفاوتی از اندازه تصویر همان چشم را بدهد.
بطوریکه اندازه مردمک ممکن است خیلی وابسته به شدت روشنایی و اندازه عنبیه باشد و یا ممکن است خیلی وابسته به فاصله از دوربین باشد.
تابع ارتجاعی تغییر شکل در الگوی عنبیه ممکن است به نتایج الگوی تطبیق شده اشاره کند.
برای این منظور از تطبیق کردن یا شناسایی کردن دقت عنبیهها استفاده میشود که لازم است تغییر شکل را از طریق فرآیند نرمال سازی عنبیه تنظیم شود.
بطوریکه عنبیه با اندازه مردمک بزرگ بایستی منقبض یا کوچک شود و بالعکس.
3.2.3- واحد بهبود تصاویر عنبیه : تصاویر عنبیه اصلی معمولاً پائین ترین کنتراست را دارند و ممکن است شدت غیریکنواختی باعث شود تا موقعیتهایی از منبع نور داشته باشند.
این شرایط ممکن است تأثیر خصوصیات استخراجی را کاهش دهد.
بنابراین نتایج تحلیلی الگوی عنبیه را ضعیف میکند.
در این سیستم یک فیلترینگ قوی را بکار میبریم و دنبال میکنیم تا کیفیت یک تصویر با فرکانس بالا بهبود پیدا کند.
فیلتر بالاگذر: تصاویر اکتسابی همیشه شامل نواحی مفید از عنبیه نیستند که ممکن است این نواحی غیر مفید از مژه و تعدادی بخشهای نامربوط دیگر پوشیده شده باشد.
این سیستم فقط فضای مفید را که توسط بریدن و دور انداختن بخش بالایی عنبیه بدست میآید را نیاز دارد تا آنرا پردازش کند.
بنابراین از یک فیلتر بالاگذر برای بهبود دادن جزئیات الگوی عنبیه استفاده میشود.
3.3- استخراج خصوصیات : وظیفه ماژل این قسمت آن است که خصوصیات ارائه شده در الگوهای تصویر عنبیه را برای دنبال کردن تشخیص فرآیند، استخراج کند.
3.3.1- شرح برنامه : در قسمت ابتدای بدنه اصلی این برنامه تصاویر کد شده توسط ویولت به عنوان بانک تصاویر موجود برای دسته بندی افراد دریافت میگردد.
در ادامه این تصاویر سطح خاکستری به تصویر باینری تبدیل میگردد، بدین صورت که نقاط اطلاعات تصویر مقدار صفر و پس زمینه مقدار یک داشته باشد.
قسمت دوم برنامه به محاسبه بعد فرکتال تصاویر بانک ورودی اختصاص دارد.
به این منظور که ویژگیهای فرکتالی دقیقتری برای هر یک از تصاویر بانک ورودی محاسبه گردد، ابتدا هر تصویر به 10 زیر تصویر یک اندازه تبدیل شده و برای هر یک از این زیر تصاویر یا فراخوانی تابع مربوطه بعد فرکتال محاسبه میگردد.
خروجی این بخش از برنامه ویژگیهای استخراج شده برای تک تگ تصاویر بانک ورودی میباشد که در فایلهای مربوطه ذخیره میگردد.
قسمت سوم برنامه وظیفه دسته بندی و آموزش برنامه را به عهده دارد.
عمل دسته بندی در این پروژه توسط شبکه MLP انجام میپذیرد.
به منظور آموزش این شبکه ویژگیهای استخراج شده در بخش قبل از تصاویر عنبیه برای یادگیری به یک شبکه عصبی سه لایه با تعداد 20، 10 ، 1 نرون در هر لایه داده شده و این شبکه 25 دوره (epoch) آموزش داده میشود.
تعداد لایه های بکار گرفته شده و همچنین تعداد دوره آموزش شبکه MLP میتواند در کاربردهای مختلف با توجه به دقت مورد نیاز و هزینه زمانی تغییر کند.
و این فرآیند تجربی میباشد.
مقادیر به کار گرفته شده در این پروژه نیز به صورت تجربی و با آزمودن مقادیر و حالتهای مختلف تنظیم شده است.
و توسط آنها نتایج قابل قبولی تولید شده است.
در قسمت انتهایی این برنامه یک تصویر کد شده عنبیه دریافت و همانند آنچه که در مورد تصاویر بانک ورودی انجام میشد تبدیل به تصویر باینری میگردد.
سپس به 10 قسمت مساوی تبدیل شده و بعد فرکتال هر یک از آنها با فراخوانی تابع مربوطه محاسبه میگردد.
در این مرحله با بکار گیری این 10 ویژگی و شبکه عصبی آموزش دیده توسط تصاویر بانک ورودی به سرعت و با دقت نسبتاً بالائی هویت شخص ناشناس صاحب تصویر عنبیه مشخص میگردد.و در صورتی که تصویر عنبیه در بانک وجود نداشته باشد.
به عنوان فردی ناشناس دسته بندی خواهد شد تابع DimensionFractal: این تابع عهده دار وظیفه محاسبه بعد فرکتال برای تصاویر باینری ورودی است.
الگوریتم کار این تابع بدین شرح است: فرکتال برخی ویژگیهای هندسی نامنظم اشکال و جامدات را که در تمام مقیاس ها مشابه به نظر می رسند، تشریح میکند.
بسیاری از اجسام محیط اطراف ما دارای چنان ساختار پیچیدهای هستند که اندازه گیری طول، مساحت یا حجم آنها به روشهای متداول غیرممکن است.
اما با وجود این، روشی برای اندازهگیری خواص هندسی آنها وجود دارد.
این کار را میتوان با برآورد چگونگی افزایش طول، سطح یا حجم وقتی که اندازهگیری با دقت بهتری انجام میشود، انجام داد.
فرض اصلی این است که دو کمیت - از یک طرف طول ، سطح و یا حجم و از طرف دیگر میزان دقت اندازه گیری - به دلخواه تغییر نمیکنند، بلکه چنان تغییر میکنند که امکان تعیین بُعد فراکتالی D را فراهم میسازند.
برای محاسبه بعد فرکتالی D با استفاده از روش بعد جعبهای، ابتدا جسمی یک بعدی مانند بخشی از یک خط راست به طول L را در نظر می گیریم.
این پاره خط را می توان با N(s) جعبه یک بعدی به طول ضلع S کاملا پوشاند.در نتیجه داریم: بنابراین در حالت دو بعدی مربعی به ضلع L در نظر میگیریم، که میتوان آنرا در جبعه پوشاند.
برای یک مکعب توان L برابر 3 است و به همین ترتیب برای ابعاد بالاتر.
واضح است که برای اجسامی که شکل منظم دارند، توان بدست آمده یک عدد صحیح است.
از همین قاعده میتوان برای بدست آوردن بعد اشیایی که شکل منظم ندارند، مانند یک لکه جوهر یا خط ساحلی استفاده کرد.
در این موارد مشاهده می کنیم که توان فوق، که همان بعد فرکتالی شبه جعبهای است، میتواند مقداری کسری باشد.
در حالت کلی : اگر از طرفین معادله 1، لگاریتم بگیریم، خواهیم داشت: که اگر S بنابراین برای تعیین بعد فرکتالی D، جسم مورد نظر را با شبکهای با بعد مناسب و مقدار ثابت S که به طور منظم تغییر می کند، پوشانده و سپس برای هر شبکه تعداد جعبه های N(s) که جسم مورد مطالعه را پوشانده است، یا حداقل تا اندازهای آن را لمس کرده، را می شماریم.
سپس نتایج شمارش را در دستگاه مختصات بر حسب logN(s) رسم میکنیم.
با تقریب این نقاط با یک تابع خطی، به سادگی میتوان بعد D را به عنوان شیب خط حاصل تعیین کرد.
به این ترتیب که در یک حلقه تکرار هر تصویر ورودی به پنجره های کوچک تقسیم شده و با فراخوانی یک تابع محلی دیگر تعداد پنجره های متقاطع با شکل سیگنال شمرده می شوند.
اندازه این پنجره ها در هر تکرار حلقه افزایش می یابد و عمل شمارش تکرار میشود.
در ادامه با توجه به فرمولهای 1 و 2 و 3 و با استفاده از توابع log10 و polyfit در MATLAB بعد فرکتال تصویر محاسبه می گردد.
در انتهای این تابع مقدار محاسبه شده به عنوان بعد فرکتال تصویر ورودی به برنامه فراخوان بازگردانده می شود.
3.4- تشخیص الگوی عنبیه : تشخیص عنبیه بر اساس ابعاد بردارهای خصوصیات داده شده است.
بنابراین مدل تشخیص الگوی عنبیه در ابعادی که توسط میانگی تطبیق الگو ساخته میشود، اجرا میگردد.
متمرکز کردن ناحیهای از یک تصویر اکتسابی که به عنبیه پاسخ داده میشود و تولید نمودن یک بخش کد عنبیه از تصویر عنبیه از طریق محاسبه کردن بعد فرکتال برای هر بلاک عنبیه از تصویر عنبیه، وظایف نهایی سیستم فرآیند تشخیص الگو میباشد.
ماژول تشخیص الگو تصمیم میگیرد که آیا این الگو تطبیق داده میشود با یک الگوی عنبیه ذخیره شده قبلی از یک بان اطلاعاتی تصاویر عنبیه یا نه.
که در اینجا از شبکه عصبی MLP برای این تشخیص استفاده نمودهام.
4- نتیجه تصاویر که توسط این روش از عنبیه تهیه شده و به صورت کدهای خاصی استخراج شده بود را پس از تعیین بعد فرکتال و آموزش توسط شبکه عصبی MLP مورد شناسایی قرار دادم که با ضریب صد درصد عنبیه فرد مورد نظر را پیدا نمود.
که در اینجه چند نمونه از این تشخیص و نمودارهای مربوط به آنرا قرار میدهم.
تصویر8: نمونه کار اجرا شده از تشخیص عنبیه 5.
منابع : [1]http://www.howstuffworks.com [2]http://www.biometrics.co.za/sol_TimeAtten.htm [3]http://www.biometrics.co.za/sol_SmartCard.htm [4]http://www.biometrics-system.com/iris-recognition.htm [5]L.Berggren "Irisology: A critical review", Acta Ophthalmoligica, vol.63,pp.1-8,1985.
[6]L.Flom And A.Safir, " Iris recognition system",U.S.Pattent 4 641349, 1987.
[7]R.G.Jhnson, "Can iris patterns be used to identify people?", Chamical and Laser Sciences Division, LA-12331-PR, Los Alamos National Laberatory, , 1991.
[8]J.G.Daugman, "High confidence personal identification by rapid video analysis of iris texture", Proc.
IEEE int.
Carnahn Conf.
on Security Technology, pp.
1-11,1992.
[9] J.G.Daugman, "Biometric personal identification system based on iris analysis", U.S.
Patent 5 291 560, 1994.
[10]R.P.Wildes, J.C.Asmuth, G.L Green, S.C.Hsu, R.J.Kolczynski, J.R.Matey and S.E.McBride, "A system for automated iris recognition", Proc.
IEEE Workshop on Applications of Computer Vision, , pp.121-128,1994.
[11]R.P.Wildes, J.C.Asmuth, G.L Green, S.C.Hsu, R.J.Kolczynski, J.R.Matey and S.E.McBride, "Automated noninvasive iris recognition system and metod", U.S.
Patent 5 572 596, 1996.
[12]W.W.Boles, "A security system based on human iris identification using wavelet transform", First International Conference onKnowledge-Based Intelligent Electronic System, pp.533-541, , May 21-23, 1997.
[13]W.W.Boles and B.Boashash, “A Human Identification Technique Using Images of the Iris and the Wavelet Transform”, IEEE Transactions on Signal Processing, vol.46, No.4, pp.1185-1188, Apr.
1998.
[14]Y.Zhu, T.Tan and Y.Wang, "Biometric personal identificatim based on iris patterns", chines Patent Applications, No.9911025.6, 1999.
[15] Li Ma, T.Tan, Y.Wang, and D.Zhang, “Personal Identification Based on Iris Texture Analysis”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.
25, No.
12, December 2003.
[16] Li Ma, T.Tan, Y.Wang, and D.Zhang, “Efficient Iris Recognition by Characterizing Key Local Variations”, IEEE Transactions on Image Processing, Vol 13, No.
6, June 200.
6- ضمیمه : کد برنامه روشنمونهبرداری برای کددهینرخ آیدی اشتباهسطح امنیتموارد کاربردیتشخیص عنبیهنمونه عنبیه1/1,200,000بالاامکانات امنیتی سطح بالاانگشت نگاریاثر انگشت1/1,000متوسطعمومی – همه منظورهکف دستاندازه، طول و ضخامت دستها1/700پائینامکانات امنیتی سطح پائینتشخیص چهرهنمای کلی، قالب و توزیع چشم و بینی بر روی چهره1/100پائینامکانات امنیتی سطح پائینامضاءقالب حروف، ترتیب نویسه و فشار خودکار1/100پائینامکانات امنیتی سطح پائینتشخیص صداخصوصیات صدا1/30پائینخدمات تلفن تصویر1: نمونه چشم انسان تصویر2: تصویر برداری توسط دوربین و نمایش عنبیه چشم در مونیتور کامپیوترتصویر3: چگونگی تصویربرداری توسط دوربین تصویر3: نمونه عنبیه اسکن شدهتصویر3: نمونه عنبیه اسکن شده تصویر4: دوایر عنبیه اسکن شده تصویر 5: جداسازی عنبیه از مرددمک چشم تصویر6: استفاده از فیلتر بالاگذر تصویر7: استخراج تصویر عنبیه کد شده Iriscode1.gifIriscode2.gifIriscode2.gifIriscode3.gifIriscode4.gifIriscode5.gifIriscode5.gifIriscode6.gifTRAINLM, Epoch 0/25, MSE 0.407596/0, Gradient 16.3815/1e-010 TRAINLM, Epoch 5/25, MSE 2.5614e-028/0, Gradient 4.2361e-013/1e-010 TRAINLM, Minimum gradient reached, performance goal was not met.
Please enter Unknown files path and name : iriscode2.gif Please Wait !
The Unknown person was labeled as : 2TRAINLM, Epoch 0/25, MSE 0.407596/0, Gradient 16.3815/1e-010 TRAINLM, Epoch 5/25, MSE 2.5614e-028/0, Gradient 4.2361e-013/1e-010 TRAINLM, Minimum gradient reached, performance goal was not met.
The Unknown person was labeled as : 2TRAINLM, Epoch 0/25, MSE 0.289083/0, Gradient 8.0127/1e-010 TRAINLM, Epoch 5/25, MSE 1.10848e-007/0, Gradient 0.00281407/1e-010 TRAINLM, Epoch 7/25, MSE 1.09165e-021/0, Gradient 7.6967e-011/1e-010 TRAINLM, Minimum gradient reached, performance goal was not met.
Please enter Unknown files path and name : iriscode6.gif Please Wait !
The Unknown person was labeled as : 6TRAINLM, Epoch 0/25, MSE 0.289083/0, Gradient 8.0127/1e-010 TRAINLM, Epoch 5/25, MSE 1.10848e-007/0, Gradient 0.00281407/1e-010 TRAINLM, Epoch 7/25, MSE 1.09165e-021/0, Gradient 7.6967e-011/1e-010 TRAINLM, Minimum gradient reached, performance goal was not met.
The Unknown person was labeled as : 6 %*********************************************% % Final Project Image Processing % % Subject : Person Automatic Detection by % % fractal Dimention of iris image % % by Ali Asghar Fallah % %*********************************************% % Read images, Compute Fractal Dimentions, Train MLP close all; clear all; clc; %**************************** Load Images **************************** im1(:,:)=imread('iriscode1.gif','gif'); im1_sz=size(im1); im2(:,:)=imread('iriscode2.gif','gif'); im2=im2(1:im1_sz(1),1:im1_sz(2)); im3(:,:)=imread('iriscode3.gif','gif'); im3=im3(1:im1_sz(1),1:im1_sz(2)); im4(:,:)=imread('iriscode4.gif','gif'); im4=im4(1:im1_sz(1),1:im1_sz(2)); im5(:,:)=imread('iriscode5.gif','gif'); im5=im5(1:im1_sz(1),1:im1_sz(2)); im6(:,:)=imread('iriscode6.gif','gif'); im6=im6(1:im1_sz(1),1:im1_sz(2)); for i=1:im1_sz(1) for j=1:im1_sz(2) if im1(i,j)>0 im1(i,j)=1; end if im2(i,j)>0 im2(i,j)=1; end if im3(i,j)>0 im3(i,j)=1; end if im4(i,j)>0 im4(i,j)=1; end if im5(i,j)>0 im5(i,j)=1; end if im6(i,j)>0 im6(i,j)=1; end end end %******************* Fractal Dimentions Compute **************** block_no=10; fe_help=[]; =1; for j=1:block_no bin_im=im1(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im1=[fe_help 0.1]; save('feature_im1.mat','fe_help'); fe_help=[]; =1; for j=1:block_no bin_im=im2(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im2=[fe_help 0.2]; save('feature_im2.mat','fe_help'); fe_help=[]; =1; for j=1:block_no bin_im=im3(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im3=[fe_help 0.3]; save('feature_im3.mat','fe_help'); fe_help=[]; =1; for j=1:block_no bin_im=im4(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im4=[fe_help 0.4]; save('feature_im4.mat','fe_help'); fe_help=[]; =1; for j=1:block_no bin_im=im5(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im5=[fe_help 0.5]; save('feature_im5.mat','fe_help'); fe_help=[]; =1; for j=1:block_no bin_im=im6(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im6=[fe_help 0.6]; save('feature_im6.mat','fe_help'); f_all=[feature_im1;feature_im2;feature_im3;feature_im4;feature_im5;feature_im6]; %************************ Define And Train MLP ******************** minmax=[ min(f_all(:,1:end-1))' max(f_all(:,1:end-1))' ]; network=newff(minmax,[20,10,1]); network.trainparam.epochs=25; network.trainparam.show=5; %network.trainParam.goal=0.001; network=train(network,f_all(:,1:end-1)',f_all(:,end)'); %************************ Report Error ******************** result=sim(network,f_all(:,1:end-1)'); compare(1,:)=f_all(:,end)'; compare(2,:)=result(1,:); figure, plot(compare'); err=abs(compare(1,:)-compare(2,:)); figure, plot(err'); %************************ Detect Unknown Person ******************** image_in=input('Please enter Unknown files path and name : ','s'); if isempty(image_in) image_in='iriscode1.gif'; % Set Default end im_in=imread(image_in,'gif') ; disp('Please Wait !'); im_in=im_in(1:im1_sz(1),1:im1_sz(2)); for i=1:im1_sz(1) for j=1:im1_sz(2) if im_in(i,j)>0 im_in(i,j)=1; end end end fe_help=[]; =1; for j=1:block_no bin_im=im_in(:,:+52); fe_help=[fe_help DimensionFractal(bin_im)]; =(j*53)+1; end feature_im_in=fe_help; re_im_in=sim(network,feature_im_in'); disp(' The Unknown person was labeled as : '); disp(round(re_im_in *10)); %**************************** END **************************** % Fractal Dimention Computing_Function .
function dim=DimensionFractal(binary_img) [x y]=size(binary_img); perc=zeros(2,10); for i=1:10 perc(1,i)=i/(x); perc(2,i)=dim_compute(i,binary_img); end Y=log10(perc(2,:)); X=log10(1./perc(1,:)); output=polyfit(X,Y,1); dim=output(1,1); function out=dim_compute(n,Input_pic) [x y]=size(Input_pic); sizex=mod(x,n); sizey=mod(y,n); %*************************************** if sizex~=0 numx=((x-sizex)/n)+1; else numx=((x-sizex)/n); end %*************************************** if sizey~=0 numy=((y-sizey)/n)+1; else numy=((y-sizey)/n); end %*************************************** c=0; for i=1:numx-1 for j=1:numy-1 isizex=Input_pic((i-1)*n+1:i*n,(j-1)*n+1:j*n); if sum(sum(isizex))~=0 c=c+1; end end end out=c;