最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

智能家居浪潮来袭,如何让机器看懂世界

  • 2022-07-18
  • 本文字数:5926 字

    阅读完需:约 19 分钟

智能家居浪潮来袭,如何让机器看懂世界

从智能单品到全屋智能,随着消费者对生活品质追求的提升,智能化产品逐渐走入大众家庭,从而推动智能家居市场蓬勃发展。从 2017 年开始,智能家居设备已经应用于日常生活各项任务。2017 年其市场规模约为 4.3 亿美元。据 IDC 预测,智能家居市场年复合增长率为 18.5%,2022 年智能家居设备销售额将达到 9.4 亿美元。面对潜力无限的智能家居市场,各企业纷纷发力,然而由于智能家居产品多涉及音视频技术,自行开发往往门槛过高。如何轻松构建具有实时计算机视觉功能的应用程序?亚马逊云科技 Tech Talk 特别邀请解决方案架构师李寅祥带来分享《基于 Amazon KVS 打造智能视觉产品》。

智能家居应用场景与挑战


早在 2015 年左右,智能家居设备就已经出现。2017 年,智能家居开始应用于生活的各个场景。早期的智能家居产品还是手动控制,如通过开关去控制酒店窗帘。近两年,智能家居产品已转变为远程遥控的形式,如可远程控制通电和断电的智能插座,手机可操控的智能扫地机器人等。目前,智能家居的应用场景主要可分为三个部分。


第一类,家庭智能自动化。常见的智能控制类产品有智能照明系统,可以手机远程控制灯的开关与灯光模式,此外,扫地机器人、智能家庭助手等产品也属于此类。

第二类,家居网络的连接。这类比较普通和普遍,应用最广泛的就是无线路由器类设备。

第三类,家居安全。不管在国内还是海外,家居安全类智能产品都是近年比较热门的品类,如安防摄像头、可视门铃等。



在智能家居的三大应用场景中,智能视觉类产品占有相当大的比重,但这类产品的开发却存在一定的复杂性。原因主要在于两个方面:


第一,打造和管理 IoT 应用的复杂性。智能视觉类的物联网设备大多需要进行数据交互。首先,需要保证设备连接及所产生数据的安全性;其次,设备的数量极有可能到达百万级,如何以可扩展、低成本的方式来管理成千上万的设备也是一大难题;此外,保证多种供应商设备及语音助手的互操作性也比较复杂。

第二,复杂的媒体服务设计和实现。智能视觉产品因为涉及音视频流的传输、处理,也存在一定的技术复杂性。其一,编码对技术有一定门槛,需支持多种媒体流技术、协议、编码以及开发环境;其二,需要创建及管理基础设施以实现安全、快速及可靠的流媒体传输;其三,扩展性需求高,要能够支持百万级设备,视频流对于带宽的要求是文本消息流的多倍,设备数量达到百万级时,如何保证后端服务器的可靠性和稳定性是非常棘手的问题;其四,音视频涉及非常专业的技术,如视频的编解码、压缩、传输等,存在技术壁垒,需要拥有音视频专业知识的工程师团队。

为视觉设备附加人工智能能力


亚马逊云科技在智能视觉和可视化类智能家居产品进行了深入地探索与创新实践。家居安防监控类的产品有安防摄像头、可视化门铃,集成摄像头电器有宠物喂食器,还有健身器材、健身设备等品类相关的智能产品等等。亚马逊云科技是如何解决视觉类智能家居产品存在的问题呢?主要是依托于 Amazon IoT+KVS 的解决方案。



如图所示,从左到右分别是设备端、云平台端、消费端。设备端通常是带有摄像头的设备或 IoT 设备,如安防摄像头、无线路由器、语音助手等。云平台端主要提供 IoT 相关的能力以及管理设备连接。Amazon KVS 主要用来进行视频接收存储和处理,此外,亚马逊云科技还提供机器学习、数据库等产品,帮助开发者完成业务目标。Amazon IoT+ Amazon KVS 一站式解决方案具体是如何工作的呢?


