使用Amazon Rekognition来控制您的Amazon IVS直播流的适度程度

通过使用Amazon Rekognition对您的Amazon IVS直播流进行智能监控

Amazon Interactive Video Service(Amazon IVS)是一种托管的实时流媒体解决方案,旨在提供快速简便的设置,让您构建交互式视频体验,并处理从摄入到输送的交互式视频内容。

随着实时流媒体的使用量增加,有效的内容审查需求变得更加重要。用户生成的内容(UGC)对安全性提出了复杂的挑战。许多公司依靠人工审核员来监控视频流,这是耗时、容易出错,并且无法与业务增长速度同步。越来越需要一种支持人工审核的自动内容审查解决方案。

Amazon Rekognition内容审查Amazon Rekognition的一个功能,它能够自动化和简化图像和视频审查工作流程,而无需机器学习(ML)经验。在本文中,我们将使用Amazon Rekognition图像API对实时流媒体进行视觉审核的常见实践进行解释。您可以使用我们的GitHub库中提供的AWS云开发工具包(AWS CDK)将此解决方案部署到您的AWS账户中。

审核实时流媒体的视觉内容

审核UGC实时流媒体的最常见方法是从流媒体中采样图像,并利用图像审核接收近实时结果。实时流媒体平台可以使用灵活的规则来审核视觉内容。例如,面向年轻受众的平台可能对成人内容和某些产品设定严格的规则,而其他平台可能侧重于仇恨符号。这些平台建立了不同的规则,以有效匹配其政策。人工与自动审核的组合过程是一种常见的设计方法。某些流媒体将自动停止,但人工审核员还将评估流媒体是否违反平台政策并应予停用。

下图说明了一个近实时审核系统的概念工作流程,该系统与实时流媒体系统的解耦。

概览

工作流程包括以下步骤:

  1. 实时流媒体服务(或客户端应用程序)以特定间隔从视频流中采样图像帧。
  2. 规则引擎评估审核准则,确定流采样频率和适用的审核类别,所有这些都在预定义的政策内完成。该过程涉及使用ML和非ML算法。
  3. 规则引擎在检测到视频流中存在违规行为时向人工审核员发出警告。
  4. 人工审核员评估结果并停用实时流媒体。

审核UGC实时流媒体与传统媒体视频审核有所不同。它满足不同的法规要求。从视频帧中采样图像进行审核的频率通常由平台的信任和安全政策以及服务级别协议(SLA)确定。例如,如果一个实时流媒体平台的目标是在发生政策违规事件后的3分钟内停止频道,一个实用的方法是每1-2分钟采样一次,留出时间供人工审核员进行验证和采取行动。一些平台要求灵活的审核频率控制。例如,声誉很高的流媒体播主可能需要较少的审核,而新播主需要更密切的关注。这也可以通过减少采样频率来实现成本优化。

成本是任何实时流媒体审核解决方案中的重要考虑因素。随着UGC实时流媒体平台的迅速扩展,以高频率审核并行流媒体可能引起成本问题。本文介绍的解决方案旨在通过允许您定义审核规则来自定义采样频率、忽略类似图像帧和其他技术来优化成本。

将Amazon IVS流内容记录到Amazon S3

Amazon IVS提供了原生解决方案,将流内容记录到Amazon Simple Storage Service(Amazon S3)存储桶并生成缩略图-从视频流中的图像帧。默认情况下,它每60秒生成一次缩略图,并提供用户自定义图像质量和频率的选项。您可以使用AWS管理控制台创建记录配置,并将其链接到Amazon IVS通道。当将记录配置与通道关联时,该通道的实时流将自动记录到指定的S3存储桶中。

使用自动记录到Amazon S3功能或写入Amazon S3不会产生Amazon IVS费用。涉及Amazon IVS代表客户调用的Amazon S3存储、Amazon S3 API调用以及向观众提供存储的视频会产生费用。有关Amazon IVS成本的详细信息,请参阅费用(低延迟流)

Amazon Rekognition审查API

在此解决方案中,我们使用Amazon Rekognition DetectModerationLabel API实时审查Amazon IVS缩略图。Amazon Rekognition内容审查提供预训练的API,用于分析各种不适当或冒犯性内容,如暴力、裸露、仇恨符号等。有关Amazon Rekognition内容审查分类的详细列表,请参阅内容审查

以下代码片段演示了如何使用Python Boto3库在AWS Lambda函数中调用Amazon Rekognition DetectModerationLabel API对图像进行审查:

import boto3# 初始化Amazon Rekognition客户端对象rekognition = boto3.client('rekognition')# 调用Rekognition图像审查APIresponse = rekognition.detect_moderation_labels( Image={'S3Object': {'Bucket': data_bucket, 'Name': s3_key}})

以下是来自Amazon Rekognition Image Moderation API的示例响应:

{    "ModerationLabels": [        {            "Confidence": 99.9290542602539,            "Name": "女性泳装或内衣",            "ParentName": "引起联想"        },        ...    ],    "ModerationModelVersion": "6.1"}

有关Amazon Rekognition图像审查API的其他示例,请参阅我们的内容审查图像实验室

解决方案概述

此解决方案通过从S3存储桶中读取缩略图图像,并将图像发送给Amazon Rekognition Image Moderation API与Amazon IVS集成。它提供了停止流自动化和人工审核的选择。您可以根据条件配置系统自动停止流的规则。它还包括一个轻量级的人工审核门户,让审核员能够监视流、管理违规警报并在必要时停止流。

