210 likes | 398 Views
Model Based Object Recognition be Geometric Hashing. By : H. J. Wolfson מציג : ניר סגיב. הקדמה. הגדרת הבעיה : יצירת מודל חישוב מהיר עבור זיהוי צורות הן בדו מימד והן בתלת מימד , כאשר טווח הצורות לזיהוי ידוע ואנו מסוגלים לאפשר שלב לימוד ארוך.
E N D
Model Based Object Recognition be Geometric Hashing By : H. J. Wolfson מציג : ניר סגיב
הקדמה • הגדרת הבעיה : יצירת מודל חישוב מהיר עבור זיהוי צורות הן בדו מימד והן בתלת מימד , כאשר טווח הצורות לזיהוי ידוע ואנו מסוגלים לאפשר שלב לימוד ארוך. • שימושים : רובוטיקה בתעשיה, שימושים מוגדרים מראש של זיהוי צורות.
הבעיות שיש לטפל בהן • מצבים רבים ו"מבלבלים". • זוויות ראיה שונות. • מרחקים שונים מהאובייקטים הנצפים. • בתלת מימד – מידע ש"נעלם" בגלל זווית הראיה.
הגדרה מתמטית של אובייקט לפני שנוכל להתחיל לדבר על זיהוי אובייקטים ראשית עלינו להיות מסוגלים לתת הגדרה מתמטית לאובייקטים על מנת שנוכל ללמד את המערכת שלנו לזהות אותם. • נניח כי ניתן לזהות "מאפינים מעניינים" על אובייקטים. (כך שגם מודל האובייקט וגם הסצינה יכולים להיות מיוצגים על ידי נק' אילו) • ניתן להגדיר זיהוי צורה בסצינה כמציאת התאמה בין הנק' המיוחדות בסצינה לבין הנק' המיוחדות של האובייקט.
הגדרה מתמטית של אובייקט • יכולת הזיהוי צריכה להיות מסוגלת לעמוד בשינויים בסיסיים כגון סיבובים והזזות קשיחות כמו גם שינויים בקנה המידה. בהנתן n נק' מעניינות במרחב ו m נק' מעניינות במודל ישנן O(nm) דרכים לבצע התאמה.
Geometric Hashing paradigm המודל שנבחר צריך לתת פיתרון לשתי בעיות מרכזיות : • יצוג צורות המודל. • התאמה בין הנתונים בשטח (סצינה) למודל.
יצוג צורות המודל • GHP(Geometric Hashing paradigm) מציגה גישה אחידה לנושא היצוג (והזיהוי) של הצורות תחת טרנספורמציות מגוונות (3-D & 2-D). האובייקטים מיוצגים כקבוצות מינימליות של מאפיינים גיאומטריים והיחסים ביניהם. בפיתרון שנראה המאפינים הגאומטרים יהיו נק'. Geometric Hashing paradigm
יצוג צורות המודל המטרה בשיטת היצוג היא לקודד בדרך יעילה גופים קשיחים כך שעבור כל טרנספורמציה נוכל לקבל יצוג אחיד של הגוף. נתחיל ביצוג של גופים דו מימדיים – ידוע כי כל תנועה של גוף דו מימדי יכולה להיות מיוצגת בצורה יחידה על ידי תנועה של שלוש נק' (שאינן על ישר אחד) של אותו גוף. Geometric Hashing paradigm
יצוג צורות המודל ולכן נייצג כל גוף על ידי שלוש נק' ממנו ואת כל שאר הנק' שלו ניצג בצורה יחידה על ידי שלוש הנק' הללו. • את טרנספורמצית הסיבוב נבטל ע"י בניית שני וקטורים המקבילים ל X ו Y. • את ההזזה ע"י קיבוע הנק' לראשית הצירים. • ואת קנה המידה על ידי יצירת קנה מידה חדש בזמן יצירת שני הוקטורים הרלוונטיים. Geometric Hashing paradigm
V = aex + bey + e00 = a(e10 – e00) + b(e01 – e00) + e00 e01 דוגמא e10 e00 Geometric Hashing paradigm
הגדרה זו נוחה מאוד. • כל גוף עבור כל טרנספורמציה (בהנחה ובחירת הנק' המעניינות מוגדרת בצורה יחידה) יתן את אותו מבנה וקטורים. • מכוון שאין אנו יודעים אילו נק' יבחרו בזמן אמת כשלושת נק' היחוס לכניס למבנה הנתונים (hash table) את כל השלשות האפשריות עם כל היצוגים האפשריים של הנק' האחרות כווקטורים בבסיס האפיני(e00, e01, e10). Geometric Hashing paradigm
Complexity – running time • כמובן שזמן הריצה עבור הנתונים הוא ארוך מאוד O(m4) – כל אחת מ m הנקודות מקודדת ב m3 בסיסים שונים ולכן זמן הריצה ארוך – כמובן שהמקום שהמידע תופס הינו רב. • מכוון שאנו מעוניינים בזמן עבודה מהיר על חשבון הכנות רבות בשלב ה"למידה", זמן זה הכרחי על מנת להשיג תוצאות טובות בזמן ריצה. Geometric Hashing paradigm
אלגוריתם הלמידה • Extract the objects interest points. • For each ordered non-collonear triplet of model points (affine basis) do : • Compute the coordinates of all other m-3 model points in the affine coordinate frame defined by the basis triplet. • Use each such coordinate (after a proper quantization) as an address (index) to a hash-table, and record in the appropriate entry of the table the pair (model, basis). Algorithm Steps
אלגוריתם ההשוואה/הזיהוי • Extract the interest points (of scene). • Choose an arbitrary ordered triplet (affine basis) and compute the other point from the triplet. • For each such coordinate check the appropriate entry in the hash-table & vote for every pair which apears there. (the votes accumulator will have mi3 entries – where N is the num of models and mi is the number of interes points on the I’th model) N Algorithm Steps
אלגוריתם ההשוואה/הזיהוי • If a certain pairscores a large number of votes, decide that this pair corresponds to the one chosen in the scene. • Consider all the model-image point pairs which voted for the affine transformation of step (d) and find the transformation giving the best least-squares match between all these corresponding pairs. Algorithm Steps
אלגוריתם ההשוואה/הזיהוי • Transform all the edges of the model according to the affine transformation of step (e) and verify them versus the scene edges. If the verification fails go back to step (b) and start over with three other points. Algorithm Steps
אלגוריתם הלמידה Object Acquisition Interest Feature Extraction Transformation Invariant Coordinate System HASH TABLE H(coordinate)=(Object,Basis) Algorithm Steps - Scheme
אלגוריתם ההשוואה/הזיהוי HASH TABLE H(coordinate)=(Object,Basis) Computation of interest feature coordinates in given basis VOTE For (obj,basis) pair NO (obj,basis) with high vote Basis Choice YES Find best least-squares match BAD Interesting feature Extraction Verify obj edges against scene GOOD SCENE Eliminate obj PROCEED Algorithm Steps - Scheme
אלגוריתם - דגשים דגשים : אין אנו מצפים בשלב f להגיע עם מועמד אחד אילה להוריד בצורה משמעותית את מספר הצורות המועמדות. במידה ונבחרו 3 נק' השייכות לאותו מודל האלגוריתם יצליח לזהות אותו. זמן הריצה במקרה הגרוע יהיה O(n4) אבל עבור רוב ההרצות ובמיוחד עבור סצינות שאינן עמוסות במודלים רבים נקבל זמן ריצה טוב בהרבה. Algorithm – and more
אלגוריתם - דגשים דגשים : האלגוריתם יעבוד בדיוק באותה צורה גם עבור ישרים (המישור האפיני דואלי לעצמו). ניתן לבצע אלגוריתם חכם בבחירת הנק' לחישוב הבסיס וכך לתת לנו אפשרות לשיפור נוסף בזמן הריצה. אם נרצה לבצע חישוב זה עבור תלת מימד נצתרך לבצע חישובים לפי בסיס מסדר 4 (3 מהנק' כמו בדו מימד והנק' הרביעית במישר שאינו משותף לשאר) Algorithm – and more