כולנו יודעים מהו ממוצע ואיך לחשב אותו. החציון, שהוא ערכו של הנתון האמצעי בקבוצה סדורה של נתונים, מוכר פחות. נסביר כיצד משתמשים בממוצע ובחציון בעיבוד תמונות במחשב כדי להתגבר על רעשים הנקראים "מלח ופלפל", שהם פיקסלים שחורים או לבנים המשתרבבים לתמונה באופן אקראי.
אתרי חדשות מציגים לעיתים מפות הצבועות בהתאם למצב הכלכלי של תושבי כל אזור. נשתמש במפה כזאת כאנלוגיה לצביעה של פיקסלים בתמונה. נצבע במפה ריבועים המייצגים בתים (אנלוגיים לפיקסלים) בצבעי שחור-לבן לפי ההכנסה היחסית של הדיירים: שחור (ערך = 0) מייצג בעלי הכנסה נמוכה, לבן (ערך = 1) מייצג בעלי הכנסה מרבית וגווני אפור מייצגים ערכי ביניים. (סלחו על בחירת הצבעים, שנעשתה בהתאם לסטנדרט צביעת פיקסלים.)
כשנתבונן בתמונה, נגלה שישנם אזורים שבהם האוכלוסייה הומוגנית והם צבועים בצבע אחיד, אולם יש בהם "רעשים". לדוגמה, ביתו של תושב אמיד (לבן) שגר באזור עני (אפור כהה), נראה כמו לכלוך לבן על הרקע האפור. בעיה דומה קיימת גם בתמונות, שבהן נראים לפעמים רעשי "מלח-פלפל" [1] – פיקסלים לבנים או שחורים משתרבבים לתמונה באופן אקראי ומפריעים לתצוגה. תופעה זו שכיחה למשל בצילומי כוכבים בלילה: בשל זמן החשיפה הארוך נכנסים לתמונה רעשים אקראיים, שיוצרים פיקסלים לבנים. כיצד ניתן לנקות את התמונה?
אחת השיטות היא שימוש במסנן מְמַצע: כל פיקסל (בית) בתמונה ייצבע בהתאם לערך הממוצע של הפיקסל ושל שמונת השכנים המקיפים אותו מכל עבריו. לדוגמה, נניח שבמפה יש אזור לבן ובו פיקסל אחד ("בית") שחור. נפעיל את השיטה על בית זה: הממוצע של 8 פעמים 1 (צבעי הבתים הלבנים) ופעם אחת 0 (צבע הבית השחור) הוא 0.89=8/9, לכן נצבע את הבית בצבע זה, הקרוב ללבן. בהתאם לשיטת החישוב, גם שמונת הבתים השכנים ייצבעו באותו צבע. הפעלת המסנן, שהיא פעולת ערבוב של תשעה צבעים, אנלוגיה לחישוב השכר הממוצע, הורידה את רמת הרעש הנקודתי אך לא העלימה אותה. למעשה מרחנו קצת את הלכלוך מסביב במקום לנקות, מה שמזכיר בדיחות על איכות הניקוי בשירותים...
מה יקרה אם יהיו באזור הלבן שלושה בתים שחורים צמודים? מהחישוב נקבל שבתים אלו ייצבעו באפור בהיר 0.67=6/9 , ואפקט הרעש יהיה מורגש יותר (ראו תמונה).
האם יש דרך טובה יותר לניקוי התמונה?
נשתמש במסנן חציוני: עבור כל פיקסל נסדר את ערך הפיקסל ואת ערכי שמונת שכניו לפי גודלם, ונשתמש בערך האמצעי, החציון, לצביעת הבית. למשל, הסדרה המתאימה לדוגמה השנייה היא: 1, 1, 1, 1, 1, 1, 0, 0, 0. האיבר החמישי הוא 1, לכן נצבע את הבית בלבן, והרעש ייעלם. אכן, שימוש במסנן חציוני מעלים את רעשי המלח והפלפל, שהם בעלי ערכים חריגים – בתנאי שהרעש מפוזר דיו.
נניח שיש במפה קו גבול אנכי שמפריד בין גוש בתים לבנים במערב לבתים שחורים במזרח. אם נשתמש במסנן ממצע, שינוי הצבע בגבול יהיה הדרגתי: לבית לבן הצמוד לגבול יש 3 שכנים שחורים ו-5 לבנים, ולכן ערך הצבע יהיה 0.66=6/9, מימינו, בצד השני של הגבול, יהיה בית שחור עם 3 שכנים לבנים ו-5 שחורים, והצבע שלו יהיה לפיכך 0.33=3/9. כלומר, נוצר מעבר הדרגתי מאזור שחור ללבן. טשטוש הגבולות נחשב לעתים תכונה מבורכת של המסנן הממצע, מכיוון שהוא מקנה לתמונה נופך אמיתי. אולם במקרים רבים, לדוגמה באלגוריתמים לזיהוי שפות (גבולות בין עצמים בתמונה), נרצה דווקא שמעבר הצבע יהיה חד, ואת זה נוכל להשיג באמצעות המסנן החציוני.
מכיוון שמסנן חציוני מצריך מספר רב של חישובים עבור כל פיקסל, בתהליך זיהוי שפות משתמשים בדרך כלל במסנן גאוסי [2] לסינון רעשים. מסנן זה מחשב ממוצע משוקלל של תשעת הפיקסלים ונותן לפיקסל האמצעי משקל גבוה מלשכניו. גם המסנן הגאוסי יוצר מריחת צבע, אבל קצת פחות מן המסנן הממצע.
במצבים שונים המסנן הממצע או המסנן הגאוסי עושים את העבודה, אולם לסילוק לכלוכים נקודתיים כמו רעשי מלח ופלפל, אין כמו מסנן חציוני: הוא אינו מורח את הלכלוך, אלא מנקה ממש!
ליווי מדעי: ולרי פרומקין
עריכה: סמדר רבן
מקורות והרחבות:
[1] רעש "מלח פלפל"
[2] המסננת של גאוס