המשימה 'סיווג אודיו' ב-MediaPipe מאפשרת לכם לסווג קליפים של אודיו לקבוצה של קטגוריות מוגדרות, כמו מוזיקה בגיטרה, שריקה של רכבת או שיר של ציפור. הקטגוריות מוגדרות במהלך אימון המודל. המשימה הזו פועלת על נתוני אודיו באמצעות מודל למידת מכונה (ML) כקליפים עצמאיים של אודיו או כשידור רציף, ומפיקה רשימה של קטגוריות פוטנציאליות שמדורגות לפי ציון הסבירות יורד.
תחילת העבודה
כדי להתחיל להשתמש במשימה הזו, פועלים לפי אחד מהמדריכים הבאים להטמעה בפלטפורמת היעד. המדריכים הספציפיים לפלטפורמות האלה כוללים הנחיות להטמעה בסיסית של המשימה הזו, כולל מודל מומלץ ודוגמת קוד עם אפשרויות ההגדרה המומלצות:
- Android – דוגמה לקוד – מדריך
- Python – מדריך עם קוד לדוגמה
- אינטרנט – דוגמה לקוד – מדריך
המדריכים האלה, שמותאמים לכל פלטפורמה, כוללים הנחיות להטמעה בסיסית של המשימה הזו, כולל מודל מומלץ ודוגמת קוד עם אפשרויות ההגדרה המומלצות.
פרטי המשימה
בקטע הזה מוסבר על היכולות, הקלט, הפלט והאפשרויות להגדרה של המשימה הזו.
תכונות
- עיבוד אודיו בקלט – העיבוד כולל דגימה מחדש של אודיו, שמירת אודיו במטמון, עיצוב והמרת פורייה.
- Label map locale (לוקאל של מפה עם תוויות) – הגדרת השפה שבה ייכתבו שמות התצוגה
- סף ניקוד – סינון התוצאות על סמך ציונים של תחזיות.
- זיהוי Top-k – סינון תוצאות זיהוי המספרים.
- תיוג של רשימת ההיתרים ורשימת הדחייה – מציינים את הקטגוריות שזוהו.
קלט של משימות | פלט של משימות |
---|---|
הקלט יכול להיות אחד מסוגי הנתונים הבאים:
|
מסווג האודיו מניב רשימה של קטגוריות שמכילות:
|
אפשרויות הגדרה
למשימה הזו יש את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
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 (מומלץ)
מודל Yamnet הוא סיווג של אירועי אודיו שהוכשרו על מערך הנתונים AudioSet כדי לחזות אירועי אודיו שמוגדרים בנתוני AudioSet. מידע על אירועי האודיו שזוהו על ידי המודל הזה זמין ברשימת התוויות של המודל.
שם דגם | צורת הקלט | סוג הקידוד | גרסאות |
---|---|---|---|
YamNet | 1 x 15600 | None (float32) | חדש |
נקודות השוואה של משימות
ריכזנו כאן את נקודות השוואה של המשימות לצינור עיבוד הנתונים כולו, על סמך המודלים המוכנים מראש שצוינו למעלה. תוצאת זמן האחזור היא זמן האחזור הממוצע ב-Pixel 6 באמצעות מעבד או יחידת עיבוד גרפי (GPU).
שם דגם | זמן האחזור של המעבד (CPU) | זמן אחזור של GPU |
---|---|---|
YamNet | 12.29 אלפיות השנייה | - |