יום ראשון, 26 במרץ 2017

רוצים להיות מובילאיי הבאה?

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

בתחילת החודש, מספר ימים לפני ההודעה על עיסקת אינטל-מובילאיי, שחררה MathWorks את גרסת הכלים הראשונה שלה לשנה זו, R2017a (לחצו למידע). בין החידושים והשיפורים לעשרות מכלי החברה, הכילה הגרסה גם מוצר חדש – Automated Driving System Toolbox – הכולל שלל אלגוריתמים וכלים לתכנון, סימולציה ובדיקה של מערכות נהיגה אוטונומיות ומערכות סיוע מתקדמות לנהג (לחצו לעמוד הכלי).

לכלי החדש יכולות רבות, במגוון תחומים:

          Vision System Design and Simulationאיתור קווי הפרדה, רכבים והולכי רגל, וחישוב המרחק מהם, בצורה מהירה. לחצו למידע נוסף
           Ground Truth Labeling and Testing App שימושי להגדרת תגיות לאובייקטים ועקיבה אחריהם באמצעות מגוון אלגוריתמים (תמונה של ממשק המשתמש מובאת בהמשך). יכולת זו מקלה על תהליך הגדרת התגיות והשוואת הפלט של אלגוריתם נבחן אל מול מידע ה-Ground Truth. לחצו למידע נוסף
           Tracking and Sensor Fusion – מצלמת ה-Vision נותנת מידע לגבי סוג האובייקט (הולך רגל, מכונית וכו'), הרדאר נותן מידע מדויק לגבי מיקום, וכו'. בעזרת הכלי ניתן לשלב בין מקורות המידע השונים, וכן לבצע עקיבה באמצעות מגוון מסנני Kalman. לחצו למידע נוסף
          Scenario Generation יצירת תרחישי תנועה וסימולציה של פלטי חיישני המצלמה והרדאר. שימושי לצורך בחינת מקרי קצה של אלגוריתמי Sensor Fusion וכן לצורך סימולציות Open and Closed Loop. לחצו למידע נוסף
          כלי ויזואליזציה – הצגת פלטי חיישני המצלמה, הרדאר וה-LiDAR.היכולת מסייעת בתכנון, דיבאגינג ובדיקות של המערכות. לחצו למידע נוסף

המעוניינים להתנסות בכלי – מוזמנים לפנות במייל royf@systematics.co.il או להתקשר 03-7660111 ולבקש לשוחח עם נציג מכירות של מוצרי MathWorks.

ה-Ground Truth Labler App. ניתן ללחוץ על התמונה להגדלה.
מקור: אתר
MathWorks

יום רביעי, 22 בפברואר 2017

חידושים בעיבוד תמונה וראיה ממוחשבת בסביבת MATLAB

הרבה יכולות חדשות נכנסו לכלי עיבוד התמונה והראיה הממוחשבת בסביבת MATLAB בגרסאות האחרונות – פונקציות חדשות, פיצ'רים חדשים בפונקציות ותיקות, וממשקים גרפיים אינטראקטיביים (Apps) נוחים לשימוש.
דוגמאות ל-Apps (ניתן ללחוץ על התמונות לעיל לצורך הגדלה):
מימין - Image Batch Processor App המאפשר לבצע פעולה מסוימת על מספר תמונות מאותה תיקייה, ניתן לעבוד על מספר תמונות בו זמנית (לחצו לפוסט בנושא).
משמאל -
Color Thresholder App המאפשר לבצע עיבוד תמונה המבוסס על צבע (לחצו לפוסט בנושא). 

בין היכולות החדשות:

·         Point Cloud Processing – עבודה עם ענני נקודות – הסרת רעש, איחוד ענני נקודות, רגיסטרציה של שני ענני נקודות באמצעות אלגוריתם ICP ועוד...למידע נוסף – לחצו פה.
·         Structure from Motion – שערוך תנוחת מצלמה ומבנה תלת-ממדי של סצינה מתוך אוסף תמונות דו-ממדיות. שימושי עבור יישומי סריקות תלת-ממד ומציאות רבודה (Augmented Reality). למידע נוסף – לחצו פה.
·         OCR – פונקציות לזיהוי תווים אופטי וממשק גרפי (App) לאימון מודל OCR לצורך זיהוי סט ספציפי של תווים. למידע נוסף – לחצו פה.
·         המרה אוטומטית מקוד MATLAB לקוד C – תוספת של עשרות אלגוריתמי עיבוד תמונה וראיה ממוחשבת לרשימת האלגוריתמים הניתנים להמרה. לרשימה המלאה, לפי כלי MathWorks השונים – לחצו פה (חפשו את המילים Image או Computer Vision).
·         טכניקות סגמנטציה חדשות ב-Image Segmenter App כמו  Flood-Fill, Adaptive Thresholding  וסגמנטציה מורפולוגית, בנוסף לשיטתActive Contours . לדוגמה לשימוש ב-App לחצו פה.
·         האצת ביצועים באמצעות GPU – תוספת של עשרות פונקציות מעולם עיבוד התמונה לרשימת הפונקציות הניתנות להאצה בעזרת כרטיס המסך. למידע כללי על האצת ביצועי MATLAB באמצעות GPU לחצו פה. לרשימה העדכנית של הפונקציות הנתמכות מעולם עיבוד התמונה – לחצו פה.
·         ACF – גילוי אנשים בוידאו ותמונות בעזרתAggregate Channel Features . למידע נוסף – לחצו פה.
·         SLIC – סגמנטצית סופרפיקסל יעילה של תמונות צבע ותמונת Grayscale באמצעות אלגוריתםSimple Linear Iterative Clustering . למידע נוסף – לחצו פה.
·         Deep Learning – למידה עמוקה לצורך מציאת אובייקטים שמעניינים אותנו בתמונות, סיווג תמונות לקטגוריות שונות ושאר שימושים. למידע נוסף – לחצו פה.

חידושים אלה ואחרים הופכים את העבודה עם MATLAB לקלה יותר ויעילה יותר!  

לרשימה המלאה של כל החידושים בכלי עיבוד התמונה והראיה הממוחשבת, לחצו על שם הכלי הרלוונטי:
Image Acquisition Toolbox

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

יום שלישי, 31 בינואר 2017

חידושים בהמרה אוטומטית של קוד MATLAB ומודלים של Simulink לקוד C++/C ובניתוח סטטי של קוד C++/C

לפני כארבעה חודשים שוחררה גרסת ה-MATLAB השנייה לשנת 2016, R2016b. הגרסה כוללת הרבה שיפורים ויכולות חדשות ל-MATLAB ולכלים המשלימים אותו, ובפרט – לכלים המאפשרים המרה אוטומטית של קוד MATLAB ומודלים של Simulink לקוד C/C++ והמאפשרים ניתוח סטטי של קוד C/C++. במסגרת סדרת הפוסטים העוסקים בחידושים בגרסה הנ"ל (לחצו לפוסט הקודם בסדרה), מובאת להלן סקירה בנושאים שבכותרת, אשר נכתבה על ידי מיכאל דוננפלד, מהנדס אפליקציה בחברת סיסטמטיקס, המהווה מוקד ידע בכל הקשור לשימוש בכלים המוזכרים להלן.

MATLB Coder
בכלי המאפשר המרת קוד MATLAB לקוד C/C++, נוספו:
·         תמיכה בפונקציות רקורסיביות ו-Anonymous Functions.
·         תמיכה באלגוריתמי לימוד מכונה מסוג SVM  ו-Logistic Regression.
·         תמיכה ב-29 פונקציות מתוך ה-Wavelet Toolbox, כלי לניתוח אותות ותמונות באמצעות גלונים.

Simulink Coder
בכלי המאפשר המרת מודלים של Simulink (כולל Stateflow) לקוד C/C++, נוספו היכולות הבאות:
·         ייצור קוד מתוך בלוקים ייעודיים המגדירים כיצד לאתחל את המודל, לאפס את המודל ולסיים את ריצת המודל  (Initialize Function, Reset Function, Terminate Function).
·         ייצור קוד מבלוקים המאפשרים לקרוא ולכתוב ל-states של המודל.
·         ייצור קוד אוטומטי התומך בלוח Nucleo של חברת STMicroelectronics.

Embedded Coder
בכלי, המאפשר קבלת קוד C/C++ אופטימלי עבור מערכות Embedded, מתוך קוד MATLAB או מודלים של Simulink, תוך שימוש בכלי/ם הרלוונטי/ם המוזכר/ים לעיל, נוספו היכולות הבאות:
·         אפשרות לקבוע את ממשק התוכנה של פונקציות המיוצרות מ-Simulink Function block.
·         תמיכה בייצור קוד המוכוון ללוח מסוג STM32F746G-Discovery  המבוסס על Cortex-M7.
·         הקטנת כמות הזיכרון הנדרש ע"י שימוש חוזר במרחב זיכרון (Buffer reuse) במקרים שונים כגון: מבנים גלובליים של nonreusable subsystems.
·         אופטימיזציה בקוד של חישוב אינדקסים בגישה למטריצות בתוך לולאות.
·         הקוד המחולל מיוצר ללא שימוש בפעולות כפל, אלא משתמש רק בפעולות חיבור והזזה.

Polyspace Bug-Finder & Code-Prover
בכלים המאפשרים איתור באגים בתוכנה בעזרת Static Analysis והוכחה של העדר שגיאות run-time בקוד, נוספו היכולות הבאות: 
·         קונפיגורציה אוטומטית לבדיקת קוד שמקומפל ע"י Diab Compiler.
·         אפשרות הגדרות נוחה המבחינה בין קוד שרץ כמשימה מחזורית מול קוד שרץ דרך פסיקה. זאת על מנת לאפשר זיהוי בעיות הנוגעות ל-multitasking כגון: race condition, read/write contentions וכדומה.
·         אפשרות להריץ את הכלי מתוך שורת מערכת ההפעלה.
·         אפשרות להריץ אנליזה של הכלי אוטומטית מסביבת IBM®  Rhapsody 8.1 באמצעות שימוש ב-add-in  ייעודי.
·         קבלת מדד המשערך את כמות הזיכרון של משתנים מקומיים בקוד.