توضیحات
پروژه استخراج بردار ویژگی و کاهش ویژگی روش pca و طبقه بندی از روش svm با متلب
بخش اول آموزش الگوریتم طبقهبندی است که باید بردارهای ویژگی از تصاویر آموزش استخراج شوند و طبقهبندی کننده SVM آموزش داده شود. بخش دوم مرحله آزمایش میباشد که با استفاده از مدل آموزش داده شده، تصاویر آزمایش طبقهبندی میشوند و پارامترهای دقت و صحت محاسبه میگردد.
در روش PCA از تجزیه ساختار ماتریسهای واریانس و کواریانس مربوط به دادههای بردارهای ویژگی برای کاهش ابعاد دادهها استفاده میشود. دادهها معمولاً شامل تعداد زیادی متغیرهای با همبستگی درونی میباشد. در این روش دادهها (متغیرها) به متغیرهای جدید و غیر همبسته که مؤلفههای اصلی نامیده میشوند تبدیل میگردند بهگونهای که تعداد کمتری از آنها اغلب تغییرات موجود در متغیرهای اولیه را داشته باشند.
استخراج بردارهای ویژگی:
ابتدا بردارهای ویژگی از تصاویر سرطانی و غیر سرطانی استخراج میشوند. تصاویر پایگاه داده Dataset در دو فولدر positive (تصاویر غیر سرطانی) و فولدر negative (تصاویر سرطانی) قرار دارند. در پایگاه داده num_pos=130 تصویر غیر سرطانی و num_neg=120 تصویر سرطانی وجود دارد. melanoma =سرطانی / non-melanoma =غیر سرطانی
بردارهای ویژگی بهصورت یک ماتریس Feature=[] با اندازههای nxm استخراج میشوند. ستونهای ماتریس بردارهای ویژگی، متناظر با تصاویر است و سطرهای ماتریس، متغیرهای بردار ویژگی میباشند. n برابر با تعداد کل تصاویر موجود در پایگاه داده است n=num_pos+num_neg و m تعداد عناصر بردار ویژگی میباشد. برای طبقهبندی تصاویر یک بردار ستونی شامل برچسبهای صحیح تصاویر تعریف میکنیم. برای تصاویر مثبت برچسب 1 و برای تصاویر منفی برچسب 0 را در سطرهای متناظر با تصاویر موردنظر قرار میدهیم:
ما دو ماتریس ویژگی متفاوت از تصاویر استخراج میکنیم و عملکرد هرکدام را در طبقهبندی تصاویر زخم پوست مقایسه میکنیم. تابع Feature1 ویژگی تبدیل ویولت، تابع Feature2 ویژگیهای هندسی و رنگ مربوط به ناحیههای زخم پوست را استخراج میکنند.
1-در استخراج ویژگی تبدیل ویولت (Feature1) برای هر تصویر ورودی ، 4 کانال تصویر (R,G,B,gray) داریم و از هر تصویر 8 ویژگی آماری استخراج میشود. برای هر کانال تصویر، تجزیه ویولت تا 4 سطح انجام میشود. در هر سطح از تجزیه ویولت، 4 ماتریس ضرایب ویولت داریم و از هر ماتریس 8 ویژگی آماری استخراج میشود. بنابراین تعداد کل عناصر بردار ویژگی برابر (4+4*4*4)*8=544 خواهد بود.
2-در استخراج ویژگیهای هندسی و رنگ (Feature2) برای هر تصویر ورودی برداری با 28 عنصر استخراج میشود.
————————————————————————-
روش اجرای برنامهها:
1-برای استخراج بردارهای ویژگی تصاویر برنامه Extract_Features.m را اجرا کنید.
با اجرای این برنامه برای هرکدام از ویژگیها یک فایل داده شامل ماتریس بردارهای ویژگی و بردار برچسبها تولید میشود.
فایل Data1.mat ß ویژگی ویولت
فایل Data2.mat ß ویژگیهای هندسی و رنگ
من این برنامه را اجرا کردم و فایلهای داده تولید شده است. شما نیز میتوانید برنامه را اجرا کنید. ابتدا فایلهای داده Data1 و Data2 را حذف کنید و بعد برنامه را اجرا نمایید. اجرای برنامه در حدود یک دقیقه زمان لازم دارد تا تمام تصاویر پایگاه داده خوانده شود و همه بردارهای ویژگی استخراج شود.
2-برای انجام عملیات طبقهبندی تصاویر برنامه Classification.m را اجرا کنید. برای هر یک از ویژگیها باید نام فایل داده مربوط به آن را در ابتدای برنامه وارد کنید. برنامه عملیات کاهش ابعاد ماتریس ویژگی را با استفاده از روش تحلیل مؤلفههای اساسی (PCA) انجام میدهد و عملیات طبقهبندی تصاویر مثبت و منفی را با استفاده از الگوریتم ماشین بردار پشتیبان (SVM) پیادهسازی میکند و معیارهای دقت، حساسیت، تشخیص و ماتریس confusion را برای هر ویژگی محاسبه و نمایش میدهد.
——————————————————————————
محاسبه دقت الگوریتم طبقهبندی تصاویر :
توضیحات روش k-fold cross validation :
برای بررسی دقت الگوریتم طبقهبندی تصاویر از روش k-fold cross validation (k=10) (بررسی اعتبار متقابل) استفاده میکنیم. در این روش کل مجموع تصاویر مثبت و منفی پایگاه داده را به k گروه تقسیم میکنیم. در اینجا 250 تصویر مثبت و منفی پایگاه داده را به k=10 گروه تقسیم میکنیم. در هر گروه 250/10=25 تصویر داریم. در هر مرحله یکی از گروهها را بهعنوان مجموعه تصاویر آزمایش و بقیه (k-1)=9 گروه را بهعنوان مجموعه تصاویر آموزش استفاده میکنیم. بنابراین در هر مرحله 25 تصویر آزمایش و 9*25=225 تصویر آموزش داریم. در هر مرحله با استفاده از تصاویر آموزش، الگوریتم طبقهبندی ماشین بردار پشتیبان SVM را آموزش میدهیم و سپس با استفاده از تصاویر آزمایش، پارامترهای دقت الگوریتم طبقهبندی را محاسبه میکنیم. با محاسبه میانگین پارامترهای دقت این 10 مرحله، مقدار پارامترهای دقت کلی الگوریتم طبقهبندی به دست میآید. روش کلی کار در شکل زیر نمایش داده شده است.
پیادهسازی روش تحلیل مؤلفههای اساسی (Principle Components Analysis) :
برای کاهش ابعاد ماتریس بردارهای ویژگی از روش PCA استفاده میکنیم. سطرهای ماتریس بردارهای ویژگی (Features) معادل با تصاویر و ستونهای آن مربوط به متغیرهای بردار ویژگی میباشد. روش تحلیل مؤلفه اساسی تعداد متغیرها یا ستونهای ماتریس را کاهش میدهد ولی تعداد سطرها ثابت میماند. بنابراین ماتریس برچسبها نیز تغییر نمیکند. دادههای ماتریس بردارهای ویژگی شامل متغیرهای با همبستگی درونی میباشد. در روش PCA دادهها (متغیرها) به متغیرهای جدید و غیر همبسته که مؤلفههای اصلی نامیده میشوند تبدیل میگردند و ابعاد بردارهای ویژگی کاهش مییابد. یکی از روشهای محاسبه مؤلفههای اساسی، روش ماتریس کواریانس است. با فرض اینکه X ماتریس بردارهای ویژگی با ابعاد nxp باشد (n تعداد نمونهها و p تعداد متغیرهای ویژگی است) خلاصه روش تحلیل مؤلفههای اساسی بهصورت زیر میباشد:
1-میانگین هر ستون X را از عناصر آن ستون تفریق میکنیم تا ماتریس دادهها با میانگین صفر به دست آید.
2- ماتریس کواریانس X را به دست میآوریم
3- مقادیر ویژه (eigen values) و بردارهای ویژه (eigen vectors) ماتریس کواریانس X را به دست آوریم
4-مقادیر ویژه را به ترتیب از زیاد به کم مرتب کنیم و مطابق با مقادیر ویژه، بردارهای ویژه متناظر با آنها را نیز مرتب میکنیم.
استخراج بردارهای ویژگی :
ویژگیهای ویولت توسط تابع Features1.m استخراج میشوند که روش استخراج آن در برنامه قبل توضیح داده شد.
برای استخراج ویژگیهای هندسی و رنگ از تابع Features2.m استفاده میکنیم. در تابع Features2 ابتدا تصویر ورودی خوانده میشود و توسط فیلتر انتشار ناهمسانگرد (anisotropic diffusion filter) هموار میگردد. توسط عملیات قطعهبندی تصویر ناحیه زخم پوست از بقیه تصویر جدا میشود و سپس عملیات شکل شناسی (morphological operation) فرسایش و کاهش بر روی آن اجرا میشود.
برای استخراج ویژگیهای هندسی از دستور regionprops استفاده میکنیم. دستور regionprops ویژگیهای ناحیههای متصل و مجزا را در یک تصویر باینری محاسبه میکند. این ویژگیها عبارت است از : مساحت ناحیهها (Area)، محیط ناحیهها (Perimeter)، مختصات ناحیه مستطیلی محصورکننده (BoundingBox) و تصویر ناحیهها که حفرههای داخل آنها پر شده باشد (FilledImage) … همچنین برای هر ناحیه یک بیضی محاط محاسبه میکند که ویژگیهای طول محور بزرگتر (MajorAxisLength) و طول محور کوچکتر (MinorAxisLength) و مقدار خروج از مرکز (Eccentricity) این بیضی را محاسبه میکند:
برنامه Classification.m تمام مراحل را اجرا میکند. برای محاسبه نتایج دقت و صحت طبقهبندی تصاویر این برنامه را اجرا کنید.
برنامه Extract_Features.m برای استخراج ماتریس بردارهای ویژگی تصاویر است و قبلاً اجرا شده است و دادههای لازم استخراج شدند.
پروژه استخراج بردار ویژگی و کاهش ویژگی روش pca و طبقه بندی از روش svm با متلب توسط کارشناسان گروه ۱.۲.۳ پروژه پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.
- فایلهای پروژه به صورت کامل پس از خرید فایل بلافاصله در اختیار شما قرار خواهد گرفت.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.