当前位置:主页 > 大数据 > 正文

虚拟主机_字画价格网站建设方案_排行榜

时间:2021-05-04 02:09 来源:埃里克云 编辑:埃里克云

核心提示

几个月前,我在博客上发布了一个我创建的人脸识别应用程序。这不是针对客户或业务用例,而是为了帮助自己记住我遇到的人的名字。您可以在此处找到所有详细信息:https://blogs...

几个月前,我在博客上发布了一个我创建的人脸识别应用程序。这不是针对客户或业务用例,而是为了帮助自己记住我遇到的人的名字。您可以在此处找到所有详细信息:https://blogs.sap.com/2019/05/28/face-recognition-app/

现在,在这篇文章中,我想分享这个应用背后的技术细节。该应用程序是在SAP云平台Cloud Foundry之上构建和运行的,使用了该平台的多种服务。此模板已为我生成了一个MTA项目,其中包含已为数据库和服务预配置的模块。在这两个模块中,我都使用CD来定义需要存储的数据。

除了存储数据,我还想存储每个人的图像。我可以在数据库中以base64字符串的形式执行此操作,但我更喜欢一个真正的文档存储位置。因此,我最终在NEO上使用了SCP文档服务。

为了检测和识别人脸,我还需要在UI模块和服务模块中进行机器学习。在创建一个新的人物之前,我需要在UI中使用它来检查图片是否有一张脸。这也可以在服务模块中完成,但我想在sperate请求中检查这一点,以获得更好的用户体验。另一方面,人脸识别需要查看完整的数据库。如果在UI中执行此操作,可能会发生这样的情况:由于延迟加载,并非所有人都在应用程序中。因此,我需要在服务模块中实现这一点。

将这一切结合在一起形成了以下体系结构:

我的第一个想法是解释我在这个应用程序开发过程中遇到的所有技术细节和挑战。只是这太多了,没人会看。相反,我决定为每个专用部分创建几个技术操作博客文章。我已经创建了一个较小版本的人脸识别应用程序来创建如何写博客文章。这个应用程序并没有所有相同的功能,但是遵循所有的操作方法博客帖子将带您进入人脸识别应用程序。

在开始之前,我需要了解如何使用SAP Leonardo机器学习进行人脸识别。在研究了所有sapmlapi之后,我提出了以下解决方案:

https://blogs.sap.com/2019/05/14/how-to-do-face-recognition-with-sap-leonardo-machine-learning-service/

第二,我需要一个地方来储存面部图像。不是为了人脸识别,只是想知道那个人的名字,以防我记不起名字了…我可以将它作为base64字符串存储在数据库中,但这不是最好的方法,而且字符串字段在CAP中的长度有限。搜索另一个解决方案使我想到了SCP文档服务。在下面的博客里,我解释了配置SCP文档服务的所有步骤以及如何在UI5应用程序中使用它:

https://blogs.sap.com/2019/08/05/how-to-use-the-document-repository-service-in-your-ui5-app/

我更进一步,创建了自己的应用程序来查看SCP文档中的文档服务:

https://blogs.sap.com/2019/07/29/document-repository-viewer/

