מדריך לסיווג אודיו

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

כדאי לנסות!

מתחילים

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

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

פרטי המשימה

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

תכונות

  • עיבוד אודיו בקלט – העיבוד כולל דגימה מחדש של אודיו, אגירת נתונים, פריים, וטרנספורמציה של ארבע.
  • מיקום מפת תווית – הגדרת השפה שתשמש לשמות תצוגה
  • סף הציון – סינון התוצאות לפי ציוני התחזית.
  • זיהוי Top-k – סינון התוצאות של זיהוי המספרים.
  • רשימת היתרים של תוויות ורשימת ישויות שנחסמו – ציון הקטגוריות שזוהו.
קלט למשימות פלט המשימות
הקלט יכול להיות אחד מסוגי הנתונים הבאים:
  • קטעי אודיו
  • שידור האודיו
הפלט של מסווג האודיו הוא רשימה של קטגוריות שמכילות:
  • אינדקס קטגוריה: האינדקס של הקטגוריה בפלט של המודל
  • ניקוד: דירוג הסמך של הקטגוריה הזו, בדרך כלל הסתברות ב-[0,1]
  • שם קטגוריה (אופציונלי): שם הקטגוריה כפי שצוין במטא-נתונים של דגם TFLite, אם זמין
  • שם תצוגה של קטגוריה (אופציונלי): שם תצוגה עבור הקטגוריה כפי שצוין במטא-נתונים של דגם TFLite, בשפה שצוינה באמצעות אפשרויות הלוקאל של שמות התצוגה, אם הן זמינות

אפשרויות של הגדרות אישיות

במשימה הזאת קיימות אפשרויות ההגדרה הבאות:

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

AUDIO_CLIPS: המצב להרצת משימת אודיו בקטעי אודיו עצמאיים.

AUDIO_STREAM: המצב להרצת משימת אודיו בשידור אודיו, למשל דרך המיקרופון. במצב הזה, יש לקרוא ל- resultListener על מנת להגדיר listener כדי לקבל את תוצאות הסיווג באופן אסינכרוני.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale ההגדרה הזו מגדירה את השפה של התוויות שישמשו לשמות תצוגה שנמסרים במטא-נתונים של מודל המשימה, אם יש כאלה. ברירת המחדל היא en עבור אנגלית. אפשר להוסיף תוויות שהותאמו לשוק המקומי למטא-נתונים של מודל מותאם אישית באמצעות TensorFlow Lite Metadata Writer API קוד הלוקאל en
max_results הפונקציה מגדירה את המספר המקסימלי האופציונלי של תוצאות מהסיווג הגבוה ביותר להחזרה. אם הערך קטן מ-0, יוחזרו כל התוצאות הזמינות. כל מספר חיובי -1
score_threshold השדה הזה מגדיר את סף הציון של החיזוי ששונה מהסף שצוין במטא-נתונים של המודל (אם יש כזה). תוצאות מתחת לערך הזה יידחו. [0.0, 1.0] לא הוגדרה
category_allowlist מגדיר את הרשימה האופציונלית של שמות הקטגוריות המותרות. אם השדה לא ריק, תוצאות סיווג ששם הקטגוריה שלהן לא נכלל בקבוצה הזו יסוננו. המערכת מתעלמת משמות כפולים או לא ידועים של קטגוריות. האפשרות הזו בלעדית ל-category_denylist ומשתמשת בשתי התוצאות כשגיאה. כל מחרוזת לא הוגדרה
category_denylist מגדיר את הרשימה האופציונלית של שמות קטגוריות אסורים. אם התוצאות לא ריקות, תוצאות הסיווג ששם הקטגוריה שלהן נכלל בקבוצה הזו יסוננו. המערכת מתעלמת משמות כפולים או לא ידועים של קטגוריות. האפשרות הזו בלעדית ל-category_allowlist, והשימוש בשתי האפשרויות האלה גורם לשגיאה. כל מחרוזת לא הוגדרה
result_callback מגדיר את מאזן התוצאות לקבל את תוצאות הסיווג באופן אסינכרוני כאשר מסווג האודיו נמצא במצב שידור אודיו. אפשר להשתמש רק כשמצב ריצה מוגדר ל-AUDIO_STREAM לא רלוונטי לא הוגדרה

דגמים

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

מודל Yamnet הוא מסווג אירועי אודיו שאומן במערך הנתונים AudioSet כדי לחזות אירועי אודיו שמוגדרים בנתוני AudioSet. למידע על אירועי האודיו שהמודל הזה מזהה, ראו את רשימת התוויות של המודלים.

שם הדגם צורת הקלט סוג הכמות גרסאות
YamNet 1 x 15,600 ללא (float32) האחרון

נקודות השוואה למשימות

אלה נקודות ההשוואה למשימות לגבי כל צינור עיבוד הנתונים, בהתבסס על המודלים שהוכשרו מראש למעלה. זמן האחזור הוא זמן האחזור הממוצע ב-Pixel 6 כשמשתמשים במעבד (CPU) או ב-GPU.

שם דגם זמן אחזור של המעבד (CPU) זמן אחזור של GPU
YamNet 12.29 אלפיות השנייה -