本文作者:李建,阿里巴巴达摩院技术专家。

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产品间比较容易混淆,请求的过程中需要做安全通信的签名,因为各种概念比较多,所以比较容易出错,出错多了还容易打消热情。

  1. 重复工作:整个接入工作每一个客户都是做的相同的事情,所以无论从API维度或用户维度来说,这都是重复性工作,应当被简化掉。

  2. 门槛高。技术人员虽然会写代码,但面对非常多的概念,第一次使用的上手成本也比较高。对于非技术人员,比如运营人员,当他也想使用 AI 能力,但是不会写代码,就无法使用这些AI能力。

03 解决方案和架构

为了解决以上痛点,我们实现了一个简化版本的解决方案:

从用户角度考虑,是否有这么一种方式:用户上传之后,通过某种方式驱动主动从OSS获取信息再进行处理,处理完成后将结果推送给客户。将此前的VIAPI接入全部删去,OSS 的接入步骤也有选择性地摒弃,因此不需要直接使用SDK,也不需要开发写代码,只需要通过可视化方式完成整合,即可实现AI的使用。

精简后的过程如上图所示,用户先通过可视化方式订阅一个主题(主题即为各个 API,比如某个具体的AI 能力)。然后上传文件(图像/视频)到OSS,通过数据驱动的方式,实现文件变更的感知以及数据处理,最终将结果推送给客户。

具体的技术实践如上图所示。首先在控制台以可视化的操作方式进行订阅,然后上传图像到OSS,通过跨云账号的方式监听OSS文件变动,并通过SDK引擎根据订阅配置调用具体的AI能力,等算法产生结果后,将结果数据推送给租户。

以上过程存在两个基本难点:

1.跨云账号的数据监听和访问:“用户的OSS”、“VIAPI”可以理解为两个云账号,而两个云账号之间是隔离的,默认拒绝访问。因此想要实现上述过程,需要通过某种授权机制实现可信的访问。

  1. 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智能存储实践的更多相关文章

  1. 揭秘阿里云WAF背后神秘的AI智能防御体系

    背景 应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入.跨站等攻击仍然占据着较前的位置.WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在,也正是这些针对W ...

  2. 阿里云视觉智能开放平台的人脸1:N搜索的开源替代-Java版(文末赋开源地址)

    ​ 一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...

  3. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

  4. 微软与阿里云合作推出“开放应用模型(OAM)”

    英文原文:Announcing the Open Application Model (OAM) 原文标题:微软与阿里云合作推出“开放应用模型(OAM)” 用于 Kubernetes 及更多平台的应用 ...

  5. phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了

    phpadmin 装了6666端口只能在IE打开,在阿里云改了 开放端口85好了 非常用端口谷歌浏览器识别不了phpadmin

  6. 【阿里云配置端口开放】使用 iptables

    要知道: 1.目前(16年-12-10)阿里云主机只要有服务开启,所有端口是默认开启的.这样很不好,安全做法是,需要开启外网端口时,由开发人员去配置. 2.想要开放端口,就需要使用iptables命令 ...

  7. 阿里云之OSS 开放存储服务开发笔记

    在使用云服务以后,你不用考虑他是否能承受压力,而是费用.不要考虑是否被攻击,而是他的API实现.本人开发阿里云服务也走了些崎岖之路,写下以备忘之. 阿里云的开放存储服务可以提供文件的存储服务,开放了上 ...

  8. 阿里云服务器 端口开放问题 浏览器钟输入ip 访问服务器

    在这里先用一堆粗口强烈吐槽阿里云服务器控制台,屎一样的界面,简直非人类的操作.想找一个功能简直无从下手. 场景: 今天刚在阿里云买了个服务器,打算愉快的用五分钟将数据库,apache,安装完毕,然后去 ...

  9. PouchContainer 容器技术演进助力阿里云原生升级

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 作者 | 杨育兵(沈陵) 阿里巴巴高级技术专家 我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器 ...

  10. 阿里云上万个 Kubernetes 集群大规模管理实践

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 汤志敏,阿里 ...

随机推荐

  1. k8s-Pod调度

    Deployment全自动调度 NodeSelector定向调度 NodeAffinity亲和性 PodAffinity-Pod亲和性与互斥性 污点和容忍度 DaemonSet Job CronJob ...

  2. 第三十二篇:vue的响应式原理

    好家伙 什么是响应式?比较官方的回答: Vue.js 的核心包括一套"响应式系统". "响应式",是指当数据改变后,Vue 会通知到使用该数据的代码. 例如,视 ...

  3. kubernetes kubectl 命令自动补全

    yum install -y bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl ...

  4. Loki日志系统基础知识

    文章摘抄转载自:https://lluozh.blog.csdn.net/article/details/111027998 Loki 日志系统由以下3个部分组成: loki是主服务器,负责存储日志和 ...

  5. CentOS7配置nodejs环境

    # 安装 wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz tar xf node-v12.18.3-linux ...

  6. bilibili弹幕爬虫

    import random import requests import jieba import numpy as np from lxml import etree class SpiderBil ...

  7. VideoPipe可视化视频结构化框架开源了!

    完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...

  8. 关于history.back()、history.go()回退但无法刷新页面的问题

    window.history.back(); 这样确实可以做到后退的功能,但是项目中,常常并不只是后退就能完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样 ...

  9. 2022-08-12-esp32把玩记-②_用Micropython点ssd1306_oled屏幕

    layout: post cid: 8 title: esp32把玩记-② 用Micropython点ssd1306 oled屏幕 slug: 8 date: 2022/08/12 15:12:39 ...

  10. 开源WindivertDotnet

    0 前言 Hi,好久没有写博客,因为近段时间没有新的开源项目给大家.现在终于又写了一篇,是关于网络方向的内容,希望对部分读者有帮助. 1 WinDivert介绍 WinDivert是windows下为 ...