‏הצגת רשומות עם תוויות חידושים. הצג את כל הרשומות
‏הצגת רשומות עם תוויות חידושים. הצג את כל הרשומות

יום ראשון, 28 במאי 2017

חידושים בעיבוד תמונה, ראיה ממוחשבת ו-Deep Learning בסביבת MATLAB בגרסת R2017a

בשבוע שעבר נערך במלון הילטון כנס MATLAB & Simulink המרכזי לשנת 2017, בהשתתפות כ-600 משתמשים בכלי MathWorks. אחד מהמסלולים המבוקשים בכנס היה מסלול ה"חידושים בעיבוד תמונה, ראיה ממוחשבת ו-Deep Learning", אותו ריכז כותב שורות אלה. במסלול נסקרו החידושים המשמעותיים בתחומים הנ"ל בגרסאות האחרונות של הכלים הרלוונטים. מכיוון שאתם ודאי עוקבים באדיקות אחרי העדכונים המפורסמים בבלוג זה, לא אלאה אתכם בחידושים שנכנסו בגרסאות שאינן הגרסה העדכנית (מי שפספס - יכול ללחוץ פה כדי לעבור לפוסט הקודם בנושא).

אז הנה החידושים המשמעותיים בגרסת R2017a בתחומים עיבוד תמונה וראיה ממוחשבת:

          Registration Estimator App – יישומון אינטראקטיבי המקל על חקר של מגוון טכניקות רגיסטרציה (לחצו למידע נוסף)
          3D Volume Viewer App – יישומון המשמש לצפיה במידע נפחי תלת-ממדי (לחצו למידע נוסף). לידיעת העוסקים בעיבוד מידע נפחי - בגרסה החדשה נוספה תמיכה בעיבוד מידע שכזה במעל 20 פונקציות, וביניהן פונקציות הסגמנטציה בגישת Active Contours ו-Fast Marching
          ביצוע סגמנטציה בשיטת lazysnapping לרקע/אובייקט (מכונה גם graph cut). לתיעוד הפקודה - לחצו פה
         Image Segmenter App היישומון לביצוע סגמנטציה בשיטות שונות כולל את שיטת הסגמנטציה החדשה המוזכרת למעלה, והחל מהגרסה העדכנית – גם תומך בתמונות RGB
          פונקציה לאימון גלאי אובייקטים בגישת Aggregated Channel Features (ACF)
          הערכת ביצועי גלאי אובייקטים בעזרת מטריקות כמו Average Precision או Log-Average Miss Rate

והנה החידושים המרכזיים בגרסת R2017a בתחום ה-Deep Learning:

          אפשרות לבצע אימון בעזרת מספר GPUs על PCs ו-Clusters. השליטה על סביבת הביצוע מתאפשרת באמצעות הפרמטר ExecutionEnvironment (לחצו פה). 
          אפשרות לייבא מודלים מ-Caffe (בגרסה הבאה מתוכננת גם תמיכה ב-TensorFlow). לחצו כדי ללמוד על הפונקציות importCaffeLayers ו-importCaffeNetwork
          יכולת לבצע לוקאליזציה באמצעות Fast R-CNN ו-Faster R-CNN – כהמשך להכנסת התמיכה ב-R-CNN בגרסה הקודמת של הכלים. בהקשר הזה מומלץ להתעדכן גם בחידוש האחרון שהוזכר בחלק הקודם של הפוסט
          טעינת רשתות VGG-16 ו- VGG-19באמצעות שורת קוד אחת - כהמשך להכנסת היכולת לבצע זאת ל-Alexnet בגרסה הקודמת של הכלים
          יכולת להגדיר שכבת רגרסיה בעזרת הפקודה regressionLayer – לצורך אימון CNN לביצוע משימות רגרסיה
          אפשרות לבצע אימון בעזרת CPU בלבד למי שלא מעוניין או לא יכול להשתמש ב-GPU לצורך האימון (ניהול הזיכרון שופר, אך כמובן שעדיין עדיף להיעזר ב-GPU)
          deepDreamImage – לצורך הדגשת הפיצ'רים שהרשת למדה, שימושי לצורך הבנה ואבחון של התנהגות הרשת. לחצו לתיעוד
          Training Accuracy Plot – עוזר להבין האם האימון מתקדם בתהליך הנכון, או שכדאי לעצור ולשנות Setup. לחצו לתיעוד
          App לביצוע Labeling לסרטוני ווידאו (לחצו לתיעוד), כהמשך ל-App המסייע לביצוע Labeling לתמונות הקיים כבר שלוש שנים 

למידע נוסף – מומלץ לבדוק בתיעוד ו/או ב-Release Notes. וכמובן שב-MathWorks עובדים כעת על פיצ'רים מאוד משמעותיים שאמורים להיכנס בגרסת הכלים הבאה, R2017b, שצפויה להשתחרר בסביבות חודש ספטמבר, אז מומלץ לעקוב!


הצגת ה-Registration Estimator App במהלך הכנס

