介绍使用 Amazon SageMaker 和 Hugging Face 的图像到语音生成 AI 应用程序 | 亚马逊网络服务

介绍使用 Amazon SageMaker 和 Hugging Face 的图像到语音生成 AI 应用程序 | 亚马逊网络服务

视力丧失有多种形式。 对于一些人来说,它是从出生开始的,而对于其他人来说,它是随着时间的推移缓慢下降,并伴随着许多过期日期:那一天你看不到照片、认不出自己、爱人的面孔,甚至看不到你的邮件。 在我们之前的博文中 使用 Amazon Textract 和 Amazon Polly 使视障人士能够听到文档,我们向您展示了名为 “为我读书”。 可访问性已经取得了长足的进步,但是图像呢?

在拉斯维加斯举行的 2022 年 AWS re:Invent 大会上,我们展示了 “为我描述” 在 AWS 建设者博览会上,该网站通过图像说明、面部识别和文本转语音帮助视障人士理解图像,我们将这种技术称为“图像转语音”。 通过使用多种 AI/ML 服务,“Describe For Me”为输入图像生成标题,并以各种语言和方言以清晰、自然的声音朗读。

在这篇博文中,我们将带您了解“Describe For Me”背后的解决方案架构,以及我们解决方案的设计注意事项。

解决方案概述

以下参考架构显示了用户使用手机拍照并播放带有图片字幕的 MP3 的工作流程。

所述解决方案的参考架构。

工作流程包括以下步骤,

  1. AWS放大 将由 HTML、JavaScript 和 CSS 组成的 DescribeForMe 网络应用分发到最终用户的移动设备。
  2. 亚马逊Cognito 身份池授予临时访问权限 Amazon S3 桶。
  3. 用户上传图片文件到 Amazon S3 使用桶 AWS开发工具包 通过网络应用程序。
  4. DescribeForMe 网络应用通过发送 Amazon S3 有效载荷中的对象键 Amazon API网关
  5. Amazon API网关 实例化一个 AWS步骤功能 工作流程。 状态机协调人工智能/机器学习 (AI/ML) 服务 亚马逊重新认识, 亚马逊SageMaker亚马逊Textract, 亚马逊翻译, 亚马逊波莉  运用 AWS 拉姆达 功能。
  6. AWS步骤功能 工作流创建一个音频文件作为输出并将其存储在 Amazon S3 MP3 格式。
  7. 一个预签名的 URL,其中包含存储在中的音频文件的位置 Amazon S3 通过发送回用户的浏览器 Amazon API网关. 用户的移动设备使用预签名 URL 播放音频文件。

解决方案演练

在本节中,我们将重点关注我们选择的设计考虑因素

  1. 并行处理 AWS步骤功能 工作流程
  2. 统一的序列到序列预训练机器学习模型OFA(One For All)来自 拥抱脸 至 亚马逊SageMaker 用于图片说明
  3. 亚马逊重新认识 用于面部识别

如需更详细地了解我们为何选择无服务器架构、同步工作流、快速步骤函数工作流、无头架构以及获得的好处,请阅读我们之前的博文 使用 Amazon Textract 和 Amazon Polly 使视障人士能够听到文档

并行处理

在 Step Functions 工作流程中使用并行处理可将计算时间缩短多达 48%。 一旦用户将图像上传到 S3 存储桶,Amazon API Gateway 就会实例化一个 AWS Step Functions 工作流程。 然后,以下三个 Lambda 函数在 Step Functions 工作流程中并行处理图像。

  • 第一个 Lambda 函数调用 describe_image 使用分析图像 OFA_IMAGE_CAPTION 模型 托管在 SageMaker 实时端点上以提供图像说明。
  • 第二个 Lambda 函数调用 describe_faces 首先使用 Amazon Rekognition 的检查是否有人脸 检测人脸 API,如果为真,它会调用 Compare Faces API。 这样做的原因是如果在图像中找不到人脸,比较人脸将抛出错误。 此外,首先调用 Detect Faces 比简单地运行 Compare Faces 和处理错误更快,因此对于其中没有人脸的图像,处理时间会更快。
  • 第三个 Lambda 函数调用 extract_text 使用 Amazon Textract 和 Amazon Comprehend 处理文本转语音。

