You are on page 1of 62

‫אוטומציה‬

‫שיעור ‪ – 12-11‬עיבוד תמונה‬


‫פרופ' סיגל ברמן‪ ,‬המחלקה להנדסת תעשיה וניהול‪,‬‬
‫אוניברסיטת בן גוריון בנגב‬
‫מיכון ‪ -‬עבודה הנעשית באמצעות מכונה (או רכיב תכנה)‬
‫המחליפה עבודה הנעשית בידי אדם או בעל חיים‪.‬‬

‫אוטומציה ‪ -‬טכנולוגיה (מכונה‪ ,‬רכיב תכנה) שיכולה לחזור‬


‫על ביצוע תהליך ללא מעורבות אנושית‪.‬‬

‫אוטומציה גמישה‪ :‬אוטומציה הניתנת לתכנות לביצוע‬


‫תהליכים שונים‪.‬‬

‫מערכות נבונות‪/‬מערכות אוטונומית‪/‬מערכות משולבות‪/‬‬


‫מערכות סייבר פיסיקליות‪ :‬התמודדות עם שינוי בעזרת‬
‫קבלת החלטות‪ ,‬התמודדות עם מידע חלקי בעזרת למידה‬
“All our knowledge
has its origins in our
perceptions”

Leonardo da Vinci
(student of
experience)
‫ראיה מלאכותית‬
‫מצלמה‬ ‫‪‬‬
‫מצלמה‬
‫כרטיס דגימה‬ ‫‪‬‬
‫דיגיטאלית‬ ‫וכימות‬
‫מחשב‬ ‫‪‬‬

‫תכנה‬ ‫‪‬‬
‫ייצוג תמונה במחשב ‪PIXEL -‬‬
‫ייצוג תמונה במחשב ‪ -‬פיסקל‬
‫ראיה אנושית‬
‫תנועת עין מהירה (‪)Saccade‬‬
‫תמונות דו ממדיות‬
‫ייצוג תמונה (פיקסל)‬
‫שחור לבן‪ :‬ייצוג בעזרת ביט אחד‪ ,‬ערכו ‪ 0‬או ‪.1‬‬ ‫‪‬‬

‫רמות אפור‪:‬‬ ‫‪‬‬


‫‪ ‬מספר ביטים ‪.b‬‬
‫‪ ‬סוג המידע‪ :‬שלם חיובי‪ ,‬שלם‪ ,‬ממשי‪ ,‬מרוכב‬
‫‪ ‬כאשר המידע מסוג שלם חיובי‪ :‬מספר הרמות = ‪. 2b‬‬
‫בד"כ ‪ 8‬ביט (‪ 1‬בית)‪ 256 ,‬ערכים‪.0-255 :‬‬ ‫◼‬

