sdk 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1...

16
图像搜索 SDK 参考 文档版本 04 发布日期 2020-02-10 华为技术有限公司

Upload: others

Post on 13-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

图像搜索

SDK 参考

文档版本 04

发布日期 2020-02-10

华为技术有限公司

Page 2: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

版权所有 © 华为技术有限公司 2020。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址: https://www.huawei.com

客户服务邮箱: [email protected]

客户服务电话: 4008302118

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 i

Page 3: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

目 录

1 图像搜索 SDK 简介.....................................................................................................................1

2 获取认证信息.............................................................................................................................. 3

3 获取图像搜索 SDK......................................................................................................................4

4 准备环境......................................................................................................................................5

5 使用 SDK(Java)..................................................................................................................... 65.1 JAVA 开发环境配置.................................................................................................................................................................. 65.2 IntelliJ IDEA 安装与 SDK 工程导入......................................................................................................................................65.3 配置 JAVA SDK 的 AK/SK....................................................................................................................................................... 75.4 创建实例示例............................................................................................................................................................................. 85.5 添加图片示例............................................................................................................................................................................. 85.6 搜索图片示例............................................................................................................................................................................. 95.7 查询图片示例...........................................................................................................................................................................105.8 删除图片示例...........................................................................................................................................................................105.9 修改图片信息示例.................................................................................................................................................................. 115.10 删除实例示例........................................................................................................................................................................ 115.11 查询用户实例信息示例....................................................................................................................................................... 125.12 Token 认证方式使用 SDK.................................................................................................................................................. 12

A 修订记录................................................................................................................................... 13

图像搜索SDK 参考 目 录

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 ii

Page 4: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

1 图像搜索 SDK 简介

图像搜索概述

图像搜索(Image Search)基于深度学习与图像识别技术,结合不同应用业务和行业场景,利用特征向量化与搜索能力,帮助您从指定图库中搜索相同或相似的图片。

图像搜索服务以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取图像搜索结果,帮助用户在图像库中进行相同或相似图像搜索。

SDK 概述

图像搜索软件开发工具包(Image Search Software Development Kit)是对图像搜索提供的REST API进行的封装,以简化用户的开发工作。用户直接调用图像搜索SDK提供的接口函数即可实现使用图像搜索业务能力的目的。

说明

图像搜索服务提供的SDK暂不支持访问重试,如果访问异常,SDK会直接返回本次的请求结果,所以需要客户端自行建立重试机制。

接口与 API 对应关系

图像搜索接口与API对应关系请参见表1-1。

表 1-1 接口与 API 对应关系

接口 API

创建实例 POST /v1/{projectId}/service

添加图片 POST /v1/{projectId}/{instanceName}/image

搜索图片 POST /v1/{projectId}/{instanceName}/image/search

查询图片 POST /v1/{projectId}/{instanceName}/image/check

图像搜索SDK 参考 1 图像搜索 SDK 简介

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 1

Page 5: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

接口 API

删除图片 DELETE /v1/{projectId}/{instanceName}/image

修改图片信息 PUT /v1/{projectId}/{instanceName}/image

删除实例 DELETE /v1/{projectId}/service/{instanceName}

查询用户实例信息 GET /v1/{projectId}/service/{instanceName}

图像搜索SDK 参考 1 图像搜索 SDK 简介

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 2

Page 6: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

2 获取认证信息

使用服务API需要进行认证,有Token和AK/SK两种认证方式可选,推荐使用AK/SK方式。

步骤1 注册并登录华为云管理控制台。

步骤2 鼠标移动至用户名处,在下拉列表中单击“我的凭证”。

步骤3 选择“访问密钥”页签,点击“新增访问秘钥”按钮。

步骤4 通过邮箱或者手机进行验证,输入对应的验证码。

步骤5 单击“确定”,下载认证账号的AK/SK,AK/SK数据会以本地文件的形式保存,请妥善保管。

步骤6 修改ImageSearchDemo.java文件,将信息替换成获取到的AK/SK,如图1 修改AK/SK密钥所示:

