使用可视化搜索引擎将云中存储的数据提供给移动应用程序

可视化搜索引擎已经创建了一个全新的移动应用程序范例。但是,为了有效地使用这项技术,必须创建并维护一个大型的、可公共访问的数据集。在部署带有可视化搜索引擎的应用程序时,基于云的存储是一个良好的可用解决方案。本文将了解一个组织如何使用可视化搜索引擎和基于云的存储来自动化业务流程。

Steven C. Markey, 负责人, nControl

/developerworks/i/p-smarkey.jpgSteve Markey 是一名顾问、副教授以及 Cloud Security Alliance (CSA) 的 Delaware Valley (Greater Philadelphia) 分会的现任主席。他拥有多个证书和学位,在技术领域拥有超过 11 年的工作经验。Steve 经常发表有关信息安全、信息隐私、云计算、项目管理、电子发现和信息治理的演讲。



2013 年 5 月 23 日

使用可视化搜索引擎的移动应用程序变得越来越重要。随着技术的日趋成熟,国防、保险、医疗和时尚领域内的用例也越来越多。在拍照和使用某个算法识别图像中的对象的能力方面,需要使用一个用于算法的数据存储来执行比较,而且这些数据存储会逐渐转移到云中。本文将了解可用的可视化搜索引擎算法,了解它们如何使用数据存储,如何将您的应用程序连接到这些数据存储,以及选择特定供应商解决方案的利弊。

什么是可视化搜索引擎?

虽然可视化搜索引擎并不局限于移动设备(智能手机或平板电脑),但它们是最普遍的终端或用户接口,因为现在的移动设备都有内置相机。有了这些相机,移动应用程序可以与相机拍摄的图像进行异步交互。

通过使用可视化搜索引擎,用户可以拍摄二维图片并使用 “搜索” 算法确定图像是否包含可识别的对象。这些算法通过称为应用程序编程接口 (API) 的软件连接器部署到移动应用程序中。来自 IQ Engines 这类可视化搜索引擎供应商的 API 使得程序员使用可视化搜索引擎技术创建他们自己的应用程序。

一些可视化搜索引擎供应商有一些可供使用的预构建移动应用程序,如 Google Goggles。但是 Google 还需要为 Goggles 部署一个 API,这意味着存在一些用于将应用程序部署到行业的受限制用例。一家名叫 Macroglossa 的意大利公司也提供可视化搜索引擎。Macroglossa 的部署或使用在业内鲜为人知,但它是 IQ Engines 和 Google 的替代物。不管所使用的可视化搜索引擎如何,它们都与通用的动态能力和流程有关。

使用 IQ Engines VisionIQ 作为示例,用户可以先使用移动设备拍摄一张照片,在使用 VisionIQ 加载应用程序时,这会触发客户端可视化搜索进程。然后,可视化搜索引擎 API 服务将会调用服务器端软件,引用由基于云的数据存储产生的业务规则。最后,对于公共数据存储,可以启用众包 (crowdsourcing)方式,允许公众协助完善搜索算法。图 1 演示了该流程。

图 1. IQ Engines VisionIQ 定义的可视化搜索引擎流程
图像显示了 IQ Engines VisionIQ 定义的可视化搜索引擎流程

对于用于识别图像的可视化搜索引擎,用户必须先利用图像和支持属性的组合来培训(training)系统,然后将它们上传到基于云的数据存储上,或者放置到网络爬虫 (Web crawler) 上。Google Goggles 使用了网络爬虫路线。要使用 Goggles,必须先将图像和支持属性或元数据转换成 HTML。VisionIQ 利用了基于云的数据存储,开发人员和技术人员通过 Representational State Transfer (REST)-ful API 将内容上传到数据存储。不管图像以及与这些图像(色彩、纹理、日期和品牌)相关的元数据是如何扫描或上传的,算法都必须分析和继续完善数据。图 2 提供了一个具有相关属性的图像示例。

图 2. VisionIQ 数据模型
图像显示了 VisionIQ 数据模型

请注意,在允许适当成功率的分配进度过程中,搜索算法和属性必须反复细化。将系统训练到可接受的准确率后,就可以开始部署用户验收测试 (UAT) 了。UAT 使开发人员和组织可以改善图像和搜索算法,这使得应用程序在交闪环境光、模糊屏幕和多个角度等真实场景中更加有用。因为云经常用于存储训练这些系统的数据,所以弄清楚什么是 “云” 是明智的。


结合使用云计算和可视化搜索

现在,让我来解释一下如何结合使用云计算和可视化搜索引擎。

云的结构

