使用 Amazon Rekognition 提升自行车安全 机器学习博客

利用 Amazon Rekognition 提升自行车安全

关键要点

  • 自行车骑行在享受健身和自然的同时,面临着日益增长的安全风险。
  • 根据美国交通运输部的数据,每年约有 883 名骑自行车的人因交通事故丧生。
  • 为了提高安全性,骑行者可以使用装在自行车上的摄像头来记录行程,并通过 Amazon Rekognition 辨别危险近距离事件。

骑自行车是一种有趣的健身方式,同时也能享受大自然和与朋友交流。然而,在骑行过程中,尤其是在骑自行车和汽车共享道路的情况下,骑行变得越来越危险。根据的数据,在美国,每年约有 883 名骑自行车的人在交通事故中死亡,每年还有约 45,000起仅造成伤害的事故被报告。虽然自行车的交通死亡人数仅占美国所有交通事故死亡人数的 2% 多一点,但作为骑行者,容易被大型 SUV或货车推下道路的感觉依然令人恐惧。为更好地保护自己,许多骑行者开始在自行车的前后安装摄像头。在这篇博客文章中,我将展示如何利用机器学习的解决方案,帮助骑行者更好地识别危险接近事件。

在美国,许多州和世界范围内的国家都有某些形式的。3英尺法要求机动车在超越自行车时必须保持约3英尺(1米)的距离。为了提高道路安全,骑行者越来越多地记录他们的骑行过程。而当他们遇到未能保持安全距离的危险情况下,可以将事件的视频提供给当地执法部门以进行纠正。然而,在一段数小时的骑行录音中,找到单个事件是非常耗时的,通常需要专业的视频技术才能生成该事件的短片段。

为了应对这些问题,我开发了一个简单的解决方案,利用视频分析功能。AmazonRekognition可以检测(本质上是物体)以及在视频中检测到该物体的时间戳。骑行者可以利用 AmazonRekognition 快速查找录制骑行视频中的所有机动车辆。

如果骑行者的摄像头记录到经过的车辆,则必须确定该车辆是否与自行车距离过近。换句话说,车辆是否在法律设定的3英尺范围内。如果是,我希望生成一个事件片段,可提供给相关当局。下图显示了骑行者的摄像头视图,其中的边界框标识了与自行车过近的车辆。底部的方框显示了自行车周围的大致3英尺区域。

删除)

解决方案概述

解决方案的架构如以下图所示。

![视频录制上传到 S3删除)

解决方案的步骤如下:

  1. 当骑行者完成骑行后,将他们的 MP4 视频上传到 Amazon 简单存储服务 (Amazon S3)
  2. 存储桶配置了一个,该通知会将对象创建通知发送到 。
  3. Lambda 函数启动一个工作流,该工作流首先调用 ,作为Amazon Rekognition 视频处理的一部分。StartLabelDetection API 配置为检测 BusCarFire TruckPickup TruckTruckLimoMoving Van 作为标签。它忽略其他相关的非车辆标签,如 License PlateWheelTireCar Mirror
  4. Amazon Rekognition API 返回一组 JSON,标识所选标签及检测到的物体的时间戳。
  5. 这个 JSON 结果被发送到一个 Lambda 函数,该函数进行几何计算,以确定车辆框是否与自行车安全区域重叠。
  6. 任何检测到的近距离事件都会生成并传送到 ,可以使用 CreateJob API 创建对应于检测到的近距离事件的视频片段。
  7. MediaConvert 创建这些视频并上传到 S3 存储桶。
  8. 另一个 Lambda 函数被调用以生成这些视频的预签名 URL,允许任何持有预签名 URL 的人临时下载这些视频。
  9. Amazon 简单通知服务 (Amazon SNS)发送一封包含预签名 URL 链接的电子邮件。

前提条件

要使用本文中所述的解决方案,您必须具备:

  1. 一个具有适当权限的 AWS 账户,以允许您部署 堆栈。
  2. 一个使用 H.264 编解码器的 MP4 格式视频录制,且必须以 .MP4 结尾。该视频应使用任何现成供应商(例如 GoPro、DJI 或 Cycliq)的前摄像头或后摄像头录制。最大文件大小为 10 GB。

部署解决方案

  1. ,或选择 Launch Stack 。此解决方案将在 AWS 美国东部 (弗吉尼亚北部) us-east-1 区域进行部署。
  2. CloudFormation 控制面板上将弹出 Create stack 页面。页面底部选择 Next
  3. Specify stack details 页面上,输入您希望接收通知的电子邮件地址。选择 Next
  4. 选中 我承认 AWS CloudFormation 可能会创建 IAM 资源 的框,选择 Next 。点击 Submit 将开始安装。解决方案的安装大约需要 5 分钟。
  5. 您将收到一封确认您的 Amazon SNS 订阅的电子邮件。在您确认订阅之前,不会收到来自该解决方案的电子邮件。
  6. 在堆栈完成后,选择 Outputs 选项卡,并记下 InputBucket 下列出的存储桶名称。

使用解决方案

为了测试该解决方案,我准备了一个,在视频中我让一名特技司机靠得非常近。

为了开始视频处理,我将视频上传到 S3 存储桶(来自 Outputs 选项卡的 InputBucket )。该存储桶启用了加密,因此在 Properties 下,我选择 Specify an encryption key 并选择 Use bucket settingsfor default encryption 。选择 Upload 将开始上传过程,如下图所示。

![将视频上传到 删除)

稍等片刻,步骤函数将开始处理。几分钟后,您将收到一封包含任何识别到的事件链接的电子邮件,如下图所示。

删除)

在我的案例中,识别了两个近距离接触事件。在第一个识别事件中,我骑得太近了一辆停车的汽车。然而,在中,它展示了我与特技司机之间碰撞的危险情况。

如果这是真实的危险情况,视频片段可提供给相关部门,以帮助改善驾驶行为,确保每个人的道路安全。

定价

由于这是一个完全无服务器的解决方案,因此您只需为所使用的内容付费。使用 AmazonRekognition,您按处理的视频。使用 MediaConvert,您按,即每分钟的视频输出,并根据使用的功能应用乘数。解决方案中使用的 Lambda、Step Functions 和 SNS 的频率较少,通常会在大多数用户的免费使用范围内。

清理

要删除作为此解决方案一部分创建的资源,请转到 CloudFormation 控制台,选择已部署的堆栈,然后选择 Delete

总结

在这个例子中,我展示了如何在独特的场景中使用 Amazon Rekognition 视频分析。Amazon Rekognition是一种强大的计算机视觉工具,它使您无需构建或管理机器学习模型即可从图像或视频中获取洞察力。当然,Amazon Rekognition还可以处理而不止于此。

此示例展示了如何将 Amazon Rekognition与其他无服务器服务结合使用,以产生一个无服务器视频处理工作流,进而提高骑行者的安全性。虽然您可能并不是一个狂热的骑行者,但这里展示的解决方案可以扩展到多种用例和行业。例如,该解决方案还可以用来在野生动物监测相机上探测野生动物,或者使用 检测安保视频中的人和包裹。

Amazon Rekognition 进行计算机视觉案件的应用。


关于作者

![Mike George作者照片](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2025/02/06/ML-17765-gmike- 删除) Mike George 是亚马逊网络服务(AWS)的首席解决方案架构师,驻扎在犹他州盐湖城。他喜欢帮助客户解决技术问题,感兴趣的领域包括软件工程、安全性、人工智能(AI)和机器学习(ML)。

Leave a Reply

Required fields are marked *