יצירת אפליקציה לטשטוש פנים עם אחסון במחסן נתונים

‫Gemini Enterprise Agent Platform Vision היא פלטפורמה מבוססת-AI שמאפשרת לכם להטמיע, לנתח ולאחסן נתונים של סרטונים. ‫Gemini Enterprise Agent Platform Vision מאפשרת לכם ליצור ולפרוס אפליקציות AI. אתם יכולים לבנות פתרונות ראייה מקצה לקצה באמצעות Gemini Enterprise Agent Platform Vision על ידי מינוף השילוב של Gemini Enterprise Agent Platform Vision עם רכיבי מוצר אחרים.

כדי להתחיל להטמיע פתרונות באמצעות פלטפורמת Vision של Gemini Enterprise Agent Platform, כדאי לעיין במושגים וברכיבים הבאים של פלטפורמת Vision של Agent Platform:

  • שידורים: מייצגים שכבת סטרימינג של סרטון מהפתרון שלכם. מקור השידור יכול להיות וידאו בשידור חי (לדוגמה, מצלמת IP) או קובץ וידאו (לדוגמה, קובץ MP4).

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

  • מאגרי מדיה: אחסון של סרטונים שנוספו לשידורים בGoogle Cloud אחסון. אחסון הנתונים ביעד הזה מאפשר לכם לשלוח שאילתות לגבי פלט הניתוח ומטא-נתונים ממעבדי ה-AI שנעשה בהם שימוש בנתונים מהזרמים שהועברו.

מטרות

במדריך הזה מוסבר איך:

  • יוצרים משאב של מקור נתונים.
  • מתחילים להזרים נתוני וידאו למשאב הזרם הזה.
  • יוצרים אפליקציה ריקה.
  • מוסיפים צמתים לאפליקציה כדי להזרים נתונים, לשנות נתונים ולאחסן נתונים.
  • פריסת האפליקציה לשימוש.
  • צפייה בפלט של הנתונים המעובדים ב Google Cloud מסוף.

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

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

  • Agent Platform Vision (Streams - Data ingested, Streams - Data consumed, Models - Person / face blur, Warehouse - Video storage)

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

לפני שמתחילים

  1. מאתרים את המיקום של מקור הווידאו לסטרימינג, באופן מקומי (לדוגמה, ./sample_video.mp4) או כתובת ה-IP של פיד ה-RTSP בשידור חי (לדוגמה, rtsp://192.168.1.180:540). תצטרכו את המידע הזה כדי להתחיל להזין נתונים לסטרימינג אחרי שתיצרו את משאב הסטרימינג.
  2. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Vision AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Vision AI > Vision AI Editor role to the service account.

      To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  7. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  8. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  9. התקינו את ה-CLI של Google Cloud.

  10. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  11. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  12. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  13. Verify that billing is enabled for your Google Cloud project.

  14. Enable the Vision AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  15. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Vision AI > Vision AI Editor role to the service account.

      To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  16. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  17. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  18. התקינו את ה-CLI של Google Cloud.

  19. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  20. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  21. התקנת הכלי vaictlלהעברת נתונים לזרם (מערכת הפעלה: Debian GNU/Linux, ארכיטקטורת CPU: x86_64):
    1. מורידים את החבילה הנדרשת:
      wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
    2. אחרי שמורידים את החבילה, מריצים את הפקודה הבאה בספרייה שבה הורדתם את הקובץ:
      sudo apt install ./visionai_0.0-5_amd64.deb
    3. אימות ההתקנה:
      vaictl --help

יצירת מקור נתונים

כדי ליצור אפליקציה לניתוח סרטונים בסטרימינג, קודם צריך ליצור ולרשום משאב סטרימינג. המקור שמקבל את נתוני הווידאו מהמשתמשים הוא הסטרימינג, ולכן הוא נדרש בכל תרחיש שיוצרים באמצעות Gemini Enterprise Agent Platform Vision.

המסוף

כדי ליצור זרם חדש ב Google Cloud מסוף, פועלים לפי השלבים הבאים.

  1. פותחים את הכרטיסייה Streams במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    מעבר לכרטיסייה 'סטרימינג'

  2. לוחצים על הרשמה.

  3. מזינים את הערך input-stream כשם הזרם ובוחרים את האזור שבו רוצים ליצור את הזרם.

  4. לוחצים על Register (הרשמה) כדי ליצור זרם אחד או יותר.

    רישום אפשרויות של מקורות נתונים בממשק המשתמש

הוספת סרטון לשידור

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

מצלמת IP

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION_ID: מזהה המיקום. לדוגמה: us-central1. מידע נוסף זמין במאמר מיקומים ב-Cloud.
  • RTSP_ADDRESS: הכתובת של פיד פרוטוקול הסטרימינג בזמן אמת (RTSP). לדוגמה: rtsp://192.168.1.180:540.

הפקודה הזו שולחת פיד RTSP לשידור. צריך להריץ את הפקודה הזו ברשת שיש לה גישה ישירה לפיד RTSP.

vaictl -p PROJECT_ID \
       -l LOCATION_ID \
       -c application-cluster-0 \
       --service-endpoint visionai.googleapis.com \
send rtsp to streams input-stream --rtsp-uri RTSP_ADDRESS
      

אם הפקודה מופעלת בהצלחה, מקבלים את הפלט הבא:

[...]
Waiting for long running operation projects/your-project/locations/us-central1/operations/operation-1651364156981-5dde82db7e4a9-dfb17ca5-1051eb20 ⠙
I20220430 21:16:28.024988 211449 gstvaisink.cc:417] cluster-id=application-cluster-0
I20220430 21:16:28.025032 211449 gstvaisink.cc:418] cluster-endpoint=c8khq35ftg78mn61ef50.us-central1.visionai.goog
I20220430 21:16:28.025040 211449 gstvaisink.cc:419] event-id=ev-1651364114183255223
I20220430 21:16:28.025048 211449 gstvaisink.cc:420] stream-id=input-stream
I20220430 21:16:28.025053 211449 gstvaisink.cc:421] series-id=ev-1651364114183255223--input-stream
I20220430 21:16:28.025060 211449 gstvaisink.cc:422] Sending data

