האקתון בנושא "סגמנטציה באמצעות MATLAB" באוניברסיטת בן גוריון

בתאריך 13.01.20 נערך מיני – האקתון ("תחרות תכנות") במסגרת הקורס "מבוא לעיבוד תמונה" באוניברסיטת בן גוריון, בהובלתה של ד"ר תמי ריקלין-רביב. תמי הינה מרצה בכירה באוניברסיטה אשר מלמדת את הקורס במסגרת לימודי תואר ראשון להנדסת חשמל ונחשבת לאחת הפיגורות המובילות בארץ בתחומי עיבוד התמונה, הראיה הממוחשבת והלמידה העמוקה.

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

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

ההאקתון נערך ביוזמתה של תמי וסגל הקורס, אשר ארגנו את האירוע בקפידה רבה.

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

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

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

התחרות עצמה עסקה בנושא "סגמנטציה" (הפרדת אובייקטים מהרקע).

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

במסגרת הנחיות התחרות צוין – ההשתתפות מותרת למשתמשי MATLAB בלבד! 😊

הפתרונות אותם הגישו הסטודנטים נבדקו בזמן אמת על תמונות שצולמו קודם לכן ע"י סגל הקורס (בתנאי תאורה שונים, זוויות צילום שונות וכו') וזאת ע"מ לאמוד את רובסטיות הקוד. האבלואציה התבצעה באמצעות כלי שפותח ב-MATLAB ע"י אחד המתרגלים (כלי המזכיר מאוד ביכולתיו את ה-MATLAB Grader). באמצעות כלי זה, כל קבוצה יכלה לדעת כמה נקודות צברה בכל נקודת זמן לאורך התחרות וכן לקבל חיווי על טיב הפתרונות שהם הגישו. כמו כן, הסטודנטים יכלו לראות מה מצבם ביחס לקבוצות אחרות בזמן אמת – דבר אשר העצים ללא ספק את מידת המוטיבציה והתחרותיות שלהם.

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

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

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

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

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

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

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

זו הייתה פלטפורמה מעולה להעשיר את הידע של הסטודנטים בכלים ובתכולות שקיימים כיום בתחומי עיבוד התמונה בסביבת MATLAB. כמו כן, ניתנה לסטודנטים טעימה בנושא למידה עמוקה והוצגה סביבת הלמידה האינטרנטית של MathWorks, אשר כוללת בין היתר קורסים ללא עלות בתחומים נבחרים (אתם מוזמנים לנסות את קורסי ה-Onramp החינמיים באתר של MathWorks  , אשר לא מצריכים רישיוןMATLAB  ומבוצעים דרך הדפדפן. כל קורס אמור לקחת כשעתיים וניתן לעצור אותו בכל שלב ולהמשיך כאשר אתם רוצים. למעבר לקורסי ה-Onramp – לחצו כאן).

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

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

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

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

  • רוצים שנגיע גם אליכם? בתור מרכזת הפעילות מול הסקטור האקדמי – אתם מוזמנים ליצור עימי קשר במייל: JennyE@systematics.co.il ואנו נקדם זאת יחדיו!
  • רוצים להתנסות בעבודה עם Deep Learning בסביבת MATLAB? לחצו כאן!
  • לצפייה בהרצאותבעברית בנושא Deep Learning מתוך הכנס השנתי של חברת סיסטמטיקסלחצו כאן.
  • רוצים להתעדכן בחידושים בתחום עיבוד התמונה והראייה הממחושבת? היכנסו לפוסט הקודם שלנו.

 

SOLIDWORKS Toolbox- Part 2

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

מה יקרה אם עבדתי במחשב אחד בשיטת Create Parts ונשמרו לי חלקים חדשים בתיקיית CopiedParts ואז עברתי לעבוד על אותה ההרכבה עם מחשב אחר שאין לו את אותם הקבצים בתיקייה הזו והוא מוגדר לעבוד בשיטת Create Configurations?

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

אותו דבר גם בצד השני, אם עבדתי בשיטת Create Configurations, ופתחתי את ההרכבה במחשב שבו שיטת העבודה היא Create Parts אז התוכנה תראה שאין לו את הקבצים האלו בתיקיית CopiedParts ותיצור, באופן מיידי, העתקים מתאימים לחלקי המאסטר באותה תיקייה.

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

אני רוצה להמשיך ולפרט על שאר האופציות שקיימות באפליקציית Toolbox:

Hole Wizard– בחלון הזה אנחנו רואים את כל ספריית הקדחים ו- Smart Fasteners לאותם קדחים סטנדרטיים. ההגדרות האלו באות עם כל התקנה של SOLIDWORKS, בכל הגרסאות.

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

אם אתם צריכים קדחים בגדלים שלא קיימים היום בספריה ניתן להוסיף אותם אבל אנחנו לא ממליצים לעשות את זה על התקן הקיים אלא לבצע העתק שלו ושם לבצע את השינויים הרצויים. כדי להעתיק ספריה אנחנו נכנס אליה ונלחץ על Copy Standard. אני אדגים את התהליך ע"י יצירה של תיקייה חדשה שמתבססת על תיקיית ANSI Metric

כל קדח בנוי על בסיס 3 טבלאות שמרכיבות אותו: Sizes, Thread Data ו- Screw Clearances. את הטבלאות האלו ניתן לייבא ולייצא לקובץ Excel, מה שמאפשר לנו לערוך את הנתונים בחוץ ולהחזיר חזרה לאפליקציה. בתום הפעולה תקפוץ לנו ההודעה שתשאל אותנו האם אנחנו מעוניינים לשמור את כל הטבלה ולהחליף את הקיימת או רק להוסיף את הנתונים שהוספנו בקובץ הנ"ל.