连续执行 Lambda 函数是合适的,但更快、更有效的方法是通过并行处理。 下表显示了为三个示例图像节省的计算时间。

图片 员工 顺序时间 平行时间 节省时间 (%) 标题
介绍使用 Amazon SageMaker 和 Hugging Face 的图像到语音生成 AI 应用程序 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。 0 1869ms 1702ms 8% 一只虎斑猫蜷缩在蓬松的白色床上。
介绍使用 Amazon SageMaker 和 Hugging Face 的图像到语音生成 AI 应用程序 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。 1 4277ms 2197ms 48% 一位身穿绿色衬衫和黑色开衫的女士对着镜头微笑。 我认识一个人:Kanbo。
介绍使用 Amazon SageMaker 和 Hugging Face 的图像到语音生成 AI 应用程序 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。 4 6603ms 3904ms 40% 人们站在亚马逊球体前。 我认识 3 个人:Kanbo、Jack 和 Ayman。

图片说明

Hugging Face 是一个开源社区和数据科学平台,允许用户共享、构建、训练和部署机器学习模型。 在探索了 Hugging Face 模型中心中可用的模型之后,我们选择使用 OFA模型 因为正如作者所描述的,它是“一个支持任务综合性的任务不可知和模态不可知的框架”。

OFA 是迈向“One For All”的一步,因为它是一个统一的多模式预训练模型,可以有效地转移到许多下游任务。 虽然 OFA 模型支持许多任务,包括视觉基础、语言理解和图像生成,但我们使用了 用于图像描述的 OFA 模型 在 Describe For Me 项目中执行应用程序的图像到文本部分。 查看 OFA (ICML 2022) 的官方存储库,  通过简单的序列到序列学习框架了解 OFA 的统一架构、任务和模式。

为了将 OFA 集成到我们的应用程序中,我们从 Hugging Face 克隆了存储库并将模型容器化以将其部署到 SageMaker 端点。 这 此 repo 中的笔记本 是在 SageMaker 的 Jupyter notebook 中部署 OFA 大型模型的优秀指南。 将您的推理脚本容器化后,模型已准备好部署在 SageMaker 端点后面,如 SageMaker 中所述 文件. 部署模型后,创建一个 HTTPS 端点,该端点可以与分析图像以创建图像标题的“describe_image”lambda 函数集成。 我们部署了 OFA 微型模型,因为它是一个更小的模型,可以在更短的时间内部署,同时实现类似的性能。

“Describe For Me”生成的图像转语音内容示例如下所示:

北极光,或北极光,在房屋轮廓上方填满夜空。

北极光,或北极光,在房屋轮廓上方填满夜空。

一只狗睡在硬木地板上的红色毯子上,旁边是一个装满玩具的打开的手提箱。

一只狗睡在硬木地板上的红色毯子上,旁边是一个装满玩具的打开的手提箱。

一只虎斑猫蜷缩在蓬松的白色床上。

一只虎斑猫蜷缩在蓬松的白色床上。

面部识别

Amazon Rekognition Image 提供 检测人脸 查找关键面部特征(例如眼睛、鼻子和嘴巴)以检测输入图像中的面部的操作。 在我们的解决方案中,我们利用此功能来检测输入图像中的任何人。 如果检测到有人,我们会使用 比较人脸 将输入图像中的人脸与“Describe For Me”训练过的人脸进行比较并按姓名描述人脸的操作。 我们选择使用 Rekognition 进行人脸检测,因为它的准确性高,而且可以通过开箱即用的功能轻松集成到我们的应用程序中。