יום שני, 6 באוקטובר 2014

שלומית בונה גרסה | R2014b


בתחילת החודש, קצת לפני חג הסוכות, שוחררה גרסת R2014b של כלי MathWorks, הכוללת שינויים משמעותיים ב-MATLAB, Simulink ובכל יתר מוצרי MathWorks. להלן החידושים העיקריים:

MATLAB
שדרוג משמעותי לגרפיקה – מפת הצבעים ברירת המחדל מאפשרת תצוגה ברורה יותר, כותרות הגרפים מודגשות וגדולות יותר, Tick Labels ניתנים לסיבוב והם יכולים להכיל ביטויים מתמטיים, ועוד  לחצו לסרטון
ניתוח נתונים בעזרת פרדיגמת התכנות MapReduce המאפשרת התאמה ל-Hadoop Cluster עבור big data
טיפוסי מידע חדשים עבור עבודה עם תאריכים וזמנים (datetime, duration, calendarDuration) - לחצו לסרטון
שילוב עם מערכות ניהול הגרסאות Git ו-Subversion מתוך חלון ה-Current Folder – לחצו לסרטון
שליטה על תיקיית העבודה שנפתחת בעת העלאת התוכנה (אפשר שהיא תהיה התיקייה שהיתה בשימוש כאשר התוכנה נסגרה)
הצעת תיקונים נוספים ב-Command Window לשגיאות סינטקס (למשל, למקרים של סוגריים שלא נסגרו)
אפשרות לשימוש בפונקציות ואובייקטי Python מתוך MATLAB ומנוע ממשק לקריאה ל-MATLAB מתוך Python
אפשרות לייצר ממשקי משתמש גרפיים (GUIs) בעלי לשוניות, בעזרת הפקודות uitab ו-uitabgroup
טעינה אינקרמנטלית של מידע מקבצי טקסט גדולים ואוספים של קבצים, באמצעות פקודת datastore
שיפורים ב-VideoReader הכוללים קריאה מהירה יותר ויכולת להתחיל בקריאה החל מרגע זמן מסויים בוידאו
אפשרויות חדשות עבור שירותי WEB שונים - תמיכה בפרוטוקול SOAP (פונקצית matlab.wsdl.createWSDLClient) ויבוא מידע מתוך שרתי WEB מרוחקים בפורמטי JSON, CSV או תמונות (פקודת webread)
פקודת tcpclient לצורך קריאת ושליחת מידע מ/אל אל שרתים וציוד רשת בעזרת sockets

Image Processing Toolbox
אפליקציות לביצוע סגמנטציה או region analysis
תוספת של 16 פונקציות הניתנות להמרה אוטומטית לקוד C על ידי ה-MATLAB Coder, ביניהן: imadjust, imclearborder ו-medfilt2
סגמנטציה בגישת Fast Marching

Simulink
האצת תהליך הבניה (build) של מודלים באמצעות סימני עריכה חכמים (Smart Editing Cues) – ניתן להוסיף בלוקים באמצעות כתיבת שמותיהם ולערוך את השדה העיקרי שלהם מבלי להיכנס לממשק המשתמש, ניתן לסמן מספר בלוקים ולהיעזר בתפריט המאפשר יצירת תת מערכת מהם או התעלמות מהם, וניתן להכניס בקלות למודל בלוק שיש לו צימוד טבעי עם בלוק אחר (למשל – goto עם from לחצו לסרטון
שמירה של תצוגות גרפיות של המודל לצורך טעינה מאוחר יותר (Viewmarks – מעין סימניות) לחצו לסרטון
התחלה מחודשת מהירה של סימולציות לצורך האצת סימולציות עוקבות (Fast Restart) – שימושי כאשר רוצים לכוונן פרמטרים במודלים שמשך עדכונם (update diagram) הינו ארוך לחצו לסרטון
בניית מודלים באמצעות דפוסי-תכנון המשמשים כנקודת התחלה לפתרון בעיות שכיחות (Model Templatesלחצו לסרטון
יכולת לקשר בין Annotation לבלוק לחצו לסרטון 

Computer Vision System Toolbox
אפליקציה לכיול צילומי סטריאו
קלאס בשם imageset לאוספים גדולים של קבצי תמונה
תהליך עבודה לסיווג קטגוריאלי בגישת bag-of-visual-words
חבילת תמיכה אשר מקלה על שילוב קוד OpenCV ב-MATLAB )פונקצית visionSupportPackages)

Phased Array System Toolbox
ספריית בלוקים לשימוש בסביבת Simulink (לא עוד רק פונקציות ו-System Objects)

Fixed-Point Designer
אפליקציית המרה להמרה אוטומטית של קוד MATLAB מ-Floating Point ל-Fixed Point

HDL Coder
אפשרות לשלב Custom HDL code בתוך System Object הנכלל בפונקצית MATLAB ממנה יופק בהמשך בצורה אוטומטית קוד HDL – לחצו לתיעוד
תמיכה ב-Xilinx Vivado