‫צבע‪:‬‬ ‫‪‬‬
‫‪ ‬שיטת ‪ .Red, Green, Blue – RGB‬כל צבע מיוצג על ידי‬
‫‪ 8/12/16‬ביטים‪ .‬סה"כ רמות ‪2bX2bX2b‬‬
‫(לדוגמא ‪(224= 16777216 :b=8‬‬
‫‪Hue, Saturation, value/Luminance – HSV/HSL ‬‬
‫‪Cyan, Magenta, Yellow, Black – CMYK ‬‬
‫ייצוג תמונה (שחור לבן)‬

‫‪H‬‬
‫ייצוג תמונה (רמות אפור)‬
‫רמות אפור‬

‫‪ 16‬גוונים‬ ‫‪ 256‬גוונים‬

‫‪ 2‬גוונים‬
‫מספר פיקסלים –רזולוציה מרחבית‬

‫‪512*512‬‬ ‫‪256*256‬‬ ‫‪128*128‬‬ ‫‪64*64‬‬


‫‪VGA‬‬ ‫‪640 x 480‬‬
‫‪SVGA‬‬ ‫‪800 x 600‬‬
‫‪XGA‬‬ ‫‪1024 x 768‬‬
‫‪SXGA‬‬ ‫‪1280 x 1024‬‬
‫‪UXGA‬‬ ‫‪1600 x 1200‬‬
‫‪32*32‬‬ ‫‪16*16‬‬
‫בינריזציה (רמות אפור לשחור לבן)‬
‫גוון אפור גדול שווה ערך הסף מתוייג כלבן (‪ ,)1‬קטן כשחור‬ ‫‪‬‬

‫(‪)0‬‬

‫‪ 64‬גוונים‬
‫ערך סף ‪:30‬‬
‫היסטוגרמה לבחירת ערך סף‬

‫‪ 2^6‬ערכים ‪0-63 -‬‬


‫היסטוגרמה עם ‪ 8‬תאים‪ -‬בכל תא ‪ 8‬ערכים‬

‫‪8‬‬ ‫‪7‬‬ ‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬


‫‪56‬‬ ‫‪48‬‬ ‫‪40‬‬ ‫‪32‬‬ ‫‪24‬‬ ‫‪16‬‬ ‫‪8‬‬ ‫‪0‬‬ ‫מ‬
‫‪63‬‬ ‫‪55‬‬ ‫‪47‬‬ ‫‪39‬‬ ‫‪31‬‬ ‫‪23‬‬ ‫‪15‬‬ ‫‪7‬‬ ‫עד‬
‫‪7‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪12‬‬ ‫‪3‬‬ ‫ערך‬
‫היסטוגרמה לבחירת ערך סף‬

‫היסטוגרמה עם ‪ 8‬תאים‪ -‬בכל תא ‪ 8‬ערכים‬

‫בחירה על פי‬
‫• אוכף‬
‫• ריכוז ערכים‬

‫למשל ערך סף ‪30‬‬


‫הסטוגרמה לבחירת ערך סף‬

‫‪ 2^3‬ערכים ‪0-7 -‬‬


‫היסטוגרמה עם ‪ 5‬תאים‪ -‬בכל תא ערך‬

‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬


‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪8X5-12‬‬

‫למשל ערך סף ‪1‬‬


‫היסטוגרמה אידיאלית‬
‫תמונת צבע ‪RGB -‬‬

‫‪R‬‬

‫‪G‬‬

‫‪B‬‬
‫תמונת צבע ‪HSL -‬‬
H
R

S
G

V
B
‫אחסון התמונה בזיכרון‬
‫זכרון לכל פיקסל מוקצה בהתאם לייצוג הצבע‪.‬‬ ‫‪‬‬

‫גודל התמונה נקבע ע”פ ייצוג הצבע והרזולוציה המרחבית‪.‬‬ ‫‪‬‬

‫דוגמה‪ :‬נתונה תמונה של ‪ 64‬גווני אפור בגודל ‪512*512‬‬


‫פיקסלים‪ .‬כמה זכרון נדרש?‬
‫נדרש ‪( ]bytes[ 196,608 = 6/8*512*512‬אם ניתן לשמור מידע‬
‫באופן רציף)‪.‬‬
‫עומק (תלת מימד)‬

‫פרספקטיבה‬

‫דו מימד‬
‫תמונות עומק (‪ 2.5‬מימדים)‬
‫תמונות תלת מימד (ענן נקודות)‬
‫וידאו‬
‫וידאו‬

Stop motion
‫שלבים בעיבוד תמונה‬

‫הרכשת התמונה (צילום‬


‫והעברה למחשב)‬

‫קדם עיבוד‬

‫יישום‬ ‫עיבוד‬
‫קדם עיבוד ‪ -‬סינון‬
‫סינון‬

‫צבע‬
‫רמות אפור‬
‫שחור לבן‬
‫צבע‬
‫רמות אפור ‪ -‬תשליל‬
‫)‪d(x,y)=(2n-1)-d(x,y‬‬
‫למשל ‪)n=8( 255‬‬ ‫‪‬‬
‫החשכה‬/‫ הבהרה‬- ‫רמות אפור‬
d(x,y)=d(x,y)+constant
if new value > MAX new value =MAX
if new value < 0 new value =0

+30 -30
)‫ ניגודיות (קונטרסט‬- ‫רמות אפור‬

d(x,y)=d(x,y)*+constant
if new value > MAX new value =MAX
if new value < 0 new value =0

‫ גדול יותר הניגודיות עולה‬ -‫ככל ש‬


‫רמות אפור ‪ -‬לניקוי רעשים‬
‫ממוצע‬ ‫‪‬‬

‫חציון‬ ‫‪‬‬

‫הגבלת ערך‬ ‫‪‬‬


‫רמות אפור ‪ -‬מסנני ‪kernel‬‬
‫בעיית הקצוות‬
‫ דוגמה‬- ‫מסנן קרנל‬

Round : ¼*
Round(¼*(6+5))=3
Round(¼*(11+11+17))=10
LP ‫החלקה‬

round: 1/4 * round:1/17 *


‫חידוד ‪HP‬‬
‫שחור לבן ‪ -‬פעולות מורפולוגיות בינאריות‬
‫פעולות מורפולוגיות עיקריות‬
 Erosion: If AND (Pi)=1 then P0=1 else 0
 Dilation: If OR (Pi) = 1 then P0=1 else 0
 Hit-miss: Template matching
If (AND (Pi)=1) AND (AND (Pk)=0) then P0=1 else
0
i structuring elements =1
 K structuring elements = 0
Erosion
Dilation
‫מציאת קצוות‬

If AND (Pi) 1 1 1
then P0=0
1 0 1
else don’t change
1 1 1
‫כיווץ‬
If NOT (AND (Pi)) 1 1 1
then P0=0
else don’t change
1 0 1
1 1 1
‫זיהוי על פי תמונת פנים‬

‫צילום תמונה‬ ‫‪‬‬

‫קדם עיבוד‬ ‫‪‬‬

‫‪ ‬המרה לרמות אפור‬


‫עיבוד ראשוני‬ ‫‪‬‬

‫‪ ‬זיהוי פנים‬
‫‪ ‬הטלת פנים למישור אחיד‬
‫‪ ‬קידוד למשתנים מייצגים (מדידה)‬
‫עיבוד שניוני‬ ‫‪‬‬

‫‪ ‬זיהוי מצולם‬
‫זיהוי פנים בעזרת ‪HOG‬‬
‫‪‬‬‫‪HOG - Histogram of Oriented Gradients‬‬
‫בתמונת רמות האפור עבור כל פיקסל – זיהוי גרדינט הבהירות‬ ‫‪‬‬
‫עיבוד תמונה ‪ -‬שאלה‬
‫חוקר קיבל התמונה הבאה מתוך תמונת‬
‫צבע שצילם בסופרנובה של ‪1987‬‬
‫א‪ .‬מה גודל הזיכרון המינימאלי הנדרש‬
‫במחשב לשם שמירת תמונה זאת‪4( .‬‬
‫נקודות)‬
‫ב‪ .‬החוקר רוצה להפעיל מסנן מציאת‬
‫קצוות על התמונה‪.‬‬
‫‪ )1‬חשב את מקטע התמונה מתקבל‬
‫מהפעלת המסנן על התאים המסומנים‬
‫בריבוע‪ 7 .‬נקודות)‬
‫‪ )2‬האם יש בעיה בתמונה שעלולה לפגע‬
‫בתצואות שיתקבל מן הסינון‪ .‬אם כן הצע‬
‫דרך לפתרון‪ 7( .‬נקודות)‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫מסנן מציאת קצוות‪:‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪If AND (Pi) then P0=0 else don’t change‬‬


