עבר עריכה לאחרונה בתאריך 31.07.04 בשעה 01:58
מבוסס על מאמרים וקורסים למדעי המחשב בטכניון בנושא עיבוד תמונה כל הזכויות שמורות © למיכאל אלעד מאמר זה הינו אקדמי ברמתו ומצריך ידע קודם במתמטיקה למדעי המחשב.
נא לא להגיב בגוף הודעה זו, התגובות נועדו ליצירת פרקי המשך למאמר זה.
אם יתעורר הצורך, יפתח אשכול תגובות למאמר.
תודה, זיו.
1. כללי
במסגרת מבוא זה ננסה להגדיר מהי תמונה דיגיטלית , ומה ניתן ורצוי לבצע עליה . שאלה זו
והתשובות האפשריות לה מגדירים תחום מחקר ופיתוח מרתק , המוכר בשם הכולל " עיבוד תמונות ".
חשוב לציין כי תחום זה קיים מלכתחילה בעיקר בשל ההתקדמות המטאורית בנושא המיחשוב . כל
העיבודים אותם נכיר במסגרת מבוא זה הינם " דיגיטליים ", דהיינו – אלגוריתמים מבוססי מחשב , וזאת
בניגוד לעיבוד אנלוגי או אופטי . לפיכך , שם ראוי יותר למבוא זה יהיה " עיבוד וניתוח ספרתי של תמונות ".
איפוא אנו פוגשים תמונות ? מדוע כלל חשוב לדון בעיבודן ? אלבום תמונות משפחתי , הטלוויזיה ,
האינטרנט , קריאה בעיתון , פרסומות רחוב ועוד – אלה הם מקורות אשר מתרכזים בהעברת מידע ויזואלי
אלינו . מכנה משותף מרכזי למקורות אלו ואחרים הוא רצונם לנצל את שתי המצלמות המוצבות בפנינו –
העיניים . חוש הראיה מספק לנו בני האדם ולמגוון יצורים אחרים את עיקר המידע על - פיו אנו מתמצאים
במרחב , פועלים , ואפילו חושבים . מחקרים מלמדים שחלק ניכר במוח האדם משמש לעיבוד התמונה
הנקלטת בעיניים , וניתוחה . בהקשר זה , האמירה " תמונה אחת שווה אלף מילים " ממחישה את כמות
האינפורמציה שניתן לדלות מתמונה אופיינית .
כיצד המוח " מעבד " את התמונה ? איזה פעולות התמונה עוברת בדרכה מהחיישנים בעיניים ועד
לגמר עיבוד זה ? שאלות מסוג זה שאלו את עצמם חוקרים במהלך מאה זו . על אף ריבוי המחקרים בתחום
זה , האנושות רחוקה מלהבין את התהליכים המוחיים הכרוכים בטיפול במידע הויזואלי המוזן למוח .
מוטיבציה ראשונה , אם כן , למחקר ב " עיבוד תמונות " הוא הניסיון להבין , ולאחר מכן לחקות את דרך
פעולת המוח ולפתור בעיות הקשורות בעיבוד מידע ויזואלי , אשר ידוע לנו שהמוח פותר . כאמור , הבנתנו
את דרך פעולת המוח בהקשר זה הינה בסיסית ביותר .
מכיוון הפוך , " עיבוד תמונות " עוסקת גם בהגדרת בעיות הקשורות בתמונות ופתרונן ע " י
אלגוריתמים ממוחשבים , תוך ניתוק מהשאלה על דרך פעולתו של המוח . דווקא כיוון זה מניב תוצאות
רבות ואיכותיות , וזהו הכיוון בו " עיבוד תמונה " זכתה בדרך כלל להוות פריצת דרך .
באסופה זו אנו סוקרים פרקי יסוד ב -" עיבוד תמונות ", וגישתנו תהיה כזו המנותקת ממערכת
הראיה . " עיבוד תמונה " אינו תיאוריה מגובשת ! הפרקים אותם נסקור נשענים על תורות שונות ומקורות
שונים . ניתן להתייחס ל - " עיבוד תמונה " כארגז כלים מתוחכמים לפתרון בעיות המתעוררות לפרקים
בטיפול בתמונות דיסקרטיות . זו גם הסיבה שלימוד אמיתי של " עיבוד תמונות " חייב להיות מלווה
בתרגילי מחשב בהם מתרגלים את האלגוריתמים ( כלי העבודה מארגז הכלים ) הנלמדים .
בפרק זה אנו מתחילים את הדיון בהגדרת מהותה של תמונה דיסקרטית , אפיון מקורותיה
ויעדיה . לאחר מכן אנו מזכירים בקצרה את מגוון הפעולות הנחוצות על תמונות , כשאנו מסווגים משימות
אלה לתחומי מחקר שונים שהתגבשו במהלך שני העשורים האחרונים . לסיום פרק זה אנו מזכירים מספר
מצומצם של יישומים המערבים ברמה זו או אחרת עיבוד תמונות .
1.1 תמונה דיגיטלית
על מנת שנוכל להפעיל אלגוריתם על תמונה , נדרש קודם להביאה אל המחשב . אלגוריתם אופייני
יניח כי התמונה הינה קובץ מחשב לכל דבר ! איך נוצר קובץ זה , ואיך הוא קשור לתמונה אמיתית ? ובכן ,
נניח כי נתונה לנו תמונה על נייר – נניח בשלב זה כי התמונה היא תמונת שחור - לבן , כפי שמתואר בציור
.1.1 הרעיון הבסיסי הינו להתייחס לתמונה זו כפונקציה , שלכל מקום במישור (x, y) תייחס " רמת אפור "
וגווני האפור שביניהם יקבלו ,1 ולבן מוחלט הוא גובה 0 אנו נניח כי גוון שחור מוחלט הוא גובה .(f( x, y
ערכים ממשיים בתוך האינטרוול ציור 1.1 מראה כיצד נראית התמונה הן כתמונה והן כפונקציה .
על - פי הציור הנ " ל , הפינה השמאלית העליונה הינה שחור מוחלט ולכן גובהה הוא אפס , והפינה
הימנית התחתונה בעלת גובה 1 בשל היותה לבן מוחלט . בתמונה המתוארת ישנו מעבר חלק משחור ללבן ,
והדבר ניכר גם בתמונה וגם ביריעה בתיאור התלת - מימדי .
הערה : יתכן שבהדפסת התמונה ( צד שמאל של ציור (1.1 ניכרות מדרגות בה . מדרגות אלה אינן חלק
מהתמונה ומקורן במגבלות תהליך ההדפסה , עליו עוד נדבר בהמשך .
ברור כי הפונקציה ( f( x, y מוגדרת מעל תחום הגדרה מוגבל Ω ( תחום התמך של התמונה ),
וחסרת משמעות מחוצה לו . באופן פורמלי יותר נאמר כי התמונה היא התאמה מהצורה הבאה :
כל זה טוב ויפה , אך בודאי לא מאפשר טיפול ספרתי , בשל שתי בעיות :
1. התמונה מוגדרת מעל כל נקודה (x, y) ממשיים בתחום ההגדרה , וזה אומר אינסוף בלתי ניתן למניה של נקודות .
2. בכל נקודה מקבלת הפונקציה ערך ממשי באינטרוול - ערך זה ידרוש ייצוג מדויק ע"י אינסוף סיביות .
שתי בעיות אלו מיתרגמות לצורך בכמות אינסופית של סיביות לשם ייצוג מלא של הפונקציה .
הפתרון לבעיה הראשונה הינו דגימה מרחבית . מושג הדגימה מוכר לנו בהקשר לאותות חד - מימדיים , ואף
ראינו שבמצבים מסוימים ( כשהאות חסום תדר , ומרווח הדגימה נקבע בהתאם לכך ) ניתן לקבוע כי דגימה
אינה מאבדת מידע . גם על אותות דו - מימדיים ניתן ליישם דגימה , כשהפעם ישנו חופש גדול הרבה יותר
לקביעת אופן הדגימה . ציור 1.2 ממחיש שתי צורות דגימה אפשריות , כשכל שמבדיל ביניהם הוא ייחוס
הצירים . בשני המקרים מדובר בדגימה אחידה בשני הצירים , אך בסיבוב שונה ביחס לצירים הראשיים .
קיימות כמובן מגוון אופציות אחרות לדגימה שלא מוזכרות כאן . נושא הדגימה חשוב ואנו נקדיש לו דיון נפרד .
בשלב זה נניח כי מטעמי נוחיות בחרנו לדגום את הפונקציה במרווח D בשני הצירים וכך קיבלנו את האות הדו - מימדי הדיסקרטי הבא :
אנו נסמן בסוגריים מלבניים אותות דיסקרטיים , ובסוגריים עגולים אותות מעל הרצף ( כשאנו מאמצים ,
באופן זה , את סימוניו של פרופ ' בועז פורת בסיפרו על עיבוד אותות ספרתיים ). אם תחום ההגדרה של
התמונה מלבני - ] , Ω = × נמיר
אותן לייצוג בעל מספר סיביות קבוע וידוע מראש . לדוגמה , נוכל להחליט כי כל רמת אפור תיוצג ב - L סיביות ע " י ההמרה
פעולה זו מעבירה כל ערך בתחום לערך שלם
בתחום ]. 2 L − 1[ 0, פעולה זו קרויה קוונטיזציה ( בעברית - כימוי ). ברור כי פעולת הקוונטיזציה מאבדת
מידע ! אבל , בזכות אובדן זה , כעת התמונה הינה מקבץ סופי של סיביות .
התמונה הדיגיטלית אותה בנינו ע " י דגימה וקוונטיזציה מיוצגת ע " י NM נקודות תמונה הקרויות
MNL סיביות . לכן , סך של L ,( וכל אחד מהם מיוצג ע " י Picture Element - קיצור של Pixel) פיקסלים
סיביות נחוץ לאחסונה של התמונה . גדלים אופייניים לגודל תמונה יהיו N, M = 50 לתמונה קטנה
במיוחד , ועד N, M = 10^5 ואף יותר להדמאות לווין ותצלומי אויר . באשר לעומק הקוונטיזציה , ערך
אופייני מאוד הוא ,L= 8 אך ישנם מקורות עם ערכי L גבוהים יותר . כך יוצא שנפח תמונה מינימליסטית
הוא ,2,500Byte תמונה בגודל סביר תצרוך ,100Kbytes – 1Mbyte ותמונות חריגות עשויות להגיע עד
. 10Gbytes
תיאור נפחי המידע הנ " ל מחזיר אותנו לאמירה מתחילת פרק זה על הקשר ההדוק בין
ההתקדמות בעולם המיחשוב ו -" עיבוד תמונות ". גם היכולת לאגור כמויות אלו , וכמובן היכולת לעבדן
מציבים רף גבוה למחשבים . לדוגמה , גם פעולה פשוטה הכרוכה ב - 20 מכפלות לפיקסל בתמונה , הופכת
להיות עצומה כאשר מדובר במליוני פיקסלים .
כל שנאמר עד כה התייחס לתמונות בשחור - לבן . אחת הדרכים המקובלות ביותר לייצוג של
תמונות צבע היא מבנה .RGB כל נקודה (x, y) בתחום ההגדרה של התמונה תקבל לא ערך אחד , כמקודם ,
אלא שלושה ערכים המתייחסים לעוצמות האדום ), Red) הירוק (Green) וכחול ). Blue) ע " י צירופים
בעוצמות שונות של שלושת צבעי יסוד אלה אנו מסוגלים לייצר מגוון רחב מאוד של גוונים . לכן , לאחר
דגימה וקוונטיזציה , במקום מספר אחד בן L סיביות , תמונה צבעונית תדרוש שלושה ערכים כאלו , ולכן
נפחה יהיה גדול פי שלוש . ישנם גם ייצוגים אחרים לתמונות צבע , וקיים דיון מעמיק בכלל בנושא צבע .
במסגרת ספר זה נתמקד בתמונות שחור - לבן עם הצצות חטופות לצבע מפעם לפעם .
כנקודה אחרונה במסגרת סעיף זה נזכיר כי כל האמור לעיל מתייחס לתמונה בודדה – .Still מה
באשר לסרטים ? ובכן , סרט הינו פונקציה של המקום (x, y) אך גם של הזמן .t לכן , סרט היא פונקציה
במימד 3 מהצורה .f( x, y, t) ממש כשם שדגמנו ב - (x, y) נוכל גם לדגום בציר הזמן , וכך יהפוך סרט רצף
לסידרה ארוכה של תמונות .Still קצב הדגימה בציר הזמן נקבע לפי תכונות מערכת הראיה שלנו –
מקובל כי הצגת 30 תמונות בשניה תיצור לעין אנושית ( ולמוח שעובד מאחוריה ) תחושה של רצף . לכן ,
למשל אם תמונה בודדה בסרט היא בגודל של ) 10Kbyte תמונה קטנה של 100 על 100 פיקסלים עם 8
סיביות לפיקסל ), הרי שסרט כזה באורך של שעה ידרוש נפח אחסון של כ - .1Gbyte נפחים אלו הם
הסיבה לעיכוב שחל ב -" עיבוד תמונה " בנושא הטיפול בוידאו . רק בעשור האחרון מעיזים להיכנס לנושא
זה ולהציע כלים ואלגוריתמים לפעולות מורכבות בוידאו .
המשך בתגובה הבאה...
זיו
פורום תכנות
פורום ASP
http://programming.fresh.co.il