כפתור ה- Reassign מאפשר להגדיר את הברגים שיכנסו באופן דיפולטי (דרך Smart Fasteners) לקדחים שנוצרו בפיצ'ר Hole Wizard.

בואו נעבור לאופציה הבאה:

 

Customize your hardware– בחלון הזה אנחנו רואים את ספריית הקשיחים המלאה. גם פה אנחנו ממליצים לסנן לפי התקנים שמאושרים לעבודה בארגון שלנו. אחרי הסינון הראשוני, ניתן להכנס לקשיח בתקן הרצוי ולצקות את הסימון (V) עבור גדלים וערכים שלא בשימוש- הסינון הזה יפחית לנו בכמות הקונפיגורציות ויקל על העבודה שלנו.

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

כך שכשאפתח הרכבה אני לא אצטרך ללכת ל- Find References בשביל לראות שהברגים נמשכים מהתיקייה הנכונה, אלא אראה את הצבע של הברגים, הכחול, וכך אדע שמדובר בקשיחים מהספריה שלי.

אחרי בחירת הקשיחים והגדלים ניתן להגדיר Custom Properties ולהוסיף נתונים כמו למשל Part Number ייחודי של החברה שלנו, Material ועוד. גם את הטבלה הזו ניתן לייצא לקובץ חיצוני, לערוך את הקובץ ב- Excel ולייבא את הנתונים בחזרה. שימו לב שאם אני בוחרת לעבוד בשיטה הזו אני צריכה לדאוג שהטבלה שלי לא תשתנה מבחינת מספר שורות ועמודות במהלך העריכה.

 

 

*טיפ נוסף שכדאי להכיר- קיימת עוד אופציה להפחית מהעומס ולהשאר עם המידע הרלוונטי שיש בו שימוש בחברה שלכם ואני מתכוונת לצורה שבה ההברגה מופיעה בקשיחים- האם היא מוגדרת לחלוטין או שאנחנו יכולים להשתמש בסימון קוסמטי בלבד ויכול להיות ששיטת העבודה שלי מאפשרת לי לפשט את הקדח לחלוטין ובכך להוריד 2/3 מהקונפיגורציות.

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

אני רוצה להמחיש את העניין הזה בכך שאוסיף עוד נתון מסוג Material:

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

*טיפ-  לפני שמבצעים כל שינוי בטבלה, כדאי לייצא אותה לקובץ Excel וכך לגבות את הנתונים לפני השינוי.

 

Set Permissions- זו ההגנה על הגישה ל- Toolbox באמצעות מתן הרשאות והגדרות לפונקציות השונות. אני ממליצה לבחור האם ואיזה הרשאות המשתמשים בחברה יקבלו ולגדיר Set the same for all users כך שתהיה גישת עריכה רק לאדמיניסטרטור ולשאר המשתמשים אותן הגדרות בצורה אחידה.

*טיפ לאדמיניסטרטור– לא לשכוח את הסיסמה!! 🙂

Configure Smart Fasteners– הגדרות ששייכות לקשיחים שיכנסו כברירת מחדל לקדחים שנעשו עם פיצ'ר Hole Wizard. אילו גדלים יתאימו, האם ההתאמה מדוייקת או שנגדיר טולרנס מסויים להתאמה, כמה כריכות יהיו מחוץ לאום וכו'..

 

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

פתחתם הרכבה ששלחו לכם/ שנוצרה במחשב אחר והקשיחים מאוד גדולים ולא מתאימים למידות המקוריות?

התופעה הזו מתרחשת כשאנחנו פותחים הרכבה עם רכיבי Toolbox והמידה המדוייקת שלהם לא קיימת ולא נוצרת כחלק חדש/ קונפיגורציה לחלק מאסטר, מה שנכנס במקום הקובץ שחסר זה חלק מאסטר עצמו, בקונפיגורציית Default.

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

למה הגודל הנכון לא נוצר במחשבים שלכם? זה יכול לנבוע מזה שאתם משתמשים בגרסת SOLIDWORKS Standard שלא מכילה בתוכה Toolbox, או שיש לכם בחברה Database שונה של Toolbox מהמחשב שבו ההרכבה נוצרה ואין לכם הרשאות ליצור חלקים חדשים שלא נמצאים אצלכם במאגר. סיבה נוספת יכוה להיות שדרוג של SOLIDWORKS ובחירה ביצירת ספריית Toolbox חדשה ולא שדרוג של הקיימת.

אם אף אחד מאלו הוא לא המקרה שלכם אז זה אומר פשוט ש-SOLIDWORKS לא מחפש בספריה הנכונה ואז אנחנו נכוון אותו לתיקייה הנכונה ונסמן את הצ'ק בוקס Make this folder the default search location for Toolbox components (צילום מסך מצורף בהמשך)

אם זה המקרה ואתם לא יכולים לייצר את הקשיחים האלו- כדאי לבקש ממי שהעביר לכם את ההרכבה שיסמן Include Toolbox components בתהליך ה- Pack and Go וכך תקבלו את הרכיבים יחד עם ההרכבה. במקרה הזה עליכם להוריד את הסימון בצ'ק בוקס הנ"ל כדי שהתוכנה לא תלך לחפש בספריה הזו קשיחים (כי הם לא נמצאים שם)

 

 

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

אם יש לכם שאלות או נושאים נוספים שתרצו שארחיב עליהם תכתבנו לנו 🙂