本发明涉及一种结合定位信息的大场景内运动目标检测识别方法,属计算机视觉技术领域。
背景技术:
近年来,在诸如大型广场安防、机场场面活动引导与控制、港口生产作业区运行状态监控、工业园区管控等大型场景管控中,增强现实(augmentedreality,ar)技术得到了越来越多的应用。比如,在机场飞行区的航空器、车辆、人员管控中,为了便于管理人员理解和指挥,往往需要对这些运动目标进行增强显示,即在视频画面中运动目标的对应位置显示目标的相关信息,如飞机航班号、车辆类型、作业人员个人信息等。为了保证信息增强显示的准确性,需要对运动目标进行高精度的定位。
目前,实现信息增强显示的通常的方法是利用通过gps、北斗等卫星定位系统获得运动目标的空间坐标,把空间坐标映射到视频画面上的像素点坐标。但是由于gps、北斗等系统获取的数据一般都有较大误差,再加上数据获取频率低(如每秒发送一次),并且与视频之间不同步,导致通过坐标映射得到的像素点坐标和运动目标的实际坐标之间有较大的差异,不但影响使用体验,而且会出现较多的错误显示。
针对上述问题,一种可能的技术架构是采用先在视频画面中检测出运动目标,之后再与gps等定位数据融合的方法。在大场景视频中,为了保证目标检测达到可实用的准确度,要求运动目标具有一定的像素分辨率,也就是要求整个大场景画面具有超高的分辨率,比如为了在机场飞行区画面中检测到远处的车辆,整个飞行区画面的像素数会达到一个或多个4k超高清(分辨率为3840×2160)。目前目标检测性能最好的是基于深度学习的检测方法。基于区域的卷积神经网络(regionbasedconvolutionalneuralnetwork,rcnn)成功连接目标检测与深度卷积网络,将目标检测的准确率提升到一个新的层次。rcnn由3个独立的步骤组成:产生候选窗口、特征提取、svm分类及窗口回归。由于rcnn分为3个独立的过程,所以检测效率很低,无法用在大场景视频中。
为了提高目标检测的实时性,一种可能的技术架构是单阶段的目标检测算法,这种方法的特点是端到端(endtoend),从输入图像到检测结果一步到位,中间的过程全部由神经网络学习得到。典型的方法是yolo(youonlylookonce)与ssd(singleshotmultiboxdetector)。这类方法用轻量级的网络实现输入端到输出端的直接相连,极大提高了图像检测的速度。当输入图像的尺寸是416×416时,处理速度可达50fps(framepersecond),能够实现实时检测,但对于大场景视频,分辨率通常可达一个或多个4k,其像素点数是上述图像尺寸的数十倍甚至数百倍,采用上述方法远远达不到实时。
大场景中运动目标检测的另一个困难是,根据运动目标距离摄像机的位置不同,运动目标在画面上的尺度大小差异极大。如在近处时可能占有半个画面,而在远处是可能只有几个像素。这会导致深度学习算法中模型训练难度增加和最终检测精度的下降。
基于上述原因,申请人又提出了一种新的技术架构,结合经纬度定位信息进行大场景内的运动目标检测。首先建立大场景图像中的坐标点和对应的经纬度坐标之间的对应关系。检测时根据目标的类型及其带有误差的经纬度数据(可从gps、北斗系统等获得),对运动目标所在区域进行预测,将该区域映射到大场景视频的画面内,得到画面内包含运动目标的图像块。将图像块缩放成事先设定的大小,送入目标检测处理模块进行目标检测,得到目标在该图像块中的坐标位置,将目标的坐标位置还原为大场景图像上的坐标位置,完成该目标的检测。采用这种技术路线能够针对每一个带有经纬度定位信息的运动目标进行,能够得到大场景图像中所有运动目标的精确位置,不仅大大提高了处理速度,而且提高了检测准确率。
然而,要实现上述方法,还需要考虑实践中可能遇到的障碍。由于根据目标的类型及其卫星定位信息(带有误差的经纬度数据)对运动目标所在区域进行预测时,得到的预测区域内可能包含两个或两个以上的同类目标(如车辆、航空器等),特别是当卫星定位信息的误差和延时较大时,需要设置一个较大的预测区域才能保证把目标包含在内,预测区域出现两个或两个以上同类目标的概率会大大提高,需要能够有效地识别和区分出这些不同的目标。
技术实现要素:
本发明的目的是克服现有技术的上述缺陷,提供一种结合定位信息的大场景内运动目标检测识别方法,以结合定位信息有效进行目标识别,减少数据处理量,提高处理速度,且有利于识别所要检测的目标。
本发明的技术方案是:一种结合定位信息的大场景内运动目标检测方法,包括:
1)图像定标
在图像内选择若干标志点,建立这些标志点在图像中的图像坐标与准确的经纬度坐标之间的对应关系,所述图像为相应场景的大场景图像。
其中,标志点的图像坐标来源于图像,标志点的经纬度坐标来源于带有经纬度信息的相应场景的电子地图。
所述大场景图像可以由一体化全景摄像机拍摄生成,或由一组摄像头拍摄生成的具有重叠区域的局部场景图像拼接而成。
2)建立目标数据库
依据实际涉及的目标,记录目标的真实类型信息和目标图像,建立目标的真实类型信息与目标图像对应的目标数据库。
3)计算预测区域
依据接收到的目标经纬度定位信息启动相应的目标检测,以经纬度定位信息中的经纬度坐标为基准,根据经纬度定位信息的误差范围和目标的尺寸范围,确定目标在经纬度坐标下的预测区域,将目标在经纬度坐标下的预测区域映射到图像中,确定在图像坐标下的预测区域;
在图像坐标下的预测区域可以为在图像中包含映射区域的最小矩形区域,所述映射区域将经纬度坐标下的预测区域映射到图像中的区域。通常情形下,可以将在经纬度坐标下的预测区域的四个角映射到图像中,以这四个角映射到图像中的四点的连线形成的区域作为映射区域,以减少计算量;
4)尺度变换
根据目标检测要求,将图像坐标下的预测区域转换为统一尺寸的检测用图像块;
5)目标检测与匹配
对检测用图像块进行目标检测,若检测到一个目标,以该目标为所要检测的目标(对应于相应经纬度定位信息的目标),在检测用图像块中得到其位置和大小;若检测到多个目标,依据经纬度定位信息中所含的目标类型信息,调取目标数据库相应目标类型的目标图像,将检测到的各目标分别与相应目标图像进行比对,以比对结果最接近的目标为所要检测的目标(对应于相应经纬度定位信息的目标),在检测用图像块中得到其位置和大小;
6)目标还原
依据检测用图像块与图像的坐标对应关系,将检测用图像块中的目标的大小和位置还原为在大场景图像中的位置,由此实现运动目标图像中的检测和定位。
可以采用大场景视频采集设备采集所述的大场景图像,所述大场景视频采集设备为一体化全景摄像机或一组能够进行图像拼接的摄像头,所述大场景图像由一体化全景摄像机拍摄生成,或者由所述各摄像头拍摄生成的具有重叠区域的局部场景图像拼接而成。
对大场景图像进行经纬度标定的具体方式为:在大场景图像中选取若干易于分辨的标志点,从大场景图像中获得各标志点的图像坐标,从显示经纬度数据的地图上的相应区域找到这些标志点,获取标志点的经纬度坐标,由此实现各标志点的图像坐标与经纬度坐标的对应。
将经纬度坐标下的预测区域映射到大场景图像中的具体方式为:将经纬度坐标下的矩形预测区域的四个顶点的经纬度坐标转换为图像坐标,在大场景图像中选定包含这四个图像坐标点的最小矩形,以该最小矩形限定的图像区域为图像检测区域。
对需要经纬度坐标至图像坐标转换的任意一点,基于该点和各标志点的经纬度坐标,计算该点与各标志点之间的经纬度距离或经纬度距离平方,依此确定与该点距离最小的8个标志点。
本发明的有益效果是:由于利用带有误差的经纬度定位信息(来源于卫星定位系统或视频分析之外的其他定位系统)对运动目标所在区域进行预测,确定运动目标的预测区域(图像块),且预测区域的图像块缩放到规定的大小(以像素为单位的固定大小),然后对缩放后的图像块进行目标检测,由此大幅度缩小了检测范围,且由于统一了预测区域的图像大小,便于目标检测,大幅度减小了目标检测的数据处理量,有利于提高检测精度和准确性,使得大场景(例如机场场景)下进行运动目标(例如,飞机、汽车)的实时检测成为可能;由于对同一预测区域的多个目标通过目标属性等先验或已知信息进行识别,实现了所关注的目标与其他目标的区分,有利于消除同一预测区域内其他目标的干扰。
附图说明
图1是本发明的流程图。
具体实施方式
1.总体流程
本发明的整体流程如附图1所示。
首先,大场景视频采集设备(一体化全景摄像机或一组拼接摄像头)固定安装之后,对场景空间中的点与其在视频画面中的像素坐标进行标定,即建立大场景图像中的坐标(x,y)和定位系统的经纬度定位信息(l,t)之间的对应关系,表示为若干个四元组(x,y,l,t),为简便起见,通过选择若干标志点,以标志点的图像坐标与经纬度坐标的对应关系作为大场景图像中的坐标点(x,y)和定位系统的经纬度定位信息(l,t)之间的对应关系的基础,而不是预先对每个点的图像坐标与经纬度坐标的对应关系。
运动目标检测启动后,针对每一个带有经纬度定位信息(含有误差)的运动目标,根据带有误差的经纬度数据和目标本身的类型,对目标所在区域进行预测,并且将该区域映射到大场景视频的画面内,得到画面内的预测区域。对画面内的预测区域进行尺度变换,缩放成事先设定的大小。把统一尺度的图像块送入目标检测处理模块。由于经纬度存在误差,此时可能检测不到目标,也可能检测到多个目标,需要根据检测到的目标分别处理,选择最佳目标,得到它该图像块中的坐标位置。将该坐标位置还原为大场景图像上的坐标位置,完成该目标的检测。
上述目标检测处理针对每一个带有经纬度定位信息和目标类型信息的运动目标进行,能够得到大场景图像中所有运动目标的精确位置。
2.图像定标
采集到大场景图像(可简称为图像)后,首先要进行图像坐标(通常可以采用图像像素坐标系)和经纬度进行关联或定标。在图像上寻找明显的标志点(如道路标志的角点或安装点,交通车道线的角点,地面装饰物的角点等),记录其坐标(x,y),然后在可以显示经纬度数据的地图上记录这些点的经纬度坐标(l,t),记为(x,y,l,t),基于这些标志点的图像坐标和经纬度坐标之间的对应关系,可以实现目标在图像中的映射或经纬度坐标与图像坐标之间的相互转换。
标志点要尽可能覆盖整个场景且尽可能均匀分布。标注点数量越多,后面的目标位区域预测越准确,一幅大场景图像需要标注至少100个点左右。
3.建立目标数据库
根据实际应用场景,在特定区域可能出现的目标是有限的,且其图像是可以事先获得的,把各种目标属性或目标图像(或图像特征)存入目标数据库。
4.计算预测区域
根据目标检测的要求,可以针对每一条经纬度定位信息(l,t),考虑以下因素对相应目标的所在区域进行预测。
(1)经纬度定位信息自身的误差。包括gps、北斗等系统获取数据的误差,或采集频率低以及传输带来的误差,记为(δel,δet),其中δel为经度方向上的正负误差范围,δet为纬度方向上的正负误差范围。比如,现在gps系统定位的误差在10米左右,相当于经纬度误差为3×10-7°。
(2)待检测目标尺寸大小。在本发明假定的应用场景中,待检测目标的类型(如飞机、车辆、人员等)是已知的,可以对其尺寸大小进行合理限定。该尺寸大小同样用地面经纬度表示,记为(δsl,δst)其中δsl为经度方向上的正负尺寸范围,δst为纬度方向上的正负尺寸范围。如,飞机、车辆、行人的大小分别大致为100米,10米,1米。对应的经纬度范围分别为3×10-6°,3×10-7°,3×10-8°。
根据上面的分析,可以将目标区域限定如下:。
(l±(δel δsl),t±(δet δst))式(1)
这在经纬度坐标平面是一个矩形区域,现在计算其4个顶点对应的图像像素坐标,方法如下:
假设已经标定好的n个四元组(xi,yi,li,ti)(i=1,2…n),待转化的点的经纬度坐标为(l,t)。
首先计算已标定点的经纬度和目标点的距离di
disti=(li-l)2 (ti-t)2式(2)
找出距离选定点最近的8个标定点,然后通过此8个标定点的坐标求解基于最小二乘法的非线性模型参数,进而求得对应该点的图像坐标。
非线性模型有很多种,这里使用二次多项式模型,
x=a*l b*t c*l*t d式(3)
其中x代表选定点(l,t)对应图像上的横坐标值,a,b,c,d均为对应的模型参数。
下面求解这个模型。不失一般性地,假设距离(l,t)最近的8个标定点的四元组为(xi,yi,li,ti)(i=1,2…8)式(4)
假设存在系数a,b,c,d,满足下列方程:
上式可以写作:
au=v式(6)
其中
对式(6)进行变换可得:
u=a-1v式(10)
由于矩阵a不是方阵,所以此处a-1为矩阵a的伪逆矩阵(又称广义逆矩阵),即:
a-1=(ata)-1at式(11)
这样就求得了从经纬度坐标到图像坐标的转化系数。所以对于选定点(l,t),其图像横坐标值x为
x=[ltlt1]u式(12)
将式(10)和(11)代入式(12),可得
同理可得图像纵坐标y
将经纬度范围的四个顶点全部转换为像素坐标后,这四个像素坐标不一定能构成矩形,为此在图像中构建一个将这四个点全部包含在内的最小矩形。这个矩形即为待检测目标的预测区域。把这个矩形的左上角位置记为(xp,yp),尺寸为wp×hp。
5.尺度变换
由于目前主流的目标检测算法要求输入图像具有固定大小,对上述待检测目标的预测区域进行尺度变换,缩放固定的大小w×h,如512×512像素,形成具有统一尺寸大小的检测用图像块。
6.目标检测
采用已有的目标检测算法(如参考文献[1]、[2])对检测用图像块进行目标检测,获得目标。目标以其外接矩形(外接框)表示,其在检测用图像块中的左上角坐标为(xr,yr),宽高为(wr,hr)。
不失一般地,目标检测的结果有如下几种:
(1)没有检测到目标:返回结果为空,该目标检测结束,可以根据实际需要跳到处理下一个运动目标(经纬度定位信息)或终止检测;
(2)检测出一个目标:认为此目标即为本次所要检测的目标,返回该目标的外接框在检测用图像块中的左上角坐标(xr,yr)和宽高(wr,hr);
(3)检测出多个目标:此时仅凭目标检测无法判断区域中哪一个目标是待检测的目标,进入下一步图像匹配。
7.图像匹配
把检测到的所有目标与所述目标数据库中的目标信息进行匹配。
例如,当目标数据库中所存目标信息为目标图像,则可以根据目标的真实类型信息在目标数据库中选择对应类型的图像p,计算各个目标和图像p的相似度:
si=f(ii,p)式(15)
其中f表示图像相似度衡量算法,可以采用任意适宜的现有技术,例如参考文献[3]中提出的方法。
将si最大的目标作为本次所要检测的目标,返回该目标的外接框在检测用图像块中的左上角坐标(xr,yr)和宽高(wr,hr);
8.坐标还原
将步骤6或7在检测用图像块中检测得到的目标映射至原始图像。
可以依据下列公式实现该目标的外接框在检测用图像块中的左上角坐标(xr,yr)和宽高(wr,hr)转化为在图像中的左上角坐标(xq,yq)和宽高(wq,hq):
经过上述计算后,得到相应运动目标的图像坐标及跟踪框,进而在大场景图像上增强位置信息或其他相关信息,亦可依据现有技术得到运动目标的经纬度坐标或其他世界坐标系坐标。
由于本发明对目标检测只在可能位置周围的一个限定的区域内进行,大大提高了处理速度。同时,大小目标都缩放成统一的图像尺寸,有利于提高检测的准确率。根据申请人的现场使用,本发明的方法可以有效地应用于机场的航空器(飞机)视频检测和跟踪。
本发明公开的各优选和可选的技术手段,除特别说明外及一个优选或可选技术手段为另一技术手段的进一步限定外,均可以任意组合,形成若干不同的技术方案。
参考文献
[1]redmonj,divvalas,girshickr,etal.youonlylookonce:unified,real-timeobjectdetection[j].2015.
[2]liuw,anguelovd,erhand,etal.ssd:singleshotmultiboxdetector[j].2015.
[3]谢逸逍,汪有成,肖猛,黄玉柱,马文奎.基于几何不变矩的图像相似度计算方法[j].电子技术与软件工程,2017(16):84-85.
1.一种结合定位信息的大场景内运动目标检测方法,包括:
1)图像定标
在图像内选择若干标志点,建立这些标志点在图像中的图像坐标与准确的经纬度坐标之间的对应关系,所述图像为相应场景的大场景图像;
2)建立目标数据库
依据实际涉及的目标,记录目标的真实类型信息和目标图像或目标图像特征,建立目标的真实类型信息与目标图像或目标图像特征对应的目标数据库;
3)计算预测区域
依据接收到的目标经纬度定位信息启动相应的目标检测,以经纬度定位信息中的经纬度坐标为基准,根据经纬度定位信息的误差范围和目标的尺寸范围,确定目标在经纬度坐标下的预测区域,将目标在经纬度坐标下的预测区域映射到图像中,确定在图像坐标下的预测区域;
4)尺度变换
根据目标检测要求,将图像坐标下的预测区域转换为统一尺寸的检测用图像块;
5)目标检测与匹配
对检测用图像块进行目标检测,若检测到一个目标,以该目标为所要检测的目标;若检测到多个目标,依据经纬度定位信息中所含的目标类型信息,调取目标数据库相应目标类型的目标图像,将检测到的各目标分别与相应目标图像进行比对,以比对结果最接近的目标为所要检测的目标;
6)目标还原
依据检测用图像块与图像的坐标对应关系,将检测用图像块中的目标的大小和位置还原到大场景图像上,由此实现运动目标图像中的检测和定位。
2.如权利要求1所述的方法,其特征在于所述标志点的图像坐标来源于图像,标志点的经纬度坐标来源于带有经纬度信息的相应场景的电子地图,所述图像由一体化全景摄像机拍摄生成,或者由所述各摄像头拍摄生成的具有重叠区域的局部场景图像拼接而成。
3.如权利要求1或2所述的方法,其特征在于对图像进行经纬度标定的具体方式为:在图像中选取若干易于分辨的标志点,从图像中获得各标志点的图像坐标,从显示经纬度数据的相应电子地图上的相应区域找到这些标志点,获取标志点的经纬度坐标,由此实现各标志点的图像坐标与经纬度坐标的对应。
4.如权利要求3所述的方法,其特征在于将经纬度坐标下的预测区域映射到图像中的具体方式为:将经纬度坐标下的矩形预测区域的四个顶点的经纬度坐标转换为图像坐标,在图像中选定包含这四个图像坐标点的最小矩形,以该最小矩形限定的图像区域为图像检测区域。
5.如权利要求4所述的方法,其特征在于将任意一点的经纬度坐标转换为图像坐标的方式为选择与该点距离最近且其中任意三点均不在同一直线上的8个标志点,通过这8个标定点的坐标求解基于最小二乘法的非线性模型参数,进而通过该模型求得该点的图像坐标。
技术总结