EventBridge助力阿里云视觉智能开放平台AI智能存储实践
本文作者:李建,阿里巴巴达摩院技术专家。
01 视觉智能开放平台(VIAPI)业务场景介绍
阿里云视觉智能开放平台(简称 VIAPI),是基于之前很多技术实践经验积累的 AI 能力的沉淀平台。目前整个平台覆盖的行业非常广,比如城市大脑、数字营销、金融以及娱乐行业。面向的人群包含企业者、开发者和个人。整个平台类目有 14 种,包括人脸人体、目标检测、文字识别等。目前平台大约有200 个API。
第一项能力是智能家居场景中的人车宠物检测。目前在网上购买到的IPC 的智能摄像机,比如老人摔倒检测,宠物移动检测,或安防中的外来入侵检测等,都属于该范围。
第二项能力是图像分割(抠图)。比如证件照可以通过手机拍照再进行抠图来实现。除了抠图应用外,在视频分析课中也有较多应用。比如线上视频会议时,可以更换背景,换成海边或其他自己喜欢的背景,以上能力都是基于视频的分割实现。
第三项能力是超分辨。可以对低分辨率的老旧照片进行超分辨输出,也可以对低分辨率的影视剧进行超分辨,获得更清晰的画质。
第四项能力是OCR 。例如银行卡的卡号的识别,身份证的信息识别等均采用了OCR技术。在办公中,对于发票、通用人事的名片也可以应用OCR技术。
02 用户痛点解析
客户在使用VIAPI时希望将自己多媒体文件直接上传到VIAPI,处理完成后,直接将结果推送给客户。
但实际使用的技术方式如下:用户先需要下载十几个 SDK ,然后开发集成几十个、上百个API,并且在整个过程中还需要进行不断调试、修整代码,最终能跑通之后才会发布到线上。
除了使用VIAPI-SDK之外,还要接入OSS 。因为目前 CV的AI能力大部分基于视频或图像,所以对于文件的存储方面,我们官方支持的是OSS存储。
在上述过程中,主要的用户痛点有三个方面。
1.编码方面:开发者在集成VIAPI和OSS的 SDK的过程中,Endpoint产品间比较容易混淆,请求的过程中需要做安全通信的签名,因为各种概念比较多,所以比较容易出错,出错多了还容易打消热情。
重复工作:整个接入工作每一个客户都是做的相同的事情,所以无论从API维度或用户维度来说,这都是重复性工作,应当被简化掉。
门槛高。技术人员虽然会写代码,但面对非常多的概念,第一次使用的上手成本也比较高。对于非技术人员,比如运营人员,当他也想使用 AI 能力,但是不会写代码,就无法使用这些AI能力。
03 解决方案和架构
为了解决以上痛点,我们实现了一个简化版本的解决方案:
从用户角度考虑,是否有这么一种方式:用户上传之后,通过某种方式驱动主动从OSS获取信息再进行处理,处理完成后将结果推送给客户。将此前的VIAPI接入全部删去,OSS 的接入步骤也有选择性地摒弃,因此不需要直接使用SDK,也不需要开发写代码,只需要通过可视化方式完成整合,即可实现AI的使用。
精简后的过程如上图所示,用户先通过可视化方式订阅一个主题(主题即为各个 API,比如某个具体的AI 能力)。然后上传文件(图像/视频)到OSS,通过数据驱动的方式,实现文件变更的感知以及数据处理,最终将结果推送给客户。
具体的技术实践如上图所示。首先在控制台以可视化的操作方式进行订阅,然后上传图像到OSS,通过跨云账号的方式监听OSS文件变动,并通过SDK引擎根据订阅配置调用具体的AI能力,等算法产生结果后,将结果数据推送给租户。
以上过程存在两个基本难点:
1.跨云账号的数据监听和访问:“用户的OSS”、“VIAPI”可以理解为两个云账号,而两个云账号之间是隔离的,默认拒绝访问。因此想要实现上述过程,需要通过某种授权机制实现可信的访问。
- AI的结果如何发送给客户:客户期望的数据形式以及数据的接收目的地不确定,有的客户希望发送到钉钉,有的客户希望发送到HTTP,有的客户希望发送到RocketMQ。此外,客户对字段方面的要求也不尽相同,可能只需要一个字段,也可能需要多个字段。因此如何针对这类个性化需求灵活地进行数据清洗和回调是一个难点。
EventBridge很好地解决了这些技术难点,从文件变动感知、事件通知、跨账号授权访问,到结果回调。此外,EventBridge还提供了安全的通信方式,以及事件溯源,从上传OSS到VIAPI的处理,再到结果的回调,数据具体发送到何处,都可以通过EventBridge进行追踪溯源。
上图展示了一个示例:用户OSS文件上传定义了一个事件,该事件通过可视化的方式进行配置。这样,建立在跨账号授权的基础上,用户在上传到OSS时就可以同步通知到VIAPI。
上图展示了当钉钉作为数据接收方式时,直接将图片发送到钉钉的效果。
对于线上的业务,后端可能更希望将最终处理结果发送到RocketMQ,从而提升开发效率。上图展示的为直接发送到RocketMQ的配置。
综上,整个架构实现如下:首先,用户在控制台配置订阅,然后上传到OSS,EventBridge会感知该过程,并将信息推送给用户,同时过程中获得了跨账号授权。SDK引擎会进行算法调用,最终结果回调EventBridge,EventBridge再通过多渠道将结果返回给用户。由于不同的客户之间账号授权信息要加密以及数据访问等都需要较高的安全机制来进行保障,因此我们做了一个SDK引擎来实现租户间的数据、授权的隔离,以及支持BYOK加解密。
通过以上实践,我们沉淀出了AI智能存储产品,能够大幅提高工作效率,并且在数据安全方面做了较好的隔离。对于非技术人员,也实现了零代码的支持,最终结果可以发送到钉钉、邮箱等。
我们借助EventBridge实现了VIAPI产品的AI智能存储产品,EventBridge对本次产品研发提供了非常大的支持,AI的使用也为客户带来更好的体验,深入实现了“拿来即用”以及AI 的“普惠”理念。
未来,我们会在品牌方和调用方面进行更多升级,提高技术效率,争取成为行业第一。
EventBridge助力阿里云视觉智能开放平台AI智能存储实践的更多相关文章
- 揭秘阿里云WAF背后神秘的AI智能防御体系
背景 应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入.跨站等攻击仍然占据着较前的位置.WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在,也正是这些针对W ...
- 阿里云视觉智能开放平台的人脸1:N搜索的开源替代-Java版(文末赋开源地址)
一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...
- AI加持的阿里云飞天大数据平台技术揭秘
摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...
- 微软与阿里云合作推出“开放应用模型(OAM)”
英文原文:Announcing the Open Application Model (OAM) 原文标题:微软与阿里云合作推出“开放应用模型(OAM)” 用于 Kubernetes 及更多平台的应用 ...
- phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了
phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了 非常用端口谷歌浏览器识别不了phpadmin
- 【阿里云配置端口开放】使用 iptables
要知道: 1.目前(16年-12-10)阿里云主机只要有服务开启,所有端口是默认开启的.这样很不好,安全做法是,需要开启外网端口时,由开发人员去配置. 2.想要开放端口,就需要使用iptables命令 ...
- 阿里云之OSS 开放存储服务开发笔记
在使用云服务以后,你不用考虑他是否能承受压力,而是费用.不要考虑是否被攻击,而是他的API实现.本人开发阿里云服务也走了些崎岖之路,写下以备忘之. 阿里云的开放存储服务可以提供文件的存储服务,开放了上 ...
- 阿里云服务器 端口开放问题 浏览器钟输入ip 访问服务器
在这里先用一堆粗口强烈吐槽阿里云服务器控制台,屎一样的界面,简直非人类的操作.想找一个功能简直无从下手. 场景: 今天刚在阿里云买了个服务器,打算愉快的用五分钟将数据库,apache,安装完毕,然后去 ...
- PouchContainer 容器技术演进助力阿里云原生升级
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 作者 | 杨育兵(沈陵) 阿里巴巴高级技术专家 我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器 ...
- 阿里云上万个 Kubernetes 集群大规模管理实践
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 汤志敏,阿里 ...
随机推荐
- 诺塔斯读写卡QT SDK笔记
卡片操作函数调用 寻卡: Request --> LotusCardRequest 防撞处理: Anticollission --> LotusCardAnticoll 选卡: Selec ...
- js中的对象和数组的创建
<!DOCTYPE html><html><head> <title>获取控制</title> <meta charset=" ...
- Cat Theme
将博客皮肤设置为: SimpleMemory 插入CSS代码 #EntryTag{margin-top:20px;font-size:9pt;color:gray}.topicListFooter{t ...
- 微信公众号商城、小程序商城、H5商城 实例 前后端源码
CRMEB客户管理+电商营销系统 https://gitee.com/ZhongBangKeJi/CRMEB 演示站后台: http://demo.crmeb.net/admin 账号:demo 密 ...
- Kubernetes实践技巧:升级为集群
高可用 前面我们课程中的集群是单 master 的集群,对于生产环境风险太大了,非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd.kub ...
- ProxySQL(3):Admin管理接口
文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9281199.html ProxySQL的Admin管理接口 当ProxySQL启动后,将监听两个端口: (1 ...
- [笔记] 一种快速求 1 ~ n 逆元的方法
我们现在要求1~n在mod m意义下的逆元(n<m,m为素数). 对于一个[1,n]中的数i,我们令\(k=\lfloor\frac{m}{i}\rfloor,r=m \ mod \ i\) 然 ...
- 工作7年收集到的git命令
概念 git 中的术语解释: 仓库也叫版本库(repository) stage:暂存区,add 后会存到暂存区,commit 后提交到版本库 git 安装 linux 下安装 git 第一种方法:y ...
- 虚拟线程 - VirtualThread源码透视
前提 JDK19于2022-09-20发布GA版本,该版本提供了虚拟线程的预览功能.下载JDK19之后翻看了一下有关虚拟线程的一些源码,跟早些时候的Loom项目构建版本基本并没有很大出入,也跟第三方J ...
- ARC148游记
A - mod M 题目链接 这道题我们可以首先对于所有的数 $%2$ ,可以证明出答案最多不超过 $2$ ,此时我们就可以把问题转化为:是否存在一个数使得序列 $a$ 中所有元素减去这个数之后的最大 ...