Productai

检测与定位服务

对图片中的特定物体进行类型识别并定位在图片中的位置。

调用说明

Python

PHP

Java

C#

cURL

from productai import Client

cli = Client(ACCESS_KEY_ID, SECRET_KEY)

# 获取对应的服务API
api = cli.get_api('detect', '_xxxxxxxx')

# 使用URL作为参数调用API
resp = api.query(image='https://yyyy')

# 或者使用本地文件作为参数调用API
with open("zzzz.jpg", mode='rb') as search:
resp = api.query(search)
use ProductAI;

// 获取对应的服务API
$product_ai = new ProductAI\API(ACCESS_KEY_ID, SECRET_KEY, 'zh-Hans');

// 使用URL作为参数调用API
$result = $product_ai->detectImage('detect', '_xxxxxxxx', 'https://yyyy');

// 或者使用本地文件作为参数调用API
$result = $product_ai->detectImage('detect', '_xxxxxxxx', '@zzzz.jpg');
import java.io.File;
import cn.productai.api.core.*;
import cn.productai.api.core.enums.*;
import cn.productai.api.pai.entity.detect.*;

// 设置API调用初始化参数
IProfile profile = new DefaultProfile();
profile.setAccessKeyId(ACCESS_KEY_ID);
profile.setSecretKey(SECRET_KEY);
profile.setVersion("1");
profile.setGlobalLanguage(LanguageType.Chinese);
IWebClient client = new DefaultProductAIClient(profile);

// 使用URL作为参数调用API
DetectByImageUrlRequest request = new DetectByImageUrlRequest(DetectType.Cloth);
request.setUrl("https://yyyy");

// 或者使用本地文件作为参数调用API
DetectByImageFileRequest request = new DetectByImageFileRequest(DetectType.Cloth);
request.setImageFile(new File("zzzz.jpg"));

DetectResponse response = client.getResponse(request);
String json = response.getResponseJsonString();
using MalongTech.ProductAI.Core;
using MalongTech.ProductAI.API.Entity;

IProfile profile = new DefaultProfile
{
Version="1",
AccessKeyId=ACCESS_KEY_ID,
SecretKey=SECRET_KEY,
GlobalLanguage=LanguageType.Chinese
};
var client = new DefaultProductAIClient(profile);

// 使用URL进行查询
var request = new DetectByImageUrlRequest(DetectType.Cloth)
{
Url="https://yyyy"
};

// 或者使用本地文件查询
var request = new DetectByImageFileRequest(DetectType.Cloth)
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};

var response = client.GetResponse(request);
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_xxxxxxxx

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_xxxxxxxx

其中’_xxxxxxxx’代表具体的detect服务ID, 请参考服务列表

输入参数说明

参数名称类型说明必选限制
url字符串Query图片的链接与search参数二选一
search文件Query图片文件内容与url参数二选一

返回结果说明

200 HTTP状态码

服务器端成功处理,并返回结果

{
"boxes_detected": [
...
],
"detecttime": "1.421",
"get_image_time": "0.006",
"image_id": "165145_161136_b79167f0-e166-11e7-bb18-eea500941bf4",
"request_id": "b79167f0-e166-11e7-bb18-eea500941bf4",
"time": "1.430",
"ver": "2.1.5"
}
结果字段类型说明
detecttime字符串API服务器端检测时间消耗,单位为秒
time字符串API服务器端总时间消耗,单位为秒
get_image_time字符串图片下载时间
request_id字符串本次请求的唯一识别ID,用于和ProductAI平台进行联调诊断
boxes_detected数组该图片检测出的box的集合,详细细节参看boxes_detected字段说明

boxes_detected字段说明

{
"box": [
0.17477203647416414,
0.025056947608200455,
0.37537993920972645,
0.9453302961275627
],
"puid": "person",
"score": 0.9983668923377991,
"type": "人"
}
结果字段类型说明
box字符串检测出的物体边框信息,格式为”x-y-w-h”。其中x,y,w,h 四个子参数的含义为:以待检测图片左上角位置为坐标(0,0),右下角位置为(1,1),x 为所框选框体左上角横坐标与图片宽度的比值,y 为所框选框体左上角纵坐标与图片高度的比值,w 为所框选框体宽与图片宽度的比值,h为所框选框体高与图片高度的比值。
puid字符串当前标签类别的唯一ID
score浮点数当前标签类别的可能概率
type字符串当前语言设置下的检测结果类别

非200 HTTP状态码

服务器端遇到错误

