شبیه سازی تانسورفلو تقسیم بندی خودکار ضایعات پوستی
این فایل شامل کد کامل پیادهسازی مقاله «قطعهبندی خودکار ضایعات پوستی با شبکههای کاملاً کانولوشنال-دکانولوشنال» در ISIC 2017: Skin Lesion Analysis Towards Melanoma Detection، Part 1: Lesion Segmentation است.
این کد با استفاده از فریمورک های Keras و Tensorflow پیاده سازی شده است.
پوشه های مجموعه داده
trainx – 2000 تصاویر RGB آموزشی از قسمت های تحت تأثیر پوست با اندازه 192 x 256.
Trainy – 2000 قطعه قطعه (حقیقت زمینی) تصویر از تصاویر در قطار با اندازه 192 x 256.
validationx – 150 تصویر تایید شده از قسمت های تحت تاثیر پوست با اندازه 192 x 256.
validationx- 150 تصویر قطعهبندی شده (حقیقت زمینی) از تصاویر در قطار با ابعاد 192×256.
testx – 600 تصویر آزمایشی از قسمت های آسیب دیده پوست با اندازه 192 در 256.
testy – 600 قطعه قطعه (حقیقت زمینی) تصویر از تصاویر در قطار با اندازه 192 x 256.
اندازه تمام تصاویر موجود در تمام پوشه ها به اندازه ۱۹۲ در ۲۵۶ تغییر یافته است.
اگر می خواهید اندازه تصاویر اصلی را در مجموعه داده تغییر دهید، از اسکریپت reshape.py با انجام تغییرات جزئی در آن مانند تغییر نام پوشه ها و تعداد تصاویر استفاده کنید.
در اینجا شما نیازی به اجرای reshape.py روی تصاویر ندارید زیرا اندازه تصاویر موجود در پوشه ها قبلاً به ابعاد مورد نیاز ما یعنی 192 x 256 تغییر اندازه داده شده است (دلیل این کار را می توانید در مقاله اصلی ببینید)
کد
reshape.py – کدی برای تغییر شکل تمام تصاویر موجود در یک پوشه به تصاویر 192 x 256. (در این مورد نیازی به اجرا نیست زیرا داده های این مخزن قبلاً تغییر شکل داده اند)
melanoma_segmentation.ipynb – نوت بوک Jupyter با تمامی کد لایه های کانولوشن و دکانولوشن و آموزش و ….
load_batches.py – (از این استفاده نکنید) همه تصاویر موجود در یک پوشه را در دسته هایی با اندازه دسته ای 16 بارگیری کنید.
خطاها
(حل شد) یک خطا با محور در عملیات ()tf.reduce-sum در تابع jaccard_loss() که ایجاد شد.
(حل شد) در تقسیم تصاویر ورودی به دسته ها مشکلی وجود دارد. به همین دلیل یک خطای ابعادی رخ می دهد.
(حل شد) مشکلی در تابع unpool() وجود دارد که باید برطرف شود.
تابع جدیدی به نام UnPooling2x2ZeroFilled() به جای unpool() برای unpooling لایه در حین deconvolution ایجاد کرد که به خوبی کار می کند.
توجه داشته باشید
کد بعد از خط _, _, parameters = model(X_train, Y_train, X_test, Y_test)
بعد از تابع model() در نوت بوک اصلی jupyter فقط کد یدکی و مقداری تست است، بنابراین کد را بعد از موارد ذکر شده در بالا اجرا نکنید. خط کد
در melanoma_segmentation.ipynb، اگر نوت بوک jupyter را به صورت آفلاین روی کامپیوتر خود اجرا می کنید، سلول ها را با کد اجرا نکنید! git clone و cd. تنها در صورتی که این نوتبوک را در Google Colab اجرا میکنید، سلولها را اجرا کنید.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.