Amazon KVS(Amazon Kinesis Video Streams),其名字直接翻译的意思是实时的动态流的视频流。具体来说,它是一个完全托管的媒体流服务,能够从百万设备中安全的接收视频流数据,并按照时间进行存储。当用户想要回看某个特定时段的视频,可按照时间进行检索,快速方便地获取原始视频。


Amazon KVS 将视频存储起来后,最重要的是将视频给到消费端去消费。在消费方面,Amazon KVS 提供实时与按需回放、实时与批处理两种方式。实时查看用于查看摄像头现在所处的实时环境、状态;按需回放就是定位到一个特定的时间段进行查看。那么,基于 Amazon KVS 是如何打造智能视觉产品的呢?


首先,是媒体摄取。Amazon KVS 的媒体摄取主要有两种方式,第一,它可以直接从摄像机中获取视频流。第二,它可以使用与同一网络上的设备连接的代理 / 网关。两种方式都可以使用?Kinesis Video Streams producer SDKs。


其次,是 Producer SDK。Producer SDK 其实就是通过 SDK 将视频流的信号打到 Amazon 打到 Amazon KVS 上。它提供的 SDK 多种多样,比如,最底层的 C SDK 层,适用于期望固件级集成的硬件设备制造商。上层的 Docker 镜像层则适用于针对特定操作系统的应用开发者。


第三,是储存和检索媒体。媒体流进入 Amazon KVS 之后可以时间为索引进行存储,最长可以存储十年,并且支持按小时或者按天检索。不仅如此,开发者还可以通过简单的 API 实现存储策略的修改、检索实时与历史媒体,并能够轻松监控和审计使用情况。另外,比较重要的一点是 Amazon KVS 在开始传输或者接收视频流和存储视频流的时候都是可以加密的。


第四,实时 / 历史视频回放。Amazon KVS 的回放支持 HTTP Live Streaming (HLS) 、Dynamic Adaptive Streaming over HTTP (DASH) 两种协议。HLS 相对来说比较标准,Web 浏览器可直接播放。DASH 是有对应的播放器来提供播放。在音视频编码方面,Amazon KVS 支持多种音频和视频编码格式。

通过 Amazon KVS 视频流完成接收后,如何通过机器学习的方式来进行内容感知?大致有以下几种方式:


第一,采用 Amazon KVS 与 Amazon Rekogniton Video 整合参考架构。Amazon Rekogniton 是一个 API 服务,可直接用来进行图片或者视频的分析,也就是说,视频流可以在 Rekogniton 里面进行常见的人脸识别或者物品检测。


第二,当 Amazon Rekogniton 中常用的图片或者视频识别能力,无法满足用户的场景需求的时候,就需要进行更加个性化地识别场景定制。这种情况就需要借助 Amazon SageMaker 去训练模型,模型训练完成后再进行推理。Amazon SageMaker 是一个托管式机器学习平台,代码可直接放在 Amazon SageMaker 上进行训练,当训练完成后,可以很方便的把模型部署到 EC2 上并进行后续的推理。



上图是 Amazon KVS 和 Amazon Rekognition Video 整合的参考架构。由采集端、存储端、处理 / 分析端三部分组成。该实例在 Raspberry Pi 环境中运行,用 RTSP 摄像头去拉流,拉流完成之后,通过 C++ 的 Producer SDK 打到 KVS 上,后面用 Rekognition Video Processor 处理实时的视频流,处理完成后,会把结果放到 Kinesis Date Streams 消息管道中,消息管道将数据给到 Kinesis Data Firehose,对消息管道的数据稍作转换加工,然后投递到 Amazon S3,由 Amazon S3 将结果存储起来。另外一条线路,可以触发 Amazon Lambda,Amazon Lambda 将调用 IoT Core 对设备下发控制指令。


