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

‫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 שנעשה בהם שימוש בנתונים מהזרמים שהועברו.

מטרות

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

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

עלויות

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

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

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

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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

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

  4. Enable the Compute Engine and Vision AI APIs.

    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 APIs

  5. 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 following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    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.

  6. 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.
  7. התקינו את ה-CLI של Google Cloud.

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

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

    gcloud init
  10. 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

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

  12. Enable the Compute Engine and Vision AI APIs.

    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 APIs

  13. 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 following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    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.

  14. 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.
  15. התקינו את ה-CLI של Google Cloud.

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

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

    gcloud init

התפקיד נדרש רק אם מעתיקים קובץ סרטון לאימון המודל מקטגוריה של Cloud Storage.

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

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

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

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

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

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

המסוף

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

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

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

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

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

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

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

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

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

המסוף

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

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

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

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

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

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

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

  3. בתפריט Add streams (הוספת סטרימינג), בוחרים באפשרות Register new streams (רישום סטרימינג חדש) ומוסיפים את occupancy-count-stream כשם הסטרימינג.

  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. נותנים למחסן השמות occupancy-count-warehouse, ומשאירים את משך הזמן לתפוגה (TTL) על 14 ימים.

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

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

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

המסוף

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

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

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

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

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

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

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

הגדרת מחשב מרוחק לסטרימינג של וידאו

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

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

יצירת מכונת וירטואלית של Linux

השלב הראשון בשליחת סרטון ממכונת VM ב-Compute Engine הוא יצירת מכונת ה-VM.

המסוף

  1. נכנסים לדף VM instances במסוף.

    כניסה לדף VM instances

  2. בוחרים פרויקט ולוחצים על המשך.

  3. לוחצים על Create instance.

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

  5. אופציונלי: משנים את האזור של המכונה הווירטואלית. מערכת Compute Engine מבצעת רנדומיזציה של רשימת האזורים בכל אזור כדי לעודד שימוש בכמה אזורים.

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

  7. כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.

הגדרת סביבת המכונה הווירטואלית

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

המסוף

יצירת חיבור SSH למכונה הווירטואלית

  1. נכנסים לדף VM instances במסוף.

    כניסה לדף VM instances

  2. בקטע Connect בשורה של המכונה שיצרתם, לוחצים על SSH. חיבור SSH ייפתח בחלון דפדפן חדש.

    אפשרות ה-SSH בממשק המשתמש

הורדת כלי שורת הפקודה vaictl

  1. בחלון SSH-in-browser, מורידים את כלי שורת הפקודה של Gemini Enterprise Agent Platform Vision ‏(vaictl) באמצעות הפקודה הבאה:

    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
    

הוספת קובץ וידאו לאפליקציה

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

SSH בדפדפן

העתקת סרטון לאימון המודל למכונה הווירטואלית

  1. בחלון SSH-in-browser (SSH בדפדפן) של מכונת ה-VM, מעתיקים סרטון לדוגמה באמצעות הפקודה gcloud storage cp הבאה. מחליפים את המשתנה הבא:
    • SOURCE: המיקום של קובץ הווידאו לשימוש. אתם יכולים להשתמש בקובץ וידאו משלכם (לדוגמה, gs://BUCKET_NAME/FILENAME.mp4) או באחד מסרטוני הדוגמה:
      • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (סרטון עם אנשים וכלי רכב, מקור)
      • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (סרטון עם כלי רכב בלבד, מקור)
    gcloud storage cp SOURCE .

הזרמת וידאו ממכונה וירטואלית והעברת נתונים לאפליקציה

  1. כדי לשלוח את קובץ הווידאו המקומי הזה לזרם הקלט של האפליקציה, משתמשים בפקודה הבאה. צריך להחליף את המשתנים הבאים:
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • LOCATION_ID: מזהה המיקום. לדוגמה, us-central1. מידע נוסף זמין במאמר מיקומים ב-Cloud.
    • 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 'occupancy-count-stream' --file-path LOCAL_FILE.EXT --loop

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

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

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

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

חיפוש תוכן וידאו במחסן האחסון

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

המסוף

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

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

  2. מחפשים את occupancy-count-warehouse המחסן ברשימה ולוחצים על הצגת נכסים.

  3. בקטע People count או Vehicle count, מגדירים את הערך Min ל-1 ואת הערך Max ל-5.

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

    תצוגה של נתונים מאוחסנים עם היבטים בממשק המשתמש
    תצוגה של נתוני סרטונים מאוחסנים שתואמים לקריטריונים של החיפוש במסוף Google Cloud . קרדיט על הווידאו: Elizabeth Mavor ב-Pixabay (קריטריוני החיפוש שהוחלו).

הסרת המשאבים

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

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

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

    כניסה לדף Manage resources

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

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

מחיקת מכונה וירטואלית ב-Compute Engine

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

    כניסה לדף VM instances

  2. מסמנים את התיבה שלצד המופע שרוצים למחוק.
  3. כדי למחוק את המכונה, לוחצים על More actions ואז על Delete ופועלים לפי ההוראות.

מחיקת מחסן

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

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

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

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

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

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

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

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

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

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

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

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