במדריך הזה מוסבר איך להשתמש ב-Python SDK כדי לטשטש פנים בסרטון. בדוגמה, קובצי וידאו מקטגוריה של Cloud Storage עוברים טשטוש, ונוצרים פלט של סרטונים מטושטשים. סרטוני הפלט האלה מאוחסנים באותה קטגוריה של Cloud Storage כמו סרטוני המקור.
מטרות
במדריך הזה מוסבר איך:
- יצירת קטגוריה של Cloud Storage.
- מעלים קובץ וידאו מקומי לקטגוריה.
- שליחת בקשה באמצעות Python SDK.
- צפייה בסרטוני פלט מטושטשים.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- Gemini Enterprise Agent Platform Vision (Models - Person / face blur)
- Cloud Storage
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Vertex AI Vision API ואת Cloud Storage API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable visionai.googleapis.com
storage.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/visionai.editor, roles/storage.objectAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Vertex AI Vision API ואת Cloud Storage API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable visionai.googleapis.com
storage.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/visionai.editor, roles/storage.objectAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
- קבלת קוד המקור של Gemini Enterprise Agent Platform Vision SDK:
git clone https://github.com/google/visionai.git
דוגמאות Python נמצאות בספרייה
visionai/python/example/. - מורידים את Python SDK:
wget https://github.com/google/visionai/releases/download/v0.0.5/visionai-0.0.5-py3-none-any.whl
הוספת קובצי קלט ל-Cloud Storage
כדי לשלוח בקשה באמצעות Python SDK, צריך ליצור קטגוריה של Cloud Storage ולהעלות סרטון מקומי לשימוש כקלט.
יוצרים קטגוריה של Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAMEמעלים קובץ וידאו מקומי לקטגוריה החדשה:
gcloud storage cp LOCAL_FILE gs://BUCKET_NAME
התקנת יחסי תלות ושליחת הבקשה
אחרי שיוצרים את קטגוריית Cloud Storage לסרטוני קלט ופלט ומוסיפים סרטון מקומי, מתקינים את התלויות הנדרשות ושולחים את הבקשה.
זה שינוי אופציונלי. מגדירים את הסביבה הווירטואלית:
אם האפליקציה לא מותקנת, מתקינים את
virtualenv:sudo apt-get install python3-venvיוצרים סביבה וירטואלית חדשה:
python3 -m venv vaivenvמפעילים את הסביבה הווירטואלית:
source vaivenv/bin/activate
יחסי תלות של התקנות:
pip3 install visionai-0.0.5-py3-none-any.whl pip3 install google-cloud-storageשולחים את הבקשה באמצעות Python SDK.
מחליפים את המשתנים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION_ID: מזהה המיקום. לדוגמה,
us-central1. מידע נוסף אזורים נתמכים - BUCKET_NAME: הקטגוריה של Cloud Storage שיצרתם.
python3 visionai/python/example/blur_gcs_video.py \ --project_id=PROJECT_ID –cluster_id=application-cluster-0 \ –location_id=LOCATION_ID –bucket_name=BUCKET_NAMEהפלט אמור להיראות כך:
Listing mp4 files... test1.mp4 test2.mp4 Creating deid processes... process vnluvxgl is created process rvrdoucx is created Waiting for processes to finish... process vnluvxgl state is COMPLETED process rvrdoucx state is COMPLETED All processes have finished, please check the GCS bucket! ```
בדיקת הפלט
אחרי שהעיבוד של הסרטון יסתיים, תוכלו לבדוק את הפלט בקטגוריה של Cloud Storage. קבצי הסרטון המטושטשים שנוצרו יהיו באותה קטגוריה של Cloud Storage שבה נמצא סרטון המקור.
כדי להציג רשימה של כל האובייקטים בקטגוריה, משתמשים בפקודה
gcloud storage ls:gcloud storage ls gs://bucketאתם אמורים לראות את קובצי המקור וקובצי הפלט באופן הבא:
test1.mp4 test2.mp4 test1_deid_output.mp4 test2_deid_output.mp4זה שינוי אופציונלי. מורידים את קובצי הפלט באופן מקומי באמצעות הפקודה
gcloud storage cpוצופים בסרטונים המטושטשים:gcloud storage cp gs://BUCKET_NAME/FILE_NAME .
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
המאמרים הבאים
- מידע נוסף על מודל הטשטוש של אנשים
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.