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

‫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:

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

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

  • מחסני מדיה: אחסון הסרטונים שנקלטו בסטרימינג ב-Google Cloud storage. אחסון הנתונים ביעד הזה מאפשר לשלוח שאילתות על פלט הניתוח ועל המטא-נתונים ממעבדי ה-AI שמשמשים לעיבוד באמצעות 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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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. Install the Google Cloud CLI.

  8. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  9. To initialize the gcloud CLI, run the following command:

    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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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. Install the Google Cloud CLI.

  16. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  17. To initialize the gcloud CLI, run the following command:

    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, לוחצים על View app כדי לפתוח את התצוגה החזותית של תרשים צינור עיבוד הנתונים.

הוספת צומת להטמעת נתונים

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

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

  3. בתפריט הוספת מקורות נתונים, בוחרים באפשרות רישום מקורות נתונים חדשים ומוסיפים את occupancy-count-stream כשם מקור הנתונים.

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

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

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

  2. משאירים את אפשרויות ברירת המחדל אנשים וכלי רכב.

הוספת צומת מאגר נתונים

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

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

  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. בתיבת הדו-שיח לאישור, לוחצים על Deploy.

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

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

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

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

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

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

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

המסוף

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

    כניסה לדף VM instances

  2. בוחרים את הפרויקט ולוחצים על Continue.

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

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

  5. אופציונלי: משנים את האזור של מכונת ה-VM. כדי לעודד שימוש בכמה אזורים, המערכת של 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
    

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

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

SSH בדפדפן

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

  1. בחלון SSH-in-browser של המכונה הווירטואלית, מעתיקים סרטון לדוגמה באמצעות הפקודה 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.

עוברים לכרטיסייה Streams

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

חיפוש קטע וידאו במחסן האחסון

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

המסוף

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

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

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

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

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

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

הסרת המשאבים

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

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

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

    כניסה לדף 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 .

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

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

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

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

    עוברים לכרטיסייה Streams

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

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

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

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

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

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