发明名称 一种适用于加油站的车辆实时识别跟踪与车位占用判断的方法
摘要 本发明涉及机器视觉识别领域,特别是一种适用于加油站的车辆实时识别跟踪与车位占用判断的方法。本发明包括:收集加油站车辆样本和非车辆样本;对车辆样本和非车辆样本进行预处理;训练车辆分类器;利用车辆分类器对获取的实时图像进行车辆识别并记录车辆区域;采用光流法对识别到的车辆区域角点进行跟踪并绘制中心点轨迹;通过计算车辆区域与事先划定的加油站车位的面积重合比来判定车位占用情况并对车辆占用车位时间进行计时。本发明既可以对加油站内部车辆进行识别并对车辆轨迹进行跟踪,又可判断加油站内部车位占用情况,具有实施成本低,自动化程度高的特点。
申请公布号 CN105809184A 申请公布日期 2016.07.27
申请号 CN201510726868.4 申请日期 2015.10.30
申请人 哈尔滨工程大学 发明人 项学智;包文龙;王猛;徐旺旺;白二伟;葛长赟;张磊;乔玉龙
分类号 G06K9/62(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 代理人
主权项 一种适用于加油站的车辆实时识别跟踪与车位占用判断的方法,其特征在于,包括:(1)收集加油站车辆样本和非车辆样本:通过调节摄像机俯角使摄像机俯视拍摄进站车辆的车头或车尾,分割出车辆车头和车尾作为车辆样本,将不包含车头或车尾的图像作为非车辆样本;(2)对车辆样本和非车辆样本进行预处理:根据设定的样本的尺寸,对车辆样本进行随机翻转、平移变换、尺度变换和旋转变换以增加样本数量,将所有车辆样本按设定尺寸归一化;对非车辆样本进行尺度变换,将所有非车辆样本按设定尺寸归一化;(3)训练车辆分类器:首先计算样本图像积分图,获取样本图像的Haar‑like矩形特征;其次设定分类器级数N,每级分类器采用Adaboosting算法训练强分类器,然后将N级强分类器级联组合成级联车辆分类器;(3.1)对每个车辆样本,利用积分图像法计算该样本的图像积分,计算方法为遍历该样本图像的每一个像素点,采用增量方式计算像素点积分图:(3.1.1)对于倾角为0°的正矩形特征,遍历至图像的(x,y)点,该点积分图的计算公式为:SAT(x,y)=SAT(x,y‑1)+SAT(x‑1,y)+I(x,y)‑SAT(x‑1,y‑1)其中SAT(x,y)为点(x,y)左上角所有像素值之和,I(x,y)为该点像素值;对于正矩形R=(x,y,w,h,0°),其像素值之和计算公式为:RecSum(R)=SAT(x‑1,y‑1)+SAT(x+w‑1,y+h‑1)‑SAT(x‑1,y+h‑1)‑SAT(x+w‑1,y‑1)w为矩形大长度,h为矩形的高度,无论矩形的尺寸大小,只需查找积分图像4次,就可以求得任意矩形内像素值的和;(3.1.2)对于倾角为45°的正矩形特征,遍历至图像的(x,y)点,该点积分图的计算公式为:RSAT(x,y)=RSAT(x‑1,y‑1)+RSAT(x+1,y‑1)‑RSAT(x,y‑2)+I(x,y)+I(x,y‑1)其中RSAT(x,y)为点(x,y)正上方的像素值之和,计算范围是从点(x,y)开始向上延伸出的一个倾角45°的矩形区域与原图像区域的交接区域;对于正矩形R=(x,y,w,h,45°),其像素值之和计算公式为:RSAT(x,y)=RSAT(x‑h+w,y+w‑1)+RSAT(x,y‑1)‑RSAT(x‑h,y+h‑1)‑RSAT(x+w,y+w‑1)w为矩形大长度,h为矩形的高度,无论矩形的尺寸大小,只需查找积分图像4次,就可以求得任意矩形内像素值的和;(3.2)计算样本图像的Haar‑like矩形特征:Haar‑like的每个特征由2或3个矩形组成,分别检测边缘和线性特征,其特征值的计算为组成的矩形区域灰度积分之和:Feature=Σw<sub>i</sub>*RecSum(R<sub>i</sub>)i∈I={1,2,...N}其中Feature为该样本图像的矩形特征和,RecSum(R<sub>i</sub>)为矩形R<sub>i</sub>所围区域的积分图,w<sub>i</sub>为矩形的权重,每个Haar‑like矩形特征由2或3个矩形组成,黑色矩形的权重设为1,白色矩形的权重设为‑1;计算每个车辆样本的矩形特征,将生成的特征向量文件输入到分类器中训练;(3.3)设定分类器级数N,每级分类器采用Adaboosting算法训练强分类器,其具体过程为:将样本标记为(x<sub>1</sub>,y<sub>1</sub>),(x<sub>2</sub>,y<sub>2</sub>)...(x<sub>N</sub>,y<sub>N</sub>)作为训练样本,其中x<sub>i</sub>表示的是特征向量,y<sub>i</sub>表示的是分类的类别标签,车辆识别可以看作是车辆与非车辆的两类模式的分类问题,y<sub>i</sub>∈{0,1},对于车辆样本为1,对于非车辆样本为0,选定弱学习算法,其具体过程:(3.3.1)初始化样本权重w<sub>i</sub>=D(i):已知训练样本包含K个车辆样本和L个非车辆样本,当样本为车辆样本时D(i)=1/k,当样本为非车辆样本使D(i)=1/L;(3.3.2)对于每个t=1,2,...T(T为弱分类器个数)进行如下操作:(3.3.2.1)归一化权重:q<sub>t,j</sub>=w<sub>t,j</sub>/Σw<sub>t,j</sub>,j∈{1,2,...N};(3.3.2.2)对每个特征j,根据弱学习算法训练得到相应的弱分类器h<sub>j</sub>(x<sub>i</sub>),计算对应所有特征的弱分类器的加权(q<sub>t</sub>)错误率ε<sub>j</sub>:ε<sub>j</sub>=Σ<sub>i</sub>q<sub>i</sub>|h<sub>j</sub>(x<sub>i</sub>)‑y<sub>i</sub>|(3.3.2.3)选择具有最小误差ε<sub>j</sub>的简单分类器h<sub>t</sub>(x<sub>i</sub>)加入到强分类器中去:ε<sub>t</sub>=min<sub>f,p,θ</sub>Σ<sub>i</sub>q<sub>i</sub>|h<sub>j</sub>(x<sub>i</sub>)‑y<sub>i</sub>|(3.3.2.4)按照这个最佳的简单分类器h<sub>t</sub>(x<sub>i</sub>)更新每个样本所对应的权重:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi></mrow></msub><mo>=</mo><msub><mi>w</mi><mrow><mi>t</mi><mo>,</mo><mi>i</mi></mrow></msub><msubsup><mi>&beta;</mi><mi>t</mi><mrow><mn>1</mn><mo>-</mo><msub><mi>e</mi><mi>i</mi></msub></mrow></msubsup></mrow>]]></math><img file="FDA0000834748350000021.GIF" wi="311" he="83" /></maths>如果第i个样本被正确分类,e<sub>i</sub>=0,;否则e<sub>i</sub>=1,β<sub>t</sub>=ε<sub>t</sub>/(1‑ε<sub>t</sub>);(3.3.3)得到的强分类器为:当<img file="FDA0000834748350000022.GIF" wi="404" he="86" />时,R<sub>(x)</sub>=1;否则,R<sub>(x)</sub>=0;(3.3.2.4)设定每级强分类器的最大允许识别率f<sub>max</sub>,最小识别率f<sub>min</sub>,根据2,3步的单级强分类器的训练步骤训练强分类器,最后将N级强分类器级联构成级联的车辆分类器;(4)利用车辆分类器对获取的实时图像进行车辆识别并记录车辆区域:将实时图像进行均值滤波和直方图均衡化处理后,用车辆分类器识别实时图像中的多个车辆区域并记录;(5)采用光流法对识别到的车辆区域角点进行跟踪并绘制中心点轨迹:首先计算识别的车辆区域内的角点,然后采用光流法计算角点在每帧图像中的位置以对车辆进行跟踪,绘制角点区域中心的轨迹;(5.1)对于每一个识别到的车辆区域,采用Haaris角点检测法计算车辆区域内的角点:(5.1.1)采用高斯函数计算图像的方向导数,分别保存为两个数组I<sub>x</sub>以及I<sub>y</sub>;(5.1.2)计算图像每一个像素的局部自相关矩阵U(x,y)为<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><munder><mi>&Sigma;</mi><mrow><mo>-</mo><mi>k</mi><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>k</mi></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msubsup><mi>I</mi><mi>x</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>i</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><munder><mi>&Sigma;</mi><mrow><mo>-</mo><mi>k</mi><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>k</mi></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><munder><mi>&Sigma;</mi><mrow><mo>-</mo><mi>k</mi><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>k</mi></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><munder><mi>&Sigma;</mi><mrow><mo>-</mo><mi>k</mi><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>k</mi></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msubsup><mi>I</mi><mi>x</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000834748350000031.GIF" wi="1616" he="248" /></maths>其中,w<sub>i,j</sub>是归一化的权重比例;(5.1.3)计算U(x,y)在x方向和y方向的两个特征值,当特征值同时达到最大值时,其对应的点即为Haaris角点;(5.2)采用Lucas‑Kanade光流法跟踪车辆区域的的角点并绘制角点区域中心的轨迹:根据光流约束方程计算t‑1时刻车辆区域角点的光流运动场,根据亮度恒定、时间连续、空间一致的约束条件建立光流运动场的系统方程,通过求解方程寻找角点在t时刻的最佳位置,对车辆区域角点进行跟踪;在图像金字塔的最高层计算光流用得到的运动估计结果作为下一层金字塔的起始点,重复这个过程直到到达金字塔的最底层,满足光流计算的约束条件,直接进行光流估计;(5.3)求取车辆区域角点的最大外接矩形作为车辆区域的跟踪框并绘出;若车辆运动到图像的边缘,则判断该车辆即将离开加油站,去除该车辆,不再进行跟踪;记录每辆车跟踪框中心在每帧图像中的位置,连接这些中心点并绘出车辆的运动轨迹;(6)通过计算车辆区域与事先划定的加油站车位的面积重合比来判定车位占用情况并对车辆占用车位时间进行计时;(6.1)提取不包含车辆只包含加油车位的加油站背景图像,用梯形框划定背景图像中各个加油车位的位置并标号k,计算每个梯形加油车位的面积S<sub>k</sub>;(6.2)计算所有车辆跟踪框的面积S<sub>l</sub>,某辆车l运动到车位k,面积重合比为<img file="FDA0000834748350000032.GIF" wi="63" he="62" />则<img file="FDA0000834748350000033.GIF" wi="41" he="62" />为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mo>&part;</mo><mo>=</mo><mo>|</mo><msub><mi>S</mi><mi>k</mi></msub><mo>-</mo><msub><mi>S</mi><mi>l</mi></msub><mo>/</mo><mo>|</mo><msub><mi>S</mi><mi>k</mi></msub></mrow>]]></math><img file="FDA0000834748350000041.GIF" wi="315" he="128" /></maths>设定车位占用面积重合比为T,当<img file="FDA0000834748350000042.GIF" wi="122" he="59" />时,判断该车位被占用;否则该车位不被占用;(6.3)当<img file="FDA0000834748350000043.GIF" wi="124" he="59" />时,判断该车位被占用,触发车位占用计时;当<img file="FDA0000834748350000044.GIF" wi="128" he="59" />时,车辆离开车位,车位占用计时结束,计算时间差Δt作为该辆车在该车位的占用时间。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室