1 shape skeletonization shape skeletonization by identifying local symmetries

36
1 Shape Shape skeletonization skeletonization By identifying local By identifying local symmetries symmetries

Post on 19-Dec-2015

230 views

Category:

Documents


1 download

TRANSCRIPT

1

Shape skeletonizationShape skeletonizationShape skeletonizationShape skeletonization

By identifying local symmetriesBy identifying local symmetries

2

הגדרה הינו תצוגה צורנית אשר שלד

מתאימה ,באופן מיוחד ,לתאור

צורות מוארכות כגון

דמויות , ציורים וקוים.

3

דוגמאות ומוטיבציות להשלדה(1 )

רובוטיקה

תוך המנעות Y לנקודה Xניווט בין נקודה

מפגיעה במכשולים.

Y X

4

דוגמאות ומוטיבציות להשלדה(2)

אנימציה

( גם בתלת מימדי )קיים שלד.לכל גוף

טכניקות מסויימות של השלדה מאפשרות לנו

חזרה לגוף המקורי

5

דוגמאות ומוטיבציות (3 )להשלדה

השוואה צורנית

לכל צורה ניתן לחשב ע”י השלדה

שלד משלה. את השלד נוכל להשוות ע”י קרוב

)לדוגמא בעזרת מרחק אהוסדורף(

למאגר צורות ידועות מראש ועל ידי כך

להתאים משמעות לכל צורה

6

הכרות עם המאמר אודרגת אפורדמויות ניתן להשליד מתמונה עם

,אותה ניתן להשליד בשתי שיטות בסיסיות:בינרית( כגון הצרה וכד)’מבוססות פיקסליםשיטות •

שיטות אלו קלות יותר לתכנות אך פחות מדויקות*איתם נתעסק לא מבוססות פיקסליםשיטות •

במאמר זה

שיטות אלו מהירות יותר(פחות פיקסלי קלט)אך *קשה להגדיר תכונות אנליטיות כגון סימטריות

בדומיין הבדיד

7

( 1סימטריות מקומיות )סימטריה מקומית נוצרת בין שתי צדדים

משיק Cמנוגדים של צורה ,כאשר מעגל לשתי הצדדים המנוגדים הללו.

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

P1

P2

C

M

8

( 2סימטריות מקומיות )אבל!!

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

דגומים ולא בצורה אנליטית!!!

9

( 2סימטריות מקומיות )דוגמא בעיתית

נצטרך להגדיר מחדש סימטריה מקומית

לדומיין הבדיד

10

( 3סימטריות מקומיות )( מורכב משני סוגי אלמנטים:contourמתאר דיגיטלי )

CE-A ( contour element - Aפיקסלי מתאר )• CE-B ( contour element – Bסגמנטי מתאר )•

את הסימטריה ניצור בין:• CE-A – CE-Aמשני הצדדים • CE-B – CE-Aמשני הצדדים • CE-B – CE-Bמשני הצדדים

11

סימטריות מקומית - הגדרהאלמנטי מתאר מנוגדים ויוצרים סימטריה מקומית

אם:מעגל העובר דרך כל נקודות הסיום של שני •

האלמנטים לא מכיל אף פיקסל מתאר אחר.שני אלמנטי המתאר ניתנים לצפיה האחד מן •

השני בתחום הרקע הקידמי.

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

12

דוגמאות להגדרה

CE-B

המעגל חןצה אלמנטי מתאר

לא ניתנים לצפיה

CE-B

13

(1הערות ) נקודות דרכם 4שני סגמנטי מתאר יוצרים לי •

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

14

(2הערות ) סימטריה יוצריםכמו כן שני פיקסלי מתאר •

מקומית בנקודה אחת בודדה, עובדה זו גורעת לכן נעדיף גם אותם לא לבחור.לנו מהיעילות,

15

(3הערות )לסיכום ההערות – נעדיף לבחור •

CE-A – CE-B

CE-B

CE-A

16

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

שעוברת דרך Mאומרת שקיימת מראה אמצעי שני הקטעים שמחברים את קודקוד

וסגמנט המתאר.

M הוא ה DLS שמקביל ל SLSבדומיין הבדיד Discrete Local Symmetry – DLS

Smoothed Local Symmetry - SLS

17

לסיכום הסימטריה המקומית דוגמא

P1

P2

C

MP3

P1

P2

C

P3

SLS

DLS

18

היישום

PSLGאם נבנה את ה • ומה CE-Aשמורכב מה-

-CE-B ונריץ עליו CDT נקבל מעגל שעובר דרך CDTטריאנגולציה ולפי תכונת ה

סגמנט מתאר וקודקוד מתאר לא יכיל אף נקודת מתאר 1נוספת וזה יתאים להגדרה .

רק את המשולשים CDTאם ניקח מהפלט של ה • 2 נקבל את הגדרה .הרקע הקידמישיושבים במלואם על

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

19

חלוקת משולשים לסוגי מבנהכל צלע במשולש יכולה להיות:

CE-Bחיצונית – אם היא •פנימית - כל השאר•

סוגים:4מכאן נוכל לסווג את המשולשים ל בלי צלעות פנימיות I-Tמשולש בודד- • עם צלע אחת פנימית E-Tמשולש קצה- • עם שתי צלעות פנימיות N-Tמשולש נורמלי- • עם שלוש צלעות פנימיות J-Tמשולש צומת- •

משולשיםסימטרים

משולש לא סימטרי

J-T E-TN-T

I-T

20

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

סוגי המשולשים:

- E-Tישר ממרכז המשולש למרכז הצלע הפנימית

- J-T שלושה ישרה ממרכז המשולש למרכזי כל הצלעות

- I-Tנקודה במרכז המשולש

- N-T ישר ממרכז צלע פנימית אחת למרכז הצלעהפנימית השניה

*ענף הוא שרשרת”( לולאה )“של משולשים נורמלים שמוגבלים משני צדדיהם ע”י משולשים סופים( או

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

21

דוגמאות

22

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

מלאכותים שלא משקפים לי את הצורה האמיתית:תוצרים פריפריאליים – ענפונים קטנים שלמעשה •

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

תוצרים הצטלבותים – בגלל צורת הבניה, במקום •שצומת יראה לי כפוליגון צומת, אנו נקבל קבוצה של כמה משולשי צומת שיגרמו לצורה להתעוות

23

תוצרים פריפריאלים לעומת l של בליטה באורך γניתן לחשב את היחס

כאשרwרוחב • l הוא סכום אורכי הקטעים של שלד בענף( בלי

משולש הצומת)• w”הוא ממוצע הצלעות הפנימיות של כל ה”לולאה וזה מספק ) כאשר 0.5 אצלנו הוא γthנגדיר קבוע( •

l/w = γ < γth זה אומר שנזרוק את הענף הנ”ל

24

תוצרים הצטלבותים או יותר משולשי צומת2הצטלבות לרוב מחולקת ל

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

זוגות הענפים שמחוברים למשולש זה( לפי ’ Cהאוריאנטציה שלהם )ונקבל את

’ מחוץ למשולש הצומת אז נאחד את משולש Cאם •’ Cצומת זה עם המשולשים הפנימיים שבינו לבין

שהיא צלע פנימית מאשר e’ קרוב הרבה יותר ל Cאם •למרכזו של משולש צומת זה אז נאחד את משולש זה

eעם המשולש מעברו השני של

’ קרוב C את הפעולה נמשיך לבצע עד ש *מספיק למרכז המשולש

25

(1דוגמא )

26

(2דוגמא )

27

(3דוגמא )

28

האלגוריתם הסופיהכנס קלט דמות בינרית1.( median stroke width)הערך את משיכת הקולמוס 2.

חלץ קווי מתאר3.

” מהדמותsalt & pepperהסר רעשים “4.

דגום מחדש מתאר5.

CDTחשב את ה 6.

כל עוד אין יותר מה לשנות חזור:7.הסר תוצרים פריפריאלים1.הסר תוצרים הצטלבותיים2.

הוצא שלד8.

29

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

ע”י Wmראשית נעריך את משיכת הקולמוס •סריקה אנכית ואופקית , מסריקה זו נוציא את

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

השחורים בתמונה .נקודת המקסימום( עם Wmההסתברות הכי גבוה )הוא ה

30

( 2שיפורים ויעולים)” כשמם הם:salt & pepperרעשי ה ”•

( הינו מערכת של פיקסלים pepper“אי ”מורעש )–שחורים אשר מספר פיקסלי המתאר שלו הם

יספק )Wm + 5מתחת לסף מסויים( אותנו ( אם קו המתאר המתאים שסביבו saltחור מורעש )–

יספק)Wm + 6מתחת לסף מסויים( אותנו

אם באחד המקרים קבוצת הפיקסלים לא עוברת את הסף את נהפוך את צבעם

31

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

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

דגימה 1 פיקסלים שניקח נשאיר( N + 1כל Nכאשר (N + 1 / )1של )

פרופורציונלי למשיכת הקולמוס נוכל לשמור על הצורה

α) N = α * Wm(0.3 אצלנו הוא

32

האלגוריתם הסופיהכנס קלט דמות בינרית1. (median stroke width)הערך את משיכת הקולמוס 2.

חלץ קווי מתאר3.

” מהדמותsalt & pepperהסר רעשים “4.

דגום מחדש מתאר5.

CDTחשב את ה 6.

כל עוד אין יותר מה שלנות חזור:7.הסר תוצרים פריפריאלים1.הסר תוצרים הצטלבותיים2.

הוצא שלד8.

33

!! זמניםCDTזמן ריצת האלגוריתם הינו כזמן ריצת ה –

O(n logn)כלומר אולם במהלך בדיקות היעילות של אלגוריתם זה

שזמן ריצתו הואCDTנעשה שימוש באלגוריתם

O(n²) ועדיין הראה ביצועים יעילים בהרבה

מאלגוריתמים מבוססי פיקסלים

34

!! זמניםחשוב לציין שמעבר לזמנים אלגוריתם זה רץ

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

אותם אנו דוגמים

35

דוגמא להשוואה)יעילות גם התמונה מורעשת(

36

דוגמאות להשוואה )יעילות גם בתמונה מורעשת(