视觉智能开放平台与Serverless工作流深度合作实现API调用的上云托管!

  1. 云栖社区>
  2. 博客>
  3. 正文

视觉智能开放平台与Serverless工作流深度合作实现API调用的上云托管!

阿里云视觉智能开放平台 2020-04-22 11:03:00 浏览728
展开阅读全文

  阿里云视觉智能开放平台(vision.aliyun.com)(以下简称“智能开放平台”)是基于阿里巴巴视觉智能技术实践经验,面向视觉智能技术的开发与应用用户,为其提供好用、易用、普惠的视觉智能API服务,帮助企业、开发者快速建立视觉智能技术的应用能力的综合性视觉AI能力平台。
  近几年人工智能一直是热度很高的话题,越来越多的出现在了实际生活的场景中,大家也能感受到 AI 所带来的便利,比如:自动售货机购物已经可以使用支付宝人脸支付;进行一些与财务相关的 APP 注册的时候 APP 已经可以自动进行活体人脸检测;小区的物业、门禁系统支持身份证/驾驶证/车牌号的自动身份识别等等。这些应用所用到的核心 AI 基础算法是一样的,如人脸人体检测、卡证识别等。为了帮助广大开发者提高开发效率节省对接和研发成本,更好的满足用户需求,智能开放平台与Serverless工作流进行了深度的合作,通过Serverless工作流将平台上的AI算法进行了集成(已支持的 API 能力详见 列表),丰富了用户的体验,降低了用户在工作流中使用 AI 算法的成本。相比于之前用户需要手动编写API调用的处理逻辑并处理异常的情况,现在可以直接将智能开放平台的API算法调用作为流程中的一个步骤进行处理,并将结果数据传递到后续的流程中。
  例如,在用户注册APP的过程中上传身份证照片->身份证照片识别,提取关键信息->记录关键信息,进行业务处理->返回注册结果,这就是一个典型的图片处理流程。这类场景使用 Serverless 工作流来进行处理是十分合适的。下面我们将以上述 APP 注册场景作为示例,详细解释如何在 Serverless 工作流中编排视觉智能 API。


在流程中集成身份证识别能力
  在上述 APP 注册场景中,身份识别(如用户身份认证、卡证信息录入、身份信息采集等)可以抽象为一个独立的流程,为不同的 APP 复用。在这个流程中,可使用智能开放平台所提供的身份证识别 RecognizeIdentityCard 能力进行图片识别。整个流程定义如下:

version: v1beta1
type: flow
steps:
  - type: task
    name: APIRecognizeIdentityCard
    action: ocr:RecognizeIdentityCard
    inputMappings:
      - target: image
        source: $input.imageUrl
      - target: cardSide
        source: face
    outputMappings:
      - target: name
        source: $local.Data.FrontResult.Name
      - target: gender
        source: $local.Data.FrontResult.Gender
      - target: idNumber
        source: $local.Data.FrontResult.IDNumber
    serviceParams:
      ImageURL: $.image
      Side: $.cardSide
    retry: # 针对系统内部错误进行重试
      - errors:
          - ocr.ServiceUnavailable
          - ocr.InternalError
          - ocr.Timeout
          - ocr.InvalidResult
          - ocr.InvalidImage.Download
        intervalSeconds: 10
        maxAttempts: 2
        multiplier: 2

  完成该流程的定义后,即可在您的业务流程中使用 Serverless 工作流所提供的 SDK,传入不同的 imageUrl 对流程进行调用。
流程详解

  • 步骤定义

  为使用 API 编排功能,我们需要定义 任务步骤。根据 使用示例,在 action 下指定 serviceName 及 apiName 分别为 action:ocr:RecognizeIdentityCard;

  • 输入及输出

  输入输出参数可参考 RecognizeIdentityCard文档 。在 ServiceParams 中我们将 API 所需的 imageUrl 定义为输入,这样可以做到在执行时指定不同的图片作为流程的输入从而达到识别不同身份证的目的。
  输出 outputMappings 与普通的任务步骤一致,对于 API 的返回,我们只关心姓名、性别及身份证号,因此在这里我们只将这些结果作为输出。

  • 错误处理

  在错误处理方面,本流程主要需要考虑对服务内部错误进行重试。API 的所有错误码见 文档,需要额外注意的是在工作流中使用这些错误码需要添加服务名称作为前缀,即 ocr.xxx。
  点击此处,一键体验上述功能
  视频教学:点击此处
  文档教学:点击此处


  目前为了更好的帮助中小企业和独立开发者快速对接视觉AI算法,阿里云视觉智能开放平台(vision.aliyun.com)免费开放平台上现有的100余种视觉AI算法服务的使用权限,没有中间商赚差价,服务调用不收取任何费用!另外智能开放平台与Serverless工作流合作已经集成了50多种AI算法,未来还会给大家提供更多优质的集成算法!
  如果您对我们产品较为感兴趣或是您在使用过程中有任何疑问都可以扫描文章结尾的二维码进群和我们沟通!
image.png
image.png

网友评论

登录后评论
0/500
评论
阿里云视觉智能开放平台
+ 关注