X
تبلیغات
Myblog - پردازش تصویر
پردازش تصویر // 22:48 - پنجشنبه بیست و یکم آذر 1392

دانلود مقاله شناسایی زبان اشاره با استفاده از PCA و شبکه عصبی

Enhanced Continuous Sign Language Recognition using PCA and Neural Network Feature


دانلود مقاله : Sign Language Recognition


دسته بندی : پردازش تصویر

پردازش تصویر // 22:14 - یکشنبه پنجم آبان 1392

الگوریتم flood fill برای تشخیص چهره

سلام دوستای گلم !! 

در مورد الگوریتم flood fill می دونین ؟ یه مقاله اینجا هست که واسه تشخیص چهره از این الگوریتم استفاده کرده :

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

استخراج ویژگی :

واسه استخراج ویژگی ها از نواحی مختلف ، ما منحنی هایی در این نواحی رسم کردیم ، که پیکسلهایشان به عنوان پیکسلهای پوست به حساب نمی یومدن.بعد از تشخیص پیکسلهای غیر پوست ما الگوریتم Flood Fill رو واسه پیدا کردن منحنی هایی از پیکسلهای غیر پوست به کار بردیم. این الگوریتم سه تا پارامتر میگیره، یکی شاخه ی شروع کننده یا starting node ، یه رنگ (target) ، و یه رنگ جایگزین .الگوریتم به دنبال تمام شاخه هایی در آرایه (صفحه) میگرده که با رنگ target به نود وصل شدن و اونا رو با رنگ جایگزین عوض میکنه . البته راههای بسیار زیادی برای ساختار این الگوریتم هست، ولی همشون به دو حالت stack یا queue کار میکنن.

الگوریتم Flood Fill :

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

1. قرار دادن Q برای صف خالی

2. اگه رنگ نود با نود هدف یکی نیست ، برگرد

3. اضافه کردن نود به Q

4. واسه هر n عنصر از Q :

5. اگه رنگ n با رنگ هدف یکی هست :

6. W و e رو مساوی با n قرار بده .

7. تا زمانیکه رنگ این نود با w از west با رنگ هدف مطابقت نداشته باشه ، w رو به west انتقال بده.

8. تا زمانیکه رنگ این نود با e از e east با رنگ هدف مطابقت نداشته باشه ، e به east حرکت بده.

9. قرار دادن رنگ برای این نودها بین w و e به عنوان رنگ جایگزین

10. واسه هر نود n بین w و e :

11. اگه رنگ این نود برای n از north ،vرنگ هدف هستش ، این نود رو Q اضافه کن .

12. اگه رنگ این نود برای n از south ، رنگ هدف هستش ، این نود رو به Q اضافه کن .

13. ادامه ی حلقه تا زمانیکه Q ، exhaust بشه.

14. بازگشت

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

اهداف :

شناسایی چهره از تصویر ورودی

تشخیص ROI برای کار بر روی بخش های مختلف تصویر چهره

پیدا کردن شکل منحنی ها از هر ROI

استخراج ویژگی به کمک مماس بر منحنی ها برای نقاط بینهایت

شرح روش پیشنهادی :

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

که P(x,y) بیانگر پیکسل فعلی با مختصات X و Y است و R ، G و B هم مقادیر قرمز ، سبز و آبی ، مربوط به پیکسل فعلی P(x,y) و T مقدار آستانه برای پیکسل های رنگ پوست خواهد بود.

گام دوم : حداکثر عرض و حداکثر ارتفاع پیکسلهای پوست به عنوان عرض و ارتفاع چهره در نظر گرفته میشه.

گام سوم : برای بررسی امکان وجود یه چهره تو تصویر ورودی ، عرض و ارتفاع ناحیه ی چهره باید از معیار های زیر تبعیت کنه : 

گام چهارم : پس از شناسایی چهره ، تصویر چهره به یه تصویر باینری تبدیل میشه

گام پنجم : حالا cut چهره از تصویر باینری با توجه به پیکسل های پوست در تصویر به کمک عرض و ارتفاع

گام ششم : یافتن ناحیه ی مورد نظر ( ROI ) از چهره به صورت : چشم چپ ، چشم راست و لب با توجه به روش مبتنی بر دانش برای شناسایی چهره

گام هفتم : به کار بردن الگوریتم Flood Fill بر روی چشم چپ ، چشم راست و لب واسه بدست آوردن منحنی هاشون

گام هشتم : در نظر گرفتن دو نقطه ی بینهایت از منحنی به عنوان دو ویژگی اول از هر ناحیه

گام نهم : حالا با رسم مماس بر منحنی ها ما 4 ویژگی بر روی هر ناحیه ی مورد نظر ( ROI ) رو خواهیم داشت


دانلود اصل مقاله

 

----------------------------------------------------------------------------------------------------------------


دسته بندی : پردازش تصویر

پردازش تصویر // 23:39 - جمعه هشتم شهریور 1392

آستانه گیری تصویر به کمک مجموعه های فازی نوع 2

سلام دوستای گلم !! 

تو این پست یه مقاله در مورد آستانه گیری تصویر به کمک مجموعه های فازی نوع 2 آماده کردم . چی ؟؟ مجموعه های فازی نوع 2 چیه ؟؟ خوب راستش .... فازی نوع دوم تعمیم یافته نوع اول است. به طوری که عدم قطعیت بیشتری را پوشش می دهد. این نوع فازی را پرفسور زاده در سال 1975 ارائه کرد. تابع عضویت یک مجموعه فازی نوع دوم تعمیم یافته مانند  یک تابع سه بعدی است که بعد سوم، مقدار تابع عضویت در هر نقطه از دامنه ی دو بعدی آن است؛ که جای پای عدم قطعیت (FOU) نامیده می شود. در یک مجموعه فازی نوع دوم بازه ای مقدار بعد سوم همه جا یکسان است؛ و ریاضیات مورد نیاز آن ساده تر است. تئوری فازی در زمینه های مختلف به طور موفقیت آمیزی به کار برده شده است. اما کاربرد گونه های دیگر فازی مانند فازی نوع دوم و فازی شهودی هنوز در ابتدای راه است.

 تمایز بین فازی معمولی و نوع دوم در این است که تابع عضویت فازی نوع دوم یک سیستم فازی در بازه [0, 1] می باشد؛ در حالی که تابع عضویت فازی معمولی مقداری عددی در بازه [0, 1] است.که توابع عضویت  بلند،  کوتاه و  متوسط، خود سیستم های فازی نوع اول هستند. فازی نوع دوم وقتی مفید است که نتوانیم تابع عضویت یک سیستم فازی را به آسانی تعیین کنیم. به همین دلیل برای پوشش عدم قطعیت در تابع عضویت، از یک فازی دیگر استفاده می کنیم.

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

دانلود ترجمه ی مقاله

دانلود اصل مقاله

 

-----------------------------------------------------------------------------------

رویاهایی هست که شاید هرگز تعبیر نشوند
اما همیشه شیرین اند
مثل رویای داشتن تـــــــو …

 



دسته بندی : پردازش تصویر

پردازش تصویر // 20:47 - سه شنبه پنجم شهریور 1392

تکنیک های thresholding تصویر

سلام برو بچ  

یه مقاله در مورد تکنیک های آستانه گیری تصویر واستون آماده کردم :

در بسیاری از کاربردهای پردازش تصویر ، پیکسل های سطوح خاکستری متعلق به شی با پیکسلهای سطوح خاکستری متعلق به پس زمینه ، کاملا متفاوت هستند. با این که آستانه گیری بسیار ساده به نظر می آید ولی ابزار مناسبی جهت جداسازی اشیا از پس زمینه است. نمونه هایی از کاربرد های آستانه گیری شامل : تجزیه و تحلیل تصویر اسناد که هدف آن استخراج ویژگی های چاپ شده است ، لوگو ها ، محتوای گرافیکی ، علائم ، پردازش صحنه ای که برای یک هدف شناسایی می شود، بررسی کیفیت مواد ، دیگر کاربرد ها شامل تصاویر سلول و بیان دانش ، روش های مختلف قطعه بندی تصویر برای کاربردهای تست غیر مخرب ( NDT ) ، در تصاویر فراصوت ، تصاویر جریان گردابی ، تصاویر حرارتی ، توموگرافی کامپیوتری اشعه X ، استخراج لبه ، در کل فرآیند قطعه بندی تصویر ، قطعه بندی فضا – زمان در تصاویر ویدئویی و بسیاری کاربردهای دیگر.

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

مشکلات اصلی در رابطه با thresholding در اسناد و کاربردهای NDT اتفاق می افتد ، زمانی که در آنها نویز غیر ثابت ، همبسته و غیر گوسی باشد. عوامل پیچیده ی دیگر در عمل آستانه گیری ، نور محیط ، تغییرات سطوح خاکستری در شی و پس زمینه ، contrast نامناسب ، شکل شی و اندازه ی نامتناسب با این صحنه را می توان نام برد. در نهایت فقدان اقدامات عینی برای ارزیابی عملکرد الگوریتم های آستانه گیری یکی دیگر از این نواقص بشمار می رود.

تجزیه و تحلیل تصویر اسناد و سیستم بازشناسی شامل چندین تکنیک پردازش تصویر می شود ، که ابتدا با دیجیتالی کردن سند و نهایتا به بازشناسی ویژگی ختم خواهد شد. آستانه گیری به عنوان یکی از تکنیک های سطح پایین در پردازش تصویر مورد استفاده قرار می گیرد ، مثلا در تجزیه و تحلیل تصویر اسناد ، قبل از مرحله ی تحلیل سند ، برای بدست آوردن یک تصویر باینری . مرحله ی آستانه گیری می تواند بسیار مهم و برای رسیدن به مراحل بعدی ، تقسیم بندی از سند به اشیاء متن و صحت OCR ( شناسایی نوری کاراکتر ) تاثیر گذار باشد. آستانه ی نامناسب باعث تیرگی ، streaks ، محو شدن قطعه بندی سند مخدوش شده و کارهای شناسایی می شود. ادغام ، شکستگی و تغییرات دیگری در شکل ویژگی به عنوان یک نتیجه از آستانه گیری نادرست و دلیل اصلی شکست در عملکرد OCR شناخته می شود. الگوریتم های آستانه گیری به نوبه ی خود بستگی به عوامل زیادی از جمله توزیع سطح خاکستری اسناد ، اثرات سایه محلی ، قسمت های متراکم ، اجزا ی غیر متنی مثل گرافیک ، کیفیت کاغذ و غیره دارنند.

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

در این مطالعه الگوریتم های آستانه گیری با توجه به نوع اطلاعات مورد استفاده طبقه بندی شدند. تشخیص این مقاله بر شش دسته شامل :

1- اطلاعات آنتروپی هیستوگرام (Histogram entropy information )

2- اطلاعات شکل هیستوگرام (Histogram shape information )

3- اطلاعات ویژگی تصویر مانند خطوط ( Image attribute information )

4- خوشه بندی اطلاعات سطح خاکستری (Clustering of gray-level information )

5- ویژگی های تطبیقی محلی (Locally adaptive characteristics )

6- اطلاعات مکانی (Spatial information )

است.

عملکرد آنها بر روی یک مبنای مقایسه ای برای تصاویر سند دراستخراج اشکال ویژگی و برای تصاویر NDT در استخراج اشیا پیش زمینه از قبیل بخش های معیوب ، ترک ، شکاف و غیره در سطح یا شکل فلزات به کار می رود. برای پرداختن به جنبه های مختلف استخراج اشیاء باینری چندین معیار استفاده می شود. این معیارها نشان دهنده ی اغتشاش بین پیکسل های پیش زمینه و پس زمینه ( خطا در کلاس بندی ، خطای ناحیه ی پیش زمینه ) اعوجاج شکل ، ( عدم تطابق لبه ) و نواحی غیر یکنواخت است. توجه داشته باشید که چهار معیار اول نیاز به داده های ground-truthدارد و امتیاز این معیارها به طور متوسط ​​بیش از همه تصاویر آزمون برای رسیدن به کیفیت عملکرد کلی برای هر یک از روش ها ی آستانه گیری است.

ترجمه ی بقیه اش با خودتون ، لینک دانلودش هم هست ... موفق باشین.

https://www.dropbox.com/s/sbnxh45bsvdd4bo/thresholding%20review.doc?m


----------------------------------------------------------------------------------------------------------

تنها باران است که گاهی در اوج تنهایی من در آن لحظه که هیچ کس نیست،
با من از تو می گوید…
ولی درد من این است که دیریست باران نمی بارد!


 


دسته بندی : پردازش تصویر

پردازش تصویر // 17:46 - سه شنبه پنجم شهریور 1392

قطعه بندی بافت با استفاده از فراکتال

سلام دوست گرامی

شما در مورد قطعه بندی بافت با فراکتال پرسیده بودین ، به نظرم این مقاله مناسب باشه . البته مقاله های خیلی خوبی در این زمینه هست ولی دسترسی به اونا امکان پذیر نیست . 

لینک دانلود مقاله

 

---------------------------------------------------------------------------------------------------------

 

دلتنگم برای کسی که

مدت هاست

بی آن که باشد

هــر لحــظه

زنــدگی اش کــرده ام


دسته بندی : پردازش تصویر

پردازش تصویر // 18:49 - یکشنبه سوم شهریور 1392

دانلود سیستم تشخیص چهره

سلام 

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

 

https://www.dropbox.com/s/ejztfe2upihzscx/Face%20Detect%20Software.rar?m

فایل های آموزشی شامل :

https://www.dropbox.com/s/77wfmx3zkp76dzm/Face%20Recognition.pdf?m

 http://www.cs.stevens.edu/~lxu1/CS559_data/FaceDetection_final.pdf

http://etd.dtu.dk/thesis/223656/ep08_93.pdf

اینم یه فایل آموزش تصویری :

http://www.youtube.com/watch?v=WfdYYNamHZ8

 

--------------------------------------------------------------------------------------------------------------

