یک روش باحال برای شناسایی پولیپ روده حتی با دیتا کم: داستان Frequency Prior Guided Matching!

Fall Back

شاید براتون جالب باشه بدونین که یکی از مهم‌ترین چالش‌ها برای تشخیص زودهنگام سرطان روده بزرگ، شناسایی پولیپ‌هاست (پولیپ یعنی اون توده‌های کوچیک داخل روده که ممکنه به مرور بدخیم بشن). برای همین خیلی مهمه که مدل‌های هوش مصنوعی بتونن این پولیپ‌ها رو از روی عکس‌های پزشکی خوب جدا کنن یا اصطلاحاً segment کنن. حالا مشکلی که داریم اینه که پیدا کردن داده‌هایی که همینجوری با دقت براشون پولیپ مشخص شده باشه (یعنی annotated data)، کم و سخت پیدا میشه و این موضوع آموزش مدل رو سخت میکنه.

توی یکی دو سال اخیر، همه رفتن سراغ روش‌هایی به اسم “یادگیری نیمه‌نظارتی” یا همون Semi-Supervised Learning که خلاصه‌ش SSL هست. این مدل‌ها میخوان طوری آموزش ببینن که حتی با داده‌های برچسب‌خورده محدود هم کار کنن و هزینه آنالیز دیتا کمتر بشه. اما مشکلی که وجود داره اینه که خیلی از این روش‌ها به تغییرات ظاهری عمومی (مثل چرخوندن عکس، نور و …) بسنده میکنن و کاری به ویژگی‌های خاص پولیپ ندارن. یعنی مثلاً مهم نیست که توی کدوم مرکز درمانی یا با چه دستگاهی عکس گرفته شده، مدل موقع مهاجرت به جای جدید، افت کیفیت پیدا میکنه. این افت کیفیت رو توی اصطلاح میگن “domain shift” یعنی وقتی مدل آموزش‌دیده توی دیتای یه جا، رو عکس جای دیگه خوب جواب نمیده.

حالا نویسنده‌های این مقاله اومدن یه روش خفن معرفی کردن به اسم Frequency Prior Guided Matching یا همون FPGM. بذار خودمونی بگم: توی این روش فهمیدن که لبه‌های پولیپ توی همه دیتاست‌ها یه جور فرکانس خاص از خودشون دارن. “فرکانس” اینجا یعنی الگوی تکرار شونده توی تصویر. خلاصه دیدن این ویژگی لبه‌ها (edge frequency) تو همه عکس‌ها شبیه همه!

FPGM تو دو مرحله جادو میکنه:

  1. اول میره سراغ لبه‌های پولیپ توی دیتای برچسب خورده و اون فرکانس ویژه یا همون frequency prior رو یاد می‌گیره؛ یعنی یه امضای فرکانسی مخصوصِ لبه پولیپ برای خودش می‌سازه.

  2. بعدش میاد سراغ عکس‌هایی که هنوز هیچکی بهشون دست نزده (برچسب نخوردن)؛ با یه روشی که بهش میگن “اختلال طیفی اصولمند” یا principled spectral perturbation (ترجمه‌ش: قاطی کردن خیلی حساب‌شده توی بخش طیف فرکانسی عکس)، بخش شدت یا amplitude عکس رو طوری تغییر میده که با اون امضای فرکانسی که از مرحله ۱ یاد گرفته بود بچرخه؛ اما بخش فاز یا phase رو که ساختار اصلی تصویر رو نگه میداره، دست نمی‌زنه. اینجوری ساختار پولیپ تازه حفظ میشه، اما ظاهر و بافت‌های اضافی خاص هر مرکز درمانی حذف میشن.

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

جالب‌تر اینکه این روش روی شش دیتاست معتبر جهانی تست شده، و تونسته همه رقیب‌ها (۱۰ مدل مطرح!) رو شکست بده و رکورد بزنه. مخصوصاً تو شرایطی که داده کم بوده (مثلاً تازه شروع کار باشه)، مدل FPGM تونسته حتی بیشتر از ۱۰ درصد نسبت به بقیه مدل‌ها تو امتیاز Dice Score (یه معیار برای دقت تشخیص مناطق پولیپ) جهش بزنه! Dice Score یعنی مدل چقدر دقیق محدوده پولیپ رو جدا میکنه.

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

در آخر، اگه بخوام جمع‌بندی کنم: FPGM یه روش داده‌افزایی (Data Augmentation) اختصاصی برای پولیپ هست که نقاط ضعف روش‌های قبلی رو پوشش میده و کمک میکنه مدل نه تنها بهتر یاد بگیره، بلکه تو شرایط متفاوت هم حرفه‌ای بمونه. حتما این موضوع رو با دوستاتون که تو زمینه تصویر پزشکی کار میکنن به اشتراک بذارین!

منبع: +