{
"data": {
"error_code": 400004,
"is_err": 1,
"message": "Could not download http://a.com/b.jpg",
"request_id": "e5e16268-e166-11e7-91d5-72f17f92a514"
},
"status": 400
}
结果字段类型说明
data字典所有信息包装到data中
status整数HTTP状态码
is_err整数1表示有错误,0表示没有错误
message字符串错误信息详情
request_id字符串本次调用的唯一ID,可以用于和ProductAI团队进行联调分析
error_code整数详细错误代码

错误信息说明

SDK/API使用http状态码来通知客户端本次调用成功和失败

http状态码error_code说明
200N/a查询成功
400400002图片无法被解析
400400003用户没有上传图片
400400004图片无法被下载
400400008Query的图片太小,查看具体要求

服务列表

服装检测与定位 v2.0

Python

PHP

Java

C#

cURL

# 设置服务ID为_0000173
api = cli.get_api('detect', '_0000173')
# 使用_0000173作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000173', 'https://yyyy');

# 使用_0000173作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000173', '@zzzz.jpg');
// 使用_0000173做为参数创建Request,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000173", "https://yyyy", "");

// 使用_0000173做为参数创建Request,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000173", new File("zzzz.jpg"), "");
// 使用_0000173做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000173")
{
Url="https://yyyy"
};

// 使用_0000173做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000173")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000173

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000173

中/英文标签列表

中文English
A字宽松裙A-line-loose-dress双肩包backpacks背带裤beidaiku背带裙beidaiqun
西装blazers紧身裙bodycon-dress短靴booties-short-boots帆布鞋Canvas-shoes
斗篷披风cape-coat开衫款cardigans雪纺衫/真丝衫chiffon-tops手拿包clutch
大衣款coat阔腿裤Culotte-pants羽绒服Down-jacket平底凉鞋flat-sandals
时尚平底鞋Flats-shoes礼服和婚纱formal-dress皮草fur高跟凉鞋heel-sandals
卫衣hoodies夹克jacket连体裤Jumpsuit-romper针织衫/镂空衫knit-hollow-out-tops
皮衣leather皮鞋/乐福鞋leather-loafer-shoes休闲裙leisure-dress休闲裤leisure-pants
牛仔裤Long-Jeans长袖连衣裙longsleeve-dress-for-fall棉服mianfu中长靴mid-long-boots
户外小包outdoor-xiaobao外套背心outerwear-vestPolo衫polo-shirt套头衫pullover-tops
浅口高跟鞋Pumps旗袍qipao雨靴rainboots衬衫shirt-blouse
衬衫裙shirt-dress短裤shorts单肩包/手提包shoulder-handbag无袖衫sleeveless-tops
包臀半裙slim-bottom-skirt小脚紧身裤slim-pants-leggings拖鞋Slippers运动鞋sneakers
雪地靴Snow-boots泳装swim-suits西装裤tailored-pants-women打底/吊带背心tank-strap-tops
风衣trenchcoatT恤衫Tshirt大摆半裙volumn-skirt收腰连衣裙waisted-dress
钱包wallets坡跟鞋/厚底鞋wedge-shoes冲锋衣women-Sports-jackets毛呢大衣wool-coat
羊毛衫wool-sweater-tops珠宝jewellery眼镜glasses泳镜goggles
手表watch腰带belt围巾scarf手套glove
帽子cap非时尚non-fashion

家具检测与定位 v3.0

Python

PHP

Java

C#

cURL

# 使用_0000171作为服务ID
api = cli.get_api('detect', '_0000171')
// 使用_0000171作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000171', 'https://yyyy');

// 使用_0000171作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000171', '@zzzz.jpg');
// 使用_0000171作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest('detect', '_0000171');
request.setUrl("https://yyyy");

// 使用_0000171作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest('detect', '_0000171');
request.setImageFile(new File("zzzz.jpg"));
// 使用_0000171做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest('detect', '_0000171')
{
Url="https://yyyy"
};

// 使用_0000171做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest('detect', '_0000171')
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000171

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000171

中/英文标签列表

中文English
吊灯pendant_lampbed台灯desk_lamp床头柜bedside_cupboard
椅子chair壁灯wall_lamp沙发sofa茶几teapoy
落地灯floor_lamp床头柜bathroom_cabinet花洒shower_caddy马桶toilet
电视柜tv_cabinet龙头faucet角几corner_table沙发凳casamania_pollon_pouf
吧台椅凳bar_stool浴缸bathtub盥洗盆sink五斗柜drawer_chest
水槽trough贵妃椅recliner床尾凳bed_bench吸顶灯ceiling-lights
桌子table

小票文字识别 v1.0

用于识别如下图所示的中国大陆地区信用卡消费小票
示例图片1

Python

PHP

Java

C#

cURL