‫פיתרון א‬
‫א‪ .‬מה גודל הזיכרון המינימאלי הנדרש במחשב לשם שמירת‬ ‫‪‬‬

‫תמונה זאת‪.‬‬
‫גודל התמונה (כמות פיקסלים)=‪100=10X10‬‬ ‫‪‬‬

‫כל פיקסל צריך ביט בודד לייצוג המידע‬ ‫‪‬‬

‫כמות זיכרון מינימלית נדרשת בבתים (‪:)byte‬‬ ‫‪‬‬

‫‪‬‬ ‫‪Ceil(100*1/8)=13‬‬
‫כמות זכרון בפועל – בתלות במערכת ההפעלה של המחשב‪.‬‬ ‫‪‬‬
‫יישור רגיל כל מילה‪ .‬במערכת של ‪bit 64‬‬
‫‪ 64*100/8=800 byte‬‬
‫פתרון ב‬
A
1 AND 1 1 AND 1 1 AND 1
AND: 1 AND 0 - 1 AND 1 =0
A B C D 1 AND 0 1 AND 1 1 AND 1

E F G H -> don’t change A


I J K L
M N O P

1 1 1
1 0 1
1 1 1
1 1 1
1 0 1
1 1 1

If AND (Pi) then P0=0 else don’t change


‫פתרון ב‬
B
1 AND 1 1 AND 1 1 AND 1
AND: 1 AND 1 - 1 AND 1 =1
1 AND 1 1 AND 1 1 AND 1
A B C D
E F G H -> Set B to zero
I J K L
M N O P

1 1 1
1 0 1
1 1 1
1 1 1
1 0 1
1 1 1

If AND (Pi) then P0=0 else don’t change


‫פתרון ב‬
‫חשב את מקטע התמונה מתקבל מהפעלת המסנן על התאים המסומנים בריבוע‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫פתרון ב‬
‫האם יש בעיה בתמונה שעלולה לפגוע בתוצאות שיתקבל מן הסינון‪ .‬אם כן הצע דרך‬
‫לפתרון‬

‫נראה כי יש מידע גם בקצוות‪ .‬לא ניתן לפתור באופן מלא – אבל יש לרפד התמונה‬
‫באפסים – עבור המסנן המוצע מספיקה שורת אפסים אחת מכל כיוון‪ .‬כך יתאפשר סינון‬
‫של כל התמונה‪ .‬חשוב לבחון את עמדת הצילום ולוודא כי אזור העניין אינו בקצוות‬
‫סעיף ב' שאלה ‪ 4‬מועד א תשפ"ג‬
‫איזה מספר מתחבא בתמונה הנוצרת מהיצוג הבינרי של‬ ‫‪‬‬

‫הוקטור ‪]9,9,9,15,1,1,1[T‬‬
‫סעיף ב' שאלה ‪ 4‬מועד א תשפ"ג‬
‫הוקטור הבינרי‪:‬‬ ‫‪‬‬

‫‪1001‬‬ ‫‪‬‬

‫‪1001‬‬ ‫‪‬‬

‫‪1001‬‬ ‫‪‬‬

‫‪1111‬‬ ‫‪‬‬

‫‪0001‬‬ ‫‪‬‬

‫‪0001‬‬ ‫‪‬‬

‫‪0001‬‬ ‫‪‬‬

‫‪‬‬

‫ואם נתייחס אליו כתמונה – רואים את המספר ‪ 4‬בתמונת שחור‪-‬לבן‬ ‫‪‬‬

You might also like