sdk 参考 · 2020. 7. 7. · 步骤1 修改方法参数,如图1...
TRANSCRIPT
图像搜索
SDK 参考
文档版本 04
发布日期 2020-02-10
华为技术有限公司
版权所有 © 华为技术有限公司 2020。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明
和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129
网址: https://www.huawei.com
客户服务邮箱: [email protected]
客户服务电话: 4008302118
文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 i
目 录
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
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
接口 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
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
3 获取图像搜索 SDK
下载图像搜索SDK软件包和文档,链接如下:图像搜索SDK。
获取图像搜索Endpoint,链接如下:地区和终端节点。
图像搜索SDK 参考 3 获取图像搜索 SDK
文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 4
4 准备环境
在使用图像搜索SDK时,需要准备的环境请参见表4-1。
表 4-1 开发环境
准备项 说明
操作系统 Windows系统,推荐Windows 7及以上版本。
安装JDK Java开发环境的基本配置。版本要求:强烈推荐使用1.8版本。
图像搜索SDK 参考 4 准备环境
文档版本 04 (2020-02-10) 版权所有 © 华为技术有限公司 5
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
步骤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
图 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
图 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
说明
● 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
步骤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
图 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
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