在实际应用过程中,首先,需要创建一个 Rekognition  Video stream Processor 来处理视频流;然后指定一个 Kinesis Date Streams 的位置;第三,也是比较重要的一点是指定搜索目标,比如在人脸识别场景中就是进行人脸的 ID。用户可按需调整阈值,来控制检测的相似度,检测完成后可对应定义名称及备注。

WebRTC 实现双向实时通讯


实时双向通讯在安防摄像头或可视门铃场景下是比较常见的需求。Kinesis Video Streams WebRTC 的定位就是满足此需求。它具有超低延迟的流媒体直播,支持数百万相机设备的双向交互,其特点有:

  • 低延迟的实时媒体流:点对点音视频直播,1 秒以下的播放延时;

  • 实时,双向通讯:嵌入式设备、移动设备与 Web 应用程序实现双向通讯;

  • 兼容标准:与 Web 和移动平台兼容,轻松实现无插件播放;

  • 全托管:完全托管的 WebRTC 信令, TURN, STUN 服务 。易于使用的 SDK。


WebRTC 不仅仅是一个媒体流协议。它是一个开放的标准实时通信与技术规范。它的技术组成中有四点比较关键。


第一,信令。信令用于交换连接元数据,也就是双方支持哪些协议,支持哪些编码等。第二,联通。联通即建立点对点的连接。很多设备都是在防火墙后面,点对点的连接也叫打洞,如果点对点连接失败,还要通过中继服务器来进行转发,通过中继服务器建立连接。第三,媒体交换。它能够低延迟交换媒体和任意数据。第四,加密。这一点所有服务都类似,端到端的加密对于保障安全性非常重要。

分享中,李寅祥以可视门铃的案例介绍了实时通讯大概的流程,如下图。



左边是一个可视门铃,右边是手机 APP。假如有人按门铃。可视门铃会向服务器发出请求,请求再转到手机端,手机端接受请求后将尝试互相交换信息,交换的信息主要是协议编码等。交换完成后,会尝试通过 STUN 打洞,如果打洞不成功,那么就会通过 TURN 服务进行中继转发。通常来说,两个设备处于同样的网络的情况下比较容易打通。


在 Kinesis Video Streams WebRTC 中有几个比较重要的概念:


首先是信令频道。信令频道允许应用程序通过交换信令消息来发现、设置、控制和终止点对点连接的资源。其次是 Peer。Peer 通常指移动客户端、Web 应用程序、Camera 等。第三是 Master。Master 用于连接到 Channel,与任意的 Viewer 实现点对点通信,一个 Channel 只有一个 Master。第四是 Viewer。Viewer 用于连接到 Channel,只能与 Master 实现点对点通信,一个 Channel 最多可以有十个 Viewer。

此外,还有服务组件和 SDK。SDK 主要支持协议嵌入式 SDK 和客户端 SDK。嵌入式 SDK 支持的视频编码协议有 H264 和 VP8,以及支持的音频编码协议有 Opus 和 G711。客户端的 SDK 是与 WebRTC 兼容的浏览器和移动平台无缝协作的开源客户端 SDK。


Kinesis Video Streams WebRTC 还可以与 Alexa 语言助手进行协作。假设有人在按智能可视门铃,但是用户刚好在厨房做饭,不方便去直接查看,可以语言控制 Alexa。Alexa 会与 WebRTC 交换数据,交换完数据后可建立双向语言通讯,可视门铃的视频信号将直接显示到 Echo Show 上,就可以直接看到门口是谁。


视觉安防相关的产品,安全是企业和用户关注的重点。亚马逊云科技针对智能产品的安全性也有相应的解决方案。摄像头在向 Amazon KVS 做推流的过程中,是需要进行验证的,只有验证通过后,经过授权才能获取资源的访问权限。摄像头利用  IoT 设备的证书来访问资源,流程如下:



首先,认证的 IoT 设备发起一个 Credentials provider 的认证请求,IoT 的认证请求会去检测证书是否合法、有效。如果合法,就会生成一个临时凭证,设备端拿到临时凭证后就可以基于这个临时凭证去调动亚马逊云科技的其他服务,如 Amazon KVS。临时凭证是有有效期的,当有效期过期后,将无法再进行访问。由此借助 Amazon IoT,就可以以一种安全的方式访问 KVS 资源。

