Courses
- Introduction Ot Computer Vision (10224) Course summary:
- Convolutional Neural Networks for Computer Vision (10243) Course summary:
- Deep Learning (20219) Course summary:
- Advanced Digital Signal Processing Laboratory (20338) Course summary:
Abstract:
Computer vision, a key branch of artificial intelligence, is among the most rapidly advancing areas in engineering. It focuses on enabling automated interpretation and understanding of visual data, images and videos, which constitute approximately 80% of global internet traffic. Common applications span a wide range, including image-based text recognition, identification of objects, people, locations, and activities, medical image analysis for disease detection, 3D reconstruction from 2D visuals, image captioning, and the generation of visual content from textual or visual prompts. These technologies enhance human capabilities in areas such as driver assistance, accident prevention, autonomous navigation, automated media classification, and improved human-computer interaction.
This course offers a foundational introduction to the field of computer vision and is also designed as a basis for the advanced course “Neural Networks for Computer Vision Applications”. It can serve independently or complement introductory courses in image processing, computer graphics, deep neural networks or machine learning. The course is well-suited for students in software engineering and data sciences programs. Instruction emphasizes current technologies at the forefront of industry and research.
Topics include:
• Introduction and applications of computer vision
• Image generation and representation
• Spatial and frequency domain image processing including convolution and correlation
• Data augmentation and dataset enhancement techniques
• Feature detection and introduction to image classification
• Introduction to convolutional neural networks
• Applications of CNNs for classification, detection, segmentation
• Training, visualization, and interpretation of computer vision models
Includes a weekly 2-hour lecture and a 2-hour weekly lab/tutorial.
Lab Format
Students will practice hands-on computer vision tasks, explore scientific literature, address practical considerations, and optionally engage in competitions.
Deep learning and computer vision are rapidly evolving; technologies five years old may already be outdated.
Self-study is essential and labs are designed to promote this, including independent work and flipped-classroom methods involving tools such as OpenCV, NumPy, PyTorch, and others.
These labs involve learning and practicing various neural network architectures and use cases, primarily classification, with introductory exposure to tasks such as object detection and image segmentation. While PyTorch will serve as the primary development environment, additional platforms such as TensorFlow and Keras will also be referenced.
The final course assignment, the mini project, will involve the completion of an advanced task that builds on the tools and techniques learned throughout the course. This may take the form of a technical implementation, a focused literature review in the field, or participation in a relevant competition. The specific project will be selected by the course staff and introduced to students during the second half of the semester. Project presentations will take place during the final one or two weeks of the term, though timing and format may be adjusted by the teaching team depending on the number of participants and the nature of the projects.תקציר:
ראייה ממוחשבת היא מהתחומים הצומחים ביותר בהנדסה, ומאפשרת ניתוח והבנה אוטומטית של תמונות ושל וידאו, שמהווים חלק מהותי, כ-80%, מתעבורת האינטרנט העולמית. מודלי שפה גדולים (Large Language Models – LLMs) מהווים נדבך חשוב בבינה מלאכותית יוצרת, ומשמשים למשל בתיאור תוכן תמונה, בהפיכת טקסט לתמונה, ועריכה סמנטית של תמונות. מודלים אלו הם חלק מתהליך שהואץ בשנה האחרונה והמשפיע על סביבות שונות. הקורס נותן כלים בהבנת הטכנולוגיה הזו והאפשרויות הנובעות משימוש בה.
קורס זה מהווה המשך ישיר לקורס המבוא לראייה ממוחשבת והוא מתרכז כמובן בשיטות מבוססות רשתות נוירונים לשימושי ראייה ממוחשבת ומודלי שפה גדולים. הקורס מתאים לסטודנטים בכל מסלולי התוכנה בעלי רקע מתאים, ובפרט למסלול למידת מכונה. הוא כולל התייחסות לטכנולוגיות עדכניות בחזית התעשייה והמחקר. הקורס יהיה במתכונת דומה לקורס המבוא, אם כי אינטנסיבי פחות מבחינת כמות העבודות, אך מעמיק ומתקדם לא פחות מבחינת התוכן המקצועי. נושאי הקורס העיקריים כוללים: חזרה והרחבה של דטקציה (גילוי), סגמנטציה, רשתות זמניות (Recurrent Neural Networks, RNN); מבוא למודלי שפה (Language Models), attention, טרנספורמרים ו-GPT, רשתות ליצירת תמונות (כמו Auto encoders, GAN ורשתות דיפוזיה); (נושאים מתקדמים ייבחרו מתוך: רשתות יוצרות נוספות, Alignment and Ethics, ראייה תלת מימדית ורשתות לניתוח וידאו, Reinforcement Learning). הקורס כולל הרצאה שבועית פרונטלית (בהיקף של 2 ש"ש),ומעבדה \ תרגול שבועית (בהיקף של 2 ש"ש). במעבדה יתרגלו ויתנסו הסטודנטים בהיבטים מעשיים של ראייה ממוחשבת מבוססי למידה עמוקה, תוך חשיפה למאמרים ומקורות מדעיים בתחום מצד אחד, ולקוד ושיקולים מעשיים מצד שני. תרגילי המחשב יבוצעו בסביבת python עם Jupyter, (לוקאלית או בסביבת Google-Colab) תוך שימוש בספריות מתאימות. יתבצעו פעולות תוך שימוש בכלים עדכניים של Generative AI. חלק מהמעבדות יתבצעו במשך שתי פגישות: הנושא יוצג ויוסבר בפגישה הראשונה, ויורחב בעבודה עצמית של הסטודנטים בשנייה. חלק מפעילות המעבדה משלבת הכנה עצמית ועבודה מקדימה בשיטת "כיתה הפוכה", בהן המעבדות משמשות לעזרה בפתרון בעיות בהן נתקלתם. ובכך מאפשרת הפנמת העבודה העצמית, והפקת המירב תוך פתרון הבעיות במהלך הפעילות במעבדה. העבודה בשיטת כיתה הפוכה תיערך באופן מדורג, כדי לעזור לכולם לעמוד בקצב. בסיום הקורס תהיו מסוגלים לכתוב קוד שיפתור בעיה הנדסית בתחום. כלומר יידרש מאמץ אך הוא בעל ערך מעשי ותרומה ליכולות המשתתפים. |