发明名称 缆索承重桥梁桥面车辆载荷分布实时检测方法
摘要 本发明公开了缆索承重桥梁桥面车辆载荷分布实时检测方法,拍摄桥面图像;对图像透视校正处理、对图像增强处理,用获取图像增强后的桥面图像,采用基于边缘信息的检测方法对桥面车辆判定;车辆图像追踪,对车辆在采集画面中结构变形修正;以桥面为绝对坐标系,在桥面上精确的画出每段视频画面中汽车轮胎的行驶轨迹,根据轨迹相同原理把同一车辆在不同视频画面中的轨迹进行拼接,得到每一车辆在桥面的行驶轨迹,实现车辆荷载的实时跟踪。本方法适用范围广,成本低廉,可实时获取检测结果,受环境影响小;使用透视校正和图像增强技术可得到较高质量的前期图像;使用动态模板匹配技术可较好的解决倾斜状态下图像采集造成的车辆遮挡问题,具有更广泛的适用性。
申请公布号 CN104599249A 申请公布日期 2015.05.06
申请号 CN201510016467.X 申请日期 2015.01.13
申请人 重庆大学 发明人 涂熙;狄谨;赵旭江
分类号 G06T5/00(2006.01)I;G06T7/00(2006.01)I;G06F17/50(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 重庆博凯知识产权代理有限公司 50212 代理人 李晓兵
主权项 缆索承重桥梁桥面车辆载荷分布实时检测方法,其特征在于包括以下步骤:一、拍摄桥面图像;在缆索承重桥梁的每个车道入口处安装动态称重装置获取车辆重量信息,在各个桥塔上安装若干个摄像机获取各段桥面车流图像,摄像机的全部视野能够覆盖完整桥面;获取车辆速度信息;二、图像透视校正;将摄像机获取的桥面图像进行透视校正处理,获取桥面正视图:(2.1)利用Hough变换提取围成车道所需的4条直线,并识别车道所围成的4条直线;(2.2)在提取直线时,记录每条直线的端点,提取完成后对Hough变换的结果计算直线的交点,得到的交点就是4条直线的端点;(2.3)将4条直线的交点坐标和相应的实际坐标共4对坐标数据作为解透视参数矩阵的已知量,记畸变图像中的各个像素点坐标记为(x<sub>1</sub>,y<sub>1</sub>)(x<sub>2</sub>,y<sub>2</sub>)(x<sub>3</sub>,y<sub>3</sub>)(x<sub>4</sub>,y<sub>4</sub>),相应的正视图中的点的坐标记为(u<sub>1</sub>,v<sub>1</sub>)(u<sub>2</sub>,v<sub>2</sub>)(u<sub>3</sub>,v<sub>3</sub>)(u<sub>4</sub>,v<sub>4</sub>),由下式解出8个透视参数向量;式中:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>u</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>u</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>u</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>u</mi><mn>4</mn></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mn>4</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mn>1</mn></msub></mtd><mtd><msub><mi>y</mi><mn>1</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>1</mn></msub><msub><mi>x</mi><mn>1</mn></msub></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>1</mn></msub><msub><mi>y</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mn>1</mn></msub></mtd><mtd><msub><mi>y</mi><mn>1</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>1</mn></msub><msub><mi>x</mi><mn>1</mn></msub></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>1</mn></msub><msub><mi>y</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>2</mn></msub></mtd><mtd><msub><mi>y</mi><mn>2</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>2</mn></msub><msub><mi>x</mi><mn>2</mn></msub></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>2</mn></msub><msub><mi>y</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mn>2</mn></msub></mtd><mtd><msub><mi>y</mi><mn>2</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>2</mn></msub><msub><mi>x</mi><mn>2</mn></msub></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>2</mn></msub><msub><mi>y</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>3</mn></msub></mtd><mtd><msub><mi>y</mi><mn>3</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>3</mn></msub><msub><mi>x</mi><mn>3</mn></msub></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>3</mn></msub><msub><mi>y</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mn>3</mn></msub></mtd><mtd><msub><mi>y</mi><mn>3</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>3</mn></msub><msub><mi>x</mi><mn>3</mn></msub></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>3</mn></msub><msub><mi>y</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>4</mn></msub></mtd><mtd><msub><mi>y</mi><mn>4</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>4</mn></msub><msub><mi>x</mi><mn>4</mn></msub></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>4</mn></msub><msub><mi>y</mi><mn>4</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mn>4</mn></msub></mtd><mtd><msub><mi>y</mi><mn>4</mn></msub></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>4</mn></msub><msub><mi>x</mi><mn>4</mn></msub></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>4</mn></msub><msub><mi>y</mi><mn>4</mn></msub></mtd></mtr></mtable></mfenced><mo>&times;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>c</mi></mtd></mtr><mtr><mtd><mi>d</mi></mtd></mtr><mtr><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mi>m</mi></mtd></mtr><mtr><mtd><mi>l</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000011.GIF" wi="940" he="618" /></maths>(x<sub>1</sub>,y<sub>1</sub>)(x<sub>2</sub>,y<sub>2</sub>)(x<sub>3</sub>,y<sub>3</sub>)(x<sub>4</sub>,y<sub>4</sub>)表示畸变图中4条直线交点的坐标;(u<sub>1</sub>,v<sub>1</sub>)(u<sub>2</sub>,v<sub>2</sub>)(u<sub>3</sub>,v<sub>3</sub>)(u<sub>4</sub>,v<sub>4</sub>)表示相应正视图中4条直线交点的坐标;[a b c d e f m l]<sup>‑1</sup>是8个透视参数向量;(2.4)获取透视参数后,采用图像点对点的方式进行二维平面图像的透视变换计算,利用下式得到标准的正视图;<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>u</mi></mtd></mtr><mtr><mtd><mi>v</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>x</mi></mtd><mtd><mi>y</mi></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>ux</mi></mtd><mtd><mo>-</mo><mi>uy</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>x</mi></mtd><mtd><mi>y</mi></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><mi>vx</mi></mtd><mtd><mo>-</mo><mi>vy</mi></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>c</mi></mtd></mtr><mtr><mtd><mi>d</mi></mtd></mtr><mtr><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mi>m</mi></mtd></mtr><mtr><mtd><mi>l</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000021.GIF" wi="776" he="610" /></maths>式中:[a b c d e f m l]<sup>‑1</sup>是8个透视参数向量;(x,y)表示畸变图中点的坐标;(u,v)表示透视校正后点的坐标;三、图像增强;对经过透视校正处理后的正视图利用直方图匹配(规定化)进行图像增强;具体公式如下:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>s</mi><mo>=</mo><mi>T</mi><mrow><mo>(</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>r</mi></msubsup><msub><mi>p</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mi>dx</mi></mrow>]]></math><img file="FDA0000655575820000022.GIF" wi="464" he="101" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>H</mi><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mi>z</mi></msubsup><msub><mi>p</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mi>dx</mi><mo>=</mo><mi>s</mi></mrow>]]></math><img file="FDA0000655575820000023.GIF" wi="474" he="102" /></maths>z=H<sup>‑1</sup>(s)=H<sup>‑1</sup>[T(r)]式中:r和z分别表示输入图像与输出图像的灰度级,p<sub>r</sub>(x)是输入灰度级的概率密度函数,p<sub>Z</sub>(x)是输出灰度级的概率密度函数;四、桥面车辆判定;在获取图像增强后的桥面图像,采用基于边缘信息的检测方法对桥塔上拍摄的每一段车流图像进行车辆检测:(4.1)对每一帧图像使用Sobel算子进行提取边缘;(4.2)对提取的边缘图进行阈值处理和叠加,具体公式如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><msup><mi>g</mi><mo>&prime;</mo></msup><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>g</mi></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>g</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>></mo><mi>g</mi></mtd></mtr><mtr><mtd><msub><mi>g</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>g</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&le;</mo><mi>g</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000031.GIF" wi="735" he="162" /></maths>式中:g<sub>i</sub>和g′<sub>i</sub>分别是阈值处理前后的边缘图,g是阈值;(4.3)将阈值处理后的边缘图进行叠加,具体公式如下:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>b</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>25</mn></munderover><msub><msup><mi>g</mi><mo>&prime;</mo></msup><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000655575820000032.GIF" wi="446" he="149" /></maths>(4.4)二值化处理得到背景边缘图,具体公式如下:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>b</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>b</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>></mo><mi>b</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>b</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&le;</mo><mi>b</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000033.GIF" wi="589" he="159" /></maths>式中:b是设定的阈值;(4.5)利用包含性差值得到车辆运动边缘图,具体公式如下:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>i</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>b</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mi>i</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>if</mi></mtd><mtd><mi>b</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000034.GIF" wi="656" he="157" /></maths>式中:i(x,y)是运动边缘图;(4.6)在图像靠近桥塔位置设置一带条状检测区,并分成一组连续的窗口,具体公式如下:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>h</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mi>i</mi><mo>&times;</mo><mi>w</mi></mrow><mrow><mi>i</mi><mo>&times;</mo><mi>w</mi><mo>+</mo><mi>w</mi></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mi>m</mi></munderover><mi>i</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000655575820000035.GIF" wi="411" he="145" /></maths>式中:m为窗口的高度,w为窗口的宽度;(4.7)阈值法判断运动边缘图在检测区内的每个窗口的是否是有效信息,并得到一组0、1二值序列l[i],具体公式如下:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>l</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>h</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>></mo><mi>h</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>h</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>&le;</mo><mi>h</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000036.GIF" wi="462" he="157" /></maths>(4.8)对车辆通过检测区的边缘信息进行累加,从而保存完整的车辆信息(l[i]不断更新),具体公式如下:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mi>f</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>l</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mi>f</mi><mo>[</mo><mi>i</mi><mo>]</mo></mtd><mtd><mi>if</mi></mtd><mtd><mi>l</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000655575820000041.GIF" wi="520" he="156" /></maths>式中:f[i]是累加后的车辆信息;(4.9)当在数组f[i]中检测到连续的一定数量1时,在对应的数组l[i]中为一定数量连续的0时,则判定有车通过;五、车辆图像追踪;在确定车辆通过检测区后,采用动态模板匹配技术追踪每辆汽车的行车轨迹:(5.1)在确定车辆通过检测带后,根据车辆宽度和车速分别在原图和边缘图中检测区附近选取车辆轮廓角区作为模板,生成边缘图像模板,对边缘图像模板进行阈值处理,得到车辆轮廓的左边缘(或右边缘)位置a和上边缘位置b;(5.2)记获取模板的图像为第K帧图像(t时刻),在第K‑1帧图像(t+Δt时刻)中运用相关函数计算,进行模板匹配识别,匹配范围是原模板左右两边以及上边扩大一个车辆宽度的区域;即t时刻的第K帧图像,与t+Δt时刻的第K‑1帧图像运用相关函数计算,进行模板匹配识别;(5.3)根据相关函数峰值得到匹配区域,对匹配区域边缘进行识别,得到车尾左边缘(或右边缘)的位置a'和上边缘的位置b',与原始值a、b进行比较,作出修正调整,并将修正后的区域记为新的模板;(5.4)重复(5.2)和(5.3)对车辆信息实时更新,得到汽车左轮(或者右轮)在整幅画面中的行驶轨迹,并将其绘制到整个桥面上;六、结构变形修正;在拍摄过程中,车辆荷载作用将导致桥梁结构发生变形,主梁发生竖向完全或扭转变形,桥塔顶出现轻微转角、纵向位移或侧向位移,造成车辆在采集画面中的相对移动,需要对该部分附加位移进行修正;(6.1)进行桥面车辆画面采集前,在桥面车道两侧按标准距离布置图像标记点或人工识别到具有显著特征的部位,通过对采集到的图像识别后捕捉标记点,得到主梁在采集图像中的整体变形特征;(6.2)根据得到的主梁变形特征对捕捉到的车辆位置进行附加位移修正;七、得到每一段视频的汽车轮胎行驶轨迹后,以桥面为绝对坐标系,在桥面上精确的画出每段视频画面中汽车轮胎的行驶轨迹,根据轨迹相同原理把同一车辆在不同视频画面中的轨迹进行拼接,得到每一车辆在桥面的行驶轨迹,最终实现缆索承重桥梁桥面车辆荷载的实时跟踪。
地址 400044 重庆市沙坪坝区沙正街174号