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

צורת הגל של קריאת ציפור מופיעה מעל תמונה של הציפור שצורת הגל תואמת לקריאה שלה.

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

רוצים לנסות?

תחילת העבודה

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

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

פרטי המשימה

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

תכונות

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

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

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

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

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

AUDIO_STREAM: המצב להפעלת המשימה של האודיו בשידור אודיו, למשל מהמיקרופון. במצב הזה, צריך להפעיל את resultListener כדי להגדיר מאזין שיקבל את תוצאות הסיווג באופן אסינכרוני.
{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 לא רלוונטי לא מוגדר

דגמים

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

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

שם דגם צורת הקלט סוג הקידוד גרסאות
YamNet 1 x 15600 None‏ (float32) חדש

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

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

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