一种用在目标识别中简单形状物体的近似快速消除影子影响的方法
【技术领域】
[0001]本发明属于计算机人工智能目标识别领域,具体涉及区分并消除物体影子对物体轮廓的判断影响的方法。
【背景技术】
[0002]从视频图像中提取目标的轮廓是基本的图像处理和模式识别的内容,但在阳光下,物体会产生影子,在各种不同的轮廓提取方法中,影子的出现经常会对轮廓产生干扰,影响物体的识别。
[0003]在固定拍摄场景中,已知物体的识别,通常采用背景数据差分法,通过颜色、灰度的、边缘轮廓的方式提取出物体的轮廓。其中,采用差分方法提取的轮廓通常包括影子的轮廓。
[0004]以往的图像处理中目标提取识别方法,对于影子的处理通常采用通过图像灰度判别的方式来消除影子,此方法对于复杂地面的情况往往效果不好。
[0005]目前还没有有效的方法可以用于实时视频图像处理时快速直接计算简单形状物体影子,并以此来消除影子的影响。
[0006]由此可见,如何在目标识别中,对简单形状物体的近似快速消除影子影响是本领域亟需要解决的问题。
【发明内容】
[0007]针对现有图像处理中目标提取识别时对影子的处理方案中所存在的问题,本发明的目的在于提供一种用在目标识别中简单形状物体的近似快速消除影子影响的方法,以此来提高目标识别的效率和精度。
[0008]为了达到上述目的,本发明采用如下的技术方案:
[0009]一种用在目标识别中简单形状物体的近似快速消除影子影响的方法,所述方法包括如下步骤:
[0010](I)获取待识别目标所处场景的经纬度、时间、日期信息;
[0011 ] (2)针对待识别目标获取疑似物体的影像轮廓;
[0012](3)根据步骤(I)中获取到的经纬度、日期信息计算待识别目标所处场景中阳光影子的垂直方向角度、水平方向角度以及对应的日出、日落时间;
[0013](4)根据步骤⑴中获取到的时间信息计算步骤⑵中获取到的疑似物体是否有影子;
[0014](5)根据影子的方向,截取物体影像轮廓中不受影子影响的部分轮廓;
[0015](6)根据截取轮廓估测可能的疑似物体;
[0016](7)在步骤¢)中估测到的疑似物体,选择其中一种疑似物体;
[0017](8)根据选择的疑似物体的立体几何形状,计算该物体的当前可能影子形状;
[0018](9)根据射影几何学原理,用摄像机的6个外部参数,计算该影子轮廓在当前拍摄场景中可能的场景轮廓几何形状;
[0019](10)在原有影像轮廓中切除可能场景影子轮廓的部分;
[0020](11)将物体轮廓与已知目标轮廓进行比对,确认是否匹配,若匹配符合要求,则识别成功,若匹配不符合要求,则回到步骤(7),重新选择其它可能的疑似物体;重复步骤(8)至(11),直到找到匹配目标或全部遍历没有可匹配目标。
[0021]在该方法的优选方案中,所述步骤(3)的实现过程如下:
[0022]阳光影子的垂直方向角度TimeSunAngle:
[0023]当 Latitude〉= DaySunAngle 时:
[0024]T imeSunAngle =
[0025]sin ((Time_TimeDelay-6)/12* π) *(90-Latitude)+DaySunAngle ;
[0026]当 Latitude〈DaySunAngle 时:
[0027]TimeSunAngle =
[0028]180-(sin ((Time_TimeDelay-6)/12* π) *(90-DaySunAngle)+Latitude);
[0029]0〈TimeSunAngle〈180,小于0度或大于180度表示太阳没有升起,没有影子,90度表示垂直,小于90度影子向北,大于90度影子向南;
[0030]阳光影子的水平方向角度TimeSunOrientat1n:
[0031]当 Latitude〉= DaySunAngle 时:
[0032]当Time〈12 时
[0033]TimeSunOrientat1n = arccos (((DaySunAngIe*2-sin (-(6-Time-TimeDelay)/12*180) (Latitude*2-180)/2));
[0034]当Time〉12 时
[0035]TimeSunOrientat1n = arccos (((DaySunAngIe*2-sin (-(6~Time-TimeDelay)/12*180) (Latitude*2-180)/2))+180 ;
[0036]当 Latitude〈DaySunAngle 时:
[0037]当Time〈12 时
[0038]TimeSunOrientat1n = 180-arccos(((DaySunAngle*2_sin(-(6-Time_TimeDelay)/12*180) (Latitude*2-180)/2));
[0039]当Time>12 时
[0040]TimeSunOrientat1n = -arccos(((DaySunAngle*2-sin(-(6-T ime-T imeDelay)/12*180) (Latitude*2-180)/2));
[0041]日出、日落时间SunriseTime、SunsetTime:
[0042]SunriseTime = 6+TimeDeIay-EarlySunTime ;
[0043]SunsetTime = 18+TimeDelay+EarlySunTime ;
[0044]EarlySunTime为天亮相对与6点钟的提前时差:
[0045]当 Latitude〉= 90-DaySunAngle 时,表不白夜;
[0046]当 Latitude〈90_DaySunAngle 时:
[0047]当 Latitude〉= DaySunAngle
[0048]EarlySunTime = arcsin(Latitude/(90-DaySunAngle))/180*6 ;
[0049]当Latitude〈 = DaySunAngle
[0050]EarlySunTime = arcsin(DaySunAngle/(90-Latitude))/180*6 ;
[0051]其中,Time为当前时刻;Latitude为讳度;Longitude为经度;
[0052]DaySunAngle为当日阳光相对赤道的角度,且DaySunAngle =23.5*sin (Days*2/365* η ), Days为当日距上一个春分的天数;
[0053]TimeDelay 为时差,TimeDelay = (TimeZone* 15-Longitude) /360*24,且 TimeZone为所属时区;
[0054]在该方法的另一优选方案中,所述步骤(10)中切除可能场景影子轮廓时,采用场景影子轮廓为空,与影像轮廓进行逻辑与的处理,得到无影子影响的物体轮廓。
[0055]本发明提供的方案能够在目标识别时快速确定任意时刻、任意地点物体阳光影子长度和方向,从而能够从图像中提取目标轮廓和位置时,区分并消除物体影子对物体轮廓的判断的影响。
[0056]再者,本发明提供的方案能够快速的确定影子位置,且准确性高;通过实验证明,本方案计算量少,可以大大提高目标识别的处理速度和精度。
【附图说明】
[0057]以下结合附图和【具体实施方式】来进一步说明本发明。
[0058]图1为本发明实现的流程图。
【具体实施方式】
[0059]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
[0060]本发明在已知日期时间、物体所在地点的经纬度的基础上,近似计算出简单形状物体的阳光影子。
[0061]在根据计算出的阳光影子的长度和方向确定影子轮廓。
[0062]在确定影子轮廓后,通过几何变换,将含影子的目标轮廓中剪切除影子的轮廓,即可得到基本的物体轮廓,便于更好地目标识别。
[0063]基于上述原理,本发明的具体实现方案如下(参见图1):
[0064](I)获取待识别目标所处场景(即当前场景)的经纬度、时间、日期信息。
[0065](2)针对待识别目标获取疑似物体的影像轮廓;该步骤具体实现时可采用现有的物体影像轮廓提取的方法和算法,此处不详细描述。
[0066](3)根据步骤(I)中获取到的经纬度、日期信息计算待识别目标所处场景中阳光影子的垂直方向角度、水平方向角度以及对应的日出、日落时间。
[0067]本步骤中计算待识别目标所处场景中阳光影子的垂直方向角度、水平方向角度以及对应的日出、日落时间等信息的具体方案如下:
[0068]为了清楚说明本方案,首先对涉及到的一些参数进行说明:
[0069]1.所有角度的单位均采用度;
[0070]2.地面水平方向:以向北为O度,顺时针为正方向;
[0071]3.为了影子长度标么化,假设物体的高度为I ;
[0072]4.假设物体所在位置的经纬度:
[0073]经度(Longitude)为qLo ;
[0074]讳度(Latitude)为qLa,北讳为正,南讳为负;
[0075]5.所属时区(qTimeZone);
[0076]6.时间点,日期为qDate,时间为qTime ;
[0077]7.回归线的纬度为23。26',约23.5。。
[0078]8.计算时差
[0079]根据站址经度计算与时区的时差(TimeDelay,单位:小时);
[0080]TimeDelay = (TimeZone*15_Longitude)/360*24 ;
[0081]9.计算阳光角度
[0082]取春分日期为3月21日;
[0083]计算当日距上一个春分的天数(Days,单位:天);
[0084]计算当日阳光相对赤道的角度(DaySunAngle)
[0085]DaySunAngle = 23.5*sin (Days*2/365* π )。
[0086]影子垂直方向角度
[0087]计算当前时刻阳光和地面的夹角(TimeSunAngle);
[0088]当前时刻(Time,单位小时);
[0089]当 Latitude〉= DaySunAngle 时:
[0090]T imeSunAngle =
[0091]sin ((Time-TimeDelay-6)/12* π) *(90-Latitude)+DaySunAngle
[0092]当 Latitude〈DaySunAngle 时:
[0093]T imeSunAngle =
[0094]180- (sin ((Time-TimeDela