אחד התחומים היקרים בינה מלכות


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

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

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

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