دلم دل نیست، دریا نیست ، مرداب است

که موجی هم سراغش را نمی گیرد

نه میل زیستن دارد نه می میرد…


دسته بندی : پردازش تصویر

پردازش تصویر // 21:6 - شنبه دوم شهریور 1392

الگوریتم لبه یابی canny

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

شناسایی لبه در روش Canny شامل شش مرحله ست.

مرحله‌ی اول فيلتر كردن تصوير اوليه و حذف نويز از تصويره. برای این منظور فيلتر گوسين با يه ماسك ساده قابل استفاده ست که به طور انحصاري در الگوريتم Canny استفاده می‌شه.

مرحله دوم یافتن لبه‌های قوی با استفاده از gradient magnitudeدر هر نقطه ست که برای این منظور معمولاً از ماسک سوبل استفاده میشه.

|G|=|Gx|+|Gy|

مرحله سوم بدست آوردن جهت لبه هاي تصوير، با استفاده از مقدار gradient در راستای x و y که در مرحله قبل محاسبه شده. فرمول زیر برای محاسبه جهت لبه‌ها استفاده میشه.

theta = invtan (Gy / Gx)

مرحله چهارم اختصاص دادن جهت‌های قابل قبول در تصوير به جهت‌های بدست آمده ست. براي هر پيكسل در تصوير فقط 4 جهت 0 و 45 و 90 و 135 درجه امکان‌پذیر می‌کنیم. بنابراين جهت‌های بدست آمده رو به يكي از اين 4 جهت Map می‌کنیم.

مرحله پنجم suppression nonmaximum است. اين مرحله جهت لبه‌ها را بررسي می‌کنه و از بین آن‌ها، لبه‌هایی را كه نمی‌شه به عنوان لبه در نظر گرفت رو حذف می‌کنه. اين مرحله يك خط باريك رو در تصوير نهايي می‌ده.

مرحله ششم آستانه گیری در تشخیص لبه ست. در Canny از روشی به نام hysteresis استفاده میشه. برای این منظور دو آستانه بالا و پایین تعریف می‌کنیم هر پیکسل که دارای gradient بیشتر از حد بالا باشه به عنوان لبه پذیرفته می‌شه و در صورتی که دارای مقدار کمتر از حد پایین باشه رد می‌شه و در صورتی که دارای مقداری بین این دو حد باشه در صورتی پذیرفته می‌شه که یکی از همسایه های آن پذیرفته شده باشه.

الگوریتم canny در مقایسه با الگوریتم های دیگه از دقت بالای برخورداره ولی پیچیدگی محاسباتی داره و یکمی کنده.


دسته بندی : پردازش تصویر

پردازش تصویر // 23:13 - جمعه بیست و پنجم مرداد 1392

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

سلام دوستای گلم 

