Page 1 of 1

在推文事件放入请求伫列时触发

Posted: Tue Dec 17, 2024 5:29 am
by shahriyasojol14
如果您一直关注 CloudGeeks 博客,您可能已经听我谈论过很多有关 AircraftML 的内容,无论我是用它来比较托管计算机视觉服务,还是向您展示如何从头开始构建图像分类系统。所以我想回答一些关于这个机器人的问题。

什么是 AircraftML?
@AircraftML是一个 Twitter 机器人,旨在使用机器学习后端对图像中发现的飞机进行分类。例如,AircraftML 可以成功对波音 747 和空中巴士 A380 等许多现代商用飞机进行分类。

如何使用 AircraftML?
您可以在Twitter 上与AircraftML 互动,只需提及AircraftML 并将飞机的荷兰手机号格式 图像附加到您的推文中,如下所示:

与 AircraftML 交互

请求中的实际文字并不重要,只要您「提及」@AircraftML。

AircraftML 将回覆您的推文并告诉您在图像中找到的飞机类型(如果有):

AircraftML 的回应

AircraftML 是如何运作的?
AircraftML 系统是基于 Amazon Web Services 构建,包括使用 API Gateway、AWS Lambda 和 Amazon SQS 等服务。 AircraftML Twitter 机器人被视为无伺服器应用程式。

以下是 AircraftML 的架构及其当前工作方式的概述(当然可能会发生变化):

AircraftML 架构概述

1.推特
AircraftML 是一个具有 AWS 机器学习后端的 Twitter 机器人。用户使用推文发送请求并接收回应。 Twitter 帐户活动 API 用于将事件传递到 AircraftML。

2. 请求Webhook-API网关
API Gateway为 Twitter 提供了一个 Webhook URL。定义了两种方法:Twitter 使用 GET 请求进行定期检查; Twitter 使用 POST 请求来发送推文。 API Gateway 使用 Lambda 代理整合将请求转送至请求排程器。

3. 请求调度程序 - AWS Lambda
Request Dispatcher Lambda函数处理 Twitter 透过 Webhook 传递的事件。此函数解析 Twitter 传递的事件,过滤掉非推文事件,然后将各个推文排队到 SQS 请求伫列。

4. 请求伫列 - Amazon SQS
SQS 伫列用于储存 Twitter 事件并解耦事件的传递和处理。死信伫列用于调试无法处理的事件。当请求排程器将事件放入此伫列时,将触发请求处理程序功能。

5. 请求处理程序 - AWS Lambda
请处理器 Lambda 函数协调飞机分类,并在推文事件放入请求伫列时触发。此函数验证传入的推文,协调传入影像的处理,并透过 Twitter 组合和传递回应。

6. 飞机探测器 - AWS Lambda
Aircraft Detector Lambda 函数检查图像以确定图像中是否有飞机,如果有,则为找到的每架飞机返回一个边界框。 Aircraft Detector 是作为使用 MxNet 框架建构的单次侦测器来实现的。

Image

7. 飞机分类器 - AWS Lambda
飞机分类器功能会将侦测到的每架飞机进行分类,并传回可能的飞机和置信度的清单。该模型是使用 MxNet 机器学习框架建构的,经过训练可以识别许多常见的商用飞机。

8. 尾号侦测器 - AWS Lambda
尾号侦测器 Lambda 函数在每架侦测到的飞机中寻找飞机尾号。它使用 Amazon Rekognition 来寻找文本,然后确定文字是否为尾号。目前它可以辨识来自美国、英国、加拿大、墨西哥和法国的尾号。

9.模型训练器-Amazon EC2
模型训练器是一个或多个EC2 实例,用于建立和训练飞机探测器和分类器使用的深度学习模型。这些实例仅在训练新模型时使用(最多每月一次),并且通常少于 3 小时。购买 Spot 实例是为了最大限度地降低成本。

10.模型商店-Amazon S3
Amazon S3用于储存处理过程中使用的所有模型、培训材料和临时文件。生命周期策略用于确保及时删除临时档案。