直方图比较法识别车位占用状态

1,           车位占用状态识别原理

灰度直方图是灰度级的函数,描述图像中该灰度级的像素个数(或该灰度级像素出现的频率):其横坐标是灰度级,纵坐标表示图像中该灰度级出现的个数(频率)。一维直方图的结构表示为:

 

直方图可以用来描述不同的参数和事物,如物体的色彩分布,物体的边缘梯度模版以及目标位置的当前假设的概率分布。如下图左侧为彩色图像,右图为其灰度直方图。

 

不同图像的直方图形态不同,因此可用于比较图像是否变化,以及变化的幅度大小。个人理解,直方图比较存在以下优势:

²        抗抖动。相机如果发生轻微抖动或偏转,不会大幅改变图片直方图的整体分布形态,因此可不必重新校准模板。

²        简单易行。不需要较复杂的机器学习,只需一幅模板图片,就可以判断当前场景是否发生明显变化。

2,           影响因素

2.1 光照的影响

车位的光照情况如果发生变化,显然会改变相机拍摄图片的整体。比如,灯光亮度变亮或变暗,灯光照射角度变化,灯光部分遮挡等。

2.2 无关区域的影响

车位相机拍摄的图片并不只包含车辆停放的划线区域,还包括走道、车场建筑、设施、四周其它车位等无关区域,这些无关区域可统称为“背景”。由于背景本身也可能在时刻发生变化,因此为准确探知车位区域的变化,就需要将背景去除,即裁剪。

准确定义车位检测区域增加了部署工作量,但可以提高比对准确率。车位区域可以采用简单的矩形,或更为精确的多边形来加以标识。

3,           裁剪方法

3.1 矩形裁剪

矩形裁剪法简单易行,但由于镜头拍摄原因,图片上的车位并非矩形。矩形区域只能取车辆停放时受影响的大部分区域。

 

3.2 多边形裁剪

相机图片中的车位更接近于梯形或多边形。因此采用多边形裁剪可以更为准确地比对停车前后的图像变化。

4,           比较参数的选择

opencv中的compareHist函数是用来计算两个直方图相似度,计算的度量方法有4个,分别为Correlation ( CV_COMP_CORREL )相关性,Chi-Square ( CV_COMP_CHISQR ) 卡方,Intersection ( method=CV_COMP_INTERSECT )交集法,Bhattacharyya distance ( CV_COMP_BHATTACHARYYA )常态分布比对的Bhattacharyya距离法。

compareHist函数返回一个数值,相关性方法范围为0到1,1为最好匹配;卡方法和Bhattacharyya距离法是值为0最好;而交集法为值越大越好。

5,           测试方案

5.1 测试样本

²        16个空车位图片作为车位空闲的模板。参见图5-1

²        16个空车位图片分别与34个有车或无车、同一车位或不同车位的车位图片进行直方图比对。参见图5-2。其中

  • 9个图片中停有车辆
  • 以10.146.39.43 (2).jpg图片亮度为127,10.146.39.43 (2)-br177.jpg和10.146.39.43 (2)-dr77.jpg分别是10.146.39.43 (2).jpg图片亮度增加到177和减少到77的加工图。参见图5-3

 

 图5-1 16个空车位图片(模板)

 

 图5-2 34个测试图片

  

 图5-3 中间为原图,左中右亮度分别为177、127、77

5.2 参数

5.2.1 车位裁剪矩形形状

在配置文件plateImage.ini中定义每个模板图片要裁剪的停车位矩形的形状。

5.2.2 比较参数

本次测试compareHist函数计算两个直方图相似度的度量方法取:Correlation ( CV_COMP_CORREL )相关性。

5.3 运行步骤

1)        取一个模板图片M,按M配置的停车位矩形的形状裁剪出局部图像M1

2)        取一个车位图片N,按M配置的停车位矩形的形状裁剪出局部图像N1

3)        计算M1和N1的直方图关联度R

4)        循环重复步骤2,遍历所有车位图片

5)        循环重复步骤1,遍历所有模板图片

6,           测试数据

完整数据参见:实验数据图像比对测试结果3 -直方图.xls

7,           测试数据分析

