本发明涉及拍摄目标范围的全景图像,尤其涉及用于确定目标范围中的移动目标的方法,装置和系统。
背景技术:
360度全景图像(包括照片和视频)拍摄是最近非常流行的,市场上已经推出了可以拍摄360度全景图像的全景双鱼眼相机,可以应用到展示、影视、游戏、监控等众多的应用领域。而在监控领域,对于动态物体(车辆、人员、宠物)的跟踪是非常重要的功能之一。全景双鱼眼相机体积小,隐蔽性好,一台全景双鱼眼相机就可以同时监控360度的视野,减少了所需监控设备的数量。
目前已有的动态物体追踪算法,大都是针对普通的平面影像。而对于360度全景图像,检测移动目标(移动物体)的算法很少。对于360度全景双鱼眼图像,传统的经纬展开算法只在一个角度上进行展开,在经纬展开图像的顶部和底部会产生很大的形变(被放大了多倍),导致误检的情况。在差分比较算法中,由于采用固定的阈值,在不同的光照强度下,也会发生误检和漏检的情况。
技术实现要素:
针对现有技术中的问题,本发明提供了用于确定目标范围中的移动目标的方法,装置和系统,其改进了传统的经纬展开算法,通过在水平和垂直两个角度同时进行经纬展开,提高了对图像顶部和底部的移动物体的检测精度。本发明通过利用图像像素的灰度值,动态地设定阈值,从而减少了误检和漏检的情况。
本发明提供一种用于确定目标范围中的移动目标的确定方法,该确定方法包括以下步骤:
a)利用全景相机对所述目标范围进行拍摄,获取所述目标范围的鱼眼全景图像以及所述鱼眼全景图像中的每个鱼眼全景像素分别在时刻t1和时刻t2的灰度值;
b)将所述鱼眼全景图像中的所述每个鱼眼全景像素的坐标转换成为球面坐标,作为对 应的球面像素,以构成球面图像;
c)将所述球面图像中的至少一部分球面像素的球面坐标分别转换成为水平经纬坐标和垂直经纬坐标,分别作为对应的水平像素和对应的垂直像素,以分别构成水平经纬图像和垂直经纬图像;
d)将所述水平经纬图像和所述垂直经纬图像分别划分成为多个水平经纬区域和多个垂直经纬区域,所述多个水平经纬区域中的每个水平经纬区域具有多个水平像素,所述多个垂直经纬区域中的每个垂直经纬区域具有多个垂直像素;
e)针对所述每个水平经纬区域,计算所述多个水平像素中的每个水平像素在所述时刻t1和所述时刻t2的灰度差值,获得多个水平灰度差值,将所述多个水平灰度差值中的最大值作为水平最大灰度差值,并根据所述多个水平灰度差值的平均值,计算水平阈值,以及
针对所述每个垂直经纬区域,计算所述多个垂直像素中的每个垂直像素在所述时刻t1和所述时刻t2的灰度差值,获得多个垂直灰度差值,将所述多个垂直灰度差值中的最大值作为垂直最大灰度差值,并根据所述多个垂直灰度差值的平均值,计算垂直阈值;
f)针对所述每个水平经纬区域,将所述水平最大灰度差值与所述水平阈值进行比较,如果所述水平最大灰度差值大于所述水平阈值,则将相应的水平经纬区域标记为第一符号,否则标记为与所述第一符号不同的第二符号;
针对所述每个垂直经纬区域,将所述垂直最大灰度差值与所述垂直阈值进行比较,如果所述垂直最大灰度差值大于所述垂直阈值,则将相应的垂直经纬区域标记为所述第一符号,否则标记为所述第二符号;
g)根据所述每个水平经纬区域以及所述每个垂直经纬区域所标记的符号,将所述球面图像中的每个球面像素分别标记为所述第一符号或所述第二符号;
h)将所述球面图像中标记为所述第一符号的球面像素,确定为所述移动目标。
全景相机具有两个鱼眼镜头,从而在所述鱼眼全景图像中形成两个局部鱼眼全景图像,所述两个局部鱼眼全景图像分别对应于所述球面图像中的两个半球面图像。
利用两个鱼眼镜头,可以对目标范围进行360度全景拍摄。
在步骤b)中,所述鱼眼全景图像中的第a个鱼眼全景像素的坐标为(xa,ya),对坐标(xa,ya)进行转换,得到所述对应的球面像素a球的球面坐标(r球,θa,φa),
其中,1≤a≤b,b是所述鱼眼全景像素的个数,a,b为整数,所述r球是所述球面图像的球面半径,由所述鱼眼全景图像的像素分辨率所确定,θa是所述球面像素a球的仰角, φa是所述球面像素a球的方位角。
如此,可以从鱼眼全景图像得到相对应的三维的球面图像。
在步骤c)中,将仰角θ在预定角度范围之内的球面像素作为所述至少一部分球面像素。该预定角度范围是大于30度且小于150度。
如此,可以仅对非变形的区域进行分析处理,可以提供对于移动目标的检测精度。另外,由于减少转换的像素数量,因此还可以提高所述系统的处理速度。
在步骤c)中,通过以下等式关系1转换得到所述对应的水平像素a水的水平经纬坐标(xa水,ya水),
并且,通过以下等式关系2转换得到所述对应的垂直像素a垂的垂直经纬坐标(xa垂,ya垂),
如此,可以得到对应的水平经纬图像和垂直经纬图像,便于后续处理。
在步骤d)中,所述多个水平经纬区域为n×2n个,所述多个垂直经纬区域为n×2n个,所述多个水平像素为m×m个,所述多个垂直像素为m×m个,n、m为大于1的整数。根据以下等式关系3获得所述水平阈值和所述垂直阈值,
其中,c1是所述水平阈值,c2是所述垂直阈值,a1是所述m×m个水平灰度差值的平均值,a2是所述m×m个垂直灰度差值的平均值,t和λ是预定系数。
如此,可以动态地设定阈值,从而减少了误检和漏检的情况。
步骤g)中,将所述球面图像中与所述水平经纬图像中的水平像素的坐标相对应的球面像素分别标记所述水平像素所在的水平经纬区域所标记的符号,将所述球面图像中与所述垂直经纬图像中的垂直像素的坐标相对应的球面像素分别标记为所述垂直像素所在的垂直经纬区域所标记的符号,并且将所述球面图像中与所述水平经纬图像中的水平像素的坐标相对应的并且与所述垂直经纬图像中的垂直像素的坐标相对应的球面像素分别标记为所述水平像素所在的水平经纬区域所标记的符号,使得所述每个球面像素分别标记为所述第一符号或所述第二符号。
如此,可以对球面图像中的球面像素进行标记,便于后续处理。
本发明还提供一种用于确定目标范围中的移动目标的确定装置,该确定装置包括:
获取单元,利用全景相机对所述目标范围进行拍摄,所述获取单元获取所述目标范围的鱼眼全景图像以及所述鱼眼全景图像中的每个鱼眼全景像素分别在时刻t1和时刻t2的灰度值;
球面图像转换单元,球面图像转换单元所述将所述鱼眼全景图像中的所述每个鱼眼全景像素的坐标转换成为球面坐标,作为对应的球面像素,以构成球面图像;
经纬图像转换单元,所述经纬图像转换单元将所述球面图像中的至少一部分球面像素的球面坐标分别转换成为水平经纬坐标和垂直经纬坐标,分别作为对应的水平像素和对应的垂直像素,以分别构成水平经纬图像和垂直经纬图像;
划分单元,所述划分单元将所述水平经纬图像和所述垂直经纬图像分别划分成为多个水平经纬区域和多个垂直经纬区域,所述多个水平经纬区域中的每个水平经纬区域具有多个水平像素,所述多个垂直经纬区域中的每个垂直经纬区域具有多个垂直像素;;
计算单元,所述计算单元针对所述每个水平经纬区域,计算所述多个水平像素中的每个水平像素在所述时刻t1和所述时刻t2的灰度差值,获得多个水平灰度差值,将所述多个水平灰度差值中的最大值作为水平最大灰度差值,并根据所述多个水平灰度差值的平均值,计算水平阈值,以及
所述计算单元针对所述每个垂直经纬区域,计算所述多个垂直像素中的每个垂直像素在所述时刻t1和所述时刻t2的灰度差值,获得多个垂直灰度差值,将所述多个垂直灰度差值中的最大值作为垂直最大灰度差值,并根据所述多个垂直灰度差值的平均值,计算垂直阈值;
比较标记单元,针对所述每个水平经纬区域,所述比较标记单元将所述水平最大灰度差值与所述水平阈值进行比较,如果所述水平最大灰度差值大于所述水平阈值,则将相应的水平经纬区域标记为第一符号,否则标记为与所述第一符号不同的第二符号,并且
针对所述每个垂直经纬区域,所述比较标记单元将所述垂直最大灰度差值与所述垂直阈值进行比较,如果所述垂直最大灰度差值大于所述垂直阈值,则将相应的垂直经纬区域标记为所述第一符号,否则标记为所述第二符号;
球面像素标记单元,所述球面像素标记单元根据所述每个水平经纬区域以及所述每个垂直经纬区域所标记的符号,将所述球面图像中的每个球面像素分别标记为所述第一符号 或所述第二符号;
移动目标确定单元,所述移动目标确定单元将所述球面图像中标记为所述第一符号的球面像素,确定为所述移动目标。
本发明还提供一种用于确定目标范围中的移动目标的系统,所述系统包括:
全景相机,所述全景相机对所述目标范围进行拍摄;
如上所述的装置,该装置根据所述全景相机拍摄到的所述目标范围的鱼眼全景图像,确定所述移动目标,
显示装置,用于显示所述确定装置所确定的所述移动目标。
附图说明
图1是根据本发明实施例的用于确定目标范围中的移动目标的系统的示意图;
图2是根据本发明实施例的用于确定目标范围中的移动目标的装置的示意图;
图3是根据本发明实施例的用于确定目标范围中的移动目标的方法的流程的示意图。
图4是根据本发明实施例的目标范围的鱼眼全景图像的示意图;
图5是根据本发明实施例的水平经纬图像的示意图;
图6是根据本发明实施例的垂直经纬图像的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行具体说明。
图1是根据本发明实施例的用于确定目标范围中的移动目标的系统1的示意图。如图1所示,该系统1包括全景相机10、用于确定目标范围中的移动目标的确定装置11和显示装置12。全景相机10对目标范围进行拍摄,确定装置11根据全景相机10拍摄到的目标范围的鱼眼全景图像,确定移动目标,显示装置12用于显示确定装置11所确定的所述移动目标。确定装置11例如可以是计算机、智能手机、平板电脑等。显示装置12例如是液晶显示器。
图2是根据本发明实施例的用于确定目标范围中的移动目标的确定装置11的示意图。如图2所示,该确定装置11包括获取单元110、球面图像转换单元112、经纬图像转换单元114、划分单元116、计算单元118、比较标记单元120、球面像素标记单元122、和移动目标确定单元124。
图3是根据本发明实施例的用于确定目标范围中的移动目标的确定方法的流程的示意图。
如图3所示,在步骤s31中,利用全景相机10对目标范围进行拍摄,获取单元110获取目标范围的鱼眼全景图像以及鱼眼全景图像中的每个鱼眼全景像素分别在时刻t1和时刻t2的灰度值。
全景相机10具有两个鱼眼镜头,从而在鱼眼全景图像中形成两个局部鱼眼全景图像。其中,两个局部鱼眼全景图像是两个圆形的二维鱼眼全景图像。图4是根据本发明实施例的目标范围的鱼眼全景图像的示意图,具有两个局部鱼眼全景图像。
在步骤s32中,球面图像转换单元112将鱼眼全景图像中的每个鱼眼全景像素的坐标转换成为球面坐标,作为对应的球面像素,以构成球面图像。
这里,鱼眼全景图像中的第a个鱼眼全景像素的坐标为(xa,ya),球面图像转换单元112利用以下等式关系e对坐标(xa,ya)进行转换,得到对应的球面像素a球的球面坐标(r球,θa,φa),
其中,1≤a≤b,b是鱼眼全景像素的个数,a,b为整数,r球是球面图像的球面半径,由鱼眼全景图像的像素分辨率所确定,θa是球面像素a球的仰角,φa是球面像素a球的方位角。
本实施例中,例如,鱼眼全景图像的像素分辨率是2048×1024,其中,π×r球=1024,从而计算得到r球为326。另外,例如第a个鱼眼全景像素的坐标为(-100,200),并代入上述等式关系1,得到
-100=326×θa×cosφa
200=326×θa×sinφa
如此,计算得到θa为0.686,φa为0.805,即,转换得到对应的球面像素a球的球面坐标(r球,θa,φa)为(326,0.686,0.805)。也就是说,球面图像上的球面像素a球的球面坐标为(326,0.686,0.805)。这里,对应的球面像素a球的灰度值就是第a个鱼眼全景像素的灰度值。
如此,可以将每个鱼眼全景像素的坐标都转换为球面图像上的对应的球面像素的球面坐标。另外,如上所述的两个局部鱼眼全景图像分别对应于该球面图像中的两个半球面图 像。
接下来,在步骤s33,经纬图像转换单元114将上述球面图像中的至少一部分球面像素的球面坐标分别转换成为水平经纬坐标和垂直经纬坐标,分别作为对应的水平像素和对应的垂直像素,以分别构成水平经纬图像和垂直经纬图像。
其中,经纬图像转换单元114将仰角θ在预定角度范围之内的球面像素作为至少一部分球面像素,该预定角度范围可以是大于30度且小于150度,即,将30度<θ<150度的球面像素作为至少一部分球面像素。
这里,如果将除了至少一部分球面像素之外的球面像素分别转换成为对应的水平像素和垂直像素,那么就会成为水平经纬图像和垂直经纬图像中的顶部和底部的超大形变部分,而这部分会降低对于移动目标的检测精度。因此,通过仅仅将30度<θ<150度的球面像素分别转换为对应的水平像素和垂直像素,可以提高对于移动目标的检测精度。另外,由于减少转换的像素数量,因此还可以提高所述系统的处理速度。
经纬图像转换单元114通过以下等式关系1将球面坐标(r球,θa,φa)转换得到对应的水平像素a水的水平经纬坐标(xa水,ya水),
并且,通过以下等式关系2将球面坐标(r球,θa,φa)转换得到对应的垂直像素a垂的垂直经纬坐标(xa垂,ya垂),
本例中,从步骤s32获得的球面像素a球的球面坐标为(326,0.686,0.805),根据上述等式关系2和等式关系3,可以分别计算得到与球面像素a球相对应的水平像素a水的水平经纬坐标为(268,288),与球面像素a球相对应的垂直像素a垂的垂直经纬坐标为(774,288)。这里,对应的水平像素a水的灰度值以及对应的垂直像素a垂的灰度值就是球面像素a球的灰度值,也就是第a个鱼眼全景像素的灰度值。即,每个水平像素的灰度值以及每个垂直像素的像素值是对应的鱼眼全景像素的灰度值。
将每个球面像素按照上述方式分别转换为对应的水平像素和垂直像素,从而分别构成水平经纬图像和垂直经纬图像。如图5和图6所示,图5是根据本发明实施例的水平经纬图像的示意图,图6是根据本发明实施例的垂直经纬图像的示意图。
在步骤s34,划分单元116将水平经纬图像和垂直经纬图像分别划分成为多个水平经纬区域和多个垂直经纬区域,每个水平经纬区域中具有多个水平像素,每个垂直经纬区域中具有多个垂直像素。
其中,多个水平经纬区域为n×2n个,多个垂直经纬区域为n×2n个,多个水平像素为m×m个,多个垂直像素为m×m个,n、m为大于1的整数。
本例中,例如m为16,那么每个水平经纬区域具有16×16个水平像素,每个垂直经纬区域中具有16×16个垂直像素。另外,例如水平经纬图像和垂直经纬图像的分辨率都是2048×1024,根据2n×16=2048,n×16=1024,可以得出本例中n=64。
接下来,在步骤s35,计算单元118针对每个水平经纬区域,计算16×16个水平像素中的每个水平像素在时刻t1和时刻t2的灰度差值,获得16×16个水平灰度差值,将16×16个水平灰度差值中的最大值作为水平最大灰度差值,并根据16×16个水平灰度差值的平均值,计算水平阈值,并且
计算单元118针对每个垂直经纬区域,计算16×16个垂直像素中的每个垂直像素在时刻t1和时刻t2的灰度差值,获得16×16个垂直灰度差值,将16×16个垂直灰度差值中的最大值作为垂直最大灰度差值,并根据16×16个垂直灰度差值的平均值,计算垂直阈值。
如上所述,每个水平像素的灰度值就是对应的鱼眼全景像素的灰度值,因此,每个水平像素在时刻t1和时刻t2的灰度差值就是对应的鱼眼全景像素在时刻t1和时刻t2的灰度值的差值。同样,每个垂直像素的灰度值就是对应的鱼眼全景像素的灰度值,因此,每个垂直像素在时刻t1和时刻t2的灰度差值就是对应的鱼眼全景像素在时刻t1和时刻t2的灰度值的差值。
例如,针对一个水平经纬区域,如上计算获得16×16个水平灰度差值,其中的最大值例如是125,即,该水平经纬区域的水平最大灰度差值为125。同样,例如针对一个垂直经纬区域,如上计算获得16×16个垂直灰度差值,其中的最大值例如是125,即,该垂直经纬区域的垂直最大灰度差值为125。计算单元118根据以下等式关系3获得水平阈值和垂直阈值,
其中,c1是水平阈值,a1是16×16个水平灰度差值的平均值,t和λ是预定系数。本例 中,t例如是50,λ例如是2,且16×16个水平灰度差值的平均值a1例如是7.8,如此计算得到c1是65.6。
其中,c2是垂直阈值,a2是16×16个垂直灰度差值的平均值,t和λ是预定系数。本例中,t例如是50,λ例如是2,且16×16个垂直灰度差值的平均值a2例如是7.8,如此计算得到c2是65.6。
如此,对水平经纬图像中的每个水平经纬区域以及垂直经纬图像中的每个垂直经纬区域进行相同的计算。
在步骤s36,针对每个水平经纬区域,比较标记单元120将水平最大灰度差值与水平阈值进行比较,如果水平最大灰度差值大于水平阈值,则将相应的水平经纬区域标记为第一符号,否则标记为与第一符号不同的第二符号,并且针对每个垂直经纬区域,比较标记单元120将垂直最大灰度差值与垂直阈值进行比较,如果垂直最大灰度差值大于垂直阈值,则将相应的垂直经纬区域标记为第一符号,否则标记为第二符号。
例如,针对上述一个水平经纬区域,比较标记单元120将其水平最大灰度差值与水平阈值进行比较,其中,水平最大灰度差值为125,水平阈值c1为65.6,即,水平最大灰度差值大于水平阈值,那么就将该水平经纬区域标记为第一符号。本例中,第一符号例如为“1”,第二符号例如为“0”。
同样,例如,针对上述一个垂直经纬区域,比较标记单元120将其垂直最大灰度差值与垂直阈值进行比较,其中,垂直最大灰度差值为125,垂直阈值c1为65.6,即,垂直最大灰度差值大于垂直阈值,那么就将该垂直经纬区域标记为第一符号“1”。
然后,在步骤s37,球面像素标记单元122根据每个水平经纬区域以及每个垂直经纬区域所标记的符号,将球面图像中的每个球面像素分别标记为第一符号“1”或第二符号“0”。
具体的,球面像素标记单元122将球面图像中与水平经纬图像中的水平像素的坐标相对应的球面像素分别标记水平像素所在的水平经纬区域所标记的符号,将球面图像中与垂直经纬图像中的垂直像素的坐标相对应的球面像素分别标记为垂直像素所在的垂直经纬区域所标记的符号,并且将球面图像中与水平经纬图像中的水平像素的坐标相对应的并且与垂直经纬图像中的垂直像素的坐标相对应的球面像素分别标记为水平像素所在的水平经纬区域所标记的符号,使得每个球面像素分别标记为所述第一符号或所述第二符号。
本例中,以球面像素a球为例,水平经纬图像中的水平像素a水的坐标(268,288)对 应于球面像素a球,并且垂直经纬图像中的垂直像素a垂的坐标(744,288)也对应于球面像素a球,即,球面像素a球对应于水平像素a水及垂直像素a垂,那么球面像素标记单元122就将球面像素a球标记为水平像素a水所在的水平经纬区域所标记的符号。例如,水平像素a水所在的水平经纬区域所标记的符号为第一符号“1”,那么球面像素标记单元122就将球面像素a球标记为“1”。
另外,如果另一个球面像素a’球例如只对应于水平经纬图像中的水平像素a’水,而没有对应于垂直经纬图像中的任何垂直像素,且例如该水平像素a’水所在的水平经纬区域所标记的符号为第二符号“0”,那么球面像素标记单元122就将该球面像素a’球标记为“0”。如果又一个球面像素a”球例如只对应于垂直经纬图像中的垂直像素a”垂,而没有对应于水平经纬图像中的任何水平像素,且例如该垂直像素a”垂所在的垂直经纬区域所标记的符号为第二符号“1”,那么球面像素标记单元122就将该球面像素a”球标记为“1”。
按照上述方式,可以对球面图像上的所有球面像素进行标记。
在步骤s38,移动目标确定单元124将球面图像中标记为第一符号“1”的球面像素,确定为移动目标。
移动目标确定单元124将球面图像中标记为第一符号“1”的球面像素进行连接,形成多个标记区域,并将标记区域面积最大的一个标记区域确定为移动目标。
在确定了移动目标之后,用户可以调整全景图像的播放角度,使得需要跟踪的移动目标显示在显示装置12中间,方便用户进行观察。
本发明改进了传统的经纬展开算法,通过在水平和垂直两个角度同时进行经纬展开,提高了对图像顶部和底部的移动物体的检测精度。本发明通过利用图像像素的灰度值,动态的设定阈值,从而减少了误检和漏检的情况。
虽然本发明的特定实施例已被描述,但这些实施例只通过实例的方式进行表述,并不意欲限制本发明的范围。实际上,本文描述的创新方法可以通过各种其他形式实施;此外,也可以进行对本文描述的方法和系统的各种省略、替代和改变而不背离本发明的精神。附后的权利要求及其等同内容的目的是涵盖落入本发明的范围和精神内的这样的各种形式或修改。