47
הסריקות בוצעו על ידי הבנק האקדמי , פרויקט של אגודת הסטודנטי ם אוניברסיטת תל אביב נתרם על ידי: יונתן ויינטראוב יישומים בעיבוד תמונה סיכום שי אבידן סמסטר ב' , תש'' ע

יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

  • Upload
    -

  • View
    518

  • Download
    10

Embed Size (px)

Citation preview

Page 1: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

ם, פרויקט של אגודת הסטודנטיהבנק האקדמיהסריקות בוצעו על ידי

אוניברסיטת תל אביב

ויינטראוב יונתןנתרם על ידי:

תמונה בעיבוד יישומים

סיכום

אבידן שי

ע''תש, 'ב סמסטר

Page 2: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

)1,2נושאי מבוא (שיעורים

)Samplingדגימה (בדיגמה השאלות שמעניינות הן:

gבהינתן אות רציף x והייצוג הדגום שלוg sx .

gהאם ניתן לשחזר את • x מתוךg sx

gואיך ניתן לשחזר את • x

רכישת תמונה מורכב ממספר שלבים:Image acquisitionתהליך

fבשלב הראשון פונקציית "האור" של הסצינה x , y עוברת דרך עדשות המצלמה (המתורגמת בצורה – בדרך כלל גאוסיאן שמוריד חלק מהתדרים).Point Spread Functionפרקטית כפילטר

gלאחר מכן התמונה לאחר עדשת המצלמה x , yעוברת קוונטיזציה באמצעות דגימה במרחב

sבאמצעות פונקציית הלמים: x , y= ∑m=−∞

∑n=−∞

x−m , y−n וכןg sx , y =g x , y⋅s x , y .

gלאחר מכן מעבירים את sx , y תחרת קווינטות (לו דווקא לינארי) כדי לקבל את התמונה הדיגיטלית gd x , y

Aliasing קורה כאשר תדר הדגימה קטן הרבה יותר מאשר התדר שלaliasingכזכור מקורס מבוא לניתוח אותות,

האות שדוגמים. במקרה הזה יישנה אמביבלנטיות באות שנדגם. כדי לפתור את בעיה זו ניתן או להעבירLow Pass Filterבשביל להוריד את התדרים הגבוההים לפני הדגימה או לחלופין להעלות את קצב

הדגימה.

איפה זה משפיע? gבדיאגרמת הדגימה שקיבלנו מקבלים כי ל x , y:תיאור ספקטרלי

fולאחר הדגימה בתדר s:

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Imagingf(x,y)Scene Sampling

g(x,y)Image

gs(x,y)Sampled Image Quantitiser

gd(x,y)Digital Image

|G(f)|

f-fmax fmax

|G(f)|

fsfs

Page 3: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

שחזור תמונהfניתן לשחזר את התמונה המקורית x , y מתוךg sx , y בתנאי שלתמונה המקורית מוגבלת

fבתדר וכן שהתדר המקסימלי בתמונה קטן מתדר נייקויסט: s f nyquist=2 f max.

– כי בעיות בפוקוס הן למעשהband-limitedנשים לב שבמצלמות הבעיה היא לא שהתמונה צריכה להיות אלא תדר הדגימה שאינו מספק תנאי ניקויסט.low pass filterסוג של

(או מכפלהsincבתיאוריה כדי לשחזר את התמונה המקורית בתיאוריה צריך לעשות קונבולוציה עם

Hבפונקציית חלון f ={1 ; ∣ f∣≤ f max

0otherwise(

ולכן לא ניתן להשתמש בפונקציית החלון האידיאלי אלא לבצע קירובים

)Resamplingדגימה מתמונה אחת כדי לייצר תמונה שנייה (Resampling.הוא תהליך שבו מתמירים תמונה דגומה ממערכת קורדינטות אחת לשנייה

, סיבוב.scaleלדוגמה:

שלבים:4 בנוי מ-Resamplingבגדול

f מהתמונה הדגומה את התמונה המקורית משחזריםראשית • f c כאשר)f cהיא תמונה רציפה).

fהרצוייה ההתמרה לאחר מכן מבצעים את • c gc

,Low-Pass Filterבגלל ההתמרה (באמצעות gc שנוצרו במורידים את התדרים הגבוהיםעתה •)LPFלרוב משתמשים בגאוסיאן כ

gc את התמונה: דוגמיםולאחר מכן • g

אינטרפולציהfישנן מספר דרכים לעבור מהתמונה הדגומה לתמונה הרציפה: f c.באמצעות אינטרפולציה

f לאות רציף xkבצורה כללית אינטרפוליצה היא המעבר מאות דגום x : f x =∑

kC k⋅h x−xk .

C” של האינטרפולציה,kernelכאשר הסכום הוא על גודל ה" kהם משקולות, וhהוא ה kernel.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

|G(f)|

fsfs

H

Page 4: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

דוגמאות לאינטרפולציות:•Nearest Nabor-

f x = f xk ;xk−1 xk

2≤x≤

xkxk12

.

.x בתדר ובציר hכאשר צורת הגרעין צורת הפילטר פשוטהxניתן לראות כי למרות שבציר

Aliasing בעל תוחלת תדר מאוד גדולה ולכן עלול לגרום לבעיה של sincבציר התדר מתקבל -biאינטרפולציה לינראית (או בדו ממד נקרא •

linear interpolation ( ניתן לראות כי האינטרפולציה הזאת מכניסה פחות

תדרים גבוהים לתמונה ולכן "יותר טובה" משתמשת ביותר פיקסלים –cubicאינטרפולציית •

הכללה של פונקצייה לינארית

Warping משתמשים בטרנספורמציה גיאומטרית כדי להגדיר מחדש את היחס המרחבי ביןwarpingבתהליך ה

נקודות בתמונה – למשל מתיחה וכיווץ. שואל כל פיקסל מאיפה הוא בא ולאן הוא הולך –warping הוא שwarping לResamplingההבדל בין

כדי לקבלresamplingלעיתים מיקום הפיקסל (אינדקס הפיקסל) הוא לא מספר שלם וצריך להשתמש בערך במיקום פיקסל.

.photoshop לוקאלי כמו שעושים בwarping גלובלי – למשל כיווץ וWarpingנשים לב כי ניתן לעשות

: Warping שיטות לבצע 2ישנן •Forwardשבו שואלים על כל פיקסל בנקודת המקור מה מיקומו בנקודת היעד •Backward.שבו שואלים על כל פיקסל בנקודת היעד מאיפה היא מגיעה

ייתכנו בתמונת היעד forward כי כאשר עושים forward יותר טוב מ Backward נשים לב שבדרך כלל "חורים" שבהם לא קובעים ערכים של פיקסלים בתמונת היעד או מקרים שבהם פיקסלים בתמונת המקור

לא מגיעים לפיקסל מלא בתמונת היעד (למשל בגלל שהוא לא נופל "בול" בתוך פיקסל בתמונת היעד)

Feature Based Image Metamorphosis – Beier & Neelyמאמר מנחה:

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Xf

Xf

Page 5: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

נקודות2דוגמה: מעבר בין מערכות קורדינטות המוגדרות באמצעות וכן בתמונתQ,P נקודות 2נניח כי בתמונת המקור מוגדרות

Qהיעד ' , P '. פיקסלים מתמונה לתמונה.forwardנרצה להעביר בשיטת

השיטה לעשות כן היא להשתמש בקו המחבר את הנקודותP,Q כווקטור u וקו מאונך לו כווקטור .v.

במערכתxעתה נוכל לנסח את כל הנקודות בתמונת המקור .u-vהקורדינטות

xולבסוף לקבוע את מיקום הפיקסל בתמונת היעד במערכת הקורדינטות החדשה.'

u∣=x−P∣כלומר ⋅ Q−P∣∣Q−P∣∣2

,∣v∣=x−P⋅Prependicular Q−P ∣∣Q−P∣∣

ואז

x '=P '∣u∣Q '−P ' ∣v∣⋅Prependicular Q '−P ' ∣∣Q '−P '∣∣

. scaling נשים לב שהתמרה זו מגדירה טרנסלציה, רוטציה וכן

מה קורה כשיש אוסף קווים בתומנה – התמרות לוקאליותעבור מספר קווים המוגדרים בתמונה.

xראשית מחשבים את המיקום בתמונת היעד לפי כל קו (בשיטה הקודמת) x i . ואז מיקום הסופי של'

xהפיקסל בתמונה החדשה הוא לפי ממוצע משקולות לכל הקוים: '=∑ w i⋅x i '

∑ wi

.

כאשר את המשקל מחשבים לפי Length p

adist b

הואlength הם קבועים שנקבעים מראש a,b,p, כאשר

−Q∣∣אורך הקו p∣∣וdistהוא המרחק של הנקודה מהקטע (קרי מהנקודה לקו או מהנקודה לנקודות הקצה – הקטן מביניהם.

- מגדירים לכל פיקסל משקל לפי כל קו ואז מיקום הנקודה בתמונה החדשה

Morphing – כלומר ברמות העפור.radiometically תמונות, כאשר העירבוב נעשה 2עירבוב של פיקסלים בין

תמונות כך שהתמונה שמתקבלת תראה "טובה"2האתגר הוא – איך לערבב רמות עפור בין

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Q

P

Q’

P’

SRC DST

uv

u

v

Page 6: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

)4,8,9פרמידות (שיעורים בתמונה יישנן כמה סקאלות של מידע החל מהפרטים הקטנים ביותר ועד לצורה וצבעים הכלליים

שבתמונה. פרמידות נועדו כדי לפרק את התמונה לסקאלות השונות ולבצע פעולות של עיבוד \ דחיסה בכלאחת מהסקאלות.

פרמידת גאוסיאניתהתכונות שנרצה מהפרמידה:

) בכל רמה ישאר זהה.local image meanנרצה שהממוצע המקומי (•נרצה שהפרמידה לא תהיה מותת לשום כיוון.•נרצה שכל פיקסל יתרום במידה שווה לשלב הבא בפרמידה.•

wאת הפרמידה ניצור באמצעות קונבולוציה של גרעין iעם התמונה. התכונות שנרצה מהw i:

∑נרמול • wi=1

wסימטריה: • i=w−i

wנרצה שהמשקולות ילכו וידאכו ככל שמתרחקים מהפיקסל המרכזי: • i≥w j ; ∀0i j

מצויין הווקטור שאיתו נבצע קונבולוציה בפועל.2בתרגיל בית

פרמידת לפלס)2(ניתן להעזר בתרגיל בית

Gi1 לקבלת תמונה מוחלקת LPF עם פילטר Giבפרמידת לפלס בכל שלב מחליקים את התמונה

Li=Gi−Gומחסרים את התמונות i1שומרים את כל ה .Li.זו היא פרמידת לפלס -

(על רגל אחת)Waveletsגלונים

Laplacian Pyramidפיתוח כהכללה של ומחסריםupsampling). לאחר מכן Corse (נקרא downsamplingהרעיון הוא לקחת תמונה, לעשות

).Fineוהתמונה החדשה את התמונה המקורית, שומרים את תמונת ההפרשים (נקרא .corseניתן לעשות את התהליך שוב ושוב מתמונות ה

בלבד – זו היא מטריצה שרובה היא אפסים וחלק קטן ממנה מכילfineהדיחסה מתבצעת ע"י שמירת המידע.

פיקסלים (עבור כל שכבה שלn3צריך לשמור n×nהבעיה בפרמידות לפלס היא שעבור מתמונה downsampling.נצטרך למצוא פיתרון יעיל יותר – (

Waveletנפתח טרנספורם wavelet פיקסלים) המעביר את הפיקסלים מהתמונה אל ה2נתחיל עם טרנספורם פשוט (עבור תמונה של

D1=12 [1 1

1 D1נשים לב שהמעבר ההפוך זהה להתמרה המקורית - [1−−1=D1הפאקטור) .

12(הוא בשביל שהבסיס יהיה אורטונורמלי

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 7: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

=D1⋅[ab]נפעיל את האופרטור על תמונה ונקבל: 12 [ab

a−b]=[ cd ]- כאשר [ cd הינו התמונהב[

wavelet.Cיהיה ה – corseו ,Dיקרא ה- detail.(יכיל את הפרטים ברזולוציה גבוהה)

.Wavelet Function קוראים HPF. ולחלק שהוא Scaling Function בשם LPFקוראים לחלק שהוא

איבריםMבהכלל ל-V בהינתן [M נקבל[

c [N ]= 12

V [2N ]V [2N1] ; d [N ]= 12

V [2N ]−V [2N1] ; N=0,1,2... , N−1

וכןc – סכימה )על C (להפעיל את LPF. להריץ d וגם את c גם את 0כדי לשחזר יש להכניס (לדלל) ב-HPF להפעיל את) d חיסור) על - d.ולחשב את הסכום וההפרשים

=cלדוגמה 12

[3711 יהפוך ל[...12

[0307011 LPFולאחר מכן [... c=12[3,3,7,7....]

(dכנ"ל לגבי 12

[0−10−10−1...]HPF d =12 )ואז התמונה המקורית תתקבל[...1−11−1]

V=LPFלפי c −HPF d .

=D2(הכללה מטריציונית: 12 [1 1 0 0

0 0 1 11 −1 0 00 0 1 −1](

ומבצעים עליה את אותו התהליך ואז מקבלים תמונות במספרLPFבמספר רזויולציות לוקחים את תמונת הרזולוציות.

כדי לעבור לתמונות דו ממד יש לבצע את התהליך בכל מימד בנפרד (מימד ורטיקלי והרוזנטלי). ועליה מבצעיםY ובציר X בציר LowPassכאשר באיטרציה הבאה לוקחים את הרביע של התמונה שהוא

שוב את הפירוק.

) Harwavelet גודל התמונה נשמר (בניגוד לפרמידות לפלס) (פירוק זה נקרא Wavelet נשים לב שב

הסתכלות נוספת0,1]נסתכל על סיגנל חד ממדי בקטע נפרק אותו באופן הבא:(

0,1]לפונקציה קבועה בקטע • V- נקרא לפונקציה זו( 0 ,

[0,1/2] בקטעים peasewise constantלפונקציה • ,[1 פיקסלים) פונקציה זו2(תמונה של [2,1/Vתקרא 1

וכן הלאה•

Vמתקיימים הקשרים 1=V 0W 1 ; V 2=V 1W wavelet נקרא w ולscaling כ Vכאשר נקרא ל2

www.mymentor.co.il/yonatan /לסיכומים נוספים:

LL LH

HL HH

Original Image

LH

HL HH

LL

LH

HL

HH

Page 8: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

בצורה יותר פורמלית.[0,1]עבור תמונות חד ממדיות, נתייחס לתמונה כפונקציה הקבועה למקוטעין בקטע

תמונה של פיקסל אחד היא פונקציה קבועה על המקטע. את המרחב הווקטורי של כל הפונקציות הללו נסמןVב 0.

[0,1/2] ערכים קבועים במקטעים 2 פיקסלים מכילה 2תמונה של ,[1 . מרחב הפונקציות הללו[2,1/Vיקרא 1.

2בהכללה פונקציה בעלת j2מקטעים היא כל הפונקציות הקבועות למקוטעין ב j.מקטעים

Vניתן לראות כי המרחבים הווקטורים מקיימים: 0⊂V 1⊂...⊂V 2 j

.

נמצא בסיסVנגדיר בסיס למרחב ווקטורי j בסיס זה נקרא) Scaling Function.(

...,i=0הבסיס הטבעי יהיה ,2 j−1e i

j x=2 j x−i כאשר

x={1 0≤x10 otherwise

e0לדוגמה 1 ; e1

1

wנגדיר מרחב ווקטורי j) כמשלים האוגתוגונליorthogonal complement של (V j לV j1

Wנגדיר בסיס ל j :ij x ונקרא לו בסיסwavelets:(גלונים) כך ש

iאברי הבסיס •j יחד עםe i

j מהווים בסיס לv j1

iכל פונקציות הבסיס •j אורתוגונליות לאברי הבסיס של המרחבv j(לפי מכפלה פנימית)

i באופן הבא: Hear Waveletנגדיר j=2 j x−i ; x={

1 0≤ x1/2−1 1/2≤x10 otherwise

בדוגמה הקודמת

נוכל לראות בדוגמה מספרית כי כאשר מפרקים תמונה לסכוםI= e0

0 x000

0x 010

1 x111

1 x-ניתן לזרוק0. כאשר האיברים שבסוף הטור הולכים ל , ) peaswise smoothאותם ולקבל דחיסה (תחת ההנחה כי התמונה היא

– באמצעות פילטרים לתמונהWaveletsהסתכלות נוספת על fine level :f הוא הf ו Course level הוא c, כאשר mנניח תמונה =m−c כאשר .c=U⋅D⋅m)U

)downsampling היא מטריצת הD, וכן upsamplingהינה מטריצה שבאמצעותה עושים .waveletמגדירה את סוג הUDהמכפלה

=D⋅Uבמקרה האידיאלי נרצה I.(המכפלה שלהם תהיה מטריצת היחידה)

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X

e

X

e

1/2 1/2 1

X

psi0

X

e0

1/2 1/2 1

Page 9: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

UD2=UDUD=Uאנחנו יודעים כי DU Dולכן UD f =DUM −U DUDM =UDM−UDM UD של nullspace נמצא בfכלומר 0=

)UD אורטוגונלי למרחב שפורש את f ולכן 0 ל-f שולחת את UD(הטרנספורמציה

)8לעבור על השקפים באתר (שיעור

תכנון פילטרscaling [aנסתכל על פילטר ,b , c , d להשלים.[

U-upsampling matrix, D -downsampling matrix (UD=Iנרצה כי הטרנספורם יקיים (

בנוסף נוסיף אילוצים ל..להשלים

וקיבלנו פילטר. (שינויי קטן בתמונה לא גורר איברים גבוהים בייצוג של הhaarהפילטר הזה יותר טוב כי הוא יותר חלק מ

wavelet(כמו שבשקף הראשון שבמצגת

Waveletהוצעת רעשים באמצעות לכל המקדמים בבת אחת0 לכיוון ה-waveletהרעיון הוא הקטנה של הערכים ב

The Lifting Scheme מודרני – Waveletתכנון טובה.waveletבניגוד לתכנון שעשו עד כה והוא להוסיף אילוצים עד שיוצאת מטריצת

=PG0איברים. נסמן N=2n ווקטור בגודל xעתה נקח x

PG1=PGונקרא להם:PG0עתה נבחר רק את האיברים הזוגיים שבeven0.

PGכדי לנבא את PG1עתה נשתמש באיברים שבeven0:f PG1≈PG

odd 0ונחשב את PWהשגיאה: 0=PG

odd 0− f PG 1.

f ואז nearest naborדוגמה לניבוי טריוויאלי הוא PG1=PG 1.

wטובות יותר, למשל: prediction fכעת ניתן להגדיר פונקציות [k ]= xodd [ k ]− ∑j=−L

L

k xeven[ k− j ]

w :minכך שנקבל מנימיזציה על כאשר נרצה לבחור מקדמים 1,. .n

∑k=1

N /2 [ xodd [ k ]− ∑j=−L

L

j xeven [ k− j ]]2

.,1אחרי שחשבנו את .. ,nעבור הרמה הראשונה, נוכל למחזר את אותם המקדמים בשביל לדחוס את הרמה השניה וגודל התמונה קטן בחצי שוב.

xevenלפי xevenשיפור נוסף הוא, לאחר שמצאנו את המקדמים, נוכל לעדכן את ה '=xeveng w. לפני סיום החישוב כדי שיהיה חלק יותר ולכן בעל פוטנציאלxevenהרעיון בצעד זה הוא להיטיב את האות

דחיסה טוב יותר. g) במקום Predict (לשםP נכתוב f הן לינאריות נקבל (במקום g והתיקון fאם נניח שפונקציית החיזוי

w=X) ואז: Update (לשם Uנכתוב odd−P X evenוכן X even '=X evenU w=X evenU xodd−UP X even.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 10: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

]ובכתיב מטריציוני: wxeven ' ]=[ I −P

U I−UP][ X odd

X even].כלומר אנחנו עוברים מבסיס לבסיס יותר קומפקטי -

במקום הפונקציות הלינאריותPCAלכעורה היה ניתן להשתמש ב

Scale SpaceScale Space יש תיאור יותר מלא של 9בשיעור

SIFT – Scale Invariant Feature Transform חיפוש – Feature בתמונה ודרך לתאר אותן ?Scale Spaceמה ניתן לעשות באמצעות

•Edge detection •Blob detection למעשה כל – Edge כשמסתקלים עליו מרחוק נראה כמו Blob•Anisotropic Diffusion שיטה של החלקה ביחד עם – edge detectionבסוף השיעור נקשור את .

Anisotropic Diffusion עם Robust Statistics ו Line Processבדומה ל) bilateral filter.( Anisotropic ולכן נוכל לחשוב על Robust Statistics ל Bilateral Filterהראנו בעבר קשר בין

Diffusion כי Bilateral Filter

כל הדוגמאות יהיו בסיגנל חד ממדי

Edge Detectionנניח אות, ונסתכל על הנגזרת והנגזרת השנייה

Zero-crossingבשיטת לוקחים תמונה מריצים עליה נגזרת שנייה (לפלסייאן) ומחפשים פיקסלים

שבהם הנגזרת מתאפסת (פיקלים סמוכים שהלפלסיאן שלהם עם סימןהפוך

– קודםLOG – Laplacian of Gausianבפועל משתמשים בשיטת מחליקים את התמונה עם גאוסיאן ואז עושים לפלסיאן?

למה? כדי שרעש לא יכניס לנו ארטיפקטים.בפועל הפעלה של גאוסיאן או החלקת התמונה קובעים את הסקאלה (

Scale space.(

שאותוLOGמהלינאריות של גזירה ולפלסיאן ניתן ליצור אופרטור בודד .DoG קצת מסובך למימוש ולכן מקרבים אותו ע"י LOGמריצים על התמונה. בפועל

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X

I(X)

X

I’(X

)

X

I’’(X

)

Page 11: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Blob Detection שמסתכלים עליו מרחוק:edge הוא bolbהטענה היא ש

הופךblob (כלומר הblob מתקבל כ נגזרת שנייה שלילית מאוד חזקה בנקודה שבה נמצא מרכז הblobה), כמה היינו צריכים לטשטש כדי לקבל את המינמום החזק (סקאלת השטשוט) מגדיר את גודל הEdgeל

blob. מגדיר שטח – נוכל לסמן בלובים בתמונות שאותו העצם מופיעBlob? כי edge יותר חשוב מBlobלמה

תמונות בגדלים שונים – נוכל2בשתיהם (בלי קשר לגודל של התמונה) אחרי שזהינו בלוב עם שטח ב)Recognizing Panoramas (למשל במאמר Featuresלנרמל את הגודל של התמונות וגם נוכל לזהות

נוכלedge קלים אחד מטשטש ואח מוצא 2 בסקאלות גדולות ולכן אם יש לנו edge הופך לBlobאבל Blobלמצוא

זז כאשר מחליקיםEdge היא שהlinear Scale Space – הבעיה בLinear scale spaceעד פה עשינו .edgeיותר ויותר. בנוסף התמונה נעשת חלקה יותר ויותר קשה למצוא בה

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X

I(X)

X

I’’(X

)

X

I(X)

X

I’’(X

)

From Far away

Blob Detected!

Page 12: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Retargeting– 3,4 שינוי גודל התמונה (שיעור( הבעיה: נרצה לעשות שינוי בגודל התמונה (הקטנה או הגדלה) בהתחשב בתוכן שהתמונה

).נרצה ששינוי הגודל לא "יכווץ" או ימרח את האלמנטים – ובגדולcontent-awareמציגה (שהתמונה תראה טוב. נדון במספר שיטות

Seam Carving אומרת Seam Carving עמודות). השיטה של k (ולהוריד X נרצה לכווץ תמונה בציר

שכל פעם נמצא מסלול שאותו נשמיט מהתמונה לפי פונקציית מכיר מסויימת - (זאת שמוריד את העמודות שבצדדים). crop סוג של הכללה ל

מאמר עיקרי:

(מסלול)Seamהגדרה של }=sx מוגדר לפי sמסלול s i

x}i=1m ={ x ii x}i=1

m ; such that∀ i ∣x i − x i−1∣1 .x i הינה מהו העמודה המתאימה לוiפונקציה שאומרת עבור כל פיקסל

צריך להיות קשיר (קו אחד), וחייב להיות "חד חד ערכי"seamבצורה אינטואיטיבית (הקווים האדומים לא טובים)

פונקציית השגיאה \ המשקל ינסהseam לכל פיקסל בתמונה – ככל שפונקציה זו גבוהה יותר כך הEנגדיר פונקציית שגיאה \ מכיר

לעקוף את הפיקסל ולהשאיר אותו בתמונה. יישנן כמה שיטות להגדיר את פונקציית השגיאהלפי קירבה למרכז התמונה•∇=Eגרדיאנט בתמונה • Iכלומר גילוי של קצוות ושימורם (שיטה לוקאלית) – כנראה השיטה -

הטובה ביותר.

באמצעות שכיחות הצבע בתמונה •1

H I

חיפוש אובייקטים משמעותייםmachine visionבאמצעות •

מציאת מסלול השגיאה המינימליs*=argminהעובר על הפיקסלים עם השגיאה המינימלית: *sנרצה למצוא את המסלול

sE s.

וכן בתרגיל בית3 ממומש במצגת של שיעור dynamic programingהאלגוריתם שממש זאת ומהר נקרא 3:

עבור כל פיקסל בשורה השנייה מוסיפים לערך של השגיאה בפיקסל את הערך המינימלי של השגיאה באמצעות מטריצת השגיאהmבפיקסל הקודם וכן הלאה עד סוף התמונה. בצורה פורמלית בונים מטריצה

e m i , j =e i , j min[mi−1, j−1 ,m i−1, j ,m i−1, j1]

בשורה האחרונה נבחר הפיקסל על המכיר הקטן ביותר, ונלך אחורה בכל שורה נבחר את הפיקסל עםהערך הקטן ביותר.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 13: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

הרחבות דרכים לפעול:2, ישנן כדי להוריד יותר מעמודה אחת•

כל פעם מחדש – בפועל זה השיטה שבשימושEלהוריד עמודה עמודה ולחשב את • ולהוריד כל פעם עמודה.Eלהשתמש באותו ה•

•Seam Curving לניפוח תמונה: המסלוללים באנרגיה הנמוכה ביותר ונשכפלn פיקסלים, נמצא את הnכדי להגדיל את התמונה ב

אותם פעמיים.

מגבלות השיטה שיטה זו לא משמרת קוים אלכסוניים ומבנים בתמונה ולכן יכולה ליצור

ארטיפקטים. (לא טובה לכיווץ פנים או גופים מורכבים):3 בשיעור 27 מתוך שקף

Non Homogeneous Image Warping ) ואנחנו רוצים לקווץ את היריאה. S נחשוב על התמונה כאל יריאת גומי אלסטית (האלסטיות נקבעת לפי

המקומות האלסטיים יותר יתכווצו יותר.

פונקציית המחירS=I) נקבע לפי הגרדיאנטים (נגזרות שבתמונה) Sאת האלסטיות של כל פיקסל (פונקציה x

2I y2.

האלגוריתםmלגודל mxnשתקטין את התמונה מגודל F התאמה Warpנחפש פונקציית '×n F(הפונקציה '

אומרת כל פיקסל מפונקציית המקור לאן הוא הולך בתמונה המוקטנת, במקרה הטריוויאליF x , y = x , y.(

Fנסמן x , y =F x x , y , F y x , y :ודרוש כי הפונקצייה תקיים את התנאי השפה הבאים F x 0=0 ; F x m=m ' ; F y 0=0 ; F y n=n ).x,y(לא שהנגזרות יתאפסו אלא שרכיבי '

x בסביבה של הנקודה Fבצורה פורמלית, נסתכל על התנהגות של , y ונמדוד את טיב של Fעל פי ):F הוא המישור המשיק למשיק לפונקציהFהיעקוביין (היעקוביאן ל

J f x , y = F x

, F y = F x

x F x

y F y

x F y

yנרצה שהיעקוביאן יהיה מטריצת היחידה (כי .

Fהטרנספורמציה הטריוויאלית שאינה מעוותת x , y =x , y :מקיימתJ f=1 00 1אנחנו כמובן .

כדיSלא יכולים לדאוג שהיעקובייאן יהיה מטריצת היחידה בכל מקום ולכן נשתמש בפונקציית המשקל :Eלמשקל את הרצון לקירבה למטריצת היחידה בפיקסלים השונים ולקבל פונקציית שגיאה

E f = ∬x=0, y=0

s x , y ∣∣J f x , y−1 00 1∣∣

2

dxdy.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 14: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Fדסקרטיזציה ומציאת Mנבצע דסקרטיזציה: נגדיר שריג v , E ,Q עם קודקודיםV קשתות ,E ומרובעים Qכאשר נתון .

V=[Vהמיקומים של 0,. .. ,V end Vואנחנו מחפשים מיקומים חדשים [ '=[V 0 ' ,... ,V ' end כך ש[

F V i=V i את הנגזרת נקרב באופן הבא: 'F x

v i=v i '−v j ), בצורה דומהi לימין j(כאשר פיקסל '

.yעבור ציר

Eעתה פונקציית המכיר תהיה: f =∑i , j

S v i∣∣V ' i−V ' j−V i−V j∣∣2

משמעות הפונקציית המחיר 1. לדוגמה בדחיסה של s יישמר עד כדי פונקציית המחיר i השכנים לjהיא שנרצה שהמרחק בין הפיקסלים

V פיקסלים סמוכים 2 נרצה שהמרחק בין 10ל- i−V j=10.

בסופו של דבר אנחנו פותרים אוסף של הרבה משוואות ליניאריות דלילה ממושקלת.

הרחבה לצורך שימור צורות בתמונהEשיטה נוספת: f =∬ s∣∣J F−kI∣∣21−k ∣∣J F−A∣∣2כאשר

k=min scailing factor x , scaling factor y ,A=scaling factor x 00 scailing factor y.

J ינסה למקסם את האיבר f גבוהה sהמשמעות של הפונקציה הזו היא שעבור משקל F−kIכלומר עבור ריבוע בתמונה המקורית הפונקציה תנסה לשמור על הצורה הריבועית. עבור משקל קטן ימוקסם האיבר

J F−A) שפירושו למחוץ את הריבוע בתמונה למלבן בהתאם ליחס המתיחה הרצויscaling factor(

Bidirectional Similarity (תלאי ריבועי), נסתכל על הריבועים שבתמונת patches עבודה עם

המקור ועל אילו שבתמונת היעד. מצד אחד נרצה שכל התלאים מתמונת ), מצד שני נרצה שכל התלאים Complete המקור יופיעו בתמונת היעד (

) – כלומר Coherent מתמונת היעד יהיה להם ביסוס בתמונת המקור (שלא יווצרו ארטיפקטים.

אינטואיציה: אם יש לנו שטח שחוזר על עצמו והוא לא מעניין (למשל שמיים) אזי יהיו בו מלא תלאים זהים –נוכל לוותר על חלק מהם מבלי לפגוע באיכות התמונה ובכך לכווץ אותה.

Simakov et al. 2008מאמר עיקרי:

)Coherence ו Complete תמונות (2מדד לדימיון בין

•Complete(מדד לשימור המידע לאחר הכיווץ) d complete=1N s

∑P∈S

minQ∈T

D P ,Q

S ,הוא תמונת המקור T ,הוא תמונת היעד P ,הוא תלאי בתמונת המקור Q ,תלאי ביעד Dפונקצית Nמרחק \ דמיון בין תלאים, s מספר התלאים בתמונת המקור. הסבר: עבור כל תלאיPבתמונת ) בתמונת היעד ונסכום אםD המתאים לו ביותר (לפי פונקציית המרחק Qהמקור נחפש את התלאי

לרוב יהיה מרחק ברמות עפור)Dהמרחקים של התלאים הטובים ביותר. (

•Coherent (מדד לאי ארטיפקטים) d cohereS ,T = 1N T

∑Q∈T

minP∈S

D Q , P .N Tמספר

התלאים בתמונת היעד. הסבר: עבור כל תלאי בתמונת היעד נחפש את התלאי הדומה לו ביותרבתמונת המקור ונסכום את המרחקים המינמליים הללו.

d התמונות נקבע לפי 2בסה"כ הציון לדימיון בין S ,T =d completed coherent.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 15: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

האופטמיזציה ופיתרונהבעית עד כאן הגדרנו את האופן שבו אנחנו מודדים את טיב הצלחת השיטה – איך נכווץ?

דגשים: פיקסלים כדי למנוע עיוותים בסקאלות גדולות.30 על 30 ועד 5 על 5 מ-נגדיר כמה גדלי תלאים•נקטין באיטרציות, בכל פעם מקטינים מאט, פותרים את בעיית האופטמיזציה ומקטינים שוב• Seamנניח כי יש לנו ניחוש התחלתי לגבי תמונת המקור המוקטנת (באמצעות שיטה אחרת כמו •

Curvingנתקן את הניחוש באמצעות האלגוריתם המוצע כאשר את התיקון גם כן מבצעים .( באיטרציות.

T) T בתמונת היעד qנסתכל על פיקסל qונשאל מה הצבע שלו צריך להיות כדי להקטין את (

Eפונקציית השגיאה: T q= 1N s

∑j=1

n

S p i−T q 2 1N T

∑i=1

m

S p i−T q2 .

1(Competence :1N s

∑j=1

n

S pi−T q2 .N sהינו סה"כ מספר התלאים בתמונת המקור

Pנסתכל על כל התלאים • i המתאימים (כלומר בעלי מרחקD Qi=minמינימלי:

Q∈TD P i ,Q לתלאים (Qi כאשרq

) כאילו n ישנם(התלאים הכחולים בסרטוט -Qiבתוך התלאי

pבתלאים הללו נסתכל על הפיקסלים • iשנמצאים במקום (במקום היחסי ביחס למיקום התלאי)qהמקבלי לפיקסל

q Tהערך שיקבל הפיקסל • q יהיה כזה שהפיקסליםp i

יסכימו עליו (וזה הביטוי המוקף בירוק)

2(Coherence:1N T

∑i=1

m

S Pi−T q2 .N Tהינו סה"כ מספר התלאים

בתמונת היעד)

כאילו) m (ישנם qשמכילים את Qiנסתכל על כל התלאים •

Pנסתכל על התלאים • i המתאימים לתלאים הללוP i=minP

DQi , P

pבתלאים הללו נסתכל על הפיקסלים • iשנמצאים במקום q T. הערך שיקבל הפיקסל qהמקבלי לפיקסל q

pיהיה כזה שהפיקסלים iיסכימו עליו (וזה הביטוי המוקף בירוק)

Tכדי לקבל מינימום על האנרגיה גוזרים את הביטוי לפי q-0ומשווים ל:

T q=

1N s

∑j=1

n

S pi1N T

∑i=1

m

S p i

n/N sm /N t

www.mymentor.co.il/yonatan /לסיכומים נוספים:

q

S T

P1 P2 Q1Q2

q

S T

p1 p2

q

T

Q1Q2

q

S T

p1 p2 Q1Q2P1 P2

Page 16: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Shift Map data term (בשקפים) יש תיאור חלקי של השיטה אני אוסיף כאן מספר מילים על ה3בהרצאה מספר

שפחות ברור בהרצאה.

תפקידו כפולdata term שומר מיקומים יחסיים ובגלל שזו שיטה דיסקרטית, הShift Mapבגלל שה

Eמצד אחד נרצה שההתמרות ייהו שלמות: D1={0 ; t x∈ℤ , t y∈ℤ∞ ; otherwise.

לנתונים, למשל שהשורה הראשונה תותמר אך ורק לשורה הראשונהconstrainsמצד שני נרצה לקבוע

E(שהגבולות יהיו כשיכים: D2={0 ; u=0, t x=0, t y=0∞ ; otherwise.או כל מגבלה אחרת שנבחר

שמתואר לקראת סוף הסיכום.Graph Cuts פותרים באמצעות Shift Mapאת

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 17: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Image Composition 4,5(שיעורים(). נבחן מספר שיטות4,5הבעיה: נרצה לקחת חלק מתמונה ולשתול אותו בתמונה אחרת. (שיעורים

Image Blending תמונות + תמונה בינארית המציינת איזה איבר רוצים לשתול:2נתונות

:Alpha Blanding תמונות אילו לתמונה אחת ע"י 2נוכל לאחד את I blend= I left1− I right הבעיה היא איך למצוא פונקציית משקל -.מתאימה

אם פונקציה זו חדה מדיי נקודות התפר יוצאים חדים וניתן לראות בבירור איפה נעשההחיתוך:

:Ghostsאם הפונקציה חלקה מדיי נקבל תופעה של "רוחות רפאים"

מתקבלת עם כן עבור חלקות "החלקות" האופטימלית של . ולכן שיטה של עירבוב במספר סקאלותBlendשהיא מסדר כגודל של האובייקטים שרוצים לעשות להם

) תבצע עירבוב שונה בכל סקאלה.2בהתאם לפרמידות לפלס ופרמידות גאוסיאניות (ראה תרגיל בית האלגוריתם הוא:

LAבנה פרמידות לפלס לכל תמונה )1 , LB

Mask GRבנה פרמידת גאוסיאן ל)2

LSבכל רמה בפרמידה חשב: )3 i , j =GR i , j LAi , j1−Gr i , j LB i , j

.S את התמונה הסופית LSבנה מהפרמידת לפלס המשולבת )4

)Poisson Image Editingעריכה במרחב הגרדיאנטים ( נותנת תוצאה לא כלכך טובה.. עדיף להשתמש בעריכה במרחב הגרדיאנטים. השלבים Blending עריכת

הם (עובדים על כל ערוץ צבע בנפרד) להפוך את התמונה לתמונת נגזרת• לבצע פעולות כלשהן על תמונת הנגזרות כדי למלא את החור• . Conjugate Gradient לבסוף לשחזר את התמונה – זה האתגר האמיתי, נשתמש בשיטת •

ייצירת תמונת הגרדיאנטיםf כאל שדה סקלרי - פונקציה המתאימה לכל פיקסל את רמת האפור שלוfנתייחס לתמונה : R2 R.

G Gבנגיר את השדה הווקטורי :R2R2כשדה הגרדיאנטיםG x , y=[ f x , y x

, f x , y y ].

. למשל בתמונה הבאה מצוייניםCurlנשים לב שבמקרים של תמנות יכול להיווצר הנגזרות בכל אחת מהנקודות.

מסלולים ולקבל ערך אחר בכל מסלול.2ניתן להגיע לנקודה הימנית העליונה ב-G שדה שיש בו curl הוא לא משמשר ולא ניתן למצוא שדה סקלארי f שיצר אותו – ולכן

לא G אחרת Curl חייבים לוודא שלא יווצר G במידה ועושים פעולות על אינטגרבילית ולא ניתן לייצר תמונה.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

(1,0) (0,3)

(2,2)

5 6

95 7

L R

a

a

Page 18: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

מילוי החור ושחזור התמונה .gנניח כי בתמונה יישנו חור ואנחנו רוצים למלא אותו במידע מתמונה אחרת

המינימלי בתוך כךfהבעיה שאנחנו רוצים לפתור היא למעשה למצוא את השדה שהגרדיאנטים בחור יתאימו לגרדיאנטים שבתמונת המילוי:

minf∬

∣∣∇ f −G∣∣2)f ,מוגדרת רק בתוך החור Gהיא שדה הגרדיאנטים ). תחת תנאי השפה (אנחנו נרצה שעל ספת החור ערך השדה הסקלארי (הצבע)gמהתמונה המושתלת

fיהיה כמו בתמונה המקורית): ∣= f *∣אנחנו רוצים למצוא פונקציה שעושה מנימיזציה - . לאינטגרל – זו היא בעיה בחשבון וריאציות

∫=Jחשבון וריאציות תזכורת - נרצה לעשות מינמיזציה על הפונקציונל: x1

x2

F x , f , f ' dxאזי ל ,J

המקיים את התנאי הבא: fנקודת קיצון עבור F f

– ddx

F f '

=0

∇∣∣=Fבמקרה שלנו: f −G∣∣2= f x−G x 2 f y−G y 2והצבה הזאת למשוואות אוילר לגראנג' יתן .

את התנאי: f = ∇⋅G כלומר) f =G x

x

G y

y) - זו היא משוואת פואסון. (נדרוש תנאי שפה

f ∣= f *∣(

דסקרטיזציה ופתרון משוואת פואסוןD. נוכל להגדיר מטרציה Iבהנחה שהתמונה המסודרת כווקטור עמודה x כאופרטור גזירה לפיxשל

Dהתמונה: x= ... 0 −1 1 0 ...למרות שהתמונה היא ווקטור עמודה, נוכל למצוא את) - 1−הפיקסלים המתאימים ל ; 1.(בהתאם למיקום הפיקסלים בתמונה המקורית

משוואת פואסון עם כן מתתרגמת למשוואה:D x

T DxD yT D y I=D x

TUD yTV ; G=[G x ,G y]=[U ,V . זו היא משוואהIונמצא את [

.CGלינארית ענקית ודלילה – ניתן לפתור אותה באמצעות היפוך מטריצות או בשיטה מהירה יותר

Conjugate Gradientפתרון משוואה לינארית ענקית ודלילה באמצעות Jonathan Shewchure – An Introduction to the CG method without the agonizing Painמתוך:

. שיטה זו מסתכלתAT=A סימטרית: Aבהנחה שAx=b פועלת על מערכת משוואות: CGשיטת

fעל פתרון המשוואה כבעיית מציאת מינימום לפונקציה: x =12xT A x−b xcלפונקציה מינימום)

f ולראות שהבעיות שכולות: fיחד) ניתן לגזור את ' x=12AT x1

2A x−b=0 Ax=b.

:CG נקודת המינימום בשיטת xכדי למצוא את נתחיל מנקודה אקראית)1aמחפשים את כיוון גרדיאנט השגיאה בנקודה, נסמנו ב)2

aעד שקיוון גדיאנט השגיאה מאונך לכיוון aהולכים לאורך כיוון )3

2ואז חוזרים לשלב )4 CGבגלל שהפונקציה היא פונקציה קוודרטית (משוואה מסדר שני) מתחייב שיהיה לה מינמום גלובלי.

מהיר יותר מהשיטות האחרות בגלל שהוא מבטיח שבכל שלב אנחנו הולכים בכיוון ניצב לכל הכיוונים.cgsשהלכנו עד כה – ולכן הוא הכי מהיר! במטלאב הפונקציה היא

www.mymentor.co.il/yonatan /לסיכומים נוספים:

edge

f

Page 19: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

מילויים נוספים לחור יכול להיותIGותמונת יעד S מתוחכמות יותר. בהינתן תמונת מקור Gניתן למצוא פונקציות

S בגרדיאנטים מ I מחליפים את הגרדיאנטים ב• S ו I ממוצע של הגרדיאנטים מ• – זו היא שטילה "שקופה". I ו S המקסימום בין הגרדיאנטים של •

Poisson Image Editing) ל Spin-offשימושים נוספים ( – ראה בהמשךImage Inpainingמילוי חורים – ••RGB 2 Gray– המרת תמונת צבע לתמונת שחור לבן כך שהקונטרסט

בתמונה נשמר. הדרך לעשות זאת היא ע"י שימוש בגרדיאנטים בשביל לקבוע את השינוי ברמות האפור במקום לבצע התמרה לפי בהירות הצבע.

משום והתמרה לפי הגרדיאנטים לא יגרמו לעיבוד הגבולות.•High Dynamic Range– לעין האנושית יישנו תווח דינמי גדול מאוד אנחנו יכולים לראות בבת

רמות אפור ולכן256אחת חדר חשוך וחלון מואר בחוץ. מסך מחשב \ מצלמנה מסוגל להכיל רק זמני חסיפה שונים. זמן חסיפה ארוך בשביל פנים החדר וזמן חסיפה2נוכל לצלם את הסצינה ב-

– איך נציג את תמונהHDR התמונות יחד בשביל ליצור תמונת 2קצר בשביל חוץ החדר. נשלב את רמות אפור? 256זו? יש בה יותר מ-

גרדיאנטים חזקים ואז נשחזר את התמונהפיתרון – נעביר את תמונת הגאוסיאנים בפליטר שמקטין .Poisson Image Editingבאמצעות

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 20: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Image In-painting 5,10 (שיעור( נרצה למלא את המקוםוהשפה הבעיה: נתונה תמונהעם חור

החסר – כאשר אין לנו מידע לגבי מה צריך להיות בתוך החור. נשים לב כי ישנויותר מפיתרון "נכון" אחד ולכן מספיק להראות פתרון "משכנע".

Laplace Image Editingשיטת בשיטה זו ננסה למזער את הגרדיאנטים של הפיקסלים שבתוך החור תחת האילוץ של השפה.

min שממזער את f, נרצה למצוא Poisson Image Editingנשתמש בפיתוח של f∬

∣∣∇ f −G∣∣2כאשר (תנאי לחלקות). + תנאי השפה:0. כלומר בתוך החור הגרדיאנטים יהיו G=0הפעם נבחר

f ∣= f *∣.הגורס כי ערכי הפיקסלים בשפה יהיו כמו בתמונה -

במקרה זה נפתור את משוואות אוילר לגראנג' ונקבל משוואת לפלס: f ונפתור בדיוק כמו בפרק0=.Poisson Image Editingעל

PDE – Partial Deferential Equationשיטת הרעיון כאן הוא כל פעם לפעפע את המידע מהקצוות של החור פנימה וליצור תמונה עם חור קטן יותר ויותר.

נשים לב כי זו שיטה לוקאלית לפתור את הבעיה ואף אחד לא מבטיח לנו כי במרכז "התמונה תסתדר".Iנבנה משפחה (סידרה) של תמונות i , j , n :M ×N ℝ כאשר I i , j ,0היא התמונה המקורית

limnו ∞ I i , j , n = I Ri , j וI Ri , j.היא התמונה המשוחזרת

Iבכל צעד זמן נעדכן את הפיקסלים בחור: n1i , j = I n i , j t I tn i , j ; ∀ i , j∈.

Iתמונת העדכון tn= Ln i , j N ni , j כאשר -Lהוא האינפורמציה

הוא הנורמל.Nשרוצים להוסיף ובעצם נרצה להטיל את האינפורמציה (חלקות, שפה וכו) שנוספת בניצב לחור. מה שיקרה הוא שבכל איטרציה אנחנו מקטינים מאט את גודל החור עד שהוא

נעלם.

– האינפורמציה להיות חלקות התמונה (הלפלאסייאן):Lנבחר לדוגמה את Lni , j =I xx

n i , j I yyi , j .

איך נגדיר את כיוון הנורמל? הנורמל לא צריך להיות בניצב לחור אלאבכיוון הגרדיאנטים שבתמונה.

בדוגמה ניתן לראות מה יקרה אם פעפע את הגבול בניצב לשפה ולאבדרך הנכונה (משמאל לפני השלמת החור ומימין לאחר השלמת החור)

ובדרך הנכונה:

האלגוריתם המלא

Iנבחר tni , j = Lni , j ⋅N i , j , n

∣∣N i , j , n∣∣∣∇ I ni , j ∣כאשר .

Ln i , j =[Lni1, j−Lni−1, j , Lni , j1−Lni , j−1]זה הגרדיאנט באזור השפה וכן -

www.mymentor.co.il/yonatan /לסיכומים נוספים:

f NL

f f

f f

edge

f

Page 21: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

N i , j , n∣∣N i , j , n∣∣

=[−I y

n i , j , I xn i , j ]

I xn i , j 2I y i , j- זה הנורמל לגרדיטנט בתמונה. כמו כן נגדיר:2

n i , j = Lni , j ⋅N i , j , n∣∣N i , j , n∣∣

.

∇∣את I ni , j ∣ :נגדיר כ∣∇ I ni , j ∣={ I xbMn 2 I xfMn 2 I ybM

n 2 I yfMn 2 n0

I xbmn 2 I xfm

n 2 I ybmn 2 I yfm

n 2 n0

נגזרתb נגזרת קידמית, f. 0 – מקסימום בין הנגזרת ל-M, 0 – מינימום בין הנגזרת לבין mאינדקס: אחורית.

איבר זה הוא רק לשם הגדלת ייציבות נומרית.

לתוך החור ועוברים לאיטרציה הבאה 2 כל פעם מתקדמים פיקסל אחד או נשים לב כי אנחנו מתקדמים מהקצוות כלפי פנים – מי מבטיח שזה "יסתדר" במרכז? -אף אחד

– מבצעיםAnisotropic Diffusionהתהליך הזה הוא לקולי השיפור במילוי החור הוא לוקלי אבל כמו בשינויים לוקאלים ובסוף מקבלים שיפור גלובלי.

Anisotropic Diffusion (כמו שFluid Dynamics שאנחנו פותרים היא דומה לPEDהמשוואה המשתמש במשוואת החום) מתייחסים לעוצמת הפיקסלים כזרמים.

שיטות מבוססות טקסטורההשיטות שתוארו כאן טובות למילוי חורים "קטנים" אבל מה עם החור גדול? עדיף למלא אותו בטקסטורה.

לשם כך - ראה פרק על טקסוטרה

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 22: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

)6,7,9(שיעוריםפילטרים לשימור קצוות הבעיה: יש לנו תמונה רועשת ונרצה להחליק אותה – אבל לא נרצה להחליק בצורה כזו שתהרוס את ה

edgeזאת משום ו – edge.מציין חיתוך בין עצמים שונים ואין להחליק בין עצמים שונים למשל, החלקה עם גאוסיאן הורסת את הקצוות.

בניגוד לפילטר עם גאוסיאן המחליק תמונה נדון בפילטרים המחזקים את הקצוות

Median Filter.S. ערך הפיקסל יהיה החציון של S={an}מסביב לכל פיקסל בתמונה נסתכל על חלון סביב הפיקסל

פילטר זה משמר קצוות בניגוד למיצוע בחלון. נסתכל בדוגמה: בדוגמה זו הפיקסל שמוקף בעיגול יקבל את הערך "לבן" משום ובחלון שלו ישנם יותר פיקסלים

לבנים משחורים ולכן החציון הוא לבן. (עם ממוצע זה לא היה עובד, הממוצע היה מורח)

Median Filterחישוב הבצורה הנאיבית, לוקחים חלון בתמונה ממינים פיקסלים ולוקחים את החצי – הבעיה היא שזה איטי מאוד.

) היא לחשב היסטוגרמה לחלון ולקחת את מחציתHuarg's Algorithemשיטה אלטרנטיבית (.6 שקף 6מההיסתוגרמה. שיטה זו מתוארת בשיעור

חציון ותמונות צבע RGB). האופציה הנאיבית היא לעשות חציון על כל RGBנצטרך להכליל את מושג החציון למספר ממדים (

בנפרד - אופציה זו שוברת את היחסים בין ערוצי הצבע.יישנם מספר שיטות להגדיר חציון בכמה ממדים

•Geometric Median ,בהינתן אוסף נקודות – אזי הממוצע הוא כזה הממזער את ריבוע המרחקים לכל הנקודות, והחציון הוא זה הממזער את

GM=argmin המרחקים לכל הנקודות. בצורה פורמלית: סכוםy∈ℝd

∑i

n

d y , x i

, וסכום המרחקים הוא34. הממוצע הוא 0,2,100 הנקודות, 3דוגמה: בהינתן 343266=132) 2) סכום המרחקים קטן יותר: 2 בעוד שעבור החציון098=100.

אינטואציה (במקום הוכחה) בהינתן – מתלקד עם החציון המוכר לנו GM טענה: בחד ממד ה שאנחנו עומדים על החציון וזזים קצת לכיוון כלשהו אנחנו נתרחק מיותר נקודות מאשר כאילו

שנתקרב עליהם – תמקם מפעל כך שתמזערFacility Locationניתן לנסח את הבעיה גם כבעיה של חקר בצועים:

את המרחק לאוסף מחסנים ידוע.

Weiszfeld's Algorithem y את החציון הגיאומטרי מחשבים באמצעות i1=∑j=1

n x j

∣∣x j− y i∣∣

∑j=1

n 1∣∣x j− y i∣∣

- זו

)2נלקח כממוצע (השיטה מתכנסת לרוב לאחר איטרציה או y0שיטה איטרטיבית כאשר

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 23: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

הגדות אלטרנטיביות2 כאן יש – Depth Order Function החציון כ•◦Converx Hull Peeling בהינתן אוסף נקודות –

(הספירה אשר תוחמת בדיוק את הנקודות)Convex Hullחשב ▪1 מקבלות עומק CHכל הנקדות על ה▪) את הנקודות הללוPeelזרוק (▪חזור על השלב הראשון▪

החציון הוא הנקודה עם העומק הגבוהה ביותר◦Tukey Median -על שם מתמטיקאי סיני). החציון לפי הגדרה זו2 (שיטה טובה יותר מבין ה ,

מוגדרTakey המקסימלי. כאשר עומק Tukeyהוא הנקודה עם העמוק כמספר המינימלי של נקודות על צד אחד של מישור מפריד העובדר דרך

הנקודה. הרעיון הוא כי נקודות שבצד נוכל למצוא מישור כךTukeyכדי לחשב עומק

. אבל לנקודות במרכז לא נמצא0שכמות הנקודות שבצד אחד הוא מישורים כאילו.

על כל המישורים ולכן מגרילים כזה עומק.Tukeyבפועל, יקר לחשב את העומק

rank נגדיר: Vבהינתן מישור מפריד V

a j={V T⋅a j∣VT⋅a jV T⋅a i}ואז

Depth a i=minV [min∣RankV

a j∣, n−∣Rankva j∣] הצדדים ואז מינימום2(מינימום בין

MedianS) כאשר V∣=1∣ מקיים V (כאשר Vעל כל המישורים =maxai

Depth a i.

Bilateral Filter.Fredo Durand, Sylvain Parisמאמר מרכזי:

הרעיון: גאוסיאן יתן ממוצע ממשוכל לפיקסלים בקירבה מרחבית לפיקסל.ניתן בנוסף לגאוסיאן לתת מישקול לפי הקירבה של הפיקסלים לעוצמה.

לדוגמה בחד מימד(תמונה משמאל) ניתן משקל לפי קירבת הפיקסלים במרחב ך לא "נערבב" פיקסלים מהצד האחד של השפה עם פיקסליםכוכן בעוצמה -

מהצד השני.

Gובצורה פורמלית x =1

22 e−x2

2 -BF [I ]P=1W p

∑q∈ I

G s∣∣p−q∣∣G r

∣∣I q− I p∣∣ I qכאשר .

W p=∑q∈ I

G s∣∣q−p∣∣G r

∣I p− I q∣ הוא משקל נרמול. כאשר∣∣p−q∣∣הוא המרחק האוקלידי של I∣∣הפיקסלים, ו q−I p∣∣) הינו המרחק בצבעRGB(

). delta (רעש impulse זו לא מתאים לניכוי רעשים מסוג Bilateral Filter נשים לב כי

בצורה מהירהBilateral Filterחישוב בדוגמה חד ממדית, מגדירים סביב כל נקודה אליפסה (מעלים מימד) ואז תוצאת ה

BF.היא קונבולוציה של עוצמת האות עם אליפסה

Wבנוסף צריך לחשב את גורם הנירמול pאת זה מחשבים גם כן בצורה דומה - .51 שקף 6(מעלים ממד). השיטה מתוארת לפרטים במצגת שיעור

www.mymentor.co.il/yonatan /לסיכומים נוספים:

0

3

Page 24: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Bilateral Filter) ל Spin-offsשימושים נוספים (•Joint Bilateral Filter / Cross Bilateral Filter 2 – נניח ויש לנו

. בתמונהA והשניה בלי פלאש Bתמונות של אותה הסצינה, אחת עם פלאש ) הצבע יותר עשיר (יותר אווירה) אבל התמונה רועשת. לא נוכלAללא פלש (

כדי לתקן את הרעש כי התמונה רועשת יותר מדיי ולאBFלהשתמש ב יש פלש ולכן רעש נמוך אבל הצבע הולךBברורים הגבולות. אבל בתמונה

לעיבוד. )B באמצעות התמונה עם הפלאש (BFנוכל להגדיר את הגבולות וכן את ה

)Aולמצע את הצבעים של התמונה ללא פלש (BF [ I ]p=

1W p

∑q∈S

G s∣∣q− p∣∣G r

∣∣B p−Bq∣∣ Aq

•Video Enhancement Using Per Pixel Exposure - :האלגוריתם נקראAdaptive Space Time Accumulationבהנחה שיש סרט וידיו באיכות נמוכה ורוצים לעלות את איכות הפריים ,

BF [I ]p=1W p

∑q∈S

G s∣∣q−p∣∣G r

D I p , I q I q כאשר הפונקציה.Dיכולה להיות מרחק כללי

ולו דווקא מרחק אוקלידי – הייתרון הוא שפונקציה כללית המסתמכת על פריימים קודמים יכולהImpulse Noiseלהתאלם מ

Local Mode FilteringBilateral Filter -להשלים – מקבלים כי זו שיטה זהה ל7שיעור

(נעלם):i שהעוצמה שלו היא pנגדיר הסתוגרמה מקומית סביב פיקסל

H 3 p , i , r , s=∑q∈S

G s∣∣p−q∣∣Gr

I q−i החלון הוא גאוסיאני (כי חלון חלוני יש לו ארטיפקטים - חמורים)

Hהיינו רוצים להראות כי אכן הפילטרים מתלקדים כלומר: 3

i∣I=I p

הוא גאוסיאן)G. נציב (וזכור ש0=

∑ולכן q∈S

I q−iG s∣∣p−q∣∣G r

I q−i =0i המקיים זאת הוא i=∑q∈S

G s∣∣p−q∣∣G r

I q−i I q

∑q∈S

G s∣∣p−q∣∣G r

I q−i

(המכנה הוא גורם נרמול).

I הוא באמצעות סכמה אינטרטיבית iמציאת pt1=

∑q∈s

G s∣∣p−q∣∣GR

I qt −I p

t I qt

∑q∈ s

G s∣∣p−q∣∣GR

I qt− I p

t . מה שקורה הוא

שבכל איטרציה עוברים על כל התמונה ואז עושים עוד איטראציה וכן הלאה.bilateral Filter בחלון שכול לLMF – למעשה הbilateral filterניתן לראות כי הנוסחא מאוד קרובה ל

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 25: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Non Local Means Filter . הרעיון הוא – אנו רוצים לתת ערך של לפיקסל בהתאם לממוצע של פיקסליםBilateral Filterהרחבה ל

הקרובים עליו או דומים לו. לוקחים מסביב לפיקסלNLM פיקסלים דומים הם פיקסלים בעלי אותו עוצמה ומקום. ב Bilateral Filterב

Vריבוע ועושים ווקטור מעוצמות הפיקסלים שליידו p מחפשים פיקסלים.q שהריבוע שסביבם V q

קרוב (לפי פונקציית מרחק של רמות העפור)

ILMFואז ערך הפיקסל הוא: p=1W p

∑q∈S

G∣∣ V p− V q∣∣ I qכלומר עושים ממוצע ממושקל בין היפקסל -

Vלפיקסלים שהסיבבה שלהם דומה לפיקסל זה. בפועל לא מבצעים חישוב של qעל כל הפיקסלים – אבל לכעורה אלגוריתם זה מתעלם מהמרחקpבתמונה אלא רק בסביבה הקרובה מרחבית של הפיקסל

הגיאומטרי בין הפיקסלים.Bilateral Filterמניח כי התמונה חלקה ברובה בעוד ש Non Local Means מניח שלכל תלאי בתמונה יש

תלאים הדומים לו במקומות אחרים. 7X7 או 5X5 בדרך כלל משתמשים בריבועים של

לשאר הפילטריםNon Local Meansהבדל בין מתבטא בתמונהAnisotropic Diffusion לבין Non Local Meansלדוגמה, ההבדל בין

מהצורה: לא יערבב בין הלבןAD הפילטר B שתי השיטות נותנות אותה תוצאה אבל בתמונה Aבתמונה

יכול לערבב בצבעים שלNLMשל צד ימין והלבן של צד שמאל אלא יעצר בגבול השחור באוד ש התמונות כי הם "קרובים"2

Anisotropic Diffusion הרעיון – נניח כי תמונה היא משטח שבו לכל הפיקסלים יש טמפרטורה

בהתאם לרמות האפור. ניתן לחום לזרום בין הפיקסלים והוא זה שיצור את כך שדרך קצוותCהטשטוש. בנוסף, נתן לכל פיקסל יעילות מעבר חום

edgesלא יזרום חום – הרעיון הוא למנוע מפיקסלים שאינם שייכים לאותם העצמים להתערבב.

Iמשוואת הדיפוזיה: t=div c x , y , t ∇ I כאשר -Iעוצמת הוא יעילות מעבר החום.C הוא האיטראציות של הטישטוש (הזמן), tהפיקסל,

אבלedge אנחנו צריכים לדעת איפה יש Cנשים לב שהבעיה היא מסוג "ביצה ותרנגולת" – כדי לקבוע את לא היינו צריכים את האלגורתים הזה. edgeאם היינו יודעים איפה ה

) היא:P-Mלכן סקיצת האלגוריתם (לפי כותבי המאמר . במאמר זה הוגדר -C באלגוריתם אחר וליצור את edgeלשארך את מיקום ה•

C=g ∣∣∇ I∣∣כלומר פונקציה של הגרדיאנטים בתמונה כאשר וg:מהצורה .c=g=1ניתן להחליק ולכן E∣∣≪1∣∣כלומר עבור גרדיאנט קטן

.g=0 ולכן אסור "לערבב" את ערך הפיקסלים: edgeעבור גרדיאנט גדול אזי בפרוש מדובר בלבצע החלקה•1לחזור לצעד •

www.mymentor.co.il/yonatan /לסיכומים נוספים:

||E||

g1

X

I(X) C=1

C=0

C=1

A

B

Page 26: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Anisotropic Diffusion – ADתכונות של •Causality לא נרצה שיווצרו – edgesחדשים כאילו שאינם נמצאים באיטראציה הקודמת •Localizationנרצה שה – edgeישאר במקום ולא ינדוד edgeלהעדיף החלקה בתוך אזור על פני החלקה מעבר ל•

גדולים.edge קטנים ומחזק edge אכן מחליש Anisotropic Diffusion יישנה הוכחה כי 9בשיעור

gבחירת PMgלפי המאמר של פרון מליק x אם ,xהוא עוצמת הגרדיאנטים

נראה כך: g x= 1

1 x 2

K 2 )x=C ∇ I ∇ I=g x ⋅x(

קטן) הנגזרת שלx קטנים הנובעים מרעש (edgeהרעיו הוא, עבור חיובית ולכן הedge ידאך.עבור x גדולים הנגזרת של שלילי

יתחזק.edgeוה שבתמונהedge מה90% – אחת השיטות היא להניח שKעדיין יש למצוא שיטה טובה למצוא את

בתמונה המקורית.edge של עוצמות ה90% יהיה האחוזון הKהמקורית הם רעש ולכן יש להשתמש. g עדיין ישנם ויקוחים לגבי איזה פונקציה

Iערכי הפיקסל מתעדכנים מאיטרציה לאיטרציה באופן הבא: st1=I s

t ∣N s∣ ∑

p∈N sg ∇ I s , p∇ I s , p

Nכאשר s הוא הסביבה של s ו ∇ I s , p הוא הנגזרת בנקודה s בכיוון של p למעלה, למטה ימינה) וכו)

Robust Statisticsניסוח ב Robust Statisticsהוא כלי כללי לתיאור טיב של פילטרים שונים – רגישותם ל outliers.וכיוצא בזה

Breakdown Point כדי שהפילטר לא יעשה את מה שהוא אמורdata שיש בoutliers ככמות הBreakdown Pointמגדירים

. נוסיף לסידרת הדגימות קבוצהS={an} הפועל על סידרת דגימות Tלעשות. כלומר נניח אופרטור }=Polluting Set :(Pמזהמת( P1 ,... , Pm} ונשאל מה צריך להיות הגודל המינימליmשל הקבוצה

T∣∣המזהמת כדי ש S∪P ∣∣=∞.

T יוגדר כ: T של break downה , S = mnm כאשר)n הוא גודל הקבוצה S.(

לדוגמהP={M אחד - עבור outlierאופרטור הממוצע מספיק • איבר גדול כרצונינו ייתקבלMכאשר {

∣∣T S∪P ∣∣=∞ אינטואיציה: נוכל להגדיל את .Mכרצונינו והממוצע ילך לאינסוף. לכן = 1

n1

נוכל לשלוט בחציוןS זהה לגודל P כגודל הקבוצה (כשגודל outliersעבור החציון צריך כמות •=0.5וכןm=nכרצונינו) ולכן:

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X

Phi(x

)

k

Page 27: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Robust Estimation (תמונת המסודרת כווקטור),Y יניח כי התמונה שבידינו Robust Statisticsמשארך רובוסטי המוגדר לפי

מX. לכעורה לא ניתן לחלץ את V :Y=XV (שאותה נרצה לשערך) ורעש Xמורכבת מתמונה הנקייה Y.אלא אם מניחים הנחות – אנו נניח כי התמונה חלקה למקוטעין

Robust EstimationRעתה נגדיר פונקציית שגיאה ל E X =12[X−Y ]T [X−Y ]

2{ X−DX }.

בעל המשקל המינימלי.X משקל. נרצה למצוא את הXפונקצית שגיאה זו מתאימה לכל תמונה משוחזרת

X−Y]האיבר • ]T [X−Y יהיה כמה שיותרX – והוא ידרוש כי data לXמגדיר את "מהימנות" [.Yקרוב ל

}האיבר • X−DX הואX−DX הוא אופרטור ההזה דגימה אחת ימינה, ולכן D(כאשר { קירוב לנגזרת – כמה פיקסלים סמוכים שונים זה מזה) מכניס את הנחת החלקות למקוטעין – ככל

שיש נגזרות גדולות יותר בתמונה כך השגיאה עולה (מתוך הנחה שנגזרות גדולות באות בעיקר היא פונקציה (לו דווקא לינארית) שנותנת משקולות שונים לנגזרות שונים – החלקמרעש).

.הקשה הוא למצוא את

}לעיתים נשתמש בהכללה X−DX }∑s∈ I

∑p∈N s

I p− I s ,כלומר במקום לעבור רק על - N נעבור על כמה פיקסלים בסביבה p הפיקסל הסמוך הבודד ליד s סביב p .

•.פאקטור משקול לנאמנות למקור לאומת נאמנות לחלקות התמונה -

Steepest Descent כדי למצוא את המינימום נגזור את פונקציית השגיאה ונעבוד בשיטת R E X

X=[ X−Y ][ I−D ] ' { [ I−D ] X }

Xולכן האיטרציות יהיו: 1RE=X 0

RE−RE x

X∣X =X 0

RE=Y− I−DT ' { I−DY - כאשר{

פאקטור לגודל הצעד.N(ניסוח נוסף בהכללה ל s פיקסלים בסביבה שלs הערך של פיקסל .s:באיטריצה הבאה יהיה

I st1=I s

t ∣N s∣ ∑

p∈N s ' I s− I p כאשר∣N s ∣ הינו גודל "הסביבה" שלs(

נרצה?איזה Breakdown Point (כדי שה outliersידע להתאלם מכדי שהפילטר שהגדרנו יהיה רובוסטי, נרצה ש

אינה רובוסטית כי עבור צעד האיטרציה הבאה נשתמש ב=2תהיה טובה). פונקציית משקל ' =כאשר עבור -.גדול (כלומר פיקסל בעל נגזרת גדולה) נרצה להגדיל את ערכו עוד יותר

לא רובוסטי=2לכן

):Lorenzianדוגמה כן רובוסטית היא הלורנציאן (

x=log[112 x

2] , x=' x= 2x2 2x2

פונקציה זו תתן משקל גדול לפיקסלים הקרובים בערך אבל ) הפונקציה נותנתהחל משגיאה גבוהה מדיי (בערך

משקל קטן יותר ויותר לפיקסל.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X

Y

rho

X

Y

psi

Page 28: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Robust Estimation כ Weighted Least Squaresניסוח של פילטר לכל פיקסל בתמונה:Wזהו פילטר שלא דיברנו עליו כאן, אבל נניח כי ניתן משקל

WLS X =12[X−Y ]T [X−Y ]

2[X−DX ]TW Y [ X−D X בשביל לפתורXלפי . נגזור את [

Steepest Descent :Xבשיטת 1WLS=Y− I−DTW Y I−DY

ולקבלSteepest Descent הביטויים ל 2עתה נוכל להשוות בין Y− I−D T ' { I−DY }=Y− I−D TW Y I−DY.

-W ל W כלומר קיבלנו קשר בין המשקל Y = ' { I−DY }

−DY.

W : W עם נקשור את k לכל פיקסל [k ]= ' Y [k ]−Y [k−1]Y [k ]−Y [k−1].והראינו שכילות .

=1כך לדוגמה עבור 2x2 מקבליםW=1.

Robust Estimator כ Bilateral Filterניסוח של נסתכל על פונקציית המשקל הבאה:

x =12[ X−Y ]T [ X−Y ]1

2∑n=1

N

[X−Dn X ]W Y ,n[X−D n X nהוא תזוזה של Dn. כאשר [

X−Dnצעדים. כלומר X דגימות במרחק 2הינו החיסור בין n

. לבסוף נקבל כי צעד אחד של איטרציית0 ונשווה ל-Xכדי למצוא את המינימום שגיאה נגזור לפי

Steepest Descent :יראה כך X 1=[ I−∑n=1

N

I−D−nW Y , N I−Dn]X 0

D−n=D(כאשר nT(

אותו סקאלר לכל הנגזרות – ולכן נשתמש בשיטת יעקובי ונחליף אתלכעורה לא כדאי להשתמש ב:במטריצת משקולות אלאכסונית כדי להעיץ את ההתכנסות. נשתמש בהסיאן

2 X 2 X

=H Y =I∑n=1

N

I−D−nW Y , N I−Dnואז נגדיר מטריצה

M Y =[ Idiag H Y ]−1) הינו פרמטר שאמור לעזור לייציבות נומרית עבור מספרים

Xקטנים) 1=[ I−M Y ∑n=1

N

I−D−nW Y , N I−Dn]X 0.

Wעתה נגיע לביטוי לאיבר ספציפי (פיקסל) באיטרציה תוך שימוש ב y ,n= ' [ pI−Dn]Y I−Dn nכאשר

01 אומר שאנחנו לא סומכים על נגזרת של דגימות רחוקות. בלה בלה=−R2 exp [

−2

2R2 ]

מסתכל על החיסור בין פיקסלים BF כאשר Robust Estimatioin כ Bilateral Filter וקיבלנו ניסוח של רחוקים בנוסף על הפיקסלים הקרובים:

x =12[ X−Y ]T [ X−Y ]1

2∑n=1

N

[X−Dn X ]W Y ,n[X−D n X - גם כאן הראינו שקילות[

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 29: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Robust Statistics כAnisotropic Diffusionניסוח של

I מוגדר כך: ADצעד האיטריצה הבאה ב st1=I s

t ∣N s∣ ∑

p∈N sg ∇ I s , p∇ I s , p

g x= 1

1 x2

K 2.

∇כאשר I s , p הינה הנגזרת של פיקסלs בכיוון של pכלפי מעלה או מטה או ימינה או שמאלה בהתאם) )pלמיקום הפיקסל

I צעד האיטריצה הבא מוגדר לפי: RSואילו בניסוח של st1=I s

t ∣N s∣ ∑

p∈N s ' I p

t − I st , .

נשווה בין המקדמים ונקבל:=g x ⋅x= 2x

2 x2

2

= ' x ,K(תחת ההצבה 2=2(

בצע אינטגרציה ונקבל כי xהוא הלורנציאן. כלומר הלורנציאן בRS הוא הניסוח שעשו P-Mב AD.gהאם הלורנציאן הוא פונקציה טובה בשביל x.אוליי ישנן פונקציות יותר טובות

ניתן להשוות את Robust Estimationבניסוח של '=g x⋅xשל g:שונים

לפי השוואה זו ניתן לראות כי לורנציאן הוא פחות רובוסטי מאשרTukey Biweight כי הוא לא מדאיך את outliersלאפס – ולכן '

לא דואכים. התמונהADואכן – אם משתמשים ביותר מדיי איטרציות בניסוח

להכנס.outliers לא מאפשר ל Tukey מפעפעים לכל התמונה, בעוד ששימוש ב outliersנמרחת וה

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 30: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Texture Synthesis וגם Image Inpainting 10,11 (שיעור(הרעיון: יש לנו קטע סופי של טקסטורה ונרצה לייצר ממנו קטע טקסטורה אין סופי.

– ניתוח באמצעות פילטרים של תמונה והחלטה איפהTexture Analysis) מתואר גם 10במצגת (שיעור ניתן לראות את הטקסטורה בתמונה.

Heeger – Bergen.Pyramid Based Texture Analysis-Synthesisמאמר עיקרי:

השלבים:נייצר תמונת רעש עקראית• Steerable (הסתוגרמת Steerableנפרק את תמונת הרעש ותמונת הטקסטורה בהסתוגרמת •

כיוונים למעלה והצידה, משתמשים בנגזרת ב-2היא כמו הסתוגרמת לפלס רק שבמקום הנגזרת ב- אלכסונים).2 בכיוונים – למעלה, הצידה ו4

– נלביש את ההסתגורמה שלHistogramic Matchנעשה •הטקסטורה על ההסתוגרמה של הרעש בכל אחת מהרמות

ונקבל תמונת טקסטורה כרצונינו.steerable לCollapseנעשה •

למה זה עובד? בעצם יוצרת מספר תמונות הפרשים:Steerable סיבות – נשים לב שהיסתוגרמת 2

בכל שכבה כל אחת מתמונות ההפרשים מתארת "נגזרת" של• ראינוPoison Image Editingהטקסטורה בכיוון מסויים. בפרק על

שהנגזרות מכילות את כל המידע כדי ליצוק תמונה ולכן ע"י העתקה \ התאמה של היסתוגרמת הטקסטורה אל היסתוגרמת הרעש אנחנו

"מלבישים" על הרעש את הצורה של הטקסטורה. בנוסף, כל שכבה בפרמידה מתארת סקאלה אחרת בתמונה ולכן התאמת ההסתוגרמה בסקאלות•

שונות תבטיח שלטקסטורה יהיו מאפיינים דומים בכל הרמות. מתי זה יכשל? נשים לב שהטקסטורה שניצור תהיה בעלת אותם מאפיינים "ספקטראלים" אבל אין שום

הבטחה שהמבניות תשמר – ולכן טקסטורה שבה המבניות חשובה: ריבועים \ עיגולים לא תעבוד. למעשה,.artifactsאנחנו מתעלמים מהיחסיים המיקומיים שבין הפיקסלים ואנחנו יכולים לקבל

DeBonet Multiresolution Sampling Procedure for Analysis and Synthesis of Textureמאמר מרכזי:

Images 1997.שיטה זו מתחשבת במבנים המרחביים של הטקסטורה אותה אנחנו יוצקים .השלבים באלגוריתם הם:

צור תמונת רעש)1בנה פרמידת לפלס לתמונת הרעש ותמונת הטקסטורה)2זרוק את השכבות התחתונות של פרמידת הלפלס של תמונת הרעש)3צוק את השכבות התחתונות מלמעלה לפי האלגוריתם הבא:)4

נרצה לצקת את הפיקסל עם סימן השאלה בתמונת הרעש, לשם•כך נסתכל על מסלול הפיקסלים המובלים אליו בפרמידה.

חפש בתמונת הטקסטורה מסלולים דומים (ירוק וכחול בתמונה) – מסלולים דומים הכוונה•

www.mymentor.co.il/yonatan /לסיכומים נוספים:

NoiseTexture

NoiseTexture

?

Page 31: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

שערכי רמות העפור בפיקסלים ברמות המקבילות דומים.

:Dמבין המסלולים שמיתחת לסף מסויים • ui , v iבחר את הפיקסל הבא לאורך המסלול (פיקסל לבן) ושטול אותו במקום הפיקסל שמדברים עליו.

– היא מבטיחה כי כל פיקסל ברמה הנמוכה יותר ישקףConditional Statisticsשיטה זו היא למעשה מאפיינים מהרמות שמעליו.

הדוק יותר כך תתקבל טקסטורה איכותית יותר.כמובן שככל שהחיסרון הוא – לוקח המון המון זמן!!

Efros & Leung – Onion Skin אלגוריתם זה משמש בעיקר למילוי חורים. בהינתן פיקסל

- נסתכל על תלאי מסביב לפיקסל הזה.pשאותו נרצה למלא שסביבם יש תלאיםqנחפש בתמונת הטקסטורה פיקסלים

דומים. ונמשיך למלא (וכן הלאה וכן הלאה)q כאחד מערכי pנבחר את הערך של

כמו כן סדר המילוי – מאוד מאוד קריטי בגלל \ תלאי סביב הפיקסל חשוב מאוד. patchנשים לב כי גודל השאין הבטחה שבמרכז התמונה “תסתדר”.

Propagationשיפור בזמני ריצה: .Ashegmanמאמר מרכזי:

היא שבכל פעם צריכים למצוא תלאים הדומים לתלאיE-Lהבעיה באלגוריתם וזה דורש הרבה זמן. נניח לשם הפשטה כי בתהליך המילוי מלאנו אתpשסביב

בתמונת היעד ואנחנו זוכרים מאיפה הם באו מתמונת המקור:1,2,3הפיקסלים במקום לחפש את כל התלאים הדומים pעתה כשאנו באים להוסיף פיקסל נוסף

סתכל על הפיקסלים ומתוכם לבחור ערך עבורו נ p לתלאי שמכיל את p1 , p2 , p3ונגריל ערךהנמצאים במקום יחסי לפיקסלים שכבר השלמנו

מבינהם – מימילא אילו יהיו ההשלמות הטובות ביותר

K-Coherenceשיפור נוסף בזמני ריצה Tong et al 2002מאמר מרכזי:

)Coherence−1 הוא למעשה propagation (הם טוענים שprorogationזו היא הכללה של שכנים קרובים ביותר (קירבה לפיKבשלב הראשון נעבור על כל הפיקסלים בטקסטורה ונחפש להם

– נחפש פיקסלים שמסביבם תלאים דומים).Erfos & Leungהשיטה של – נזכור לכל פיקסלAshegmanלאחר מכן נבצע מילוי של התמונה בדומה ל

מאיפה הוא בא בתמונת המקור וכן נזכור מי הם הפיקסלים הדומים לו (פיקסליםעפורים בציור)

נוכל לבחור מבין הפיקסליםpועתה כאשר נרצה למלא את הערך של הפיקסל p1הנמצאים במקום היחסי לפי הפיקסלים שכבר השלמנו , p2 , p3או לפי ,

p1המקום היחסי של הפיקסלים הדומים לאילו שכבר השלמנו ' , p2 ' , p3 '

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Input Output

1

1 223

3

Input Output

1

1 223

3 p3

p2

p1

p

Input Output

1

1 22

1 1

Input Output

1

1 2p1

p1 1P’1 P’1

Page 32: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Image Quilting – Efros, Freeman לחשב עבור כל פיקסל את התלאי שסביבו עולה זמן – באלגוריתם זה נשתמש בתלאי של פיקסלים במקום

).3בפיקסל בודד (אלגוריתם זה ממומש בשיעור בית שסביבם שטחq – נסתכל על השטח שמסביב לו ונחפש בתמונת הטקסטורה תלאים pנרצה למלא תלאי

.qדומה. לאחר מכן נשתול אחד מהתלאים עתה יש לנו בעיה – ייתכן כי בנקודות השקה של התלאי עם הסביבה יווצרו

ארטיפקטים. כדי להמנע מבעיה זו נבצע חפיפה בין התלאי לסביבה כמו בציור: A קו שבו ההפרש בין התלאי Seam Curvingובשטח החפיפה נמצא באמצעות

הוא מנימלי.Bלסביבה B ומימן בAלאחר שמצאנו קו כזה נפתור את אזור החפיפה משמאל לקו נשתמש בתלאי

למה זה עובד? כי באזור שבו ההפרש בין התמונות הוא המינימלי ולכן לא נראה ארטיפקטים..Patchesשיטה זו עובדת מהר יותר כי היא לא עובדת פיקסל פיקסל אלא על

שיטה זו נקראת הפרופסור המושחט – תמלא את החור ותשקר כמה שאתה יכול כדי לטשטשעקבות.

Criminisi et alמילוי חור באלגוריתם של .2003 מ-Criminisi, Perez, Toyamaמאמר מרכזי:

הרעיו הוא: סדר המילוי של התלאים חשוב מאוד ולכן לכל טלאי לאורך גבול החור נגדיר מדד עדיפותP p המורכב מ .Confidence Cומ Data D :P p =C p⋅D pנבצע מילוי בפיקסלים עם מדד

.Image Quiltingהעדיפות הגבוהה ביותר (כל פעם) באמצעות

ConfidenceC p פרופרוציוני לכמות הפיקסלים שסביבpככל שיש יותר פיקסלים מסביב כך אנו –

בוטחים בפיקסל זה יותר. בדוגמה שמשמאל נבחר בתלאי הכחול ולא באדום.

Cבצורה פורמלית: p= 1∣ p∣

∑q∈p∩

C q כאשר , pהינו טלאי שמכיל את הפיקסל

p לכל פיקסל – p נבחר את הפיקסלים שנמצאים בתלאי ובמשלים של כלומר עבור התמונה ללא)

C עם הערכים הבאים Cהחור. כאשר נאתחל את p={1 ; p∈0 ; p∈ .

www.mymentor.co.il/yonatan /לסיכומים נוספים:

A B

A B

Texture

Hole

Page 33: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Data∇הכיוון של הטקסטורה (הכיוון שבו הטסטורה מתפשטת) I Nמוגדר כניצב לגרדיאנט

הצבעים בתמונה לדוגמה.

nכיוון ניצב לחור p:הינו הכיוון של השפה. לדוגמה

גבוהה הוא כזה שעבורו כיוון החורD נגדיר באופן הבא: פיקסל עם dataאת האפקטיביות של ה

Dמתלקד עם כיוון הטקסטורה: p= 1∣∇ I p

N⋅n p∣).(משקל -

אינטואציה: הכיוון האפקטיבי ביותר למילוי הוא בכיוון שהטקסטורה "ממשיכה בדיוק לתוך החור"

Space Time Completion :נקרא גםGlobal Objective FunctionWexler, Shechtman, Irani 2004מאמר מרכזי:

מגדיר סדר מסויים למילוי החור, אבל מילוי חור בשיטה זו הוא עדייןCriminisi et alהמאמר של אופטימיזציה לוקאלית – אין הבטחה שהתוצאה שתתקבל היא הטובה ביותר בצורה גלובלת.

מבצעת מינימום לפונקציה גלובלית.Space Time Completionשיטת

כלשהם) ובהינתן מילוי לחור המכילq(תלאים עבור פיקסלים vq∈D המיכל טלאים: databaseבהינתן wאת התלאים p∈S תלאים סביב פיקסל)pבתוך החור) אזי נבחר עבור כל תלאי בחור את התלאי

database :maxsimהמתאים לו ביותר מהq∈D

w p , vqונכפיל עבור כל התלאים שבחור – זהו מדד

Choerenceלמהמנות הגלובלית של המילוי שבחור: S *∣D=∏p∈S *

maxq∈D

sim w p , vq) S הינו*

המילוי הטופטימלי). את מדד זה – נרצה למקסם.

תהליך איטרטיבי למציאת המילוי האופטימליw בחור, לכל נקודה יש אוסף תלאים המכילים אותהpנעבור על כל נקודה p

1,. .. , wpk.

wלתלאים piקיימים תלאים מקבילים להם בdatabase תמונה \ ∃v i∈D ; w p

i =v i

vנסתכל על הפיקסלים ב iשנמצאים במקום המקביל לp

c=vq1 אז אין בעיה: p שאמור להיות בנקודה c מסכימים על הצבעqאם כל הפיקסלים

1 =...vq k

k.

שמביא למינמום אתcכמובן במציאות זה לא קורה, נצטרך לבצע אופטמיזציה – נבחר את ∑i

pi c−c i2)weighted least squeareכאשר (c i הוא הצבע של הפיקסלvqi

iוהמשקל p

i = pi⋅sim w p

i , v i) piהוא קבוע שנועד כדי למנוע פיתרון טריוואלי) נועד לתת פאקטור לדימיון כך נחשיב את הצבע שלו למהמן יותר.w דומה יותר לתלאי vבין התלאים – ככל שהתלאי

=c ייתן: WLSפתרון של ה∑i

pi ci

∑i

pi .

היא בדרך כלל קורלציה בין הפיקסלים sim פונקציית הדימיון

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Gradient Direction

Texture Direction

Texture

Hole

p

S

W2W1

q1

q2V1

V2

Page 34: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

סקיצה כללית של האלגוריתםתן מילוי התחלתי לחור•

=cעבור על כל הפיקסלים בחור ועדכן את הצבע שלהם •∑i

pi ci

∑i

piע"י מציאת תלאים דומים)

כפי שהוסבר בשורות שלמעלה)עשה מספר איטרציות עד להתכנסות.•

למה מתחייב שהתהליך האיטרטיבי ימקסם את הפונקציה הגלובלית?שאלה טובה

Scene Completion Using Millions ofאיך כל זה מתפתח כתוצאה מהאינטרנט: Images

נניח יש לנו תמונה ואנחנו רוצים למחוק ממנה קטע. כל האלגוריתמים שתארנו עד עכשיו משתמשים במידעשנמצא בתמונה הונכחית – כמות מידע מוגבלת.

אבל באינטרנט יש המון תמונות, נוכל להשתמש בתמונה שלנו בשביל למצוא תמונה דומה מהאינטרנטולמלא את החור.

)132 שקף 11הבעיה העיקרית – איך מוצאים תמונה דומה? האלגוריתם במלואו מתואר במצגת (שיעור

Video Texture בדומה לתמונות נרצה לקחת קטע וידאו של טקסטורה קצר (למשל דגל מתנופנף ברוח) ואנחנו רוצים לקבלוידאו ארוך כמה שנרצה עם הטקסטורה הזו. (אם נקפוץ מסוף הסרט להתחלה הקפיצה לא תהיה יפה בעין)

iאיך נעשה את זה? נחפש עבור כל זוג פריימים , jנחפש "ציון" או פונקציית מכיר המגדריה כמה הפריימים קורבים זה לזה.

cנגדיר i j=Di1, j כלומר המרחק בין פרייםi לפרייםj הוא לפי הדמיוןDבמאמר הם) . אם המרחק קטן אזי ישj לבין i שאחרימשתמשים בפונקציית מרחק ריבועי ברמות אפור) בין הפריים

”.i "יראה טוב אחרי פריים jסיכוי טוב שהפריים

Pואז יש לנו מרחב מדגם של הסתברויות: i j=e−C i j /2

יש מרחב הסתברות לאיזהi- לכל פריים הוא יכול לקפוץ, נוכל כל פעם להגריל פריים לפי ההסתבריויות.jפריימים

– יכול להיות שדמותPreserving Dynamicsלא משמר את התנועה בתמונה זה לא מושלם? זה Cבתמונה תלך קדימה ואחורה. ולכן נגדיר את המרחק i j:באמצעות מספר פריימים

C i j= ∑k=−N

N

W k Di k1, j k

– בגלל שאנחנו מגרילים כל הזמן פריימים אנחנו עלולים להתקל במבוי סתום –בעיה נוספת: מבוי סתוםכלומר קטע וידאו שאינו דומה לשום קטע אחר ואז הוידאו יגיע לסופו ונתקנו.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 35: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Fהפיתרון: מגדירים נוסחאת עדכון: i j=C i jmink

F j kנריץ נוסחא זו מספר פעמים – מספר - . לאחר מספר הריצות פונקצייתdead endingsקבוע כלשהו) תפקידו להתחמק מאיטרציות (עבור

.F ל Cהמחיר מוחלפת מ- j היא לא רק שהמעבר נראה טוב אלא גם הסתכלות קדימה (לעבור מj לiהרעיון הוא שהמכיר לעבור מ

)kלפריים אחר )Q – Learning(אלגוריתם זה נקרא

לא נקבל את כל האינפורמציה בטקסטורה אבל נקבל טקסטורה שיכולה לחזור על עצמה כל הזמן.

אוFade – אם בכל זאת עדיין יש בעיה של קפיצה, ניתן לעבור מפריים לפריים באמצעות שיפור נוסףMorph.

Patch Match במספר אלגוריתמים שתוארו עד כה (ובינהם אלגוריתמי טקסטורה) שאלה מרכזית היא איך למצוא את

בתמונה. עתה נתאר אלגוריתם שעושה זאת ממש ממש מהרPatchהשכנים של מצא את הזוגות שהםA,B תמונות 2 פותר היא: בהינתן Patch Matchהבעיה ש

.B לA שנמצא סביבם) בין patchהשכנים הקרובים ביותר (לפי ה

איך עושים את זה מהר?•Initialization בהתחלה מגרילים לכל תלאי - p בתמונה A תלאי p B בתמונה '•Propagation נסתקל על השכנים – q של pשכנים אילו .

qמצביעים על תלאי p. נסתכל על התלאי ' ' - יחס השכינות בין'q pל' ' למשל בדוגמהpוqהוא אותו יחס שכינות כמו 'p ' qנמצע מעל ' .qמעל pכמו ש'

pלpנשווה את המרחק בין pוpלאומת ' ' ונבחר את'התלאי הטוב יותר

•Searchשלב זה מאפשר לצאת מ –local min .p (רדיוס הולך וגדל) סביב rנבחר מעגל ברדיוס ונגריל תלאי'

p ' מתוך מעגל זה.'pלpנשווה את המרחק בין pוpלאומת ' ' ונבחר את'

התלאי הטוב יותר

במקרה יוגרלו למקום הנכון בשביל שהאינפורמציה תפעפעPatchלמה זה עובד? כי מספיק שמעט מאוד מהר בתוך התמונה.

וכן הלאה.propagation ואז שוב search ואז propagationשלבי הריצה הם

www.mymentor.co.il/yonatan /לסיכומים נוספים:

A B

A B

p

p’

qq’

p’’

A B

p p’

p’’

Page 36: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

למה זה עובד – יותר מסודרnearest nabor פיקסלים. מה הסיכוי שמצאנו הצבעה "במקרה" אל הM בגודל A,B תמונות 2בהינתן

P=1−1−1/Mהסיכוי שלפחות פיקסל אחד יפול "נכון" הוא: M M∞

1−e−1.

– אנחנוC (כלומר התמונה יכולה להיות קרובה עד כדי Cבמידה ואנחנו מרשים לפגוע ברדיוס התכנסות P=1−1−Cמרשים חופש פעולה בגלל שהתמונות הם דיי הומוגניות) פיקסלים: /M M

M ∞1−e−C.

פיקסלים) ונרצה שלפחות אחדm (בעל Aנתרכז באזור קטן בPR=1−1−Cמהפיקסלים באזור זה "יצלוף לתמונה: /M m

פעמים ונכשלנוt ניחושים (ניסינו tמה ההסתברות שנצליח לצלוף אחרי Prהצלחנו) t1ובפעם ה t =PR1−PR

t.

זו היא התפלגות גיאומתרית והתוכלת שלה: t =[1−1− cM

m

]−1

−1 M ∞

MCm

- זה כמות0.5−

ההגרלות שנצטרך.m=M⋅5%עתה נוכל לטעון כי אנחנו מחפשים אזורים שהם פרורפוציוניים לגודל התמונה למשל

כדי שזה יתכנס.tולכן נצטרך לעשות כמות קטנה של הגלות

?Patch Matchבשביל מה צריך (האלגוריתם שנועד כדי למצואBidirectional Similarity לאלגוריתם Patch Matchנוכל להכניס את

יהיהA בpatch (כל B יופיע בA כך שכל המידע בA מתוך B תמונות) – נרצה לסנטז תמונה 2דימיון בין יהיה בעל מקביל בB בpatch (כל A שלא הופיעו בB) וכמו כן שלא יהיה ארטיפקטים בBבעל מקביל ב

A.(למדנו באחד השיעורים הראשונים על הקטנה של תמונות או הזזה של אובייקטים בתמונה

www.mymentor.co.il/yonatan /לסיכומים נוספים:

A B

m

Page 37: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Graphcut Textureלבדוק איפה לשים את זה..

– בעיה קלאסיתMin cut / Max Flowהכללה לוידיאו וטקסטורה. כדי לממש זאת נשתמש ב

Mean cut / Max Flow . כל קשת בגרףt וסיום s נקודות מיוחדות: התחלה 2) יש לנו רשת עם 1962זו היא בעיה קלאסית (

.t ל sמציינת למשל ספיקה של צינור מים. נרצה למצוא כמה מים ניתן להעביר (ספיקה) בין

ע"י2המאמר גורס כי בעיה זו שכולה לבעיה: אם נחתוך את הגרף ל- חתיכה של קשתות שסכומם הוא מינמילי – הסכום הזה הוא גם קצב

הספיקה המקסימלי

יישומים בתמונה seam curving ואנחנו רוצים לעבור ביניהם נצטרך למצוא באמצעות patch 2נניח כי יש לנו

כפי שפתרנו לפני מספר שיעורים. ע"י בנייה של הרשתMin cut Max Flowנוכל לנסח את הבעיה גם כ

הבאה מהפיקסלים באזור החפיפה היא:s,t(כאשר פונקציית הספיקה בין פיקסלים

M i , j =∣∣Ai −B j ∣∣∣∣Ai −B j ∣∣והמשקל בין הפיקסלים הוא אינסוף )S,tבשפה ל

שלמדנוDynamic Programingמה ההבדל בין השיטה הזו לשיטה של עליה בשיעור הקודם? את שיטה זו ניתן להכליל גם לציר הזמן.

קטעי וידיאו כך שבאזור החלוקה נקבל פריימים2כך נוכל לחתוך בין קטעי הוידאו2שמכילים פיקסלים מ-

איך מייצרים טקסטורה אין סופית? שונים.patchנוכל להכניס שוב ושוב

נשים לב שאנחנו לא חייבים לשים את קוביית הוידאו בחפיפה מלאה, ניתןלעשות הזחה במרחב

תמונות בקו2נוכל להשתמש באלגוריתם זה כדי לעשות החלפה בין תפר יותר מורכב (חיתוך של שטח או מעגל)

www.mymentor.co.il/yonatan /לסיכומים נוספים:

A B A B

S t

A B

A

BS

t

Page 38: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Super Resolution 12(שיעור(בהינתן אוסף של תמונות ברזולוציה נמוכה – נרצה לייצר תמונה ברזולוציה גבוהה.

היא שלא מובטח שמתקבלת תמונת "אמת".Super Resolutionאזהרה: הבעיה ב.4קצת מספרים: ניתן לעשות סופר רזולוציה של עד פי

איך זה עובד – אינטואיצהנניח כי אנחנו רוצים לדגום תמונה בגריד צפוף (עיגולים לבנים)

בפועל יש לנו מספר תמונה בגריד פחות צפוף למשל העיגולים האפורים: בתאוריה, אם היה לנו מספר תמונות ברגיד מרווח (למשל כל צבע של עיגולים מציין תמונה

אחרת) אזי נוכל לסנטז מכל התמונות בגריד הנמוך את הגריד המקורי ע"י צירוף הפיקסלים יחד. לצערינו, בפועל הגרידים של התמונות ברזולוציה נמוכה לא מסודרים "יפה" אחד ביחס לשני

אלא בצורה מבולגנת (וגם אין לנו מידע על צורת הסידור היחסי) – ולכן קשה לשחזר אתהדגימה – בפרקים הבאים נסכור מספר שיטות לשחזור

סופר רזולוציה קלאסית (מציאת רזולוציה גבוהה מתוך מספר רזולוציות נמוכות)

לבעיה (סופר רזולוציה קלאסית)Least Squaresפתרון Irani & Peleg) 91מאמר מרכזי: ( גרידים ברזולוציה נמוכה, נוכל להכפיל את הרזולוציה ע"י מיקום של הגרידים זה ביחס4הרעיון: יש לנו

לזה. את המדידה (התמונותY את התמונה באיכות גבוהה (שאין לנו). נסמן בXובצורה פורמלית: נסמן בבאיכות נמוכה שיש לנו).

downsample :Y=D וLPF מורכב מX מ-Yתהליך הדגימה של H F X

•Xהיא התמונה שנרצה לשחזר כאשר היא בנוייה כווקטור עמודה •H הינוLow pas kernel בדרך כלל ממודל ע”י גאוסיאן או Point Spread Functionשל

המצלמה•D ,מטריצת דגימה D נבחר ע"י המשתמש – אם המשתמש רוצה לעשות upsampling אזי 4 פי D

של רבע.downsamplingצריכה לציין •F הינה מטריצת warpהגיאומטרי – מטריצה המציינת איך התמונות מסודרות זו ביחס לזו. לרוב

היא תוצאה של תנועת המצלמה בלבד ולא של אובייקטים בתוך המצלמה.Fמניחים כי

Yלמעשה יש לנו אוסף של תמונות: 1=DH X ; Y 2=DH F 2 X ; Y 3=DH F3 X ; ...

F ולכן הגיאומטריה שלה היא מטרצית יחידה: Referenceנניח כי התמונה הראשונה היא תמונת 1=I

בעיות: 2עתה עומדות בפנינו למטהMotion Tracking – ראה פרק על F הגיאומטרי warpאיך לשארך את מטריצת ה•

Y} איך ניתן לשחזר מתוך אוסף התמונות: Fבהינתן • k=Dk H k F k XV k }k=1N)V k-

Hמטריצת רעש, ובהנחה k=H אותה -Point Spread Function ואותו ,down sampling: D k=D אתX

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 39: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Least Squares \ Maximum Likelihoodפתרון באמצעות Elad Fuire (97), Freeman at al (2002מאמר מרכזי: (

):least square (פתרון X עלינו לפתור את המשוואה הבאה לקבלת Least Squaresבפיתרון

Y=[ y1

...y N]=[ D1 H 1 F1

...DN H N F N

]x[V 1

...V N

Y :N כאשר המימודים של המטריצה [ M , הממדים של1×2

]המטריצה D1H 1 F1

...DN H N F N

Nהם [ M 2×R2M הואR בכל ציר, Y הוא גודל התמונה M. כאשר 2

וכו).4, פי 2פאקטור ההגדלה (פי :Maximum Likelihood למעשה שקול למשערך Least Squaresנוכל להראות כי ניסוח ה

X=argmin באופן הבא: Xנרצה לבחור x

∑k=1

N

∣∣DHF k X−Y k∣∣L2(נשמש בנורמת 2

∣∣∣∣=∑∣∣2.( שמביאות את הסכום למינמום: יש הרבהXהבעיה היא שבגלל שהמידול שלנו לא מושלם יש הרבה תמונות

שהם דומות אחת לשנייה - אבל לא כולן מקיימות את הכללים של תמונה: למשל לא כולן מקיימותXתמונות במקרה הזה) הוא לא פיתרון טובML (או least squareצורות גיאומטריות מוגדרות וכו. ולכן

ML. הביטוי לשגיאה הוא:LS ונראה שהוא בדיוקMLנפתור את ה2 X =∑

k=1

N

∣∣DHF K X –Y k∣∣2

0 ונשווה ל-Xנגזור לפי ML

2 X X

=2∑k=1

N

F kT H T DT DH F k X –Y =0

k=1∑]וקיבלנו:

N

FT hT DT D H Fk]X=∑k=1

N

F kT H T DT Y k AX=b

. הבעיה היא שהמטריצות כאן הם מטריצות מאוד גדולות ולכןleast squareואת משוואה זו פוטרים ב (במורד התלול ביותר) iterative solutionנבחר בשיטה

xn1= xn−∑k=1

N

FkT H T DT DH F k

X n−Y k.

DH, כי החלק הזה iterative back projectionשיטה זו היא F kX n−Y kהוא שיארוך השגיאה של

xn כאשר מורידים את הרזולוציה לדגימה שלY לאחר מכן התלה של השגיאה למרחב התמונה .xnFבאמצעות k

T H T DT בנוסף ..הוא מקדם משקל

,Dהבעיה היא שעדיין המטריצות הם ענקיות. ולכן נצטרך לעזוב לרגע את האלגברה הלינארית ולהבין ש H, F.הם אופרטורים המציינים תהליך של תשטוש והחלקה ובפועל יישנם אלגוריתמי החלקה יעילים מאוד

לסיכום - התהליך הוא לקבלת השגיאה. לאחר מכן כך אתY, תתשתש, תוריד רזולוציה ותחסר את warp, תעשה Xקח את

לנקודה המקורית.warpהשגיאה תעלה את הדגימה, תוריד את התשתוש ותעשה

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 40: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

). Baseנוכל לפתור זאת גם בצורה בסיינית (

Pr הוא רעש לבן גאוסי: VוY=GXVנניח v=ce−V T V22 וכןPr Y ∣X =ce

−Y−GX TY−GX 22ואז

ML :מנוסח כך: מצא את התמונה שהמדידות הן הכי מסתברות X ML=argmaxx

Pr Y ∣X

X(נשים לב כי ML=argmaxx

Pr Y ∣X =argminx

∣∣GX −Y∣∣2.

)Maximum Aprostrory (MAP)Elad Fuire (97), Freeman at al (2002

רק את התמונות "הטובות" (כלומר שמקיימות כללים של תמונות)Xנרצה לבחור מתוך המרחב העצום של היא אכן תמונה:Xלשם כך נוסיף פאקטור שתפקידו לאמר מה ההסתברות של

X=argminx

∑k=1

N

∣∣DHF k X−Y k∣∣2 A[X ].

∑נקרא לחלק הזה k=1

N

∣∣DHF k X−Y k∣∣2Data term :נובע מהנתונים, ולחלק הזה – A[X חלק[

– כמה הוא נראה כמו תמונה (X. החלק הרגולטורי תפיקדו לתת ציון לregularization termהרגולטורי A[ X הוא אופרטור ציון לתמונה).[ לאומת הדרישה לתמונה.data אמור לאזן בין הדרישה להיות תואם להמשקל

של חלקות – ככל שתמונה חלקה ככה היא טובה יותר.Aנוכל בצורה נאיבית לבחור אופרטור

Pr מקסמנו את ML). בBayse נסתכל בהסתכלות בייסיאנית (MAPכדי לפתור את Y ∣X אבל עלינו . Prלמקסם את X ∣Y .

Bayes :Prנשתמש בכלל X ∣Y =Pr Y ∣X Pr X

Pr Y :ונקבל את

X MAP=argmaxx

Pr X ∣Y =argmaxX

Pr Y ∣X Pr X .

Prבנוסחא זו כל הדברים ידועים פרט ל X אין נוסחא סגורה לדעת האם אוסף של פיקסלים הוא - תמונה.. בשנים האחרונות עובדים על כתיבת פונקציית ההסתברות הזאת.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 41: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Map Reconstructionאיך פותרים בפועל – ]Aנניח פונקציית אנרגיה X (התפלגות בהנחה שקשרים קיימים אך ורקGibbs ונניח התפלגות priorכ[

Prבין פיקסלים שכנים בתמונה X =ce−A[ X :MAPואז נקבל את אותו הביטוי שבתחילת הפרק על [X map=argmax

XPr Y ∣X Pr X =argmin

x∣∣GX−Y∣∣2 A [X כאשר השגיאה היא[

MAP2 =rgmin

x∣∣GX−Y∣∣2 A[X ].

.steapest decentנשים לב שפיתרון זה גם כן קשה בגלל גודל המטריצות ויש לבצע , להלן מספר דוגמאותAכמו כן צריך לקבוע מהיא פונקציית הרגולריזציה

•Tikonov Cost Function - A[ X ]=∣∣LX∣∣2 ; L=18 [1 1 1

1 −8 11 1 היא אופרטורLכאשר [1

הלפלסיאן. - פירוש הדבר הוא שאנחנו מאמינים יותר לתמונות חלקות – נפוץ ביותר

•Total Variation - A[ X ]=∣∣∇ X∣∣1 1כלומר נורמה) L1:של הנגזרות (∣ X x ∣∣ X

y ∣-

עובד מאוד טוב

התמודדות עם צבע בלבד, ולבצעY). לבצע את הסופר רזולוציה על YUV (או YcbCrבצבע אנחנו ברצה לעבור למרחב

CbCrאינטרפולציה ב

Example Based Super Resolutionנקודת מבט מודרנית ויש לעבור לכיוון שונה.Aבעשור האחרון התפתחה הנוטציה כי אין פונקציית "קסם" אנליטית

5×5 של הרבה מאוד פטצ'ים שיש להם דוגמה ברזולוציה נמוכה Data Baseהרעיון הוא לבנות . את הפטצ'ים בונים ע"י לקיחה של תמונה אקראיות ותשטושם לרזולוציה נמוכה.7×7ורזולוציה גבוהה

DB, כשנמצא התאמה בData Base בpatch, נחלק אותה לפטצ'ים ונחפש כל Yבהינתן תמונה דגומה בפועל קודם גוזרים את התמונה לתמונת נגזרת ואז בדגימה ברזולוציה הגבוהה שלו. - patchנחליף את ה של הנגזרות. DB מחפשים ב

DB אחת – לא צריך יותר מזה כדי להגדיל רזולוציה, כל הכוחמה ב Y נשים לב שבפועל צריך רק דגימה שיטות להרכיב את התמונה ברזולוציה גבוהה3מבחינה פרקטית ישנן

•Nearest Neigbor– נחליף כל patchבתמונה בנפרד. שיטה זו מהירה מאוד אבל אין הבטחה לא עובד טוב הסמוכים. patchשתהיה קונסיסטנטיות בין ה

•Markov Network– - הרעיון הוא להביא את הביטוי הבא למינימום Pr X ∣Y =1

z ∏j∈N i

ij X i , X j∏ X i , Y i)j∈N i פירושוj בסביבה של N.(

ij יסכימו איתו: j הסמוכים patchנרצה שהiהרעיון הוא: עבור כל פיקסלים X i , X j, Y יתאים עם אותו הפיקסל במדידה Xובנוסף נרצה שהפיקסל ברזולוציה הנמוכה של

X i ,Y iניצור איזון בין אמונה ל -data לבין המעבר בין patchesהסמוכים (למשל שקווי ברזולוציה הגבוהה יהיו חלקים).patchהתפר בין ה

עובד טוב אבל לאט. Graph Cuts או Belief Prorogationהדרך לפתור את הבעיה היא באמצעות

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 42: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

•Single Pass – נניח כי ששיבצנו חלק מהתמונה ברזולוציה הגבוהה בpatch ואנחנו רוצים להוסיף patchנוסף. נחפש ב databaseפטשים שהם

, ומצד שניYמצד אחד תואמים (בגרסת הרזולוציה הנמוכה) את הדגימה צריך להתאים לחלק של התמונהhigh resolution patchהשפה של השכבר מצאנו.

y בעל יכולת חיפוש יותר מתוחכמת, אנחנו מחפשים גם התאמה לdatabaseלמעשה הגדרנו high resolution וגם התאמה לפיקסלים הידועים בחלק של הlow resolution patchבחלק של

patch.שיטה זו גם יפה וגם עפה, אבל תלוי בסדר המילוי של התמונה ברזולוציה הגבוהה

Single Image Super ResolutionIrani 2009מאמר מרכזי: לבין סופר רזלוציה קלאסית. Example Basedשילוב בין זהו

Y, נייצר מתמונה זו תמונה ברזולוציה עוד יותר נמוכה Yהרעיון – בהינתן תמונה ברזולוציה נמוכה 'באמצעות גאוסיאן ודגימה מחדש.

Y בpatch שמתאים את DataBaseעתה נבנה בגודל'ה . ונחפש אתYבתמונה 11×11 בגודל patchל5×5patchה i מהתמונה ב5 על 5 בגודל Yב database.

מבחינה סכמתית זה נראה כך: במקוםX ב11 על 11 בגודל patchרוצים למצוא •

.Y ב5 על 5 בגודל patchשבו יש Y הנ"ל בתמונה patchראשית נחפש את ה• '-

ה נשים לב שזה ממש לא טריוויאלי, למה שיהיה אותוpatchבדיוק גם ב Y (ואם לא אותוYוגם ב'patch.(לפחות אחד הדומה לו בשגיאה ריבועית

מבחינה סטטיסטית זה קורה הרבה, אומנם הpatchלא נמצא באותו מקום אבל ניתן לנמצוא

שמשתמש בכלnon local meansהתאמה. כמו דומים במקוםpatchהתמונה כדי לחפש

שפיסיקלית לא צריך להיות דמיון.Y ב patchלאחר שמצאנו את ה• ננפח אותו'

ונשתול את הדואלYבאמצעות הדואל שלו ב.Xבתמונת הפלט

נוכל להשתמש בטריק נוסף – את התהליך שתואר• –Yנוכל לעשות לכמה תלאים שנמצאים אחד ליד השני בתמונה

שנמצעיםXהתוצאה תהיה שיש לנו מספר תלאים ברזולוציה גבוהה בפחות או יותר אחד על השני.

ננצל את העובדה שיש לנו מספר דגימות של "תמונות" מאותו האזור כדילעשות סופר רזולוציה קלאסית:

www.mymentor.co.il/yonatan /לסיכומים נוספים:

X Y Y’

?

?

?

X Y

Page 43: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Motion Tracking 13(שיעור(הבעיה: יש לנו וידאו ונרצה למקם את הפריימים \ האובייקטים בפריים אחד ביחס לשני.

שעושים את זה דיי טוב2D3ישנה חברה מסחרית מאוקספורד: Motion tracking סוגים של 3יישנם

•Pixel Based•Feature Based•Object Based

מידול תנועה ) בכמה דרכים. ככל שהמידול מתוחכם יותר (עם יותרF (נקראת לעיתים Warpניתן למדל מטריצת

פרמטרים אזי הוא מתאר יותר טוב את התנועה בתמונה – מצד שני יש יותר פרמטרים להתאים:

•2D Translation :xyt=xyt−1 ef

•2D Euclidean :xyt= cos sin−sin cosxyt−1

ef •2D similarity :(סקאלה שונה בכל ציר) xyt=s1 0

0 s2 cos sin−sin cos xyt−1

ef •2D Affine :(מלבן יכול להפוך למקבילית) xyt=a b

c d cos sin−sin cos xyt−1

ef

•2D Perspective :(ריבוע יכול להפוך לטרפז) xyt=a bc d cos sin

−sin cos xyt−1 ef

g h xyt−11

2D על איזורים קטנים בתמונה אין סיבה לעשות trackingמתי נשתמש בכל מודל? כאשר עושים Perspectiveזה יקר מבחינת משאבים - מספיק לעבוד עם השיטות היותר פשוטות. אבל כאשר רוצים –

לקחת מספר תמונות ולהפוך אותם לתמונת פנורמה חשוב לנו לסובב את כל התמונה לפרספקטיבה ואז2D Perspective 2 יותר טוב (הבעיה שD Perspectiveמניח מישור תמונה בודד ואז אם יש דברים מעל

המישור לדוגמה עצים או מכוניות בתמונה הם יצאו מעוותים)

Block Matching פריימים בסרט זה לזה:2התאמה של

, שבור אותה לריבועים לא חופפים בגודלt−1קח את תמונה •8×8

(מרחק אוקלידיSSDמצא את המקביל שלהם בתמונה בעזרת •של רמות האפור) את ווקטור התנועה הטוב ביותר.

הבעיות באלגוריתם זה:ישנה סטטיסטיקה, לא כל הריבועים מסכימים זה עם זה•האלגוריתם עובר על חלונות קטנים •

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Search

Page 44: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

– היא מניחה רציפות בבהירות שלSum of Square Differenceיש בעיה בפונקציית הדימיון •העצמים

פיתרון זה מניח טרנסלציה בחלונות קטנים בלבד• , הם מכילים יותר מידע. אבלedges יותר חשובים לעקיבה מאשר כאילה בלי edgesבלוקים עם •

כמה בעיותedgeיש ב לאורך קו ישר יהיו הרבהApreture Problem יש בעיה שנקראת edgeעל ◦

בלוקים מתאימים יכשלSSD הוא בין אובייקט לרקע והאובייקט זז ביחס לרקע אזי edgeאם ◦

Pixel Based Motion Tracking – Optical Flow הוא ההיטל שלOF כתנועה האמיתית של כל הנקודות בסצינה (בעולם תלת ממדי). הMotion Fieldנגדיר

MF.על מישור התמונה האמיתי.MFנשים לב כי לא ניתן במקרה הכללי לשחזר את

.tלאותה נקודה ברגע t−1המטרה שלנו היא לשחזר לכל נקודה בעולם שנופלת בפיקסל בזמן dx,dy :Iכלומר למצוא את x , y , t = I xdx , ydy , tdt

הנחות:•Brightness Constancy רמות האפור נשמרות – תנועה קטנה בין תמונות (נניח כי אנחנו מקבלים וידאו)• אין השתקפויות \ הסתרה – כלומר פיקסלים לא נעלמים או מופיעים.•

Iניתן להשתמש בקירוב טור טיילור: xdx , ydy ,tdt =I x , y , t I x

dx I y

dy I t

dt

Iעתה בגלל שהפיקסל x , y , t נמצא בדיוק בI xdx , ydy ,tdt נוכל להניח I xdx , ydy ,tdt = I x , y , t

Iולכן נקבל את המשוואה שמתארת את התנועה: x dxI y dyI tdt=0נחלק בdt משוואת ונקבל את

Optic Flow I ה x uI y v=−I t כאשר הנעלמיםu,v :מקיימים u=dxdt

; v=dydt -I x , I yהם

Iהגרדיאנטים בתמונה, t.הוא ההפרש ברמות העפור של אותו הפיקסל לאורך זמן

נעלמים לכל פיקסל, לא ניתן לפתור אותה ויש לבצע הנחות נוספות.2בגלל שזו משוואה אחת ב-כל אלגוריתם מבצע הנחה אחרת.

Normal Flow הוא רכיב התנועה בכיוון ניצב לגרדייינט הבהירות בתמונה. ניתן לחלץ רקNF – הNormal Flowנגדיר

. (לא ניתן לחלץ את התנועה לאורך גרדיינט התנועה)OF ממשוואת הNFאת

uהסבר: נסתכל על מישור התנועה: I xv I Y I t=0מישור זה חייב להיות

∇במקביל ל I= I xI y.

נע רק ימינה או גםedge - לא ניתן לדעת האם הApreture Problemזאת היא ה)x ניצב לגרדיטנט התאורה (כיוון yלמעלה ולמטה בגלל שכיוון

www.mymentor.co.il/yonatan /לסיכומים נוספים:

?

?

edge edge

Page 45: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Lukas-Kande (81אלגוריתם (Optical Flow I כאמור משוואת ה x uI y v=−I t-נעלמים כדי לפתור אותה 2 היא משוואה אחת ב

). u,v מתנהג באותה צורה (אותם OF מניחה שבסביבה קטנה ה LK עלינו להניח הנחות. אלגוריתם

]: 5 על 5 בגודל patchנבחר סביבה קטנה סביב כל פיקסל - I x P1 I x P1... ...

I x P25 I x P25]uv=I tP1...

I t P25 (משוואה עם יותר משוואות מנעלמים), כדיover complete. משוואה זו היא Ax=bזו היא משוואה:

אנחנוAT האגפים (כשאנחנו מכפילים ב2את AT בלבד נכפיל בcompleteלהפוך אותה למשוואה

AT) ונקבל: least squaresלמעשה ממשים A x=AT b[∑ I x I x ∑ I x I y

∑ I x I y ∑ I y I y]uv=[∑ I x I t

∑ I y I t] patch שתפיקדו לתת משקל לפיקסל המרכזי בgלעיתים מוסיפים פאקטור גאוסי

[∑ gI x I x ∑ gI x I y

∑ gI x I y ∑ gI y I y]uv=[∑ gI x I t∑ gI y I t]

ATנסתכל על המטריצה A=[∑ gI x I x ∑ gI x I y

∑ gI x I y ∑ gI y I y]ונשאל מתי היא הפיכה. התשובה תלויה בערכים

. נגדיר ערך שפה 12העצמיים של המטריצה נסמנם

אזי המטרציה לא הפיכה ולכן לא ניתן להאמין לה – זה קורא כאשר אין1,2אם •edge ב patch

1אם • ; 2אזי הנקודה על שפה ולא ניתן למקם אותה בשפה (בעיית הaperture:

1אם • ,2 2אזי הפיקסל ממוקם היטב (בין edges(

score=1⋅2נוכל להגדיר מדד ביטחון בכמה מיקום הפיקסל אמין:

: MATLAB מימוש בI תמונות 2קלט: 1, I u. פלט: שדה התנועה 2 , v:

[ I x , I y ]=gradient I 1 ;

I t=I 2−I 1 ;

Iנסמן: xx= I x .∗I x ; I xy= I x .∗I y ; I yy= I y .∗I y ; I xt=I x .∗I t ; I yt=I y .∗I tg= fspecial ' Gaussian ' ,5;G xx=imfilter I xx , g ;G xy=imfilter I xy , g ; G yy=imfilter I yy , g ; G xt ,G yt ...

u=G yy .∗G xt−G xy .∗G yt / G xx .∗G yy−G xy .∗G xy

v=G xx .∗G yt−G xy .∗G xt /G xx .∗G yy−G xy .∗G xy

הערות:שסביבו.5×5 של patch עבור כל פיקסל מגיע מmotion fieldהמידע של •.u,vוקיבלנו ביטוי סגור ל 2×2 הפכנו מטריצה u,vכדי לקבל •

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 46: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

הכללה עובד רק כאשר התנועה היא לפיקסל הקרוב. לא ניתן לעבור יותר מפיקסל אחד. אבל אם יישנםLKקירוב

רזולוציות שונות של תנועה בתמונה או לחלופין התנועה היא חדה מאוד יש לבצע את הפעולות:בונים פרמידה גאוסיאנית לכל אחת מהתמונות• )warp כלשהו ברמה זו (2D על הרמה העליונה, מתקנים את התנועה באמצעות מודל LKמריצים •

ואז פותרים את הרמה הנמוכה יותר.בפועל:

יש לבצע כמה איטרצות בכל רמה•.2DAffine וברמות הנוכות 2DTransברמות הגבוהות (תשתוש גדול) משתמשים במודל •

Horn-Schunk (81אלגוריתם (Eלפי אלגוריתם זה נרצה למזער את: c=∬ I x uI y v I t

2dx dyהבעיה היא שאין מספיק אילוצים . שיאמר מהוא הסבירו ששדה התנועהpriorבמשוואה זו. ולכן בדומה לבעיית הסופר רזולוציה נוסיף משקל

E חלק הם יותר טוב: OFהוא שדה תנועה "אמיתי" – נניח כי s=∬ ux2uy

2 vx2v y

2dx dyכלומר) פיקסלים סמוכים נעים בצורה דומה)

Ecובסה"כ נמזער: E s.

הוא מספר הפיקסלים בתמונה)nנכתוב את הבעיה בכתיב מטריציוני. נגדיר: (כאשר

u=u P1...

u Pn ; v= v P1...

v PnH x=diag I x P1 , .... , I x Pn ; H y=diag I y P1 ,.... , I y Pn

I t= I tP1...

I t P2= y

H]ואז הבעיה בכיתב מטריציוני היא: x H y ][uv ]= y(אילו הם מטריצות בלוקים)

}ואז הפיתרון צריך להיות: uopt , vopt}=argminu ,v

∣∣H x u−H yv− y∣∣2∣∣DuDv∣∣2

ונקבל:0 היא מטריצת אופרטור הלפלאסיאן. כדי לפתור נגזור את הביטוי ונשווה ל-Dכאשר

uoptvopt=[H x H xDT D H xH y

H yH x H yH yDT D]−1

H x yH y y

עם פרמטרsteapest descentהבעיה היא שהמשוואה היא ענקית ולכן צריך לפתור באיטרציות של

:[uvהתכנסות ]m1=[uv ]m−[H x H xDT D H xH y

H yH x H y H yDT D][uv]m−[H x yH y y].

כאשר גם כאן לא צריך להשתמש ממש במטריצות אלא בדומה לשיעור קודם לשחזר את הפונקציונליותשהם מייצגים

הרחבה רובוסטית -במקום להשתמש בנורמה רגילה ניתן להשתמש בנורמה רובוסטית שפחות רגישה לoutlyers.

www.mymentor.co.il/yonatan /לסיכומים נוספים:

Page 47: יישומים בעיבוד תמונה.סיכום.שי אבידן.תש''ע - יונתן ויינטראוב

Feature DetectionHaris Corrnor Detectorנראה דוגמה באמצעות

שונים. edgesהמטרה: למצוא נקודות שהם בהצטלבות של

uהרעיון הוא לתת לכל נקודה , v :בתמונה ציון E u , v =∑ I xu , yv −I x , y 2נורא) ).L-Kדומה ל

דומים לו patch מסביב לפיקסל ותחפש סביבו, אם הפיקסים שסביב ל patch הציון הזה הוא למעשה קח טוב. edge תתן ציון נמוך – זה לא

.13יש עוד הרבה חומר במצגת של סוף שיעור

www.mymentor.co.il/yonatan /לסיכומים נוספים: