1.קורס בינה מלאכותית – RB30-10 : זיהוי פנים בבינה מלאכותית
InsightFace היא ספריית בינה מלאכותית לזיהוי וניתוח פנים.
היא יכולה לעשות:
| פעולה | מה מקבלים |
|---|---|
| זיהוי פנים בתמונה | מוצאת איפה יש פנים |
| מסגרת סביב פנים | מחזירה קואורדינטות x1, y1, x2, y2 |
| נקודות פנים | עיניים, אף, פה |
| זיהוי אדם | יוצרת “טביעת אצבע” מספרית לפנים |
| השוואת פנים | בודקת אם שתי תמונות הן של אותו אדם |
| הערכת גיל/מין | תלוי במודל |
| יישור פנים | מסדרת את הפנים לזווית טובה יותר |












זהוי פנים בסין
2.בינה מלאכותית לניתוחי פנים – בניתוחי פלסטי
תרגיל 1 (תרגול חומר נלמד)
בניית אפליקציה לטשטוש פנים בעזרת a.i studio

קבלנו

ניתן לשנות את
בכל זמן
שיתוף האפליקציה – לחץ על share בצד ימין במסך ופעלו לפי השלבים

קישור
https://ai.studio/apps/d3a82c7b-62a4-46d2-9416-7ad3c7b77c06
חיסרון עובד צד שרת
תרגיל 2 (תרגול חומר נילמד)
בעזרת a.i studio בנה אפליקציה עם A.I לבדוק כמה הם דומות
השתמש ב InsightFace טען שתי תמונות והצג כמה הם דומים והצג אחוזי דמיון בין הפנים בתמונות.