打造智能视觉产品的参考架构


针对如何用 Amazon KVS 打造智能视觉产品,亚马逊云科技提供了一些比较推荐的方案。


基于 Amazon  KVS 实现 IPC 云存


亚马逊云科技提倡无服务器架构。设备端按需推送视频流及其元数据至亚马逊云,视频数据保存至 Amazon KVS,视频原信息保存至 DynamoDB。手机端按需基于视频元数据获取回放 URL,通过播放器观看。



基于 Amazon KVS 为 IPC 附加人工智能


相对来说,基于 Amazon KVS 为 IPC 附加人工智能 / 机器学习能力属于更高阶的功能,如检测门口是否有宠物或者包裹,甚至一些更加个性化的定制场景。它的实现分为三个步骤。首先,设备端推送视频流至 KVS;第二步,根据需要从视频提取图片保存至 S3;第三步,AI 处理模块可组合使用自建模型、Rekognition API 对图片、视频实现同步、异步推理,结果异常时通知手机客户端。



Amazon KVS 整合 Alexa


主要依赖 WebRTC 集成。左边是硬件设备,如安防摄像头、可视门铃等,里面会包含各种 SDK,中间是 Amazon KVS,右边是消费端。通过 WebRTC 连接到 Alexa 云,实现双向实时通讯。



基于 Amazon KVS 打造智能视觉产品目前已有丰富的实践案例。


科技公司 Wyze Labs (Wyze) 将 Amazon Kinesis Video Streams 与 WebRTC 结合使用,以提高实时视频流的质量和在其相机产品和智能助手 (如 Alexa) 之间实现更好地连接。凭借此功能,Wyze 能够将 Wyze 新功能的上市时 间缩短 50%。Wyze 的高级首席架构师 Keith Ho 解释说:“在亚马逊云科技 上, 我们能够将时间线缩短 6 个月,并将工程成本减少两倍,因为基础设施、可扩展性、性能和系统已经存在。”

九安智能 2021 年起,正式和亚马逊云科技进入深度合作阶段,利用亚马逊云科技提供的全球广泛而深入的云服务,构建九安智能最新一代的音视频监控云平台。利用 Amazon KVS 构建九安智能的新一代音视频监控云平台,主要为用户提供远程实时的视频预览和录像查看、存储、云端的 AI 识别服务、智能音箱链接和推送报警信息。


分享的最后,李寅祥总结了 Amazon KVS 的几大优势,并提供了相关的参考资料供大家了解。


  • 智能视觉市场技术复杂    Amazon IoT 使得您可以简便的构建可扩展的 IoT 应用管理物联网设备,而不需要维护任何基础设施。KVS 提供可扩展的方案用于接收、存储、分析及回放摄像头传输的媒体流。

  • 安全保障    使用亚马逊云科技提供的内置设备认证机制初始化设备,根据需要授权资源访问、加密数据,并主动检测威胁来确保设备、数据的安全。

  • 扩展性及互操作性    利用亚马逊云科技的基础设施便捷的批量注册百万级设备。使用 Amazon IoT 及 KVS 实现与 Alexa、Google Home 之类的语音助手集成。

  • 易于实现且实用的功能    通过 WebRTC 实现实时、双向音视频通信。无需额外软件,灵活存储不同的文件格式(mp4/mkv)。通过简单的 API 使用 HLS/MPEG-DASH 协议回看与其他亚马逊云科技服务集成进行分析从视频获取信息。

  • 专注于更快地打造解决方案    通过托管服务释放精力用于产品创新、研发。


参考资料


Fleet Provisioning -

https://aws.amazon.com/blogs/iot/how-to-automate-onboarding-of-iot-devices-to-aws-iot-core-at-scale-with-fleet-provisioning/?

IoT Authorization Calls - 

