发明名称 一种视频图像的前景识别提取和拼接方法
摘要 本发明涉及一种视频图像的前景识别提取和拼接方法,该方法针对视频图像背景更新过程中目标与背景相互转化的动态不确定性,以及前景图像提取的准确与完整性,建立相应的模型和方法,对背景学速率进行自适应控制,在粗提取前景图像之后,对破碎的前景进行拼接以及噪声去除,最终检测并分离出前景图像,并进行前景图像连通,构成整体前景图像,达到前景提取的正确性和有效性。属于计算机图像处理领域。
申请公布号 CN102982519B 申请公布日期 2015.04.01
申请号 CN201210483561.2 申请日期 2012.11.23
申请人 南京邮电大学 发明人 杨庚;李百惠;徐劲松;王欣宇;斯闻豪
分类号 G06T5/50(2006.01)I;G06T3/40(2006.01)I;G06T7/00(2006.01)I;H04N5/262(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 一种视频图像的前景识别提取和拼接方法,其特征在于该方法包括以下步骤:步骤一:前景图像模型建立设图像中的像素点(x<sub>0</sub>,y<sub>0</sub>)在t时刻的观察值X<sub>t</sub>属于背景的概率为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&omega;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>*</mo><mi>&eta;</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>,</mo><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000655719210000011.GIF" wi="716" he="158" /></maths>其中,K为模型中的高斯分布个数;<img file="FDA0000655719210000012.GIF" wi="362" he="148" />为t时刻第i个高斯分布的权值;μ<sub>i,t</sub>为t时刻第i个高斯分布的均值;Σ<sub>i,t</sub>为t时刻第i个高斯分布的协方差矩阵,其定义如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>=</mo><msubsup><mi>&sigma;</mi><mi>i</mi><mn>2</mn></msubsup><mi>I</mi></mrow>]]></math><img file="FDA0000655719210000013.GIF" wi="239" he="94" /></maths><img file="FDA0000655719210000014.GIF" wi="73" he="84" />为第i个高斯分布的方差,I为i行i列的单位阵;η为高斯分布的概率密度函数:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>&eta;</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>,</mo><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><mfrac><mi>&pi;</mi><mn>2</mn></mfrac></msup><msup><mrow><mo>|</mo><msub><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>|</mo></mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></msup></mrow></mfrac><mo>*</mo><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mrow><mi>t</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow><mi>T</mi></msup><msup><mi>&Sigma;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></msup></mrow>]]></math><img file="FDA0000655719210000015.GIF" wi="1021" he="204" /></maths>取K=5,初始化时第1个高斯分布的权值设为1,均值为当前像素点的值X<sub>t</sub>,方差取为12.5,匹配次数取为1;除第1个高斯分布之外的其他分布的权值、均值均取为0,方差取为12.5,匹配次数取为0;步骤二:模型更新对K个高斯分布按照优先级<img file="FDA0000655719210000016.GIF" wi="208" he="138" />从高到低排列,每个新观测值X<sub>t</sub>与K个高斯分布按下式进行匹配计算:|X<sub>t</sub>‑μ<sub>i,t‑1</sub>|<2.5σ<sub>i</sub>在匹配过程中,高斯分布的权值按下式进行更新:ω<sub>i,t</sub>=(1‑α)ω<sub>i,t‑1</sub>+α(M<sub>i,t</sub>)α为学习速率,默认值为0.005;当新观察值与第i个高斯分布匹配时,M<sub>i,t</sub>取值为1,若不匹配,则取0;对于匹配的高斯分布,其均值和方差按下式更新:μ<sub>i,t</sub>=(1‑β)μ<sub>i,t‑1</sub>+βX<sub>t</sub><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>&sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow><mn>2</mn></msubsup><mo>=</mo><msubsup><mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&beta;</mi><mo>)</mo></mrow><mi>&sigma;</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><mi>&beta;</mi><msup><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><msub><mi>X</mi><mi>T</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000655719210000017.GIF" wi="752" he="86" /></maths>β=αη(X<sub>t</sub>μ<sub>i,t</sub>,σ<sub>i,t</sub>)没有匹配的高斯分布维持不变;对于每个高斯分布设置一个计数值用来记录每帧中每个高斯分布的匹配次数,每匹配一次该计数值加1,该计数值称为高斯分布匹配次数m<sub>i,t</sub>;α和β是模型更新过程中两个重要的参数,β为均值和方差的学习速率;如果X<sub>t</sub>与任何一个高斯分布都不匹配,则优先级最低的高斯分布将用一个新的高斯分布替换,取分布的权值为K个高斯分布的匹配次数之和的倒数、分布的均值取值为X<sub>t</sub>、方差取值为900、匹配次数取值为1;将K个高斯分布按优先级由高到低排列,取前B个高斯分布生成背景,如下式:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>X</mi><mi>bg</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>B</mi></munderover><msub><mi>&omega;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><msub><mi>&mu;</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub></mrow>]]></math><img file="FDA0000655719210000021.GIF" wi="330" he="141" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><msub><mrow><mi>arg</mi><mi>min</mi></mrow><mi>b</mi></msub><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>b</mi></munderover><msub><mi>&omega;</mi><mi>i</mi></msub><mo>></mo><mi>T</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000655719210000022.GIF" wi="517" he="157" /></maths>其中,<img file="FDA0000655719210000023.GIF" wi="441" he="156" />函数为求出满足<img file="FDA0000655719210000024.GIF" wi="196" he="148" />的最小的b,以此作为b的值,并将b的值赋给B,T为背景选取的阈值,其值为T=0.7;步骤三:自适应学习速率更新对于步骤二中取得的高斯分布匹配次数m<sub>i,t</sub>,取优先级最高的高斯分布的匹配次数进行处理,称之为主匹配次数m<sub>1,t</sub>,将当前帧及其之前的每一帧更新得到的主匹配次数累加起来,得到历次m<sub>1,t</sub>的累计值sum<sub>match</sub>;同时,设定计数值num<sub>match</sub>记录得到sum<sub>match</sub>所需的累计次数;主匹配次数的均值E和标准差S由下式计算:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>E</mi><mo>=</mo><mfrac><msub><mi>sum</mi><mi>match</mi></msub><msub><mi>num</mi><mi>match</mi></msub></mfrac></mrow>]]></math><img file="FDA0000655719210000025.GIF" wi="290" he="134" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>S</mi><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>t</mi></mrow></msub><mo>-</mo><mi>E</mi><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow>]]></math><img file="FDA0000655719210000026.GIF" wi="346" he="106" /></maths>根据以下不同情况对背景学习速率α进行自适应更新:1)当标准差S>4500时,当前帧的主匹配次数m<sub>i,t</sub>相对历史值有较大变动,此时暂不更新α的值,清空计数值num<sub>match</sub>和累计值sum<sub>match</sub>,将当前帧作为累计的起始帧,将均值E更改为当前帧的主分布匹配次数m<sub>1,t</sub>;2)当标准差S的取值范围为4500≥S>500,且当前主匹配次数m<sub>i,t</sub>大于均值E时,背景学习速率α更改为0.004;3)当标准差S的取值范围为4500≥S>500,且当前主匹配次数m<sub>i,t</sub>小于等于均值E时,背景学习速率α更改为0.02;4)当标准差S≤500时,背景学习速率α稳定在0.005;步骤四:前景粗提取1)将当前视频图像和构造出的背景图像化为灰度图像,计算方法为:Gray=0.072169B+0.715160G+0.202671R其中R、G、B分别表示每个像素红、绿、蓝值,Gray是转换后的灰度值;2)将转化为灰度图像的当前视频图像和背景图像进行灰度平衡处理,首先统计灰度值为j所对应的像素个数,记为n<sub>j</sub>,其中j=0,1,2,…,255,取n<sub>j</sub>为对应灰度值为j的直方图的高,记为H(j)=n<sub>j</sub>;计算直方图的面积,记为H’(x),即:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msup><mi>H</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>x</mi></msubsup><mi>H</mi><mrow><mo>(</mo><mi>&zeta;</mi><mo>)</mo></mrow><mi>d&zeta;</mi><mo>,</mo></mrow>]]></math><img file="FDA0000655719210000031.GIF" wi="442" he="107" /></maths>其中x=0,1,2,……,255.根据直方图的面积计算值,对得到的当前视频图像和背景图像的灰度图,重新计算像素值,取值为H’(x),x=0,1,2,……,255;3)将经过灰度平衡处理后的当前视频图像帧和背景图像帧中每个对应像素值相减,得到差值图像;4)对差值图像的每个像素,统计灰度值为j对应的像素个数n<sub>j</sub>,再计算每个灰度级上的像素个数占该图像总像素个数的比例w<sub>j</sub>,设分割阈值为ψ,其中ψ可取值范围为0,1,2,…,255;将灰度级j≤ψ的所有像素视为背景像素,灰度级j&gt;ψ的所有像素视为前景像素;则背景像素个数占该图像总像素个数比例W<sub>0</sub>=w<sub>0</sub>+w<sub>1</sub>+w<sub>2</sub>+……+w<sub>ψ</sub>,并计算平均灰度<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>U</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>&psi;</mi></munderover><mi>k</mi><mo>*</mo><msub><mi>w</mi><mi>k</mi></msub></mrow><msub><mi>W</mi><mn>0</mn></msub></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000655719210000032.GIF" wi="333" he="207" /></maths>计算前景像素个数占该图像总像素个数比例<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>W</mi><mn>1</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>&psi;</mi><mo>+</mo><mn>1</mn></mrow><mn>255</mn></munderover><msub><mi>w</mi><mi>k</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000655719210000033.GIF" wi="287" he="147" /></maths>并计算平均灰度:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msub><mi>U</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>&psi;</mi><mo>+</mo><mn>1</mn></mrow><mn>255</mn></munderover><mi>k</mi><mo>*</mo><msub><mi>w</mi><mi>k</mi></msub></mrow><msub><mi>W</mi><mn>1</mn></msub></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000655719210000041.GIF" wi="358" he="221" /></maths>则图像的总平均灰度为:u=W<sub>0</sub>*U<sub>0</sub>+W<sub>1</sub>*U<sub>1</sub>,将分割阈值ψ从0到255依次遍历,计算g的值:g=W<sub>0</sub>*(U<sub>0</sub>‑u)<sup>2</sup>+W<sub>1</sub>*(U<sub>1</sub>‑u)<sup>2</sup>取其中一个ψ的值,使g取最大值;利用上述求得的ψ进行差值图像二值化分割,将灰度级j≤ψ的所有像素视为背景像素,将像素值设置为0;而将灰度级j>ψ的所有像素视为前景像素,将像素值设置为255,从而得到粗提取的前景图像;步骤五:前景图像列像素拼接与噪点去除自左向右依次扫描二值化处理后的前景图像,若一列中两个前景像素点之间距离小于15像素时,将这两个像素点之间所有像素点的灰度值更改为255,即相当于对填充两个相邻像素点之间的缝隙,完成前景拼接;若一列中两个非前景像素点之间距离小于4像素时,将这个两个像素点之间的所有像素点的灰度值更改为0,即相当于去除面积较小的前景部分,完成噪点去除;步骤六:前景图像团块检测再次扫描二值化处理后的前景图像,将图像中每两列之间相连的团块连接起来,构成更大的团块,并计算该前景团块的面积、周长、外接矩形和外接矩形形心,这些大的团块即构成了前景图像。
地址 210003 江苏省南京市新模范马路66号
您可能感兴趣的专利