# 使用_0000143做服务ID
api = cli.get_api('detect', '_0000143')
// 使用_0000143作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000143', 'https://yyyy');

// 使用_0000143作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000143', '@zzzz.jpg');
// 使用_0000143作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000143", "https://yyyy","0-0-1-1");

// 使用_0000143作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000143", new File("zzzz.jpg"),"0-0-1-1");
// 使用_0000143做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000143")
{
Url="https://yyyy"
};

// 使用_0000143做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000143")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000143

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000143

返回结果说明

{
"boxes_detected": [
{
"score": 0,
"type": "merchant_code",
"value": "821210255110050"
},
{
"score": 0,
"type": "terminal_no",
"value": null
},
{
"score": 0,
"type": "union_pay_merchant_code",
"value": "821210255110050"
},
{
"score": 0,
"type": "amount",
"value": "2300000.00"
}
],
"detecttime": "2.354",
"image_id": "185227_676779_27e4a8133a0a349ed286fc85e6e733a80051f695",
"request_id": "3022fc7e-e2e8-11e7-914b-9e715a41c4bb",
"time": "2.360",
"ver": "1.3.7"
}
结果字段类型说明
score整数暂时全部为0,请忽略
type字符串识别出的字段类型
value字符串识别出的当前字段对应的结果

文字内容识别 v1.0

用于识别任何包含文字的图片,如下图:
示例图片2

Python

PHP

Java

C#

cURL

# 使用_0000154作为服务ID
api = cli.get_api('detect', '_0000154')
// 使用_0000154作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000154', 'https://yyyy');

// 使用_0000154作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000154', '@zzzz.jpg');
// 使用_0000154作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000154", "https://yyyy", "0-0-1-1");

// 使用_0000154作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000154", new File("zzzz.jpg"), "0-0-1-1");
// 使用_0000154做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000154")
{
Url="https://yyyy"
};

// 使用_0000154做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000154")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000154

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000154

返回结果说明

{
"boxes_detected": [
{
"box": [
0.14683816,
0.27428571,
0.60450161,
0.06714286
],
"score": 1,
"type": "登机牌B0 ARD ING PASS"
},
...
]
}

人脸检测 v1.0

Python

PHP

Java

C#

cURL

# 使用_0000049作为服务ID
api = cli.get_api('detect', '_0000049')
# 使用_0000049作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000049', 'https://yyyy');

# 使用_0000049作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000049', '@zzzz.jpg');
// 使用_0000049作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000049", "https://yyyy", "0-0-1-1");

// 使用_0000049作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000049", new File("zzzz.jpg"), "0-0-1-1");
// 使用_0000049做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000049")
{
Url="https://yyyy"
};

// 使用_0000049做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000049")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000049

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000049

中/英文标签列表

标签
face

人体检测与定位 v1.0

Python

PHP

Java

C#

cURL

# 使用_0000059作为服务ID
api = cli.get_api('detect', '_0000059')
// 使用_0000059作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000059', 'https://yyyy');

// 使用_0000059作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000059', '@zzzz.jpg');
// 使用_0000059作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000059", "https://yyyy", "0-0-1-1");

// 使用_0000059作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000059", new File("zzzz.jpg"), "0-0-1-1");
// 使用_0000059做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000059")
{
Url="https://yyyy"
};

// 使用_0000059做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000059")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000059

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000059

中/英文标签列表

中文English
person

人物检测 v1.0

Python

PHP

Java

C#

cURL

# 使用_0000187作为服务ID
api = cli.get_api('detect', '_0000187')
# 使用_0000187作为服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000187', 'https://yyyy');

# 使用_0000187作为服务ID,使用本地文件调用服务
$result = $product_ai->detectImage('detect', '_0000187', '@zzzz.jpg');
// 使用_0000187作为服务ID,使用URL调用服务
DetectByImageUrlRequest request = new DetectByImageUrlRequest("detect", "_0000187", "https://yyyy", "0-0-1-1");

// 使用_0000187作为服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000187", new File("zzzz.jpg"), "0-0-1-1");
// 使用_0000187做为参数创建Request,使用URL调用服务
var request = new DetectByImageUrlRequest("detect", "_0000187")
{
Url="https://yyyy"
};

// 使用_0000187做为参数创建Request,使用本地文件调用服务
var request = new DetectByImageFileRequest("detect", "_0000187")
{
ImageFile=new System.IO.FileInfo("zzzz.jpg")
};
# 使用URL作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-d "url=https://yyyy" \
https://api.productai.cn/detect/_0000187

# 或者使用本地文件作为参数调用API
curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: ACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000187

中/英文标签列表

中文English
malefemale成人adult儿童kid