本文提供了调用OCR图文同步检测任务的具体内容,旨在帮助您编写程序构建HTTP调用请求。

  • 关于如何构造HTTP请求,请参考请求结构
  • 您也可以直接选用已构造好的HTTP请求,具体请参考SDK参考

描述

业务接口/green/image/scan

提交OCR图文同步识别任务,识别图片中的文字或卡证信息,并同步返回识别出来的结果。支持识别的卡证对象包括: 营业执照、身份证、护照、银行卡、驾驶证、行驶证、车牌、车辆VIN码
说明 卡证类的识别算法由阿里巴巴计算平台事业部PAI团队提供技术支撑。
同步检测一般会在1秒内返回结果,但在一些特殊场景(比如系统繁忙导致堆积严重,图片较大,含有OCR内容较多等),耗时可能会多些。OCR的处理速度依赖图片中文字的字数,字数越多处理时间越长,如果您检测的场景中文字较多,推荐您使用OCR图文异步检测接口
说明 OCR异步检测不支持识别卡证信息。

关于检测时长

同步检测允许的最长检测时间是6秒;而异步检测为2分钟。如果检测在以上时间限制内没有完成,系统会强制返回超时错误码。如果您对实时性要求不高,可以选择异步检测;否则,请选择同步检测,同步调用相对简单些。对于同步调用,建议您将超时时间设置为6秒。

关于图片限制
  • 图片链接支持以下协议:HTTP和HTTPS。
  • 图片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
  • 同步调用时,图片大小限制为5M以内;异步调用时,图片大小限制为20M以内。
  • 图片下载时间限制为3s内,如果下载时间超过3s,返回下载超时。
  • 图片像素建议不低于256*256,像素过低可能会影响识别效果。
  • 图片检测接口响应时间依赖图片的下载时间,请保证被检测图片所在的存储服务稳定可靠,建议您使用OSS存储或者CDN缓存等。

请求参数

关于在请求中必须包含的公共请求参数,请参考公共参数

请求body是一个JSON对象,字段说明如下:
名称 类型 是否必需 描述
bizType 字符串 自定义业务类型,由业务方提供。
每个bizType对应不同的算法/模型,运维人员可以为某一bizType动态地增加、删除要检测的风险场景。通过配置,后端根据该字段对请求做不同处理。
说明 该字段优先级高于 scenes字段。
scenes 字符串数组 指定检测场景,取值为:ocr
tasks JSON数组 指定检测对象,JSON数组中的每个元素是一个OCR图文检测任务结构体(image表)。最多支持100个元素,即对100张图片进行识别。每个元素的具体结构描述见task
extras Map 若使用卡证信息识别服务,需要指定传入的卡证照片类型,格式为{"card":"{OcrCardType[-front/back]}"} 。其中,
  • OcrCardType代表证件类型,取值包括:
    • business-license:营业执照
    • id-card:身份证(正反面)
    • passport:护照
    • bank-card:银行卡
    • driver-license:驾驶证(正反面)
    • vehicle-license:行驶证(正反面)
    • vehicle-num:车牌
    • vehicle-vin:车辆VIN码
  • [-front/back]指定证件照片的正反面。需要指定正面反面的证件包括:身份证(id-card)、驾驶证(driver-license)、行驶证(vehicle-license)。其余证件类型不用指定正反面。
例如,身份证信息识别的extra取值为{"card":"id-card-front}{"card":"id-card-back},其中id-card-front表示身份证正面,id-card-back表示身份证反面;银行卡信息识别的extra取值为{"card":"bank-card"}
表 1. task
名称 类型 是否必需 描述
clientInfo JSON结构体 客户端信息,参考公共参数中的公共查询参数。
服务器会把全局的 clientInfo和此处独立的 clientInfo合并。
说明 独立的 clientInfo优先级更高。
dataId 字符串 数据Id。需要保证在一次请求中所有的Id不重复。
url 字符串 待检测图像的URL。
time 整型 图片创建/编辑时间,单位为ms。

返回参数

返回结果说明,参见返回结果