(如果你问我的话,这是SCP文档服务缺少的特性…

接下来,我创建了用于存储这些面的数据库层,并将其作为odataapi公开。在这个API Java服务中,我使用ML API搜索数据库中的所有人脸。

数据库模块

在数据库中,我在CDS文件中定义了一个实体:

这个实体将存储所有具有:

唯一ID的人脸名字姓氏向量这将保留机器学习服务在人物图像中找到的人脸向量。在UI中,我将使用mlapi找到人脸并返回它的向量。然后,UI将结果连同所有其他信息一起发送到服务。这意味着我将为每个人保留一个向量。当我想寻找一个人,我会比较所有这些向量与我在搜索中使用的图像向量。图像这将保留图像在文档服务中的位置

创建或更改db模块后,再次执行生成CD非常重要。

这将更新csn.json文件服务层文件:

此文件将服务的实体和字段映射到db实体和字段。这需要保持同步。

服务模块

在服务模块中,我开始将数据库模块中的"Faces"实体作为实体Face公开。

我在Face实体旁边添加了两个操作。这些操作是两个不适合CRUDQ模型的操作:

findFaceByVector此操作将使用机器学习将传入向量与数据库中的所有人脸向量进行比较,并返回最佳匹配。findFaceByImage公司这个函数与另一个函数完全相同,但它首先使用机器学习将传入的base64字符串图像转换为向量。

最后,我只使用了findFaceByImage操作。它只是为了测试的目的,所以我可以测试转换是否失败或者其他什么东西。两者几乎相同,但操作使用httppost方法而不是GET。我正在将一个图像作为base64字符串发送到我的服务中,这是对GET方法参数的渴望https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/7347f9d7aff44a2eac950b7be8fe395d.html

我创建了一个操作博客,从开始到结束都有更多的技术步骤api创建了一个集成了ML服务的服务:

https://blogs.sap.com/2019/08/19/combine-cap-m-with-machine-learning-sdk-api-part/

  • 企业网站_新白娘子传奇百度云_折扣 企业网站_新白娘子传奇百度云_折扣

    你好,社区, BSI TaxFactory和TaxFactory SaaS发布版本11.0可用。 在我们的合作伙伴BSI将其产品/产品BSI TaxFactory 10.0的维护延长至2021年4月30日之后。SAP还决定在2021年4月30日之前为BSI TaxFactor...

  • 消息队列_华云服务器_限量秒杀 消息队列_华云服务器_限量秒杀

    啊。我已经很久没在这里写博客了-对不起? 但这是一个很好的机会让我重新上马,这是我与SAP TechEd Barcelona的SAP社区负责人Craig Cmehil的"无采访视图"(无采访视图就像一次真正的采访...

  • <strong>域名备案_查看数据库密码_怎么样</strong> 域名备案_查看数据库密码_怎么样

    在本文中,我们将看到如何在sapcloudfoundry环境中为Spring启动应用程序配置OAuth2授权。但是在这样做之前,让我们先熟悉一下这个实现中涉及的几个重要概念。 简介 OAuth2–是一个授权框...

  • <strong>MySQL数据库_网站cdn_多少钱</strong> MySQL数据库_网站cdn_多少钱

    您已经听说了SAP Graph在SAP TechEd Las Vegas 2019发布的消息。微软Graph也非常棒,非常相似(哲学上+技术上),它不仅非常有用,而且我会给你一个微软Graph的工作示例/教程,让你了解它,...

  • 京东云_网站建设中页面_学生机 京东云_网站建设中页面_学生机

    在可预见的未来,向S/4HANA过渡的公司特定规划已将每个SAP客户列入其议程。S/4HANA实施项目越来越近了,因此也有一个问题:在技术和开发层面必须做哪些准备?正是这个主题是"S/4H...

  • <strong>天翼云_网站服务器失去响应怎么回事_代</strong> 天翼云_网站服务器失去响应怎么回事_代

    大家好, 欢迎来到一个关于用户浏览器没有启用JavaScript的用户体验主题的简短博客。 考虑到1%的设计理念,如果我们考虑那些禁用或不可用JavaScript的浏览器的用户(出于"天知道为什...

  • <strong>对象存储_网站建设外贸_速度快</strong> 对象存储_网站建设外贸_速度快

    在本文中,我将展示如何通过负载平衡器为我们的生产数据库构建一个具有高可用性的HANA驾驶舱。我建议您开始阅读SAP指南HowTo:High Availability for SAP HANA cockpit using SAP HANA system replicat...

  • <strong>中间件_重庆网站建设策划_促销</strong> 中间件_重庆网站建设策划_促销

    SAP Customer Data Cloud在9月份推出了许多功能。如果你错过了这些,下面是我们9月份发布的几个亮点。 与苹果公司登录:苹果公司已经发布了使用苹果ID登录应用程序的选项。他们甚至规...

  • 消息队列_马云御任阿里巴巴_年度促销 消息队列_马云御任阿里巴巴_年度促销

    本周在拉斯维加斯TechEd看到的创新给我留下了非常深刻的印象。今年似乎出现了比过去更多的业务倾斜。主要的宣布是我们可以通过业务技术平台扩展SAP应用程序 HANA云服务(HCS)是业...