图 2-1 修改 AK/SK 密钥

----结束

图像搜索SDK 参考 2 获取认证信息

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 3

Page 7: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

3 获取图像搜索 SDK

下载图像搜索SDK软件包和文档,链接如下:图像搜索SDK。

获取图像搜索Endpoint,链接如下:地区和终端节点。

图像搜索SDK 参考 3 获取图像搜索 SDK

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 4

Page 8: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

4 准备环境

在使用图像搜索SDK时,需要准备的环境请参见表4-1。

表 4-1 开发环境

准备项 说明

操作系统 Windows系统,推荐Windows 7及以上版本。

安装JDK Java开发环境的基本配置。版本要求:强烈推荐使用1.8版本。

图像搜索SDK 参考 4 准备环境

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 5

Page 9: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

5 使用 SDK(Java)

5.1 JAVA 开发环境配置SDK包要求JDK版本必须高于JDK8,如下操作以win7环境配置JDK8 64位为例,若已经下载JDK并配置好环境请忽略本章节。

步骤1 下载JDK文件。

步骤2 下载完成后按照提示安装,位置自选,比如安装到本地C:\Program Files\Java\jdk1.8.0_131。

步骤3 配置Java环境变量:右键“计算机>属性>高级系统设置>环境变量”,进行如下操作:

● 新建系统变量JAVA_HOME,变量值为实际JDK安装位置。

● 在Path中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (注意用英文分号分隔)。

● 新建系统变量CLASSPATH,变量值为%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 。

步骤4 打开命令行窗口,输入“java -version”,显示如图1 Java版本信息表示配置成功。

图 5-1 Java 版本信息

----结束

5.2 IntelliJ IDEA 安装与 SDK 工程导入以IntelliJ IDEA工具为例给出SDK工程导入步骤,如果使用其他IDE工具,请参照处理:

步骤1 下载对应平台的IntelliJ IDEA版本。

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 6

Page 10: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

步骤2 双击exe文件安装IntelliJ IDEA并打开。

步骤3 单击“File > New > Project from existing sources”,选择SDK所在目录下的pom.xml文件,连续单击Next ,然后单击 Finish创建好工程。

步骤4 确保“File > Project structure > Project” 中SDK版本为Jdk1.8。工程目录,如图1 工程目录所示:

图 5-2 工程目录

----结束

5.3 配置 JAVA SDK 的 AK/SK使用AK/SK认证方法,只需要填写如图1 使用方法红框中的4个变量,通过如下方法实例化ImageSearchService对象,调用其方法即可实现接口功能调用。

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 7

Page 11: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

图 5-3 使用方法

5.4 创建实例示例调用imageSearchService.requestCreateService方法调用创建实例接口。

对应URI: POST /v1/{projectId}/service

步骤1 根据业务需要,修改相关配置项,如图1 创建实例所示:

图 5-4 创建实例

步骤2 运行ImageSearchDemo.java文件,控制台输出图2 创建实例成功所示内容则代码执行成功。

图 5-5 创建实例成功

----结束

5.5 添加图片示例添加图片途径:

1. 调用imageSearchService.requestCreateIndexBase64方法添加图片。

2. 调用imageSearchService.requestCreateIndexUrl方法添加OBS的图像。

对应URI:POST /v1/{projectId}/{instanceName}/image

步骤1 修改方法参数,如图1 添加图片所示.

imageSearchService.requestCreateIndexBase64中path填写文件所在路径。imageSearchService.requestCreateIndexUrl中path填写图像URL(当前仅支持OBS路径)。

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 8

Page 12: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

图 5-6 添加图片

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 添加图片成功所示内容则代码执行成功。

图 5-7 添加图片成功

----结束

5.6 搜索图片示例搜索图片途径:

1. 调用imageSearchService.requestSearchSimBase64方法通过图片搜索或图片和自定义标签组合方式搜索。

2. 调用imageSearchService.requestSearchSimUrl方法通过图像URL (当前仅支持OBS图像的URL)或图像url和自定义标签组合方式搜索相似图片。

