更新时间:2022-12-20 GMT+08:00
分享

保险单识别

功能介绍

识别保险单图片上的文字信息,并将识别的结构化结果返回给用户。支持对多板式保险单的扫描图片及手机照片进行结构化信息提取。

约束与限制

  • 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。
  • 图像各边的像素在15到8192px之间。
  • 图像中保险单区域有效占比超过70%,保证整张保险单及其边缘包含在图像内。
  • 支持图像中保险单旋转、支持少量扭曲。
  • 能处理暗光等干扰的图片但影响识别精度。
  • 覆盖常见保险公司的常见保单版式,由于即使是同一家保险公司,保险种类也繁多而且都在动态变化,实际支持情况请以实际测试效果为准。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

前提条件

在使用之前,需要您完成服务申请和认证鉴权,具体操作流程请参见开通服务认证鉴权章节。

用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注意开通服务区域与调用服务的区域保持一致。

URI

POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy

表1 路径参数

参数

是否必选

说明

endpoint

终端节点,即调用API的请求地址。

不同服务不同区域的endpoint不同,您可以从终端节点中获取。

例如,OCR服务在“华北-北京四”区域的“endpoint”“ocr.cn-north-4.myhuaweicloud.com”

project_id

项目ID,您可以从获取项目ID中获取。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。

Content-Type

String

发送的实体的MIME类型,参数值为“application/json”。

Enterprise-Project-Id

String

企业项目ID。OCR支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。

获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。

企业项目创建步骤请参见用户指南。

说明:

创建企业项目后,在传参时,有以下三类场景。

  • 携带正确的ID,正常使用OCR服务,账单归到企业ID对应的企业项目中。
  • 携带错误的ID,正常使用OCR服务,账单的企业项目会被分类为“未归集”。
  • 不携带ID,正常使用OCR服务,账单的企业项目会被分类为“未归集”。
表3 请求Body参数

参数

是否必选

参数类型

描述

image

String

与url二选一。

图片的Base64编码,要求Base64编码后大小不超过10MB。

图片最短边不小于15px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF格式。

图片Base64编码示例如/9j/4AAQSkZJRgABAg...,带有多余前缀会产生The image format is not supported报错。

url

String

与image二选一

图片的URL路径,目前支持:

  • 公网http/https url
  • OBS提供的url,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权,详情参见配置OBS访问权限
说明:
  • 接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。
  • 请保证被检测图片所在的存储服务稳定可靠,推荐使用OBS服务存储图片数据。
  • url中不能存在中文字符,若存在,中文需要进行utf8编码。

detect_direction

Boolean

是否校正图片的倾斜角度,可选值如下。

  • true:校正图片的倾斜角度
  • false:不校正图片的倾斜角度

支持任意角度的校正,未传入该参数时默认为“false”

待识别图片如果存在倾斜,建议将此参数设置为“true”。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

result

InsurancePolicyResult object

识别结果。

调用失败时不返回此字段。

表5 InsurancePolicyResult

参数

参数类型

描述

bank_name

String

发卡行。

bill_number

InsurancePolicyDetail object

保险单号(没有单号时,返回为空)。

company

InsurancePolicyDetail object

保险公司。

effective_date

InsurancePolicyDetail object

保险单生效日期。

applicant_name

InsurancePolicyDetail object

投保人姓名。

applicant_sex

InsurancePolicyDetail object

投保人性别。

applicant_birthday

InsurancePolicyDetail object

投保人出生日期。

applicant_id_type

InsurancePolicyDetail object

投保人证件类型。

applicant_id_number

InsurancePolicyDetail object

投保人证件号。

insurant_list

Array of InsurantItem objects

被保人列表(第一个默认为主被保人)。

beneficiary_list

Array of BeneficiaryItem objects

受益人列表。

insurance_list

Array of InsuranceItem objects

保险项目信息列表。

表6 InsurancePolicyDetail

参数

参数类型

描述

words

String

对应识别出的文本内容。

location

Array<Array<Integer>>

对应识别出的四个顶点坐标。

表7 InsurantItem

参数

参数类型

描述

insurant_name

InsurancePolicyDetail object

被保人姓名。

insurant_sex

InsurancePolicyDetail object

被保人性别。

insurant_birthday

InsurancePolicyDetail object

被保人出生日期。

insurant_id_type

InsurancePolicyDetail object

被保人证件类型。

insurant_id_number

InsurancePolicyDetail object

被保人证件号码。

