161 likes | 490 Views
Hough Transform זיהוי מקבילי של קוים ישרים ומעגלים בתוך תמונה. מציגים: אייל מרכוס סער ביבלה. ¿Hough Transform?. התמרת האף, זוהי התמרה שימושית לגילוי צורות בתמונה. הומצאה בשנת 1962 ע"י פול האף. Original image. After edge detection. lines found using Hough Transform.
E N D
Hough Transformזיהוי מקבילי של קוים ישרים ומעגלים בתוך תמונה מציגים: אייל מרכוס סער ביבלה
¿Hough Transform? התמרת האף, זוהי התמרה שימושית לגילוי צורות בתמונה. הומצאה בשנת 1962 ע"י פול האף
Original image After edgedetection lines found using Hough Transform ¿Hough Transform?למה זה טוב? מסיבות רבות כגון: רעש, איכות תמונה נמוכה, טשטוש, וכדומה, יש בעיה להבחין בקווים ומעגלים בתמונה. התמרת האף זהו כלי שימושי המאפשר לזהות קוים ישרים ומעגלים שלאו דווקא מחוברים.
זיהוי מכשולים ע"י רובוטים זיהוי מדרכות זיהוי מיקום חפצים על-ידי מחשב ¿Hough Transform?למה זה טוב?
¿Hough Transform?איך זה עובד? ישר מוגדר ע"י 2 פרמטרים: m, n לכל נקודה בתמונה נמצא את כל ה-n ו-m המתאימים קיבלנו משוואת ישר חדשה, במישור m, n - מישור האף
¿Hough Transform?איך זה עובד? קיבלנו משוואת ישר חדשה, במישור m, n - מישור האף סופרים את כל נקודות החיתוך של הישרים במישור האף. נקודת החיתוך שדרכה עוברים מספר הרב ביותר של ישרים (במישור האף), היא בעלת הסבירות הכי גבוהה לייצג את ה-m, n של הישר במישור x,y.
¿Hough Transform?איך זה עובד? הדגמת טרנספורמציה (מקומי) • באותה מידה ניתן לייצג את מישור האף בצירי r, θ. כאשר הישר מיוצג ע"י: • מאפשר לנו לייצג קווים אנכים (m=∞ n=∞). • באותה השיטה ניתן לייצג כל צורה בעלת 2 פרמטרים (מעגל בעל רדיוס קבוע, אליפסות) הדגמת טרנספורמציה (אינטרנט)
¿Hough Transform?אלגוריתם • עבור כל נקודה בתמונה נריץ ערכי θ בין 0 ל- π ונבנה מערך של r, θ • נסכום את כל המערכים שהתקבלו. • התא במערך בו התקבל הערך הגבוה ביותר של r, θ הוא בעל הסבירות הגבוהה ביותר לייצג את הקו הישר. • עבור מעגל, לכל פיקסל בגרף ידוע x,y,R נריץ את ערכי b ונחשב את a • שוב נשמור מערך 2d אשר ימנה את צרופי a,b. • לאחר סכימת המערכים, התא בעל הערך המירבי מייצג את מרכז המעגל בעל הרדיוס R.
¿Hough Transform?המיקבול כיצד נמקבל את הבעיה ? Pipeline Dynamic load balance Divide & conquer Static load balance
¿Hough Transform?כיצד נתקוף את הבעיה? • חלוקת התמונה לרצועות עפ"י מספר המעבדים. • כל מעבד מחשב את מישור האף היחסי של הרצועה שלו עפ"י האלגוריתם הטורי. • כל המעבדים שולחים את המערך שנוצר למאסטר, שסוכם את המערכים. • התא בעל הערך המקסימלי מייצג את פרמטרי הקו הישר, או המעגל.
¿Hough Transform? לאחר עיבוד התמונה, ניתן לראות את מרכזי המעגלים חלוקה לרצועות, לפני העיבוד
¿Hough Transform?השערות וצפיות במימוש ב-PVM נצפה לSpeed-up מאד מוגבל, מכיוון ששליחת רצועת התמונה גוזלת זמן רב ביחס לחישוב. במקרה בו לכל מעבד גישה לתמונה המלאה (Shared Memory) נצפה להאצה גבוהה. לא ניתן לממש שיטה זו על מערכת ה-Dwarfs מכיוון שישנם רק 2 מעבדים שיכולים לגשת לזכרון המשותף. אבל...
¿Hough Transform?לסיכום • נממש את התוכנית בשפת PVM. • נשתמש בחלוקה לרצועות. • ליצירת מדדי השוואה ל-Shared Mem נמדוד את זמני הריצה ללא פיזור התמונה (scatter).
? ¿Hough Transform? שאלות F I N