云计算是对以前应用程序服务供应商 (ASP) 模型的品牌重塑(如果您愿意这样说的话)。但是,真正的云产品与 ASP 模型有着细微差别,比如在资源池、按需利用、多租户和快速弹性方面。云服务供应商 (CSP) 提供了基于不同云服务和部署模型的服务。

云服务模型是组织根据业务需要来使用云计算的一些方法,如基础架构即服务 (IaaS)、平台即服务 (PaaS) 或软件即服务 (SaaS)。相比之下,云部署模型包括公共云、私有云、混合云和社区云。大部分 CSP 有公共云,虽然其中一些也会利用外部云和私有云。大部分大型组织在内部将云用作私有云。混合云结合使用了公共云和私有云解决方案。社区云在很大程度上利用了资源池,这方面的一个示例是某个学区内的许多学校,它们共享服务器资源,用这些资源进行信息处理。

用于可视化搜索引擎的大部分云部署和服务模型使用了多种云模型。例如,当 IQ Engines 客户决定退出众包时,他们使用了一种私有的 IaaS 和 PaaS 云模型。该模型将封闭的存储池用作其基于 IaaS 的数据存储,基于 PaaS 的 API 将由移动应用程序调用。但是,当 IQ Engines 产品的消费者启用其数据存储的公共众包时,这种部署将成为一个公共云。Google Goggles 的分类也是一个公共 SaaS 解决方案,因为它还没有 API 并且允许使用众包。

可视化搜索引擎和云计算

频繁使用可视化搜索引擎的移动应用程序提供了一些图像,用于培训该系统通过 API 将数据上传到基于云的数据存储。目前最普遍的 API 格式是 REST。REST API 模仿面向服务的基础架构模型,因此常被基于 Web 服务的软件基础架构模型用于集成。因为是基于 Web 的,所以 REST API 大多数时候被用作瘦客户端软件应用程序,通过 Internet 浏览器或 Web 服务器进行使用。如上所述,REST API 是一项全新的技术,需要一个特殊的、灵活的 API 格式。

云计算服务本身就是分布式的:让消费者使用 API(尤其是基于 Web 的 RESTful API)是远程使用服务的一个逻辑解决方案。在满足远程移动办公所需的需求时,该解决方案会在相关性方面有所扩展。这方面的示例包括基于多次索赔的保险公司部门,将基于云的普通数据存储用于业务处理。在这个示例中,保险理算员使用具有 VisionIQ REST API 的移动应用程序为发生自然灾害之后的进水房屋进行拍照,并标记和识别图片。可以使用这些照片反复细化存储在集中的私有云数据存储中的算法,然后使用内部私有众包来提高系统在识别水渍、磨损或疏忽错误方面的准确性。

另一个用例是将可视化搜索引擎和私有云数据存储用作医疗诊断服务的移动应用程序部署。这些服务使用了包含抓伤、切伤、疤痕或挫伤的图像,或者使用了类似于患者在回答应用程序提问时所提供的一些补充属性图像,用这些图像来提供初步诊断。可以通过将该信息与医疗保健专业人员的电话访问相结合来验证诊断。这种应用通过 REST API 与卫生保健系统的电子健康档案系统交换数据来实现完全自动化。

最后,这些应用程序可用于知识产权、法律和执法等目的,加快认定嫌疑人和案件证据的速度。人脸识别算法并不新奇,对于这些群体而言,确实存在具有该功能的移动应用程序,虽然这些应用程序将来未必可靠并得到广泛应用。在多年以后,犯罪现场调查人员有可能会使用移动应用程序来完成大部分工作。


结束语

随着移动应用程序的日趋成熟,可视化搜索引擎技术也有所发展。使用像 REST 这样现代格式的 API 将会促进动移动和云的互操作性,从而获得可视化搜索引擎技术的增强用例,尤其在 Google 发布了将自定义移动应用程序和 Google 结合使用的 API 时。随着可视化搜索引擎的发展,基于云的数据存储将变得更加普遍。

API 将会调用这些存储,使用这些数据来进一步完善搜索算法,这是该技术获得成功的关键。这种完善可由供应商自己完成,并包含在众包之内。这些算法获得完善之后,它们的使用方式也将呈指数增长。虽然本文只包含几个用例,但不难想象后面以后会介绍更多的用例。附带相机的移动设备的广泛应用开辟了新的技术时代,在经过进一步完善之后,它们将会改变我们的生活和经营方式。

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 社区。探索由开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户进行交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing, 移动开发
ArticleID=930724
ArticleTitle=使用可视化搜索引擎将云中存储的数据提供给移动应用程序
publish-date=05232013