利用SAP Leonardo做图片近似查找 ——Python实现

写在前面:本文内容来源于工作中实际的业务需要,但是刨除业务上下文以后,我觉得完全可以将实现的方法和技术提取出来,遂有了这篇博客,欢迎一起讨论。在本文中,你将会看到如何用Python调用SAP Leonardo API(稍微有一些坑,但是我已经将坑踩完了), 如何比较图片相似度, 如何将整个流程工程化,等等。本文略长,干货很多,希望你有耐心看到最后,也希望你会有很大的收获。说了那么多,抽象出的技术和...
摘要由CSDN通过智能技术生成

写在前面:

本文内容来源于工作中实际的业务需要,但是刨除业务上下文以后,我觉得完全可以将实现的方法和技术提取出来,遂有了这篇博客,欢迎一起讨论。

在本文中,你将会看到如何用Python调用SAP Leonardo API(稍微有一些坑,但是我已经将坑踩完了), 如何比较图片相似度, 如何将整个流程工程化,等等。本文略长,干货很多,希望你有耐心看到最后,也希望你会有很大的收获。

说了那么多,抽象出的技术和要解决问题到底是什么呢?

一句话概括:输入一张图片,去已有的图片库中搜索最近似的一张图片。


文章内容:

  1. 利用Leonardo 图片特征提取API将一张图片转化为特征向量。
  2. 批量将图片库中所有图片都转换成特征向量。
  3. 寻找最相似的图片。
  4. 实战测试。


Github地址:

https://github.com/weadye/PictureSimilarityCompute


平台&工具:

SAP Leonardo : SAP推出的人工智能/机器学习平台,本文中我将使用Leonardo提供的图片特征提取API,更多更具体的内容可以点击链接查看。

Python3 : 用Python尤其是numpy这个库来做图片的相似度计算。


大致思路:

将图片库中的所有图片向量化并持久化。在输入一张新图片的时候,将其向量化,并找到图片库中与之距离最近的向量,对应的图片也即是图库中和输入图片最相似的图片。


实现:

思路确定以后,就可以一步一步开始实现啦。


1. 利用Leonardo 图片特征提取API将一张图片转化为特征向量:

思路很简单,以图片库中的所有图片逐一调用Leonardo API来向量化,让我们先研究下Leonardo API如何调用。

这是Leonardo图片特征抽取的API网址:

https://api.sap.com/api/img_feature_extraction_api/resource


点击‘Show API Key’,如果你没有登录,会要求你登录,在登录之后再次点击‘Show API Key’,会弹出一个对话框,里面就是你的API Key,在之后发送request的时候会用到,如果你没有Key, SAP Leonardo会拒绝提供服务。


点击‘Code Snippet’可以看到示例代码,在弹出来的对话框里,我们可以看到Leonardo提供了5种语言的API调用示例。</

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值