SAP Leonardo图片处理相关的机器学习服务在SAP智能服务场景中的应用
本文作为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智能服务场景中的应用的更多相关文章
- 机器学习 | 详解GBDT在分类场景中的应用原理与公式推导
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第31篇文章,我们一起继续来聊聊GBDT模型. 在上一篇文章当中,我们学习了GBDT这个模型在回归问题当中的原理.GBD ...
- 使用SAP Leonardo上的机器学习服务提取图片的特征向量
要想提取图片的特征向量,首先得知道特征向量是什么. 我们假设这样一个服务场景,技师上门维修某设备,发现上面某零件损坏了,假设这位技师由于种种原因,没能根据自己的经验识别出这个零件的型号.此时技师掏出自 ...
- 使用Java程序消费SAP Leonardo的机器学习API
以sap leonardo作为关键字在微信上搜索,能搜到不少文章.但是我浏览了一下,好像没有发现有从具体编程角度上来介绍的.所以我就贡献一篇. 需求 开发一个Java程序,用户可以指定一张图片,该Ja ...
- 读懂SAP Leonardo物联网平台
读懂SAP Leonardo物联网平台 https://blog.csdn.net/weixin_42137700/article/details/81903290 本文比较系统.全面地介绍了SAP ...
- 如何对SAP Leonardo上的机器学习模型进行重新训练
Jerry之前的两篇文章介绍了如何通过Restful API的方式,消费SAP Leonardo上预先训练好的机器学习模型: 如何在Web应用里消费SAP Leonardo的机器学习API 部署在SA ...
- 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API
Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...
- 如何在Web应用里消费SAP Leonardo的机器学习API
去年5月的时候,Jerry曾经写了一篇文章:使用Java程序消费SAP Leonardo的机器学习API,而最近另外做的一个项目,需要在Web应用里做同样的事情. 因为有了前一篇文章的铺垫,避免了很多 ...
- [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!
前言: 最近需要做个用户上传图片,服务端校验图片问题的需求.需要使用小程序消息推送,异步接受腾讯的图片验证回调.实在太多坑了. 相信10分钟看完本文的朋友,可以非常顺利避坑. 前期准备: 首先需要一个 ...
- 渐进式jpeg(progressive jpeg)图片及其相关 --图片的两种加载方式
渐进式jpeg(progressive jpeg)图片及其相关 一.基本JPEG(baseline jpeg)和渐进JPEG 网络上那些色色的照片都是.jpg格式的("色色"指 ...
随机推荐
- 我的求职之路:9个offer,12家公司,35场面试,最终谷歌【转载】
作者:Luc(写于2012年) 一.简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百 ...
- Qt获取时间戳作为图片名
Qt获取时间戳作为图片名 //保存图片 void SaveRealsenseImg() { QString picIndexName = dataSavePath; picIndexName.appe ...
- C++类成员存储大小
1.对象分布图 2.解析 每个类的大小只有其成员变量大小,其中包括:类成员属性,虚函数指针: 而其他没有如:静态变量[静态区],普通函数.静态函数[代码区] 3.总结 类对象的sizeof只包含成员变 ...
- Django中的QuerySet查询优化之实例篇
转载的,做个笔记,原文链接 在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子 ...
- Flink FileSink 自定义输出路径——StreamingFileSink、BucketingSink 和 StreamingFileSink简单比较
接上篇:Flink FileSink 自定义输出路径——BucketingSink 上篇使用BucketingSink 实现了自定义输出路径,现在来看看 StreamingFileSink( 据说是S ...
- 如何让winrar5压缩的文件能用低版本winrar打开
https://jingyan.baidu.com/article/39810a2348ab24b636fda681.html 在压缩文件格式选项处点选[RAR4]选项,即之前版本的winrar支持的 ...
- DBGrid 单击弹出PickList
type myGrid = class(TCustomGrid) end; type myInplaceEditList = class(TInplaceEditList) end; ...
- 【Leetcode_easy】1025. Divisor Game
problem 1025. Divisor Game 参考 1. Leetcode_easy_1025. Divisor Game; 完
- Eureka&Zookeeper&Consul 原理与对比
CAP 定理CAP定理:CAP定理又称CAP原则,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance). ...
- github账户初始化设置
1.首先在github官网https://github.com/上注册自己的账户: 2.去git官网https://git-scm.com/downloads,根据电脑系统下载合适的版本并安装. 3. ...