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

交互式寻找目标对象的方法和装置、安防系统和存储介质与流程

2022-06-01 12:14:35 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及一种交互式寻找目标对象的方法和装置、安防系统和存储介质。


背景技术:

2.随着安防技术的迅速发展,在很多重点区域会布置安防系统。安防系统中的摄像头可以通过采集、录制视频的方式对安防区域进行全天候监控。并且,现有的安防系统还允许用户通过网页端(如web端)在视频画面中规划出区域作为禁区,并对禁区进行重点监控。


技术实现要素:

3.本公开提供一种交互式寻找目标对象的方法和装置、安防系统和存储介质,以解决相关技术的不足。
4.根据本公开实施例的第一方面,提供一种交互式寻找目标对象的方法,包括:
5.处理预设的识别区域后并显示在第一画面内;所述预设的识别区域是在第二画面内配置生成的。
6.可选地,处理预设的识别区域,包括:
7.获取所述识别区域的初始位置数据,以及获取所述第一画面的尺寸;所述初始位置数据包括所述识别区域中各个顶点的第一坐标数据且各第一坐标数据的取值位于预设范围;
8.根据第一画面的尺寸调整所述初始位置数据中的第一坐标数据,获得目标位置数据;所述目标位置数据包括所述识别区域中各个顶点在第一画面中的第二坐标数据;
9.根据所述各个顶点的第二坐标数据在所述第一画面中展示所述识别区域。
10.可选地,所述初始位置数据是对所述识别区域的顶点按照预设顺序排序并记录各顶点的第一坐标数据得到的。
11.可选地,所述初始位置数据的数据结构包括:
[0012][0013]
可选地,根据第一画面的尺寸调整所述初始位置数据中的第一坐标数据,获得目标位置数据,包括:
[0014]
获取所述初始位置数据中各个顶点的第一坐标数据;所述第一坐标数据包括顶点的横坐标和纵坐标;
[0015]
将所述各个顶点的横坐标乘以所述第一画面的尺寸中的宽度以及将所述各个顶点的纵坐标乘以所述第一画面的尺寸中的高度,得到所述各个顶点在第一画面中的目标坐标数据。
[0016]
可选地,根据所述各个顶点的第二坐标数据在所述第一画面中展示所述识别区域之后,所述方法还包括:
[0017]
将所述识别区域的背景颜色调整为目标颜色。
[0018]
可选地,所述方法还包括生成所述初始位置数据的步骤,具体包括:
[0019]
根据第二画面中的目标操作或者目标对象的位置确定识别区域;
[0020]
获取所述识别区域中各个顶点的第三坐标数据,并将所述各个顶点的第三坐标数据保存到设定数组pointlist中;
[0021]
根据所述第二画面的尺寸调整所述各个顶点的第三坐标数据以使调整后的第一坐标数据位于所述预设范围内;
[0022]
按照预设顺序记录所述各个顶点的第一坐标数据,得到所述初始位置数据,并保存到设定数组areapoints中。
[0023]
可选地,所述识别区域中各个顶点的第三坐标数据通过以下公式获取:
[0024]
横坐标x=ev.clientx document.body.scrollleft-document.body.clientleft-document.queryselector('.frame').getboundingclientrect().left;
[0025]
其中,x=顶点距窗口左侧的距离 页面利用滚动条滚动到右侧时,隐藏在滚动条左侧的页面的宽度-透过浏览器看内容的这个区域左边的宽度-可绘制区域距窗口左侧的距离;
[0026]
纵坐标y=ev.clienty document.body.scrolltop-document.body.clienttop-document.queryselector('.frame').getboundingclientrect().top;
[0027]
其中,y=顶点距窗口顶部的距离 页面利用滚动条滚动到下端时,隐藏在滚动条上端的页面的宽度-透过浏览器看内容的这个区域顶部的宽度-可绘制区域距窗口顶部的距离。
[0028]
可选地,所述方法还包括:
[0029]
当检测到选择所述第二画面中的功能组件的操作时,显示所述功能组件对应的交互界面;所述交互界面内包括画笔组件和/或保存组件;
[0030]
当检测到选择所述画笔组件的操作时,获取所述画笔组件在所述第二画面中的触发位置并将所述触发位置作为所述识别区域的一个顶点,将所述触发位置的第三坐标数据存入设定数组pointlist之中;
[0031]
和/或,当检测到选择所述保存组件的操作时,将所述设定数组pointlist中的第三坐标数据处理为第一坐标数据并将所述第一坐标数据保存到所述设定数组areapoints。
[0032]
可选地,所述方法还包括:
[0033]
当检测到选择所述保存组件的操作时,检测是否已经配置所述识别区域的识别功能类型;所述识别功能类型包括全图配置和/或区域配置;
[0034]
当检测到未配置所述识别功能类型时,显示包括全图配置组件和/或区域配置组件的类型交互界面;
[0035]
当检测到选择所述全图配置组件和/或所述区域配置组件的操作时,保存所述识别功能类型。
[0036]
可选地,所述方法还包括:
[0037]
当检测到选择所述保存组件的操作时,在所述第二画面内显示用于提示所述识别区域完成配置的预设提示信息。
[0038]
可选地,所述交互界面内还包括橡皮擦组件,所述方法还包括:
[0039]
当检测到选择所述橡皮擦组件的操作时,删除设定数组pointlist和设定数组areapoints。
[0040]
根据本公开实施例的第二方面,提供一种交互式寻找目标对象的装置,包括:
[0041]
识别区域处理模块,用于处理预设的识别区域后并显示在第一画面内;所述预设的识别区域是在第二画面内配置生成的。
[0042]
根据本公开实施例的第三方面,提供一种安防系统,包括:
[0043]
处理器;
[0044]
用于存储所述处理器可执行的计算机程序的存储器;
[0045]
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如上述的方法。
[0046]
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如上述的方法。
[0047]
本公开的实施例提供的技术方案可以包括以下有益效果:
[0048]
由上述实施例可知,本公开实施例提供的方案中可以处理预设的识别区域后并显示在第一画面内;所述预设的识别区域是在第二画面内配置生成的。这样,本实施例中可以使识别区域的尺寸与第一画面的尺寸相匹配,避免出现识别区域无法显示或者变形的问题,提升使用体验。
[0049]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0050]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0051]
图1是根据一示例性实施例示出的一种交互式寻找目标对象的方法的流程图。
[0052]
图2是根据一示例性实施例示出的一种获取初始位置数据的流程图。
[0053]
图3是根据一示例性实施例示出的一种配置界面的效果示意图。
[0054]
图4是根据一示例性实施例示出的一种确定识别匹配的顶点的效果示意图,(a)图示出确定横坐标的效果示意图,(b)图示出确定横坐标的效果示意图。
[0055]
图5是根据一示例性实施例示出的一种获取识别功能类型的流程图。
[0056]
图6是根据一示例性实施例示出的一种获取目标对象的流程图。
[0057]
图7是根据一示例性实施例示出的另一种获取目标对象的流程图。
[0058]
图8是根据一示例性实施例示出的一种获取目标信息的流程图。
[0059]
图9是根据一示例性实施例示出的另一种获取目标信息的流程图。
[0060]
图10是根据一示例性实施例示出的又一种获取目标信息的流程图。
[0061]
图11是根据一示例性实施例示出的又一种获取目标信息的流程图。
[0062]
图12是根据一示例性实施例示出的又一种获取目标信息的流程图。
[0063]
图13是根据一示例性实施例示出的一种显示导航路线和导航标识的效果示意图。
[0064]
图14是根据一示例性实施例示出的一种获取特征向量的流程图。
[0065]
图15是根据一示例性实施例示出的一种显示历史轨迹和位置图像的效果示意图。
[0066]
图16是根据一示例性实施例示出的一种交互式寻找目标对象的系统的框图。
[0067]
图17是根据一示例性实施例示出的另一种交互式寻找目标对象的系统的框图。
[0068]
图18是根据一示例性实施例示出的又一种交互式寻找目标对象的系统的框图。
[0069]
图19是根据一示例性实施例示出的又一种交互式寻找目标对象的系统的框图。
[0070]
图20是根据一示例性实施例示出的又一种交互式寻找目标对象的系统的框图。
[0071]
图21是根据一示例性实施例示出的一种安防系统的框图。
具体实施方式
[0072]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置例子。需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
[0073]
为解决上述技术问题,本公开实施例提供了一种交互式寻找目标对象的方法,可以应用于交互式寻找目标对象的系统。在一示例中,该交互式寻找目标对象的系统可以包括第一终端、第二终端和服务器。其中第一终端可以用于显示方便用户寻找对象的画面以及输入交互指令的设备,例如智能手机、平板电脑、个人计算机、立式屏、拼接屏或者联席终端等用户可以触控操作的终端。第二终端可以包括多个具有图像采集功能的设备,例如摄像头、立式屏等等,其可以将采集的图片或者视频流、上传的图片或者视频流等多媒体文件上传到服务器。服务器可以采用至少一台服务器或者服务器集群实现,可以在接收到第一终端的交互指令时处理第二终端上传的图像,从而获取对象的目标信息,并展示在第一终端。后续实施例中以服务器执行一种交互式寻找目标对象的方法为例描述各实施例的方案。但不构成限定。
[0074]
图1是根据一示例性实施例示出的一种交互式寻找目标对象的方法的流程图。参见图1,一种交互式寻找目标对象的方法,包括步骤11~步骤14。
[0075]
在步骤11中,获取第一终端发送的第一交互指令。
[0076]
本实施例中,在显示画画时,第一终端可以检测用户是否触发第一终端的触控屏。在有输入交互指令的需求时,用户可以触发操作第一终端的交互界面以用于输入交互指令,其中上述交互指令可以包括但不限于识别区域的坐标数据、识别对象的图像、保存图像、通过扫码方式获得的用户数据等等,可以根据具体场景选择合适的指令,在此不作限定。为方便描述,本公开中建立任务的指令称之为第一交互指令,将取消之前所建立任务的
指令称之为第二交互指令。
[0077]
以一种寻人场景为例,第一交互指令可以为识别区域的坐标数据。例如,在有寻人需求时,用户可以在交互界面内点击多个位置形成一个多边形即识别框,该识别框内的区域为识别区域,该识别区域内包含待识别的对象。此时,第一终端可以获取识别区域的坐标数据(本示例中以识别区域中顶点的坐标数据来表示识别区域的坐标数据)并将该坐标数据作为交互指令发送给服务器。
[0078]
以另一种寻人场景为例,第一交互指令可以为识别对象的位置图像。例如,在有寻人需求时,用户可以选择交互界面内的上传按键,并选择一张包括所寻找对象的图像。第一终端可以利用预设的识别算法识别出图像中各个对象并生成各个对象的最小外接框,然后基于最小外接框裁切上述图像得到各个对象对应的位置图像。第一终端可以识别对象的位置图像作为第一交互指令上传到服务器。这样,服务器可以获得上述第一交互指令。
[0079]
以一种停车场寻车场景为例,第一交互指令可以是通过扫码方式获得的用户数据。例如,当有在停车场寻车的需求时,第一终端可以响应于用户的触发操作在交互界面内出现扫码界面或者出现二维码。以出现扫码界面为例,第一终端可以扫描第二终端中立式屏所出现的二维码,从而与立式屏进行通信并上传用户数据和建立映射关系,其中用户数据可以是用户在注册时所填写的至少一项信息,例如姓名、用户名、车牌号码和第一终端识别码等。第一终端可以通过立式屏将用户数据作为第一交互指令发送给服务器。这样,服务器可以获得上述第一交互指令。
[0080]
以另一种停车场寻车场景为例,第一交互指令可以是在用户知情的情况下通过摄像头采集的用户图像并识别出用户特征数据。例如,当有在停车场寻车的需求时,第一终端可以响应于用户的触发操作从交互界面切换到拍摄界面,当拍摄界面内出现人脸时拍摄图像;然后,利用预设的图像识别模型识别图像获得用户特征数据。其中,第一终端可以是用户持有的终端设备,也可以是停车场内的立式屏等设备,可以根据具体场景进行设置。最终,停车场内的立式屏将用户数据作为第一交互指令发送给服务器。这样,服务器可以获得上述第一交互指令。
[0081]
需要说明的是,在一示例中第一终端可以将识别区域的坐标数据作为第一交互指令直接发送给服务器,还可以将坐标数据即初始坐标数据作为第一交互指令发送给服务器,该初始坐标数据中各个顶点的坐标数据的取值位于预设范围之内,其中预设范围是指[0,1]。那么,第一终端获取识别区域的初始坐标数据可以包括步骤21~步骤24。
[0082]
在步骤21中,第一终端可以根据当前画面(后续称之为第二画面)中的目标操作或者目标对象的位置确定识别区域。实际应用中,当有设置识别区域的需求时,用户通常会在显示器的(当前画面或者浏览器呈现)第二画面中连续点击确定多个点,这些点可以作为识别区域的顶点围成一个识别区域。
[0083]
也就是说,识别区域通常具有多个顶点,这多个顶点依次连接后形成一个多边形,该多边形的内部区域即构成识别区域,例如三角形区域、四边形区域等。本示例中,各个顶点的第一坐标数据位于预设范围,该预设范围为[0,1];或者说,可以设置一个参考画面,将参考画面的左上角设置为坐标原点(0,0),参考画面的右下角设置为(1,1),识别区域的初始位置数据即是在上述参考画面的坐标数据。
[0084]
在一示例中,交互界面内通常设置有功能组件,当检测到选择第二画面中的功能
组件的操作时,第一终端可以显示上述功能组件对应的交互界面。其中交互界面可以包括画笔组件和保存组件。参见图3,该交互界面内可以包括画笔组件31和保存组件32。
[0085]
当检测到选择画笔组件的操作时,第一终端可以获取画笔组件在第二画面中的触发位置,并将该触发位置作为识别区域的一个顶点,此时可以获取该触发位置的第三坐标数据。
[0086]
以获取识别区域的一个顶点p为例,参见图4中(a)图和(b)图,第一终端的显示屏42内全屏显示浏览器43;该浏览器43内显示第二画面41,第二画面41内的触发位置p作为上述顶点p,浏览器43内显示的文件44。那么触发位置p的第三坐标数据如下:
[0087]
横坐标x=ev.clientx document.body.scrollleft-document.body.clientleft-document.queryselector('.frame').getboundingclientrect().left;
[0088]
其中,x=顶点p距窗口左侧的距离(即ev.clientx) 页面利用滚动条滚动到右侧时隐藏在滚动条左侧的页面的宽度(即document.body.scrollleft)-透过浏览器看内容的这个区域左边的宽度(即document.body.clientleft)-第二画面距窗口左侧的距离(document.queryselector('.frame').getboundingclientrect().left)。
[0089]
纵坐标y=ev.clienty document.body.scrolltop-document.body.clienttop-document.queryselector('.frame').getboundingclientrect().top;
[0090]
其中,y=顶点距窗口顶部的距离(即ev.clienty) 页面利用滚动条滚动到下端时隐藏在滚动条上端的页面的宽度(即document.body.scrolltop)-透过浏览器看内容的这个区域顶部的宽度(即document.body.clienttop)-第二画面距窗口顶部的距离(document.queryselector('.frame').getboundingclientrect().top)。
[0091]
在步骤22中,第一终端可以获取所述识别区域中各个顶点的第三坐标数据,并将所述各个顶点的第三坐标数据保存指定位置的设定数组pointlist中。本步骤中,在获取到触发位置的第三坐标数据之后,第一终端可以存入设定数组pointlist之中。用户可以利用画笔组件在第二画面内重复操作(即多次点击操作),第一终端可以检测到多个触发位置以及每个触发位置的第三坐标数据。实际应用中,当检测到3个以上的触发位置后,第一终端即可将这几个触发位置依次连接形成一个封闭的候选区域,并在第二画面内显示出来供用户观看。
[0092]
在步骤23中,第一终端可以根据所述第二画面的尺寸调整所述各个顶点的第三坐标数据以使调整后的第一坐标数据位于所述预设范围内。继续参见图3,交互界面内还包括保存组件32。当检测到选择完成组件的操作时,第一终端可以将设定数组pointlist中的第三坐标数据处理为第一坐标数据并将第一坐标数据保存到指定位置的设定数组areapoints。例如,第二画面的尺寸包括宽度和高度,第一终端可以将第三坐标数据中的横坐标除以第二画面的宽度,将第三坐标数据中的纵坐标除以第二画面的高度,从而将第三坐标数据缩小为第一坐标数据。
[0093]
在步骤24中,第一终端可以按照预设顺序记录所述各个顶点的第一坐标数据,得到识别区域的坐标数据即初始位置数据,并保存到设定数组areapoints中。上述预设顺序可以包括顺时针或者逆时针。例如,第一终端可以以识别区域的中心为基准,按照顺时针顺序记录识别区域的各个顶点的第一坐标数据,并且识别区域所有顶点的第一坐标数据可以
构成初始位置数据。并且,第一终端可以将上述初始位置数据保存到设定数组areapoints中,该设定数组areapoints中的初始位置数据可以作为第一交互指令上传到服务器。
[0094]
需要说明的是,设定数组pointlist是第一终端存储第三坐标数据的变量名,设定数组areapoints是第一终端存储第一坐标数据的变量名,即设定数组pointlist和设定数组areapoints用于分别存储处理前后的坐标数据。在一示例中,上述设定数组pointlist和设定数组areapoints可以采用先入先出队列实现,从而方便将识别区域的顶点按照预设顺序存储以及方便按照预设顺序读取,达到提升存取效率的效果。
[0095]
在一实施例中,第一终端在检测到选择保存组件的操作时,在第二画面内显示用于提示识别区域完成配置的预设提示信息。在一示例中,第一终端可以在第二画面的左上角出现“区域配置完成”的预设提示信息,并采用3秒内淡出的动画效果来提醒用户,以使用户确定识别区域完成匹配,提升使用体验。
[0096]
在一示例中,初始位置数据的数据结构包括:
[0097][0098]
结合上述数据结构中设定数组areapoints的坐标结构,第三坐标数据为52,133.25,581,81.25,754,298.25,42,324.25,即:
[0099]
第1个顶点的横坐标为52,第1个顶点的纵坐标为133.25;
[0100]
第2个顶点的横坐标为581,第2个顶点的纵坐标为81.25;
[0101]
第3个顶点的横坐标为754,第3个顶点的纵坐标为298.25;
[0102]
第4个顶点的横坐标为42,第4个顶点的纵坐标为324.25。
[0103]
假设第二画面的宽度为800和高度为450,单位像素。这样,转换后的第一坐标数据为:
[0104]
0.065,0.2961111111111111,0.72625,0.18055555555555555,0.9425,0.6627777777777778,0.0525,0.7205555555555555。
[0105]
即:
[0106]
第1个顶点的横坐标为0.065,第1个顶点的纵坐标为0.2961111111111111;
[0107]
第2个顶点的横坐标为0.72625,第2个顶点的纵坐标为0.18055555555555555;
[0108]
第3个顶点的横坐标为0.9425,第3个顶点的纵坐标为0.6627777777777778;
[0109]
第4个顶点的横坐标为0.0525,第4个顶点的纵坐标为0.7205555555555555。
[0110]
在一实施例中,继续参见图3,交互界面内还包括橡皮擦组件33。当检测到选择橡皮擦组件33的操作时,第一终端可以删除设定数组pointlist和设定数组areapoints,从而
方便重新设置识别区域。
[0111]
结合初始位置数据的数据结构,在一实施例中,第一终端还可以对识别功能进行判断,参见图5,包括步骤51~步骤53。
[0112]
在步骤51中,当检测到选择所述保存组件的操作时,第一终端可以检测是否已经配置识别区域的识别功能类型;该识别功能类型包括全图配置和区域配置,其中全图配置是指识别区域占满第二画面,区域配置是指识别区域占第二画面的一部分。
[0113]
在步骤52中,当检测到未配置识别功能类型时,第一终端可以显示包括全图配置组件和/或区域配置组件的类型交互界面。
[0114]
在步骤53中,当检测到选择所述全图配置组件或者所述区域配置组件的操作时,第一终端可以保存所述识别功能类型。这样,本实施例可以通过设置识别功能类型,可以保证数据结构的完整性,有利于后续显示识别区域。
[0115]
当某一个第二终端需要显示上述识别区域及对象时,可以从服务器读取上述初始位置数据,并且可以获取自身当前画面即第一画面的尺寸。考虑到将一个终端的显示内容转移到另一个终端上显示时会受到两个终端尺寸或者画面尺寸的影响,即第一终端的第二画面转换到第二终端的第一画面时会发生变化。
[0116]
为此,第二终端可以获取第一画面的第一尺寸和第二画面的第二尺寸;然后获得第一尺寸和第二尺寸的比例;之后,将第二画面乘以上述比例可以得到第一画面的尺寸。也就是说,在第二终端的尺寸较用户设置识别区域所在的第一终端的尺寸发生变化时,第一画面与第二画面也同比例变化,进而识别区域也会同比例变化,避免出现识别区域无法显示或者变形的问题,提升使用体验。这样,本实施例中可以在任一个显示设备上设置识别区域,在交互式寻找目标对象的系统的任意一个显示设备上显示上述识别区域,即无需在所有显示设备上配置上述识别区域,从而提升配置效率。
[0117]
为方便计算,假设第二画面的尺寸与第一画面的尺寸相同,那么第一画面的尺寸是第二画面的尺寸两者的比例为1,即第一画面的宽度为800,高度为450,单位像素,效果如图4所示。
[0118]
需要说明的是,考虑到不同终端显示画面时的配置数据不同,那么在第二终端获得第一终端上传识别区域的坐标数据即初始位置数据,可以根据预设转换规则生成一个三角形。例如第一终端的识别区域可以是矩形而第二终端的识别区域可以是三角形,那么预设转换规则可以是基于初始位置数据中的识别区域的形状生成一个最小外接三角形,并将该最小外接三角形作为第二终端的识别框。又如第一终端的识别区域可以是三角形而第二终端的识别区域可以是矩形,那么预设转换规则可以是基于初始位置数据中的识别区域的形状生成一个最小外接矩形,并将该最小外接矩形作为第二终端的识别框。也就是说,在获取初始位置数据后可以先转换成在本终端对应的目标位置数据并获得识别区域的形状后,再在上述形状的基础上生成一个最小外接形状作为本终端的识别区域的形状。可以理解的是,上述预设转换规则仅仅示例了不同识别区域形状之间转换的一种示例,技术人员可以根据具体场景选择相应的转换规则,例如最小外接圆形、最小内接圆形等,相应方案同样落入本公开的保护范围。可理解的是,本实施例中允许不同终端的识别框采用不同的形状,可以满足不同用户的使用需求,有利于提升使用体验。或者说,目标对象在不同终端出现时,不同终端的识别框可以标示同一个目标对象,保证目标对象不丢失,达到追踪对象的效果。
[0119]
在步骤12中,确定所述第一交互指令对应的目标对象。
[0120]
本实施例中,在获得第一交互指令后,服务器可以确定第一交互指令对应的目标对象。其中,目标对象可以包括以下至少一种:人、车辆、识别区域的识别框。其中,当目标对象为人时,可以采用包含人的位置图像的特征向量来表示;当目标对象为车辆时,可以采用车辆的车牌号来表示,还可以采集寻找该车辆用户的位置图像的特征向量来表示。当目标对象为识别区域的识别框,识别区域的识别框可以包括如上述的矩形、三角形、圆形等形状的识别框。
[0121]
在一实施例中,以目标对象是人为例,当第一交互指令为识别区域的坐标数据时,参见图6,在步骤61中,服务器可以获取第一终端在检测到第一交互指令时所显示的图像,即获取第一交互指令对应的当前图像,该当前图像包括输入第一交互指令所指定的当前视频帧或者图像帧或者输入第一交互指令时上传的图像。以第一终端显示视频流为例,在步骤62中,服务器可以识别当前图像中的目标对象,得到目标对象所在位置的位置图像。在步骤63中,服务器可以提取上述位置图像的特征向量,并利用该位置图像的特征向量表征目标对象。本实施例可以适用于上传图像或者显示某一张图像的场景,有利于提升处理效率。
[0122]
在一实施例中,以目标对象是人为例,当第一交互指令为识别区域的坐标数据时,参见图7,在步骤71中,服务器可以获取第一交互指令对应的多媒体文件地址,即第一终端除了上传识别区域的坐标数据外,还可以将多媒体文件地址作为第一交互指令的内容同时上传到服务器。在步骤72中,服务器可以根据上述多媒体文件地址获取第一视频帧。在步骤73中,服务器可以根据第一交互指令所包括的识别区域的坐标数据和第一视频帧确定识别区域对应的位置图像,即目标对象的位置图像。在步骤74中,服务器可以提取所述位置图像的特征向量,并利用所述位置图像的特征向量表征所述目标对象。这样,本实施例中上传第一交互指令时传输多媒体文件地址比传输图像的速度更快,有利于提升处理效率。
[0123]
在一实施例中,以目标对象是识别框为例,当第一交互指令为识别区域的坐标数据时,服务器可以根据识别区域的坐标数据生成识别框,并利用该识别框表征目标对象。
[0124]
考虑到第一交互指令中识别区域的坐标数据可能以上述初始位置数据的方式来存储,此时服务器可以获取初始位置数据中各个顶点的坐标数据,例如,
[0125]
0.065,0.2961111111111111,0.72625,0.18055555555555555,0.9425,0.6627777777777778,0.0525,0.7205555555555555,
[0126]
即第1个顶点的横坐标为0.065,第1个顶点的纵坐标为0.2961111111111111;
[0127]
第2个顶点的横坐标为0.72625,第2个顶点的纵坐标为0.18055555555555555;
[0128]
第3个顶点的横坐标为0.9425,第3个顶点的纵坐标为0.6627777777777778;
[0129]
第4个顶点的横坐标为0.0525,第4个顶点的纵坐标为0.7205555555555555。
[0130]
然后,服务器可以获取第一画面的尺寸,该第一画面可以是第一终端显示的画面也可以是第二终端显示的画面。并且,服务器可以将各个顶点的横坐标乘以第一画面尺寸中的宽度以及将各个顶点的纵坐标乘以第一画面尺寸中的高度,得到各个顶点在第一画面中的目标坐标数据。
[0131]
以第一画面与第二画面的尺寸相同为例,假设第二画面的宽度为800和高度为450,单位像素。这样,在获得第一画面中各顶点的第二坐标数据后,服务器可以获得目标坐标数据,即识别区域的各个顶点在第一画面中的第二坐标数据与第二画面中的第三坐标数
据相同,得到目标坐标数据中第二坐标数据为52,133.25,581,81.25,754,298.25,42,324.25;
[0132]
即第1个顶点的横坐标为52,第1个顶点的纵坐标为133.25;
[0133]
第2个顶点的横坐标为581,第2个顶点的纵坐标为81.25;
[0134]
第3个顶点的横坐标为754,第3个顶点的纵坐标为298.25;
[0135]
第4个顶点的横坐标为42,第4个顶点的纵坐标为324.25。
[0136]
假设第二画面的宽度为800和高度为450,单位像素。这样,在获得第一画面中各顶点的第二坐标数据后,可以获得目标坐标数据。
[0137]
在一实施例中,在第一画面中展示识别区域后,还可以将识别区域的背景颜色调整为目标颜色,例如绿色、红色等。以识别区域为禁区为例,此时背景颜色可以调整为红色,以识别区域为开放区域为例,此时背景颜色可以调整为绿色。这样,通过调整识别区域的背景颜色,有利于提升识别区域的辨识度。
[0138]
在一些实施例中,当第一交互指令为扫码获得的用户数据时,服务器可以根据用户数据确定出目标对象。例如可以根据用户数据中的车牌号以及历史数据中的车辆号对应车辆的停车位置来确定车辆的停放位置,并在车辆的停放位置生成识别框。或者,服务器可以获取第一终端的当前位置,然后在地图上生成当前位置对应的识别框,并利用该识别框表征目标对象。
[0139]
需要说明的是,在寻人场景中,用户通常是通过第一终端的画面来寻找目标对象,此时目标对象可能会出现在第二终端的覆盖范围之中,第二终端采集的画面会被同步到第一终端来显示。也就是说,对于目标对象和用户(监控人员)而言,用户可以看成静止状态,而目标对象处于移动状态,目标对象的移动方向与用户是随机的。在寻车场景中,本公开中可以将车辆看作寻人场景中的用户而驾驶员看作寻人场景中的目标对象,目标对象的移动方向是移向车辆,上述构思的本质驾驶员的移动和车辆的静止是相对的,故驾驶员的移动可以转换成车辆的相对移动,即驾驶员本身移动而看成静止且车辆本身静止而看成移动。换言之,本公开中寻人场景和寻车场景属于相同的构思,均可以按照寻人的构思来寻找目标对象(待寻找的人或者驾驶员)。
[0140]
在步骤13中,获取所述目标对象的目标信息;所述目标信息包括以下至少一项:位置图像的特征向量、目标对象的当前位置、当前位置的画面信息、目标对象的历史轨迹和导航路线。
[0141]
本实施例中,服务器可以获取目标对象的目标信息。
[0142]
在一实施例中,以目标信息是目标对象的位置图像的特征向量为例,目标信息可以是位置图像的特征向量。参见图8,在步骤81中,服务器可以获取第一交互指令对应的第一终端设备编号。在步骤82中,服务器可以根据所述第一终端设备编号获取所述第一终端周边至少一个第二终端的周边设备编号,并将所述周边设备编号和所述位置图像的特征向量作为所述目标对应的目标信息。在一些实施例中,服务器可以将上述特征向量和周边设备编号发送到指定存储区域,该指定存储区域包括以下至少一种:消息队列或者对象数据库。其中,服务器中预先存储第二终端的第二终端设备编号、各终端所在的物理位置、以及各终端周围终端的编号等,基于上述信息可以生成第二终端与第二终端之间的第一映射关系。
[0143]
需要说明的是,在寻人场景中,上述第一终端用于显示某一个包含目标对象的第二终端的画面,因此第一终端实质上是指上述包含目标对象的第二终端。在寻车场景中,上述第一终端同样用于显示某一个包含目标对象的第二终端(如立式屏或者摄像头)的画面,并采用上述第二终端的位置来表征第一终端的位置,因此第一终端实质上是指上述包含目标对象的第二终端。
[0144]
换言之,服务器可以上述第一映射关系可以理解成第一终端和第二终端之间的第二映射关系。这样,服务器中预先存储第一终端和第二终端之间的第二映射关系,该第二映射关系可以包括第一终端设备编号和第二终端设备编号、各终端所在的物理位置、以及各终端周围终端的编号等,技术人员可以根据具体场景设置第二映射关系的内容,相应方案落入本公开的保护范围。这样,本实施例中通过获取第一终端周边至少一个第二终端的周边设备编号可确定后续获取其他数据的来源,有利于提升数据处理效率。
[0145]
在一实施例中,参见图9,在步骤91中,服务器可以获取第一交互指令对应的当前图像;当前图像包括输入第一交互指令时所指定当前视频帧或者图像帧或者输入第一交互指令时上传的图像。在步骤92中,基于预设的第一终端和第二终端之间的第二映射关系,服务器可以根据分布在不同位置的第二终端的位置数据和所述第二映射关系获取所述第二终端所在场景的场景信息。其中,场景信息包括以下至少一种:第二终端采集的图像和场景要素;所述场景要素包括以下至少一种:第二终端设备编号和所述第二终端周边的周边设备编号。在步骤93中,服务器可以根据所述场景信息获取所述目标对象的目标信息。
[0146]
在一实施例中,场景信息包括画面信息,服务器可以根据分布在不同位置的第二终端的位置数据和所述第二映射关系获取所述第二终端所在场景的场景信息,可以包括:服务器可以获取第一交互指令对应当前图像的特征向量。然后,服务器可以获取对象数据库中与当前图像的特征向量相匹配的候选特征向量,得到目标特征向量;对象数据库中包括与第一终端具有第二映射关系的第二终端上传的画面信息对应的候选特征向量。之后,服务器可以获取所述目标特征向量对应的画面信息,并将所述画面信息作为所述场景信息。这样,本实施例中仅需要在与第一终端具有第二映射关系的候选特征向量中确定目标特征向量,可以提升获取场景信息的效率。
[0147]
在一实施例中,在获取目标特征向量的过程中,服务器可以更新对象数据库,对象数据库中包括若干个候选特征向量。例如,对象数据库包括第一数据库时,服务器可以获取目标对象所述的当前图像,该当前图像为所述第一交互指令对应当前流地址的第一帧图像;识别第一帧图像中的第二数量个对象,获取第二数量个位置图像;分别提取各位置图像的特征,得到第二数量个特征向量;将第二数量个特征向量更新到第一数据库,并得到特征向量id。又如,对象数据库包括第二数据库时,服务器可以将第二数量个位置图像保存到第二数据库,并获得第二数据库返回的可访问各位置图像的url地址,以及各位置图像的特征向量更新到第一数据库所生成的特征向量id;根据特征向量id和url地址生成第二数量条数据,并将第二数量条数据保存到第二数据库。这样,服务器在获得特征向量id时可以在第二数据库时搜索到位置图像,达到特征向量和位置图像一一匹配的效果。然后,服务器可以根据目标对象的特征向量与对象数据库中的候选特征向量进行匹配,得到第一数量个候选特征向量。之后,服务器可以获取第一数量个候选特征向量中相似度最大的候选特征向量作为目标特征向量。
[0148]
在一实施例中,以目标信息是目标对象的历史轨迹为例,参见图10,步骤93中服务器可以根据所述场景信息获取所述目标对象的历史轨迹,包括步骤101~步骤102。在步骤101中,服务器可以获取所述场景信息中画面信息的至少一个对象,所述至少一个对象中包括所述目标对象。在步骤102中,服务器可以根据目标对象出现在各个场景信息中的时间顺序,生成目标对象的历史轨迹,并将历史轨迹作为目标对象的目标信息。这样,本实施例中通过获取目标对象的历史轨迹可以对目标对象进行追踪,适用于寻人的场景。
[0149]
可理解的是,在步骤102中,服务器根据目标对象出现在各个场景信息中的时间进行排序时,可以获得距离当前时间最近的场景信息;获取该场景信息对应的第二终端的位置,并将该第二终端的位置作为目标对象的当前位置,这样服务器可以将目标对象的当前位置作为目标对象的目标信息。
[0150]
在一实施例中,以目标信息是目标对象的画面信息为例,参见图11,步骤93中服务器可以根据所述场景信息获取所述目标对象的历史轨迹,包括步骤111~步骤113。
[0151]
在步骤111中,服务器可以提取所述场景信息中画面信息的至少一个对象,获得各对象对应的位置图像。在步骤112中,服务器可以确定与所述当前图像相匹配的目标位置图像。第二终端可以将采集的图像或者视频帧上传到服务器。服务器可以调整第二终端上传的图像或者视频帧,获得各图像或者视频帧中的至少一个对象,并获得各对象对应的位置图像。然后,服务器可以提取各位置图像的特征向量并存储到对象数据中第一数据库中作为候选特征向量。服务器获取当前图像的特征向量,并利用该当前图像的特征向量与对象数据中第一数据库中的候选特征向量进行匹配,例如计算两个特征向量的相似度;然后对相似度进行排序,将相似度最大时对应的候选特征向量作为目标特征向量,该目标特征向量对应的位置图像作为目标位置图像。在步骤113中,服务器可以根据所述场景信息和第二终端的对应关系确定所述目标位置图像对应的第二终端的位置数据,并将所述第二终端的位置数据作为所述目标对象的目标信息,从而获取目标对象的实时位置。
[0152]
在一实施例中,以目标信息是导航路线为例,参见图12,步骤93中服务器可以根据所述场景信息获取导航路线,包括步骤121~步骤122。在步骤121中,服务器可以获取第一终端的位置数据。其中该第一终端的位置数据可以通过第一终端与第二终端(如立式屏)之间的通信上传到服务器,服务器可以获得第一终端的位置数据。或者,第一终端与基准信号源通信来获得第一终端的位置数据,例如服务器可以获取与第一终端距离较近的至少三个基准信号源的位置数据;其中基准信号源预先设置在已知位置。在一示例中,服务器可以获取第一终端接收基准信号源所发送的基准信号的信号强度,然后对信号强度进行排序,并控制从大到小的顺序选取至少三个信号强度对应的基准信号源,得到至少三个基准信号源的位置数据。在另一示例中,服务器分别获取第一终端与至少三个基准信号源中各基准信号源的距离,基于至少三个基准信号源的位置数据和对应的距离计算第一终端的坐标数据,得到第一终端的位置数据。在另一示例中,服务器可以采用预设的加权质心算法计算第一终端的位置数据,以三个基准信号源的位置数据为例,加权质心算法公式如下:
[0153]
[0154][0155]
式中,xb、yb分别表示第一终端所在位置的横坐标和纵坐标,x1、x2、x3分别表示第一个基准信号源、第二个基准信号源和第三个基准信号源的横坐标,y1、y2、y3分别表示第一个基准信号源、第二个基准信号源和第三个基准信号源的纵坐标。
[0156]
这样,服务器可以根据至少三个基准信号源的位置数据确定第一终端的本身位置数据。需要说明的是,基准信号源可以是单独设置的用于定位的信号源(如蓝牙信号发射器),还可以采用位置信息已知的第二终端来确定第一终端,定位原理类似,在此不再赘述。另需要说明的是,在获取导航路线时,此时第一终端的位置信息为第一终端自身的实际位置;在第一终端显示画面且第一终端显示的画面来自于第二终端时,此时要切换到某个第二终端的画面,第一终端的位置信息为等效位置,该等效位置即是当前所显示画面对应的第二终端的位置,可以根据具体场景分析第一终端的位置信息的具体含义。
[0157]
在步骤122中,服务器可以根据第一终端的位置数据和目标位置图像对应的第二终端的位置数据确定第一终端和第二终端之间的导航路线,并将所述导航路线作为所述目标对象的目标信息。这样,本实施例中通过获取导航路线可以使用户在持有第一终端的情况下准确寻找到目标对象,提高寻找效率。
[0158]
在一实施例中,目标信息还可以包括导航标识,该导航标识可以用于辅助用户确定运动路线和运动方向。服务器可以根据第一终端的朝向和导航路线生成导航标识,并将导航识别作为目标对象的目标信息。参见图13,导航路线131示出了初始位置到目标对象所在位置之间的建议线路,该导航路线可以是路程最短、用时最少、左转次数最少、红绿灯最少等线路,可以根据具体场景进行选择。导航标识132示出了第一终端的当前位置前往目标对象所在位置的朝向,例如前行、左转、右转,从而使用户始终位于上述导航路线之上,达到寻找路线与导航路线相匹配的效果,有利于提高寻找效率。
[0159]
在一实施例中,当场景信息包括画面信息时,步骤93中服务器可以根据所述场景信息获取目标对象的目标信息,服务器可以获取距离第一终端最近的第二终端的画面信息,并将画面信息作为目标对象的目标信息。例如,在移动过程中,第一终端可以通过蓝牙或者wifi方式与第二终端建立通信连接,并将距离最近的第二终端作为第一终端的当前位置,以及将第二终端上上传的画面信息发送给第一终端的目标信息,也就是说,将第二终端的画面信息作为目标对象的目标信息。这样,第一终端中可以持续显示距离最近的第二终端的画面信息,方便用户及时发现目标对象。
[0160]
在一实施例中,服务器可以将距离较近的2个以上的第二终端的画面信息发送给第一终端,这样第一终端可以分屏显示多个画面信息。在显示多个画面信息的过程中,第一终端可以检测用户点击某一个画面的操作,并单独显示该画面。当然,第一终端还可以检测用户退回操作,恢复显示多个画面信息。本实施例中通过单独显示某个画面或者显示多个画面,可以方便用户查询各个画面,有利于快速找到目标对象。
[0161]
在一实施例中,服务器可以将距离第一终端较近的第二终端的识别码信息(如mac地址、第二终端编号或名称)发送给第一终端,使第一终端通过上述识别码信息与第二终端
建立蓝牙连接、wifi连接等无线连接,并通过该无线连接接收第二终端的画画信息,从而减轻服务器的数据传输压力。
[0162]
在另一实施例中,目标信息还包括目标子地图数据,该目标子地图数据可以包括以下至少一种:地图数据和地图识别码。地图数据是指可以直接使用的地图图像,地图识别码是指地图图像的识别码。当第一终端内未存储地图数据时,目标子地图数据可以是地图数据,此方式可以减少对第一终端中存储资源的占用;当第一终端内预先下载地图数据时,目标子地图数据可以是地图识别码,这样第一终端在获得地图识别码时可以查找本地的地图数据获得目标子地图,此方式可以减少第一终端和服务器之间的数据传输量,提升通信效率。服务器可以获取距离第一终端最近的第二终端的画面信息。然后,服务器可以根据画面信息获取第二终端所在场地的目标子地图数据,并将目标子地图数据作为目标对象的目标信息。在一示例中,服务器可以获取画面信息的特征向量。例如,服务器可以利用预设的识别算法识别第二终端的画面信息获得该画面信息的特征向量,或者确定上述画面信息中多个特征点(如纹理、拐角、标识信息等)并根据特征点数据生成特征向量。然后,服务器可以匹配画面信息的特征向量和预设视觉子地图数据库中的特征向量,如计算两个特征向量的相似度,从而获得相似度最大的特征向量。之后,服务器可以获取相似度最大的特征向量对应的子地图数据,得到目标子地图数据。这样,本实施例中通过提供目标子地图数据,可以提供准确的目标信息,即方便用户确定目标对象的位置和寻找路线,降低寻找目标对象的难度,从而提升寻找效率。
[0163]
实际应用中,视觉子地图数据库中存储的子地图数据比较多,可能会增加检索时间,为此,本公开一实施例中可以对视觉子地图数据库中的子地图增加分类选项,该分类选项可以包括但不限于:屋顶、地面、立柱、拐角、停车位编号、标识形状(如三角形、菱形、正方形、梯形等)等,基于上述分类选项可以将视觉子地图数据库中的子地图划分为多个分类。参见图14,在步骤141中,服务器可以获取画面信息中的特征点,并确定特征点的分类。在步骤142中,服务器可以获取视觉子地图数据中该分类的子地图数据。在步骤143中,服务器可以匹配画面信息的特征向量和该分类的子地图数据的特征向量,获得相似度最大的特征向量。这样,本实施例中可以从匹配全部子地图数据减少一个分类或者部分分类的子地图数据,减少了匹配的数据量,有利于提升获得目标子地图的效率,适用于对实时性需求较高的场景。
[0164]
在一实施例中,目标信息可以是识别区域的坐标数据。服务器获取目标对象的目标信息可以包括:服务器可以确定第一交互指令对应的识别区域。可理解的是,由于上述识别区域可以是用户在画面中划定的识别框所形成的区域或者识别第二终端上传图像中目标图像所在区域,因此默认目标对象位于识别区域之内。然后,服务器可以获取识别区域的坐标数据,将识别区域的坐标数据作为目标对象的目标信息。这样,通过识别区域的坐标数据来生成识别区域或者识别框来指示目标对象,方便及时寻找到目标对象。
[0165]
需要说明的是,考虑到后续可能会根据识别区域的坐标数据在第一终端或者第二终端的画面中显示识别框,因此服务器可以将上述识别区域的坐标数据处理为初始位置数据。例如,服务器可以获取识别区域中各个顶点的第三坐标数据;然后根据第一终端中画面的尺寸调整各个顶点的第三坐标数据得到第一坐标数据,第一坐标数据位于预设范围内;之后按照预设顺序记录各个顶点的第一坐标数据,得到识别区域的位置数据。可理解的是,
获取初始位置数据的具体内容可以参见图2所示内容,在此不再赘述。
[0166]
在步骤14中,将所述目标信息发送给所述第一终端,以使所述第一终端显示所述目标信息。
[0167]
本实施例中,服务器可以将目标信息直接发送给第一终端,以使第一终端显示上述目标信息。或者服务器可以根据目标信息处理第二终端的多媒体文件,例如目标信息中的识别框、历史轨迹、导航路线、当前位置、位置图像等中的至少一项叠加到第二终端的视频帧之上,从而得到包含目标信息的目标多媒体文件。服务器可以将目标多媒体文件推送给第一终端。第一终端播放上述目标多媒体文件显示效果如图15所示。参见图15,标号151表示目标对象的历史轨迹,标号152表示目标对象的位置图像及历史位置,标号153表示目标对象的位置图像及当前位置。
[0168]
本实施例中,目标信息中包括识别框。即目标对象在移动过程中无论出现在哪个第二终端的画面之内,第一终端的画面中均会用识别框标识出来,使用户在画面中瞬间发现目标对象而不会丢失追踪对象,提升使用效率。
[0169]
考虑到第一终端和第二终端中摄像头的覆盖范围有限,目标对象可能从一个终端的覆盖范围移出。为此,本公开实施例中,服务器还可以检测目标对象是否离开第一终端的画面即检测目标对象是否离开某一个终端的覆盖范围。当检测到目标对象离开第一终端的画面时,获取第一终端周边至少一个第二终端的周边设备编号及目标对象的特征向量。然后,服务器可以根据周边设备编号和目标对象的特征向量重新获取目标对象的信息。也就是说,将第一终端周边至少一个第二终端的周边设备编号及目标对象的特征向量作为目标对象,继续执行步骤12~步骤14的方案,直至找到能够覆盖目标对象的第二终端;然后将第二终端的画面信息反馈给第一终端继续显示,同时叠加目标对象的目标信息即上述实施例中的目标多媒体文件。这样,本实施例中通过将不同第二终端的画面信息切换到第一终端中,可以实现跨镜寻找对象的效果,提升寻找体现。
[0170]
考虑到一些场景中,例如城市指挥系统的寻人场景或者寻车场景中,一个第一终端已经不能满足实际场景的需求,此时第一终端可以设置为多个,这多个第一终端中的某一个作为主终端而其他作为副终端,这样服务器将目标信息发送给各个第一终端,例如先发送给第一终端中的主终端,然后根据主终端和副终端的映射关系再发送给各个副终端,从而使得多个第一终端同步显示相同的目标信息,满足多个第一终端尤其是位于不同空间的第一终端的显示需求。在一实施例中,第一终端包括多个时可以分组,各个分组可以显示主终端所显示画面的一部分。例如第一终端可以显示16个画面的组合,其4个副终端可以分别显示上述16个画面中的4个,这样多个第一终端可以保证共同显示一部分画面,使得主终端可以从全局显示所有画画。例如城市指挥系统中省会中心的第一终端和各地级市中心的第一终端保持同步显示至少一部分相同的内容,可以提升监控效率或者使用体验;又如跟车场景时前车在前方寻车停车场而后车可以同步前车中摄像头的画面,增加观察视野。
[0171]
在一实施例中,在需要获取第一终端的位置信息时可以根据场景进行选择,例如默认使用主终端的位置信息来表征所有第一终端的位置;又如可以根据主终端的操作来选择主终端或者某一个副终端的位置信息来表征所有第一终端的位置,从而满足主终端操作某个副终端来分配任务,并根据副终端的位置来生成导航路线等使用的需求,有利于扩大使用场景,提升使用体验。
[0172]
考虑到寻找到目标对象后,用户可能会取消寻找目标对象。因此,在一实施例中,用户可以通过第一终端的交互界面输入第二交互指令,例如点击取消寻人或者取消寻车的按键,并将该第二交互指令发送给服务器。服务器在检测到第一终端发送的第二交互指令时,停止获取目标对象的目标信息。例如,服务器可以获取与第一终端绑定的第二终端的周边设备编号,并将周边设备编号对应的第二终端的多媒体文件恢复为原始多媒体文件并清除对应的存储数据,如目标对象的特征向量或者目标信息等。这样,本实施例中可以停止寻找目标对象,提升寻找体现。
[0173]
至此,本公开实施例提供的方案中可以在获取第一终端发送的第一交互指令;然后,确定所述第一交互指令对应的目标对象;之后,获取所述目标对象的目标信息;所述目标信息包括以下至少一项:目标对象的当前位置、当前位置的画面信息、目标对象的历史轨迹和导航路线;最后,将所述目标信息发送给所述第一终端,以使所述第一终端显示所述目标信息。这样,本实施例中通过获取目标对象的目标信息并显示上述目标信息,从而方便用户寻找目标对象,有利于提升寻找效率和使用体验。
[0174]
下面结合寻人场景以及上述实施例提供的一种交互式寻找目标对象的方法来部署一种交互式寻找目标对象的系统,参见图16,该系统包括:
[0175]
实时视频展示模块a、流媒体服务模块b、视频服务处理模块c、ai算法数据接收服务模块d、消息队列模块e和摄像头实时视频流模块f。其中,实时视频展示模块a部署在第一终端之上。摄像头视频实时流模块f部署在第二终端之上,其他模块则部署在服务器。可理解的是,本实施例中采用第一终端和第二终端的表述方式是为了突出第一终端和第二终端在某一时刻的不同功能,例如第一终端是指为用户提供反馈目标信息的终端,第二终端是指采集视频流并上传到服务器的终端,实际应用中对于某一个终端而言,其可以作为第一终端和/或第二终端。另外,每个第一终端和/或第二终端都携带自己的编号,以及周围的至少一个周边设备编号,即服务器存储有第一终端和第二终端的第二映射关系。
[0176]
本实施例中,实时视频展示模块a用于拉取流媒体视频流,流媒体服务模块b用于采集和上传视频实时流。视频服务处理模块c部署多个视频流服务,拉取流媒体服务模块b上传的视频实时流并将处理结果摄像头给流媒体服务器。视频服务处理模块c还部署服务用于监听消息队列模块e。ai算法数据接收服务模块d用于接收服务器提供http接口。
[0177]
参见图17,该系统的工作过程包括:
[0178]
系统流程一
[0179]
1、第一终端在显示画面的过程中,用户可以在实时视频展示模块a的任一个画面上设置识别区域并生成识别框,并利用该识别框包围需要寻找的对象(如人)即目标对象位置识别区域之内。此时第一终端可以获取识别区域的坐标数据。
[0180]
2、实时视频展示模块a可以将识别区域的坐标数据、视频流地址、第一终端设备编号作为第一交互指令发送给服务器中的ai算法数据接收服务模块d。实际应用中,上述识别区域的坐标数据、视频流地址、第一终端设备编号可以处理成json格式数据,从而方便传输和解析,有利于提高传输效率。
[0181]
3、服务器中的ai算法数据接收服务模块d可以解析上述第一交互指令,获得识别区域的坐标数据、视频流地址和第一终端设备编号;并利用识别区域的坐标数据、视频流地址和第一终端设备编号完成以下操作:
[0182]
3.1、ai算法数据接收服务模块d根据视频流地址提供视频第一帧图像;
[0183]
3.2、ai算法数据接收服务模块d根据识别区域的坐标数据和上述第一帧图像提取目标对象的位置图像;
[0184]
3.3、ai算法数据接收服务模块d可以提取目标对象的位图图像的特征,获得特征向量;
[0185]
3.4、ai算法数据接收服务模块d可以根据第一终端设备编号和预先设置的第二映射关系获得周边设备编号;
[0186]
3.5、ai算法数据接收服务模块d可以将特征向量和周边设备编号发送到消息列队,并广播消息。
[0187]
4、服务器中的视频服务处理模块c包括每个终端的视频处理服务均会收到上述广播消息(即特征向量和周边设备编号),此时会完成以下操作:
[0188]
4.1、视频处理服务检测周边设备编号中是否包含自己的设备编号,如果周边设备编号中不包含自己的设备编号则丢弃该消息,如果周边设备编号中包含自己的设备编号则执行步骤4.2;
[0189]
4.2、视频处理服务在当前的流地址中提取第一帧图像;从该第一帧图像中提取至少一个人员的位置图像,并获得各位置图像对应的数据,具体包括:
[0190]
4.2.1、提取每个人员的位置图像的特征,获得每个位置图像的特征向量;
[0191]
4.2.2、保存上述至少一个特征向量到对象数据库的第一数据库,并产生每个特征向量的特征向量id,其中特征向量id可以为string类型字符串;
[0192]
4.2.3、保存每个人员的位置图像到对象数据库中的第二数据库(如oss对象存储服务器),并为每个位置图像生成可访问的url地址;
[0193]
4.2.4、处理特征向量id和url地址,得到各位置图像对应的数据,并保存到对象服务器中。
[0194]
4.3、视频处理服务可以根据广播消息中的特征向量,匹配对象数据库中第一数据库中的特征向量,获得该第一数据库返回的m个按照距离排序的匹配结果。其中距离的取值范围为[0,1],且距离越大表示广播消息中的特征向量与第一数据库的特征向量越相似,在一示例中上述距离采用余弦值表示。在一示例中,还可以设置一个距离阈值,在选取超过该距离阈值的匹配结果。当存在距离超过距离阈值的匹配结果时,完成以下操作:
[0195]
4.3.1、在最相似结果的位置设置识别框,处理原始视频流,返回带有识别框的视频流,即目标视频流中携带目标信息;
[0196]
4.3.2、推送目标视频流到流媒体服务器即流媒体服务模块b;
[0197]
4.3.3、实时视频展示模块a从流媒体服务器拉取目标视频流,并展示上述目标视频流;
[0198]
4.3.4、保存广播消息中的特征向量,可以供后续流程使用。
[0199]
5、流程结束。
[0200]
系统流程二
[0201]
当第一终端在显示某一个第二终端的画面时,如果目标对象离开第一终端的画面即离开第二终端的覆盖区域时,该第二终端对应的视频处理服务完成以下操作:
[0202]
1、根据第二终端的设备编号和第二映射关系,获取该第二终端周边的周边设备编
号;
[0203]
2、获取目标对象的特征向量,在系统流程一中步骤4.3.4中已经存储的特征向量。
[0204]
3、将特征向量和周边设备编号发送到消息列队,并广播消息。
[0205]
4、继续系统流程一中的步骤4及以后的步骤。
[0206]
系统流程三
[0207]
如果没有寻找目标对象的需求时,参见图18,系统执行以下操作:
[0208]
1、用户可以在第一终端上点击取消寻找按键。实时视频展示模块a可以将表示取消寻找目标对象的第二交互指令发送给ai算法数据接收服务模块d,此时第二交互指令包括第一终端设备编号(即所显示图像所对应的来源终端的编号);
[0209]
2、ai算法数据接收服务模块d解析第二交互指令,并根据第一终端设备编号和第二映射关系获得周边设备编号;
[0210]
3、将第二交互指令、周边设备编号发送到消息队列,广播消息;
[0211]
4、视频服务处理模块c中每个视频处理服务收到广播消息后,完成以下操作:
[0212]
4.1停止识别视频流中的目标对象,恢复原始视频流;
[0213]
4.2清除本地的存储数据(目标视频流、临时缓存、特征向量等信息);
[0214]
5、流程结束。
[0215]
在另一实施例中,参见图19,实时视频展示模块a与推送实时视频流模块f建立websocket连接。参见图19,该系统的工作过程包括:
[0216]
1、同系统流程一中的步骤1。
[0217]
2、同系统流程一中的步骤2。
[0218]
3、同系统流程一中的步骤3。
[0219]
4、同系统流程一中的步骤4。区别在于:
[0220]
4.3.1、在最相似结果的位置设置识别框,将识别区域的坐标数据、url地址每间隔预设时长(如n秒)通过websocket连接推送到实时视频展示模块a;
[0221]
4.3.2、实时视频展示模块a接收到识别区域的坐标数据,在视频图像上显示视频框以标示出目标对象;
[0222]
4.3.3、实时视频展示模块a接收url地址,在画面中展示位置图像。
[0223]
5、流程结束。
[0224]
下面结合寻车场景以及上述实施例提供的一种交互式寻找目标对象的方法来部署一种交互式寻找目标对象的系统,参见图20,该系统包括:第一终端、第二终端和服务器。其中服务器可以采用图16中的第一服务器-3和第一服务器-2实现。需要说明的是,本实施例中可以利用停车场所设置的系统来实现“上帝”视角,实时了解用户(找车人)所在的位置信息(如可以利用方案一中的消息队列机制,利用停车场设定在已知位置的摄像头,实现相邻/重叠摄像头之间的通知/切换),也可以对第一终端进行定位实现。
[0225]
寻车场景中,车辆位于地下停车场,可以分别以下:场景一,停车场无gps信号;场景二,停车场无gps信号但有wifi信号(或者蓝牙信号);场景三,如果没有wifi信号,则第一终端可以采用摄像头和应用程序进行离线导航。
[0226]
以场景三为例,第一终端内可以构建离线地图。例如,构建视觉定位系统、(若有)蓝牙定位系统、停车场系统三者之间统一到相同的世界坐标,以基于世界坐标实现定位/通
知/切换等功能而不会出现偏差。又如,可以对停车场进行划分与编号(如以10m
×
10m面积范围为一个子区域),然后在各个子区域范围内,分别基于稀疏特征匹配的vslam算法构建离线稀疏的三维特征点地图;然后,对关键帧(url地址对应的第一帧图像)、三维地图点以及相关参数进行保存作为离线地图数据,得到视觉子地图数据库,该视觉子地图数据库可以存储到服务器。
[0227]
参见图20,该系统的工作过程包括:
[0228]
1、用户使用第一终端扫描某个第二终端(如立式屏)的二维码,获得当前位置;
[0229]
2、服务器获取第一终端的当前位置,通过以下方式获取:
[0230]
2.1,基于蓝牙定位,例如第一终端可以接收安装在停车场不同位置的蓝牙信号源(即基准信号源)的蓝牙信号,对接收的蓝牙信号按照强度进行排序,并选取强度较大的前三个蓝牙信号对应蓝牙信号源的位置数据。然后基于加权质心算法的公式计算第一终端的当前位置即:
[0231][0232][0233]
式中,xb、yb分别表示第一终端所在位置的横坐标和纵坐标,x1、x2、x3分别表示第一个基准信号源、第二个基准信号源和第三个基准信号源的横坐标,y1、y2、y3分别表示第一个基准信号源、第二个基准信号源和第三个基准信号源的纵坐标。
[0234]
2.2、基于视觉定位。服务器可以根据停车场中多个第二终端采集的画面信息,来定位第一终端的当前位置(xb、yb)。
[0235]
3、将第一终端的当前位置(xb、yb)、第一终端的摄像头获取的当前图像和第一终端的姿态传感器(如磁力计)获得的运动方向(与x轴正方向夹角)发送给服务器。
[0236]
4、服务器根据第一终端的当前位置将最近的第二终端的视频切换到第一终端进行显示。
[0237]
5、服务器可以根据第一终端的当前图像获取目标子地图数据反馈给第一终端进行显示。例如,服务器可以提取当前图像的特征得到特征向量,并在视觉子地图数据库中进行匹配得到目标子地图。
[0238]
6、服务器可以根据运动方向、当前图像和车辆在停车场的位置生成导航标识,并反馈给第一终端,最终显示效果如图13所示。
[0239]
需要说明的是,在步骤5中,第一终端可以预装应用程序app,将视觉子地图数据库中的部分子地图预先下载至本地存储器,预先下载的部分子地图是采用vslam算法获取稀疏特征得到的数据是轻型化的数据包,可以减少对本地内存的占用。第一终端可以获取服务器返回的目标子地图的识别码来选取目标子图像。当然,第一终端也可以获取当前图像的多个特征点,然后根据特征点在本地存在器中匹配出目标子地图,并加载目标子地图进行显示。这样,第一终端可以无需依赖停车场内的wifi网络即可实现数据处理。同时,由于
预先存储的部分子地图仅采用特征点,可以减少匹配时间,提高匹配效率。
[0240]
在一实施例中,可以提前对查找匹配这一过程进行模型训练,使针对不同点前帧(比如,由于不同角度、不同光线造成的)无法在视觉子地图数据库中找到更匹配的目标子地图,从而提高匹配效率。
[0241]
在一实施例中,可以对停车场内的不同区域的图像进行分类,例如用三角形特征点归类a区、用菱形归类b区等等。当第一终端的摄像头检测到a区的三角形特征点时,可以快速在视觉子地图数据库中a类的子地图中进行匹配,从而极大地提高匹配速度。
[0242]
在上述一种交互式寻找目标对象的方法的基础上,本公开实施例还提供了一种交互式寻找目标对象的方法,可以应用于第一终端侧,所述方法包括:
[0243]
响应于用户的触发操作生成获取第一交互指令,并将所述第一交互指令发送给服务器,以使所述服务器获取所述第一交互指令对应目标对象的目标信息;
[0244]
在当前显示画面中显示所述目标对象的目标信息。
[0245]
在一实施例中,所述第一交互指令包括以至少一种:识别区域的坐标数据、通过扫码方式获得的用户数据。
[0246]
在一实施例中,所述目标信息包括以下至少一项:目标对象的当前位置、当前位置的画面信息、目标对象的历史路线、和寻找目标对象的导航路线。
[0247]
在一实施例中,所述第一终端还包括离线的预设视觉子地图数据库,并且所述目标信息包括目标子地图的子地图标识码时,显示所述目标对象的目标信息,包括:
[0248]
根据所述子地图标识码匹配所述预设视觉子地图数据库中的子地图,得到视频子地图;
[0249]
显示所述视觉子地图。
[0250]
在一实施例中,所述目标信息包括导航路线,显示所述目标对象的目标信息,包括:
[0251]
将所述导航线路叠加到所述视觉子地图之上进行显示。
[0252]
在一实施例中,所述目标信息包括导航标识,显示所述目标对象的目标信息,包括:
[0253]
根据所述第一终端的朝向和所述导航路线生成导航标识;所述导航标识用于辅助用户确定运动路线和运动方向;
[0254]
将所述导航标识叠加到所述视觉子图像上进行显示。
[0255]
在一实施例中,所述方法还包括:
[0256]
响应于用户的触发操作生成获取第二交互指令,并将所述第二交互指令发送给所述服务器,以使所述服务器响应于所述第二交互指令停止获取所述目标对象的目标信息。
[0257]
需要说明的是,本实施例中示出的方法与图1所述方法实施例的内容相匹配,可以参考上述方法实施例的内容,在此不再赘述。
[0258]
在上述一种交互式寻找目标对象的方法的基础上,本公开实施例还提供了一种交互式寻找目标对象的系统,包括服务器、第一终端和第二终端;
[0259]
所述第一终端用于获取第一交互指令并发送给所述服务器,并显示所述第一交互指令对应目标对象的目标信息;
[0260]
所述第二终端用于采集图像并上传到所述服务器;
[0261]
所述服务器用于确定所述第一交互指令对应目标对象的目标信息,将反馈给所述第一终端。
[0262]
在一实施例中,所述第二终端包括以下至少一种:移动终端、立式屏、拼接屏和摄像头。
[0263]
在一实施例中,所述服务器包括特征向量获取模块、特征向量搜索引擎和对象数据库;
[0264]
所述特征向量获取模块用于获取所述第一交互指令对应的当前图像中的目标对象,并将所述目标对象所在位置的位置图像转换成特征向量,得到目标特征向量;
[0265]
所述对象数据库用于存储位置图像及其特征向量,所述位置图像是对第二终端采集的图像进行识别所得对象的图像;
[0266]
所述特征向量搜索引擎用于根据所述目标特征向量与所述对象数据库中的特征向量进行匹配,获得相似度最大的特征向量及对应的位置图像;并根据所述位置图像确定所述目标对象的目标信息。
[0267]
需要说明的是,本实施例中示出的系统与方法实施例的内容相匹配,可以参考上述方法实施例的内容,在此不再赘述。
[0268]
在示例性实施例中,还提供了一种安防系统,包括第一终端、第二终端和服务器;参见图21,所述服务器包括:
[0269]
处理器211;
[0270]
用于存储所述处理器可执行的计算机程序的存储器212;
[0271]
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如图1~图15所述的方法。
[0272]
在示例性实施例中,还提供了一种第一终端,包括:
[0273]
处理器;
[0274]
用于存储所述处理器可执行的计算机程序的存储器;
[0275]
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现上述的方法。
[0276]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括可执行的计算机程序的存储器,上述可执行的计算机程序可由处理器执行,以实现如图1所示实施例的方法。其中,可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0277]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0278]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献