קובץ וידאו מקומי

אפשר גם לשלוח נתונים של קובץ וידאו לשידור במקום וידאו בשידור חי. האפשרות הזו יכולה להיות שימושית אם אין לכם גישה למצלמת IP.

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION_ID: מזהה המיקום. לדוגמה: us-central1. מידע נוסף
  • LOCAL_FILE.EXT: שם הקובץ של קובץ וידאו מקומי. לדוגמה, my-video.mp4.
  • הדגל --loop: אופציונלי. מבצע לולאה של נתוני הקובץ כדי לדמות סטרימינג.

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

vaictl -p PROJECT_ID \
       -l LOCATION_ID \
       -c application-cluster-0 \
       --service-endpoint visionai.googleapis.com \
send video-file to streams 'input-stream' --file-path LOCAL_FILE.EXT --loop

יכול להיות שיחלפו כ-100 שניות בין תחילת פעולת ההטמעה vaictl לבין הופעת הסרטון בלוח הבקרה.

אחרי שההטמעה של השידור תהיה זמינה, תוכלו לראות את פיד הווידאו בכרטיסייה שידורים בלוח הבקרה של Gemini Enterprise Agent Platform Vision. כדי לראות את הפיד, בוחרים בשידור input-stream.

מעבר לכרטיסייה 'סטרימינג'

תצוגה של וידאו בשידור חי בסטרימינג בממשק המשתמש
תצוגה בזמן אמת של סרטון שמועבר לשידור במסוף Google Cloud . קרדיט על הסרטון: Tima Miroshnichenko ב-Pexels (נוספה פיקסלציה).

יצירת אפליקציה לטשטוש פנים

אחרי שיוצרים מקור נתונים ומזינים לתוכו נתונים, הגיע הזמן ליצור אפליקציית ראייה של Gemini Enterprise Agent Platform כדי לעבד את הנתונים. אפשר לחשוב על אפליקציה כעל צינור אוטומטי לעיבוד נתונים שמקשר בין הרכיבים הבאים:

  • הטמעת נתונים: פיד של סרטונים מוטמע במקור נתונים.
  • ניתוח נתונים: אפשר להוסיף מודל AI אחרי ההטמעה. אפשר לבצע כל פעולה של ראייה ממוחשבת על מידע הווידאו שהועבר.
  • אחסון נתונים: אפשר לאחסן במחסן מדיה את שתי הגרסאות של פיד הווידאו (הסטרימינג המקורי והסטרימינג שעבר עיבוד על ידי מודל ה-AI).

במסוף Google Cloud אפליקציה מיוצגת כתרשים. בנוסף, ב-Gemini Enterprise Agent Platform Vision, לגרף של אפליקציה צריכים להיות לפחות שני צמתים: צומת של מקור וידאו (סטרימינג) ולפחות עוד צומת אחד (מודל עיבוד או יעד פלט).

יצירת אפליקציה ריקה

כדי לאכלס את גרף האפליקציות, צריך קודם ליצור אפליקציה ריקה.

המסוף

יוצרים אפליקציה במסוף Google Cloud .

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לוחצים על הלחצן יצירה.

  3. מזינים את השם person-blur-app לאפליקציה ובוחרים את האזור.

  4. לוחצים על יצירה.

    תיבת דו-שיח ליצירת אפליקציה חדשה בממשק המשתמש

הוספת צמתים של רכיבי אפליקציה