表8 BeneficiaryItem

参数

参数类型

描述

beneficiary_name

InsurancePolicyDetail object

受益人姓名。

beneficiary_type

InsurancePolicyDetail object

受益人类型。

beneficiary_order

InsurancePolicyDetail object

受益顺序。

beneficiary_share

InsurancePolicyDetail object

受益比例/受益顺序。

表9 InsuranceItem

参数

参数类型

描述

insurance_name

InsurancePolicyDetail object

产品名称。

insurance_period

InsurancePolicyDetail object

保险期限。

insurance_amount

InsurancePolicyDetail object

保险金额。

payment_frequency

InsurancePolicyDetail object

交费频率。

payment_period

InsurancePolicyDetail object

交费期间。

payment_amount

InsurancePolicyDetail object

每期交费金额。

状态码: 400

表10 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码,具体请参见错误码

调用成功时不返回此字段。

error_msg

String

调用失败时返回的错误信息。

调用成功时不返回此字段。

请求示例

  • Endpoint即调用API的请求地址,不同服务不同区域的Endpoint不同,具体请参见终端节点。 例如,保险单识别服务部署在“华北-北京四”区域的“endpoint”为“ocr.cn-north-4.myhuaweicloud.com”或“ocr.cn-north-4.myhuaweicloud.cn”,请求URL为“https://ocr.cn-north-4.myhuaweicloud.com/v2/{project_id}/ocr/insurance-policy”,“project_id”为项目ID,获取方法请参见获取项目ID
  • 如何获取Token请参见认证鉴权
  • 请求样例(方式一:使用图片的Base64编码)
    POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy
    Request Header:
    Content-Type: application/json
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
    Request Body:
    {
      "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA..."
    }
  • 请求样例(方式二:使用图片URL)
    POST https://{endpoint}/v2/{project_id}/ocr/insurance-policy
    Request Header:
    Content-Type: application/json
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
    Request Body:
    {
      "url" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA..."
    }
  • Python3语言请求代码示例(其他语言参照下列示例编写或使用OCR SDK)
    # encoding:utf-8
    
    import requests
    import base64
    
    url = "https://{endpoint}/v2/{project_id}/ocr/insurance-policy"
    token = "用户获取得到的实际token值"
    headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
    
    imagepath = r'./data/insurance-policy-demo.png' # 读取本地图片
    with open(imagepath, "rb") as bin_data:
        image_data = bin_data.read()
    image_base64 = base64.b64encode(image_data).decode("utf-8")  # 使用图片的Base64编码
    payload = {"image": image_base64}
    response = requests.post(url, headers=headers, json=payload)
    print(response.text)

响应示例

状态码: 200

成功响应示例

{
  "result" : {
    "bill_number" : {
      "words" : "192365331963636",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "company" : {
      "words" : "华夏人寿保险股份有限公司",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "effective_date" : {
      "words" : "见特别约定",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "applicant_name" : {
      "words" : "杨建国",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "applicant_id_type" : {
      "words" : "身份证",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "applicant_id_number" : {
      "words" : "214631270006529342",
      "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
    },
    "insurant_list" : [ {
      "insurant_name" : {
        "words" : "惠秀梅",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "insurant_sex" : {
        "words" : "女",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "insurant_id_type" : {
        "words" : "身份证",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "insurant_id_number" : {
        "words" : "XXXXXXXXXXXXXXXX",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      }
    } ],
    "beneficiary_list" : [ {
      "beneficiary_name" : {
        "words" : "XXX",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "beneficiary_type" : {
        "words" : "生存保险金",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "beneficiary_order" : {
        "words" : "第一顺序",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "beneficiary_share" : null
    } ],
    "insurance_list" : [ {
      "insurance_name" : {
        "words" : "华夏黄金甲两全保险(分红型)",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "insurance_period" : {
        "words" : "2025年7月17日零时",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "insurance_amount" : {
        "words" : "RMB50000.00",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "payment_frequency" : {
        "words" : "月交",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      },
      "payment_period" : {
        "words" : "2017年7月17日零时",
        "location" : [ [ 10, 10 ], [ 20, 25 ], [ 20, 35 ], [ 10, 35 ] ]
      }
    } ]
  }
}

状态码: 400

失败响应样例

{
  "error_code" : "AIS.0103",
  "error_msg" : "The image size does not meet the requirements"
}

状态码

状态码

描述

200

成功响应示例。

400

失败响应样例。

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品