در این مقاله از ترکیب یک سیستم فازی و شبکه ماشین بردار پشتیبان برای بخشبندی پوست صورت استفاده شده است. ساختار شبکه مذکور (FS-FCSVM) بدین شکل است که عمل خوشهبندی فازی بر روی دادههای ورودی انجام میگیرد که این امر منجر به کاهش تعداد قوانین فازی میگردد. سپس پارامترهای شبکه با استفاده از شبکه بردار ماشین پشتیبان آموزش داده میشوند که در نتیجه به شبکه با قابلیت تعمیم پذیری بالاتر دست مییابیم. برنامه نوشته شده از قسمتهای اصلی زیر تشکیل شده است.
1) Main2: که برنامه اصلی اجرا شده برای مقایسه روشهای کلاس بندی است. اجرای این برنامه منحنی ROC و تصویر بخشبندیشده نمونه را نشان میدهد.
2) PointsManual و ManualSegmentation: که با اجرای ManualSegmentation میتوان به بخشبندی دستی تصاویر پرداخت. این برنامه برای ناحیه بندی پوست و مقایسه آن در نتایج کلاس بندی لازم است. با اجرای برنامه تابع PointsManual فراخوانی میشود. برای هر تصویر با کلیک ماوس یک نقطه مشخص میشود. برای آخرین نقطه از کلیک راست ماوس استفاده میکنیم. در نتیجه یک منحنی اسپلاین به نقاط فیت شده و ناحیه صورت در تصویر مشخص میشود.
ساختار کد برنامه Main از قسمتهای زیر تشکیل شده است:
1- Path & Parameters: در این قسمت از برنامه مسیرهای مهم و پارامترهای مهم برنامه را مقداردهی و مشخص میکنیم. این مسیرها شامل مسیر تصاویر و توابع دستورات SVM است.
2- Read Dataset: در این قسمت همه تصاویر اصلی و تصاویر بخشبندی شده خوانده میشود. در تصاویر بخشبندیشده، بافت پوست از بقیه قسمتها مجزا شده است.
3- Feature Extraction: در این قسمت ویژگیهای Hue و Saturation از تصاویر HSI تصاویر اصلی خوانده میشود. این دو با هم یک بردار ویژگی دوبعدی را برای هر تصویر ایجاد میکنند.
4- Feature Normalization: مقادیر ویژگیهای مورد نظر برای یکسانسازی به مقادیر بین صفر و یک نرمالیزه میشوند.
5- Separate Test & Train: دراین قسمت دادههای موجود به دو دسته داده آموزش و تست تقسیم میشوند. به طور معمول دو سوم داده ها را داده آموزش انتخاب می کنیم و بقیه دادهها به عنوان تست درنظرگرفته میشوند.
6- Extract Samples: دراین قسمت که بخشی از قسمت قبل است از همه پیکسلها یک تعداد مشخصی از هر تصویر را که در برنامه 100 پیکسل گذاشتهایم به عنوان داده ورودی آموزش و تست انتخاب میکنیم. این انتخاب به شکل تصادفی انجام میپذیرد.
7- SVM Classification: بعد از جدا کردن داده های آموزش و تست، ابتدا با داده آموزشی شبکه SVM را آموزش میدهیم و سپس با داده تست به ارزیابی دقت آن میپردازیم. دقت ردیابی و خطای تشخیص خروجی این قسمت به ازای مقادیر مختلف پارامتر SVM بدست می آید و منحنی ROC رسم میشود.
8- Anfis Classification: بعد از جدا کردن داده های آموزش و تست، ابتدا با داده آموزشی شبکه Anfis فازی را آموزش میدهیم و سپس با داده تست به ارزیابی دقت آن میپردازیم. دقت ردیابی و خطای تشخیص خروجی این قسمت به ازای مقادیر مختلف پارامتر Anfis بدست می آید و منحنی ROC رسم میشود.
9- FS-FCSVM Classification: در این قسمت از شبکه پیشنهادی مقاله برای آموزش و تست شبکه استفاده میشود. ابتدا با خوشه بندی فازی روی دادههای ورودی، مقادیر توابع عضویت داده ها محاسبه میشود و سپس روی این مقادیر توابع شبکه SVM را اعمال می کنیم. دقت ردیابی و خطای تشخیص خروجی این قسمت به ازای مقادیر مختلف پارامتر FS_FCSVM بدست می آید و منحنی ROC رسم میشود.
10- Test Image Segmentation: در این قسمت میزان دقت شبکه ایجاد شده را برای یک تصویر آزمایشی امتحان میکنیم و تمام پیکسلهای آن را به عنوان داده ورودی برای کلاسبندی پوست و غیرپوست به شبکه میدهیم. نتیجه کلاس بندی به صورت یک تصویر نشان داده میشود که در آن نقاط پوست دارای شدت روشنایی متناظر آن در تصویر ورودی و نقاط غیرپوست دارای شدت صفر هستند.
محصولات مرتبط