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的集合,详细细节参看图像搜索 loc使用

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

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

Logo图标检测 v2.0

找出图中商品上的品牌logo,返回所有品牌logo在图中位置及品牌标签。

Python

PHP

Java

C#

cURL

# _0000188为Logo图标检测服务ID
api = cli.get_api('detect', '_0000188')
// _0000188为Logo图标检测服务ID,使用URL调用服务
$result = $product_ai->detectImage('detect', '_0000188', 'https://yyyy');

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

// _0000188为Logo图标检测服务ID,使用本地文件调用服务
DetectByImageFileRequest request = new DetectByImageFileRequest("detect", "_0000188", new File("zzzz.jpg"), "0-0-1-1");
// _0000188为Logo图标检测服务ID,使用URL调用服务
var request = new DetectByImageUrlRequest('detect', "_0000188")
{
Url = "https://yyyy",
};

// _0000188为Logo图标检测服务ID,使用本地文件调用服务
var request = new DetectByImageFileRequest('detect', "_0000188")
{
ImageFile = new System.IO.FileInfo(@"zzzz.jpg"),
};

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/_0000188

curl -X POST \
-H 'x-ca-version: 1.0' \
-H 'x-ca-accesskeyid: eACCESS_KEY_ID' \
-F "search=@zzzz.jpg" \
https://api.productai.cn/detect/_0000188

中/英文标签列表

点击此处下载标签列表。