https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html?

KVS Producer Libraries - 

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk.html?

KVS Playback documentation - 

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-playback.html?

KVS Developer Guide -

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/kinesisvideo-dg.pdf?

KVS Security - 

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/security.html?

KVS WebRTC FAQs - 

https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/what-is-kvswebrtc.html?

Wyze Labs-

https://youtu.be/c9crp1vQ0lI?t=1643?

感兴趣的开发者可扫描下方二维码


领取 IoT 行业资料大礼包👇



扫码加入 IoT 行业交流群👇

 


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-07-18 16:503203

评论

发布
暂无评论
发现更多内容

什么是多边形网格以及如何编辑它?

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

AI数字人互动大屏支持多种场景交互!

青否数字人

Flink CDC 3.0 正式发布,详细解读新一代实时数据集成框架

Apache Flink

大数据 flink 实时计算

软件测试/测试开发丨Bug概念,定义,判定标准,严重程度,优先级

测试人

软件测试 测试开发

大模型热的冷思考

用友BIP

企业服务大模型

记三次升级 TiDB 集群到 v6.1.5 遇到的案例分析过程&升级收益

TiDB 社区干货传送门

版本升级 管理与运维 6.x 实践

TiDB在银行业核心系统POC测试应用压测参考手册

TiDB 社区干货传送门

性能调优 性能测评 数据库架构设计 应用适配 OLTP 场景实践

六步走向无忧,华为云数据库高可用的秘密武器

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

AI数字人互动大屏赋能哪些行业?

青否数字人

数字人

我们不可能永远都在救火 ——Scrum中技术债务“偿还”指南

敏捷开发

项目管理 Scrum 敏捷开发 自动化测试 技术债务

【教程】使用ipagurd打包与混淆Cocos2d-x的Lua脚本

雪奈椰子

软件测试/测试开发丨常用测试策略与测试手段

测试人

软件测试 测试开发

文心一言专业版年卡来啦!

飞桨PaddlePaddle

人工智能 文心一言

SecGPT:全球首个网络安全开源大模型

云起无垠

软件测试/测试开发|如何解决pip下载速度慢的问题

霍格沃兹测试开发学社

【新手升级必看】从 TiDB v6.5升级到 v7.5 的实践步骤

TiDB 社区干货传送门

版本升级

什么是3D模型LOD:细节级别

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

可视化技术:数据可视化17个常用图表

2D3D前端可视化开发

大数据 数据分析 数据可视化 数据可视化工具 可视化大屏

半岛铁盒推出22.5W超级快充充电宝:双线快充,超能补量

科技热闻

【资源汇总】TiDB-TiCDC 源码解读系列最全资源!!!

TiDB 社区干货传送门

“Ladies In Tech 闪闪发光的她”分论坛圆满举办

开放原子开源基金会

开源

PON网络应用场景

小齐写代码

软件测试/测试开发丨Bug生命周期

测试人

软件测试 测试开发

软件测试/测试开发|如何使用因果图法设计测试用例?

霍格沃兹测试开发学社

数字时代B2B订货平台,助力渠道业绩持续增长

赛博威科技

赛博威 经销商管理 订货平台

TiDB v7.5.0 vs Oceanbase v4.2.1.1 : online ddl 吐血验证测试

TiDB 社区干货传送门

业务全面重塑,“人”要如何重塑?

用友BIP

人才管理

如何使用不同的纹理贴图制作逼真的 3D 图形?

3D建模设计

3D渲染 材质纹理贴图 3D材质编辑

软件测试/测试开发|如何使用场景法设计测试用例?

霍格沃兹测试开发学社

杭州悦数成立「悦数图技术陆家嘴数据智能研究院」入驻上海「双城辉映」平台

悦数图数据库

图数据库

基于Flink SQL 和 Paimon 构建流式湖仓新方案

Apache Flink

大数据 flink 实时计算

智能家居浪潮来袭,如何让机器看懂世界_AI&大模型_张雅文_InfoQ精选文章