一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

提供商品搜索结果信息的方法及电子设备与流程

2022-12-09 23:25:26 来源:中国专利 TAG:


1.本技术涉及基于图像的信息搜索技术领域,特别是涉及提供商品搜索结果信息的方法及电子设备。


背景技术:

2.在商品信息服务系统中,传统的商品搜索服务都是基于关键词进行的,也即,由用户输入商品关键词作为搜索条件,然后系统给出符合搜索条件的搜索结果页面。随着移动终端设备等技术的发展,一些商品信息服务系统还为用户提供了基于图片进行商品搜索的功能,用户可以对在现实生活中看到感兴趣的物品时对其进行拍照,或者在网络上浏览到某图片时,如果对该图片中物品感兴趣,则可以将该图片保存到本地。然后可以将本地保存的照片或者图片等上传到服务端。当然,也可以直接通过客户端页面中搜索控件处提供的拍照入口进行拍照,并上传到服务端,等等。服务端在收到照片或者图片后,可以通过对图片中的主体进行识别、对比等处理,确定出与照片上的主体相关的商品搜索结果并返回。进而,用户可以从搜索结果列表中查找自己所需要的商品,还可以进行在线购买等操作。
3.这种基于图片的商品搜索,可以在多种场景下帮助用户更方便地获取到搜索结果。但是,如何进一步帮助用户提升搜索效率,始终是本领域技术人员不断追求的目标。


技术实现要素:

