管理数据集
数据集包含要加标签的内容类型的代表性样本,以及您希望模型使用的边界框标签。数据集用作训练模型的输入。
构建数据集的主要步骤如下:
在训练之前,请务必在训练模型之前准备数据。
项目可以有多个数据集,每个数据集用于训练单独的模型。您可以获取可用数据集列表,也可以删除不再需要的数据集。
创建数据集
如要创建模型,首先需要创建一个空数据集,该数据集最终用于保存模型的训练数据。
网页界面
在 AutoML 视频对象跟踪界面中,您可以创建新数据集并在同一页面将训练项导入其中。- 打开 AutoML Video 对象跟踪界面。数据集页面会显示之前为当前项目创建的数据集的状态。
要为其他项目添加数据集,请从标题栏右上角的下拉列表中选择项目。
- 在数据集页面上,点击创建数据集。
- 在创建数据集对话框中,执行以下操作:
- 为此数据集指定名称。
- 选择 Video 对象跟踪。
- 点击创建数据集。
- 在数据集页面上,提供包含训练数据 URI 的 CSV 文件的 Cloud Storage URI,开头不需要
gs://
前缀。 - 同样在数据集页面上,点击继续开始导入。
REST
以下示例创建一个名为 my_dataset01
的数据集,该数据集支持对象跟踪用例。在您将数据项导入到新创建的数据集之前,该数据集不包含任何数据。
保存响应中新数据集的 "name"
以用于其他操作,例如,将数据项导入到数据集中并训练模型。
在使用任何请求数据之前,请先进行以下替换:
- dataset-name:目标数据集的名称。
例如my_dataset_01
。 - 注意:
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。
HTTP 方法和网址:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
请求 JSON 正文:
{ "displayName": "dataset-name", "videoObjectTrackingDatasetMetadata": { } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets" | Select-Object -Expand Content
VOT12345....
Java
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
将数据项导入数据集
创建数据集后,您可以从存储在 Cloud Storage 存储桶中的 CSV 文件导入带标签的数据。如需详细了解如何准备数据并创建 CSV 文件以供导入,请参阅准备训练数据。
您可将数据项导入空数据集,也可在现有数据集中导入其他数据项。
网页界面
通常,您在创建数据集时导入数据。但是,如果您需要在创建数据集后导入数据,请执行以下操作:
- 打开 AutoML Video 对象跟踪界面。数据集页面会显示之前为当前项目创建的数据集的状态。
- 在列表中,点击要向其中导入数据的数据集。
- 在导入标签页上,提供包含训练数据 URI 的 CSV 文件的 Cloud Storage URI,开头不需要
gs://
前缀。 - 同样在数据集的导入标签页上,点击继续以开始导入。
REST
要导入训练数据时,请使用importData
方法。此方法要求您提供两个参数:
在使用任何请求数据之前,请先进行以下替换:
- dataset-id:您的数据集的 ID。此 ID 是数据集名称的最后一个元素。例如:
- 数据集名称:
projects/project-number/locations/location-id/datasets/3104518874390609379
- 数据集 ID:
3104518874390609379
- 数据集名称:
- bucket-name:替换为您在其中存储模型训练文件列表 CSV 文件的 Cloud Storage 存储桶的名称。
- csv-file-name:替换为模型训练文件列表 CSV 文件的名称。
- 注意:
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。
HTTP 方法和网址:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData
请求 JSON 正文:
{ "inputConfig": { "gcsSource": { "inputUris": ["gs://bucket-name/csv-file-name.csv"] } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData" | Select-Object -Expand Content
VOT7506374678919774208
的响应。
Java
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
为训练项添加标签
为了有助于训练模型,数据集中的每一项都必须至少包含一个边界框和一个分配给它的类别标签。您可以通过以下两种方式为训练项提供标签:
- 在 CSV 文件中添加标签和边界框
- 在 AutoML Video 对象跟踪界面中应用标签和边界框。
如需详细了解如何为 CSV 文件中的各项添加标签,请参阅准备训练数据。
要在 AutoML Video 对象跟踪界面中为训练项添加标签,请从数据集列表页面中选择相应数据集以查看其相关详细信息。所选数据集的显示名会显示在标题栏中,该页面还会列出数据集中的各个训练项及其标签。 左侧的导航栏汇总了已加标签和未加标签的训练项数。您还可以按标签过滤训练项列表。
要将标签和边界框分配给未加标签的视频或更改视频标签和边界框,请执行以下操作:
- 在数据集页面上,点击要添加标签的视频。
在视频页面上,执行以下操作:
- 运行视频,直到您看到要添加标签的内容。
- 拖动光标以围绕着内容绘制边界框。
- 绘制边界框后,选择要使用的标签。
- 点击保存。
如果需要为数据集添加新标签,请在数据集页面的现有标签列表上方,点击过滤标签 (Filter labels) 旁边的三个点,然后点击添加新标签。
更改数据中的标签
您还可以更改应用于数据集中视频的标签。在 AutoML Video 对象跟踪界面中,执行以下操作:
- 在数据集页面上,点击要更改标签的视频。
在视频页面上,执行以下操作:
- 在左侧的标签列表中,选择您要更改的标签。
- 在视频预览中,右键点击视频上的边界框,然后选择所需的标签。
- 点击保存。
列出数据集
一个项目可以包含许多数据集。本部分介绍如何检索项目的可用数据集列表。
网页界面
如需使用 AutoML Video 对象跟踪界面查看可用数据集的列表,请导航到数据集页面。
如需查看其他项目的数据集,请从标题栏右上角的下拉列表中选择该项目。
REST
使用以下curl
或 PowerShell 命令获取数据集列表以及导入数据集的示例视频数量。
在使用任何请求数据之前,请先进行以下替换:
- project-number:您项目的编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。
HTTP 方法和网址:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets "
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets " | Select-Object -Expand Content
VOT3940649673949184000
是为请求创建的长时间运行的操作 ID,在您启动操作时在响应中提供。
Java
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
删除数据集
以下代码演示了如何删除数据集。
网页界面
-
前往 AutoML Video Object Tracking 界面中的数据集页面。
- 点击要删除的行最右侧的三点状菜单,然后选择删除数据集。
- 在确认对话框中点击确认。
REST
在使用任何请求数据之前,请先进行以下替换:
- project-number:您项目的编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。 - datase-id:将替换为数据集 ID 的标识符。
HTTP 方法和网址:
DELETE https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id
如需发送您的请求,请展开以下选项之一:
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Java
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video Object Tracking 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。