3. 通过imageSearchService.requestSearchSimTags方法通过tag搜索相似图片。

对应URI:POST /v1/{projectId}/{instanceName}/image/search。

步骤1 修改方法参数,如图1 搜索图片所示。

imageSearchService.requestSearchSimBase64中file填写本地file文件路径。

imageSearchService.requestSearchSimUrl中path填写图像的URL(当前仅支持OBS图像的URL)。

图 5-8 搜索图片

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 9

Page 13: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

说明

● imageSearchService.requestSearchSimBase64中file填写本地file文件路径和自定义标签tags(可选参数)。

● imageSearchService.requestSearchSimUrl中path填写图像的URL(当前仅支持OBS图像的URL)和自定义标签tags(可选参数)。

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 搜索图片完成所示内容则代码执行成功。

图 5-9 搜索图片完成

----结束

5.7 查询图片示例调用imageSearchService.requestImageCheck方法查询图片是否存在。

对应URI:POST /v1/{projectId}/{instanceName}/image/check。

步骤1 修改方法参数,如图1 查询图片所示,path填写需要查询的图片URL。

图 5-10 查询图片

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 查询图片完成所示内容则代码执行成功。

图 5-11 查询图片完成

----结束

5.8 删除图片示例调用imageSearchService.requestDeleteIndex方法删除图片。

对应URI:DELETE /v1/{projectId}/{instanceName}/image。

步骤1 修改方法参数,如图1 删除图片所示,path填写需要删除的图像URL。

图 5-12 删除图片

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 10

Page 14: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 删除图片成功所示内容则代码执行成功。

图 5-13 删除图片成功

----结束

5.9 修改图片信息示例调用imageSearchService.requestUpdateTags方法修改图片tag信息。

对应URI:PUT /v1/{projectId}/{instanceName}/image。

步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。

图 5-14 修改图片信息

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 修改图片信息成功所示内容则代码执行成功。

图 5-15 修改图片信息成功

----结束

5.10 删除实例示例调用imageSearchService.requestDeleteService方法删除实例。

对应URI:DELETE /v1/{projectId}/service/{instanceName}。

步骤1 修改方法参数,如图1 删除实例所示:

图 5-16 删除实例

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 删除实例成功所示内容则代码执行成功。

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 11

Page 15: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

图 5-17 删除实例成功

----结束

5.11 查询用户实例信息示例调用imageSearchService.requestGetServiceInfo方法查询用户实例信息。

对应URI:GET /v1/{projectId}/service/{instanceName}。

步骤1 修改方法参数,如图1 查询用户实例信息所示:

图 5-18 查询用户实例信息

步骤2 运行ImageSearchDemo.java文件,控制台输出如图2 查询用户实例信息完成所示内容则代码执行成功。

图 5-19 查询用户实例信息完成

----结束

5.12 Token 认证方式使用 SDK通过Token方式使用SDK,只需要在ImageSearchDemo.java中修改如图1 修改变量红框所示变量:

图 5-20 修改变量

使用如图2 实例化方法实例化ImageSearchService对象,调用其方法即可实现接口功能调用,接口调用与AK/SK调用方式相同。

图 5-21 实例化

图像搜索SDK 参考 5 使用 SDK(Java)

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 12

Page 16: SDK 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1 修改图片信息所示,createIndexTags为需要修改的tag集合。 图5-14 修改图片信息 步骤2 运行ImageSearchDemo.java文件,控制台输出如图2

A 修订记录

发布日期 修订记录

2019-06-25 第五次正式发布。

修改

● 图像搜索SDK简介章节。

● 获取认证信息章节。

2018-12-11 第四次正式发布。

2018-11-13 第三次正式发布。

新增

● 准备环境章节。

2018-10-18 第二次正式发布。

修改

● 获取SDK章节,增加SDK下载链接。

● Token认证方式使用SDK章节。

2018-10-16 第一次正式发布。

图像搜索SDK 参考 A 修订记录

文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 13