تو این پست واستون یه مقاله از بازشناسی حالات چهره آماده کردم ، مراحل بازشناسی چهره در این مقاله شامل : تشخیص چهره ، نرمال سازی ، استخراج ویژگی و کلاس بندی ویژگی هاست. جالب بودن این مقاله واسه ی من مرحله ی تشخیص چهره به وسیله ی الگوریتم Viola-Jones و الگوریتم آموزشی Adaboost  و مقایسه ی عملکرد دو روش کلاس بندی LDA و ( SVC ( Support Vector Clustering بود. مقاله رو می تونین از لینک زیر دانلود کنین .



http://ijsr.net/archive/v2i4/IJSRON1201311.pdf


--------------------------------------------------------------------------------------------------------------------

برای خودت دعا کن تا همه ی شب هایت ماه داشته باشد؛
چون در تاریکی محض راه رفتن خیلی خطرناک است.
ماه چراغ کوچکی است که روشن شده تا جلوی پایت را ببینی.


دسته بندی : پردازش تصویر

پردازش تصویر // 16:53 - دوشنبه بیست و یکم مرداد 1392

دانلود مقاله شناسایی افراد از طریق خطوط کف دست

سلام 

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

شناسایی افراد از طریق خطوط کف دست

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

دانلود مقاله ها

 --------------------------------------------------------------------------------------------------------------

ﺣﻤﺪ ﻭ ﺳﭙﺎﺱ ﻣﺨﺼﻮﺹ ﺧﺪﺍﻭﻧﺪﯼ است ﮐﻪ ﻫﺮ ﺟﺎ ﺧﻮﺍﺳﺘﻢ ﺍﻭ ﺑﻮﺩ ﺍﻣﺎ ﻫﺮ ﺟﺎ ﺍﻭ ﺧﻮﺍﺳﺖ ﻣﻦ ﻧﺒﻮﺩﻡ !

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 22:11 - سه شنبه پانزدهم مرداد 1392

دانلود مقاله تشخیص افراد از طریق گوش

سلام دوستای من

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

Person Identification Using Ear Biometrics

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

 

دانلود مقاله

 

----------------------------------------------------------------------------------------------------------

 خدایــــــــــا إنقد دلم میخواد بدونم آسمونــــــــــت چه مـــــزه ای داره ک نگـــــو!
من ک فقط زمین خــــــــــوردم طعمش خیـــــلی تلــــــــــخ بود خیلـــــــــــــــی….

 

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 19:33 - شنبه دوازدهم مرداد 1392

دانلود مقاله تشخیص علائم ترافیکی به کمک پردازش تصویر

سلام دوستای گلم !!

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

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

ایده ی استفاده از بینایی برای ADAS در محیط های شهری به طوریکه تشخیص چراغ راهنمایی را نیز بتوان بدست آورد اولین بار در سال 1990 توسط Loy and Zelinsky معرفی شد که پیشنهاد یک بینایی ماشین مبتنی بر الگوریتم stop & go به کمک یک دوربین آنبرد رنگی بود. با این حال استفاده از بینایی ماشین برای ADAS عرصه ی پیشرفت در دهه ی بعدی شد. به طوریکه سرعت پردازنده ی کامپیوتر به نقطه ایی رسیده بود که می توانست الگوریتم های پیچیده را به صورت بلادرنگ اجرا کند. روش مطرح شده توسط Lindner و همکارانش در سال 2004 ادغام دوربین های رنگی ، GPS و اطلاعات خودرو برای افزایش robustness الگوریتم تشخیص چراغ راهنمایی بود که به وسیله ی مدل طبقه بندی دنبال می شود.

بخش تشخیص چراغ راهنمایی از مقادیر رنگ RGB ، بافت و شکل ویژگی ها استفاده می کند.در فضای رنگ HSV ، آستانه ی رنگ به کمک فیلتر گوسین و تایید کاندید های TL (چراغ راهنمایی) ردیابی می شود ، این رویکرد Hak و همکارانش در سال 2006 برای تشخیص چراغ راهنمایی در چهار راه ها است. یک روش مشابه که توسط Yehu Shen و همکارانش در سال 2009 انجام شد، مبتنی بر تصاویر HSV و یک توزیع گوسی براساس تصاویر آموزشی است. مرحله پس پردازش از شکل واطلاعات مربوط به ثبات زمانی به منظور افزایش نتایج بهره گیری می کند.

فرایند واضح و روشن تر به وسیله ی M. Omachi and Omachi در سال 2009پیشنهاد شده است که نواحی کاندید در فضای رنگ RGB نرمال شده را مکان یابی می کند و نتایج معتبر را به کمک لبه و تقارن تشخیص می دهد.

ترجمه ی بقیه اش با خودتون ..... موفق باشین !!!  

 دانلود مقاله ها

 

---------------------------------------------------------------------------------------------------------------

واژه ها حرف ها و کلام ها در گذر زمان می آییند و میـــــــــرونند

اما خاطره خوش باهم بودن هست که می ماند

افتخاری بود در کنار شما بودن حتی اگر فراموش شدم  

 


دسته بندی : پردازش تصویر

پردازش تصویر // 18:54 - سه شنبه هشتم مرداد 1392

دانلود مقاله تشخیص ناخن

سلام دوستای عزیز

تو این پست یه مقاله از تشخیص ناخن واسه دانلود گذاشتم ، امیدوارم مفید باشه !

دانلود مقاله تشخیص ناخن

 

---------------------------------------------------------------------------------------------------------

خدایا !

من چیزی نمیبینم

آینده پنهان است

ولی آسوده ام چون تو را می بینم

و تو همه چیز را . . .

 


دسته بندی : پردازش تصویر

پردازش تصویر // 10:14 - یکشنبه ششم مرداد 1392

ناحیه بندی تصاویر یا image segmentation چیست ؟

سلام دوستان

تو این پست می خوام راجبه ناحیه ی بندی تصاویر یا image segmentation  بحث کنم . خوب چیه ؟ زمانی که تصویر رو به اجزای تشکیل دهنده اش تقسیم کنیم . چه کاربردی داره؟ مثلا یه تصویر از یک کلاس داریم می خوایم افراد داخل کلاس رو تشخیص بدیم و کاری به object های دیگه تو تصویر نداریم. همیشه واسه پیش پردازش تصویر از segmentation استفاده می کنند ، می دونین چرا ؟ دلیل اصلیش ساده کردن تصویر هستش . مثلا یه تصویر رنگی که حدود 100 یا بیشتر رنگ داره رو میشه به یه تصویر به 3 یا 4 رنگ تبدیل کرد ، بعد آنالیز تصویر رو انجام داد. خوب واسه ناحیه بندی تصاویر روش های مختلفی داریم مثل :

clustering

Histogram-based

Edge Detection

Level set

Graph Partitioning

Watershed

Fuzzy approach

Neural Network

Region growing

دقت کنین که خروجی هر الگوریتم با دیگری متفاوته ، مثلا یه الگوریتم ممکنه یه تصویر رو به 3 ناحیه تقسیم کنه در صورتی که یه الگوریتم دیگه همون تصویر رو به 5 ناحیه تقسیم می کنه !

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

Image Retrieval

Object Recognition

Object Finding

Object Verification

 مثلا چندتا کاربرد عملی از image segmentation  می تونه واسه : Face Recognition ،  Pattern Recognition ، Robot Vision ، Traffic Control System ، Fingerprint Recognition  و ......

ولی تمرکز اصلی من روی متد Region growing از ناحیه بندی تصاویر هستش ، واسه همین چندتا مقاله در این زمینه آپ کردم ، دوست داشتین دانلود کنین ، راستی چون توضیحاتم کافی نبود می تونین از لینک image segmentation هم استفاده کنین ............... موفق باشین !

 

A new minimum variance region growing algorithm

Random Walks for Image Segmentation

Segmentation Using a Region Growing Thresholding

image segmentation

--------------------------------------------------------------------------------------------------------------

 وقتی عبارت “خدا را به یاد داشته باش” را می خوانم در ذهنم و در قلبم گزینه “همیشه” را برایش تیک می کنم !

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 22:17 - جمعه چهارم مرداد 1392

دانلود مقاله بازیابی تصویر با استفاده از هیستوگرام فازی

سلام دوستای من

ترجیح دادم آخرین پست هامو با مقالاتی در حوزه ی پردازش تصویر به پایان برسونم ! این دفعه یه مقاله در مورد بازیابی تصویر مبتنی بر محتوا واستون آماده کردم که از تکنیک های فازی استفاده می کنه ! راستی ترجمه شو هم واسه دانلود گذاشتم اگه اشکالی داخلش هست لطفا نظرتونو  بفرمایید ، موفق باشید   

دانلود اصل مقاله

دانلود ترجمه ی مقاله  

 

-------------------------------------------------------------------------------------------------

فـرهنـگ لـغـت هــا نـیـاز بـه ویــرایــش دارند

بـرای مـعنی دلـتـنـگی احتیـاج بــه ایــنهــمـه کـلمه نــیـســت

دلتنـگی یــعنـــی نبودن تـــو . . .


دسته بندی : پردازش تصویر

پردازش تصویر // 19:36 - شنبه بیست و دوم تیر 1392

تشخیص ناخن در تصویر

سلام دوستای گلم !! 

دیروز داشتم دنبال یه مقاله در مورد تشخیص ناخن در تصویر می گشتم ، ولی متاسفانه نتونستم چیزی پیدا کنم ! خوب اصلا این تشخیص ناخن چی بوده که من اینقدر دنبالش بودم ؟؟؟ حتما می دونین که ناخن یکی از انواع بیومتریک هاست ! یعنی یه ویژگی هایی تو ناخن من هست که با تمام ناخن های آدمای رو کره ی زمین فرق داره ! از ناخن به دو صورت در بیومتریک استفاده می کنن : Nial Bed اون رشته های زیر ناخن که خیلی ابعادشون کوچیک هست ، دانشمندان اعتقاد دارن که این رشته ها مثل الگو های عنبیه منحصر به فرده ! دومین روش Nail RFID هست که به ندرت استفاده میشه ( آقا اصلا خود تشخیص ناخن به ندرت انجام میشه دیگه چه برسه به استفاده از این روش ، البته شاید یه روزی مد شد !! ) تو این روش یه میکرو چیپ RFID روی ناخن قرار داده میشه و میزان سطح خازنی ناخن با سطح گوشت سنجیده میشه . مقدار خازنی واسه هر کسی یه چیزه !! پس منحصر به فرده . 

برگردیم به داستانی که داشتم تعریف می کردم ، خلاصه بعد از کلی جستجو به سایتی رسیدم که یه نفر درمورد الگوریتم ها و روش های پیاده سازی تشخیص ناخن در تصویر پرسیده بود ، چند نفر بهش پاسخ داده بودن مثلا این که می تونی با روش های SVM یا شبکه عصبی یا ویولت مدل سازی کنی ! ولی از چالش ها و روش پیاده سازی چیزی نگفته بودن ولی یه نفر پیشنهاد داده بود که می تونی از روش Viola-Jones استفاده کنی . این روش خیلی قویه ! اگه دوست داری بدونی که واقعا چیه به این لینک سر بزن : 

http://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework

خلاصه من که به نتیجه ایی نرسیدم ولی حداقلش با یه روش تشخیص شی در تصویر آشنا شدم !

راستی اگه از دوستان کسی در این مورد اطلاعاتی داره خیلی خوشحال می شم در اختیار ما هم قرار بده !

--------------------------------------------------------------------------------------------------------------------

سجاده ام کجاست ؟

می خواهم از همیشه ی این اضطراب برخیزم

این دل گرفتگی مداوم شاید

تاثیر دل سایه ی من است

که این سان گستاخ و سنگوار

بین خدا و دلم  ایستاده ام

سجاده ام کجاست ؟


 


دسته بندی : پردازش تصویر

پردازش تصویر // 22:40 - سه شنبه هجدهم تیر 1392

کلاس بندی فازی چیست ؟ fuzzy classification

دوستای من سلام !!

روش های کلاس بندی داده ها ، خوب چیه؟ میشه اینطوری تعریف کرد که : روش های کلاس بندی به شما اجازه می ده تا ابعاد مجموعه داده های پیچیده رو به وسیله ی گروه بندی کردن اونا در تعدادی طبقه یا کلاس ، کاهش بدین. با روش های کلاس بندی مرسوم ، هر sample / location در یه کلاس یا طبقه قرار داده می شه و درجه عضویت نمونه ها در کلاس به صورت دودویی یا باینری هستش ، یعنی یه نمونه می تونه عضو یه کلاس باشه یا می تونه نباشه ( 0 یا 1 ) اما اگه کلاس بندی داده ها به صورت فازی انجام بشه اون وقت یه نمونه می تونه تو کلاس های مختلف با درجه عضویت های متفاوت حضور داشته باشه. یعنی یه sample خاص می تونه با 0.5 عضو کلاس a باشه و با درجه ی 0.3 عضو کلاس b و با درجه ی 0.2 عضو کلاس c باشه به طوریکه مجموع تمام مقادیر عضویت برای این sample برابر 1 هستش.

چرا کلاس بندی فازی خوبه ؟

چون واسه داده های پیوسته که تو کلاس های مجزا قرار نمی گیرن این روش خیلی مناسبه ، خوب داده های پیوسته مثل چی ؟ مثلا اطلاعات آب و هوایی ، نوع پوشش گیاهی ، کلاس بندی خاک ، زمین شناسی ، زمینه های پزشکی و مهندسی و ... بیخیال دیگه !!

در سال 1998 Brown کلاس بندی فازی رو ابزاری مناسب واسه داده ها با دو تا ویژگی بیان کرد : ابهام attribute و ابهام فضایی . ابهام attribute زمانی رخ می ده که عضویت یه نمونه به یه کلاس نامشخص باشه ، مثل سنجش از راه دور اطلاعات ، عکس های هوایی که به طور پیوسته تفسیر نمی شن. ابهام فضایی زمانی به وجود می یاد که وضوح نمونه ها به اندازه ی کافی مناسب نباشه یعنی نشه مرزی واسه شون مشخص کرد.

بنابراین به کار بردن روش فازی باعث میشه مجموعه داده ها با دقت بیشتری کلاس بندی بشن ، قبول ندارین؟ من که قانع شدم !  

یکی از خوانندگان در مورد این موضوع نظرشونو فرمودن : 

تئوری فازی توسط دانشمند ایرانی الاصل پرفسور لطفی زاده ارائه شد. در اغلب سیستم ها مانند ماشین لباس شویی از این تئوری استفاده میشه. همون طور که گفته شد در این تئوری به اشیاء نگاه نرم می شود به این معنا که هر شیء می تواند در چند گروه قرار گیرد به عنوان مثال اگر این نظریه نباشد به ماشین پراید یک ماشین ایرانی گفته می شود در حالیکه با این نظریه ماشین پراید 0.9 یک ماشین داخلی و 0.1 ماشین خارجی است. درکلاسه بندی مخصوصا تصاویر ماهواره ای یک پیکسل ممکن است به چند کلاس تعلق داشته باشد بنابراین فازی می تواند عدم قطعیت ها را کاهش دهد" 

از دقت و توجه شون تشکر می کنم . 

به این لینک هم سر بزن اگه دنبال سورس کد می گردی !!!

http://www.mathworks.com/matlabcentral/fileexchange/29043-neuro-fuzzy-classifier

 

-----------------------------------------------------------------------------------------------------------------

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

 


دسته بندی : پردازش تصویر

پردازش تصویر // 23:20 - یکشنبه شانزدهم تیر 1392

دانلود مقاله بازیابی تصویر - image retrieval

سلام دوستای من !!

یه مقاله ی جدید 2013 در مورد بازیابی تصویر واستون آماده کردم ، امیدوارم مفید باشه !!  البته اگه مشکلی تو ترجمه بود حتما بفرمایین .... 

دانلود ترجمه ی مقاله

 دانلود اصل مقاله

IMAGE RETRIEVAL SYSTEM BASED ON FEATURE COMPUTATION – AN INTEGRATED APPROACH

 

Abstract

The idea proposed in this paper utilizes an efficient image retrieval system that is based on computation and combination of grey level, shape and texture features. The proposed system calculates various grey level features which are used to extract attributes from an input image. Grey Level Co-occurrence Matrix is used to compute the texture feature of a given image while the Shape feature finds the shape of the specified object. Scale Invariant Feature Transform Algorithm is incorporated to extract the feature points of an image to detect the specific object among various kinds of image classes. The similarity of image objects is assessed by combining these features that are computed already. The "sample" database is constructed with different kinds of image classes such as car, bike et

 

------------------------------------------------------------------------------------------

عادت ندارم درد دلم را ،

به همه کس بگويم ...

پس خاکش ميکنم زير چهره ي خنـدانم... 

تا همه فکر کنند

نه دردي دارم و نه قلبي ..


دسته بندی : پردازش تصویر

پردازش تصویر // 21:25 - سه شنبه بیست و هشتم خرداد 1392

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

سلام دوستای عزیزم !!

این مقاله خیلی باحاله ، واسه همین ترجمه شو  این جا گذاشتم ، راستی اگه تو ترجمه جایی اشکالی می بینید حتما نظرتونو بفرمایین .... ( آره خودم می دونم زبانم داغونه !!!   )

دانلود مقاله

 

 Human Face Detection Using Genetic Algorithm

مقدمه

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

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

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

تشخیص چهره

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

تکنیک های شناسایی چهره شامل سه روش عمده هستند:

1- روش هایی بر پایه ی خصوصیات ثابت

2- روش هایی بر پایه ی ظاهر

3- روش هایی بر پایه ی دانش

روش هایی برپایه ی دانش

این روش ها براساس دانش قبلی در مورد مسئله ، چهره را در تصویر شناسایی می کنند.یک مثال در این مورد روش هایی براساس Template ها است. که برای شناسایی اشیا آنها را براساس اجزای هندسی مثل دایره ، مربع یا مثلث بررسی می کنند.درمورد تشخیص چهره بیضی مناسب ترین نوع Template بشمار می رود.

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

1- ایجاد جمعیتی تصادفی به اندازه ی N از کروموزوم ها

2- محاسبه ی تابع fitness برای هر کروموزوم

3- ایجاد کروموزوم های جدید از طریق ترکیب کردن کروموزوم های انتخاب شده از این جمعیت ، به کار بردن ترکیب recombination و جهش mutation در این کروموزوم ها

4- از بین بردن اعضای قدیمی جمعیت ، به منظور ایجاد فضا برای کروموزوم های جدید و درج آنها و همچنین ثابت ماندن مقدار N از جمعیت ( جمعیت به اندازه ی N ثابت بماند و تغییر نکند)

5- اعمال fitness ( مقدار برازندگی ) در این کروموزم های جدید و درج آنها در جمعیت

6- در صورتی که راه حل مطلوب پیدا شود یا اگر زمان (تعداد نسل ) تهی شد ، کروموزوم با بهترین fitness برگردانده می شود در غیر این صورت به گام سوم برمی گردیم.

تابع fitness

به منظور حل هر مسئله با استفاده از الگوریتم های ژنتیک ابتدا باید یک تابع برازندگی برای آن مسئله ابداع شود برای هر کروموزوم این تابع عدد غیر منفی را بر می گرداند که نشان دهنده ی شایستگی یا توانایی فردی آن کروموزوم است.

انتخاب

انتخاب بعد از اعمال fitness در کروموزوم رخ می دهد.در طبیعت موجودی برای تولید مثل و تکامل انتخاب می شود که بیشترین مقدار fitness را داشته باشد.برای انتخاب روش های زیادی وجود دارد.اما مسلما در اکثر این روش ها کروموزومی انتخاب می شود که میزان سازگاری و احتمال بقا و تولید مثل بالاتری را دارد.

تولید مثل

کروموزوم جدید از ترکیب دو کروموزوم قبلی به وجود می آید.این فرآیند به دو پارامتر ( دو کروموزوم ) که اپراتور یا عملگر پیشنهاد می کند بستگی دارد. این عملگر همان crossover یا احتمال نوترکیب است که با pc نمایش داده می شود.همچنین ممکن است عمل جهش در کروموزوم جدید به وجود آید که با pm نشان داده می شود.برای شروع معمولا مقدار pc بین 1 تا 1.5 و مقدار pm بین 0.001 تا 0.02 در نظر گرفته میشود.

الگوریتم ژنتیک در تشخیص چهره

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

1- پیش پردازش

2- کاربرد الگوریتم ژنتیک

مرحله ی پیش پردازش

این مرحله شامل سه گام اساسی است : 1- کاهش اندازه ی تصویر : اندازه ی تصویر اصلی در حدود 256*256 پیکسل است این اندازه باید به حدود 128*128 پیکسل کاهش داده شود. 2- کاهش نویز : برای کاهش نویز در تصویر از فیلتر میانه با ماسک 3*3 استفاده شده است. 3- تشخیص لبه ها : برای شناسایی لبه ها در تصویر از عملگر سوبل استفاده شده که نتیجه ی حاصل از آن یک تصویر باینری است ، پیکسل های سفید لبه ها و پیکسل های سیاه پس زمینه ی تصویر است.

کاربرد الگوریتم ژنتیک

بعد از انجام مراحل پیش پردازش ، امکان استفاده از الگوریتم ژنتیک فراهم می شود که اساسا شامل جستجو برای پیدا کردن شی ای شبیه بیضی با نسبت تناسب 1.5:1 در تصویر است. ( قبلا ذکر کردیم که Templateچهره شبیه به بیضی است ) که احتمالا چهره ی شخص باشد.

در این مورد individual ها بیضی هایی هستند که به صورت باینری نوشته می شوند.با فرض این که هر individual در حدود 4 کروموزوم دارد که به ترتیب : مکان x ، مکان y ، نسبت x و نسبت y است. این کروموزوم ها در الگوریتم ها ی معمولی همان متغییر ها برای مختصات بیضی هستند اما در الگوریتم ژنتیک این کروموزوم ها از تنها یک individual ساخته می شوند. اندازه ی هر کروموزوم در حدود 7 بیت است که نمونه ی آن را در تصویر زیر مشاهده می کنید.

اولین گام تولید جمعیت اولیه با تعداد 100 ، individual است. هر individual به صورت تصادفی و با محدودیت ( x و y باید در اندازه گیری متناسب از 1.5:1 باشند ) نه محدودیت در مورد اندازه و موقعیت بیضی ساخته شده ، ایجاد می شود چرا که چهره در تصویر می تواند بزرگ یا کوچک باشد.

تعداد پیکسل های سفید در تصویر پیش پردازش شده را NA قرار می دهیم و تعداد پیکسل های سفید در تصویر individual را NB می نامیم ، بنابراین تابع fitness به صورت : NA/NB تعریف می شود.

فرایند انتخاب به صورت خودکار انجام می شود بدون استفاده از تطابق یا رولت روش ، برای مثال تعداد 20 عدد individual با مقدار fitness خیلی بزرگ برای تولید مثل انتخاب شد، اما با 20 individual مفهوم تولید مثل تنها برای 20 عدد individual جدید دیگر ممکن است چرا که جفت ها بین خودشان مبادله می شوند. تولید مثل از دونقطه به وجود می آید و این نقاط به صورت تصادفی انتخاب می شوند بعد از فرایند تولید مثل ممکن است کروموزوم جدید دچار mutation یا جهش شود این فرایند این قدر تکرار میشود تا حدود 150 نسل به وجود آید هر نسل با 100 عدد individual و در پایان individual ایی که بالاترین مقدار fitness را داشته است به عنوان احتمال وجود چهره در این ناحیه از تصویر مشخص می شود.

نتایج 

وضوح تصاویر مورد آزمایش در حدود 256*256 پیکسل بود، همه ی تصاویر در فرمت JPG فشرده سازی شده بودند.در مورد تصاویر با پس زمینه ی غیر پیچیده ، الگوریتم عملکرد قابل قبولی داشت حتی اگر چهره شامل ریش ، سیبیل ، موی بلند ، عینک و غیره باشد.اما مواردی که پس زمینه ی تصویر پیچیده باشد الگوریتم کارآمد نخواهد بود. با توجه به این واقعیت که الگوریتم همیشه هر پیکسل از تصویر را مقایسه می کند بنابراین سرعت آن کند است.روند تشخیص چهره با اجرا در متلب 7 در یک کامپیوتر با پردازنده ی 1.8 GHZ و 256 مگابایت رم در حدود 3 دقیقه طول می کشد.

نتیجه گیری

در این مقاله یک روش برای تشخیص چهره ی انسان پیشنهاد شد ، الگوریتم برای تصاویری با پس زمینه ی ساده ( غیر پیچیده) عملکرد مناسبی داشت یقینا ، الگوریتم ژنتیک می تواند برای حل مسائل پیچیده در بینایی ماشین و غیره استفاده شود.




دسته بندی : پردازش تصویر

پردازش تصویر // 17:11 - پنجشنبه بیست و سوم خرداد 1392

تشخیص چهره با استفاده از PSO & SVM

سلام دوستای گلم !!

من این مقاله رو خیلی دوست دارم ! ترجمه کردم و گذاشتمش واسه دانلود ، راستی اگه اشکالی تو ترجمه پیدا کردین حتما نظرتونو بگین ، منتظرم !! موفق باشین ....

دانلود مقاله

دانلود ترجمه ی مقاله

Face Detection Using Particle Swarm Optimization and Support Vector Machine

چکیده :

در این مقاله الگوریتمی که از بهینه سازی ازدحام ذرات برای جستجوی چهره در تصویر استفاده می کند پیشنهاد شده است.این الگوریتم از ماشین برداری پشتیبان ( SVM ) خطی به عنوان یک طبقه بندی سریع و دقیق به منظور جستجوی چهره در فضای دو بعدی استفاده می کند. با استفاده از الگوریتم PSO ، جستجوی کامل در تمام ترکیبات ممکن از مختصات دوبعدی مسئله اجتناب می شود و همین امر باعث صرفه جویی در زمان و کاهش محاسبات پیچیده خواهد شد. علاوه براین ، SVM های خطی اثبات کرده اند که برای رفع مشکلات حاصل از طبقه بندی بخصوص در برنامه های کاربردی بسیار موثر اند.نتایج بدست آمده از آزمایش براساس شرایط ثبت تصویر واقعی از پایگاه داده ی BioID است و این امید را می دهد که می توان از الگوریتم پیشنهادی برای کاربرد های واقعی استفاده کرد.

-----------------------------------------------------------------------------------------------------------------

نشانه میگیری
سنگ می اندازی و بعد خنده کنان !
لِی .. لِی .. لِی ..
پای میکوبی و میروی !
بد جور با دلم “بــــــــــازی” میکنی


دسته بندی : پردازش تصویر

پردازش تصویر // 22:14 - سه شنبه دهم اردیبهشت 1392

دانلود سورس کد تشخیص چهره با Fisher face

پاسخ به نظرات خوانندگان

سلام  !

این پست رو فقط واسه شما نوشتم parisa عزیز ، منتظر ایمیلت بودم ولی چون جوابی ندادی ترجیح دادم چند تا لینک بهت معرفی کنم ، امیدوارم واست مفید باشه !

لینک زیر پیاده سازی تشخیص چهره با متد Fisher face به وسیله ی opencv

Fisher face + opencv

این هم یه مقاله راجبه Fisher face

Fisher face

و پیاده سازی Fisher face با نرم افزار متلب

دانلود سورس کد متلب

امیدوارم موفق باشی .....

-------------------------------------------------------------------------------------------------------------------

دوستش دارم ...

بزرگیش را ...

سکوتش را ...

عظمتش را ...

تنهاییش را ...

حکمتش را ...

صبرش را ...

و ...

و ...

بودنش عادتیست ، مثل نفس کشیدن !

خدا را میگویم .



دسته بندی : پردازش تصویر

پردازش تصویر // 10:42 - سه شنبه بیستم فروردین 1392

شناسایی عنبیه با استفاده از تبدیل Ridgelets

با سلام

در این پست می خوام از یه روش جدید واسه تشخیص عنبیه بگم که از یه مقاله پیداش کردم ، خیلی جالب بود ، تمرکز این روش در استفاده از تبدیل Ridgelets به جای موجک هاست تبدیل Ridgelets از ترکیب تبدیل Radon با تبدیل موجک بدست می یاد . نویسندگان این مقاله معتقدن که Ridgelets در تشخیص خطوط بهتر از موجک ها عمل می کنه . چون موجک ها بیشتر واسه تشخیص موقعیت نقاط به کار می رن. نکته ی دیگه تو این مقاله حذف مرحله ی نرمال سازی تصویر عنبیه ست که همیشه جزاصلی سیستم تشخیص به شمار می رفته ( حداقل تو هر مقاله ایی که من خوندم این طوری بود ... ) که به جای این مرحله از ماسک گذاری استفاده کرده . یکی از نقاط قوت این روش البته براساس گفته های نویسندگانش کاهش حجم چشمگیر بردار ویژگی از تصویر عنبیه ، بدون کوچک ترین اثر بر دقت سیستمه .

به هر حال اگه دوست داری بدونی که چه خبره ؟ و جزییات مقاله رو متوجه بشی ترجمه ی زیر رو بخون (اصل مقاله رو واسه دانلود گذاشتم / شیوه ی نگارش ترجمه رو از عامیانه به رسمی تغییر دادم )

 دانلود مقاله                     

Abstract:

استخراج ویژگی های تصویر یکی از مراحلی است که برای آنالیز بیومتریک استفاده می شود . این مقاله راهکار نوینی را با عنوان تبدیل Ridgelets برای سیستم های تشخیص عنبیه ارائه داده است. این تبدیل ترکیبی از تبدیل Radon و موجک ها ست که برای استخراج اطلاعات بافتی مثل عنبیه بسیار مناسب خواهد بود .

روش پیشنهاد شده در این مقاله باعث کاهش حجم بردار ویژگی تا اندازه ی 1x4 و همچنین کاهش مقدار پارمتر های FAR (False acceptance Rate) و FRR (False Rejection Rate) وافزایش دقت سیستم شده است. این روش همچنین از فرایند نرمال سازی که به طور سنتی در سیستم های شناسایی عنبیه استفاده می شود ، اجتناب می کند. نتایج حاصل دقتی معادل 99.82% ، FAR برابر0.1309 % و FRR معادل 0.0434% را نشان می دهد .

Introduction:

سیستم های شناسایی سریع و کارآمد در هر زمانی مورد نیاز هستند . ویژگی های مربوط به صورت الگوهای صوتی ، هندسه ی کف دست ، الگوهای شبکیه ، الگوهای سیاهرگ ، امضا ، تشخیص صوت ، گرمانما ی صورت ، ناخن ، الگوهای راه رفتن و ..... به عنوان بیومتریک با درجه ی اطمینان مختلف شناخته می شوند. با این حال عنبیه به عنوان یک بیومتریک ، با درجه اعتماد بالاتر در مقایسه با دیگر روش ها به حساب می آید چون در تمام طول زندگی یکتا و بدون تغیییر باقی می ماند . از سال 1992 عنبیه به عنوان یک بیومتریک در حوزهی تحقیقات گسترده ایی قرار گرفته است و یکتایی الگو های آن توسط J.pospisil و A.muron کشف شد . این الگوها که عنبیه را اندامی منحصر به فرد ساخته در گفتاری از Daugman شرح داده شده :

"An advantage that the iris shares with finger prints is the chaotic morphogenesis of its minutiae"

عنبیه به عنوان یک قسمت رنگی بین مردمک و صلبیه تشخیص داده می شود.

اندام محافظت شده ، با دوام بالا و بدون تغییر در تمام طول زندگی ، ویژگی بارز عنبیه ست که شامل اطلاعات بافتی زیادی می باشد. از این بافت به طور کامل برای طراحی سیستم شناسایی بیومتریکی استفاده می شود. یک چالش مهم در این سیستم ها هزینه ی بالای محاسباتی ست که در متد های سنتی وجود دارد ، بنابراین توسعه ی یک سیستم شناسایی با پاسخ دهی سریع ، محاسبات ساده بدون از دست دادن پارامتر های کارایی برای کاربرد های online به عنوان یک نیاز شناخته می شود.

تبدیل موجک در تشخیص اثر نقاط عملکرد مناسبی دارد اما زمانی که اثر خطوط بیان می شود نمی توان ازتبدیل موجک استفاده کرد و تبدیل Ridgelets مطرح می شود.

پیشنهاد ما در این مقاله ارائه ی الگوریتمی موثر برای شناسایی عنبیه براساس تبدیل Ridgelets است که برای استخراج ویژگی ها از عنبیه با فرآیند نقاب گذاری (Masking) ترکیب شده است . در بخش بعدی شرح کار و زمینه ی نظری عنبیه به عنوان یک بیومتریک بیان شده است ، در بخش سوم Mask های پیشنهاد شده مورد بحث قرار گرفته اند . در بخش چهارم خلاصه ایی از Ridgelets و تبدیل Radon و تبدیل های wavelet گسسته (DWT) بیان شده ، در بخش پنجم روش پیشنهاد شده به طور کامل شرح داده شده و در بخش های ششم و هفتم به ترتیب نتایج آزمایش و نتیجه ی کلی از کار بیان شده است .

شرح کار Relaeted work:

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

هدف از متد پیشنهاد شده ، کاهش اندازه ی بردار ویژگی بدون تاثیر بر روی دقت سیستم و همچنین کاهش پارامتر های FAR و FRR است. استفاده از تبدیل Ridgelets که ترکیبی از تبدیل Radon و تبدیل موجک هاست برای استخراج ویژگی ها از تصویر عنبیه بسیار مناسب است. در حال حاضر روش پیشنهادی از تجزیه موجک ها درسطح سیگنال استفاده می کند ، تجزیه سطح سیگنال نتایج بهتری نسبت به تجزیه سطح بالا دارد زیرا تجزیه سطح بالا باعث افزونگی می شود. مقایسه ی نتایج بدست آمده از روش پیشنهاد شده با دیگر روش ها یی که از نرمال سازی استفاده می کنند و طول بردار ویژگی بزرگتری دارند قابل تامل است .

Main contribution:

از هر سیستم بیومتریک انتظار می رود که با کمترین طول بردار ویژگی ، کاهش پارامترهای FAR و FRR ، بیشترین میزان دقت را داشته باشد . برای برآورده شدن این خواسته ها ، از تبدیل Ridgelets استفاده شده است . بخش اصلی این مقاله به صورت مختصر در زیر بیان شده : روش پیشنهاد شده اولا ، اندازه ی بردار ویژگی را برای بهبود سرعت سیستم کاهش می دهد . تبدیل Ridgelets که ترکیبی از تبدیل Radon و تبدیل موجک ها ست ، مقیاس هایی از موقعیت خطوط را تشریح می کند. این مقیاس خطوط از بافت عنبیه استخراج می شود و کمترین اندازه را دارد. این کاهش سایز هیچ تاثیری بر دقت سیستم ندارد و باعث افزایش سرعت آن نیز می شود. دوما ، در این روش مرحله ی نرمال سازی حذف شده و این موضوع باعث کاهش زمان پردازش و بهبود عملکرد سیستم می شود. سوما ، تبدیل Ridgelets استفاده شده در این روش منجر به افزایش دقت و کاهش FAR و FRR شده و در آخر روش پیشنهاد شده با تعدادی از متد های موجود مقایسه می شود .

Proposed iris Mask:

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

معادله ی Mask از دو معادله ی زیر با استفاده از تبدیل موجک گسسته (DWT) بدست آمده است.

به طوریکه :

Aip: مساحتی از عنبیه و مردمک

AP: مساحتی از مردمک

Rimax: بیشترین شعاع عنبیه

Rpmax: بیشترین شعاع مردمک

Pcc و Pcr: مختصات مرکز مردمک

RI: شعاع اولیه عنبیه

Rp: شعاع اولیه عنبیه (در مقاله ،عنبیه ذکر شده در صورتی که به مردمک بیشتر شباهت دارد)

مقادیر اولیه ی شعاع ها بدون هیچ تغییری در سطح روشنایی مردمک و عنبیه محاسبه می شوند. مردمک در تصویر بیشتر شبیه بیضی است بنابراین مرکز آن به وسیله ی تقاطع بزرگترین و کوچکترین محور بدست می آید. شکل زیر مقیاس ماسک و همچنین ضرایب مربوط به آنرا نشان می دهد. این ماسک برای تصویری به اندازه ی 30x30 بیان شده است.

Ridgelets Transform:

تفاوت اصلی تبدیل Ridgelets با wavelet در این است که موجک ها مقیاسی از موقعیت نقاط را بیان می کند اما Ridgelets موقعیت خطوط را تشریح می کنند. تبدیل Ridgelets از یک تصویر مثل (x,y)  fگرفته می شود و به وسیله ی معادلات زیر بیان خواهد شد :

که Df تبدیل Ridgelets ، a فاکتور مقیاس گذاری ، b تغییر جهت ، تتا زاویه چرخش است که به وسیله ی تبدیل های Radon و wavelet محاسبه می شوند .

 

یک نمونه از تبدیل Ridgelets در تصویر زیر نشان داده شده که تصاویر 3 و 4 از ایجاد یک سری مراحل بر روی تصاویر 1 و 2 بدست آمده است.

Radon Transform:

از نظر ریاضی تبدیل انتگرالی است که مقدار آن برابر با انتگرال تابع بر روی یک خط است.

معادله یک خط را در فضای دوبعدی می‌توان به صورت زیر نوشت:

که s فاصله خط را از مبدأ مختصات نشان می‌دهد و بردار یکه عمود بر خط است. به همین ترتیب اگر نقطه تقاطع خط مزبور و خط عمود بر آن و گذرنده از مبدأ را B بنامیم آنگاه t فاصله هر نقطه واقع بر خط را تا نقطه B نشان می‌دهد. همچنین بردار راستای خط است. بدین ترتیب:

تبدیل Radon از یک تصویر در واقع توانایی تبدیل تصاویر دو بعدی به خطوطی در دامنه پارامترهای خطی ممکن . به طوریکه هر خط در تصویر ، یک ماکزیمم بدست خواهد آمد که در پارامتر هایی در خطوط نظیر به نظیر موقعیت بندی می شود. فرم کلی تبدیل Radon به صورت زیر است :

که تتا زاویه ، p کوچکترین فاصله از مبدا مختصات است. بنابراین تبدیل Radon برای یک مجموعه پارامتر های p و تتا انتگرال خط از تصویر f(x,y) است که خط نظیر به نظیر با مقدار p و تتا تعیین موقعیت می شود.

Wavelet Transforms:

محاسبه ضرایب موجک در هر مقیاس ممکن ، کارنسبتا مفیدی است و باعث تولید اطلاعات زیادی می شود. چرا که تنها یک مجموعه از مقیاس ها و موقعیت ها را در هر محاسبه شامل می شوند.اگر ما مقیاس ها و موقعیت ها را براساس توان هایی از 2 انتخاب کنیم ، پس از تفکیک دقت و کارایی بیشتری خواهیم داشت و اندازه ایی که تا 50% کاهش یافته است. همچنین ضریب 2 کوچکترین مقیاس ممکن و یک عدد صحیح است. یک چنین تفکیکی از تبدیل DWT از معادله ی زیر بدست می آید :

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

که هر دو (اولی )مقیاس تابع و ( دومی)تابع موجک است که از ترکیبات خطی بیان می شوند.به طوریکه H (اولی)در معادله ی اول و h (دومی)در معادله ی دوم ضرایب انبساط نامیده می شوند ، به ترتیب در مقیاس و بردارها ی موجک ، آنها ضرایب فیلتر از تبدیل سریع موجک هستند. (FWT)

الگوریتم شکل زیر تجزیه ی یک بعدی موجک در سطح سیگنال را نمایش می دهد.

Proposed method:

اندازه ی بردار ویژگی در متد پیشنهاد شده ، در حدود 1x4 کاهش یافته است . این روش از نرمال سازی استفاده نمی کند و برای استخراج ویژگی از تبدیل Ridgelets که اثر خطوط عنبیه را بدست می دهد ، بهره می گیرد. روش پیشنهاد شده در بخش بعدی مورد بحث قرار گرفته است :

Image database:

پایگاه داده ی مورد استفاده در این آزمایش CASIA و UPOL است. که CASIA نسخه ی 1 شامل 756 تصویر مختلف از عنبیه ، که اندازه ی هرکدام از این تصاویر 280x320 است . در این پایگاه داده از 108 نفر تصویر عنبیه موجود است که از هر نفر، 7 مورد تصویر یکسان که در کل 756 مورد تصویر را شامل میشود. این 7 تصویر از یک شخص در دو جلسه اخذ شده : در جلسه ی اول سه تصویر و در جلسه ی دوم چهار تصویر دیگر. پایگاه داده ی CASIA نسخه ی سوم نیز مورد استفاده قرار گرفت که شامل 249 مورد تصویر عنبیه است. از این پایگاه داده تنها 33 مورد استفاد شد.از این 33 مورد 20 نمونه تصویر در پایگاه داده یافت شد که 10 مورد مربوط به چشم راست و 10 مورد دیگر مربوط به چشم چپ بود. پایگاه داده UPOL هم 384 تصویر از عنبیه را دارد که اندازه ی هرکدام در حدود 576x768x3 است.در این پایگاه داده 64 مورد مختلف وجود دارد که از هر مورد 6 تا تصویر که 3 تای آن چشم راست و 3 تای دیگر چشم چپ است.

Feature database creation:

ماسک های طراحی شده ، برای فیلتر کردن تصاویر چشم در پایگاه داده استفاده می شود.پس هر تصویر فیلتر شده با سه سطح موج تجزیه می شود. نتایج بدست آمده در حالتی که از نرمال سازی استفاده شده با حالت بدون نرمال سازی ( استفاده از ماسک های مختلف ) مقایسه می شود. برای استخراج کردن ویژگی عنبیه مقایسه ایی بین سطح اول انرژی که از معادله ی زیر بدست می آید و انحراف استاندار از هر زیر باند ( معادله ی دوم ) صورت گرفت. بدین گونه اندازه ی بردار ویژگی برای پایگاه داده 756x24 خواهد بود و اندازه ی بردار جستجو ( ویژگی عنبیه ی موردنظرquery) در حدود 1x4 است. در معادله ی سطح اول انرژی x(m,n) ، تابع فرکانسی گسسته . به طور مشابه انحراف استاندارد از معادله ی دوم بدست می آید. که wk(i,j) ، kامین زیر باند موجک تجزیه شده است.

 

MxN اندازه ی زیر باند تجزیه ی موجک است.

Mk مقدار اصلی از k امین زیر باند تجزیه شده است.

بدین ترتیب بردار ویژگی از معادله ی زیر بدست می آید.

Matching:

یک نمونه ی مورد جستجو می تواند یکی از 756 تصویر موجود در CASIA نسخه ی 1 باشد یا یکی از 660 مورد موجود در CASIA ورژن 3 یا یکی از 384 مورد موجود در UPOL . اندازه ی فاصله ی هندسی که برای مقایسه ی شباهت یا تفاوت بین دو عنبیه استفاده می شود ، از معادله ی زیر بدست می آید. با این شرط که اگر مقدار فاصله برابر صفر شد ، تطابق کامل است و شناسایی انجام شده در غیر این صورت اگرمقدار فاصله ی هندسی از صفر بیشتر باشد تطابق درست نیست و این عنبیه در پایگاه داده موجود نیست.

که xi ، iامین عنصر از عناصر موجود در پایگاه داده است و yi ، i امین عنصر مورد جستجو خواهد بود.

Performance measures:

مقدار آستانه ی مورد استفاده برای تصاویر موجود در پایگاه داده به شرح زیر است :

CASIA v.1 متوسط فاصله ی بالاتر از 7 ، CASIA v.3 متوسط فاصله ی بالاتر از 10 و OPUL متوسط فاصله 3 است. این مجموعه آستانه برای محاسبه ی FAR و FRR استفاده می شود. به طوریکه ی FAR و FRR و ROC پارامتر های کارآیی سیستم است.

False Acceptance Rate (FAR):

از معادله ی زیر بدست می آید و نمونه خطای a را نمایش می دهد.

که NFA تعداد False Acceptance و NIVF تعداد تایید جستجو ها ست.

FAR در واقع مقدار خطای احتمال کلی است که یک سیستم بیومتریک به طور غلط یک جستجو را مورد پذیرش قرار می دهد (یعنی عنبیه ی مورد جستجو عضو پایگاه داده ی سیستم نیست اما سیستم آن را درست تشخیص می دهد)

False Rejection Rate (FRR):

ازمعادله ی زیر بدست می آید و نمونه خطای b را نمایش می دهد.

NFR تعداد False Rejection و NEVA تعدادی از جستجوهای تایید شده است.

FRR اندازگیری خطای احتمال کلی است که سیستم بیومتریک ، یک جستجو را غیر مجاز تشخیص می دهد در صورتی که عضو سیستم است.

Average Accuracy Rate:

این معادله متوسط دقت شناسایی سیستم را بیان می کند.

Receivers Operating Characteristics (ROCs):

منحنی مشخصه ی عملکرد سیستم یا منحنی عملیاتی دریافت کننده یک روش کمی ارزیابی در علوم تصویری است که با ROC نمایش می دهند. این روش برای مقایسه روش های تصویربرداری به کار می رود و هدف آن ارزیابی دقیق آسیب شناسی یک سامانه است. برای رسیدن به یک سیستم شناسایی ایده آل باید هر دو پارامتر FAR و FRR صفر بشوند ، تابع ROC باعث صفر شدن این دو پارامتر خواهد شد. که در تصویر زیر مشاهده می کنید:

 

یک اصطلاح به نام ERR وجود دارد که به این صورت تعریف می شود: هرکجا از نمودار که نقاط FRR و FAR با هم برابر هستند.

Results:

نتایج بدست آمده از روش پیشنهادی به طور جامع و کامل در جدول زیر لیست شده است. در این جدول بین روش پیشنهادی و الگوریتم های دیگر مقایسه ایی صورت گرفته است. این مقایسه مشخص می کند روش پیشنهادی خروجی بهتری نسبت به دیگر الگوریتم ها داشته است. گرچه بردار ویژگی در این روش در حدود 1x4 بود اما دقتی معادل 99.82% داشته است. بدون شک روش داگمن با دقتی برابر 99.90% بهتر از روش پیشنهادی عمل کرده است اما در مقابل طول بردار ویژگی بزرگ تر در حدود 1x2048 دارد. یا روش فیلتر های گابور با 600% هزینه ی محاسبه ی بردار ویژگی عملا روش پیشنهادی را برای سیستم های شناسایی کارا تر کرده است. بنابراین روش پیشنهادی هم در کاهش بردار ویژگی و هم در کاهش پارامتر های FAR و FRR و افزایش دقت سیستم کارآمد تر است.

Conclusion:

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


دسته بندی : پردازش تصویر

پردازش تصویر // 20:55 - پنجشنبه پانزدهم فروردین 1392

یک بازبینی بر سیستم شناسایی عنبیه

با سلام 

این مقاله رو از

International Journal of Advanced Trends in Computer Science and Engineering

( Vol.2, No.1, Pages: 93-97 (2013

گرفتم و ترجمه کردم ، اگه دوست نداری ترجمه شو بخونی ، لینک دانلود شو گذاشتم می تونی دانلود کنی .

لینک دانلود مقاله

Abstract:

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

این ویژگی باعث شده که عنبیه به عنوان یه تکنیک بیومتریک واسه تشخیص افراد مختلف خیلی جذاب باشه.

برای استخراج الگو های کلیدی عنبیه از تصویر دیجیتالی تکنیک های پردازش تصویر به کار برده می شه و سپس این الگو ها کد گذاری و در پایگاه ذخیره میشه .

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

 Introduction

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

Biometric Technology:

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

Iris Recognition:

عنبیه یه اندام محافظت شده ی قابل رویت است که الگو های ساختاری منحصر به فرد اون در تمام طول زندگی ثابت و بدون تغییر باقی می مونه. به همین دلیل یه بیومتریک خوب واسه شناسایی افراد شده . مراحلی ( 5 مرحله اصلی ) که در بیشتر سیستم های تشخیص عنبیه به کار می ره در شکل زیر نشان داده شده :

Segmentation:

تصویر رنگی اخذ شده به وسیله ی فرمول زیر به gray scale تبدیل میشه :

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

ناحیه ی عنبیه به وسیله ی دو تا دایره تقریب زده میشه : 1- عنبیه / صلبیه 2- عنبیه / مردمک

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

Pupil Detection:

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

Enhanced pupil boundary Detection:

Algorithm

گام اول : تبدیل تصویر gray scale به binary با یه مقدار آستانه ی ثابت .

 

تبدیل تصویر F به یه تصویر باینری g و T مقدار آستانه .

گام دوم : تغییر رنگ سیاه مردمک به رنگ سفید ( معکوس سازی تصویر ) که باعث آشکار شدن مردمک میشه . ( مردمک ناحیه ایی مهم و سودمند واسه تشخیص عنبیه ست )

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

گام چهارم : پیدا کردن مرکز مردمک با اعمال الگوریتم زیر :

Algorithm finding pupil center:

گام اول : اسکن سرتاسر تصویر باینری با شروع از بالا سمت چپ به طور افقی با استفاده از همسایگی 8x8 ( که از چپ به راست حرکت می کنه ) هرجا که همسایگی برخورد داشت مقدارش 1 میشه و دایره مردمک از 0 تا 180 به فرم یه نیمساز عمودی خواهد بود ( تصویر a ) 

گام دوم : اسکن به طور عمودی سرتاسر تصویر انجام میشه ، باز مثل قبل برخورد همسایگی 8x8 مقدارش برابر 1 خواهد بود که یه نیمساز عمودی داریم از 90 تا 270 درجه که در تصویر(a ) زیر مشخص است .

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

گام چهارم : استفاده از شعاع و مرکز در نظر گرفته شده واسه تعییین محل کردن دایره مردمک تصویر

( c ) .

 

Detection the iris (limbic) Boundary using Hough Transform:

واسه تعیین محل کردن پارامترهایی از یه دایره تبدیل هاف می تونه استفاده بشه . این تبدیل بیشتر برای شناسایی اشکال دایره ایی به کار می ره ، زمانی که تعدادی از نقاط بر روی محیط معلوم و مشخصی قرار می گیرن محاسبه ی اونا با سرعت بیشتری انجام میشه . یه دایره با شعاع r و مرکز (a,b) به صورت زیر تعریف میشه :

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

Detection Iris Boundary:

Algorithm

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

گام دوم : اعمال فیلتر میانه 5x5 برای آرام سازی تصویر.

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

Detection and Removal of the Eyelids:

Algorithm

گام اول : اعمال عملگر تشخیص لبه canny به تصویر

گام دوم : تعیین محل کردن 4 نمونه پیکسل مختلف لبه ، بالا ( چپ و راست ) و پایین ( چپ و راست ) به طوری که بر روی لبه ی پلک هایی که توسط عملگر canny تشخیص داده شده نگاشت بشه .

گام سوم : اعمال مرکز مردمک که مرکز عنبیه هم هست ، برای حذف شدن مردمک از عنبیه .

Detection and Removal of the Eyelashes:

Algorithm

گام اول : پیدا کردن مقدار پیکسل های کمتر از پیکسل های عنبیه در بالا و پایین تصویر عنبیه .

گام دوم : قرار دادن مقدار پیکسل ها به مقدار یکسان با پیکسل هایی که در همسایگی عنبیه هستن.

گام سوم : تکرار دو مرحله ی قبل تا زمانی که همه ی مژه ها حذف بشن .

Normalization:

در بخش قبلی ( segmentation ) مرز عنبیه با سایر قسمت های دیگه برآورد شد. اما در نرمال سازی می خوایم ناحیه هایی از عنبیه رو به صورت یکسان و مساوی بدست بیاریم. عمل نرمال سازی با استفاده از مدل صفحه ی لاستیکی داگمن انجام میشه . این مدل بافت عنبیه رو از مختصات دکارتی به مختصات قطبی تغییر می ده. به این فرآیند باز کردن عنبیه می گن که حاصلش یه مستطیله که واسه پردازش های بعدی به کار می ره . تبدیل دکارتی به قطبی این طوریه که پیکسل های ناحیه عنبیه به طور کامل به مختصات قطبی r و تتا نگاشت میشن ، که r و تتا پارامترهایی هستن که فاصله شون از [0 1] و [0 360 ] و در شکل زیر مشخصه :

Daugmans Rubber sheet model for Normalization:

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

تضمین این مطلب که عنبیه ها از افراد مختلف با سایز مردمک متفاوت بر روی یه دامنه تصویر مشترک نگاشت میشه ( مثلا فقط شامل یه تعداد پیکسل مشخص ) .

Histogram Equalization:

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

Encoding / feature extraction:

هر الگویی از عنبیه ، کد گذاری میشه به وسیله ی روش DCT- DWT واسه استخراج اطلاعات دودویی .

Binary Image Template Formed using Energies in DWT- DCT Domain:

در گام کد گذاری ، دو سطح تبدیل wavelet گسسته (DWT) به کار برده میشه ، در شکل زیر تفکیک و نرمالیزه کردن ناحیه ی عنبیه تقریب و با ضرایب جزیی نمایش داده شده :

تبدیل DWT دو بعدی تقریب ضرایب در سطح j رو در 4 جز مشخص میکنه :

تقریب در سطح j+1 و جزییات در سه موقعیت ( افقی ، عمودی ، قطری )

در گام کد گذاری ، ویژگی های کلیدی بافت عنبیه از هر دو سطح ( زیر باند جزیی افقی ch2 و زیر باند جزیی عمودی cv2 ) استخراج میشه . هر دو زیر باند در ابتدا قطعه بندی میشن بدون اشتراک گذاری و همپوشانی در بلوک های 8x8 ، اگر اندازه ی هر زیر باند NxM باشه آنگاه :

که ch2(i) ، i امین بلوک از زیر باند ch2 و cv2(i) ، i امین بلوک از cv2 و Nb=(NxM /64) طول تعداد بلوک ها در هر زیر باند در دو سطح wavelet ست .

سپس تبدیل DCT به هر یک از بلوک های 8x8 در هر زیر باند اعمال میشه . از ویژگی های تبدیل DCT فشرده سازیه که در هر زیر باند استفاده میشه بعلاوه بافت عنبیه رو هم ثبت می کنه .

محاسبه ی انرژی ( DCT ) از هر بلوک 8x8 برای هر زیر باند از معادله ی زیر بدست می یاد:

HEk انرژی k امین بلوک DCT از زیر باند افقی و VEk انرژی K امین بلوک DCT از زیر باند عمودیه و Nk=64 طول تعداد ضرایب از DCT در هر بلوکه.

نتیجه : برای k امین بلوک ، اگر HEk از VEk بزرگ تر باشه ، تمام پیکسل ها در بلوک 8x8 برابر 255 ( سفید ) میشه . در غیر این صورت 0 یعنی ( سیاه ) خواهد بود .

فرم نهایی کد گذاری از معادله ی زیر بدست می یاد :

که اگر همه ی پیکسل ها از بلوک 8x8 به عنوان 0 علامت گذاری بشه برابر بیت صفره در غیر این صورت برابر بیت 1 خواهد بود .

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

Iris Template Matching process:

الگوریتم تطابق شامل تمام مراحل پردازش تصویر از وارد کردن نمونه ، کدگذاری اون و ذخیره اش در پایگاه داده میشه . یه template با الگوی B کد گذاری میشه سپس واسه عمل تطابق با نمونه های دیگه ، توسط عملگر XOR مورد آزمایش قرار می گیره . عدم تجانس ( اختلاف ) بین هر دو الگوی (دودویی ) عنبیه توسط فاصله همینگ محاسبه میشه که فرمول اون در پایین ذکر شده :

که Nl = طول بیت ها در هر الگوی دودویی ، HD یه اندازه ی کسری از عدم تجانس که با 0 به عنوان یه تطابق درست بیان میشه ، کمترین مقدار HD حاکی از این ست که دو کد عنبیه بسیار به هم شبیه هستن.

Conclusion:

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


دسته بندی : پردازش تصویر

پردازش تصویر // 13:3 - دوشنبه دوازدهم فروردین 1392

شناسایی عنبیه با استفاده از Gabor wavelet

با سلام 

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

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

— قابلیت یکتایی بالا

— عدم نیاز به خاطر سپردن پسورد و یا یک نشانه

— گم نمی شن و قابل سرقت نیستن

— حتی از یک پسورد طولانی مطمئن تره

مثل اثر انگشت ، هندسه کف دست ، ناخن ، مو ، چهره ، شبکیه ، عنبیه ، راه رفتن ، امضا ، تایپ ، چین خوردگی های روی انگشت ها ، خطوط روی لب ها ، صوت ، رگ های خونی و ..... بین این ها اثر انگشت و تشخیص چهره خیلی بیشتر استفاده میشه . البته در چند سال اخیر بیومتریک های جدیدی مثل ناخن و انعکاس صوت در مغز و ... هم کشف شده و هنوز دارن روش کار می کنن . اما تشخیص عنبیه هم یه زیست سنجی که فعلا فرودگاه های ابوظبی و آمریکا و چند تا کشور اروپا یی دارن ازش واسه امنیت استفاده می کنن و روزانه 9000 تشخیص رو انجام می ده.

اولین کاربرد ثبت افراد ناشناس در اکتبر ۲۰۰۲ آغاز شد، هنگامی که نمایندگان سازمان ملل در امور پناهندگان استفاده از سیستم تشخیص هویت از روی تصاویر عنبیه برای ثبت تمپلیت Iris Code پناهندگان افغانی در پیشاور شروع کردن.
در بخشی از برنامه بازگرداندن پناهندگان به وطنشان توسط سازمان ملل، به هر پناهنده فقط برای یک بار به میزان مشخصی کمک مالی تعلق می گرفت. برای توزیع عادلانه این کمک به همه پناهندگان و جلوگیری از دریافت چند باره آن، از سیستم تشخیص هویت برای مقایسه یک به چند استفاده گردید. راستی این یک به چند و یک به یک رو این جوری واست توضیح بدم که :

Identification-1

— این شخص کیست ؟

— مسئله 1 به n

2- verification

— آیا این مشخصه ها مربوط به شخص X می باشد؟

— مسئله 1 به 1


از آنجایی که ثبت تصویر و تشخیص تقلب به صورت همزمان انجام می گرفته، روزانه نزدیک به ۲۰۰۰ پناهنده افغان توسط سیستم مورد پردازش قرار گرفته اند. پناهندگانی که چندین بار برای دریافت کمک مراجعه می کردن، شناسایی و ضایع می شدن !!!!   

شرکت های بین المللی متعددی در زمینه طراحی و ساخت سیستم های تشخیص عنبیه فعالیت دارن که همین امر، نشان دهنده اهمیت و ضریب اطمینان بالای این سیستم ها ست. در ادامه، به تعدادی از محصولات تجاری ارائه شده به بازار اشاره می کنیم.
محصولات LG
این شرکت دارای سه محصول از سری LG Iris Access است. اولین محصول از این سری Iris Access ۲۲۰۰ و آخرین مدل Iris Access ۴۰۰۰ می باشد.
مدل های iCAM۴۰۰۰ و iCAM۴۱۰۰ می توانند به سیستم کارت هوشمند داخلی مجهز بشن. مدل های مجهز به سیستم کارت هوشمند به اسم iCAM۴۰۱۰ و iCAM۴۱۱۰ شناخته می شن .

محصول Iris Guard
محصول IG-H۱۰۰ یک سیستم تشخیص عنبیه ست که به صورت دستی ، دیواری ، روی سه پایه و روی بازوی فلزی مفصلی مورد استفاده قرار می گیره. این محصول که استاندارد PrivateID شرکت Iridian را داره، با سرعت ۸ ثبت در ۳ دقیقه، تصاویر را ثبت می کنه و به صورت Real-Time عمل تشخیص را انجام می ده. دوربین تصویر برداری H۱۰۰ تولید شرکت Sony که دارای قابلیت های auto-focus و auto-zoom می باشد. اتصال سیستم به کامپیوتر از طریق اینترفیس USB II و احتیاجی به کارت های گرافیکی PCI و یا برد های داخلی دیگر نداره. بنابراین می تونه به سادگی با لپ تاپ ارتباط برقرارکنه.

اما یه سیستم تشخیص عنبیه چه طوری کار می کنه ؟؟؟

اغلب سیستم‌های تشخیص هویت بر اساس عنبیه از پنج بخش پایه تشکیل شدن.

واحد ثبت

به کمک یک دوربین CCD تک رنگ حساس به پرتو نزدیک مادون قرمز (NIR) تصوير دو بعدی از چشم تهیه می شه.

واحد تفکیک

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

واحد نرمال‌سازی


پس از این‌ که واحد تفکیک محدوده عنبیه رو تخمین زد، واحد نرمال‌سازی با استفاده از مدلی به نام صفحه لاستیکی، بافت عنبیه رو از مختصات دکارتی به قطبی تبدیل می‌کنه ( یعنی چی ؟ یعنی شکل دایره ایی یا نیم دایره ایی (مثلا به خاطر وجود نویز مژه ها قسمت پایین عنبیه رو در نظر گرفتیم) حاصل از محدوده ی عنبیه رو به شکل یه نوار مستطیلی درش می یاریم یعنی این میشه یه استاندارد واسه مراحل بعدی کارمون )

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

واحد کدگذاری

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

واحد تطبیقالان دو تا تصویر داریم که براساس مجموعه ی الگو ها و خصوصیات باید با هم مقایسه شوند . عمل مقایسه معمولا با فاصله ی همینگ ( xor دو تا کد عنبیه ) و تعیین تعداد بیت های متفاوت بین دو کد عنبیه انجام میشه .

شناسایی عنبیه با استفاده از Gabor wavelet

چکیده :

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

می دونی دلیلش چیه ؟ اینه که مثلا اثر انگشت طی کار مداوم وسخت ممکنه تخریب بشه یا چهره با مرور زمان تغییر می کنه اما عنبیه تقریبا تا آخر عمر ثابت و بدون تغییر می مونه پس قابل اطمینانه.

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

مقدمه :

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

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

پایگاه داده CASIA :

واسه آزمایش متد پیشنهادی نیاز به یه پایگاه داده از تصاویر عنبیه داریم ، که در این آزمایش از پایگاه داده ی CASIA استفاده شده ، در این پایگاه داده علاوه بر تصاویر عنبیه ، تصاویری از اثر انگشت و چهره رو هم وجود داره . تصاویر عنبیه در این دیتابیس در حدود 756 عکس عنبیه از 108 چشم ( بنابراین 108 کلاس خواهیم داشت ) که واسه هر چشم 7 تا تصویر در دو جلسه اخذ شده ، در جلسه اول سه نمونه تصویر و در جلسه ی دوم 4 تای دیگه .

پیش پردازش preprocessing :

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

Gabor Wavelet:

ایده ی اصلی این روش به این صورت است : 1- ایجاد کردن یه فیلتر دوبعدی گابور و اعمال اون به تصویر 2- بدست آوردن اطلاعات به صورت کد در 2048 بیت دودویی که میشه 256 بایت.

در پردازش تصویر ، این فیلتر که بعدها به پاس خدمات Dennis Gabor ، فیلتر گابور نامیده شد واسه تشخیص لبه به کار می ره و اساسا یه فیلتر خطی ست .

این فیلتر خیلی راحت می تونه اختلاف در بافت تصاویر رو آشکار کنه ( یعنی همون چیزی که ما دنبالش بودیم ) و فرکانس و موقعیتی که از اعمال این فیلتر روی تصویر بیان میشه ، شبیه به سیستم دیداریه انسانه .

فیلتر دو بعدی گابور از کجا به وجود اومده ؟؟ ترکیب تابع گوسین ( Gaussian kernel function ) با یه موج سینوسی ، همچنین شبیه فیلتر هایی که از ویولت مادر به وسیله ی انبساط و چرخش ایجاد میشن . فیلتر ما دو بخش داره ( موهومی و حقیقی ) که به صورت متعامد بیان میشن. این دو بخش ممکنه باهم ، یا تکی استفاده بشن .

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

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

ناحیه های محلی از یه عنبیه با 2-D Gabor wavelet مشخص میشن که این معادله ست .

که  بخش های حقیقی و موهومی تابع ست که به صورت دودویی مقدار دهی میشه ، هرکدوم از اونا می تونن 1 یا 0 باشن ( sign بستگی به علامت انتگرال 2-D داره)

 تصویر خام عنبیه در یه سیستم مختصات قطبی بدون بعد

آلفا و بتا ، پارامترهایی از multi scale 2-D wavelet هستن که از رنج 0.15 mm تا 1.2 mm بر روی عنبیه حرکت می کنن .

W فرکانس ویولت

 مختصات قطبی از هر ناحیه عنبیه ست .

اما اجازه بده روند استخراج ویژگی رو از تصویر با فیلتر گابور واست توضیح بدم :

ابتدا فضای دو بعدی تصویر به 8 جهت مختلف تقسیم می شه . سپس 8 تا فیلتر گابور با فرکانس یکسان به این جهت ها اعمال میشه ( یادته یه بانک از فیلتر ها رو داشتیم ؟) به ازای هر پیکسل جهتی که خروجی فیلتر اعمال شده بیشترین بوده در نظر گرفته میشه .

این پردازش سرتاسر عنبیه تکرار میشه و اطلاعات بدست اومده با دوبیت 0 و 1 و با رعایت علائم بخش های موهومی و حقیقی کد گذاری میشه و در آخر یه کد 256 بایتی داریم که بهش کد عنبیه می گیم .

نتایج آزمایش Experimental Result :

در این آزمایش از تصویر چشم 10 نفر استفاده شده ، از هر نفر 6 تا تصویر چشم که سه تا شو واسه تصاویر آزمایشی و بقیه رو واسه آموزش به کار بردن . در مرحله ی تفکیک از متد داگمن برای مشخص کردنه ناحیه ی عنبیه از سایر نواحی ، از ویولت گابور واسه استخراج ویژگی ها و در گام شناسایی از فاصله ی همینگ ، بین تصویر آزمایشی با تصویر آموزشی استفاده شده یه اختلاف کوچک بین این دو تصویر مشخص می کنه که تصویر آزمایشی متعلق به کلاس مثلا x است. همچنین سرعت شناسایی با این متد حدود 96.5% شده .

نتیجه Result :

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

 

 دانلود اصل مقاله


دسته بندی : پردازش تصویر

پردازش تصویر // 18:38 - شنبه دهم فروردین 1392

پردازش تصویر در سی شارپ - قسمت پنجم

با سلام  

آموزش امروز خیلی ساده ست ، می خوایم Resize کردن تصویر رو با هم تمرین کنیم ، پروژه قبلی رو بازش کن و یه Track bar به فرمت اضافه کن . از قسمت properties خصوصیت min و max اونو به ترتیب 10 و 400 قرار بده و خاصیت Tick frequency اونو مثلا روی 50 تعیین کن تا رنج مناسبی نمایش داده بشه همچنین visible اونو false کن .

از منوی Edit زیر منوی Resize رو دو بار کلیک کن و کد زیر رو داخلش بنویس :

trackBar1.Visible = true;

در این صورت به محض این که کاربر گزینه ی Resize رو انتخاب می کنه Track bar نمایش داده میشه .

حالا روی Track bar کلیک کن و از properties قسمت events با دو کلیک روی scroll کد زیر رو وارد کن :

pictureBox1.Width = trackBar1.Value;

pictureBox1.Height = trackBar1.Value;

با توجه به دو خط بالا رنج Track bar فقط سایز picture box رو تغییر می ده ، تصویر داخل picture box قرار گرفته . راستی قبل از این که برنامه رو اجرا کنی بهتره حالت size Mode ، picture box رو stretchimage قرار بدی .

خیلی خوب الان برنامه رو اجرا کن .

 


دسته بندی : پردازش تصویر

پردازش تصویر // 20:50 - جمعه نهم فروردین 1392

پردازش تصویر در سی شارپ - قسمت چهارم

با سلام 

تو این پست می خوایم طریقه ی rotate کردن تصویر رو باهم یاد بگیریم ، همون پروژه ی قبلی که داشتیمو بازش کن می خوایم مقدار زاویه واسه چرخش تصویر رو از کاربر بگیریم پس ابتدا داخل منوی Edit یه زیر منو به نام Rotate تایپ می کنیم ، چون قراره کاربر مقدار زاویه رو مشخص کنه پس ، از جعبه ابزار شی combo box رو انتخاب کن و بزارش تو فرمت .( خاصیت visible شی combo box رو false کن ) حالا با دوبار کلیک روی فرم وارد Form Load میشی ، مقادیر رو به عنوان زاویه به combo box نسبت می دیم :

Float [] a = {0, 45, 90, 180};

Int i;

For (i=0; i<4; i++)

comboBox1.Items.Add (a[i]);

با دو بار کلیک روی Rotate مقدار visible شی combo box رو true کن .

اگه تا این جا برنامه رو اجرا کنی ، با کلیک روی Rotate شی combo box ظاهر می شه و می تونی مقادیر رو از داخلش select کنی .

برگرد به قسمت Design فرم و روی combo box دو بار کلیک کن و کد زیر رو وارد کن .

Float angel =float. Parse (comboBox1.Text);

Bitmap b = new Bitmap (pictureBox1.Image);

Bitmap returnBitmap = new Bitmap (b.Width, b.Height);

Graphics g = Graphics.FromImage (returnBitmap);

g.TranslateTransform ((float) b.Width / 2, (float) b.Height / 2);

g.RotateTransform (angel);

g.TranslateTransform (-(float) b.Width / 2, - (float) b.Height / 2);

g.DrawImage (b, new Point (0, 0));

pictureBox1.Image=returnBitmap; 

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 22:27 - پنجشنبه هشتم فروردین 1392

moments در پردازش تصویر چیست ؟

Moment's کمیت های قابل سنجشی هستن که یک تابع رو توصیف و خصوصیات مهم اونو ثبت می کنن همچنین به صورت گسترده در علم آمار واسه ی توصیف تابع چگالی احتمال استفاده میشن.

از دید ریاضی Moments طرح هایی از یک تابع چند جمله ایی اند که اگه قرار باشه در پردازش تصویر ازشون استفاده کنیم می تونیم این تابع رو شبیه تبدیل فوریه بدونیم ، حالا چرا فوریه ؟؟؟

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

در حوزه ی فرکانس با تبدیل فوریه کار می کنیم (البته ویولت هم در این حوزه به کار می ره و به خاطر شکل موج هایی که تولید می کنه استفاده از اون به مراتب بهینه تر از تبدیل فوریه ست)

برگردیم سر بحث اصلی مون ، داشتیم راجب moments صحبت می کردیم کلاً moment یه مبحث آماریه .که بیشترین کاربردش در پردازش تصویر هستش.
شما تصویری دارید به فرض مثال یک تصویر باینری مایلید مرکز ثقل این شی رو پیدا کنید نه مرکز مستطیلی که در اون احاطه شده برای بدست آوردن این مرکز از
central moment مرتبه اول در جهت x و y استفاده می کنند.
برای عملیات
preprocessing همچون نرمال سازی تصویر با استفاده از مرکز ثقل این نرمال سازی صورت می گیره.

واسه ی این که بحث واضح تر بشه دو تا تعریف داریم :

تعریف اول : تابع تصویر یک تابع حقیقی و پیوسته ست که دو تا متغییر به نام های x و y داره که متعلق به دامنه تعریف D هستند .


تعریف دوم : General Moments که به صورت  نمایش داده میشه . F همان تابع تصویر

P, q اعداد صحیح غیر منفی و r=p+q در واقع ( همون مرتبه ست ، حالا ما خواستیم یکم کلاس بگذاریم واست می گیم ( Moment order است. که به صورت کلی چنین است :

که  توابع چند جمله ایی هستن که روی D تعریف میشن .

انواع مختلف moments

Geometric & complex Moments :

در بیشتر موارد اگر باشد آنگاه Geometric Moments به این صورت تعریف میشه .

 

Geometric Moments کمترین order رو داره. با این حساب m00 یک مقدار از حجم تصویر است که اگر تصویر دودویی ( binary ) باشه ، m00 یک مساحت از شی مورد نظر در تصویر است و m10/m00 و m01/m00 به عنوان مرکز ثقل یا centroid تصویر تعریف میشه. دومین order یعنی m20 و m02 به عنوان توزیع جرم در تصویر با توجه به محور های مختصات تعریف می شه .

اگر تصویر رو یه تابع چگالی احتمال در نظر بگیریم یعنی m00 برابر 1 باشه ، میشه با این فرض m01 و m10 رو بدست آورد . همچنین m20 و m02 واریانس افقی و عمودی طرح های تابع اند و m11 کواریانس بین آنها ست . اما دومین order moments واسه تعیین موقعیت شی داخل تصویر استفاده میشه .

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

برای نقطه ی اوج در نمودار هم در حالت افقی و در حالت عمودی

همچنین می تونیم با مجموعه ایی از moments تصویر رو به طور کامل بازیابی کنیم که این ادعا با قضیه ی یکتایی اثبات میشه ( uniqueness theorem )

یه مدل دیگه از moments به این صورت است که قسمت موهومی تابع رو هم در نظر می گیریم که به اون complex moments گویند .

هر دومدل  complex moments و geometric moments حجم یکسانی از اطلاعات را دارنند و حتی complex moments می تونه به geometric moments تبدیل بشه البته با order یکسان .

و برعکس

Complex moment's به خاطر جنس تبدیلش واسه زمانی مناسبه که تصویر دچار چرخش شده باشه.

Orthogonal moments:

چند جمله ایی متعامد است اگر این عناصر شرط عمود بودن رو داشته باشن یعنی :

یا حالت عمودی وزن دار :

که  مساحت یا ناحیه ایی از حالت عمودی است . این نمونه بسیار شبیه geometric می مونه و در اصطلاح به آن OG moments گویند . OG moments به راحتی می تونه ویژگی های تصویر رو بدون افزونگی ثبت و ضبط کنه همچنین بازیابی تصویر با این تکنیک بهینه تره و کمتر دچار خطا میشه نسبت به روش geometric moments .


دسته بندی : پردازش تصویر

پردازش تصویر // 10:51 - چهارشنبه سی ام اسفند 1391

پردازش تصویر در سی شارپ - قسمت سوم

با سلام 

گاهی وقت ها دوست داری داخل تصویر یه متن بنویسی ، خوب بیا الان این کار رو با سی شارپ انجام بدیم . همون پروژه ی قبلی رو باز کن و در قسمت Edit یه گزینه ی دیگه به نام Add Text رو اضافه کن . ببین می خوایم به محض این که کاربر این گزینه رو کلیک کرد یه textbox باز بشه ، کاربر متنشو وارد کنه ، حالا متن بالا سمت چپ نوشته بشه . ( فعلا تو این آموزش بالا سمت چپ رو واسه متن کاربر انتخاب کردم )

پس یه textbox از جعبه ابزار انتخاب کن و خاصیت visible اونو false قرار بده ، با دو بار کلیک روی Add Text کد زیر رو وارد کن :

Bitmap BM = new Bitmap (pictureBox1.Image);

Graphics g = Graphics.FromImage (BM);

textBox1.Visible = true;

String text1 = textBox1.Text;

g.DrawString (text1, new Font ("Tahoma", 40), Brushes. White, new PointF (0, 0));

pictureBox1.Image = BM;

به محض این که کاربر گزینه ی Add Textرو انتخاب کرد ، textbox ظاهر میشه

( textbox1.visible=true )

متن رو وارد میکنه داخل textbox و متن داخل text1 ذخیره میشه ، اگه باز Add Text رو بزنه متن دریافتی باید با فونت Tahoma با سایز 40 و رنگ سفید روی تصویر بالا سمت چپ نمایش داده بشه .



 


دسته بندی : پردازش تصویر

پردازش تصویر // 21:29 - یکشنبه بیست و هفتم اسفند 1391

پردازش تصویر در سی شارپ - قسمت دوم

با سلام

در آموزش قبلی سعی کردیم یه تصویر رو داخل یه فرم لود کنیم اما حالا می خواییم یکم پیشرفته تر برنامه نویسی کنیم ....

مبحث دوم : تبدیل یه تصویر رنگی به تصویر Grayscale

یه پروژه جدید به نام itest ایجاد کن . حالا یه فرم ویندوزی داری که قراره مثل برنامه ی paint یه سری منو داشته باشه ، File، Edit و .... پس از جعبه ابزار شی menustrip رو انتخاب کن و روی فرم قرار بده . اولین Text اون رو File بنویس و زیر منو ی اون رو به ترتیب  open و  save و  Exit تایپ کن. منوی دوم ، Edit که شامل Grayscale و Resize میشه . یه شی picturebox هم به فرمت اضافه  و تغییرات رو ذخیره کن.

قراره کاربر از منوی File بتونه با open یه تصویر جدید انتخاب کنه با save تغییرات اعمال شده بر روی تصویر رو ذخیره کنه و با Exit از برنامه خارج بشه . از منوی Edit با انتخاب Grayscale تصویر رو خاکستری کنه .

از منوی File روی گزینه ی open دو بار کلیک کن و کد زیر رو وارد کن .(این قسمت در پست قبلی به طور کامل توضیح داده شده )

using System.IO;

using System.Drawing;

OpenFileDialog op = new OpenFileDialog();

op.Filter = "My Data files(*.jpg)|*.jpg";

DialogResult dr;

dr = op.ShowDialog();

if (dr == DialogResult.OK)

{

Bitmap bm = new Bitmap(op.FileName);

pictureBox1.Image = bm;

}

حالا قبل از این که شروع به کد نویسی واسه گزینه ی save کنیم ، از جعبه ابزار شی save file dialog رو انتخاب و روی فرم قرار بده و خاصیت فیلتر اون رو My Image Files |*.bmp قرار بده . خوب این یعنی چی؟؟ موقعی که می خوای یه فایل رو ذخیره کنی باید یه اسم داشته باشه و یه پسوند . این جا من پسوند فایل ذخیره شده رو bmp قرار دادم می تونی هر پسوندی که خواستی بزاری واسش.

روی گزینه ی save دوبار کلیک کن و کد زیر رو بنویس :

DialogResult dr;

dr = saveFileDialog1.ShowDialog();

if (dr == DialogResult.OK)

{

pictureBox1.Image.Save(saveFileDialog1.FileName);

}

با کلیک روی Exit باید از اجرای برنامه خارج بشیم ، پس :

Application.Exit();

تغییر دادن تصویر در این برنامه ، تبدیل تصویر رنگی به تصویر خاکستری است. یه کلاس جدید به نام gray ایجاد کن و کد زیر رو داخلش بنویس تا بگم هر خط چی کار می کنه :

using System.Drawing;

using System.Drawing.Imaging;

Bitmap imagegray = new Bitmap(image.Width, image.Height);

for (int i = 0; i < image.Width; i++)

{

for (int j = 0; j < image.Height; j++)

{

Color originalColor = image.GetPixel(i, j);

 

int grayScale = (int)((originalColor.R * .3) + (originalColor.G * .59)

+ (originalColor.B * .11));

 

Color newColor = Color.FromArgb(grayScale, grayScale, grayScale);

 

imagegray.SetPixel(i, j, newColor);

}

}

return imagegray;

}

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

برای دریافت رنگ یک پیکسل دلخواه از getpixel استفاده می کنیم و در #c یک شئ Color وجود دارد که می تواند خود رنگهای اصلی را تفکیک بدهد.

حالا یه فرمول داریم واسه تبدیل تصویر رنگی به تصویر خاکستری .

و برای تنظیم رنگ یک نقطه یا پیکسل هم از setpixel  استفاده می کنیم.

از منوی Edit با دو بار کلیک روی گزینه ی Grayscale کد زیر رو وارد کن :

Bitmap bm1 = new Bitmap(pictureBox1.Image);

pictureBox1.Image = gray.MakeGrayscale(bm1);

تغییرات رو ذخیره کرده و برنامه رو اجرا کن و لذت ببر ......

 

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 22:15 - جمعه بیست و پنجم اسفند 1391

پردازش تصویر در سی شارپ - قسمت اول

با سلام  !!

می دونستی می شه پردازش تصویر رو در سی شارپ هم به کار برد ؟؟؟ یادمه یکی از استاد هایی که خیلی قبولش دارم می گفت اگه یه برنامه رو بشه با یه زبان برنامه نویسی پیاده سازی کرد پس با زبان های دیگه هم میشه این کار رو کرد . معمولش اینه که هرموقع راجب به پردازش تصویر صحبت می کنیم ذهنمون سریع می ره سراغ نرم افزار متلب .... آره درسته که این نرم افزار خیلی قویی و مناسبه و گاهی کد نویسی رو آسون کرده واسمون اما یاد گرفتن پردازش تصویر با سی شارپ هم خالی از لطف نیست .....

مبحث اول : load کردن تصویر 

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

حالا می خوایم یه تصویر داخلش بگذاریم پس برو از جعبه ابزار شی picture box رو انتخاب کن تا بشه تصویر رو داخلش گذاشت . 

using System.Drawing.Imaging;

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

Bitmap bmp = new Bitmap(آدرس تصویر مورد نظر);

pictureBox1.Image = bmp;

اولا از کلاس Bitmap یه شی به نام bmp می سازیم این شی شامل خصوصیات و داده های تصویر است که براساس پیکسل تعریف میشه. حالا این شی رو می گذاریم داخل picturebox واسه نمایش . اجرا بگیر ازش تا ببینی چه کار می کنه .

گاهی کاربر دوست داره هر موقع برنامه رو اجرا می کنه یه تصویر جدید load کنه . خوب به سلیقه اش احترام بگذار    

یه دکمه بگذار و خاصیت Text اونو به ( اخذ تصویر یا هرچی خواستی ...) تغییر بده . قراره موقعی که کاربر روش کلیک کرد یه پنجره باز بشه و بتونه تو درایو ها و فولدر هاش دنبال تصویر دلخواهش بگرده .پس در رویداد دکمه ی مذکور بنویس :

using System.IO;

OpenFileDialog op = new OpenFileDialog();

مثلا فقط می خواد تصاویر با پسوند bmp  رو لود کنه پس یه فیلتر می خوایم .

op.Filter = "My Dat files(*.bmp)|*.bmp";

برنامه رو ذخیره و اجرا کن کاربر تصویر رو انتخاب کرده اما هرچه قدر open رو می زنه هیچ اتفاقی نمی افته اجرا رو قطع کن و کد زیر رو به رویداد دکمه اضافه کن تا متوجه بشیم کابر open رو زده یا cancel رو . 

DialogResult dir = op.ShowDialog();

if (dir == DialogResult.OK)

تصویر انتخابی کاربر باید داخل picturebox نمایش داده بشه پس داخل if همون کد قبلی رو بنویس .

Bitmap bmp = new Bitmap(op.FileName);

pictureBox1.Image = bmp;

برنامه رو اجرا کن ببین جه قدر قشنگه !!!!!

 

 

 

 


دسته بندی : پردازش تصویر

پردازش تصویر // 10:52 - پنجشنبه هفدهم اسفند 1391

متد top-hat transform در Morphological

با سلام خدمت دوستان گلم ......

Morphological یک تکنیک در پردازش تصویر است که با شکل ویژگی ها در یک تصویر سرو کار دارد. متد ها و عملگر های آن معمولا برای حذف عیب و نقص در تصاویری که اکثرا به صورت باینری یا دودویی هستند ، به کار برده میشوند. یک مثال بارز آن حذف نویز ها در تصویر اثر انگشت است.

تمام عملگر های morphological بر روی عناصر ساختمانی استوار اند. این عناصر ساختمانی در هر شکل و اندازه ایی می توانند باشند و همچنین عملکرد ان شبیه فیلتر مکانی است.

این تکنیک به این صورت عمل می کنه که عنصر ساختمانی در سرتاسر پیکسل های تصویر حرکت می کنه و در طول حرکتش بسته به این که کدوم عملگر باشه یه سری پیکسل جدید به وجود می یاد.

دو متد اصلی این تکنیک erosion و dilation است.

در تصویر بالا  از erosion استفاده شده به این صورت که ابتدا یه عنصر ساختمانی با اندازه ی مناسب در نظر گرفته میشه و در داخل شکل در تصویر fit میشه و حرکت می کنه در طول حرکتش ویژگی هایی که با کل شکل عنصر ساختمانی match هستند اصطلاحا حذف میشوند.(منقبض میشود )

در تصویر بالا از dilation استفاده شده به این صورت که ابتدا یه عنصر ساختمانی با اندازه ی مناسب در نظر گرفته میشه و روی شکل در تصویر قرار میگیره به صورتی که ضلع عنصر ساختمانی بر روی ضلع شکل قرار داشته باشه و حرکت می کنه در طول حرکتش باعث میشه شکل مورد نظر اصطلاحا ضخیم تر بشه .(منبسط میشود)

عملکرد morphological زمانی بهبود می یابد که erosion و dilation با هم ترکیب شوند.که در این صورت دو متد به نام های opening و closing رو خواهیم داشت.

اما این مقدمات رو گفتم که به بحث اصلی برسیم .......

تبدیل Top-hat یک تکنیک morphological است که عناصر کوچک و جزییات رو از تصویر استخراج می کنه. دو نمونه از این تکنیک شامل white top-hat transform و black top-hat transform است. در نمونه اول که توسط عنصر ساختمانی مناسب اختلاف تصویر ورودی با opening اش بدست می یاد و در نمونه ی دوم باز با در نظر گرفتن یه عنصر ساختمانی مناسب اختلاف تصویر ورودی با closing آن محاسبه میشه. تبدیل top-hat برای کارهای مختلف مثل استخراج ویژگی ، یکنواخت سازی پس زمینه ، ارتقائ تصویر و ... در پردازش تصویر استفاده میشه.

تعریف ریاضی :

اگر F یک تصویر grayscale باشه و b یک عنصر ساختمانی با مقیاس مناسب آنگاه برای white top-hat transform خواهیم داشت :

و همچنین برای black top-hat transform نیز داریم :

خروجی white top-hat transform یه تصویراست ، شامل اشیا یا المان هایی از تصویر ورودی که :

1- کوچک تر از عنصر ساختمانی خواهد بود ( جاهایی که عنصر ساختمانی نمی تونه fit بشه )

2- روشن تر از سایر عناصراست.

خروجی black top-hat transform یه تصویراست که :

1- کوچکتر از عنصر ساختمانی است.

2- تاریک تر از سایر عناصراست .

اندازه و پهنای عناصری که از تصویر استخراج میشوند بستگی به مقیاس عنصر ساختمانی داره و در هر دو تبدیل top-hat تنها مقادیر غیر منفی در هر پیکسل در نظر گرفته میشود.   


دسته بندی : پردازش تصویر

پردازش تصویر // 11:39 - سه شنبه یکم اسفند 1391

تشخیص چهره با روش Fisherface

با سلام خدمت دوستان عزیز .....  

یه مطلب جدید یاد گرفتم واسه همین ترجیح دادم تو این پست بزارمش تا بقیه هم بخونن و لذت ببرن !! ( البته قبلش بگم چون ترجمه شده ی یه مقاله ست و از اونجایی که زبانم یکم داغونه  ممکنه زیاد متوجه نشید چی نوشتم اما خودم که فهمیدم چیه !!!  )

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

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

معمولا در سیستم های تشخیص هویت حجم داده های ورودی زیاد است بنابراین دو ابزار مهم برای کاهش ابعاد داده ، آنالیز اجزای اصلی (PCA) و آنالیز تفکیک خطی (LDA) است که به ترتیب با روش های Eigenface و Fisherface شناخته می شوند. با این تفاوت که الگوریتم fisherface ساده تر و سریع تر خروجی را بدست می آورد. اما ایرادی که به متد های بر پایه ی LDA وارد میشود این است که برای نمونه ی آموزشی نیاز به تعداد زیادی تصویر  در حالت های مختلف و همچنین با شدت روشنایی های متفاوت داریم .

ارتقا دادن الگوریتم Fisherface با استفاده از متد 3D Morphabel :

اگر فقط یک تصویر از چهره در اختیار داشته باشیم نمی توانیم از روش Fisherface استفاده کنیم مثل شناسایی مظنونین یا ... برای حل این مشکل از متد 3D Morphabel بهره می گیریم .به این صورت که ابتدا با استفاده از اسکنر Cyber ware یک تصویر سه بعدی از چهره ی شخص اخذ میشود ( تصویر سه بعدی چهره به راحتی از دوران دادن تصویر در حالت های مختلف و همچنین با شدت روشنایی های متفاوت بدست می آید که در شکل دیده میشود ) این تصاویر به عنوان نمونه های آموزشی در نظر گرفته می شود وبا تصویر اصلی وارد سیستم شده سپس PCA و در مرحله ی بعدی LDA اعمال میشود وتصاویر کلاس بندی شده در مرحله ی آخر چهره ی شخص شناسایی می شود .

 

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

 

روش انجام Fisherface :

برای بررسی کارآیی این الگوریتم از روش Eigenface به عنوان معیار استفاده شده است . البته درنتایج آزمایش ها خواهید دید که اگر در  Eigenface از روش کسینوسی استفده کنیم تا حدی عملکرد آن را بهبود می بخشد اما به اندازه ی متد Fisherface بهبود پیدا نخواهد بود.

برای این آزمایش یک استاندارد تعریف می کنیم به نام نرخ شناسایی (Recognition Rate )

RR که به صورت:

 

در صورت کسر تعداد شناسایی های درست برای شخص j را داریم و در مخرج کسر تعداد نمونه های مورد آزمایش قرار می گیرد . آزمایش ها بر روی پایگاه داده های تصویر چهره ORL و UMIST انجام شده است.

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

آزمایش اول بر روی پایگاه داده ی تصویری ORL انجام شده که شامل 40 تصویر از چهره ی اشخاص است. تصاویر در زمان ها باشدت روشنایی ها و حالات مختلف چهره اخذ شده است. بنابراین تصاویر تقریبا تمام رخ با حالت طبیعی به عنوان نمونه های آموزشی انتخاب می شوند که در اینجا جمعا 40 نمونه در نظر گرفته شده . منحنی عملکرد متد Fisherface و Eigenface در شکل  نشان داده شده است . با توجه به شکل خروجی روش Fisherface در مقایسه با Eigenface عملکرد بهتری داشته و نرخ شناسایی در آن برابر 76.3% بوده در حالی که در روش Eigenface این رقم برابر 72.1 % است.

اما آزمایش دوم بر روی پایگاه داده ی UMIST انجام شد . از خصوصیات این پایگاه داده ی 575 تصویری ، پوشش دامنه ی وسیعی از حالات نیم رخ و تمام رخ چهره اشخاص است .برای متد مورد نظر یک تصویر نرمال به منظور ایجاد تصویر نمونه آموزشی انتخاب می شود ( جمعا 20 تصویر نرمال ) که نتیجه ی حاصل از آموزش 45 تصویر بازسازی شده از هر تصویر شخص است . بنابراین به طور کلی 900 تصویر آموزشی خواهیم داشت. منحنی عملکرد هر دو روش در شکل نشان داده شده است. این خروجی مشخص می کند که نرخ شناسایی در مدل Fisherface برابر 85.4% بوده در حالی که در مدل Eigenface برابر 73.8% است.

نتیجه :

متد ها و روش های گوناگونی برای تشخیص چهره وجود دارد که یکی از آن ها استفاده از روش Fisherface است. این روش با استفاده از آموزش نمونه ها به راحتی از تصویر اولیه یک تصویر مجازی می سازد. (رجوع شود به بحث شبکه های عصبی ) با استفاده از متد 3D Morphabel می توان این روش را ارتقا داد و همچنین از متد پرکردن ناحیه می توان برای بهبود تصویر مجازی تولید شده استفاده کرد. بنابراین این روش نسبت به روش مرسوم Eigenface عملکرد بهتری دارد.

به نظر من که خیلی جالب بود اما اینم باید گفت که این مقاله مربوط میشه به سال ۲۰۰۵ قطعا در حال حاضر روش ها و متد های بهتری برای ارتقا این الگوریتم پیشنهاد شده !!!!   به نظر شما چی ؟ 

 

 


دسته بندی : پردازش تصویر

آخرین مطالب
» شبکه عصبی RBF چیست ؟ ( یکشنبه بیست و هفتم بهمن 1392 )
» پیاده سازی الگوریتم AdaBoost در متلب ( جمعه چهارم بهمن 1392 )
» تکنیک PCA چیست ؟ ( سه شنبه دهم دی 1392 )
» دانلود مقاله شناسایی زبان اشاره با استفاده از PCA و شبکه عصبی ( پنجشنبه بیست و یکم آذر 1392 )
» دانلود مقاله تشخیص چهره با شبکه عصبی ( پنجشنبه سی ام آبان 1392 )
» الگوریتم flood fill برای تشخیص چهره ( یکشنبه پنجم آبان 1392 )
» الگوریتم Viola-Jones برای تشخیص چهره ( یکشنبه بیست و یکم مهر 1392 )
» الگوریتم Simulated Annealing چیست ؟ ( پنجشنبه بیست و هشتم شهریور 1392 )
» استارتاپ ویکند ( یکشنبه بیست و چهارم شهریور 1392 )
» الگوریتم های ممتیکی چیست ؟ ( جمعه بیست و دوم شهریور 1392 )
» تکنیک های حاشیه نویسی تصویر ( image annotation ) ( سه شنبه نوزدهم شهریور 1392 )
» آستانه گیری تصویر به کمک مجموعه های فازی نوع 2 ( جمعه هشتم شهریور 1392 )