ü         16个模板图片与自己比对,符合度均为1.

ü         同一个车位,9个有车图片与无车模板图片的比对,符合度均在0.5以下。见表7-1

ü         同一个车位,7个无车图片与无车模板图片的比对,符合度均在0.9以上。见表7-2

ü         不同车位之间,无车图片与无车模板图片的比对,符合度可高达0.98,也可低至0.08. 见图7-3、图7-4.

ü         同一个车位,光照度变亮对图片符合度影响很大,而变暗则影响较小。见表7-5

车位图片模板

车位图片

是否有车

匹配度

imgs1/10.146.39.76 (2).jpg

10.146.39.76.jpg

1

0.488465

imgs1/10.146.39.43 (2).jpg

10.146.39.43.jpg

1

0.334856

imgs1/10.146.39.93 (2).jpg

10.146.39.93.jpg

1

0.284679

imgs1/10.146.39.86.jpg

10.146.39.86 (2).jpg

1

0.278037

imgs1/10.146.39.74 (2).jpg

10.146.39.74.jpg

1

0.256283

imgs1/10.146.39.145.jpg

10.146.39.145 (2).jpg

1

0.202147

imgs1/10.146.39.113 (2).jpg

10.146.39.113.jpg

1

0.149606

imgs1/10.146.39.117.jpg

10.146.39.117 (2).jpg

1

0.110738

imgs1/10.146.39.35 (2).jpg

10.146.39.35.jpg

1

0.018167

表7-1 有车图片与无车模板图片的比对

车位图片模板

车位图片

是否有车

匹配度

imgs1/10.146.39.134 (2).jpg

10.146.39.134.jpg

#N/A

1

imgs1/10.146.39.94 (2).jpg

10.146.39.94.jpg

#N/A

1

imgs1/10.146.39.135 (2).jpg

10.146.39.135.jpg

#N/A

0.999838

imgs1/10.146.39.92 (2).jpg

10.146.39.92.jpg

#N/A

0.99911

imgs1/10.146.39.118 (2).jpg

10.146.39.118.jpg

#N/A

0.99845

imgs1/10.146.39.122 (2).jpg

10.146.39.122.jpg

#N/A

0.98421

imgs1/10.146.39.123 (2).jpg

10.146.39.123.jpg

#N/A

0.937074

表7-2 无车图片与无车模板图片的比对

          

 10.146.39.94 (2).201x295x461x729-Roi.jpg   10.146.39.118 (2).201x295x461x729-Roi.jpg

图7-3 无车图片与无车模板图片的比对,符合度可高达0.98

       

10.146.39.122 (2).261x109x413x623-Roi                10.146.39.74 (2).261x109x413x623-Roi

图7-4 无车图片与无车模板图片的比对,符合度可低至0.08

车位图片模板

车位图片

是否有车

匹配度

imgs1/10.146.39.43 (2).jpg

10.146.39.43 (2)-br177.jpg

#N/A

0.001783

imgs1/10.146.39.43 (2).jpg

10.146.39.43 (2)-dr77.jpg

#N/A

0.999997

表7-5 光照度变亮和变暗对图片符合度的影响

8,           测试小结

本次测试结果较为理想,说明采用图片直方图比较法来判断车位是否被占用具有可行性。以下为参考意见:

²        测试表明无车比对值在0.9以上,有车比对值在0.5以下,因此分水岭较宽,可视实际环境在0.6~0.8之间调整。一般建议设置阈值为0.7.

以下为注意事项:

²        必须注意裁剪区域的设置。一般应尽可能大地包含车辆停放时影响到的所有区域。以降低有车停放时图片与模板的相关性。如此可以降低阈值,降低人员等无关进入车位区域的影响。

²        车位施工后,必须重新设置模板图和裁剪区域。

9,           下一步工作

²        取得更多的现场图片进行测试验证。如水泥地面、光照偏强或偏弱等环境。

²        研究梯形裁剪是否能改善阈值。

²        研究直方图其它算法是否能改善阈值。

²        研究车位设备移动带来的影响,如雪糕桶、车位支架等。

原文地址:https://www.cnblogs.com/jackkwok/p/7770596.html