这是关于该系列的两部分系列文章中的第一篇 亚马逊SageMaker地面真相 分层标签工作流程和仪表板。 在第1部分中,我们着眼于使用分层标签分类法创建多步骤标签工作流 AWS步骤功能. 在第2部分(即将推出)中,我们将研究如何构建仪表板,以分析作为复杂工作流的输出而生成的数据湖上的数据集注释和工作人员绩效指标,并获得见解。
数据标记通常需要单个数据对象包含多种类型的注释,或者 多类型,例如2D框(边界框),线和分段蒙版,都在一个图像上。 此外,要使用标签数据创建高质量的机器学习(ML)模型,您需要一种方法来监视标签的质量。 您可以通过创建工作流程来执行此操作,在该工作流程中,可以根据需要审核和调整标记的数据。 这篇文章介绍了使用汽车数据集解决这两个标签挑战的解决方案,您可以扩展此解决方案以用于任何类型的数据集。
对于我们的用例,假设您有大量的汽车视频数据是从一个或多个角度在行驶中的车辆上拍摄的(例如,某些 多对象跟踪(MOT)场景),并且您想使用多种类型的注释对数据进行注释。 您计划使用此数据来训练定速巡航控制,车道保持ML算法。 鉴于手头的任务,必须使用高质量的标签来训练模型。
首先,您必须确定要添加到视频帧中的注释的类型。 此用例中要标记的一些最重要的对象是车架,道路边界和车道中的其他车辆。 为此,您定义一个 分级标签分类法,它定义了要添加到每个视频的标签的类型以及要添加标签的顺序。 这 地面真相视频跟踪贴标工作 支持边界框,折线,多边形和关键点注释。 在此用例中,使用二维框对车辆进行注释,或者 边框,并且道路边界和曲线由一系列柔性线段(称为“ 折线.
其次,您需要建立工作流程以确保标签质量。 为此,您可以创建一个审核工作流,以验证管道生成的标签具有足够高的质量,可用于模型训练。 在此审核工作流程中,您可以通过建立一个多步骤的审核管道来极大地提高标签的准确性,该管道允许对注释进行审核,并在必要时由可能是主题专家的第二位审阅者进行调整。
根据数据集和数据对象的大小,您还应该考虑创建和维护此管道所需的时间和资源。 理想情况下,您希望自动启动这一系列标记作业,仅需要人工操作即可指定输入数据和工作流程。
本文中使用的解决方案使用地面真理, AWS CloudFormation,步进功能和 Amazon DynamoDB 创建一系列以并行和分层方式运行的标签作业。 您可以使用分层标签分类法来创建不同方式(折线和边界框)的标签作业,并添加辅助人工检查步骤以提高注释质量和最终结果。
在本文中,我们将在汽车领域中演示该解决方案,但是您可以轻松地将此通用管道应用于涉及图像,视频,文本等的标签管道。 此外,我们演示了可扩展的工作流程,使您可以通过添加自动质量检查并保持大规模的数据质量来减少需要人工检查的帧总数。 在这种用例中,我们使用这些检查来发现MOT时间序列数据中的异常,例如视频对象跟踪注释。
我们遍历一个用例,在该用例中,我们为汽车场景生成了多种类型的注释。 具体来说,我们为每个输入视频剪辑运行四个贴标作业:车辆的初始贴标,车道的初始贴标,然后是每个具有单独的质量保证工作人员的调整工作。
我们在“步进功能”工作流程中演示了各种扩展点,这些扩展点可让您运行 自动化质量保证检查。 这允许在作业完成之间和完成之后进行剪辑过滤,从而可以以少量成本获得高质量的注释。
用于实施此解决方案的AWS服务
该解决方案创建并管理“地面真相”标签作业,以使用多种类型的注释来标记视频帧。 Ground Truth通过其视频帧对视频数据集具有本机支持 对象跟踪任务类型.
此任务类型允许工作人员在一系列视频帧中创建注释,从而提供工具来预测后续帧中边框的下一个位置。 它还支持多种注释类型,例如边界框或折线 标签类别配置文件 在创造就业机会时提供。 我们在本教程中使用这些工具,运行用于车辆边界框的作业和用于车道折线的作业。
我们使用“步进功能”来管理贴标作业。 该解决方案将标签作业的创建抽象化,以便您使用分层标签分类法指定要运行的总体工作流程,并且所有作业管理均由Step Functions处理。
该解决方案使用可在您的AWS账户中部署的CloudFormation模板实施。 解决方案的接口是由以下人员管理的API: Amazon API网关,该功能提供了将注释任务提交到解决方案的功能,然后将其转换为地面真相标签作业。
估计费用
通过部署和使用此解决方案,除了人工标记成本之外,您还需要支付大约20美元的最高成本,因为它仅按需使用完全托管的计算资源。 亚马逊简单存储服务 (Amazon S3), AWS Lambda, 亚马逊SageMaker,API网关, 亚马逊简单通知服务 (Amazon SNS), Amazon Simple Queue服务 (Amazon SQS), AWS胶水和步进功能包含在 AWS免费套餐,并收取额外的费用。 有关更多信息,请参见以下定价页面:
地面真理的定价取决于您使用的劳动力类型。 如果您是Ground Truth的新用户,我们建议您使用私人劳动力,并以自己的工人身份来测试您的贴标作业配置。 有关更多信息,请参见 Amazon SageMaker Ground Truth定价.
解决方案概述
在这个由两部分组成的系列文章中,我们讨论一种体系结构模式,该模式允许您构建用于编排多步骤数据标记工作流的管道,让工作人员使用Ground Truth并行添加不同类型的注释。 您还将学习如何分析工作流产生的数据集注释以及工作人员的绩效。 第一篇文章介绍了“步骤功能”工作流,该工作流使用Ground Truth进行链接和分层标签分类法来自动化高级ML数据标签工作流。 第二篇文章介绍了如何基于Ground Truth和工作人员指标在数据集注释上构建数据湖,以及如何使用这些数据湖来获取见解或使用高级分析功能分析工作人员的绩效和数据集注释质量。
下图描述了分层工作流,可用于按顺序运行标签作业组,或者 各级,其中单个级别的每个贴标作业并行运行。
该解决方案由两个主要部分组成:
- 使用API触发业务流程。
- 运行工作流的各个步骤以实现标签流水线。
使用API触发业务流程
在此解决方案中启动的CloudFormation模板使用API网关公开端点,以供您触发批处理标签作业。 将发布请求发送到API Gateway端点后,它将运行Lambda函数来触发工作流程。
下表包含与运行批处理相关的两个主要的面向用户的API,它们代表多级标签作业。
网址 | 请求类型 | 课程描述 |
{endpointUrl} /批处理/创建 | 解决方案&帖子 | API触发了一批新的标签作业 |
{endpointUrl} /批次/显示 | 的GET | API描述批处理作业运行的当前状态 |
运行工作流程
对于步骤的编排,我们将“步骤功能”用作托管解决方案。 触发批处理作业创建API时,Lambda函数将触发“步进函数”工作流,如下所示。 这开始注释输入处理。
让我们更详细地讨论这些步骤。
转型步骤
第一步是预处理数据。 当前的实现将笔记本的输入转换为 内部清单文件数据类型 跨多个步骤共享。 该步骤当前不执行任何复杂的处理,但是您可以通过向此函数添加自定义数据预处理逻辑来进一步自定义此步骤。 例如,如果您的数据集是用原始视频编码的,则可以在转换内而不是在单独的笔记本中执行帧拆分和清单生成。 或者,如果您正在使用此解决方案创建3D点云标记管线,则可能需要添加逻辑以使用相机和LiDAR外在矩阵在世界坐标系中提取姿态数据。
触发标签第一级
数据预处理完成后,Ground Truth API操作 创建标签作业 用于启动标签作业。 这些标记作业负责注释与第一级关联的数据集。
检查第一级完成
这一步等待 FIRST_LEVEL
地面真相标签作业是由 TriggerLabelingFirstStep
。 作业触发器完成后,此步骤将等待所有创建的标签作业完成。 外部侦听器Lambda函数监视标签作业的状态,并在所有未完成的标签作业完成后运行 sendTokenSucess
API发出此状态信号以继续进行下一步。 在步骤定义中使用适当的错误子句和超时来处理失败案例。
发送SecondLevelSNSAndCheckResponse
此步骤对第一级作业的输出执行后处理。 例如,如果您的要求是仅将10%的帧发送到调整作业,则可以在此处通过过滤第一个作业的输出集来实现此逻辑。
触发标签二级
从第一层开始的数据后处理完成后, CreateLabelingJobs
用于启动标签作业以完成第二级的注释。 在此阶段,私人工作人员会检查第一级标签作业的批注的质量,并根据需要更新批注。
检查第二级完成
此步骤与等待步骤相同 CheckForFirstLevelComplete
, 但是此步骤只是等待从第二级创建的作业。
发送ThirdLevelSNSAndCheckResponse
此步骤与以下步骤相同 SendSecondLevelSNSAndCheckResponse
, 但是此步骤将对第二级输出进行后处理,并将其作为输入送入第三级标签作业。
触发标签第三级
这与逻辑相同 TriggerLabelingSecondLevel
, 但是会触发标注为第三级的贴标作业。 在此阶段,私人员工正在更新二级标签作业质量的注释。
复制日志并发送批次已完成
此Lambda函数记录并发送SNS消息以通知用户该批处理已完成。 它也是您可能要运行的任何后处理逻辑的占位符。 常见的后处理包括将标记的数据转换为与客户特定数据格式兼容的格式。
先决条件
在开始之前,请确保您具有以下先决条件:
- An AWS账户.
- 笔记本 AWS身份和访问管理 (IAM)角色,并具有完成此演练所需的权限。 您的IAM角色必须具有所需的权限。 如果您不需要细化权限,请附加以下AWS托管策略:
AmazonS3FullAccess
AmazonAPIGatewayInvokeFullAccess
AmazonSageMakerFullAccess
- 熟悉地面真理,AWS CloudFormation和步骤功能。
- 贤者 劳动力。 对于此职位,我们使用私人劳动力。 您可以在SageMaker控制台上创建劳动力。 注意 亚马逊Cognito 创建劳动力后的用户池标识符和应用程序客户端标识符。 您可以使用这些值来告诉CloudFormation堆栈部署哪个工作人员来创建代表标签组的工作团队。 您可以在 私人劳动力摘要 创建劳动力后或致电时在控制台上的“部分” 描述工作团队.
以下GIF演示了如何创建私人劳动力。 有关分步说明,请参见 使用标签劳动力页面创建Amazon Cognito劳动力.
启动CloudFormation堆栈
现在,我们已经看到了解决方案的结构,我们将其部署到我们的帐户中,以便我们可以运行示例工作流程。 我们所有的部署步骤均由AWS CloudFormation管理-它为您创建Lambda,Step Functions,DynamoDB和API Gateway中的资源。
您可以在AWS区域中启动堆栈 us-east-1
在CloudFormation控制台上,选择 启动堆栈:
在CloudFormation控制台上,选择 接下来, 然后修改以下模板参数以自定义解决方案。
您可以在SageMaker控制台中找到CognitoUserPoolClientId和CognitoUserPoolId。
- CognitoUserPoolClientId: 您的私人劳动力的应用程序客户端ID。
- CognitoUserPoolId: 与您的私人劳动力相关联的用户池的ID。
要在控制台中找到这些值:
- 在以下位置打开SageMaker控制台 https://console.aws.amazon.com/sagemaker/
- 选择 标记劳动力 在导航窗格中。
- 选择 私做
- 使用中的值 私人工作小组摘要 使用 应用客户端 用于CognitoUserPoolClientId并使用 Amazon Cognito用户池 等加工。为 CognitoUserPoolId。
对于本教程,您可以将默认值用于以下参数。
- GlueJobTriggerCron: 计划报告AWS Glue cron作业时使用的Cron表达式。 使用SageMaker Ground Truth生成的注释和工作人员绩效指标的结果用于在Amazon QuickSight中创建仪表板。 这将作为第二部分的一部分进行详细说明。 在使用AWS Glue处理数据之后,SageMaker批注的输出和工作人员绩效指标将显示在Athena查询中。 默认情况下,AWS Glue cron作业每小时运行一次。
- JobCompletionTimeout: 将标签作业视为失败并进入BatchError状态之前等待的秒数。
- LoggingLevel: 这是内部使用的,可以忽略。 日志记录级别,用于更改日志的详细程度。 接受值DEBUG和PROD。
字首: 命名用于创建和管理标签作业和工作人员指标的资源时使用的前缀。
要在其他AWS区域中启动堆栈,请使用 GitHub存储库.
部署解决方案后,您先前创建的私人员工中有两个新的工作团队: smgt-workflow-first-level
和 smgt-workflow-second-level
。 如果未指定替代,则这些是解决方案使用的默认工作团队,并且 smgt-workflow-second-level
工作团队用于标记第二级和第三级工作。 您应该将自己添加到两个工作团队中,以查看解决方案创建的标记任务。 要了解如何将自己添加到私人工作团队中,请参阅 添加或删除工人.
您还需要转到API网关控制台,并查找以开头的已部署API。 smgt-workflow
并记下其ID。 笔记本需要引用此ID,以便可以确定要调用的API URL。
启动笔记本
将解决方案部署到您的帐户后,即可启动笔记本以与之交互并启动新的工作流程。 在本节中,我们将执行以下步骤:
- 设置并访问笔记本实例。
- 获取示例数据集。
- 准备地面真理输入文件。
设置SageMaker笔记本实例
在此示例笔记本中,您将学习如何将由车辆类和车道类组成的简单分类法映射到Ground Truth标签类别配置文件。 标签类别配置文件用于定义工作人员用来注释图像的标签。 接下来,您将学习如何启动和配置使用CloudFormation模板运行管道的解决方案。 您还可以进一步自定义此代码,例如,通过自定义批处理创建API调用来为任务类型的不同组合运行标签。
要创建笔记本实例并访问本文中使用的笔记本,请完成以下步骤:
- 创建一个笔记本实例 具有以下参数:
- 使用ml.t2.medium启动笔记本实例。
- 将ML存储卷的大小增加到至少10 GB。
- 选择前提条件中描述的笔记本IAM角色。 该角色允许您的笔记本将数据集上传到Amazon S3并调用解决方案API。
- 打开Jupyter Lab或Jupyter以 访问您的笔记本实例.
- 在Jupyter中,选择 SageMaker示例 在Jupyter Lab中,选择SageMaker图标。
- 地面真相贴标工作 然后选择工作 sagemaker_ground_truth_workflows.ipynb.
- 如果您使用的是Jupyter,请选择 使用 将笔记本复制到您的实例并运行它。 如果您在Jupyter实验室中,请选择 建立副本.
获取示例数据集
完成以下步骤来设置数据集:
- 使用来下载MOT17.zip 下载数据集 笔记本部分。
此下载约为5 GB,需要几分钟。
- 使用笔记本电脑的MOT17.zip解压缩 解压缩数据集
- 在下面 将数据复制到S3 标头,运行单元以将一组视频帧数据集复制到Amazon S3。
准备地面真理输入文件
要使用该解决方案,我们需要创建一个清单文件。 该文件告诉地面真理您的数据集在哪里。 我们还需要两个标签类别配置文件来描述我们的标签名称,以及每个标签使用的标签工具(边界框或折线)。
- 在下面运行单元格 产生清单 从数据集中获取视频中的帧列表。 我们以视频帧速率的一半为150帧作为示例。
- 继续在下面的单元格中运行 产生清单 创建描述我们视频帧的序列文件,然后创建引用我们序列文件的清单文件。
- 在下面运行单元 生成标签类别配置文件 创建两个新文件:车辆标签配置文件(使用边界框工具)和车道标签配置文件(使用折线工具)。
- 通过运行清单文件将清单文件复制并标记类别配置文件到Amazon S3。 发送数据到S3
至此,您已经为标签作业准备了所有输入,并准备开始操作该解决方案。
要了解有关“地面真相”视频帧标签作业和链接的更多信息,请参阅以下参考资料:
运行示例工作流程
在本节中,我们将逐步介绍在汽车数据集上运行示例工作流的步骤。 我们创建了一个多模式工作流程,同时执行初始标签和审核标签,然后查看完整的注释。
创建工作流程批
该解决方案协调了地面真相贴标作业的工作流程,以运行视频对象跟踪边界框作业和折线作业,以及在初始贴标后自动创建调整作业。 该工作流程批次是通过以下方式配置的 batch_create
解决方案可用的API。
在下面运行单元 批量创建演示 在笔记本上。 这会将您的输入清单和标签类别配置S3 URI传递给新的工作流程批。
单元格应输出新创建的工作流批次的ID,例如:
完成第一轮贴标任务
为了模拟完成标签的工作人员,我们以第一层地面真理工作组的工作人员身份登录并完成标签任务。
- 在下面运行单元 登录到工作人员门户 以获取登录到工作人员门户的链接。
如果您邀请自己参加由解决方案生成的第一级和第二级工作团队,则邀请应该已经发送到您的电子邮件地址。
- 登录并等待任务显示在工作人员门户中。
应该有两个任务,一个以结尾 vehicle
和一个以 lane
,对应于我们在工作流程批量创建过程中创建的两个作业。
- 打开每个任务,然后通过选择并拖动图像框架来添加一些虚拟标签。
- 提交 在每个任务上。
完成第二轮贴标任务
我们的工作流程指定我们希望为每个第一级作业自动启动调整作业。 现在,我们完成了第二轮标记任务。
- 仍在工作人员门户中,等待任务执行
vehicle-audit
和lane-audit
出现。 - 在工作人员门户中打开每个任务,请注意上级标签仍然可见。
这些调整任务可以由不同工作团队中训练有素的质量保证小组执行。
- 根据需要进行调整并选择 通过 or 失败 在每个注释上。
- 完成后,选择 提交.
查看完整的注释
我们可以通过运行批处理显示API来查看有关已完成的工作流批处理的详细信息。
- 在下面运行单元 批量显示演示.
这将在解决方案的数据库中查询所有完整的工作流运行批次,并且应在批次完成后输出您的批次ID。
- 我们可以通过运行以下单元格来获得有关批处理的更多特定详细信息 批量详细显示演示.
这将获取系统中批次的ID,并返回状态信息以及每个创建的作业的所有输入和输出清单的位置。
- 复制并输入字段
jobOutputS3Url
对于任何作业,并验证是否下载了该作业的清单文件。
该文件包含对您的输入数据序列的引用,以及每个序列的输出注释的S3 URI。
最终结果
当管道中的所有标签作业完成时,SNS消息将发布在 默认状态SNS主题。 您 可以订阅SNS主题 使用电子邮件地址来验证解决方案的功能。 该消息包括在批次创建过程中使用的批次ID,关于批次完成的消息,以及与该消息相同的信息。 batch/show
API根据 batchInfo
钥匙。 您可以解析此消息以提取有关管道第二级中已完成标签作业的元数据。
在每个作业元数据Blob中, jobOutputS3Url
字段包含一个预签名的URL,以访问此特定作业的输出清单。 输出清单包含扩展清单格式的数据标签结果,您可以通过使用以下方法索引JSON对象来解析该清单以检索批注 <jobName>-ref
。 该字段指向一个S3位置,其中包含给定视频剪辑的所有注释。
例如,对于边界框作业, SeqLabel.json
文件包含每个带注释框架的边界框注释(在这种情况下,仅对第一个框架进行了注释):
因为批处理完成SNS消息包含并行启动的作业的所有输出清单文件,所以您可以基于此消息对注释执行任何后处理。 例如,如果您具有针对这些注释的特定序列化格式,该格式将车辆边界框和车道注释结合在一起,则可以获得车道作业以及车辆作业的输出清单,然后根据帧号进行合并并转换为所需的格式最终格式。
要了解有关地面真理输出数据格式的更多信息,请参阅 输出数据.
清理
为避免产生将来的费用,请运行 清理 笔记本的“删除”部分以删除所有资源,包括S3对象和CloudFormation堆栈。 删除完成后,请确保停止并删除承载当前笔记本脚本的笔记本实例。
结论
这个由两部分组成的系列文章为您提供了一个参考架构,以构建高级数据标记工作流,该工作流由多步骤数据标记管道,调整作业以及用于相应数据集注释和工作人员指标的数据湖以及更新的仪表板组成。
在本文中,您学习了如何获取视频帧数据并触发工作流以运行多个Ground Truth标签作业,从而生成两种不同类型的注释(边界框和折线)。 您还了解了如何扩展管道以审核和验证标记的数据集,以及如何检索审核的结果。 最后,您了解了如何使用BatchShow API引用批处理作业的当前进度。
有关“地面真理”数据集注释的数据湖和来自“地面真理”的工作人员指标的更多信息,请返回至 地面真理博客 该系列的第二篇博客文章(即将发布)。
试试看 笔记本 并通过添加其他作业或审核步骤,或通过修改作业的数据形式为输入数据集自定义它。 进一步定制 方案, 可能包括但不限于:
- 添加其他类型的注释,例如语义分段掩码或关键点
- 将自动质量保证和过滤功能添加到“步骤功能”工作流程中,以便仅将低质量的注释发送到下一个审阅级别
- 添加第三或第四级质量审核,以进行其他更专业的审核类型
该解决方案是在Step Functions的基础上使用无服务器技术构建的,这使其具有高度可定制性,并适用于各种应用程序。
作者简介
维迪亚·萨加尔·拉维帕蒂(Vidya Sagar Ravipati) 是位于纽约的深度学习架构师 亚马逊机器学习解决方案实验室,他利用在大型分布式系统方面的丰富经验以及对机器学习的热情,帮助跨不同行业的AWS客户加速其AI和云技术的采用。 之前,他是Amazon Connectivity Services的机器学习工程师,曾帮助构建个性化和预测性维护平台。
杰里米·费特拉科(Jeremy Feltracco) 是Amazon Web Services的Amazon ML解决方案实验室的软件开发工程师。 他利用其在计算机视觉,机器人技术和机器学习方面的背景知识来帮助AWS客户加速其AI的采用。
宰成章 是一名软件开发工程师。 他的激情在于使用AI解决方案和业务流程技术自动执行手动流程,以确保业务执行。
塔利亚·乔普拉(Talia Chopra) 是AWS的技术作家,专门研究机器学习和人工智能。 她与AWS中的多个团队一起使用Amazon SageMaker,MxNet和AutoGluon为客户创建技术文档和教程。
- "
- 100
- 107
- 3d
- 7
- 98
- ACCESS
- 账号管理
- 额外
- 采用
- AI
- 人工智能的采用
- 算法
- 所有类型
- 允许
- Amazon
- 亚马逊SageMaker
- 亚马逊SageMaker地面真相
- 亚马逊网络服务
- 分析
- API
- APIs
- 应用
- 应用领域
- 架构
- 人工智能
- 审计
- 自动化
- 汽车
- AWS
- 博客
- 盒子
- 建立
- 建筑物
- 商业
- 呼叫
- 例
- 更改
- 收费
- 支票
- 云端技术
- 云采用
- 码
- 未来
- 相当常见
- 计算
- 计算机视觉
- 连接方式
- 成本
- 创造
- 巡航
- 电流
- 当前状态
- 合作伙伴
- XNUMX月XNUMX日
- data
- 数据湖
- 数据质量
- 数据库
- 深入学习
- 需求
- 细节
- 研发支持
- 邮箱地址
- 端点
- 工程师
- 执行
- 失败
- 时尚
- (名字)
- 格式
- 自由的
- 功能
- 未来
- 其他咨询
- GIF
- 团队
- 相关信息
- 高
- 托管
- 创新中心
- How To
- HTTPS
- IAM
- ICON
- 鉴定
- 身分
- 图片
- 包含
- 行业中的应用:
- 信息
- 可行的洞见
- 房源搜索
- IT
- 工作
- 工作机会
- 键
- 标签
- 标签
- 大
- 发射
- 学习用品
- 知道
- 学习
- Level
- 处理
- 有限
- 友情链接
- 清单
- 圖書分館的位置
- 机器学习
- 颠覆性技术
- 地图
- 面膜
- 中等
- 指标
- ML
- 模型
- 名称
- 旅游导航
- 通知
- 操作
- 秩序
- 其他名称
- 模式
- 性能
- 个性化
- 平台
- 政策
- 池
- 门户网站
- 价格
- 私立
- 生成
- 质量
- 原
- 减少
- 岗位要求
- 资源
- 成果
- 回报
- 检讨
- 评论
- 机器人
- 运行
- 运行
- sagemaker
- 鳞片
- 次
- 系列
- 无服务器
- 特色服务
- 集
- 共用的,
- 简易
- 尺寸
- So
- 软件
- 软件开发
- 解决方案
- 太空
- 阶段
- 开始
- 开始
- 州/领地
- 州
- Status
- 存储
- 成功
- SUPPORT
- 支持
- 系统
- 产品
- 文案
- 技术
- 告诉
- test
- 次
- 象征
- 最佳
- 跟踪
- 产品培训
- 转型
- 治疗
- 教程
- 教程
- 最新动态
- 的URI
- 用户
- 汽车
- 车辆
- 视频
- 视频
- 查看
- 愿景
- 体积
- 等待
- 卷筒纸
- Web服务
- WHO
- 中
- 工作
- 工人
- 工作流程
- 劳动力
- 合作
- 世界
- 作家