在本节中,我们简要介绍了系统架构。有关更详细的信息,请参阅GitHub仓库

以下屏幕录制显示了审核员界面,使他们能够监视具有审核警告的活动流,并采取停止流或取消警告等操作。

演示审核员

用户可以自定义审核规则,控制每个频道的视频流抽样频率,配置具有置信度阈值的Amazon Rekognition审核类别,并启用相似性检查,从而避免处理冗余图像,确保性能和成本优化。

以下屏幕录制显示了全局配置的用户界面。

演示配置

该解决方案使用微服务架构,由两个与Amazon IVS松散耦合的关键组件组成。

整体架构

规则引擎

规则引擎是实时流媒体审核系统的核心组成部分。它是一个实时处理服务,可以实现近乎实时的审核。它使用亚马逊 Rekognition 对图像进行审核,根据可定制的规则验证结果,利用图像哈希算法识别和排除相似图像,并在规则违规时自动停止流或向人工审核子系统发出警报。该服务通过基于亚马逊 S3 的图像读取与亚马逊 API Gateway 进行集成。

以下架构图说明了近乎实时审核的工作流程。

规则引擎

触发规则引擎处理工作流有两种方法:

  • S3 文件触发 – 当向 S3 存储桶添加新图像时,工作流开始。这是亚马逊 IVS 集成的推荐方式。
  • REST API 调用 – 您可以通过请求主体中的图像字节对 API Gateway 发出 RESTful API 调用。API 将图像存储在 S3 存储桶中,触发近乎实时处理。该方法适用于由直播应用的客户端捕获并通过互联网传输的图像。

由 AWS Step Functions 管理的图像处理工作流包括以下几个步骤:

  1. 检查样本频率规则。如果上一个样本时间太近,处理将停止。
  2. 如果配置中启用了相似性检查,则使用图像哈希算法进行相似性检查。如果与同一频道接收到的上一个图像相似,则跳过该图像的处理。
  3. 使用亚马逊 Rekognition 图像审核 API 根据配置的规则评估图像,应用置信度阈值并忽略不必要的类别。
  4. 如果审核结果违反任何规则,则向 Amazon Simple Notification Service (Amazon SNS) 主题发送通知,向下游系统发出审核警告。
  5. 如果违反了自动停止审核规则,亚马逊 IVS 流将被自动停止。

该设计通过 Step Functions 状态机来管理规则,为灵活的工作流程定义提供拖放式图形用户界面。您可以通过结合其他 Step Functions 工作流来扩展规则引擎。

监控和管理仪表板

监控和管理仪表板是一个具有用户界面的 Web 应用程序,用于让人工审核员监控亚马逊 IVS 实时流。它提供近乎实时的审核警报,允许审核员停止流或忽略警告。该 Web 门户还提供管理员管理规则引擎的功能。它支持两种类型的配置:

  • 频道规则 – 您可以为特定频道定义规则。
  • 全局规则 – 这些规则适用于所有或缺少特定配置的亚马逊 IVS 频道的子集。您可以定义一个正则表达式,将全局规则应用于匹配模式的亚马逊 IVS 频道名称。例如:.* 应用于所有频道。/^test-/ 适用于以 test- 开头的频道。

该系统是一个无服务器的 Web 应用程序,采用静态 React 前端,使用 Amazon S3 和 Amazon CloudFront 进行缓存。身份验证由 Amazon Cognito 处理。数据通过 API Gateway 和 Lambda 提供,状态存储在 Amazon DynamoDB 中。以下图示说明了该架构。

Web application

监控仪表板是一个轻量级的演示应用程序,为管理员提供了必要的功能。要增强功能,您可以扩展实现以支持多个管理员和使用WebSockets实现推送机制以减少延迟。

审核延迟

该解决方案旨在用于近实时审核,延迟在两个独立子系统间测量:

  • 规则引擎工作流 – 从接收图像到通过Amazon SNS发送通知的规则引擎工作流平均在2秒内完成。该服务通过Step Functions状态机及时处理图像。对于文件大小低于1MB的平均文件,Amazon Rekognition图像审核API的处理时间低于500毫秒。(这些结果是基于对示例应用程序进行的测试,符合近实时要求。)在Amazon IVS中,您可以选择不同的缩略图分辨率以调整图像大小。
  • 监控Web门户 – 监控Web门户订阅规则引擎的SNS主题。它将警告记录在DynamoDB表中,而网站UI每10秒获取最新的警告。此设计展示了管理员视图的轻量级演示。为了进一步减少延迟,考虑通过Amazon SNS立即将警告推送到UI来实现WebSocket。

扩展解决方案

本文侧重介绍实时流视觉内容审核。然而,该解决方案有意具有灵活性,能够适应复杂的业务规则,并可扩展以支持其他媒体类型,包括审核直播流中的聊天消息和音频。您可以通过引入具有上游调度逻辑的新的Step Functions状态机工作流来增强规则引擎。在接下来的文章中,我们将深入探讨使用AWS AI服务进行实时流文本和音频审核。

总结

在本文中,我们提供了一个示例解决方案的概述,展示了如何使用Amazon Rekognition审核Amazon IVS直播视频。您可以按照GitHub存储库中的说明体验示例应用程序,并使用包含的AWS CDK软件包将其部署到您的AWS账户。

了解更多关于AWS上的内容审核。采取第一步,通过AWS优化您的内容审核操作