פרויקטי גמר - הנדסת מחשבים - המעבדה לרשתות וחישוב תשפ"א

701 Non-uniform multi-coverage in Client-Server Networks

כיסוי מרובה לא אחיד ברשתות לקוח-שרת

שם המנחה: דרור רביץ
אחראי/ת אקדמי/ת: פרופ' דרור רביץ

הרקע לפרויקט:

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

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

כמו כן, השירות שלקוח מקבל מהשרתים אינו אחיד.

פתרון הוא התאמה בין לקוחות למשאבי הספקים כך שמתקיים:

  1. (לקוח מקבל משאבים רק משרתים שנמצאים בתת הקבוצה שלו, ו-
  2. סך הדרישות שמשוייכות לשרת לא עולה על הקיבול שלו. מותר ללקוח לקבל שירות מכמה שרתים.

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • מבני נתונים ואלגוריתמים 2 (83224),
  • אוטומטים וחישוביות (83250),
  • תכנון וניתוח אלגוריתמים (83456),
  • תורת הגרפים ושימושיה (83652)

דרישות נוספות:

  • יכולת תיכנותית

מקורות:

  1. D. B. Shmoys and E. Tardos. An approximation algorithm for the generalized assignment problem. Mathematical Programming 62:461-474, 1993.
  2. C. Chekuri and S. Khanna. A polynomial time approximation scheme for the multiple knapsack problem. SIAM Journal on Computing 35(3):713-728, 2006.
  3. D. Amzallag, R. Bar-Yehuda, D. Raz, G. Scalosub. Cell selection in 4G cellular networks. IEEE Transactions on Mobile Computing 12(7): 1443-1455, 2013.
  4. O. Gurewitz, Y. Sandomirsky, and G. Scalosub. Cellular Multi-Coverage with Non-uniform Rates. 33rd INFOCOM, 1330-1338, 2014.

702 Data-streams communication over a noisy channel

העברת זרמי-מידע בערוץ תקשורת רועש

שם המנחה: דר' רן גלס
אחראי/ת אקדמי/ת: דר' רן גלס

הרקע לפרויקט:

במערכות תקשורת מסוימות לאחד המסופים (אליס) יש זרם-מידע (data-stream) אינסופי, למשל, מדידות של חיישן. את המידע צריך להעביר למסוף אחר, למשל לתחנת הבסיס (בוב).

לעיתים, ערוץ התקשורת בין שני המסופים עשוי לשבש את ההודעות שנשלחות ביניהן באופן אקראי, ונדרש לשדר את המידע ע״י הוספת קידוד מתאים שיאפשר לבוב לקבל את המידע הנכון.

מטרת הפרויקט:

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

תכולת הפרויקט:

שלבי הפרויקט יכילו:

  1. לימוד רקע תיאורטי על קידוד זרמי מידע
  2. מימוש בתוכנה של סכמת קידוד זרמי מידע בחלונות זמן (לפי מאמר מס׳ 1 במקורות הרצ״ב)
  3. ביצוע סימולציית רעש ומדידת איכות הקידוד המתקבל
  4. (השוואה לסכמות קידוד נאיביות, למשל, קידוד המידע ע״י קוד Reed-Solomon בלבד.

המימוש יבוצע בשפה עילית (C, Java, Python) על גבי מחשב יחיד שידמה את שני המחשבים המתקשרים ואת ערוץ התקשורת ביניהם.

קורסי קדם:

  • מבוא לתורת הצפינה (ניתן לקחת במקביל)
  • מבני נתונים ואלגוריתמים

מקורות:

  1. Efficient Error-Correcting Codes for Sliding Windows Ran Gelles, Rafail Ostrovsky, Alan Roytman SIAM Journal on Discrete Mathematics, 34(1), pages 904–937, 2020
  2. Optimal Coding for Streaming Authentication and Interactive Communication Matthew Franklin, Ran Gelles, Rafail Ostrovsky, Leonard J. Schulman IEEE Trans. on Information Theory, 61(1), pages 133–145, 2015

703 Extending a Web-based system for learning assembly language

הרחבת מערכת web ללימוד תכנות בשפת סף

שם המנחה: ד״ר רן גלס
אחראי/ת אקדמי/ת: דר' רן גלס

הרקע לפרויקט:

יכולת תכנות הפכה לאחת המיומנות הנדרשות ביותר במאה ה-21. אנשים רבים ברחבי העולם (לרבות העולם השלישי) מבקשים ללמוד יכולת זו ולהשתלב בפיתוח תוכנה ובתעשייה העילית (ההי-טק). כמענה לצורך זה, גופים רבים מקימים אתרי web חופשיים ללימוד יכולות תכנות, דוגמת code-academy, edX, Udacity, Coursera וכיו״ב.

אחד האתרים המוכרים והמועילים ביותר הוא אתר HackerRank (ראו מקור [1]) המציע קורסי לימוד מקוונים עבור שפות תכנות עילית כגון פייתון , C או ג׳אווה, בצורה אינטראקטיבית, בקצב המתאים ללומד. למרות ריבוי האתרים ללימוד שפות עיליות, לימוד שפות סף ותכנות למערכות embedded כמעט ואינו קיים. זאת למרות ביקוש גבוה בתעשייה למפתחי embedded.

בשנה״ל תש״פ פותחה בבר-אילן מערכת ייחודית ללימוד שפת-סף בשפה העברית – asmlearn. המערכת מאפשר לתלמיד לבצע ״תרגילים״ ללימוד שפת סף בנושאים שונים (למשל: שגרות, זיכרון, פעולות חשבוניות). ובודקת את קוד המשתמש אל מול קלטים/פלטים חסויים והציון של המשתמש ייקבע לפי ביצועי הקוד.

מטרת הפרויקט:

בפרוייקט זה נמשיך את פיתוח מערכת asmlerarn ונקנה לה יכולות נוספות. המערכת שפותחה בתש״פ הניחה את הבסיס למערכת (infrastructure), אך על-מנת להגיע למוצר מוגמר יש להרחיב את יכולתיה.
בפרט, נפתח בפרויקט חלק מהיכולות הבאות:

  1. ביצוע תרגילים עם ממשק גרפי
  2. הזנת קלט לממשק גרפי
  3. הרחבת התרגילים למספר קבצי קוד / model large
  4. תמיכה בTSR ומנגנון פסיקות
  5. הגדלת כמות התרגילים הקיימים
  6. תמיכה בscalability עתידי ותמיכה באלפי משתמשים שונים
  7. הרחבה לשפות סף שונות, למשל MIPS ASSEMBLER,
  8. ביצוע בדיקות איכות והכנה למבצוע המערכת (production) , ועוד.

תכולת הפרויקט:

הסטודנטים יידרשו לתכולות הבאות

  1. למידת המערכת הקיימת: הכרת פלטפורמת Firebase, וטכנולוגיית Docker. המערכת מתוכנתת כיום בשפת javascript ו Typescript, ומשתמשת בNode.JS
  2. הרחבת המערכת עבור חלק מהתכולות הרשומות לעיל כפי שיסוכם
  3. ביצוע בדיקות אמינות ו deployment.

קורסי קדם:

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

דרישות נוספות:

  • מתאים במיוחד למסלול סייבר. ניסיון תכנות low-level מהווה יתרון.
  • נדרשת יכולת התמודדות עם הבנת קוד קיים ולמידת טכנולוגיות חדשות (כגון docker וכו).

מקורות:

  1. https://www.hackerrank.com
  2. https://sourceforge.net/projects/dosbox/files/dosbox/
  3. Barry Brey, “Intel Microprocessors”
  4. https://www.docker.com
  5. https://firebase.google.com

704 Implementing classical logical gates on a quantum computer 

מימוש שערים לוגיים קלאסיים על מחשב קוונטי

שם המנחה: Adi Makmal
אחראי/ת אקדמי/ת: דר' עדי מכמל

הרקע לפרויקט:

Quantum information aims at performing information processing over quantum devices, by taking advantage of quantum properties, such as superposition and interference. It is well established that quantum computers can achieve universality and different sets of universal quantum gates have already been identified.

This project is part of an ongoing effort to expand the available sets of universal quantum gates by considering novel approaches for data representation over quantum computers.

מטרת הפרויקט:

The goal of this project is to implement newly designed quantum circuits on one of the currently publically available quantum computers, such as IBM's quantum computer, and analyze their behavior.

תכולת הפרויקט:

  1. Understand all the required theoretical background.
  2. Learn how to implement known quantum circuits and quantum algorithms on (most likely, but not necessarily) IBM's quantum computer.
  3. Implement newly designed circuits.

קורסי קדם:

  • אלגברה ליניארית,
  • מערכות לוגיות ספרתיות
  • אינפורמציה קוונטית

מקורות:

Nielsen, M., & Chuang, I. (2010). Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge: Cambridge University Press. doi:10.1017/CBO9780511976667

705 Extended Regulation Conditions in Boolean Network Synthesis

הרחבת תנאי רגולציה בסינתזה של רשתות בוליאניות

שם המנחה: Dr. Hillel Kugler and Dr. Ani Zak
אחראי/ת אקדמי/ת: דר' הלל קוגלר

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • 83691 Formal Verification and Synthesis (אפשר במקביל לפרויקט)
  • 83670 Biological Computation(אפשר במקביל לפרויקט)
  • 83869 Cyber Physical Systems(אפשר במקביל לפרויקט)

דרישות נוספות:

  • יכולות אלגוריתמיות ותכנותיות גבוהות.
  • נכונות להיקף עבודה משמעותי.

מקורות:

  1. Hillel Kugler, Sara-Jane Dunn, Boyan Yordanov. Formal Analysis of Network Motifs, CMSB'18.
  2. B. Yordanov S-J Dunn, H. Kugler, A. Smith, G. Martello and S. Emmott. A method to identify and analyze biological programs through automated reasoning. Nature Systems Biology and Applications, 2016.
  3. de Jong, H. Modeling and simulation of genetic regulatory systems: a literature review. J. Comput. Biol. 9, 67–103 (2002).
  4. Milo, R., Shen-Orr, S., Itzkovitz, S., Kashtan, N., Chklovskii, D., Alon, U.: Network motifs: simple building blocks of complex networks. Science, 2002.
  5. Manna, Zohar, and Amir Pnueli. "Temporal verification of reactive systems: safety." Springer (1995).

706 Symbolic Algorithms for Finding Strongly Connected Components

אלגוריתמים סימבוליים למציאת רכיבים קשירים חזקים

שם המנחה: Dr. Hillel Kugler and Amit Schussheim
אחראי/ת אקדמי/ת: דר' הלל קוגלר

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

  • לימוד אלגוריתמים סימבוליים למציאת רכיבים קשירים
  • ממוש אלגוריתם בצורה יעילה
  • שיפורים הנדסיים לאפשר לאלגוריתם לפעול עבור גרפים גדולים ועבור אנסמבלים של גרפים

קורסי קדם:

  • 83691 Formal Verification and Synthesis (אפשר במקביל לפרויקט)
  •  
  • 83670 Biological Computation(אפשר במקביל לפרויקט)
  •  
  • 83869 Cyber Physical Systems(אפשר במקביל לפרויקט)

דרישות נוספות:

  • יכולות אלגוריתמיות ותכנותיות גבוהות.
  • נכונות להיקף עבודה משמעותי.

מקורות:

  1. Roderick Bloem, Harold N. Gabow and Fabio Somenzi. An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps. Formal Methods in System Design volume 28, pages 37–56, 2006.
  2. B. Yordanov S-J Dunn, H. Kugler, A. Smith, G. Martello and S. Emmott. A method to identify and analyze biological programs through automated reasoning. Nature Systems Biology and Applications, 2016.
  3. Manna, Zohar, and Amir Pnueli. "Temporal verification of reactive systems: safety." Springer (1995).

707 Anti-sleeping car alert system with image processing and deep learning

מערכת התראת רכב נגד שינה עם עיבוד תמונה ולמידה עמוקה

שם המנחה: Zvi Lotker
אחראי/ת אקדמי/ת: פרופ' צבי לוטקר

הרקע לפרויקט:

Many technological solutions are being developed these days aspire to prevent/decrease the number of car accidents occurring every year. Smart Cars are equipped with advance systems to help the driver avoid accidents, but most of them require the driver’s cooperation and become obsolete once the driver doesn’t work with the system.

According to Virginia Tech Transportation Institute, 20% of car accidents are caused by fatigue. How can we switch roles with the system, so that it watches over us?

We can take advantage of today’s habit of installing video recorders in private vehicles in order to solve this problem.

מטרת הפרויקט:

In this project we will build a new car system that can be attached to existing safety features of the car. We will use neuron networks and image processing to analyze facial behavior to identify the driver’s fatigue level and alert of dangerous situations.

The tools we will use are deep learning, based on neuron networks and image processing

תכולת הפרויקט:

The steps of the project will include developing a software system which receives as input a video of a person driving a car in all phases of awareness.

  1. Automatic collection of driving videos.
  2. Image processing to identify relevant facial details.
  3. Learning of different phases of sleep and neurologic patterns.
  4. Statistical analysis of the videos using neuron networks.
  5. Optimize to enhance success rate of the prediction.

קורסי קדם:

קורס בלמידת מכונה במקביל לפרויקט

מקורות:

1. Breen PG, Foley CN, Boekholt T, Zwart SP.‪ Newton vs the machine: solving the chaotic three-body problem using deep neural networks. ‬
2. https://www.wolfram.com/language/11/neural-networks/
3. https://reference.wolfram.com/language/tutorial/NeuralNetworksIntroduction.html
4. https://resources.wolframcloud.com/NeuralNetRepository/
5. https://www.ninds.nih.gov/Disorders/Patient-Caregiver-Education/Understanding-Sleep
6. Robert D. Ogilvie, The process of falling asleep, Sleep Medicine Reviews,Volume 5, Issue 3,
2001,Pages 247-270,

פרויקטים נוספים מומלצים

401 Complex activity recognition

זיהוי פעולות מורכבות

שם המנחה: ד"ר איציק כהן
אחראי/ת אקדמי/ת: ד"ר איציק כהן

הרקע לפרויקט:

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

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

מטרת הפרויקט:

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

תכולת הפרויקט:

  • סקר ספרות
  • בחירת סנסורים ותהליך
  • פיתוח כלי זיהוי ולמידה.

קורסי קדם:

  • רצוי - מבוא ללמידת מכונה


מקורות:

בפגישה

 

402 Generative modeling with GAN-MMD

מודלים גנרטיביים מותנים עם GAN-MMD

שם המנחה: איתן פתיה
אחראי/ת אקדמי/ת: ד"ר איתן פתיה

הרקע לפרויקט:

Generative models such as generative adversarial networks (GAN's) how seen great success in recent years. One version, GAN-MMD combines GAN's with moment-matching networks and has nice theoretical properties as well as good performance in practice.

מטרת הפרויקט:

In this project we will extend GAN-MMD to include conditional distributions - instead of generating random images we will be able to generate random that belong to a specific class such as car, plane etc. This allows us to have a more control over the generation and has been shown to work better in practice.

תכולת הפרויקט:

In this project the student with apply the GAN-MMD framework to various datasets, extent them to conditional-GAN-MMD and evaluate them empirically.

קורסי קדם:

  • אותות אקראיים ורעש

דרישות נוספות:

  • Knowledge of python, machine learning and deep neural networks is a plus.

מקורות:

MMD GAN: Towards Deeper Understanding of Moment Matching Network

403 Multi-target Ensemble Learning for Monaural Speech Separation

העשרת דיבור במיקרופון יחיד באמצעות רשת עמוקה מרובת מוצאים

שם המנחה: יוחאי ימיני
אחראי/ת אקדמי/ת: פרופ' שרון גנות

הרקע לפרויקט:

העשרת דיבור היא בעיה שמטרתה היא שיערוך אות דיבור נקי מתוך הקלטה רועשת שלו.

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

בלמידה עמוקה לרוב נעשה שימוש ב-target אותו הרשת צריכה ללמוד.

במקרה של העשרת דיבור, ה-target הוא הדיבור הנקי.

מטרת הפרויקט:

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

תכולת הפרויקט:

  • מימוש רשתות באמצעות pytorch
  • אימון רשתות להעשרת דיבור עבור targets שונים
  • השוואת targets שונים באמצעות חישוב מדדים כמותיים ומבחני שמיעה לאותות הדיבור המשוערכים עבור רעשים רחבי סרט וצרי סרט

קורסי קדם:

  • עיבוד ספרתי של אותות 2
  • 2מבוא ללמידת מכונה

דרישות נוספות:

  • הקורס למידה עמוקה - מומלץ ביותר
  • Python
  • PyTorch

מקורות:

https://pdfs.semanticscholar.org/2cc1/81929da88128a9648121414e65b74144d29f.pdf

805 Parallel Computation of Distance Maps

חישוב מקבילי של מפות מרחקים

שם המנחה: פרופ' אופיר וובר
אחראי/ת אקדמי/ת: פרופ' אופיר וובר

הרקע לפרויקט:

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

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

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

מטרת הפרויקט:

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

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

האלגוריתם ימומש על חומרה גרפית של NVIDIA בעלת אלפי ליבות העובדות במקביל.

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

תכולת הפרויקט:

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

קורסי קדם:

  • עיבוד דיגיטלי של גיאומטריה (83-656). ניתן לקחת במקביל.

קורסים מומלצים:

ניתן לקחת במקביל (לא חובה) :

  • חישוב מקבילי ב-GPU (83-920).
  • עיבוד דיגיטלי של גיאומטריה 2 (83-633).
  • גרפיקה ממוחשבת (83-654).

דרישות נוספות:

  • יכולת תכנות טובה.
  • יכולת עבודה עצמאית והגדלת ראש.

מקורות:

  1. http://www.eng.biu.ac.il/~weberof/Publications/PMM/SIGGRAPH08.zip

806 Photorealistic Stereographic Rendering of Impossible 3D Objects

רינדור פוטוריאליסטי סטריאוגרפי של אובייקטים תלת ממדיים בלתי אפשריים

שם המנחה: פרופ' אופיר וובר
אחראי/ת אקדמי/ת: פרופ' אופיר וובר

הרקע לפרויקט:

An impossible image is a 2D image that represents a projection of a 3D object that cannot exist physically in real life. The artist M.C. Escher was a master in drawing such impossible images.

In this project, a computer software for modeling such 3D objects and producing impossible image illusions will be created. The main theory is based on a paper by Savransky et al. from 1999.

The idea of the project is to extend the algorithm given in the paper such that the rendered images will be photorealistic, creating a stronger illusion for the 3D perception. We will achieve this by supporting stereographic rendering using “3D glasses” like in movie theaters.

This creates a stronger depth perception in the viewer’s mind.

Additional extensions will be made by using more realistic optical perspective projection and global illumination.

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • 83654 גרפיקה ממוחשבת. ניתן לקחת במקביל.

קורסים מומלצים (לא חובה וניתן לקחת במקביל):

  • 83656 עיבוד דיגיטלי של גיאומטריה 1
  • 83633 עיבוד דיגיטלי של גיאומטריה 2

דרישות נוספות:

  • יכולת תכנות טובה.
  • יכולת עבודה עצמאית והגדלת ראש.

מקורות:

  1. http://www.eng.biu.ac.il/~weberof/Escher/index.html
  2. Savransky, Guillermo, Dan Dimerman, and Craig Gotsman. "Modeling and Rendering Escher‐Like Impossible Scenes." Computer Graphics Forum. Vol. 18. No. 2. Oxford, UK and Boston, USA: Blackwell Publishers Ltd, 1999.

807 Artificial intelligence against roulette

בינה מלאכותית נגד רולטה

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

הרקע לפרויקט:

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

מטרת הפרויקט:

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

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

תכולת הפרויקט:

שלבי הפרויקט יכילו פיתוח מערכת תוכנה המקבלת קלט סרט של משחק רולטה:

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

קורסי קדם:

  • מבני נתונים ואלגוריתמים
  • הסתברות
  • הנדסת תוכנה
  • למידת מכונה (ייתרון)

מקורות:

  1. Breen PG, Foley CN, Boekholt T, Zwart SP.‪ Newton vs the machine: solving the chaotic three-body problem using deep neural networks. 
  2. https://www.wolfram.com/language/11/neural-networks/
  3. https://reference.wolfram.com/language/tutorial/NeuralNetworksIntroduction.html
  4. https://resources.wolframcloud.com/NeuralNetRepository/
  5. Kucharski, Adam. The Perfect Bet: How Science and Maths are Taking the Luck Out of Gambling. Profile Books, 2016.

808 Visualization of geometric distortion on 3D surfaces

ויזואליזציה של עוות גאומטרי על משטחים תלת ממדיים

שם המנחה: פרופ' אופיר וובר
אחראי/ת אקדמי/ת: פרופ' אופיר וובר

הרקע לפרויקט:

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

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

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

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • 83656 עיבוד דיגיטלי של גיאומטריה 1. ניתן לקחת במקביל.

קורסים מומלצים (לא חובה וניתן לקחת במקביל):

  • 83654 גרפיקה ממוחשבת.
  • 83633 עיבוד דיגיטלי של גיאומטריה 2

דרישות נוספות:

  • יכולת תכנות טובה.
  • יכולת עבודה עצמאית והגדלת ראש.

מקורות:

  1.  Botsch, Mario. Polygon Mesh Processing / Mario Botsch ... [et Al.]. A K Peters, 2010.

809 Global Bijective Surface Parametrization

פרמטריזציה חד ערכית גלובלית של משטחים

שם המנחה: פרופ' אופיר וובר
אחראי/ת אקדמי/ת: פרופ' אופיר וובר

הרקע לפרויקט:

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

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

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

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

מטרת הפרויקט:

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

תכולת הפרויקט:

  1. הפרויקט ידרוש פיתוח של אלגוריתם פרמטריזציה חד-חד ערכית ועל המבוסס על מיפוי של Torus ע"י משפט Tutte.
  2. מימוש האלגוריתם בשפת C++ בשילוב עם כלים גרפיים כמו Maya ותוכנות נוספות כמו Matlab.
  3. הרצת האלגוריתם על מגוון רחב של דוגמאות ומודלים תלת ממדיים וניתוח התוצאות.
  4. השוואת תוצאות האלגוריתם עם שיטות מתחרות קיימות.

קורסי קדם:

  • 83656 עיבוד דיגיטלי של גיאומטריה 1. ניתן לקחת במקביל.

קורסים מומלצים (לא חובה וניתן לקחת במקביל):

  • 83654 גרפיקה ממוחשבת.
  • 83633 עיבוד דיגיטלי של גיאומטריה 2

דרישות נוספות:

  • יכולת תכנות טובה.
  • יכולת עבודה עצמאית והגדלת ראש.

מקורות:

  1. Polygon mesh processing (book). Botsch, M., Kobbelt, L., Pauly, M., Alliez, P., & Lévy, B. (2010). CRC press.
  2. Jiang, Zhongshi, Scott Schaefer, and Daniele Panozzo. "Simplicial complex augmentation framework for bijective maps." ACM Transactions on Graphics 36.6 (2017).

810 Violence detection in closed-circle cameras

זיהוי אלימות במצלמות מעגל סגור

שם המנחה: Prof. Zvi Lotker and Dr. Adi Makmal
אחראי/ת אקדמי/ת: פרופ' צבי לוטקרדר' עדי מכמל

הרקע לפרויקט:

Violence is recorded too often in closed circle cameras, e.g. in kindergartens, elderly homes, etc. Yet watching all the generated films requires too much time and human resources. As a result, many violent attacks are unobserved and thus not treated well.

מטרת הפרויקט:

The goal of this project is to develop an automatic tool that detects violence in closed-circle cameras.

תכולת הפרויקט:

Following a very successful project in 2019-2020 in which the students designed and implemented an initial proof-of-concept, we are now entering the second phase of the project. The students will be required to:

  1. Reproduce the results obtained in the first phase.
  2. Design and develop many crucial capabilities that are currently missing.
  3. Understand the theoretical aspects of neural-networks that are relevant to the system.

The project requires originality, curiosity, interest in machine learning and neural networks, and the great desire to protect helpless people from violence.

קורסי קדם:

  • linear algebra
  • statistics
  • python

דרישות נוספות:

  • machine learning
  • neural networks