返回body中的data字段是JSON数组,每一个元素包含如下字段:
名称 类型 是否必需 描述
code 整型 错误码,和HTTP的status code一致。
msg 字符串 错误描述信息。
dataId 字符串 对应请求中的dataId
taskId 字符串 该检测任务的ID。
url 字符串 对应请求中的URL。
extras map 对应请求中的extras,即上传的卡证图片类型。
results 数组 返回结果。调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述见result
表 2. result
名称 类型 是否必需 描述
scene 字符串 检测场景,取值为:ocr
label 字符串 检测结果的分类。取值为:
  • normal:正常图片,未检测到文字或指定的卡证信息
  • ocr:含文字或指定的卡证信息的图片
suggestion 字符串 建议用户执行的操作,取值范围:
  • pass:未识别出目标对象(如文字、卡证信息等)
  • review:识别出目标对象(如文字、卡证信息等)
rate 浮点数 结果为目标分类的概率,取值范围为[0.00-100.00]。值越高,表示越有可能属于目标分类。
ocrLocations 数组 静态图(非GIF图片)有文字时,返回识别出来的单条文字信息,具体结构描述见ocrLocation
ocrData 数组 静态图(非GIF图片)有文字时,返回识别出来的所有文字信息组合。通常文本组合信息存储于数组第一个元素上。
frames 数组 动态图(GIF图片)有文字时,返回识别出来的每一帧及对应的文字。
businessLicenseInfo 结构体 识别出来的营业执照信息,具体结构描述见businessLicenseInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"business-license"}
idCardInfo 结构体 识别出来的身份证信息,具体结构描述见idCardInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"id-card-front"}{"card":"id-card-back"}
passportInfo 结构体 识别出来的护照信息,具体结构描述见passportInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"passport"}
bankCardInfo 结构体 识别出来的银行卡信息,具体结构描述见bankCardInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"bank-card"}
driverLicenseFrontInfo 结构体 识别出来的驾驶证正面信息,具体结构描述见driverLicenseFrontInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"driver-license-front"}
driverLicenseBackInfo 结构体 识别出来的驾驶证反面信息,具体结构描述见driverLicenseBackInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"driver-license-back"}
vehicleLicenseFrontInfo 结构体 识别出来的行驶证正面信息,具体结构描述见vehicleLicenseFrontInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"vehicle-license-front"}
vehicleLicenseBackInfo 结构体 识别出来的行驶证反面信息,具体结构描述见vehicleLicenseBackInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"vehicle-license-back"}
vehicleNumInfo 结构体 识别出来的车牌信息,具体结构描述见vehicleNumInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"vehicle-num"}
vehicleVinInfo 结构体 识别出来的车辆VIN码信息,具体结构描述见vehicleVinInfo
说明 仅适用于卡证信息识别ocr场景,且在 extras中指定 {"card":"vehicle-vin"}
表 3. ocrLocation
名称 类型 是否必需 描述
text 字符串 识别出来的单条文本信息。
x 浮点数 以图片左上角为坐标原点,文字区域左上角到y轴距离。
y 浮点数 以图片左上角为坐标原点,文字区域左上角到x轴距离。
w 浮点数 文字区域的宽度。
h 浮点数 文字区域的高度。
表 4. businessLicenseInfo
名称 类型 是否必需 描述
regNum 字符串 注册号。
companyName 字符串 公司名称。
companyType 字符串 公司类型。
legalPerson 字符串 企业法人。
establishDate 字符串 注册日期。
vaildPeriod 字符串 营业终止日期。
address 字符串 地址。
capital 字符串 注册资本。
business 字符串 经营范围。
表 5. idCardInfo
名称 类型 是否必需 描述
name 字符串 姓名。
sex 字符串 性别。取值:
nationality 字符串 民族。
number 字符串 身份证号。
birth 字符串 出生年月。格式为:yyyy-mm-dd
address 字符串 籍贯。
authority 字符串 签发机构。
startDate 字符串 有效期开始日期。
endDate 字符串 有效期结束日期。
angle 浮点数 证件顺时针旋转的角度。
表 6. passportInfo
名称 类型 是否必需 描述
authority 字符串 发证机关。
birthDate 字符串 出生日期。
birthDay 字符串 生日。
birthPlace 字符串 出生地。
birthPlaceRaw 字符串 出生地(字母)。
expireDate 字符串 到期时间。
expireDay 字符串 到期日。
issueDate 字符串 发证日期。
issuePlace 字符串 发证地址。
issuePlaceRaw 字符串 发证地址(字母)。
name 字符串 姓名。
cnName 字符串 中文名称。
cnNameRaw 字符串 中文名称(字母)。
personId 字符串 身份Id。
sex 字符串 性别。
srcCountry 字符串 国籍。
type 字符串 类型。
line0 字符串 底部第一行。
line1 字符串 底部第二行。
表 7. bankCardInfo
名称 类型 是否必需 描述
bankCardNum 字符串 银行卡号。
表 8. driverLicenseFrontInfo
名称 类型 是否必需 描述
name 字符串 姓名。
number 字符串 驾驶证号。
sex 字符串 性别(男/女)。
address 字符串 住址。
vehicleType 字符串 准驾车型。
validStartDate 字符串 有效期开始时间,格式为:yyyy-MM-dd。
validEndDate 字符串 有效期截止时间,格式为:yyyy-MM-dd。
表 9. driverLicenseBackInfo
名称 类型 是否必需 描述
archiveNum 字符串 档案编号。
表 10. vehicleLicenseFrontInfo
名称 类型 是否必需 描述
plateNum 字符串 车牌号。
vehicleType 字符串 车辆类型。
owner 字符串 所有者名字。
useCharacter 字符串 车辆使用性质。
address 字符串 住址。
model 字符串 车辆品牌。
vin 字符串 车辆识别代号。
engineNum 字符串 发动机号码。
registerDate 字符串 注册日期,格式为:yyyy-MM-dd。
issueDate 字符串 发证日期,格式为:yyyy-MM-dd。
表 11. vehicleLicenseBackInfo
名称 类型 是否必需 描述
plateNum 字符串 车牌号。
fileNum 字符串 档案编号。
appprovedPassengerCapacity 整型 核定载人数。
grossMass 字符串 总质量。
unladenMass 字符串 整备质量。
approvedLoad 字符串 核定载质量。
tractionMass 字符串 准牵引总质量。
inspectionRecord 字符串 检验记录。
overallDimension 结构体 车辆轮廓尺寸(单位mm),具体结构描述见overallDimension
表 12. overallDimension
名称 类型 是否必需 描述
length 整型 车辆长度。
width 整型 车辆宽度。
height 整型 车辆高度。
表 13. VehicleNumInfo
名称 类型 是否必需 描述
num 字符串 车牌号。
表 14. VehicleVinInfo
名称 类型 是否必需 描述
vin 字符串 VIN号。

示例

请求示例
{
  "scenes": ["ocr"],
  "extras": {"card":"bank-card"}
  "tasks": [
    {
      "dataId": "test2abcdmO$tAON6qYUrtCRgLo-1234di",
      "url": "https://img.alicdn.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png"
    } 
  ]
}
返回示例
{
   "code": 200 ,
   "data": [
    {
       "code": 200 ,
       "dataId": "964719bf-30b1-4180-ba22-09e56d530bfb" ,
       "extras": {},
       "msg": "OK" ,
       "results": [
        {
           "bankCardInfo": {
             "bankCardNum": "6225768888888888" 
          },
           "label": "ocr" ,
           "rate": 99.91 ,
           "scene": "ocr" ,
           "suggestion": "review"
        }
      ],
       "taskId": "imguVUiCvA4NZ5jeaGJCS9IG-1pfBHc" ,
       "url":  "https://aip.bdstatic.com/portal/dist/1531393832694/ai_images/technology/ocr-cards/bankcard/demo-card-1.png" 
    }
  ],
   "msg": "success" ,
   "requestId": "1a2faf93-dd41-47d8-95ad-bdf6226540e4" 
}