在ModelHub中,PAI提供多种已经训练好的图像智能类模型供您使用,本文为您介绍每种模型的输入格式、输出格式及使用示例。

PAI提供以下训练好的成熟图像智能处理类模型,帮助您快速触达业务:
模型 功能
通用图像分类模型 识别常见物体的类别。
通用图像检测模型 识别常见物体的类别并返回位置信息。
图像语义分割模型 能够输出分割物体的类别和分割的Mask信息。
图像实例分割模型 能够输出常见物体的类别信息、位置信息及Mask信息。
通用OCR模型 能够进行文本检测、文本识别。
前景分割模型 针对短视频、直播等场景,进行人物分割。
场景分类模型 识别图片内容反映的各种室内外场景。例如,天空、沙滩、蓝天、厨房及音乐厅。

ModelHub登录入口

您可以通过如下方法进入ModelHub:
  1. 登录PAI控制台
  2. 在左侧导航栏,选择AI资产管理 > 模型管理
  3. PAI模型管理页面,单击ModelHub页签。

通用图像分类模型

  • 模型介绍

    基于ImageNet数据集训练的图像分类模型,能够识别常见物体的类别。该模型采用ResNet,详情请参见Deep Residual Learning for Image Recognition

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    class 类别ID [] INT32
    class_name 类别名称 [] STRING
    class_probs 所有类别概率 [num_classes] Dict[STRING, FLOAT]
    request_id 请求的唯一标识 [] STRING
    success 请求是否成功 [] BOOL
    error_code 请求错误码 [] INT
    error_msg 请求错误信息 [] STRING
    输出数据的示例如下。
    {
    "class": 3,
    "class_name": "coho4",
    "class_probs": {"coho1": 4.028851974258174e-10,
              "coho2": 0.48115724325180054,
              "coho3": 5.116515922054532e-07,
              "coho4": 0.5188422446937221},
     "request_id": "9ac294a4-f387-4c48-b640-d2c6d41f****",
     "success": true
    }
  • 测试数据

    下载通用图像分类模型的测试数据

通用图像检测模型

  • 模型介绍

    该模型能够识别常见物体的类别并返回位置信息,采用Faster R-CNN,详情请参见Towards Real-Time Object Detection with Region Proposal Networks。模型的训练数据集为COCO。

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    detection_boxes 检测到的目标框[y1, x1, y2,x2],其坐标顺序为[top, left, bottom, right] [num_detections, 4] FLOAT
    detection_scores 目标检测概率。 num_detections FLOAT
    detection_classes 目标区域类别ID。 num_detections INT
    detection_class_names 目标区域类别名称。 num_detections STRING
    request_id 请求的唯一标识。 [] STRING
    success 请求是否成功。 [] BOOL
    error_code 请求错误码。 [] INT
    error_msg 请求错误信息。 [] STRING
    输出数据的示例如下。
    {
      "detection_boxes": [[243.5308074951172, 197.69570922851562, 385.59625244140625, 247.7247772216797], [292.1929931640625, 114.28043365478516, 571.2748413085938, 165.09771728515625]],
      "detection_scores": [0.9942291975021362, 0.9940272569656372],
      "detection_classes": [1, 1],
      "detection_classe_names": ["text", "text"],
      "request_id": "9ac294a4-f387-4c48-b640-d2c6d41f****",
      "success": true
     }
  • 测试数据

    下载通用图像检测模型的测试数据

图像语义分割模型

  • 模型介绍

    该模型能够识别分割物体的类别和分割的Mask信息,采用DeepLab V3,详情请参见Rethinking Atrous Convolution for Semantic Image Segmentation。模型的训练数据集为Pascal_Voc。

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    probs 分割像素点概率 [output_height, output_width] FLOAT
    preds 分割像素类别ID [output_height, output_widths] INT
    request_id 请求的唯一标识 [] STRING
    success 请求是否成功 [] BOOL
    error_code 请求错误码 [] INT
    error_msg 请求错误信息 [] STRING
    输出数据的示例如下。
    {
      "probs" : [[[0.8, 0.8], [0.6, 0.7]],[[0.8, 0.5], [0.4, 0.3]]],
      "preds" : [[1,1], [0, 0]],
       "request_id": "9ac294a4-f387-4c48-b640-d2c6d41f****",
       "success": true
    }
  • 测试数据

    下载图像语义分割模型的测试数据

图像实例分割模型

  • 模型介绍

    该模型能够识别常见物体的类别信息、位置信息及Mask信息,采用Mask R-CNN,详情请参见Mask R-CNN。模型的训练数据集为COCO。

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    detection_boxes 检测到的目标框[y1, x1, y2,x2],其坐标顺序为[top, left, bottom, right] [num_detections, 4] FLOAT
    detection_scores 目标检测概率。 num_detections FLOAT
    detection_classes 目标区域类别ID。 num_detections INT
    detection_class_names 目标区域类别名称。 num_detections STRING
    detection_masks 目标区域的Mask。采用RLE编码,每个Mask对应如下两个属性:
    • size:对应Mask图像的[height, width]
    • counts:对应Mask的RLE编码数据。奇数位表示连续为False的个数,偶数位表示连续为True的个数。例如,[True False, False, True]的编码为[0,1,2,1]。 解码RLE数据后,可以根据size把Mask数据序列Reshape成一个Mask二维掩码。
    [num_detections] DICT
    request_id 请求的唯一标识。 [] STRING
    success 请求是否成功。 [] BOOL
    error_code 请求错误码。 [] INT
    error_msg 请求错误信息。 [] STRING
    输出数据的示例如下。
    {
      "detection_boxes": [[243.5308074951172, 197.69570922851562, 385.59625244140625, 247.7247772216797], [292.1929931640625, 114.28043365478516, 571.2748413085938, 165.09771728515625]],
      "detection_scores": [0.9942291975021362, 0.9940272569656372],
      "detection_classes": [1, 1],
      "detection_classe_names": ["text", "text"],
      "detection_masks": [{"counts": [398408, 11, 671, 30, 652, 44, 636], "size":[640, 480]},
                          {"counts": [398408, 11, 671, 30, 652, 44, 636], "size":[640, 480]}],
       "request_id": "9ac294a4-f387-4c48-b640-d2c6d41f****",
       "success": true
     }
  • 测试数据

    下载图像实例分割模型的测试数据

