قوانین فنی مسابقه

  1. مقدمه:

    در این مسابقه، هدف نهایی انجام گروه‏بندی چهره‌های‏ موجود در پایگاه داده است، به این صورت که باید تصاویر دارای هویت یکسان در یک گروه مشترک قرار گیرند. در ادامه توضیحاتی در مورد نوع تصاویر، قوانین اجرائی و فنی مسابقه و نیز نحوه تولید خروجی ‏های مطلوب آورده شده است.

  2. پایگاه داده:

    تصاویر موجود در پایگاه داده بصورت تصاویر رنگی و سطح خاکستری (یک یا سه کاناله) با عمق 8 و 24 بیت خواهند بود. در پایگاه داده‏ی ارائه شده تا حد امکان تمام چالش‌های موجود در زمینه بازشناسی چهره در تصاویر وجود دارد. پایگاه داده شامل افراد ایرانی و غیرایرانی بوده و گوناگونی در مواردی مانند زاویه سر ، وضعیت نورپردازی ، حالت چهره، سن، پوشیدگی چهره ، وجود کلاه و عمامه، گریم (شامل آرایش و یا تغییر سایر جزئیات چهره همچون ریش و سبیل)، جنسیت، حجاب اسلامی و ... وجود دارد. تصاویر پایگاه داده دارای ابعاد مختلف بوده و به فرمت .jpg استاندارد فشرده شده¬اند. تصاویر به گونه‏ای انتخاب شده‏اند که در هر تصویر فقط یک چهره وجود داشته باشد. لازم به ذکر است که حداقل عرض تصویر و حداقل عرض چهره در تصاویر پایگاه داده به ترتیب برابر با 150 و 50 پیکسل می‏باشد.

  3. شرح مساله:

    تیم های شرکت کننده در این مسابقه می‏بایست با استفاده از روش‏ های گروه‏بندی، اقدام به گروه‏بندی تصاویر پایگاه داده نموده و در نهایت برچسب مربوط به هویت (هویت‏های) مشابه را مشخص نمایند. بدین صورت که تیم ها با در نظر گرفتن قوانین فنی و اجرائی مسابقه، اقدام به پیاده‏سازی الگوریتم گروه‏بندی بر روی تصاویر می‏نمایند، تا در نهایت برچسب‏های مربوط به هویت (هویت‏های) مشابه به عنوان خروجی عملیات گروه‏بندی تعیین گردند. شرح کامل چگونگی انجام این فرایند و قوانین مربوطه در بخش‏های بعد به تفصیل توضیح داده شده است. در ادامه ‏ی این بخش کلیاتی در خصوص معرفی آنالیز گروه‏بندی ارائه می‏گردد.
    آنالیز گروه‏بندی به عملیات گروه‏بندی مجموعه‏ ای از اجزاء اطلاق می‏شود که در آن تمامی اجزاء در هر گروه (که خوشه یا کلاستر نامیده می‏شوند) دارای بیشترین شباهت با سایر اجزاء آن گروه (خوشه)، نسبت به اجزاء سایر خوشه ها (یا کلاسترها) باشند. بطور کلی جهت ارزیابی نتایج روش‏ های خوشه بندی، از چهار نوع روش ارزیابی داخلی ، خارجی ، دستی و غیرمستقیم استفاده می‏گردد. روش‏ های ارزیابی داخلی زمانی مورد استفاده قرار می‏گیرند که نتایج خوشه بندی در یک امتیاز کیفی خلاصه شوند. این روش‏ها اساساً بهترین امتیاز را به الگوریتم‏هایی می‏دهند که عملیات خوشه بندی را با شباهت بالای درون خوشه‏ای و شباهت پایین بین خوشه‏ای انجام می‏دهند. اما مهمترین عدم مزیت این روش ارزیابی این است که روش ارزیابی خوشه‏ای که امتیاز بالایی دارد، لزوماً منجر به کاربردهای مؤثر در بازیابی اطلاعات نمی‏شود. در حالی‌که در روش‏ های ارزیابی خارجی، خروجی ‏های خوشه بندی با یک Ground Truth یا Gold Standard موجود مقایسه شده و نتایج نهایی گزارش می‏شوند. این نوع روش‏ های ارزیابی چگونگی نزدیک بودن خوشه بندی انجام شده به کلاس‏های از پیش تعیین شده را تعیین می‏نماید. در این روش ارزیابی، شمارش جفت داده‏ها در هر خوشه تعیین کننده‏ ی این است که آیا داده‏ها یی که در یک خوشه قرار گرفته‏اند واقعاً متعلق به یک کلاس بوده‏اند یا خیر. روش ارزیابی دستی توسط شخص خبره صورت می‏پذیرد، و در نهایت روش ارزیابی غیرمستقیم نیز بوسیله‏ی ارزیابی کاربرد خوشه بندی در قالب مورد نظر خود قابل انجام است.
    لازم به ذکر است که در این مسابقه از روش ارزیابی خارجی جهت ارزیابی نهایی و امتیازدهی به نتایج کد تیم های شرکت کننده استفاده خواهد شد.

  4. قوانین اجرائی:

    برای شرکت در مسابقه، هر تیم شرکت کننده می‏بایست کد خود را با توجه به قالب فایل‏های ورودی و خروجی که در ادامه شرح داده شده است تهیه نموده و برنامه‏ی اجرائی خود را در یک قالب یک داکر ایمیج تحویل و در زمان مقرر در وب سایت مسابقه بارگذاری نماید. این ایمیج، بر روی سیستمی که داده‏ های تصاویر ارائه شده بر روی آن قرار دارد اجرا شده و پس از اجرای کامل برنامه، فایل خروجی دریافت و داکر ایمیج پاک می‌شود. لازم به ذکر است که در بازه‏ی زمانی اعلام شده، شرکت ‏کنندگان می‏توانند اقدام به بارگذاری کد خود نموده، سپس نتایج و امتیاز نهایی هر تیم با توجه به معیارهای جدول 1 محاسبه شده و به اطلاع شرکت ‏کنندگان خواهد رسید. شرکت ‏کنندگان می‏توانند کدهای خود را بروزرسانی نموده و مجدداً بارگذاری نمایند. این روال تا اتمام بازه‏ی زمانی مورد نظر ادامه خواهد داشت و پس از اتمام زمان، داوری نهایی مطابق با آخرین کد بروزرسانی شده به ازای هر تیم انجام خواهد شد. بازه‏های زمانی مورد نظر متعاقباً از طریق وب‏سایت مسابقه اعلام خواهند شد. ذکر این نکته ضروری است که هیچ تیمی مجاز به استفاده از کتابخانه‏هایی که نیاز به اخذ مجوز یا لیسانس تجاری داشته باشند، نبوده و در صورت محرز شدن این موضوع از مسابقه کنار گذاشته خواهند شد.
    به منظور آموزش چگونگی ساخت و اجرای داکر ایمیج، علاوه بر فایل راهنما، ویدئو‌ی آموزشی جداگانه ‏ای نیز در سایت قرار خواهد گرفت.

    4-1. قالب فایل ورودی

    یک فایل متنی با نام input.txt به عنوان ورودی در اختیار تیم های شرکت کننده در مسابقه قرار داده می‏شود. این فایل دارای یک خط است که شامل آدرس دقیق پوشه ‏ی تصاویر پایگاه داده‏ی مورد استفاده خواهد بود. درون این پوشه فقط تصاویر بوده و هیچ گونه فایل دیگری با فرمت دیگر وجود نخواهد داشت. این آدرس بعنوان ورودی داکر در نظر گرفته می‏شود. برنامه می‏بایست تصاویر موجود در این آدرس را خوانده و عملیات خوشه بندی را انجام دهد و در نهایت فایل خروجی را در قالب بیان شده در قسمت بعد تولید نماید.

    4-2. قالب فایل خروجی

    نحوه ‏ی تولید و نیز فرمت فایل خروجی ذخیره شده بصورت زیر است:

    - به ازای هر یک از تصاویر پایگاه داده، حتماً می‏بایست یک شماره خوشه اختصاص داده شود؛

    - تولید یک فایل خروجی با نام تیم شرکت کننده و با فرمت .csv شامل دو ستون؛

    - در فایل .csv ذخیره شده، ستون اول شامل اسامی تصاویر و ستون دوم معرف شماره‏ ی خوشه‏ ی هر یک از تصاویر پایگاه داده است؛ ترتیب سطرها برحسب ترتیب اسامی موجود در پوشه ‏ی تصاویر مرتب شود؛

    - تعداد سطرهای فایل .csv ذخیره شده به تعداد تصاویر ارائه شده در پایگاه داده باشد؛

    - شروع شماره‏ ی خوشه ها از شماره 1 باشد؛ همچنین شماره‏ ی آخرین خوشه بیانگر تعداد خوشه های استخراج شده باشد؛

    به عنوان مثال فرض کنید پوشه ‏ی تصاویر پایگاه داده شامل 5 تصویر با نام های زیر است:

    I1.jpg
    I2.jpg
    I3.jpg
    I4.jpg
    I5.jpg

    با این شرایط، در خروجی کار هر تیم شرکت کننده در مسابقه، یک فایل با نام تیم و با فرمت .csv ذخیره خواهد شد که محتویات آن بطور مثال بصورت زیر خواهد بود:

    I1, 2
    I2, 1
    I3, 3
    I4, 1
    I5, 2

    دقت داشته باشید که در فایل .csv نهایی، حتماً می‏بایست شماره خوشه‏ی هر تصویر ورودی در جلوی نام هر تصویر درج شود و هرگونه عبارت دیگه نظیر عبارات NaN، inf یا صفر قابل قبول نبوده و نتایج آنها رد خواهند شد.

    نکته: اگر مدل شما به هر دلیلی قادر به قرار دادن یک تصویر در خوشه‏ی تصاویر مشابه خود نباشد، به ازای آن تصویر خاص می‏بایست یک خوشه‏ی جداگانه (تک عضوی) در نظر گرفته شود. همچنین در صورت بروز هر نوع خطا در تمامی مراحل اجرای کد (به عنوان مثال عدم فراخوانی یا عدم باز شدن یک تصویر، عدم تشخیص چهره در یک تصویر و ...)، شرکت ‏کنندگان می‏بایست به نحوی اجرای کد خود را مدیریت نمایند تا در حین اجرای کد هیچ‏گونه خطا، توقف و یا خارج شدن از برنامه اتفاق نیفتد و تمامی مراحل کد مورد نظر تا تولید خروجی مطلوب بدرستی اجرا گردند. علاوه بر این، در صورت وجود هر نوع خطای پیش‏بینی نشده در کدهای شرکت ‏کنندگان به ازای هر تصویر در مرحله‏ی اجرای خوشه‏ بندی، می‏بایست به ازای آن تصویر یک خوشه‏ ی جداگانه در نظر گرفته شود. بدیهی است در صورت عدم رعایت هر یک از موارد بیان شده در فوق توسط تیم های شرکت‏ کننده در مسابقه، نتایج آن تیم نادیده گرفته شده و تیم مورد نظر از چرخه‏ ی مسابقه حذف خواهد شد.

  5. قوانین فنی مسابقه:

    هدف اصلی در این مسابقه خوشه بندی چهره‏ های تشخیص داده شده از تصاویر پایگاه داده است. به اینصورت که در ابتدا مجموعه‏ ای از تصاویر با مشخصاتی که در این فایل راهنما ارائه شده است در اختیار شرکت ‏کنندگان قرار داده می‏شود. سپس تیم های شرکت کننده در این مسابقه با بکارگیری روش‏ های خوشه بندی، تصاویر مربوط به هر هویت (خوشه) را مشخص خواهند نمود. انتظار می¬رود فایل خروجی ارائه شده توسط هر تیم شرکت کننده در مسابقه بصورت لیستی از نام تصاویر به همراه شماره‏ ی خوشه‏ ی هر یک از آنها باشد. لازم به ذکر است که اگر الگوریتم شما به هر دلیلی قادر به استخراج چهره از تصویر ورودی نباشد، شرکت کننده باید آن تصویر را بصورت یک خوشه‏ ی تک عضوی در نظر گیرد.

    نکته: درصورتیکه در هر یک از مراحل برگزاری مسابقه مشخص شود که تصویری خارج از استانداردهای تعریف شده در مسابقه بوده است، آن تصویر از مسابقه حذف خواهد شد. در ادامه به معرفی معیارهای ارزیابی و نحوه امتیازدهی به تیم های شرکت کننده پرداخته شده است.

    5-1. معیارهای ارزیابی:

    ارزیابی "دقت خوشه‏ بندی" الگوریتم تیم های شرکت‏ کننده در مسابقه و امتیازدهی به خروجی ‏های مدل آنها مطابق با دو معیار زیر انجام خواهد شد:

    • F-measure:

    نحوه محاسبه این معیار بصورت رابطه‏ ی زیر است:

    در این رابطه β=1 است و معیارهای Precision و Recall نیز بصورت زیر تعریف می‏شوند:

    در روابط فوق، TP معرف True Positive، FP معرف False Positive و FN معرف False Negative هستند.

    • Normalized Mutual Information (NMI):
    نحوه محاسبه این معیار بصورت زیر است:

    در رابطه‏ ی فوق، C معرف مجموعه کلاس‏ ها در Ground Truth و Ω معرف مجموعه خوشه‏ های بدست آورده شده توسط الگوریتم خوشه‏ بندی است؛

    همچنین H(Ω) معرف آنتروپی مجموعه‏ی خوشه‏ ها و H(C) معرف آنتروپی مجموعه‏ی کلاس‏ های موجود در Ground Truth است؛

    همچنین I(Ω ,C) معرف Mutual Information (MI) بین Ω و C بوده که از طریق رابطه زیر قابل محاسبه است:

    در رابطه فوق، I(Ω ,C) معرف میزان اطلاعات موجود بین کلاس‏ ها و خوشه‏ ها است؛ به عبارت دیگر، معیار MI درخصوص اینکه چه مقدار اطلاعات مشترک بین خوشه‏ ها و کلاس‏ های استاندارد طلایی وجود دارد حائز اهمیت است. در رابطه فوق N معرف تعداد کل داده‏ها، و |ω_k∩c_j | بیانگر تعداد داده‏ های مشترک بین کلاس‏ها و خوشه‏ ها است. در واقع معیار MI قادر به آشکارسازی شباهت غیرخطی بین این دو گروه است. عبارت [H(Ω)+H(C)]/ 2 در مخرج معیار NMI می‏تواند حل کننده‏ ی مشکلات محاسبه در معیار MI باشد،. به عنوان مثال، H(Ω) به ازای log⁡N در حالت K = N (تعداد خوشه‏ ها با تعداد داده‏ها برابر باشد) به ماکزیمم مقدار خود می‏رسد که در این حالت معیار NMI به ازای K = N مقدار کمی خواهد داشت. به دلیل اینکه NMI معیاری نرمالیزه شده است، می‏توان از آن جهت مقایسه‏ی خروجی ‏های روش‏ های مختلف خوشه‏ بندی با تعداد خوشه‏ های متفاوت استفاده کرد. همچنین NMI یک معیار بالانس شده است و در حالتی که تمامی نمونه‏ها یا در یک خوشه باشند یا همگی در خوشه‏ های منحصر به فرد قرار گیرند، دارای مقدار صفر است.

    5-2. نحوه محاسبه امتیاز نهایی:

    پس از محاسبه‏ ی هر یک از معیارهای فوق از روی فایل .csv خروجی هر تیم و با اعمال ضرایب مناسب مطابق با جدول 1، امتیاز نهایی "دقت خوشه‏ بندی" و در نهایت نحوه‏ی عملکرد نهایی هر تیم محاسبه و گزارش خواهد شد. علاوه بر دقت الگوریتم، معیارهای "زمان اجرای الگوریتم" و "میزان RAM مورد استفاده" حاصل از فایل خروجی هر یک از تیم ها نیز در ارزیابی نهایی تأثیرگذار است. نحوه محاسبه‏ ی امتیاز نهایی تیم ها مطابق جدول 1 است.

    جدول 1) نحوه محاسبه‏ ی معیارهای معرفی شده جهت محاسبه امتیاز نهایی تیم ها

    نکته: درخصوص محاسبه امتیاز "زمان اجرای الگوریتم" با توجه به رابطه‏ ی ذکر شده در جدول 1 برای این معیار، در ابتدا زمان اجرای کد هر تیم محاسبه شده، سپس این زمان با توجه به حداکثر زمان قابل اجرا (Th_1) که توسط تیم ارزیاب تعیین می‏گردد، نرمالیزه می‏شود. بدیهی است که زمان کمتر اجرای الگوریتم هر تیم معادل با کسب امتیاز بیشتر در این بخش است. توجه داشته باشید که در محاسبه امتیاز این معیار یک حد آستانه‏ ی دیگر نیز در نظر گرفته شده است. به این ترتیب که در صورت اجرای کد در زمانی بزرگتر یا مساوی با حداکثر زمان قابل اجرا (Th_1) و کمتر از حد آستانه‏ ی دوم (Th_2)، امتیاز صفر به معیار "زمان اجرای الگوریتم" تعلق خواهد گرفت، و در صورتیکه زمان اجرای الگوریتم بیش از زمان Th_2 باشد، تیم مورد نظر از ادامه فرایند مسابقه کنار گذاشته خواهد شد. لازم به ذکر است که حداکثر زمان اجرای الگوریتم (Th_1) و نیز زمان حد آستانه‏ ی دوم (Th_2) متعاقباً از طریق وب‏سایت مسابقه اعلام خواهد شد.

    علاوه بر این، حداکثر میزان RAM مورد استفاده جهت تعیین امتیاز معیار "میزان RAM مورد استفاده" نیز متعاقباً اعلام خواهد شد.

    در نهایت، امتیاز نهایی هر یک از تیم ها بصورت مجموع امتیاز معیارهای "دقت خوشه‏ بندی (P_1+P_2)"، "زمان اجرای الگوریتم (P_Time)" و نیز "میزان RAM مورد استفاده (RAM Usage)"، و مطابق با رابطه‏ ی زیر از حداکثر امتیاز 100 محاسبه و اعلام خواهد شد.