编辑导语:在人工智能技术方面,图像视觉应该是被应用最广泛的技术之一。本文作者从关键技术和产品设计两大方面,围绕图像检索技术的应用进行了产品介绍,推荐想了解图像检索的童鞋看看。
前一节主要跟大家讨论了文本纠错技术的应用,本节将跟大家讨论分享关于图像视觉方面的应用——图像检索。
在人工智能技术应用方面,图像视觉应该是被应用最广泛的技术之一,从最早的安防监控,到后面落地最多的人脸识别,都是图像技术的应用,本文想围绕图像检索技术的应用进行产品介绍。
图像检索技术在实际应用中包括了检索+识别(相似度度量)两个部分,目前重点应用于泛搜索引擎中,百度搜索、谷歌搜索、淘宝拍立淘等都可以支持通过图片检索实现信息查找。
相对于文字搜索而言,图像检索更直观,更易操作,尤其是对于陌生信息的检索,可以直接通过拍照实现信息的检索。
一、关键技术图像检索包括了基于文本的图像检索和基于内容的图像检索。基于文本的图像检索主要通过对图像进行文本描述,提炼关键词等标签信息,后续在进行检索时,可以通过检索关键词的方式查找对应的图片,这种方式跟用百度查找“胡歌”返回胡歌的照片是一致的;
基于内容的图像检索是通过提取图像的纹理、颜色、梯度或者其他高层语义特征等作为图像特征来计算图像间的相似度,实现图像检索。
1. 基于文本的图像检索如果需要高查准率,就需要精确的标签数据,而精确的标签数据对于人工标注来说是耗时耗力的,甚至有些图像很难用有限的关键词能描述清楚。目前通常情况下会先基于图像内容分析进行自动标注,然后只要存储图像和文本标签即可,虽然会降低查准率,但是仍然可以保证文本检索。
2. 基于内容的图像检索虽然搜索精度不一定如文本搜索,并且容易受到图像质量(光照、遮挡、背景复杂度等)的影响,但是对用户而言,搜索难度将降低,可以实现所见即所得,只要拍照出发搜索即可。因此,可应用范围将更加广阔。
3. 分布式存储技术除了关键的算法技术,还需要跟工程相关的分布式存储技术,因为在实际工程应用中,涉及到的索引结构需要支持到10亿量级的,所以如何构建并存储图片的特征索引信息,需要工程上进行优化(ps:由于过于技术化,笔者也不敢班门弄斧了)。
在实际应用中,基于文本和基于内容的图像检索一般是解耦的,产品设计可以选择两者并存,或者独立使用。
比如在电商中,淘宝通过知识图谱技术构建了大量的商品画像,所以用户可以通过文本搜索,同时拍立淘也支持图像搜商品;而某些识花等小软件则是单纯通过以图搜图实现。具体的还是需要产品根据实际应用场景来决定。
本文下面将重点介绍的是基于内容的图像检索,其中基于内容的图像检索,从产品的输入角度又可以分为以图搜、以视频搜和以音频搜,列举出来的话是图搜图、图搜视频、视频搜视频。
二、产品设计1. 应用场景(1)目前常见的图像搜索应用场景有以下几种:
拍立淘的电商应用场景,通过拍照识图,实现快速购物,提高购物体验。视觉中国的图片库类的图片查找应用场景,实现图片查找应用,和版权鉴定。阿里在工业场景中提供的布料纺织品的图像检索技术,快速了解布料的供应信息。医疗诊断方面,可以通过图像检索在医学影像库找到相似医学病灶的案例,从而协助病情的诊断的应用场景。(2)本文选择图片库类的图片检索为应用场景,讲述产品设计中的业务流程和需要支持的产品能力,其中图片库类的图片检索应用场景有以下两个:
供稿人上传图片,为保证图片版权,会对供稿人图片与现有图片库进行查重,避免侵权行为。用户查找并下载图片,为了满足用户的图片需求,一般会进行相似图片推荐。2. 检索技巧先确定应用场景不仅是为了便于产品设计,也是为了检索技术的选择,从图像检索的特征来看一般包括两种类型:
相同图搜索:是指返回与查询图片包含相同主体的图片,一般是完全相同或具备相同主体的图片,主要适用于重复图片检测、图片精确查找等场景。相似图搜索:是指返回与查询图片内容语义相似的图片,内容语义相似包括在图片类型、颜色、布局、内容、风格和纹理等特征方面的相似,主要应用于相似图片素材搜索、相似图片推荐等场景;在图片库的图片检索应用场景中,这两个场景都是要支持的,因此相同图检索,和相似图检索都需要包含的。
但是实际上相似图的结果通常情况下是包含相同图的,相同图是相似图的一个子集。之所以区分开来,是为了便于产品设计,因为在实际过程中,需要设定一个阈值来决定返回结果,但是如果想让相似图都能包含相同图,则很难指定一个通用的阈值,因此,可以根据实际场景分别调用两个模型。
3. 产品功能设计(1)业务流程
产品的核心业务流程主要包括三点:
历史图片入库,建立图片库和图片特征索引库。查询图片,基于相似图的特征提取和检索引擎在历史图片库中查找相似图片。供稿新图片,基于相同图的特征提取和检索引擎在历史图片库中查重,若不重复,则允许图片入库;若有主体重复的图片,则提醒供稿人,图片存在侵权风险,并拒绝入库。ps:相同图和相似图的特征提取是不一样的,这里为了简化流程,因此画在了一起。
(2)产品功能
这里将列举描述产品的主要功能,涉及工作因素,无法提供页面交互功能细节。
图片底库管理:用于管理图片数据,可以根据图片类型、时间、用途等分类,功能包括:新建底库、删除底库、编辑底库名称。图片新增:用于在底库中新增图片,比如上述的供稿图片审核通过,就需要调用图片新增入库操作,功能包括:单张图片新增、批量图片新增。(注意点:图片的大小、图片的分辨率、批量上传的图片数量等限制条件。)
图片删除:用于删除底库中过期或者脏的数据,同样支持单张删除或者批量删除。图片检索:用于查询与上传图片相似或者相同的图片,这里可以根据实际场景进行设计,增加参数是否做主体识别,如果做主体识别,则调用相同图检索;如果不做主体识别,则调用相似图检索。索引库更新机制:图片新增或者删除后,如何更新图片的特征索引库,以新增为例,是在新增后实时更新索引库还是定时更新,这个需要产品根据场景判断。一般当底库较小,且日常并发检索较小时,可以考虑实时更新;当底库容量较大,且频繁发生检索时,建议可以选择定时更新,如选取闲时更新。4. 产品评估产品设计中,还需要对产品性能进行评估,包括算法和工程两个方面:
算法侧:计算查询结果top k的精确率和召回率,再根据实际应用场景判断是保召回还是保精确。工程侧:计算检索多并发时的处理速度和存储资源消耗,力求降低存储成本并提高检索响应速度。三、结论随着AI技术和互联网应用的发展,图搜这样的智能化检索方式将会有更多的落地场景,但是对于产品设计而言,需要根据实际场景结合技术现状考虑。
比如在推荐场景中,为了更多能留住客户,在尽可能保证高精确率的情况下,k的上限就会取得较大,这样就能给用户更多的返回结果。因此为了能满足检索业务的需要,同时提高用户体验,就需要产品能多思考实际业务场景。
本文由@Eric_d 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于CC0协议