HDL Verifier
יצירת SystemVerilog DPI-C מתוך פונקציות MATLAB (מצריך רישיון MATLAB Coder)
תמיכה ב-Xilinx Vivado לסימולציות FPGA-in-the-Loop

MATLAB Coder
אפשרות ליצירת קוד C מתוך פונקציות ו-System Objects נוספות ב-MATLAB, Image Processing Toolbox, Computer Vision System Toolbox, DSP System Toolbox ו- Communication System Toolbox וכן מתוך ode23 ו-ode45

Parallel Computing Toolbox
הגדלת מספר הפונקציות הניתנות להאצה בעזרת ה-GPU, למשל: accumarray, histc, cummax ו-cummin
העלאת דרישת המינימום של compute capability לצורך האצת ביצועים בעזרת GPU מ-1.3 ל-2.0


יום רביעי, 17 בספטמבר 2014

R2014a - מוטב מאוחר מאשר לעולם לא

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

MATLAB – חלון חדש לצפייה בהיסטוריית הפקודות שהוקלדו ולהרצה חוזרת של פקודות רצויות (נפתח על ידי לחיצה על מקש ה"חץ למעלה" כאשר הסמן ב-Command Window. נותן חיווי לגבי פקודות שהרצתן הסתיימה בשגיאה ופקודות שהורצו יחדיו, וכן נותן חיווי לגבי מספר הפעמים שבהם הורצה הפקודה ברציפות. מאפשר לקבל תזמון של משך הריצה של הפקודה וכן לסמן מספר פקודות להרצה מיידית); תמיכה בחומרת Raspberry Pi ובמצלמות רשת מתוך MATLAB ; אפשרות לייצר סקריפט שבאמצעותו ניתן יהיה לשמור את המשתנים ב-Workspace ולשחזרם מאוחר יותר; הצעת תיקונים ב-Command Window לשגיאות הקלדה של שמות פונקציות שפותחו על ידי המשתמש (ולא רק לשמות פונקציות של MathWorks).

Image Processing Toolbox – יכולת להמיר 25 פונקציות נוספות לקוד C באמצעות MATLAB Coder (למשל: edge, imfilter ו-imopen. סה"כ 41 פונקציות מתוך הכלי כבר נתמכות); יכולת להאיץ עוד 9 פונקציות באמצעות כרטיס המסך (למשל: bwdist, imfill ו-imreconstruct. מצריך Parallel Computing Toolbox, סה"כ 46 פונקציות עיבוד תמונה כבר נתמכות); אפליקציית Color Thresholder המאפשרת ליצור מסיכת סגמנטציה לתמונת צבע על ידי שימוש במרחבי צבעים שונים (לחצו לפוסט בנושא).

Simulink Data Dictionary להגדרת וניהול מידע הקשור למודלים (לחצו לקישור); תמיכה built-in להתקני LEGO MINDSTORMS EV3, Samsung Galaxy Android  ו- Arduino Due; אפשרות להוסיף rich text, תמונות, היפרלינקים וטבלאות במודל לצורך תיעוד משופר; יכולת לשטח תת-מערכת חזרה אל תוך הרמה שמעליה (לחצו לקישור); אפשרות לייצר ממשקי משתמש לבלוקים תוך שימוש ב-dials, sliders ו-spinboxes (מלמעלה למטה, בתמונה הבאה, ניתן ללחוץ כדי להגדיל)

Computer Vision System Toolbox – פונקציה לזיהוי תווים אופטי (OCR); הרחבת התמיכה על ידי ה-MATLAB Coder לצורך המרת קוד MATLAB לקוד C (סה"כ 86 פונקציות ו-System Objects כבר נתמכות); גלאי פיצ'רים BRISK

LTE System Toolbox – גרסת מוצרים ראשונה של MathWorks בה נכלל הכלי החדש לסימולציה של Physical Layer של מערכות תקשורת אלחוטיות הפועלות בתקני LTE ו-LTE Advanced

Simulink Real-Time – כלי המשלב את יכולות ה-xPC Target ו-xPC Target Embedded Option ומשמש לצורך סימולציות ובדיקות בזמן אמת (RST) של אפליקציות.

MATLAB Coder – תמיכה בעשרות פונקציות נוספות וב-System Objects נוספים מתוך ה-Image Processing Toolbox, Computer Vision System Toolbox, Signal Processing Toolbox, Communication System Toolbox ו-DSP System Toolbox. כמו כן – תמיכה גם בפונקציות fminsearch ו-fread; אפשרות לייצר script עבור הגדרות של פרוייקט שהוכן באמצעות ה-GUI שנפתח באמצעות פקודת coder (מאפשר אוטומציה של תהליך יצירת הקוד).

Parallel Computing Toolbox – הוסרה ההגבלה על מספר ה-cores המקומיים בהם ניתן לעשות שימוש (ההגבלה היתה למקסימום 12); תוספת פונקציות MATLAB ו-Image Processing Toolbox הניתנות להאצה באמצעות כרטיס המסך.