本文作为Jerry最近正在做的一个项目的工作思路的梳理。

我们假设这样一个服务场景,技师上门维修某设备,发现设备上某零件损坏了,假设这位技师由于种种原因,没能根据自己的经验识别出这个零件的型号。此时技师掏出自己的手机,给零件拍摄一张图片,这张图片通过手机上安装的SAP某智能解决方案,传送到SAP Leonardo平台,通过那里的人工智能服务,自动识别出这张图片上面零件的准确型号,返回给技师。

SAP Leonardo上的人工智能服务,在接收到技师上传的图片后,通过某种算法将该图片的特征向量提取出来,然后再通过平台上基于大量数据集训练好的模型,识别出准确型号。因此,图片特征向量的提取,成为了这个智能解决方案的首要步骤。

什么是图片的特征向量?特征向量的提取,从数学上说,就是通过某种算法,把输入图片的二进制流,转换成一个向量(一维矩阵)的过程。

以下面这张图里的梯形和圆形为例,我们把图形均匀地分成9个区域,在图形中心观察每个区域内图形单元的梯度方向,就可以实现降维,把二维图像以一个一维矩阵来表示。

当然实际的图形轮廓识别和降维处理采用的算法比这个例子复杂得多,Jerry也不懂。幸运的是,对SAP partners来说,不需要了解这里面的数学知识和技术知识,简单地把SAP Leonardo上的人工智能服务当成一个黑盒子,通过Restful API的方式,把要提取特征向量的图片“喂”给人工智能服务,就能得到特征向量输出。

通过这个url进入SAP Leonardo图片特征向量提取服务的测试控制台和帮助文档:

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

使用非常简单,直接在测试控制台里从本地选择一张图片,点击执行按钮:

得到了输出的特征向量:

有了特征向量后,我们再回到文章开头提到的场景。

假设我们想根据技师上传的图片分辨出图片里的零件型号,一种做法当然是采取Jerry之前一篇文章 如何对SAP Leonardo上的机器学习模型进行重新训练 介绍的方法,提前准备大量该型号零件的图片,然后使用这些图片对Product Image Classification模型进行重新训练。训练结束之后,该API即可识别出对于给定一张图片,代表的究竟是不是之前训练过的某型号的零件。这是第一种实现思路。

既然我们如今已经拿到了待识别图片的特征向量,那么可以尝试第二种思路,即利用Leonardo上的另一个和图片处理相关的人工智能服务:图片相似度评分https://api.sap.com/api/similarity_scoring_api/overview

这个Restful API的输入需要两个压缩包。第一个压缩包存放的是一个存放了事先提取好的技师上传的待匹配文件的特征向量,第二个压缩包里存放的是型号为A,B,C...等零件图片的特征向量。

如上图所示,为简单起见,第二个压缩包我只存放了两个文件,分别存放的是型号A和型号B的特征向量。

调用API,传入这两个压缩包:

得到的结果表明,技师上传的图片和型号A的相似系数几乎接近1,那么显然,该图片代表型号A。

当然,除了直接上传包含了图片特征向量的压缩文件之外,将这些文件包含的特征向量内容以JSON字符串的方式作为输入调用API也是可行的,JSON字符串的格式在SAP官网里有详细说明,这里不再赘述。

希望本文介绍的这些API对于大家实际工作中如何利用SAP Leonardo上的机器学习服务有所启发,感谢阅读。

