具体实施方式
众所周知,摄像机具有一定的可视范围,再加上摄像机包含的云台,变焦镜头等,更容易扩大摄像机的可视范围。基于此,本发明利用摄像机的可视范围并结合地理信息系统的空间处理能力,通过直接输入被监控位置合理调动摄像机,并在被监控位置发生变化时,动态调整摄像机角度,以实现智能监控。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图3,图3为本发明实施例提供的基本流程图。如图3所示,该流程可包括以下步骤:
步骤301,选择用于监控该被监控位置的摄像机。
这里,步骤301中被监控位置具体实现时可为点(具体为点的地理坐标)、路线或者矩形区域,至于如何输入可参见图5a至5c所示。
本步骤301中的选择具体实现时可有多种方式,较佳的方式可分别参见图4所示的步骤402至步骤403;或者图6所示的步骤602,这里不再详述。
步骤302,确定所述摄像机监控所述被监控位置时需要的调整参数,发送所述调整参数至所述摄像机,以使所述摄像机根据所述调整参数自动调整来监控所述被监控位置。
这里,步骤302确定的调整参数具体可为摄像机云台的横向转动角度、纵向转动角度和摄像机镜头的变焦倍数,至于具体如何确定,较佳的方式可分别参见图4所示的步骤404至步骤406;或者图6所示的步骤603至步骤605,这里不再详述。
以上对本发明实施例提供的方法进行了简单描述,下面对本发明实施例提供的方法进行详细描述。
参见图4,图4为本发明实施例提供的第一流程图。该流程中,主要是根据被监控位置和用于监控该被监控位置的摄像机的位置来计算摄像机云台的转动角度和摄像机镜头的变焦倍数,之后,将计算结果发送给摄像机,以使摄像机根据计算结果自动调整,以便准确监控被监控位置。如图4所示,该流程可包括以下步骤:
步骤401,接收用户输入的被监控位置。
这里,被监控位置具体实现时可为地理坐标(实质上为点,具体可为经纬度坐标、大地坐标、城市坐标等)、路线比如一条道路等、或者矩形区域等。
如果步骤401输入的被监控位置为地理坐标即为点,则输入的操作具体为:用鼠标在电子地图上点击被监控位置,具体如图5a所示的矩形框中的箭头;如果步骤401输入的被监控位置为路线,则输入操作具体为:在电子地图上点击该路线,具体如图5b所示的粗线;如果步骤401输入的被监控位置为矩形区域,则输入操作具体为:在电子地图上点击所述被监控位置对应的矩形区域,具体如图5c所示的矩形。
步骤402,确定被监控位置对应的监控点位置。
这里,如果步骤401输入的被监控位置为地理坐标即为点,则执行到本步骤402时,直接将该点本身确定为监控点位置;
如果步骤401输入的被监控位置为路线,则执行到本步骤402时,需要将该路线转换为点,具体为:确定该路线上和预先构建的摄像机最大可视范围图层中摄像机的最大可视范围相交的部分,将该相交部分的中点确定为该路线对应的监控点位置。需要说明的是,这里所述的摄像机最大可视范围图层是预先构建的,其包含了各个摄像机的最大可视范围地理模型,其中,摄像机的最大可视范围地理模型是基于摄像机所有可能的可视范围构建的,具体如何构建在下文进行描述。基于此,上述路线和摄像机的最大可视范围相交实质上为该路线和摄像机的最大可视范围地理模型相交。比如,图5d所示,若在步骤401中输入的线为AB,则在步骤402中,首先确定出该输入的线AB与摄像机最大可视范围图层中摄像机最大可视范围地理模型相交的部分为CD,之后,将CD的中点作为输入线AB对应的监控点位置。
需要说明的是,路线可能和多个摄像机的最大可视范围地理模型相交,比如分别与摄像机2和摄像机3的最大可视范围地理模型相交,则针对相交的每一最大可视范围地理模型,确定该路线上与该最大可视范围地理模型相交部分的中点为该路线对应的监控点位置。也就是说,如果该路线与N个摄像机的最大可视范围地理模型相交,相应地,该路线对应的监控点位置的个数就为N。基于此,当该路线存在多个对应的监控点位置时,本实施例可针对每一个监控点位置执行下述步骤;也可以从该多个监控点位置中选择出一个来执行下述步骤。
如果步骤401输入的被监控位置为矩形,则执行到本步骤402时,需要将该矩形转换为点,具体为:将该矩形的中心点坐标确定为该矩形对应的监控点位置,其中,该矩形的中心点坐标依据该矩形的左下角坐标和右上角坐标或者该矩形的左上角坐标和右下角坐标得到。以矩形的中心点坐标依据该矩形的左下角坐标和右上角坐标得到为例,则若矩形的左下角坐标为(x1,y1),左上角坐标为(x2,y2),右上角坐标为(x3,y3),右下角坐标为(x4,y4),则该矩形的中心点坐标为((x1+x3)/2,(y1+y3)/2)。
步骤403,在预先构建的摄像机最大可视范围图层中选择所述监控点位置当前所处的摄像机最大可视范围所对应的摄像机为用于监控所述被监控位置的摄像机。
也就是说,步骤403实质上为:将步骤402中的监控点位置和摄像机最大可视范围图层中各个摄像机的最大可视范围地理模型做空间运算,如果有交集,则确定具有该最大可视范围地理模型的摄像机为用于监控该被监控位置的摄像机。
步骤404,根据步骤403确定出的摄像机的位置和步骤402确定出的监控点位置,计算该摄像机云台的横向转动角度。
这里,步骤402得到的监控点位置通过坐标(x1,y1)来表示,步骤403确定出的摄像机的位置通过坐标(x2,y2)来表示,其中,x1,x2为横坐标,y1,y2为纵坐标,基于此,如果步骤404确定出的摄像机从上到下投影,且摄像机云台的横向转动角度沿顺时针方向逐渐变大,具体参见图5e,这里,图5e所示的坐标系为垂直于水平面的二维坐标系,其横坐标轴(即x轴)为水平方向,纵坐标轴(即y轴)为竖直方向。基于此,步骤404可通过以下方式计算摄像机云台的横向转动角度(记为角A):
如果x2=x1且y2=y1,则角A=0度;
如果x2=x1且y2<y1,则角A=90度;
如果x2=x1且y2>y1,则角A=270度;
如果x2>x1且y2<=y1,则角A=arctan(|y2-y1|/|x2-x1|)*360/2π;
如果x2<x1且y2<=y1,则角A=180-arctan(|y2-y1|/|x2-x1|)*360/2π;
如果x2<x1且y2>=y1,则角A=180+arctan(|y2-y1|/|x2-x1|)*360/2π;
如果x2>x1且y2>=y1,则角A=360-arctan(|y2-y1|/|x2-x1|)*360/2π。
步骤405,根据步骤403确定出的摄像机被安装的高度和步骤402确定出的监控点位置,计算摄像机云台的纵向转动角度。
这里,如果步骤403确定出的摄像机被竖直安装,被安装的高度为H,这里,该摄像机被安装的高度垂直于摄像机竖直投影和监控点位置所在的平面,具体参见图5f。这里,图5f所示的坐标系为三维坐标系,其由相互垂直的三个坐标轴即x轴、y轴和z轴组成,其中,摄像机竖直投影和监控点位置处于x轴和y轴组成的平面内,摄像机被安装的高度与z轴平行,具体如图5f所示。基于此,如果摄像机云台纵向转动角度(记为角B)沿逆时针方向逐渐变大,则步骤405可通过以下方式计算摄像机云台的纵向转动角度(记为角B):
当x1、x2、y1、y2满足条件:x2=x1且y2=y1时,角B=0;
其中,x1,y1为分别监控点位置的横坐标和纵坐标,x2、y2为摄像机竖直投影的横坐标和纵坐标。
步骤406,根据步骤403确定出的摄像机的位置和步骤402确定出的监控点位置之间的监控距离确定摄像机镜头需要采用的变焦倍数。
本实施例为便于确定摄像机镜头变焦倍数,需要在执行本步骤406之前,预先设定摄像机镜头变焦倍数与监控距离的对应关系,基于此,执行到本步骤406时,先计算所述摄像机的位置和所述监控点位置之间的监控距离,即摄像机的位置和所述监控点位置之间的距离;之后,从预先设置的摄像机镜头变焦倍数与监控距离的对应关系中查找计算出的监控距离对应的镜头变焦倍数,将查找到的镜头变焦倍数确定为摄像机镜头需要采用的变焦倍数。
步骤407,将步骤404计算的横向转动角度,步骤405计算的纵向转动角度和步骤406确定的镜头变焦倍数转化成命令发送给摄像机。
步骤408,摄像机收到步骤407中的命令后,自动调整云台角度和镜头变焦倍数来监控所述被监控位置。
至此,通过上述步骤实现了自动调整摄像机的流程。下面对本实施例中用到的摄像机最大可视范围图层的构建进行描述:
首先,确定建立摄像机最大可视范围地理模型的数据:
由于摄像机可视范围的变化依赖于调整参数,这里该调整参数具体为该摄像机镜头变焦倍数、摄像机云台横向转动角度和纵向转动角度,基于此,本实施例中将引起摄像机所有可能的可视范围的调整参数的并集确定为建立摄像机最大可视范围模型的数据。也就是说,针对一摄像机,以下三个条件:摄像机镜头可用的变焦倍数、云台以N度(N可为一个固定值也可以为一个变化值)为单位横向转动的角度、以及云台以M度(M可与N相等,也可不等)为单位纵向转动的角度的所有可能组合即为建立该摄像机的最大可视范围地理模型的数据。以摄像机镜头为2倍变焦,云台分别以30度为单位横向和纵向转动为例,这里,摄像机镜头为2倍变焦也就表示该摄像机镜头的可用变焦倍数为1倍和2倍,基于此,该摄像机镜头变焦倍数,云台横向和纵向转动三者所有可能的组合具体可见表2所示,其中,表2中每一行表示了由摄像机镜头变焦倍数,云台横向角度和纵向转动角度决定的可视范围(这里记为摄像机的子可视范围),换言之,表2中每一行与摄像机的子可视范围对应。将表2中摄像机所有子可视范围对应的调整参数即摄像机镜头变焦倍数,云台横向角度和纵向转动角度进行并集运算就可得到该摄像机最大可视范围的数据,具体如表1所示:
表1,摄像机最大可视范围地理模型组织
序号 |
摄像机模型 |
1001 |
摄像机最大可视范围地理模型 |
表2,摄像机子可视范围地理模型组织
父序号 |
序号 |
变焦倍数 |
云台横向转动角度 |
云台纵向转动角度 |
1001 |
1 |
1倍 |
0度 |
0度 |
1001 |
2 |
1倍 |
0度 |
30度 |
1001 |
n |
... |
... |
... |
1001 |
n+1 |
2倍 |
30度 |
0度 |
1001 |
... |
... |
... |
... |
... |
... |
n倍 |
360度 |
360度 |
其次,建立摄像机最大可视范围地理模型:
基于表1,利用GIS软件即可建立摄像机最大可视范围地理模型,具体建立时可为:根据该摄像机被安装的高度(预先已确定好)、有效可视距离(与该摄像机的变焦倍数有关)和云台转动角度即横向转动角度和纵向转动角度建立摄像机最大可视范围地理模型。
最后,将上述建立好的摄像机最大可视范围地理模型导出,之后再导入到gis软件(如esri软件)的图层中,如此,即可形成摄像机最大可视范围图层。
可以看出,在上述建立摄像机最大可视范围地理模型时,需要确定好摄像机所有可能的子可视范围,具体如表2所示,并且,从上述表2可以看出,表2中每一行对应了由该摄像机的镜头变焦倍数、云台横向转动角度和云台纵向转动角度决定的子可视范围,基于此,作为本发明实施例的一种扩展,可在上述步骤403确定出摄像机后,不采用步骤404至步骤406的步骤,而是直接利用表2得到摄像机的镜头变焦倍数、云台横向转动角度和云台纵向转动角度,具体如图6所示。
参见图6,图6为本发明实施例提供的第二流程图。如图6所示,该流程可包括以下步骤:
步骤601与步骤401类似,这里不再详述。
步骤602,在预先构建的摄像机最大可视范围图层中选择与所述被监控位置相交的摄像机最大可视范围地理模型所对应的摄像机为用于监控所述被监控位置的摄像机。
基于上面描述,可以知道,摄像机最大可视范围图层包含多个摄像机最大可视范围地理模型,基于此,本步骤602实质上是先在预先构建的摄像机最大可视范围图层中确定该被监控位置相交的各个摄像机最大可视范围地理模型,之后,将具有该摄像机最大可视范围地理模型的摄像机确定为用于监控所述被监控位置的摄像机。
这里,被监控位置可能会与多个摄像机最大可视范围地理模型相交,基于此,在步骤602中就可确定出多个摄像机。本实施例中,如果步骤602确定出多个摄像机,则可以针对每一摄像机,执行下述步骤,也可以从该多个摄像机中随机选择一个或者根据实际需求选择一个,之后,执行下述步骤,本发明实施例并不具体限定。
步骤603,在预先构建的摄像机子可视范围图层中确定出步骤602确定的摄像机所对应的所有子可视范围地理模型。
这里,摄像机子可视范围图层与摄像机最大可视范围图层的建立类似,具体为:首先,确定建立摄像机子可视范围地理模型的数据,这里,该数据为摄像机的子可视范围对应的调整参数,具体为摄像机镜头变焦倍数、摄像机云台横向转动角度和纵向转动角度,具体可如表2所示。其次,根据表2所示的每一行中的数据(即摄像机镜头变焦倍数、摄像机云台横向转动角度和云台纵向转动角度)建立摄像机子可视范围地理模型,也就是说,表2中每一行对应了一个摄像机子可视范围地理模型。以SketchUp软件为例,则可利用该SketchUp软件制作三维的摄像机子可视范围地理模型,具体可参见图7所示。最后,将上述建立好的摄像机子可视范围地理模型导出,之后再导入到gis软件(如esri软件)的图层中,如此,即可形成摄像机子可视范围图层。可以看出,在摄像机子可视范围图层中会存在一个摄像机对应的多个子可视范围地理模型。基于此,当步骤602确定出了摄像机,比如摄像机1后,本步骤603就可在摄像机子可视范围图层中查询到该摄像机1对应的所有子可视范围地理模型。
需要说明的是,上述摄像机子可视范围图层和摄像机最大可视范围图层可处于同一个图层中,也可处于不同的图层中,本发明实施例并不具体限定。
步骤604,从该所有子可视范围地理模型中选择出符合预设条件的子可视范围地理模型。
这里,步骤604中的预设条件具体实现时可有多种实现形式,比如,如果所述被监控位置为线或矩形,则该预设条件可为与所述被监控位置交叉最多的子可视范围地理模型;如果所述地理位置为点,则该预设条件可为随机选择一个或者多个子可视范围地理模型,或者根据实际需求指定出一个或多个子可视范围地理模型等。
步骤605,从表2中查找到步骤604选择出的子可视范围地理模型对应的摄像机镜头变焦倍数、摄像机云台横向转动角度和云台纵向转动角度。
由于在步骤603中描述到,表2中的每一行对应一个摄像机子可视范围地理模型,基于此,执行到本步骤605时,如果选择了子可视范围地理模型,则很容易从表2中查找到该选择出的子可视范围地理模型对应的摄像机镜头变焦倍数、摄像机云台横向转动角度和云台纵向转动角度。
步骤606,将查找到的摄像机镜头变焦倍数、摄像机云台横向转动角度和云台纵向转动角度转化成命令发送给摄像机。
步骤607,摄像机收到步骤606中的命令后,自动调整云台角度和镜头变焦倍数来监控所述被监控位置。
至此,通过上述步骤实现了图6所示的流程。可以看出,该流程相比于图4,无需执行步骤404至步骤405中的计算操作,以及步骤406中的确定操作,而是在确定出用于监控被监控位置的摄像机后,直接通过查询建立摄像机子可视范围地理模型时所依据的表2,这相比于图4,显然简化了流程,实现起来也比较简单。
上面两个流程都是基于固定的被监控位置执行的,作为本发明实施例的一种扩展,本实施例还提供了被监控目标运动时对应的技术方案,以实现通过被监控目标的行进路线和速度动态监控该被监控目标,具体可参见图8所示的流程。
参见图8,图8为本发明实施例提供的第三流程图。如图8所示,该流程可包括以下步骤:
步骤801,在预先构建的地图拓扑图层上确定被监控目标移动的行进路线。
这里,步骤801具体为:在预先构建的地图拓扑图层上选择多条道路,用于组成所述被监控目标移动的行进路线。其中,这里所述的地图拓扑图层主要通过以下步骤构建:
步骤801a,对需要实现地理信息监控区域范围内的道路进行矢量化处理,建立线图层。
这里,之所以对道路进行矢量化处理,主要是为了便于用户在查看道路时,不管进行放大还是缩小等操作,该道路都能清楚显示,不会变形,具体操作可与现有技术类似,这里不再赘述。
步骤801b,对完成矢量化处理的道路进行拓扑处理,形成地图拓扑图层。
这里,步骤801b进行拓扑处理主要是为了进一步标识道路,以便精确确定被监控目标的行进路线。比如,如图9a所示,在拓扑处理前存在三条道路,分别为道路1,2和3,如此,在确定被监控目标的行进路线时,如果确定的行进路线分别由道路1至道路3上的部分路段组成,而由于该涉及的路段没有被标识,如此,这里只能粗略地确定行进路线为道路1至道路3。而如果执行步骤801b的拓扑处理,即对图9a所示的三条道路进行拓扑处理,则可得到如图9b所示的9条道路,分别为道路1至道路9,如此,很容易精确确定被监控目标的行进路线,比如确定的行进路线由序号分别为2,8,6,5的道路段组成。
步骤802,当预设的计算时间到达时,计算所述被监控目标当前距所述行径路线上起始位置的路径距离。
这里,假使被监控目标是匀速运动,则可利用以下公式计算路径距离:
L=vt,
其中,L是路径距离,v为被监控目标的运动速度,t为从所述行进路线的起始位置开始离开到当前时刻的时间。
需要说明的是,上述预设的计算时间可以是周期性的,比如每隔1秒等。
还需要说明的是,上述只是以被监控目标匀速运动为例描述如何计算所述被监控目标当前距所述行径路线上起始位置的路径距离的,但并不限定本发明实施例,如果被监控目标为加速或者减速运动,则可按照本领域常用方式计算,这里不再一一详述。
步骤803,根据所述起始位置和所述路径距离计算所述被监控目标当前所处的位置。
步骤804,将计算出的位置确定为被监控位置。
步骤805,选择用于监控所述被监控位置的摄像机。
本步骤805中的选择具体实现时可有多种方式,较佳的方式可分别参见图4所示的步骤402至步骤403;或者图6所示的步骤602,这里不再详述。
步骤806,确定所述摄像机监控所述被监控位置时需要的调整参数,发送所述调整参数至所述摄像机,以使所述摄像机根据所述调整参数自动调整来监控所述被监控位置。
这里,步骤806具体可参见图4所示的步骤404至步骤408;或者图6所示的步骤603至步骤607,这里不再详述。
由于被监控目标在运动时具有一定的行进路线和速度,如此,可在任一时刻计算出被监控目标相对起始位置所处的位置,即可计算出被监控目标在任一时刻的位置,之后,将该计算出的位置作为上述步骤401或者步骤601输入的被监控位置,利用图4中步骤402至步骤408或图6中步骤602至步骤607所示的操作执行,实现了动态智能监控被监控目标。
以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述。
参见图10,图10为本发明实施例提供的装置结构图,其中,该装置的实现对应图3、图4或者图6所示的流程。如图10所示,该装置包括:
选择单元101,选择用于监控所述被监控位置的摄像机;
确定单元102,用于确定所述摄像机监控所述被监控位置时需要的调整参数;
发送单元103,用于发送所述调整参数至所述摄像机,以使所述摄像机根据所述调整参数自动调整来监控所述被监控位置。
本实施例,选择单元和确定单元在实现时至少可有两种实现方式,下面分别进行描述。
第一种实现方式:
选择单元101用于确定所述被监控位置对应的监控点位置;并在预先构建的摄像机最大可视范围图层中选择所述监控点位置当前所处的摄像机最大可视范围所对应的摄像机为用于监控所述被监控位置的摄像机。
确定单元102确定的调整参数可为选择单元101选择的摄像机云台的横向转动角度、纵向转动角度和摄像机镜头的变焦倍数;其具体实现时可包括如图10所示的以下结构:
横向角度计算子单元1021,用于根据所述摄像机的位置和所述监控点位置,计算摄像机云台横向转动角度;
纵向角度计算子单元1022,用于根据所述摄像机被安装的高度和所述监控点位置,计算摄像机云台纵向转动角度;
变焦倍数确定子单元1023,用于根据所述摄像机的位置和所述监控点位置之间的监控距离确定摄像机镜头需要采用的变焦倍数。
作为本实施例的另一种实现方式,选择单元101还可用于在预先构建的摄像机最大可视范围图层中选择与所述被监控位置相交的摄像机最大可视范围所对应的摄像机为用于监控所述被监控位置的摄像机。基于此,如图10所示,确定单元102可包括:
地理模型选择子单元1024,用于在预先构建的摄像机子可视范围图层中确定出所述摄像机对应的所有子可视范围地理模型,从该所有子可视范围地理模型中选择出符合条件的子可视范围地理模型;
调整参数查找子单元1025,用于从建立所述摄像机子可视范围图层时设置的子可视范围地理模型和摄像机调整参数的对应关系中查找地理模型选择子单元1024选择出的子可视范围地理模型对应的调整参数;
调整参数确定子单元1026,用于将调整参数查找子单元1025查找到的调整参数确定为所述摄像机监控所述被监控位置时需要的调整参数。
这里,上面所述的摄像机子可视范围图层中摄像机的子可视范围地理模型是基于该摄像机的云台横向转动角度、纵向转动角度和镜头变焦倍数建立的,也就是说,调整参数查找子单元1025查找到的调整参数为摄像机云台的横向转动角度、纵向转动角度和摄像机镜头的变焦倍数。
至此,完成了对图10所示的装置结构的描述。
如图11所示,本实施例还提供了如图11所示的另一种装置结构。参见图11,图11为本发明实施例提供的另一种装置的结构图。该装置对应图8所示的流程。如图11所示,该装置可包括:
路线确定单元110,用于在预先构建的地图拓扑图层上确定被监控目标移动的行进路线;
计算单元111,用于当预设的计算时间到达时,计算所述被监控目标当前距离所述行径路线上起始位置的路径距离;
摄像机确定单元112,用于根据起始位置和所述路径距离计算所述被监控目标当前所处的位置,将计算出的位置确定为被监控位置,选择用于监控所述被监控位置的摄像机;
参数确定单元113,用于确定所述摄像机监控所述被监控位置时需要的调整参数;
参数发送单元114,用于发送所述调整参数至所述摄像机,以使所述摄像机根据所述调整参数自动调整来监控所述被监控位置。
至此,完成了对图11所示的装置的描述
由以上技术方案可以看出,本发明实施例中,通过输入被监控位置,并从电子地图中选择用于监控该被监控位置的摄像机;之后,确定所述摄像机监控被监控位置时需要的调整参数,发送所述调整参数至所述摄像机,以使所述摄像机根据所述调整参数自动调整来监控所述被监控位置。也就是说,本发明中,通过输入被监控位置比如点、线、矩形等就可以调动符合条件的摄像机,并动态转动该摄像机,这显然实现了监控智能化,解决了传统电子地图无法按摄像机可视范围查询有效摄像机的问题;
进一步地,本发明通过对行进路线和被监控目标行进速度的估计,动态转动摄像机和自动调用符合条件的摄像机,实现动态智能监控被监控目标。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。