4.本技术提供了提供商品搜索结果信息的方法及电子设备,能够提升搜索效率,并提升用户参与度。
5.本技术提供了如下方案:
6.一种提供商品搜索结果信息的方法,包括:
7.在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并获取主体在多个图像帧中的位置及状态的变化情况,所述状态与主体在图像帧中的的位置和/或主体图像在屏幕中的面积占比相关;
8.获取与所识别出的主体相关的商品信息搜索结果;
9.根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,其中,不同的主体状态对应不同的信息卡片类型;
10.将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。
11.其中,所述获取与所识别出的主体相关的商品信息搜索结果,包括:
12.对识别出的主体部分的图像大小及清晰度进行判断,如果所述主体部分的图像大小及清晰度满足第一条件,则获取与所识别出的主体相关的商品信息搜索结果。
13.其中,还包括:
14.在识别出的主体部分的图像大小及清晰度逐渐提升的过程中,如果所述主体部分的图像大小及清晰度满足第二条件,则重新获取与所识别出的主体相关的商品信息搜索结果,并根据重新请求获得的商品信息搜索结果,更新所述信息卡片中展示的内容。
15.其中,还包括:
16.对获取到的商品信息搜索结果中的商品图像与所识别出的主体图像进行相似度比对,并根据比对结果对商品信息搜索结果进行过滤。
17.其中,还包括:
18.在所述信息卡片跟随主体位置变化而运动的过程中,按照预置的时间间隔对识别出的主体的最新位置进行读取;其中,所述时间间隔与人眼视觉暂留时间相关,且大于所述图像流中每帧之间的时间间隔;
19.在读取到所述最新位置后,为当前展示的信息卡片生成从当前位置平滑移动到所述最新位置的动画,并将信息卡片的位置保持在该最新位置处不变,直到下一周期读取到新的最新位置时,生成新的所述动画。
20.其中,所述信息卡片与主体的锚点之间的相对位置关系为多种;所述锚点的位置根据主体中心点进行确定;
21.所述方法还包括:
22.在所述信息卡片跟随主体位置变化而运动的过程中,判断所述信息卡片在当前相对位置关系状态下,是否会与屏幕边缘发生碰撞,如果是,则切换为其他相对位置关系。
23.其中,还包括:
24.在切换为其他相对位置关系之前,还判断切换为其他相对位置关系后,所述信息卡片是否会与另一屏幕边缘碰撞,如果否,则切换为其他相对位置关系,如果是,则保持为当前相对位置关系。
25.其中,所述实时图像流中主体的锚点所在的位置处还展示有锚点元素;
26.所述方法还包括:
27.在进行相对位置关系切换的过程中,将所述锚点元素隐藏;
28.在完成相对位置关系的切换后,将所述锚点元素切换为可见状态。
29.其中,如果所述实时图像流中识别出多个主体,则分别获取各自对应的商品信息搜索结果,并分别根据各自的状态生成对应类型的信息卡片;
30.所述方法还包括:
31.在将多个信息卡片实时映射到所述实时图像流中,并跟随各自对应的主体位置变化而运动的过程中,判断所述多个信息卡片之间是否会发生碰撞;
32.如果是,则根据发生碰撞的信息卡片对应的主体状态优先级的不同,将较低优先级的主体对应的信息卡片展示位置进行移动。
33.其中,所述不同主体状态对应的信息卡片展示在不同的图层中,各图层按照各主体状态的优先级从高到低的顺序进行排列。
34.其中,还包括:
35.在将所述信息卡片实时映射到所述实时图像流中对应主体所在的位置处进行展示的过程中,如果主体状态发生变化,则将映射到所述实时图像流中的信息卡片的类型进行切换。
36.其中,不同主体状态的判断参数边界处存在缓冲区,以便所述判断参数在缓冲区内变化时,保持当前主体状态以及对应的信息卡片的类型不变。
37.其中,在进行卡片类型切换的过程中,将切换过程划分为两个阶段,第一阶段用于
将所述实时图像流中当前投射的第一类型的信息卡片的透明度逐渐降低,第二阶段用于向所述实时图像流中投射第二类型的信息卡片,并将第二类型的信息卡片的透明度逐渐提高。
38.其中,所述主体的状态包括展示状态,所述展示状态包括第一展示状态以及第二展示状态;其中,在所述展示状态下,所述信息卡片中用于展示所述商品搜索结果相关的内容;第一展示状态与第二展示状态对应的信息卡片的尺寸以及内容量不同。
39.其中,所述主体的状态还包括发现状态,所述信息卡片在所述发现状态下,用于展示所述主体所属类别的识别结果。
40.其中,所述主体的状态还包括互动状态;
41.所述方法还包括:
42.在所述主体进入所述互动状态并保持阈值时间后,跳转到商品搜索结果列表页面,或者当前展示的信息卡片中包括的商品的详情页面进行展示。
43.其中,还包括:
44.在所述主体进入所述互动状态后,将商品的三维模型投射到所述实时图像流中进行展示。
45.其中,还包括:
46.在所述信息卡片中提供用于将其中展示的商品加入批量结算商品集合中的操作选项。
47.其中,在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的情况下,所述方法还包括:
48.从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
49.一种提供商品信息的方法,包括:
50.在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别;
51.获取与所识别出的主体相关的商品信息搜索结果;
52.根据所述商品信息搜索结果生成待展示的信息卡片,并映射到所述实时图像流中对应主体所在的位置处进行展示;
53.从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
54.一种提供商品搜索结果信息的装置,包括:
55.主体识别单元,用于在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并获取主体在多个图像帧中的位置及状态的变化情况,所述状态与主体在图像帧中的的位置和/或主体图像在屏幕中的面积占比相关;
56.商品搜索结果获取单元,用于获取与所识别出的主体相关的商品信息搜索结果;
57.信息卡片生成单元,用于根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,其中,不同的主体状态对应不同的信息卡片类型;
58.信息卡片展示单元,用于将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。
59.一种提供商品信息的装置,包括:
60.主体识别单元,用于在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别;
61.商品搜索结果获取单元,用于获取与所识别出的主体相关的商品信息搜索结果;
62.信息卡片展示单元,用于根据所述商品信息搜索结果生成待展示的信息卡片,并映射到所述实时图像流中对应主体所在的位置处进行展示;
63.商品添加单元,用于从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
64.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述的方法的步骤。
65.一种电子设备,包括:
66.一个或多个处理器;以及
67.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述任一项所述的方法的步骤。
68.根据本技术提供的具体实施例,本技术公开了以下技术效果:
69.通过本技术实施例,可以在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并且,还可以获取主体在多个图像帧中的位置及状态的变化情况,其中,具体的状态可以与主体部分图像的清晰度和/或在图像帧中所占的比例相关。在该实时图像流采集的过程中,还可以获取与所识别出的主体相关的商品信息搜索结果,并根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,将将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。这样,使得用户不仅可以在图像流中查看到摄像头实际拍摄到的内容,还可以查看到这种信息卡片,并且,信息卡片的类型还可以随着主体状态的变化而变化,这样,可以在实现将商品搜索结果前置到“镜头页”通过ar方式进行展示,提升搜索效率的同时,通过信息卡片类型的变化,使得用户可以逐步获得关于搜索到的商品更丰富、更详细的信息,也使得信息卡片更生动,有利于提升用户的参与度。
70.其中,针对上述方案实现过程中,在客户端侧遇到的信息卡片跟随主体运动过程中遇到的运动轨迹不连续的问题,本技术的优选实施例中,可以通过分段拟合的方式来解决该问题。也即,可以周期性地读取算法识别到的主体位置信息,在同一周期内,可以保持信息卡片的位置不变,直到下一周期到来,读取到主体最新位置时,再让信息卡片“运动起来”,具体的,可以为该信息卡片生成一段目标时长(等于该读取周期的长度)的平移动画,在该动画中,信息卡片可以呈现出连续性运动的效果,以此解决信息卡片运动轨迹不连续的问题,同时也降低对终端计算、展示等资源的占用。
71.针对信息卡片与屏幕边缘的碰撞问题,可以通过预先设定信息卡片与主体中心点之间的两种相对位置关系的方式,在存在这种碰撞时,可以通过切换相对位置关系的方式来进行解决。
72.针对信息卡片之间的碰撞问题,可以通过不同主体状态之间的优先级关系,确定不同类型信息卡片之间的优先级,进而可以将较低优先级的信息卡片确定为需要被移动的信息卡片,从而使得信息卡片之间不再相互遮挡。或者,还可以创建多个图层,不同主体状
态对应的信息卡片可以展示在不同的图层,并且各图层之间的上下层关系也可以是按照主体状态之间的优先级关系进行固定配置,例如,互动状态的信息卡片可以固定展示在最上层的图层中,等等。这样,即使出现某信息卡片无法被移动的情况,也可以避免出现较高优先级的信息卡片被较低优先级的信息卡片遮挡。
73.针对同一主体在状态发生变化时,切换信息卡片类型过程中可能产生的“抖动”问题,不同主体状态的判断参数边界处存在缓冲区,以便所述判断参数在缓冲区内变化时,保持当前主体状态以及对应的信息卡片的类型不变。
74.另外,具体的主体状态还可以包括互动状态,在该状态下,还可以为用户提供互动信息。例如,如果在该状态保持一定时间,则可以自动跳转到搜索结果列表页面,或者,具体商品的详情页面。或者,还可以将具体商品的3d模型等映射到实时图像中进行展示,等等。
75.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
76.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
77.图1是本技术实施例提供的系统架构的示意图;
78.图2是本技术实施例提供的第一方法的流程图;
79.图3是本技术实施例提供的界面的示意图;
80.图4是本技术实施例提供的时间轴的示意图;
81.图5是本技术实施例提供的第二方法的流程图;
82.图6是本技术实施例提供的第一装置的示意图;
83.图7是本技术实施例提供的第二装置的示意图;
84.图8是本技术实施例提供的电子设备的示意图。
具体实施方式
85.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
86.在本技术实施例中,为了能够帮助用户提升搜索效率,首先可以将搜索结果进行前置,也就是说,在用户通过客户端主页等提供的基于图像的商品搜索入口发起请求后,如果用户选择的是拍摄模式(而不是上传本地图片),则可以启动终端设备中的摄像头等拍摄组件进行取景。通常情况下,进入取景状态后,已经能够进行图像采集,只是此时还是图像流的状态,对应的页面可以称为“镜头页”,后续当用户点击该“镜头页”中具体的“拍照”按钮之后,才会保存为具体的照片或者视频等。现有技术中,是在生成具体的照片或视频之后,才会上传到服务端进行主体识别,并得到搜索结果。而在本技术实施例中,是在前述“镜头页”展示实时图像流的状态下,即可在客户端测进行主体识别,如果主体图像足够清晰
等,则可以向服务端请求获取相关的商品搜索结果信息,然后,可以将商品搜索结果信息组织成信息卡片,并映射到实时图像流中进行展示,以此形成一种ar(augmented reality,增强现实)的展示效果。
87.另外,由于实时图像流是在动态变化的,从中识别出的主体,其位置以及状态(包括主体图像的大小等)也是实时变化的,因此,在本技术实施例中,还可以实时记录主体的位置、状态等,并且,可以预先定义多种不同类型的信息卡片,在不同的主体状态下,可以展示出不同类型的信息卡片。其中,主体状态具体可以是根据主体在图像中的位置、主体图像与屏幕之间的面积比等来进行确定,具体的面积比是根据主题距离镜头的远近而变化的。例如,主体状态可以分为发现状态、展示状态、互动状态,其中,展示状态又可以细分为第一展示状态、第二展示状态,等等。
88.这样,假设用户发起图像搜索之后,并启动摄像头后,可以将镜头对准某拍摄对象(不需要按下拍照按钮),并通过移动终端设备,使得该拍摄对象主体在屏幕中所占的面积逐渐增大,主体图像逐渐清晰,在此过程中,就可以为用户将承载有商品搜索结果信息的信息卡片映射到图像流中进行展示,使得用户不仅能够从图像流中查看到实际拍摄到的主体图像,还可以查看到通过ar技术展示出的信息卡片(现有技术中,在此过程中,是不会向用户提供商品搜索结果信息的,只有用户点击拍照按钮,拍下照片之后,才会将照片提交到服务端请求搜索结果)。并且,信息卡片还是在变化的,例如,当拍摄对象距离镜头还比较远时,可能仅能识别出用户拍摄的是一个什么类目的物品,而不会与系统中实际可售卖的商品对应,此时,主体可以处于“发现状态”,具体的信息卡片中可能仅展示出具体拍摄对象的类别信息。之后,随着镜头逐渐靠近拍摄对象,主体图像在屏幕中所占的面积逐渐加大,图像也逐渐清晰,到了能够进行基于该主体图像进行商品搜索的程度时,可以向服务端发起搜索,相应的,主体进入到第一展示状态,信息卡片中可以呈现出具体的商品搜索结果信息(例如,可以是搜索结果中某个商品的摘要信息,还可以提供切换选项,以用于切换展示搜索结果中的其他商品的摘要信息,等等)。之后,当主体图像的面积进一步加大,图像更加清晰时,还可以重新向服务端发起搜索请求(或者,也可以不必重新请求,可以根据实际需求而定),此时,主体可以进入到第二展示状态,可以对信息卡片中的内容进行更新,还可以生成更大尺寸的信息卡片,在其中呈现出更丰富的信息。之后,如果主体图像面积再进一步增大,并且持续一定时间长度,则主体可以进入到互动状态,此时,可以自动跳转到信息卡片中当前正在展示的商品的详情页面进行展示,或者,还可以将商品的三维模型等映射到图像流中,等等。
89.本技术发明人在实现本技术的过程中还发现,在上述将信息卡片映射到图像流中,并且,涉及到不同主体状态对应的多种不同类型的信息卡片的情况下,需要在客户端侧对信息卡片的展示等进行处理,在此方面可能会遇到一些问题。例如,如果需要使得信息卡片跟随主体而运动,此时,如何在端侧性能可支持的情况下,使得信息卡片的运动轨迹更平滑流畅。或者,由于信息卡片需要占据一定的面积,但是,在其跟随主体运动的过程中,可能会与屏幕边缘发生碰撞,在图像流中识别出多个主体的情况下,需要将多个信息卡片映射到图像流中,此时,多个信息卡片之间也可能发生碰撞。在这种碰撞现象发生时,信息卡片中的内容可能会被屏幕边缘或者其他信息卡片遮挡,此时,如何解决该问题也是需要考虑的。另外,由于需要在主体状态发生变化时,进行不同类型的信息卡片的切换,而主体状态
的变化通常是由拍摄对象与镜头之间的距离变化导致的,如果该距离刚好位于两种主体状态的边界处,则可能会发生抖动现象。也即,信息卡片可能反复在两种类型之间快速来回切换,等等。本技术实时分别针对上述各问题提供了对应的解决方案。
90.另外,在具体实现时,除了上述对信息卡片运动、切换过程中的控制之外,还可以基于这种信息卡片实现一些“行动点”的前置,例如,具体的“行动点”就可以包括将商品加入“购物车”。也就是说,用户可以直接通过该信息卡片实现对商品的加购,而不需要进入到具体的商品搜索结果列表页面或者商品详情页面中进行加购。具体的,如果是在手机等移动终端设备中来实现,则可以在信息卡片中提供具体用于将所展示商品加入“购物车”的操作选项,用户可以通过点击这种操作选项的方式来完成加购操作。
91.或者,在通过ar眼镜来实现的情况下,则还可以通过更丰富的互动形式来实现对信息卡片上所展示商品的加购。例如,用户可以通过ar眼镜的手柄或者做出某种手势等方式,来做出抓取信息卡片,并向某目标方向移动(例如,移动到自己的胸前等等)等操作,并以此来完成将信息卡片上所展示商品的加购,等等。
92.从系统架构角度而言,参见图1,本技术实施例可以涉及到商品信息服务系统中的客户端以及服务端,其中,本技术实施例中的客户端可以包括手机等移动终端侧安装的app(应用程序),或者,还可以包括在ar眼镜类设备中安装的app,等等。其中,具体的主体识别、是否可发起搜索请求等等相关的算法可以部署在客户端侧,另外,关于对信息卡片在运动或者切换过程中的展示控制,包括图像流处理、卡片渲染处理、主体跟随处理、卡片防碰撞处理、卡片切换处理等等,也都可以由客户端侧来完成。服务端主要用于提供具体的商品搜索结果,客户端可以据此生成具体的信息卡片。
93.下面对本技术实施例提供的具体实现方案进行详细介绍。
94.实施例一
95.首先,该实施例一从前述客户端的角度,提供了一种提供商品搜索结果信息的方法,参见图2,该方法可以包括:
96.s201:在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并获取主体在多个图像帧中的位置及状态的变化情况,所述状态与主体在图像帧中的的位置和/或主体图像在屏幕中的面积占比相关。
97.具体实现时,可以在客户端提供的搜索入口处,提供基于图像发起商品搜索的选项,如果用户选择该选项,则可以进入到基于图像进行商品搜索的主界面,在该主界面中,可以提供“拍摄”选项,“从本地相册中选择”选项,等等。如果用户选择“拍摄”选项,则可以启动终端设备的摄像头,进入到取景状态。此时,界面中已经能够展示出取景得到的图像,该图像是动态变化的。另外,还可以在该界面中提供“实时图像流模式”的开关,在默认状态下,该开关可以是关闭状态,用户在得到满意的取景结果之后按下“拍照”按钮获得具体的照片,再发起搜索请求。而如果用户打开上述“实时图像流模式”的开关,则可以进入到“实时图像流模式”。此时,就可以通过客户端侧的算法,对实时图像流中的每一帧图像,分别进行主体识别。
98.其中,所谓的主体识别,主要可以是从图像流中识别出属于前景的拍摄对象,例如,假设在某房间中对某商品进行拍摄,则该商品可以作为主体被识别出来,相应的房间背景部分虽然也会被采集到图像流中,但是不会被作为主体进行识别。当然,在同一图像流
中,可能会识别出多个主体。其中,具体的主体识别结果可以包括主体的编号、坐标、长宽、类目、是否可以向服务端发起搜索请求,等等。客户端可以对这种识别结果进行记录,以便在后续对信息卡片的生成、展示以及运动/切换控制过程中来使用。
99.其中,主体的编号主要用于对具体识别出的主体进行标记,该标记是由算法给出的,并且,在每一帧的识别结果中,同一主体对应的编号相同。这样,在图像流中识别出多个主体的情况下,可以通过主体编号来区分各个主体,进而实现后续的信息卡片跟踪等。
100.主体的坐标主要是指主体中心点在屏幕中的坐标,长宽则是指主体图像在屏幕中的最大宽度以及最大长度。在动态取景的过程中,随着拍摄对象与镜头距离远近的变化,该坐标、长宽,都是在不断变化的,可以通过前述客户端侧部署的算法进行识别。相应的,可以由客户端进行记录。
101.主体类目主要是指主体图像对应的拍摄对象可能所属的商品类目,也即,识别出拍摄对象具体是个什么物品,例如,杯子,耳机,等等。该信息可以用于生成“兜底”的信息卡片,也即,在无法获取到具体的商品搜索结果时,可以根据当前主体所属的商品类目,在信息卡片中展示关于该类目名称等信息,等等。
102.关于是否向服务端发起搜索请求,是指,由于在动态取景过程中,主体图像的大小、清晰度等都在不断变化,在刚开始进行取景时,由于对焦等问题,主体图像的清晰度可能不够,还可能比较小,此时,服务端可能难以基于这种主体图像给出准确的商品搜索结果,因此,可以不必向服务端提交搜索请求。之后,如果主体图像的面积足够大,也足够清晰,则可以确定出可以向服务端发起商品搜索请求。另外,随着主体图像变得更加清晰,服务端也许能够给出更准确的搜索结果,因此,也可以重新向服务端发起商品搜索请求,等等。而上述各种决策都可以是由前述客户端侧算法在主体识别的过程中来完成的。
103.在算法识别出上述信息后,可以在客户端侧进行记录。可以根据其中的主体中心点坐标等信息,确定出主体的位置信息。而关于对主体状态的确定,主要就可以以这种主体图像的中心点坐标和/或主体图像在屏幕中所占的面积比为准。
104.例如,一种方式下,可以单纯根据主体图像在屏幕中所占的面积比,来确定主体状态。具体如,在前述将主体状态分为发现状态、第一展示状态、第二展示状态、互动状态的情况下,当拍摄对象距离镜头还比较远时,主体图像在屏幕中所占的面积比(假设用字母m表示)很小,例如,a《m《b。此时,可能仅能识别出用户拍摄的是一个什么类目的物品,而无法确定出与系统中哪些实际可售卖的商品相关,因此,可以确定出该主体处于“发现状态”。之后,随着镜头逐渐靠近拍摄对象,主体图像在屏幕中所占的面积逐渐加大,例如,b≤m《c,图像也逐渐清晰,到了能够进行基于该主体图像进行商品搜索的程度时,可以向服务端发起搜索,相应的,主体进入到第一展示状态。之后,当主体图像的面积进一步加大,例如,c≤m《d,图像也更加清晰时,还可以重新向服务端发起搜索请求(或者,也可以不必重新请求,可以根据实际需求而定),此时,主体可以进入到第二展示状态。之后,如果主体图像面积再进一步增大,例如,d≤m《e,并且持续一定时间长度(例如,3s),则主体进入到互动状态,等等。
105.或者,在另一种情况下,在确定主体状态时,除了考虑主体图像所占的面积比这一因素之外,还可以考虑主体图像的坐标因素。例如,关于预先定义出的多种主体状态,除了可以定义出各种主体状态对应的主体图像所占的面积比,还可以定义出各种主体状态对应的位置信息。例如,对于发现状态、第一展示状态、第二展示状态、互动状态,可以预先定义
出“发现框体”、“展示框体”、“互动框体”等。这样,只有当主体图像的面积占比a《m《b,并且主体中心点位于“发现框体”内部、“展示框体”外部时,才可以确定该主体处于发现状态。类似的,只有当主体图像的面积占比b≤m《c或c≤m《d,并且主体中心点位于“展示框体”内部、“互动框体”外部时,才可以确定该主体处于展示状态。如果主体图像的面积占比d≤m《e,且主体中心点位于“互动框体”内部,则可以确定该主体处于互动状态,等等。
106.需要说明的是,上述关于主体位置以及状态的确定,可以与后续的信息卡片生成以及展示过程同步进行。也即,客户端在不断地确定主体的位置以及状态变化情况,根据这种变化情况,来确定展示何种类型的信息卡片,何时进行信息卡片类型的切换,以及对信息卡片的运动跟踪,等等。当然,关于主体位置以及状态的确定,可以不是每帧都进行确定,例如,可以是间隔几帧(例如,四帧、五帧,等等)确定一次,等等,对此,后文中会有详细介绍。
107.s202:获取与所识别出的主体相关的商品信息搜索结果。
108.在从实时图像流中检测主体的过程中,还可以获取与所识别出的主体相关的商品信息搜索结果。具体实现时,可以从服务端请求获取具体的商品信息搜索结果,或者,如果不是首次针对当前主体进行搜索,则也可以从客户端所在的终端设备本地缓存中获取商品信息搜索结果,等等。其中,具体的商品信息搜索结果就可以是根据当前识别出的主体图像,搜索出的与该主体图像匹配的多个商品。
109.具体实现时,如前文所述,可以由客户端侧算法对识别出的主体进行判断,以确定是否满足第一条件,如果满足,才获取具体的商品搜索结果。例如,具体可以对识别出的主体部分的图像大小及清晰度进行判断,如果主体部分的图像大小及清晰度满足第一条件,则可以获取与所识别出的主体相关的商品信息搜索结果。另外,在识别出的主体部分的图像大小及清晰度逐渐提升的过程中,如果主体部分的图像大小及清晰度满足第二条件,则还可以重新获取与所识别出的主体相关的商品信息搜索结果,以便根据重新获得的商品信息搜索结果,更新信息卡片中展示的内容,等等。
110.其中,具体实现时,客户端侧算法如果在某时刻确定出某主体图像满足第一条件或第二条件,则可以从实时图像流中该时刻对应的图像帧中截取出主体图像,并将该主体图像提交到服务端。另外,由于客户端侧算法还可以对主体的编号、类别等进行识别,因此,在提交主体图像时,还可以将关于主体的编号、类别等的识别结果也提交到服务端,服务端可以根据这些信息,搜索出与该主体图像相关的商品搜索结果。在返回商品搜索结果时,也可以带有具体的主体编号等信息。
111.另外,客户端侧算法在接收到服务端返回的商品搜索结果之后,还可以对服务端返回的商品信息搜索结果中的商品图像与所识别出的主体图像进行相似度比对,并根据比对结果对服务端返回的商品信息搜索结果进行过滤。也就是说,客户端侧算法能够获取到关于主体图像的最直接的信息,这些信息在传输、编解码等过程中可能会被部分损失,以至于服务端给出的商品搜索结果可能存在部分不够准确等情况。因此,在服务端返回商品搜索结果之后,还可以由客户端侧的算法进行二次确认或者过滤,以提升信息卡片中所呈现信息的质量。
112.s203:根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,其中,不同的主体状态对应不同的信息卡片类型。
113.在获得商品信息搜索结果后,可以根据该商品信息搜索结果以及主体状态,生成
具体的信息卡片。关于主体状态,如前文所述,可以根据主体图像的面积占比来确定,或者,还可以结合主体中心点的坐标,等等。其中,在展示状态下,可以根据所述商品信息搜索结果生成待展示的信息卡片,具体的,展示状态还可以分为第一展示状态、第二展示状态等,且可以分别对应不同类型的信息卡片,因此,可以分别根据所述商品信息搜索结果以及主体的状态实时生成待展示的信息卡片。其中,关于信息卡片的类型,主要可以从卡片的大小、内容丰富程度等方面来进行划分。例如,在主体刚开始进入展示状态时,信息卡片可以比较小,其中展示的信息量可能也比较少。之后,随着主体图像进一步增大,可以切换为较大尺寸的信息卡片,其中展示出的信息可以更丰富。
114.关于信息卡片的内容,在展示状态下,具体就可以来自于服务端返回的商品搜索结果。其中,商品搜索结果中可能包括多个商品,但是信息卡片的面积有限,因此,可以选取其中一个商品进行展示,例如,可以是与主体图像匹配度最高的商品的信息,等等。或者,在具体实现时,还可以在信息卡片中提供商品切换选项等,从而可以在信息卡片中切换展示其他商品的信息,等等。
115.总之,信息卡片可以有多种类型,随着主体图像所占的面积比的增大,信息卡片可以有小变大,其中展示的信息也可以更丰富。例如,如图3(b)所示,假设当前的拍摄对象是一款耳机,在主体图像占比达到40%(或者其他数值)时,可以展示较小尺寸的信息卡片,在该较小尺寸的信息卡片中,可以只包括商品名称,参考价格,代表性的用户评价信息等。如图3(c)所示,在主体图像变大后,例如,图像占比达到60%(或者其他数值)时,可以展示出较大尺寸的信息卡片,其中除了前述较小尺寸卡片中展示的信息,还可以包括关于商品的性能介绍等更丰富的信息。另外,在具体的信息卡片中展示商品搜索结果中某个商品的信息时,除了上述与商品介绍相关的信息之外,还可以包括一些营销类的信息,例如,某商家为某商品配置了某优惠券等,则可以通过这种信息卡片透出给用户,使得用户在进入具体的搜索结果列表页面之前,即可获知关于具体商品的优惠信息,从而可以有利于提升信息的点击率、转化率等指标。或者,由于具体的拍摄对象是商品实物,可能是用户已经购买到的商品,因此,商家还可以为一些特殊的商品(例如,饮料等)配置诸如“再来一瓶”等用户权益,此时,还可以通过信息卡片提供该用户权益信息,用户可以通过点击该信息卡片等获取到该权益,以此提升互动性,等等。
116.当然,如前文所述,在具体实现时,识别出的主体还可以包括发现状态,也即,此时主体图像的面积占比很小,不足以准确给出准确的商品搜索结果,但是,能够大致识别出物体的类别。因此,也可以基于该类别信息,生成对应的信息卡片。例如,如图3(a)所示,在主体图像占比达到20%时开始识别,但此时展示出的信息卡片中可以仅展示物体类别信息,等等。当然,在实际应用中,在主体处于发现状态的情况下,最初识别出的物体类别有可能是错误的,后续还可以随着主体图像的逐渐增大,对类别识别结果进行修正,并更新信息卡片中展示的内容。
117.另外,识别出的主体还可以包括互动状态,此时,主体图像的面积占比已经很大,图像足够清晰,并且可以展示互动状态的信息卡片。或者,还可以对信息展示形式进行改变,例如,可以不再是以信息卡片形式进行展示,而是可以将商品的3d模型映射到实时信息流中。关于具体的互动形式,可以有多种,例如,一种方式下,可以是在进入到互动状态并保持一定时间(例如,3s)后,可以跳转到搜索结果列表页面进行展示,甚至还可以跳转到当前
正在展示的具体商品的详情页面进行展示,等等。
118.s204:将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。
119.在生成具体的信息卡片后,便可以映射到实时图像流中主体所在的位置处进行展示。其中,由于主体的位置在不断发生变化,因此,需要使信息卡片跟随主体运动。在信息卡片跟随主体运动的过程中,还可能与屏幕边缘,或者其他信息卡片发生碰撞。另外,在主体状态发生变化时,涉及到对信息卡片类型的切换,等等。在本技术实施例中,针对上述分别提出了解决方案。
120.其中,在将信息卡片跟随主体运动的过程中,由于算法可以针对图像流中的每一帧图像都进行主体识别,主体在每一帧图像中的位置都可能会发生变化,并且,识别出的主体位置是离散的多个点。此时,如果直接根据每一帧中识别出的主体位置来更新信息卡片的位置,则信息卡片的运动轨迹可能会不够平滑流畅,另外,对于客户端性能也是很大的挑战。
121.因此,在本技术实施例中,采用了分段拟合的实现方案。具体的,客户端可以对算法识别结果进行保存,在所述信息卡片跟随主体位置变化而运动的过程中,可以按照预置的时间间隔对识别出的主体的最新位置进行读取。其中,该时间间隔可以与人眼视觉暂留时间相关,且大于所述图像流中每帧之间的时间间隔。例如,具体实现时,该时间间隔可以为0.35s,也即,每0.35s读取一次主体的最新位置,在读取到所述最新位置后,可以为当前展示的信息卡片生成从当前位置平滑移动到最新位置的动画。之后,就可以将信息卡片的位置保持在该最新位置处不变,直到下一周期读取到新的最新位置时,生成新的动画。
122.例如,如图4所示的时间轴,假设某信息卡片从a时刻开始展示,此时,可以根据a时刻主体所在的位置,将信息卡片展示到该位置处,并暂时不做动画,之后,每个间隔n1s做一次动画更新。例如,a时刻到b时刻之间的时间间隔为n1s,此时,虽然算法多次更新主体位置,同样客户端侧记录的信息也不断更新,但是不更新动画,也即信息卡片仍然在a时刻所在的位置。当b时刻来临时,利用最近更新的一个主体位置,开始让信息卡片用运动起来,具体的运动方式可以是,做一个n1s时长的平移动画。也即,信息卡片从a时刻的主体位置处沿直线平滑移动到b时刻所在的位置处。之后,该信息卡片在b时刻位置处保持不变,直到n1s后c时刻的到来,再通过n1s时长的平移动画,从b处移动到c处,以此类推。也就是说,在这种方式下,信息卡片的运动轨迹是被划分为多个分段的直线运动,这些分段的直线运动连在一起,实现对主体运动轨迹的拟合,并且可以使得信息卡片的运动更平滑流畅,减少卡顿现象。并且,多个分段的平移动画,对于客户端性能而言也更友好。
123.关于信息卡片与屏幕边缘碰撞的问题,也即,由于信息卡片通常可以为矩形,在跟随主体图像运动的过程中,可能会出现信息卡片与屏幕边缘的碰撞,以至于信息卡片的部分内容被遮挡,无法展示。
124.为了解决该问题,在本技术实施例中,可以预先将信息卡片与主体锚点(具体可以根据主体中心点的位置进行确定,例如,可以直接将主体中心点作为锚点,或者,还可以使得锚点与主体中心点在同一水平或竖直的直线上,等等)之间相对位置关系定义为多种类型,例如,假设可以定义两种不同的相对位置关系类型,分别为第一相对位置关系以及第二相对位置关系。具体如,可以分别为右下及左上。也就是说,在对信息卡片进行展示时,信息
卡片只可能出现在锚点的右下或者左上的位置。这样,在所述信息卡片跟随主体位置变化而运动的过程中,可以判断所述该信息卡片在当前的相对位置关系状态下,是否会与屏幕边缘发生碰撞,如果是则切换为其他相对位置关系。例如,信息卡片原来在主体锚点的右下位置,但是,随着主体的运动,信息卡片可能会与屏幕右边缘发生碰撞,以至于信息卡片中的部分信息可能被遮挡。此时,可以将信息卡片切换到左上位置。其中,在判断是否会与屏幕边缘发生碰撞时,假设当前信息卡片展示在主体锚点的右下方,则主要判断该信息卡片是否会与屏幕右边缘碰撞,具体的,可以将主体中心点的x轴方向坐标,加上卡片的长度,并判断所得的结果是否会超出屏幕右边缘,等等。
125.当然,在具体实现时,如果发现信息卡片在当前相对位置关系时会超出屏幕右边缘,则在切换到主体锚点的其他相对位置关系后,还可能会超出屏幕的左边缘,因此,在切换之前,还可以判断将当前信息卡片切换到主体锚点的其他相对位置关系后,是否会超出屏幕的左边缘,如果是,则可以不必切换,否则再进行切换。
126.其中,在前述对信息卡片的运动轨迹进行分段平滑拟合的实现方式下,可以在每隔n1s读取主体最新位置,并移动信息卡片后,对信息卡片是否会超出屏幕边缘进行判断。
127.另外,如图3(b)中的31处所示,在具体展示信息卡片的过程中,还可以在主体图像上展示出具体的锚点元素。而在进行相对位置关系切换的过程中,可以首先将锚点元素隐藏,在完成相对位置关系的切换后,再将所述锚点元素切换为可见状态。这样可以使得切换的过程更美观。
128.以上介绍了信息卡片与屏幕边缘进行碰撞时的解决方案,在实际应用中,还可能出现同一图像流中识别处多个主体的情况,此时,如果分别获取各自对应的商品信息搜索结果,并分别根据各自的状态生成对应类型的信息卡片,则在将多个信息卡片实时映射到所述实时图像流中,并跟随各自对应的主体位置变化而运动的过程中,多个信息卡片之间也可能会碰撞,也即,可能会出现一个信息卡片遮挡另一个信息卡片的内容等情况。
129.针对这种情况,本技术实施例中,还可以判断多个信息卡片之间是否会发生碰撞,如果是,则可以通过移动其中一个或者几个信息卡片的位置,以消除这种遮挡现象,而关于具体移动哪个信息卡片,在本技术实施例中,可以根据发生碰撞的信息卡片对应的主体状态优先级的不同,将较低优先级的主体对应的信息卡片展示位置进行移动。也就是说,由于本技术实施例中定义了多种不同的主体状态,而主体状态受到拍摄对象与距离镜头远近的影响,因此,同一图像流中的多个主体所处的状态可能是不同的,并且,距离镜头比较近的拍摄对象(主体图像面积占比越大),更有可能是用户最想搜索的对象,因此,对应的信息卡片可以以更高的优先级进行展示。这样,可以对各种不同的主体状态按照优先级高低进行排序,在发现某两个信息卡片发生碰撞时,可以将其中优先级较低的主体对应信息卡片移走。
130.需要说明的是,如果将某个信息卡片移动之后,该信息卡片会与屏幕边缘发生碰撞,则也会导致屏幕边缘对该信息卡片造成遮挡,此时,可能出现信息卡片无法移动的情况。因此,为了更好地降低不同信息卡片之间相互碰撞造成的影响(主要时对部分信息卡片中的内容造成的遮挡),还可以创建多个不同的图层,每个图层用于展示其中一种主体状态对应的信息卡片,并且,可以按照主体状态优先级的不同,对图层的上下层关系进行排序。例如,从上到下的第一图层可以用于承载互动状态对应的信息卡片等内容,第二图层可以
用于承载展示状态的“大卡”,第三图层用于承载展示状态的“小卡”,第四图层则用于承载发现状态的信息卡片,等等。这样,在某主体处于某状态时,具体的信息卡片可以展示在该状态对应的图层中。在针对同一主体进行不同类型的信息卡片切换展示时,还可以同时进行图层的切换。例如,某主体之前处于第一展示状态,信息卡片类型为展示状态的“小卡”,此时,该信息卡片可以展示在前述第三图层;在某时刻该主体状态变为第二展示状态,信息卡片类型切换为展示状态的“大卡”,此时,可以将该“大卡”映射到图像流中的第二图层,等等。
131.通过这种方式,使得不同主体状态对应的信息卡片,展示在不同图层中,并且,优先级越高的主体状态,对应的图层越靠上。这样,如果某两个不同主体状态对应的信息卡片发生碰撞,可以保证较高优先级的主体状态对应的信息卡片位于上层。这样,即使信息卡片之间发生碰撞,且较低优先级的信息卡片无法被移走,也可以避免较高优先级的主体状态对应的信息卡片,不会被较低优先级的主体状态对应的信息卡片遮挡。
132.另外,由于本技术实施例中定义了多种不同的主体状态,不同的主体状态可以对应生成不同类型的信息卡片,并且,同一主体在图像流中的主体状态通常会发生变化,因此,具体关于信息卡片的展示,还涉及到信息卡片类型的切换问题。也就是说,在将所述信息卡片实时映射到所述实时图像流中对应主体所在的位置处进行展示的过程中,如果主体状态发生变化,则将映射到所述实时图像流中的信息卡片的类型进行切换。例如,某时刻为某实体展示的是较小尺寸的信息卡片,之后,该实体图像面积占比增大,图像也更清晰,则可以切换为较大尺寸的信息卡片。例如,如图3(b)、(c)所示。
133.其中,由于信息卡片类型的切换,是由主体状态的变化事件进行触发的,而主体状态的变化则与主体图像的面积占比的变化情况有关。例如,如前文所述,将面积占比划分为四个区间,每个区间对应一种主体状态,而如果以某种确定的数值作为各种主体状态的边界,则在两种主体类型的边界处,可能会出现信息卡片“抖动”的情况。例如,假设主体图像面积占比b≤m《c时,为第一展示状态,对应的是较小尺寸的信息卡片(为便于描述,可以称为“小卡”),当主体图像面积占比c≤m《d时,则为第二展示状态,对应的是较大尺寸的信息卡片(为便于描述,可以称为“大卡”)。而如果主体图像的面积占比恰好在c处附近反复变化(可能是用户恰好在手持移动终端的过程中,手部有些抖动等),例如,假设c=0.5,则可能出现m在0.49与0.51之间来回变化的情况,此时,则可能出现图像流中“小卡”与“大卡”快速反复切换多次的现象,该现象就可以称为信息卡片的“抖动”现象。
134.为了解决信息卡片类型切换过程中的“抖动”现象,本技术实施例中采用了在各种主体状态的边界处添加缓冲的方式来实现。例如,在普通情况下,各种主体状态的划分方式可以为:
135.a《m《b为发现状态;
136.b《=m《c为展示“小卡”状态;
137.c《=m《d为展示“大卡”状态;
138.d《=m《e为互动状态。
139.但是,为了解决上述信息卡片类型切换过程中的“抖动”现象,可以在边界处增加缓冲n,此时,各种主体状态的划分方式可以为:
140.a《m《b为发现状态;
141.b n《=m《c为展示小卡状态;
142.c n《=m《d为展示大卡状态;
143.d n《=m《e为互动状态。
144.这样,可以使得两种不同的主体状态之间的边界处,存在大小为“n”的缓冲区,而不再是以单纯的某个数值作为边界。通过这种方式,如果用户在采集图像流的过程中,恰好在某主体的两种状态之间的边界处发生了“手抖”的情况在,则只要“手抖”造成的主体图像面积占比的变化量在n以内,则不会触发信息卡片类型的切换,以此解决主体类型边界处的信息卡片“抖动”问题。当然,在具体实现时,也可以使用其他的判断参数来确定主体状态,例如,包括主体图像的大小,清晰度,等等。
145.另外,在具体切换信息卡片类型的过程中,由于是将第一类型的信息卡片,切换为第二类型的信息卡片,这是两个不同的信息卡片,也即,相当于是由第二类型的信息卡片替换第一类型的信息卡片,因此,还可以对信息卡片类型的切换过程进行控制。例如,一种具体的实现方式下,可以将切换过程划分为两个阶段,第一阶段用于将所述实时图像流中当前投射的第一类型的信息卡片的透明度逐渐降低(例如,可以将透明度从1逐渐降低到0,也即,第一类型的信息卡片逐渐消失),第二阶段用于向所述实时图像流中投射第二类型的信息卡片,并将第二类型的信息卡片的透明度逐渐提高(例如,可以将透明度从0逐渐提高到1,也即,第二类型的信息卡片逐渐展示出来),等等。
146.需要说明的是,在通过信息卡片展示具体商品的信息的过程中,还可以通过信息卡片实现一些“行动点”,例如,其中就可以包括将商品加入批量结算商品集合(也即,俗称的“购物车”等)等。具体的,如果是在手机等移动终端设备中实现,则可以在信息卡片中提供用于将其中展示的商品加入“购物车”的操作选项。这样,用户如果对信息卡片中展示的商品感兴趣,则可以直接通过点击该操作选项,完成商品的加购,而不需要先进入搜索结果列表页,再进入具体商品详情页面进行加购,因此,可以缩短用户的操作路径。
147.或者,本技术实施例提供的方案除了可以在手机等移动终端中使用,还可以在ar眼镜设备中使用。也即,可以在ar眼镜设备端的相关应用程序中实现本技术实施例提供的功能。这样,用户在佩戴ar眼镜设备的状态下逛商场等线下实体店铺的过程中,可以通过该应用程序提供的入口进入到“实时图像流模式”,此时,可以通过ar眼镜中的摄像头等进行取景。并在采集动态图像流的过程中,可以进行主体识别,以及各种不同主体状态下信息卡片的切换展示,信息卡片跟随主体的运动,等等。另外,在这种场景中,ar眼镜相对于手机等移动终端的一方面优势在于,ar眼镜不需要手持,在采集图像流的过程中,可以解放用户的双手,与此同时,手部则可以通过ar眼镜关联的手柄对画面内容执行一些控制操作,或者,还可以通过做出一些手势对画面内容执行控制操作,等等。因此,在这种ar眼镜的场景下,关于将商品加入“购物车”的操作,可以不需要在信息卡片中为用户提供相关的加购按钮,而是可以通过检测用户对信息卡片执行的抓取并向目标方向(例如,用户的胸前方向,等等)移动的操作来实现。也就是说,在通过ar眼镜“看”商品等场所中某物体的过程中,可以将与该物体相关的商品搜索结果信息通过信息卡片进行展示,并且,可以通过ar眼镜查看到该信息卡片。之后,如果用户对该信息卡片上呈现的商品感兴趣,则可以通过手柄或者手势,执行对该信息卡片进行抓取,并向自己的胸前方向移动,则可以触发对该商品的加购操作。这样,通过结合用户“伸手去抓”信息卡片的互动方式,可以进一步提升互动的趣味性以
及用户的参与度。
148.需要说明的是,在上述ar眼镜的场景中,具体识别出的主体坐标可以是三维坐标,也即,可以包括深度信息,在将信息卡片映射到图像流的过程中,具体信息卡片的展示深度也可以跟随主体图像而变化。另外,在用户通过手势的方式,对信息卡片执行“抓取”及移动操作时,可以从图像流中识别出手部图像,之后,可以将被“抓取”的信息卡片的状态切换为跟随该手部图像运动,等等。
149.总之,通过本技术实施例,可以在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并且,还可以获取主体在多个图像帧中的位置及状态的变化情况,其中,具体的状态可以与主体部分图像的清晰度和/或在图像帧中所占的比例相关。在该实时图像流采集的过程中,还可以获取与所识别出的主体相关的商品信息搜索结果,并根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,将将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。这样,使得用户不仅可以在图像流中查看到摄像头实际拍摄到的内容,还可以查看到这种信息卡片,并且,信息卡片的类型还可以随着主体状态的变化而变化,这样,可以在实现将商品搜索结果前置到“镜头页”通过ar方式进行展示,提升搜索效率的同时,通过信息卡片类型的变化,使得用户可以逐步获得关于搜索到的商品更丰富、更详细的信息,也使得信息卡片更生动,有利于提升用户的参与度。
150.其中,针对上述方案实现过程中,在客户端侧遇到的信息卡片跟随主体运动过程中遇到的运动轨迹不连续的问题,本技术的优选实施例中,可以通过分段拟合的方式来解决该问题。也即,可以周期性地读取算法识别到的主体位置信息,在同一周期内,可以保持信息卡片的位置不变,直到下一周期到来,读取到主体最新位置时,再让信息卡片“运动起来”,具体的,可以为该信息卡片生成一段目标时长(等于该读取周期的长度)的平移动画,在该动画中,信息卡片可以呈现出连续性运动的效果,以此解决信息卡片运动轨迹不连续的问题,同时也降低对终端计算、展示等资源的占用。
151.针对信息卡片与屏幕边缘的碰撞问题,可以通过预先设定信息卡片与主体中心点之间的两种相对位置关系的方式,在存在这种碰撞时,可以通过切换相对位置关系的方式来进行解决。
152.针对信息卡片之间的碰撞问题,可以通过不同主体状态之间的优先级关系,确定不同类型信息卡片之间的优先级,进而可以将较低优先级的信息卡片确定为需要被移动的信息卡片,从而使得信息卡片之间不再相互遮挡。或者,还可以创建多个图层,不同主体状态对应的信息卡片可以展示在不同的图层,并且各图层之间的上下层关系也可以是按照主体状态之间的优先级关系进行固定配置,例如,互动状态的信息卡片可以固定展示在最上层的图层中,等等。这样,即使出现某信息卡片无法被移动的情况,也可以避免出现较高优先级的信息卡片被较低优先级的信息卡片遮挡。
153.针对同一主体在状态发生变化时,切换信息卡片类型过程中可能产生的“抖动”问题,不同主体状态的判断参数边界处存在缓冲区,以便所述判断参数在缓冲区内变化时,保持当前主体状态以及对应的信息卡片的类型不变。
154.另外,具体的主体状态还可以包括互动状态,在该状态下,还可以为用户提供互动信息。例如,如果在该状态保持一定时间,则可以自动跳转到搜索结果列表页面,或者,具体
商品的详情页面。或者,还可以将具体商品的3d模型等映射到实时图像中进行展示,等等。
155.再者,针对在3d眼镜场景,还可以通过结合用户“伸手去抓”信息卡片以完成商品加购的互动方式,可以进一步提升互动的趣味性以及用户的参与度。
156.实施例二
157.在该实施例二中,主要针对前述3d眼镜场景,提供了一种提供商品信息的方法,该方法各个步骤的执行主体可以是3d眼镜端的应用程序客户端,具体的,参见图5,该方法可以包括:
158.s501:在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别;
159.s502:获取与所识别出的主体相关的商品信息搜索结果;
160.s503:根据所述商品信息搜索结果生成待展示的信息卡片,并映射到所述实时图像流中对应主体所在的位置处进行展示;
161.s504:从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
162.关于该实施例二中的未详述部分,可以参见实施例一以及本技术说明书其他部分的记载,这里不再赘述。
163.需要说明的是,本技术实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
164.与实施例一相对应,本技术实施例还提供了一种提供商品搜索结果信息的装置,参见图6,该装置可以包括:
165.主体识别单元601,用于在对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别,并获取主体在多个图像帧中的位置及状态的变化情况,所述状态与主体在图像帧中的的位置和/或主体图像在屏幕中的面积占比相关;
166.商品搜索结果获取单元602,用于获取与所识别出的主体相关的商品信息搜索结果;
167.信息卡片生成单元603,用于根据所述商品信息搜索结果以及主体的状态生成待展示的信息卡片,其中,不同的主体状态对应不同的信息卡片类型;
168.信息卡片展示单元604,用于将所述信息卡片映射到所述实时图像流中对应主体所在的位置处进行展示。
169.具体的,所述请求单元具体可以用于:
170.对识别出的主体部分的图像大小及清晰度进行判断,如果所述主体部分的图像大小及清晰度满足第一条件,则获取与所识别出的主体相关的商品信息搜索结果。
171.另外,所述请求单元还可以用于:
172.识别出的主体部分的图像大小及清晰度逐渐提升的过程中,如果所述主体部分的图像大小及清晰度满足第二条件,则重新获取与所识别出的主体相关的商品信息搜索结果,并根据重新请求获得的商品信息搜索结果,更新所述信息卡片中展示的内容。
173.此外,该装置还可以包括:
174.过滤单元,用于对获取到的商品信息搜索结果中的商品图像与所识别出的主体图
像进行相似度比对,并根据比对结果对商品信息搜索结果进行过滤。
175.具体的,该装置还可以包括:
176.读取单元,用于在所述信息卡片跟随主体位置变化而运动的过程中,按照预置的时间间隔对识别出的主体的最新位置进行读取;其中,所述时间间隔与人眼视觉暂留时间相关,且大于所述图像流中每帧之间的时间间隔;
177.动画生成单元,用于在读取到所述最新位置后,为当前展示的信息卡片生成从当前位置平滑移动到所述最新位置的动画,并将信息卡片的位置保持在该最新位置处不变,直到下一周期读取到新的最新位置时,生成新的所述动画。
178.另外,所述信息卡片与主体的锚点之间相对位置关系为多种;所述锚点的位置根据主体中心点进行确定;
179.此时,该装置还可以包括:
180.相对位置关系切换单元,用于在所述信息卡片跟随主体位置变化而运动的过程中,判断所述信息卡片在当前相对位置关系状态下,是否会与屏幕边缘发生碰撞,如果是,则切换为其他相对位置关系。
181.其中,该装置还可以包括:
182.判断单元,用于在切换为其他相对位置关系之前,还判断切换为其他相对位置关系后,所述信息卡片是否会与另一屏幕边缘碰撞,如果否,则切换为其他相对位置关系,如果是,则保持为当前相对位置关系。
183.其中,所述实时图像流中主体锚点所在的位置处还展示有锚点元素;
184.此时,该装置还可以包括:
185.锚点元素展示处理单元,用于在进行相对位置关系切换的过程中,将所述锚点元素隐藏;在完成相对位置关系的切换后,将所述锚点元素切换为可见状态。
186.其中,如果所述实时图像流中识别出多个主体,则分别获取各自对应的商品信息搜索结果,并分别根据各自的状态生成对应类型的信息卡片;
187.此时,该装置还可以包括:
188.碰撞判断单元,用于在将多个信息卡片实时映射到所述实时图像流中,并跟随各自对应的主体位置变化而运动的过程中,判断所述多个信息卡片之间是否会发生碰撞;
189.卡片位置移动单元,用于如果是,则根据发生碰撞的信息卡片对应的主体状态优先级的不同,将较低优先级的主体对应的信息卡片展示位置进行移动。
190.其中,所述不同主体状态对应的信息卡片可以展示在不同的图层中,各图层按照各主体状态的优先级从高到低的顺序进行排列。
191.此外,该装置还可以包括:
192.卡片切换展示单元,用于在将所述信息卡片实时映射到所述实时图像流中对应主体所在的位置处进行展示的过程中,如果主体状态发生变化,则将映射到所述实时图像流中的信息卡片的类型进行切换。
193.其中,不同主体状态的判断参数边界处存在缓冲区,以便所述判断参数在缓冲区内变化时,保持当前主体状态以及对应的信息卡片的类型不变。
194.具体的,
195.在进行卡片类型切换的过程中,可以将切换过程划分为两个阶段,第一阶段用于
将所述实时图像流中当前投射的第一类型的信息卡片的透明度逐渐降低,第二阶段用于向所述实时图像流中投射第二类型的信息卡片,并将第二类型的信息卡片的透明度逐渐提高。
196.其中,主体状态是根据主体的位置和/或主体图像在屏幕中的面积占比而进行确定。
197.所述主体的状态包括展示状态,所述展示状态包括第一展示状态以及第二展示状态;其中,在所述展示状态下,所述信息卡片中用于展示所述商品搜索结果相关的内容;第一展示状态与第二展示状态对应的信息卡片的尺寸以及内容量不同。
198.所述主体的状态还包括发现状态,所述信息卡片在所述发现状态下,用于展示所述主体所属类别的识别结果。
199.所述主体的状态还包括互动状态;
200.所述装置还可以包括:
201.互动触发单元,用于在所述主体进入所述互动状态并保持阈值时间后,跳转到商品搜索结果列表页面,或者当前展示的信息卡片中包括的商品的详情页面进行展示。
202.或者,在所述主体进入所述互动状态后,将商品的三维模型投射到所述实时图像流中进行展示。
203.具体实现时,该装置还可以包括:
204.加购操作选项提供单元,用于在所述信息卡片中提供用于将其中展示的商品加入批量结算商品集合中的操作选项。
205.或者,该装置还可以包括:
206.操作检测单元,用于在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的情况下,从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
207.与实施例二相对应,本技术实施例还提供了一种提供商品信息的装置,参见图7,该装置可以包括:
208.主体识别单元701,用于在通过增强现实ar眼镜对拍摄对象进行实时图像流采集的过程中,从所述实时图像流中进行主体识别;
209.商品搜索结果获取单元702,用于获取与所识别出的主体相关的商品信息搜索结果;
210.信息卡片展示单元703,用于根据所述商品信息搜索结果生成待展示的信息卡片,并映射到所述实时图像流中对应主体所在的位置处进行展示;
211.商品添加单元704,用于从所述实时图像流中检测到用户执行的抓取所述信息卡片并向目标方向移动的操作时,将其中展示的商品加入批量结算商品集合中。
212.另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
213.以及一种电子设备,包括:
214.一个或多个处理器;以及
215.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法
的步骤。
216.其中,图8示例性的展示出了电子设备的架构,例如,设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,飞行器等。
217.参照图8,设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
218.处理组件802通常控制设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成本公开技术方案提供的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
219.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
220.电源组件806为设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为设备800生成、管理和分配电力相关联的组件。
221.多媒体组件808包括在设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
222.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
223.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
224.传感器组件814包括一个或多个传感器,用于为设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为设备800的显示器和小键盘,传感器组件814还可以检测设备800或设备800一个组件的位置改变,用户与设备800接触的存在或不存在,设备800方位或加速/减速和设备800的
温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
225.通信组件816被配置为便于设备800和其他设备之间有线或无线方式的通信。设备800可以接入基于通信标准的无线网络,如wifi,或2g、3g、4g/lte、5g等移动通信网络。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
226.在示例性实施例中,设备800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
227.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由设备800的处理器820执行以完成本公开技术方案提供的方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
228.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
229.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
230.以上对本技术所提供的提供商品搜索结果信息的方法及电子设备,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献