基于边缘和骨架信息的车辆阴影消除方法

文档序号:6586604阅读:211来源:国知局

专利名称::基于边缘和骨架信息的车辆阴影消除方法
技术领域
:本发明涉及一种基于边缘和骨架信息的车辆阴影消除方法,属于交通监控
技术领域
中的车辆阴影消除方法。
背景技术
:车辆检测是交通信息采集系统的重要功能之一。传统的车辆检测方法是环形线圈检测,它存在容易损坏、维修困难等缺点。近些年来,视频车辆检测技术成为车辆检测技术中的一个热点,相比传统的环形线圈检测技术具有检测区域大、检测参数多、安装维护方便等优点,具有广阔的应用前景。视频车辆检测技术的难点是增加复杂环境下车辆检测的稳定性。在光照环境下,车辆阴影的存在一方面会降低车辆检测的准确性,另一方面会使临近的车辆发生粘结现象,从而降低视频车辆检测系统的性能,因此需要对车辆阴影进行消除。通过对现有技术文献的检索发现,现有的车辆阴影消除方法主要是选择一定的特征来区分阴影区域与车辆区域,但由于特征的不稳定,部分车辆区域可能会与阴影区域混淆,造成车辆阴影的过分消除。本发明将提供一种能够准确区分车辆区域和阴影区域的的车辆阴影消除方法。
发明内容本发明目的是针对现有技术存在的缺陷提供一种基于边缘和骨架信息的车辆阴影消除方法,该方法能够准确地消除车辆的阴影。本发明为实现上述目的,采用如下技术方案本发明基于边缘和骨架信息的车辆阴影消除方法,其特征在于包括如下步骤①计算背景差图像并对其二值化交通场景的背景图像为BKG,需要进行车辆阴影消除的当前图像为P,计算当前图像P与背景图像BKG之间的绝对差,得到背景差图像BP,即BP(x,y)=|P(x,y)-BKG(x,y)|,式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,BP(x,y)表示背景差图像BP中坐标为(x,y)的像素的灰度,x,y分别表示横坐标和纵坐标,下同;其次,对背景差图像BP进行二值化计算,得到前景二值图0M,OM(x,力叫,式中,THR表示分割阈值;0M(x,y)表示前景二值图0M中坐标为(x,y)的像素的值,若为1表示该像素属于车辆区域,若为0表示该像素属于静止背景区域;②计算初始阴影图像用当前图像P除以背景图像BKG得到图像D,即<formula>formulaseeoriginaldocumentpage5</formula>式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,D(x,y)表示图像D中坐标为(x,y)的像素的值,根据如下判断规则计算初始阴影图像SH,S72(jc,力叫,L0e/se式中,D(x,y)表示图像D中坐标为(x,y)的像素的值,1\和12表示取值范围且[《T2]g;Sh(x,y)表示初始阴影图像SH中坐标为(x,y)的像素的值,若为l表示该像素属于车辆的阴影区域,若为0则表示该像素不属于车辆的阴影区域;③计算车辆区域的边界即利用Sobel边缘算子提取前景二值图OM中车辆区域的初始边界,得到图像0M1,0Mlm=OM*Gm,0Mln=OM*Gn,1(OMlm(x,力a2+0Mi"(x,力a2)Ao.5^&OMl(;c,力|n,0else式中,Gm=[+2-1;000;121],Gn=[-101;-202;-101],S丄为阈值,0Mlm是前景二值图OM与Gm进行巻积运算后得到的图像,0Mln是前景二值图OM与Gn进行巻积运算后得到的图像,之后,利用膨胀算子Se=[111;111;111]对图像MT进行膨胀,得到车辆区域的边界图像OMl,④计算车辆区域的骨架利用Sobel边缘算子提取背景差图像BP中前景区域的骨架,得到图像0M2,即0Mlm=BP*Gm,0M2n=BP*Gn,else式中,G迈二[+2-1;000;121],Gn=[-101;-202;-101],S2为阈值,0M2m是图像BP与Gm进行巻积运算后得到的图像,0M2n是图像BP与Gn进行巻积运算后得到的图像,之后,利用膨胀算子Se=[111;111;111]对图像M^进行膨胀,得到车辆区域的骨架图像0M2,⑤计算车辆二值图像首先,用前景二值图OM减去初始阴影图像SH中重叠的区域,得到初始的车辆二值图像MVO,即:f1OM(x,力=1and舰x,力=0MFO—"",然后,用初始的车辆二值图像MV0加上车辆区域的骨架图像0M2,得到初步修正的5车辆二值图像MV1,即<formula>formulaseeoriginaldocumentpage6</formula>最后,用初步修正的车辆图像MVl减去车辆区域的边界图像OMl,得到最终的车辆二值图像MV2,即:<formula>formulaseeoriginaldocumentpage6</formula>式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度;MV2(x,y)表示车辆二值图像MV2中坐标为(x,y)的像素的值,若值为1表示该像素属于车辆区域,若值为0表示该像素不属于车辆区域。本发明具有如下有益效果1.准确地检测和消除阴影区域。以车辆区域和阴影区域相对于背景区域的灰度比为判别特征,能够准确的检测和消除阴影区域。2.减少车辆区域被误检测为阴影区域的现象。检测车辆区域的骨架并对其膨胀,利用该骨架可以恢复被误检测为阴影区域的车辆区域,增加了阴影区域消除的准确性。图1是车辆阴影消除的流程图。图2是背景图像BKG。图3是当前图像P。图4是前景二值图0M。图5是初始阴影图像SH。图6是车辆区域的边界图像0M1。图7是车辆区域的骨架图像0M2。图8是初始的车辆二值图像MVO。图9是初步修正的运动车辆二值图像MV1。图10是最终的运动车辆二值图像MV2。图11是消除阴影后的车辆图像P。具体实施例方式本发明的具体实例结合图1-11说明如下如图l所示本发明基于边缘和骨架信息的车辆阴影消除方法,包括如下步骤①背景初始化架设摄像机,针对一具体的交通场景采集15分钟的连续序列图像,采集频率为30帧/s,图像大小为240X320像素。对所有采集来的图像进行平均计算,即⑥消除阴影利用车辆二值图像MV2获得消除阴影后的车辆图像P,即B《G(X,力=^ZQ"力,其中,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,Qjx,y)表示Qi中坐标为(x,y)的像素的灰度,最终得到如图2所示的初始背景图像BKG。②计算背景差图像并对其二值化得到背景图像B。之后,采集一张需要消除车辆阴影的图像P,如图3所示。计算图像P与背景图像BKG之间的绝对差,得到背景差图像BP,即,BP(x,y)=|P(x,y)-BKG(x,y)|,式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,BP(x,y)表示背景差图像BP中坐标为(x,y)的像素的灰度,计算得到的背景差图像BP如图4所示。其次,对背景差图像BP进行二值化计算,得到前景二值图0M,fi,z/朋(x,力^r朋aw(x,力叫,式中,THR表示分割阈值,0M(x,y)表示前景二值图0M中坐标为(x,y)的像素的值,若为1表示该像素属于车辆区域,若为O表示该像素属于静止背景区域,计算得到的前景二值图0M如图5所示。③计算初始阴影图像用当前图像P除以背景图像BKG得到图像D,即式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,D(x,y)表示图像D中坐标为(x,y)的像素的值,根据如下判断规则计算初始阴影图像SH,式中,D(x,y)表示图像D中坐标为(x,y)的像素的值,1\和12表示取值范围且Er2]^,Sh(x,y)表示初始阴影图像SH中坐标为(x,y)的像素的值,若为l表示该像素属于车辆的阴影区域,若为0则不属于阴影区域,计算得到的初始阴影图像SH如图6所示。④计算车辆区域的边界利用Sobel边缘算子提取前景二值图0M中运动区域的初始边界,得到图像^11,即0Mlm=0M*Gm,0Mln=0M*Gn,式中,Gm二[+2-1;000;121],Gn=[-101;-202;-101],为阈值,0Mlm是图像力/B《G(x,力S《G(x,力*0户(;c,力/(5夂G(jc,力+1)B尺G(x,力=070M与Gm进行巻积运算后得到的图像,0Mln是图像OM与Gn进行巻积运算后得到的图像,计算得到的图像^11如图7所示。之后,利用膨胀算子Se=[111;111;111]对图像OMl进行膨胀,得到车辆区域的边界图像0M1,如图8所示。⑤计算车辆区域的骨架利用Sobel边缘算子提取背景差图像BP中前景区域的骨架,得到图像0M2,即0Mlm=BP*Gm,0M2n=BP*Gn,OM2O,>0="*,式中,G迈二[+2-1;000;121],Gn=[-101;-202;-101],S2为阈值,0M2m是图像BP与Gm进行巻积运算后得到的图像,0M2n是图像BP与Gn进行巻积运算后得到的图像,计算得到的图像如图8所示。之后,对利用膨胀算子Se=[111;111;111]对图像0M2进行膨胀,得到车辆区域的骨架图像0M2如图9所示。⑥计算车辆二值图像首先,用前景二值图OM减去初始阴影图像SH中重叠的区域,得到初始的车辆二值MVO,即OM(jc,力=1and舰;c,力=0,"else然后,用初始的车辆二值图像MV0加上车辆区域的骨架图像0M2,得到初步修正的车辆二值图像MV1,即MV1(x,y)=MVO(x,y)or0M2(x,y),最后,用初步修正的车辆图像MV1减去车辆区域的边界图像0M1,得到最终的运动车辆二值图像MV2如图10所示,计算方法为「1andOMl(Jc,力二0——'else⑦消除阴影利用车辆二值图像MV2获得消除阴影后的车辆图像P,即&,力=^^)W2"力",(欣G(x,力MF2(x,:k)=0式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,MV2(x,y)表示车辆二值图像MV2中坐标为(x,y)的像素的值,若值为1表示该像素属于车辆区域,若值为0表示该像素不属于车辆区域,最后计算得到的消除阴影后的车辆图像P如图11所示。权利要求一种基于边缘和骨架信息的车辆阴影消除方法,其特征在于包括如下步骤①计算背景差图像并对其二值化交通场景的背景图像为BKG,需要进行车辆阴影消除的当前图像为P,计算当前图像P与背景图像BKG之间的绝对差,得到背景差图像BP,即BP(x,y)=|P(x,y)-BKG(x,y)|,式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,BP(x,y)表示背景差图像BP中坐标为(x,y)的像素的灰度,x,y分别表示横坐标和纵坐标,下同;其次,对背景差图像BP进行二值化计算,得到前景二值图OM,<mrow><mi>OM</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>ifBP</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>THR</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,THR表示分割阈值;OM(x,y)表示前景二值图OM中坐标为(x,y)的像素的值,若为1表示该像素属于车辆区域,若为0表示该像素属于静止背景区域;②计算初始阴影图像用当前图像P除以背景图像BKG得到图像D,即<mrow><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>/</mo><mi>BKG</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>BKG</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><mi>BKG</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mi>BKG</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度,D(x,y)表示图像D中坐标为(x,y)的像素的值,根据如下判断规则计算初始阴影图像SH,<mrow><mi>Sh</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>ifT</mi><mn>1</mn></msub><mo>&lt;</mo><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>T</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,D(x,y)表示图像D中坐标为(x,y)的像素的值,T1和T2表示取值范围且<mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>T</mi><mn>1</mn></msub></mtd><mtd><msub><mi>T</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>&SubsetEqual;</mo><mfencedopen='['close=']'><mtable><mtr><mtd><mn>0.4</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>Sh(x,y)表示初始阴影图像SH中坐标为(x,y)的像素的值,若为1表示该像素属于车辆的阴影区域,若为0则表示该像素不属于车辆的阴影区域;③计算车辆区域的边界利用Sobel边缘算子提取前景二值图OM中车辆区域的初始边界,得到图像OM1,即OM1m=OM*Gm,OM1n=OM*Gn,<mrow><mover><mrow><mi>OM</mi><mn>1</mn></mrow><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>(</mo><mi>O</mi><msub><mi>M</mi><mrow><mn>1</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>^</mo><mn>2</mn><mo>+</mo><mi>O</mi><msub><mi>M</mi><mrow><mn>1</mn><mi>n</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>^</mo><mn>2</mn><mo>)</mo><mo>^</mo><mi></mi><mn>0.5</mn><mo>&GreaterEqual;</mo><msub><mi>S</mi><mn>1</mn></msub></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,Gm=[-1-2-1;000;121],Gn=[-101;-202;-101],S1为阈值,OM1m是前景二值图OM与Gm进行卷积运算后得到的图像,OM1n是前景二值图OM与Gn进行卷积运算后得到的图像,之后,利用膨胀算子Se=[111;111;111]对图像OM1进行膨胀,得到车辆区域的边界图像OM1,④计算车辆区域的骨架利用Sobel边缘算子提取背景差图像BP中前景区域的骨架,得到图像OM2,即OM1m=BP*Gm,OM2n=BP*Gn,<mrow><mover><mrow><mi>OM</mi><mn>2</mn></mrow><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>(</mo><mi>O</mi><msub><mi>M</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>^</mo><mn>2</mn><mo>+</mo><mi>O</mi><msub><mi>M</mi><mrow><mn>2</mn><mi>n</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>^</mo><mn>2</mn><mo>)</mo></mrow><mo>^</mo><mn>0.5</mn><mo>&GreaterEqual;</mo><msub><mi>S</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,Gm=[-1-2-1;000;121],Gn=[-101;-202;-101],S2为阈值,OM2m是图像BP与Gm进行卷积运算后得到的图像,OM2n是图像BP与Gn进行卷积运算后得到的图像,之后,利用膨胀算子Se=[111;111;111]对图像OM2进行膨胀,得到车辆区域的骨架图像OM2,⑤计算车辆二值图像首先,用前景二值图OM减去初始阴影图像SH中重叠的区域,得到初始的车辆二值图像MV0,即<mrow><mi>MV</mi><mn>0</mn><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>OM</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mi>andSH</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>然后,用初始的车辆二值图像MV0加上车辆区域的骨架图像OM2,得到初步修正的车辆二值图像MV1,即MV1(x,y)=MV0(x,y)orOM2(x,y),最后,用初步修正的车辆图像MV1减去车辆区域的边界图像OM1,得到最终的车辆二值图像MV2,即<mrow><mi>MV</mi><mn>2</mn><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>MV</mi><mn>1</mn><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mi>andOM</mi><mn>1</mn><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>⑥消除阴影利用车辆二值图像MV2获得消除阴影后的车辆图像P,即<mrow><mover><mi>P</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>MV</mi><mn>2</mn><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mi>BKG</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>MV</mi><mn>2</mn><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>式中,P(x,y)表示图像P中坐标为(x,y)的像素的灰度,BKG(x,y)表示背景图像BKG中坐标为(x,y)的像素的灰度;MV2(x,y)表示车辆二值图像MV2中坐标为(x,y)的像素的值,若值为1表示该像素属于车辆区域,若值为0表示该像素不属于车辆区域。全文摘要本发明公布了一种基于边缘和骨架信息的车辆阴影消除方法,本发明方法对当前图像进行背景差计算并二值化得到前景二值图,通过对前景二值图进行边缘检测和膨胀得到车辆及阴影区域的边缘图像,通过对背景差图像进行边缘检测和膨胀得到车辆的骨架图像,然后,以车辆区域和阴影区域相对于背景区域的灰度比为判别特征,初步检测阴影区域,并用前景二值图减去初步阴影区域,最后利用骨架图像对车辆区域内的孔洞进行补充并减去边缘图像,得到最终消除阴影区域之后的图像。本发明综合利用了用以区分车辆区域和阴影区域的灰度特征、车辆与阴影区域的边缘信息及车辆骨架的信息,能够准确地检测和消除阴影区域。文档编号G06K9/40GK101739560SQ20091026308公开日2010年6月16日申请日期2009年12月16日优先权日2009年12月16日发明者吴晶,朱周,路小波申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1