Post Top Ad

Your Ad Spot

الثلاثاء، 13 أغسطس 2019

Layer Visualizations | APTOS 2019 Blindness Detection




طبعا كلنا عارفين يعني ايه Data Visualization اكيد !


 هي طريقة لعرض البيانات في رسومات بيانية لاستخراج المعلومات الاحصائية والخصائص والانماط .. وتعتبر طريقة مبسطة لعرض معلومات كبيرة بشكل يسهل علي شخص غير مختص فهمه والتفاعل معه .

دا التعريف الي احنا عارفينه طبعا التعريف داه في البيانات الرقمية او العددية او النصوص صح !

طيب ماذا لو تطرقنا الي بعض الصور هل هتكون عملية ال Visualization صعبة علينا ولماذا ؟

- الاجابة هي أه هتكون صعبة علينا جدا نظرا لانها ملهاش معايير مقارنة يمكن معيار المقارنة الوحيد هو ال Image Ratio والي هو نسبة العرض الي الطول والي بيسمي ( مقياس الصورة ) لاننا لو هنعيد صياغة حجم الصورة فلازم ناخد في الاعتبار المقياس يكون معلوم علشان الصورة ميتعملهاش Crop يتعملها فقط Resize 

لكن انا عايز اشوف الخصائص بتاعت الصورة أعمل ايه ؟

حاليا في تكنولوجيا كتير اوي في علم ال  computer Vision لو حد حابب يتطرف ولكن احنا هنستخدم ال Visual بس في نقطة واحدة في استخراج الصفات والخصائص  من الصورة طيب وداه هيتم ازاي ؟

تعالو نحاكي الموضوع داه في مشكلة عملية مع بعض علي مجموعة من الصور زي الي موجودة تحت دي :



الي ميعرفش الصور دي عبارة عن ايه فدي عبارة عن صور لعيون في المراحل الاولي بالاصابة بالعمي , الهدف كان اننا نقوم بعمل Classification بين الصور علشان نعرف مين عنده احتمالية انه يصاب بعمي ومين معندهوش الأحتمالية دي حتي .

طيب احنا اتكلمنا قبل كداه عن ال Filters الي بتكون موجودة بداخل ال Convolutional Neural Network ولو حد عايز يشوفها عن كثب:






انا عايزك تفهم ايه لازمة ال Filters وال Pooling وال Convolutional Layers الكتير دي اوي ..

احنا هدفنا نعرف انهو صورة ممكن تتصاب بالعمي في المستقبل وأي صورة لن تصاب .. 



( هنقتطع الحديث وهنشرح ازاي بنقوم ببناء البيانات في تلك الحالة احنا ممكن نبني من البيانات 2 classifier لازم نقوم بجمع بيانات كل الأشعة الي بتكون موجودة علي العين بدون استثناء وبعد كداه نجمع الدفعة التانية من العينات الي بتكون مثلا لنفس المرضي بعد 3 او 6 اشهر وبيكون عندنا بعض التوزيعات :
- صور لعيون للمرضي ( العينة الاولي )

- صور لعيون المرضي المصابين ( العينة الثانية )
- صور لعيون المرضي الغير مصابين ( العينة الثانية )

وهنا عندنا صورتين لأعين كل شخص ( كانو غير مرضي واصبحو مرضي)
عندنا صورتين لأعين كل شخص ( كانو غير مرضي ومازالو غير مرضي )

ومن الصور ممكن ابني 2 نموذج تصنيف (classifier Model ) 
الاول هيكون عبارة عن تصنيف بين العين المريضة والعين غير المريضة والثاني يصنف بين العين التي ممكن ان تصاب والعين التي لن تصاب بالمرض )

حسنا تحدثنا سابقا ايضا عن ال Transefer Learning وكيف يمكننا الاستعانة بشبكة عصبية تمت تدريبها من قبل علي استخراج ال Features من الصور بشكل عام أن يتم استخدامها في حل مشكلة Classifer علي سبيل المثال سنتستخدم في هذا المثال VGG-16 


الهدف هنا هو توضيح بعض النقاط في نقطة ال Parameter Tunning أنه ليست الطريقة الوحيدة لعمل ال Tunning هو الانتظار الي ان نقوم بفحص النتائج ثم ان نعود مرة اخري لضبط الparameter الخاصة بنا وهكذا ..

ولكن يمكن ان يكون هناك بجوارنا دكتور مختص في أمراض العيون ونقوم بعمل ما يسمي Layer Visualization وهو جعله يري ما الذي تراه الشبكة الخاصة بنا ولماذا نفعل ذلك ؟ 

لكي يختار هو بنفسه ال Filter المناسبة وعدد ال Layer المناسبة الت تفي بالغرض والتي تستخرج اكبر Feature Map من ال صورة بدون التعمق في التفاصيل الغير مهمة ..

علي سبيل المثال هذا هو ال Output من ال Block الأول من نموذج ال VGG-16


حسنا هل تلاحظ المرض بشكل ما ام لا , هل تلاحظ ذلك في ال 64 صورة ام لا !
كم صورة لا يظهر فيها المرض بشكل واضح , هل هذا ال Filter مناسب ام علينا ان نختار واحد اخر ..

بعض من تلك الاسألة علي طبيب مختص يكفي ان يخلق معك نموذج كامل وستقوم بتدريبه مرة واحدة كانت تلك مجرد نظرة سريعة حول كيفية النظر بداخل الشبكات العصبية عليك ان تجرب الأمر بنفسك 

لمراجعة الكود من هنا   



ليست هناك تعليقات:

إرسال تعليق

Post Top Ad

Your Ad Spot

Datalizer