一群人在房间里摆姿势拍照。 我认识 4 个人:Jack、Kanbo、Alak 和 Trac。 图像中也有文字。 上面写着:AWS re: Invent

一群人在房间里摆姿势拍照。 我认识 4 个人:Jack、Kanbo、Alak 和 Trac。 图像中也有文字。 上面写着:AWS re: Invent

潜在用例

Web 图像的替代文本生成

网站上的所有图像都需要有替代文本,以便屏幕阅读器可以向视障人士朗读。 它也有利于搜索引擎优化 (SEO)。 创建 alt 标题可能很耗时,因为撰稿人的任务是在设计文档中提供它们。 Describe For Me API 可以自动为图像生成替代文本。 它还可以用作浏览器插件,自动为任何网站上缺少替代文本的图像添加图像标题。

视频的音频描述

音频描述为视频内容提供旁白轨道,以帮助视障人士跟随电影。 随着图像说明变得更加稳健和准确,基于对场景关键部分的描述创建音轨的工作流程可能成为可能。 Amazon Rekognition 已经可以检测场景变化、徽标和信用序列以及名人检测。 describe 的未来版本将允许自动化电影和视频的这一关键功能。

结论

在本文中,我们讨论了如何使用 AWS 服务(包括 AI 和无服务器服务)来帮助视障人士看清图像。 您可以通过访问了解有关 Describe For Me 项目的更多信息并使用它 描述信息网. 了解有关的独特功能的更多信息 亚马逊SageMaker亚马逊识别 和 AWS 与 Hugging Face 的合作伙伴关系.

第三方 ML 模型指南免责声明

本指南仅供参考。 您仍应执行自己的独立评估,并采取措施确保您遵守自己的特定质量控制实践和标准,以及适用于您、您的内容和和的当地规则、法律、法规、许可和使用条款本指南中引用的第三方机器学习模型。 AWS 无法控制或授权本指南中引用的第三方机器学习模型,也不对第三方机器学习模型安全、无病毒、可运行或与您的生产环境兼容做出任何陈述或保证和标准。 AWS 不就本指南中的任何信息将导致特定的结果或结果作出任何陈述、保证或保证。


作者简介

杰克·马尔凯蒂(Jack Marchetti)杰克·马尔凯蒂(Jack Marchetti) 是 AWS 的高级解决方案架构师,专注于帮助客户实现无服务器、事件驱动架构的现代化和实施。 杰克在法律上是盲人,与妻子艾琳和猫米努住在芝加哥。 他还是一名编剧和导演,主要关注圣诞电影和恐怖片。 查看杰克的片目 IMDb页面.

阿拉克·埃斯瓦拉达斯阿拉克·埃斯瓦拉达斯 是位于伊利诺伊州芝加哥的 AWS 的高级解决方案架构师。 她热衷于帮助客户设计云架构,利用 AWS 服务来解决业务挑战。 Alak 热衷于使用 SageMaker 为 AWS 客户解决各种机器学习用例。 当她不工作时,Alak 喜欢与女儿们共度时光,并与她的狗一起探索户外。

康迪斯博汉农康迪斯博汉农 是明尼苏达州明尼阿波利斯市的一名高级解决方案架构师。 在此职位上,Kandyce 担任 AWS 客户的技术顾问,帮助他们实现技术战略的现代化,尤其是与数据和 DevOps 相关的战略,以在 AWS 中实施最佳实践。 此外,Kandyce 热衷于通过 AWS She Builds Tech Skills 计划指导未来几代技术人员并展示技术领域的女性。

Trac 做Trac 做 是 AWS 的解决方案架构师。 在他的职位上,Trac 与企业客户合作,支持他们的云迁移和应用程序现代化计划。 他热衷于了解客户面临的挑战,并使用 AWS 服务通过强大且可扩展的解决方案解决这些挑战。 Trac 目前与妻子和 3 个儿子住在芝加哥。 他是一位狂热的航空爱好者,正在完成他的私人飞行员执照。

时间戳记:

更多来自 AWS机器学习