亚马逊科技Build On-AIoT视频识别 学习心得
Posted 六月悉茗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了亚马逊科技Build On-AIoT视频识别 学习心得相关的知识,希望对你有一定的参考价值。
前言
因为朋友参加了第一季的亚马逊科技Build On,不仅学习了新知识,还能获得一些亚马逊周边礼品,所以我也很心动,就报名参加了亚马逊科技Build On第二季-AIoT视频识别。但是因为不在深圳,参加的是线上活动,操作流程算是模拟的,没有实际的树莓派开发板可以操作,也算是比较遗憾。
活动详情页: 亚马逊云科技 Build On 2022技能提升计划-CSDN
一、实验简介
简单来说就是基于物联网和机器视觉的一项实验开发。而实验名称为:《基于Amazon KVS与 Amazon Rekognition Streaming Video Events实时智能视频检测的创新实践》。
在居家安防监控领域,基于实时视频的移动检测,发现监控环境中人、宠物、包裹等的出现,并且能实时地将检测结果通知给身处任何地方的用户是其重要的应用场景之一。但在这一场景的技术实现中面临如下的挑战:一是基于摄像头的视频检测通知,存在大量由于风、雨、移动的车等并非用户关注的事件误报,严重影响用户的使用体验。二是实现这一方案涉及的技术领域与复杂度很高,如设备端事件检测和触发、视频编解码处理、视频存储、机器视觉等,需要团队具备较强的技术和专业能力。本实验将以最小化原型,体现由Raspberry Pi加摄像头作为安防设备端,并使用Amazon KVS和Amazon Rekognition Streaming Video Events来解决上述挑战,实现实时智能视觉识别。
我们一方面可以看到线下Build On的现场直播,另一方面我们线上还拉了腾讯会议,有助教老师指导我们操作。
二、工具简介
Amazon IOT
Amazon 提供物联网 (IoT) 服务和解决方案来连接和管理数十亿台设备。连接、存储和分析工业、家居消费、商业和汽车业工作负载的 IoT 数据。
- 使用最为完备的 IoT 服务套组加速创新,借助 Amazon IoT 不断扩展、快速行动,并节省成本。从安全设备连接到管理、存储和分析,Amazon IoT 能够为您提供广泛而深入的服务,满足您构建完整解决方案之所需。
- 从云端到边缘,确保您 IoT 应用程序的安全,Amazon IoT 服务能够解决您应用程序中每一层遇到的问题,并确保设备安全性。借助预防性机制保护您的设备数据,例如加密和访问权控制,以持续审计和监控您的 Amazon IoT Device Defender 配置。
- 借助高级 AI 和机器学习(ML)整合构建智能 IoT 解决方案,借助高达 25 倍的性能提升以及低于 1/10 的运行时足迹,在云中创建模块并将其部署到设备中。 Amazon 结合人工智能 (AI)、机器学习(ML)和 IoT,力求打造更为智能的设备。
- 便捷可靠地进行扩展,以安全、可靠和弹性的云基础设施构建创新且独特的解决方案,能够将规模扩展至数十亿台设备以及数万亿条消息。Amazon IoT 能够轻松与其他 Amazon 服务集成。
Amazon Kinesis Video Streams
Amazon Kinesis Video Streams(KVS) 是一项完全托管的亚马逊云科技服务,您可以使用 Kinesis Video Streams 捕获来自数百万种源 (包括智能手机、安全摄像头、网络摄像头、车载摄像头、无人机及其他源) 的海量实时视频数据传输到 Amazon云,或者构建应用程序以进行实时视频处理或进行面向批处理的视频。Amazon KVS的优势包括:
- 可以为海量设备提供实时视频传输服务。
- 通过与Amazon Rekognition等托管服务集成可以非常方便的构建智能视觉应用。
- 使用KVS HTTP 实时流 (HLS) 可以轻松地将KVS中的实时和录制媒体流式传输到您的浏览器或移动应用程序。
- KVS让您能够使用IAM控制对流的访问,并且提供对静态与动态数据的安全保护。完全托管无需管理基础设施。
- KVS使用S3作为底层数据存储,借助 KVS能够根据设备和服务生成的时间戳,快速搜索和检索视频片段。
Amazon KVS可以分为Producer、Stream、Consumer三个组成部分,分别提供了Producer SDK、KVS Stream API和Consumer SDK方便开发者与KVS做功能集成。
三、实验步骤
我们会发一个操作手册和账号,虽然我们是免费的,但实际这个平台并不是免费的,费用是由Build On 活动方支付,所以需要账号。
3.1 在IAM里创建用户
3.2 模拟KVS Producer将视频推到KVS Stream
3.2.1 创建Amazon Cloud9作为KVS的Producer
经过一系列操作,我们会有一个Cloud9的终端界面,可以写一些操作代码
3.2.2 设置Amazon Kinesis Video Streams Producer SDK C++(Cloud9)
3.2.3 运行示例应用程序(Cloud9)
这一步,我们在KVS中会创建一个视频流
上传完毕后,我们就可以在线播放了
3.2.4 创建S3 Bucket 用来存储数据
3.2.5 创建SNS并配置邮件订阅
SNS 指的是Simple Notification Service。创建后会收到邮件信息,我认为这一步的目的是上传文件后会收到邮件反馈。
3.2.6 创建Rekognition Service Role
这个地方我其实踩了一个坑。设置json文件的时候,不要自作主张加东西。我们可以看到在下图写ARN值的后面,有的有“/*”,有的没有。我就自作主张加了“/*”,结果最后没收到邮件。又重新做了一遍实验。
3.2.7 启动Rekognition Streaming Video Events处理流程
3.2.8 启动rekognition-stream-processor
3.2.9 观测执行结果
然后也会收到一个邮件。
四、实验总结
其实我认为只要按照实验手册上的步骤规规矩矩的做实验,不会出什么差错,易错点老师都会强调的。
不要像我一样,自作聪明,以为手册上某个地方是错的,自己改过来。怎么说呢,在自己没达到那个高度时,不要自以为是。
其实重点我认为不在于做实验,而在于理解这项试验背后的意义,这项科技在我们的工作中会带来什么变化。了解一些平时遇不到的前沿科技。
生命不止,学习不休。新知识点不断涌现,我们要以开放的心态去学习与迎接。
以上是关于亚马逊科技Build On-AIoT视频识别 学习心得的主要内容,如果未能解决你的问题,请参考以下文章
官宣亚马逊云科技Build On 2022年技能提升计划正式启航