通用OCR模型

  • 模型介绍

    该模型采用PAI自研的端到端OCR模型,能够进行文本检测、文本识别。

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    detection_boxes 检测到的文字框,坐标顺序 [top, left, bottom, right] [num_detections, 4] FLOAT
    detection_scores 文字检测概率。 num_detections FLOAT
    detection_classes 文字区域类别ID。 num_detections INT
    detection_class_names 文字区域类别名称。 num_detections STRING
    detection_keypoints 检测到的文字区域四个角点,每个点的坐标为(y,x) [num_detections, 4, 2] float
    detection_texts_ids 单行文字识别类别ID。 [num_detections, max_text_length] INT
    detection_texts 单行文字识别结果。 [num_detections] STRING
    detection_texts_scores 单行文字识别概率。 [num_detections] FLOAT
    request_id 请求的唯一标识。 [] STRING
    success 请求是否成功。 [] BOOL
    error_code 请求错误码。 [] INT
    error_msg 请求错误信息。 [] STRING
    输出数据的示例如下。
     {
      "detection_keypoints": [[[243.57516479492188, 198.84210205078125], [243.91038513183594, 247.62425231933594], [385.5513916015625, 246.61660766601562], [385.2197570800781, 197.79345703125]], [[292.2718200683594, 114.44700622558594], [292.2237243652344, 164.684814453125], [571.1962890625, 164.931640625], [571.2444458007812, 114.67433166503906]]], 
      "detection_boxes": [[243.5308074951172, 197.69570922851562, 385.59625244140625, 247.7247772216797], [292.1929931640625, 114.28043365478516, 571.2748413085938, 165.09771728515625]], 
      "detection_scores": [0.9942291975021362, 0.9940272569656372],
      "detection_classes": [1, 1],
      "detection_classe_names": ["text", "text"],
      "detection_texts_ids" : [[1,2,2008,12], [1,2,2008,12]],
      "detection_texts": ["这是示例", "这是示例"],
      "detection_texts_scores" : [0.88, 0.88],
      "request_id": "9ac294a4-f387-4c48-b640-d2c6d41f****",
      "success": true
     }
  • 测试数据

    下载下载通用OCR模型的测试数据

前景分割模型

  • 模型介绍

    基于MobileNet训练的前景分割模型。针对短视频、直播等场景,进行人物分割。

  • 输入格式
    输入数据是JSON格式字符串,包含图片的url字段。具体格式如下。
    {
      "input": {
        "url": "输入图片的URL"
      }
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    human_ratio 前景占的比例 [] STRING
    mask 前景Mask [h,w] LIST
  • 示例
    例如,为该模型输入如下测试数据。
    {"input" : {"url": "http://yq****.oss-cn-hangzhou-zmf.aliyuncs.com/tb_quality.png"}}
    系统输出的结果详见结果样例

场景分类模型

  • 模型介绍

    该模型采用ResNet结构,详情请参见Deep Residual Learning for Image Recognition。该模型能够识别图片内容反映的各种室内外场景,例如天空、沙滩、蓝天、厨房及音乐厅等。

  • 输入格式
    输入数据为JSON格式字符串,包含image字段,对应的value为图片内容的Base 64编码。
    {
      "image": "图像文件内容的Base 64编码"
    }
  • 输出格式
    输出数据为JSON格式字符串,包含的字段如下表所示。
    字段 描述 Shape Type
    class Top 5类别ID。 5 INT32
    class_name Top 5类别名称。 5 STRING
    class_probs 所有类别的概率。 [num_classes] Dict[STRING, FLOAT]
    request_id 请求的唯一标识。 [] STRING
    success 请求是否成功,包括如下取值:
    • true:请求成功。
    • false:请求失败。
    [] BOOL
    error_code 请求失败时,返回的错误码。 [] INT
    error_msg 请求失败时,返回的错误信息。 [] STRING
    输出数据的示例如下。
    {
        "request_id": "a72304d8-cf84-479e-b29e-5e341e3d****", 
        "success": true, 
        "class": [266, 57, 159,  260,  243], 
        "class_name": [
            "pier", 
            "boardwalk", 
            "gazebo-exterior", 
            "pavilion", 
            "ocean"
        ], 
        "class_probs": {
            "airfield": 2.6841306066671677e-8, 
            "airplane_cabin": 2.4176902702066627e-9, 
            "airport_terminal": 1.3229835360561992e-7, 
            "alcove": 1.5998873337252917e-8, 
            "alley": 7.053529316181084e-8, 
            "amphitheater": 2.0278820400676523e-8, 
            "amusement_arcade": 1.5128257757623942e-8, 
            "amusement_park": 6.29929459705636e-8, 
            "apartment_building-outdoor": 1.846876926947516e-7, 
            "aquarium": 6.034031940771456e-8, 
            "aqueduct": 1.6192875307297072e-7, 
            "arcade": 3.719276833180629e-7, 
            "arch": 0.000001615617293282412, 
            "archaelogical_excavation": 1.9157377906253714e-9, 
            "archive": 1.915566905097421e-8
        }
    }