אחרי שיוצרים את האפליקציה הריקה, אפשר להוסיף את שלושת הצמתים לגרף האפליקציה:

  1. צומת הטמעה: מקור הנתונים שכבר מטמיע נתונים.
  2. צומת עיבוד: מודל הטשטוש של אנשים שפועל על נתונים שהועברו.
  3. צומת אחסון: מחסן המדיה שבו מאוחסנים סרטונים שעברו עיבוד, ומשמש גם לאחסון מטא-נתונים. המחסן מאפשר ליצור מידע אנליטי על נתוני וידאו שהועברו אליו, וגם לשמור מידע שהמודלים של ה-AI הסיקו לגבי הנתונים.

המסוף

מוסיפים צמתי רכיבים לאפליקציה במסוף.

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לצד שם person-blur-app האפליקציה ברשימה, בוחרים באפשרות הצגת האפליקציה. תועברו לתצוגה הגרפית של צינור העיבוד.

הוספה של צומת להעברת נתונים

  1. כדי להוסיף את הצומת של זרם הקלט, בוחרים באפשרות Streams (זרמים) בקטע Connectors (מחברים) בתפריט הצדדי.

  2. בקטע מקור בתפריט סטרימינג שנפתח, לוחצים על הוספת סטרימינג.

  3. בתפריט הוספת סטרימינג, בוחרים באפשרות בחירה מתוך סטרימינג קיים ובוחרים באפשרות person-blur-app מתוך רשימת מקורות הסטרימינג.

    הוספת תפריט של מקורות נתונים בממשק המשתמש

  4. כדי להוסיף את הזרם לגרף האפליקציות, לוחצים על הוספת זרמים.

הוספה של צומת לעיבוד נתונים

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

  2. בתפריט האפשרויות של 'טשטוש אנשים' שנפתח, משאירים את האפשרות הסתרה מלאה מסומנת ומפעילים את האפשרות טשטוש פנים בלבד.

    הוספת מודל לטשטוש פנים בממשק המשתמש

הוספה של צומת לאחסון נתונים

  1. כדי להוסיף את צומת יעד הפלט (אחסון), בוחרים באפשרות Gemini Enterprise Agent Platform Vision's Media Warehouse בקטע Connectors בתפריט הצד.

  2. בתפריט Gemini Enterprise Agent Platform Vision's Media Warehouse, לוחצים על Connect warehouse (קישור למחסן).

  3. בתפריט Connect warehouse, בוחרים באפשרות Create new warehouse. נותנים למחסן השמות person-blur-app, ומשאירים את משך הזמן לתפוגה (TTL) על 14 ימים.

  4. כדי להוסיף את המחסן, לוחצים על יצירה.

    הוספת צומת מחסן בממשק המשתמש

פריסת האפליקציה

אחרי שיוצרים את האפליקציה מקצה לקצה עם כל הרכיבים הדרושים, השלב האחרון בשימוש באפליקציה הוא פריסה שלה.

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. לצד השם של person-blur-app האפליקציה ברשימה, בוחרים באפשרות הצגת האפליקציה.

  3. בדף של הכלי ליצירת גרף של אפליקציות, לוחצים על הלחצן Deploy.

  4. בתיבת הדו-שיח לאישור שמופיעה, לוחצים על פריסה.

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

    אפליקציה שנפרסה בממשק המשתמש

צפייה בנתוני פלט שעברו עיבוד

המסוף

  1. פותחים את הכרטיסייה Warehouses (מחסני נתונים) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    כניסה לכרטיסייה Warehouses

  2. מחפשים את person-blur-output-storage המחסן ברשימה ולוחצים על הצגת נכסים.

    הצגת פלט האפליקציה בממשק המשתמש

הסרת המשאבים

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

מחיקת הפרויקט

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת משאבים בודדים

מחיקת מחסן

  1. נכנסים לדף Warehouses במסוף Google Cloud .

    כניסה לכרטיסייה Warehouses

  2. מאתרים את המחסן person-blur-output-storage.
  3. כדי למחוק את מחסן הנתונים, לוחצים על Actions (פעולות), על Delete warehouse (מחיקת מחסן נתונים) ופועלים לפי ההוראות.

מחיקת מקור נתונים

  1. נכנסים לדף Streams במסוף Google Cloud .

    מעבר לכרטיסייה 'סטרימינג'

  2. מאתרים את מקור הנתונים input-stream.
  3. כדי למחוק את הזרם, לוחצים על Actions (פעולות), על Delete stream (מחיקת הזרם) ופועלים לפי ההוראות.

מחיקת אפליקציה

  1. נכנסים לדף Applications במסוף Google Cloud .

    עוברים לכרטיסייה 'אפליקציות'.

  2. מאתרים את האפליקציה person-blur-appשרוצים למחוק.
  3. כדי למחוק את האפליקציה, לוחצים על Actions (פעולות), על Delete application (מחיקת האפליקציה) ופועלים לפי ההוראות.

המאמרים הבאים