https://ai.studio/apps/cbb17d8e-c8cc-49bb-bb5a-f5c495241925
תרגיל 3 : הרצת סקריפט (חזרה חומר נילמד) בפיתון זיהוי פנים וטשטוש
https://colab.research.google.com/drive/1qUuj6aGEEeQLFH2XCpvvZDMbVssUvrSX?usp=sharing
זיהוי פנים – איך הכל עובד ?
כדי להבין כיצד מחשב משווה בין פנים של בני אדם, עלינו להבין תחילה את המגבלה של תמונות דיגיטליות רגילות ואת הפתרון הטכנולוגי שנקרא וקטור שיכון.
הבעיה העיקרית בהשוואת תמונות רגילות
תמונה דיגיטלית מורכבת מפיקסלים. אם ניקח תמונה קטנה יחסית בגודל של 100 על 100 פיקסלים, המשמעות היא שיש בה 10,000 פיקסלים. כל פיקסל מכיל מספרים המייצגים צבעים.
אם ננסה להשוות בין שתי תמונות של אותו אדם על ידי השוואת הפיקסלים עצמם, המחשב ייכשל כמעט תמיד. הסיבה לכך היא ששינוי קל בתאורה, תזוזה קטנה של הראש, או הבעת פנים שונה, ישנו לחלוטין את ערכי הפיקסלים בתמונה. עבור המחשב, שתי התמונות ייראו שונות לחלוטין, למרות שבני אדם יזהו מיד שמדובר באותו אדם.
הפתרון: וקטור שיכון (Embedding Vector)
כדי לפתור את הבעיה הזו, חוקרי בינה מלאכותית פיתחו רשתות נוירונים עמוקות. המערכת של InsightFace היא רשת מסוג זה, אשר אומנה על מיליוני תמונות של פנים.
כאשר המערכת מקבלת תמונת פנים, היא אינה שומרת את הפיקסלים. במקום זאת, היא מנתחת את הפנים ומייצרת רשימה קבועה של 512 מספרים עשרוניים. רשימה זו נקראת וקטור שיכון.
-
טביעת אצבע דיגיטלית: הוקטור הזה מהווה מעין טביעת אצבע ייחודית של תווי הפנים.
-
מה המחשב מחפש?
המערכת לומדת להסתכל על מאפיינים שאינם משתנים בקלות, כגון :
- המרחק היחסי בין העיניים,
- המיקום של עצמות הלחיים,
- רוחב האף
- זווית הלסת
- ועוד.
-
המשמעות של המספרים: אם נסתכל על המספרים בעצמנו, לא נצליח להבין אותם. מספר מסוים בתוך ה-512 אינו אומר באופן ישיר "רוחב האף הוא 5 סנטימטרים". המשמעות היא מתמטית ומופשטת, אך השילוב של כל 512 המספרים יחד יוצר ייצוג מדויק של פני האדם.
דוגמה מופשטת להבנת המושג
נניח שאנו רוצים לתאר אדם לחבר בטלפון באמצעות מספרים בלבד, בסקאלה של בין 0 ל-1:
בסקאלה של בין 0 ל-1
-
גובה: 0.85 (גבוה מאוד)
-
מרחק בין העיניים: 0.42 (ממוצע)
-
אורך אף: 0.61 (ארוך מעט מהממוצע)
-
גוון עור: 0.30 (בהיר)
אם החבר יקבל רשימה דומה עבור אדם אחר, והמספרים יהיו 0.84, 0.41, 0.62 ו-0.29, הוא יבין מיד שמדובר בסבירות גבוהה מאוד באותו אדם, או באדם בעל מראה כמעט זהה. זהו בדיוק העיקרון של וקטור השיכון, רק שבמקום 4 מאפיינים, InsightFace משתמשת ב-512 מאפיינים שונים ומורכבים בהרבה.
חלק 2: דמיון קוסינוס (Cosine Similarity) –
כיצד מתבצעת ההשוואה בפועל .
לאחר שיש בידינו שני וקטורים (שתי רשימות של 512 מספרים), אנו צריכים שיטה מתמטית לקבוע עד כמה הם דומים. השיטה הנפוצה ביותר נקראת דמיון קוסינוס (Cosine Similarity).
מבלי להיכנס לנוסחאות מסובכות, השיטה הזו מתייחסת לכל רשימת מספרים כאל חץ (וקטור) המצביע לכיוון מסוים במרחב רב-ממדי. הנוסחה מודדת את הזווית שנוצרת בין שני החצים הללו:
-
ערך קרוב ל-1.0: שני החצים מצביעים כמעט לאותו כיוון. המשמעות היא שתווי הפנים כמעט זהים, ולכן מדובר באותו אדם.
-
ערך קרוב ל-0.0 או שלילי: שני החצים מצביעים לכיוונים שונים לחלוטין. המשמעות היא שאין קשר בין תווי הפנים, ומדובר באנשים שונים.
קביעת ערך הסף (Threshold)
כדי שהתוכנה תקבל החלטה סופית (כן או לא), עלינו לקבוע ערך סף. בניסויים מעשיים עם המודלים של InsightFace, ערך הסף המקובל הוא בדרך כלל 0.35.
-
אם מדד הדמיון שחושב הוא מעל 0.35, התוכנה תקבע שמדובר באותו אדם.
-
אם מדד הדמיון הוא מתחת ל-0.35, התוכנה תקבע שמדובר באנשים שונים.
ניקח שתי נקודות במרחב נוציא ווקטור לכיוון ראשית הצירים ונחשב ביניהם זווית – כי להם מקור משותף (ראשית הצירים) עכשיו נחשב את הזווית בעזרת קוסינוס



אם הם מצבעים לאותו כיוון (מנורמלים) אז נקבל 1

ואם הם מצבעים בדיוק הפוך 180 מעלות נקבל 1 –

בנוסף נחשב מרחק בד"כ לא שלילי
אם הם אותו כיוון נקבל מרחק 0 הדמיון 1
אם בם כיוונים מנוגדים מרחק 2 הדמיון 1 –
מה מקבלים את הקריבה בין נתונים

חלק ב : תקיפות וחולשה של בינה מלאכותית – איך ניתן להגן על בינה מלאכותית נגד תקיפות
We 3D Printed Our Heads To Bypass Facial Recognition Security And It Worked
Richard Harang – A Tutorial on Hacking Facial Recognition Systems – DEF CON 27 AI Village
תרגיל כיתה (תרגול חומר קיים)
1.בנה בעזרת בינה מלאכותית מצגת , שקף וסרטון בשפה האנגלית ובשפה העברית על איך לפתח זיהוי פנים שיהיה מוגן נגד תקיפות
2. חקור איזה סוגי תקיפות יש ואיך ניתן להגן על כל אחת מהן איזה אלגוריתם הסבר פשוט איך עובד ואיך צריך להגן עליו
https://notebooklm.google.com/