更多阅读

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP Leonardo图片处理相关的机器学习服务在SAP智能服务场景中的应用的更多相关文章

  1. 机器学习 | 详解GBDT在分类场景中的应用原理与公式推导

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第31篇文章,我们一起继续来聊聊GBDT模型. 在上一篇文章当中,我们学习了GBDT这个模型在回归问题当中的原理.GBD ...

  2. 使用SAP Leonardo上的机器学习服务提取图片的特征向量

    要想提取图片的特征向量,首先得知道特征向量是什么. 我们假设这样一个服务场景,技师上门维修某设备,发现上面某零件损坏了,假设这位技师由于种种原因,没能根据自己的经验识别出这个零件的型号.此时技师掏出自 ...

  3. 使用Java程序消费SAP Leonardo的机器学习API

    以sap leonardo作为关键字在微信上搜索,能搜到不少文章.但是我浏览了一下,好像没有发现有从具体编程角度上来介绍的.所以我就贡献一篇. 需求 开发一个Java程序,用户可以指定一张图片,该Ja ...

  4. 读懂SAP Leonardo物联网平台

    读懂SAP Leonardo物联网平台 https://blog.csdn.net/weixin_42137700/article/details/81903290 本文比较系统.全面地介绍了SAP ...

  5. 如何对SAP Leonardo上的机器学习模型进行重新训练

    Jerry之前的两篇文章介绍了如何通过Restful API的方式,消费SAP Leonardo上预先训练好的机器学习模型: 如何在Web应用里消费SAP Leonardo的机器学习API 部署在SA ...

  6. 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API

    Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...

  7. 如何在Web应用里消费SAP Leonardo的机器学习API

    去年5月的时候,Jerry曾经写了一篇文章:使用Java程序消费SAP Leonardo的机器学习API,而最近另外做的一个项目,需要在Web应用里做同样的事情. 因为有了前一篇文章的铺垫,避免了很多 ...

  8. [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!

    前言: 最近需要做个用户上传图片,服务端校验图片问题的需求.需要使用小程序消息推送,异步接受腾讯的图片验证回调.实在太多坑了. 相信10分钟看完本文的朋友,可以非常顺利避坑. 前期准备: 首先需要一个 ...

  9. 渐进式jpeg(progressive jpeg)图片及其相关 --图片的两种加载方式

    渐进式jpeg(progressive jpeg)图片及其相关   一.基本JPEG(baseline jpeg)和渐进JPEG 网络上那些色色的照片都是.jpg格式的("色色"指 ...

随机推荐

  1. 通过直方图进行PCA准备

    import graphviz import mglearn from mpl_toolkits.mplot3d import Axes3D from sklearn.datasets import ...

  2. 果卿居士-《四种清净明诲》之不淫欲 -------------------------------------------------------------------------------- (转自学佛网:http://www.xuefo.net/nr/article19/186541.html)

    “如不断淫”, “阿难,如不断淫,修禅定者,如蒸砂石.欲其成饭.经百千劫.只名热砂.何以故.此非饭本.砂石成故.” 阿难啊,如果这个修行的人,最后不能断除淫欲,包括夫妻之间的淫欲,如果你不能断除这个欲 ...

  3. 《第一本Docker书》学习笔记——第4章 使用Docker镜像和仓库

    4.2 列出镜像 使用docker images命令: sudo docker images 本地镜像都保存在Docker宿主机的/var/lib/docker目录下. 也可以在/var/lib/do ...

  4. Git常用命令及方法

    https://blog.csdn.net/web_csdn_share/article/details/79243308 Git常用命令及方法大全 下面是我整理的常用 Git 命令清单.几个专用名词 ...

  5. 手把手教你如何安装Tensorflow(Windows和Linux两种版本)

    tensorflow 不支持Python2.7,最好选择下载Python3.5 现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通 ...

  6. 构建C 程序

    1, 单个文件的编排顺序 #include指令 #define指令 类型定义 外部变量的声明 除main函数之外的函数的原型 main函数的定义 其他函数的定义

  7. webpack to package typescript & scss

    Demo2操作手册 本Demo演示如何配合各种loader进行稍复杂的使用 准备环境 初始化环境, cd到demo目录之后, 执行如下命令: npm init -y npm install webpa ...

  8. 使用java类加载器,报异常java.nio.file.InvalidPathException

    String path = Label.class.getClassLoader().getResource("").getPath(); /F:/idea-Java/ImageD ...

  9. [转帖]谷歌宣称首次实现量子优越性,IBM“不服”,中国同行咋看?

    谷歌宣称首次实现量子优越性,IBM“不服”,中国同行咋看? 投递人 itwriter 发布于 2019-10-24 15:46 评论(7) 有306人阅读 原文链接 [收藏] « » https:// ...

  10. ABP中的本地化处理(下)

    在上篇文章中我们的重点是讲述怎样通过在Domain层通过PreInitialize()配置ILocalizationConfiguration中的Sources(IList<ILocalizat ...