发明名称 基于线阵CCD摄像机的车辆速度测量装置
摘要 基于线阵CCD摄像机的车辆速度测量装置,属于交通管理领域。利用与计算机连接的两架线阵CCD摄像机来测量车辆速度,其特征在于:两架前后相距2米的线阵CCD摄像机架设在路面上方,摄像机镜头垂直路面,两架线阵CCD摄像机同时对路面扫描;两架摄像机拍摄的图像送到计算机经过二值化处理及车辆分割算法确定目标区域,并根据两幅图像的时间差和两架线阵CCD摄像机的距离得到车辆的速度。本装置可以高可靠度和高精确度地测量车辆的速度;并且由线阵CCD摄像机的成像和车速计算出车长,以确定车型,为实现按相应的限速标准分别处罚超速车辆和实时超速处罚提供前提条件。
申请公布号 CN101514993B 申请公布日期 2011.06.29
申请号 CN200910119341.X 申请日期 2009.03.25
申请人 江西赣粤高速公路股份有限公司 发明人 黄铮;李卫江;蒋雅辉;文勇
分类号 G01P3/68(2006.01)I 主分类号 G01P3/68(2006.01)I
代理机构 北京金阙华进专利事务所(普通合伙) 11224 代理人 谢亮
主权项 1.基于线阵CCD摄像机的车辆速度测量装置,利用与计算机连接的两架线阵CCD摄像机来测量车辆速度,两架线阵CCD摄像机前后相距2米架设在路面上方,摄像机镜头垂直路面,两架线阵CCD摄像机同时对路面扫描;两架摄像机拍摄的图像送到计算机经过二值化处理及车辆分割算法确定目标区域,两个线阵CCD像机的图像序列进行相关匹配分析,从而获得同一个目标在两个图像序列中的时间差,利用该时间差和两个相机的距离,根据速度公式<img file="FSB00000493781400011.GIF" wi="104" he="97" />得到目标车辆的行进速度;其特征在于:(一)所述二值化处理采用如下步骤完成:用小波变换提取路面的纹理特征,并以此作为二值化的依据:利用小波变换获取一行数据的小波系数,找出其中的局部极大点和极小点,并量化为仅包含1、-1和0的序列,每20行进行一次累加,统计5000行数据中累加和出现的频数最高的数值,作为新的背景纹理,以此每隔5000行更新一次背景;逐行进行二值化,获取当前行与前19行数据小波变化量化后的累加和,并将其逐段与背景纹理相比较,如果大于某个阈值,则认为该行中的该段为目标,置为1,否则置为0,以此对该行数据进行二值化,基于路面纹理特征的二值化算法流程如下:为方便描述算法,把二值化结果为1的小段称为目标段,二值化结果为0的小段称为空段,1)变量初始化,找到背景标志bFindBack=false;当前行行号AL=0,背景行数计数器nBlock=0,20行数据按列累加的和nSum[]=0,统计各段数据出现的频数aBlockInfo[][]=0,二值化参数α=0.35,β=2.0;2)从内存中读取一行数据,置AL=AL+1,nBlock=nBlock+1;3)对该行数据进行三级小波变换,取出小波系数,存于数组pDWTData[]中;4)将数组pDWTData[]转化为只包含-1、0、1的序列,存于AR[]中,其中,将pDWTData[]中的局部极大点标记为1,局部极小点标记为-1,其他点标记为0;5)如果AL<20,转步骤2);6)按列累加最新20行数据的AR值,并存于数组nSum[]中;7)取窗口大小为16,对nSum[]中的数据按窗口进行处理,在窗口范围内取一个最大值作为该窗口内所有像素点的值,并存于数组nSumAvg[]中,即一行数据被划分成64段;8)如果bFindBack=false,转步骤11);9)根据背景aBack[],按如下条件进行二值化;if(nSumAvg[j]<=α*aBack[j]&amp;&amp;nSumAvg[j]>=β*aBack[j])该行第j段数据所对应的像素点二值化为1;else该行第j段数据所对应的像素点二值化为0;10)对一行数据的二值化结果进行进一步处理,如果位于两个目标段之间的空段长度≤2,则把该空段对应的像素填充为1,如果前一个目标段的长度≤2,并且它距离后一个目标段的距离≥7,则把前一个目标段对应的像素置为0;11)统计最新20行数据的AR值出现的频数,并存于数组aBlockInfo[][]中,该数组第一维代表AR的取值,第二维代表段号;12)如果nBlock<5000,转步骤2);13)根据aBlockInfo[][]的统计信息,找出各段出现频数最多的数值作为新的背景,并存于aBack[]中,置nBlock=0,修改背景标志bFindBack=true,并置aBlockInfo[][]=0;14)如果收到终止指令,则停止数据处理,否则转步骤2);(二)所述车辆分割算法采用如下步骤完成:将线阵CCD视场按照近景摄像机视场划分成三个逻辑车道,每个车道包含若干信息:预触发标志、确认触发标志、空行计数器、目标存在计数器、目标左边界、目标右边界、目标开始行号、目标结束行号、预触发中点位置、目标水平投影计数器、触发的确切行数,其算法流程的具体实施步骤如下:(1)车道信息初始化,将每个车道的预触发标志、确认触发标志置为false,将空行计数器、目标左边界、目标右边界、目标开始行号、目标结束行号、目标水平投影计数器、触发的确切行数置为0,定义目标段长度阈值n<sub>1</sub>,合并车辆的水平阈值n<sub>2</sub>,确定是车头的水平投影累加和阈值n<sub>3</sub>,确认触发的目标宽度阈值n<sub>4</sub>,确认触发的目标长度阈值n<sub>5</sub>,确认目标结束的空行数n<sub>6</sub>,目标最大长度n<sub>7</sub>,目标的最小长度n<sub>8</sub>,确定不是车头的水平投影累加和阈值n<sub>9</sub>;(2)读取最新一行数据的二值化结果;(3)定位下一个目标段的起始位置;(4)如果连续的目标段个数超过n<sub>1</sub>转步骤(5),否则转步骤(3);(5)判断该连续的目标段是否可以合并到已触发的车道,如果可以合并,则转步骤(6);否则转步骤(7),根据连续目标段的中点判断其所属车道,为了防止误触发,需要判断该连续的目标段是否属于已预触发的车辆,定义目标段到已预触发车道的距离为:如果该连续的目标段与已触发车道的车辆水平范围有交集,则认为该目标段属于该车道已触发的车辆,其距离为0,否则,取连续的目标段的左右边界分别距离已触发车道的车辆的左右边界的最小距离作为其距离,如果该距离超过阈值n<sub>2</sub>,则认为该目标段不属于该车道已触发的车辆,否则认为该目标段属于该车道已触发的车辆;(6)修改该车道车辆的边界信息,目标水平投影计数器逐段统计目标段的个数,修改目标的结束行号,如果该目标段的左右边界超出了该车道的左右边界范围,则修改目标的左右边界,转步骤(8);(7)在连续目标段所属的车道上新建车辆信息,置预触发标志为true,开启目标水平投影计数器,并设置目标的左右边界、开始行号、结束行号;(8)判断是否处理完该行数据的所有小段,如果处理完毕,转步骤(9),否则转步骤(3);(9)逐车道处理车辆信息;(10)如果该车道上有目标段出现,空行计数器置0,转步骤(11),否则转步骤(14);(11)如果该车道还没有确认触发,转步骤(12),否则转步骤(15);(12)判断是否满足确认触发的条件,如果满足,转步骤(13),否则转步骤(16),确认触发条件为:车头信息的水平投影累加和超过阈值n<sub>3</sub>,并且目标的宽度超过阈值n<sub>4</sub>,目标的长度超过阈值n<sub>5</sub>;(13)置确认触发标志为true,触发的确切行数置为目标的开始行数,转步骤(19);(14)该车道空行计数器加1,如果空行长度超过阈值n<sub>6</sub>,则认为目标结束,转步骤(18),否则转步骤(19);(15)判断目标长度是否超过阈值n<sub>7</sub>,如果超过,则认为目标结束,转步骤(18),否则转步骤(19);(16)判断是否满足取消触发的条件,如果满足,则转步骤(17),否则转步骤(19),取消触发条件为:目标长度超过阈值n<sub>8</sub>,或者目标长度超过n<sub>5</sub>并且车头信息的水平投影累加和小于阈值n<sub>9</sub>;(17)取消触发,置预触发标志、确认触发标志置为false,将空行计数器、目标左边界、目标右边界、目标开始行号、目标结束行号、目标水平投影计数器、触发的确切行数置为0,转步骤(19);(18)进行车辆分割,根据目标水平投影计数器确定车辆的左右边界,根据车辆的开始行号和结束行号确定车辆的前后边界,标识车辆范围,并且置预触发标志、确认触发标志置为false,将空行计数器、目标左边界、目标右边界、目标开始行号、目标结束行号、目标水平投影计数器、触发的确切行数置0;(19)判断是否处理完所有车道,如果处理完毕,转步骤(20),否则转步骤(9);(20)如果收到终止指令,则停止数据处理,否则转步骤(2)。
地址 330025 江西省南昌市西湖区朝阳洲中路367号