system: [SYSTEM]

user: 3. 颜色直方图对比法 3.1. TRT图像特征分析 图像识别的前提条件是对图像的特征提取，选择合适的特征非常重要，其会影响到图像识别程序的设计、性能以及最终识别结果的可靠性和准确性。一般情况下描述图像特征可以用点、线、面来描述，基于特征的匹配所处理的图像一般包含的特征有颜色特征、纹理特征、形状特征、空间位置特征等。在与地质工程相关的工程及测绘领域所识别的图像大多都是同一区域不同时间段的图像，如针对遥感图像的滑坡检测、隧道衬砌裂隙识别、边坡变形监测等，这些图像的一个重要特征就是重叠部分多，特征点及特征区域明显，识别起来可行性高。 TRT图像一大特点是杂乱——没有明显的线条特征，没有能作为基准的兴趣点，而典型的图像识别技术都是基于特征点的识别，如人脸识别、指纹识别等。然而，对TRT图像的识别归根结底是对不良地质现象的识别，而不是对物体本身的识别。不良地质现象不具备稳定的视觉特征，以溶洞为例，溶洞的形态千奇百怪，有管型的、漏斗形的、纺锤形的、硐室形的，发育的方向也是难以捉摸，无法用形状特征予以描述，更不用说纹理以及高层语义特征。因此难以使用传统的基于特征点的图像识别方法对其进行识别。 但是，TRT图像中的不良地质现象也有其显著的特征——颜色，蓝色区域代表着低波速区，也就是破碎的、强度较低的区域；黄色区域代表着高波速区，也就是致密的强度较高的区域。同时，颜色也是地质类相关专业的最重要的视觉指标之一，如对岩石的确认，颜色都是作为一个非常重要的标志。因此，本文利用基于颜色的图像识别技术——颜色直方图对比法对TRT图像特征进行分析。 3.2. 颜色直方图对比法 颜色直方图是在图像检索领域中采用最为广泛的颜色特征，它描述了一张图像中关于颜色的数量特征，可以反映图像的颜色统计分布，表示了每个颜色范围内像素数的个数(通常会进行归一化以保证适应尺度的变化)，但丢失了像素的空间信息，因此无法描述图像中的对象及物体。以最简单的灰度直方图为例，其可以定义为： H ( k ) = n k N ， k = 0 ，   1 ，   2 ， ⋯ ， L − 1 (1) 其中，N为图像的总像素数，L为颜色直方图的颜色级数，对于灰度直方图来说就是灰度级数，表示把0~255的灰度值分割的区间数(bin)，n k 为第k级颜色区间包含的图像像素数。对于其他如RGB、HSV颜色直方图来说，原理与上式一致，只不过通道数或者特征空间数更多。 根据上述我们可以得知，颜色直方图可以理解为一个图像信息的集合，可以利用计算集合间的距离来判断两张图片的相似度。颜色分布直方图所描述的是不同色彩在整幅图像中所占的比例，而并不关心每种色彩所处的空间位置。在TRT图像识别中，这个问题可以由手动截取感兴趣的不良现象区来解决，可以使用一个模板可以对选定的不同尺寸的TRT图像进行匹配识别。 3.3. 代码实现 TRT图像识别基于开源代码OpenCV3 (Open Source Computer Vision Library)的算法，对其实例进行了一定程度的修改以适应对TRT图像进行识别的需求，程序基于WIN7 64位旗舰版、Microsoft Visual Studio 2010和OpenCV3，通过C++编写 [ 24 ]。 本文以破碎带和溶洞两种不良地质现象的TRT图像识别为例，程序主要采用图像匹配的方法针对TRT俯视图进行识别，将测试图像与模板图像进行匹配，根据匹配度判断测试图像所代表的不良地质现象类型。图7是上述经过现场验证的典型溶洞和破碎带特征图像，从左至右分别为溶洞图像1、溶洞图像2、破碎带图像3、破碎带图像4。 图7. TRT模板图像 在进行TRT图像直方图对比之前，我们需要手动选取待测的异常图像区，选取时对尺寸没有要求，但边界部分选取时不能有过多的非异常区(底色)存在，如图8所示。图8是渝黔铁路中寨隧道某次TRT检测结果图中待确定不良地质现象类型的局部裁剪图。 图8. 裁剪的某张TRT图像局部 3.4. 图像对比匹配步骤 TRT图像直方图对比代码实现主要包括读取图片、色彩空间转换、HSV直方图计算、直方图对比四个步骤。 1) 读取图片：配置好OpenCV后，图像读取非常便利，可以直接使用“imread”读取图片，可以直接把待检测图像放入相应的工程目录下，也可以直接引用图片的储存地址； 2) 色彩空间转换：对于TRT图像来说，颜色特征并没有自然界场景那么复杂，但由于较为成熟有效的直方图匹配技术都是基于HSV色彩空间的，所以进行直方图对比前要先进行色彩空间的转化，需要注意的是OpenCV读取彩色图像时的通道顺序为蓝绿红(BGR)，而不是我们一般讲的红绿蓝(RGB)； 3) HSV直方图计算：OpenCV中可以使用calcHist( )函数来计算直方图，在使用之前需要初始化直方图实参，选择合适的bin数及取值范围。bin可以翻译为组距，代表着每个特征空间子区段的数目，其数值为从数据中计算出的特征统计量。选择合适数目的bin可以降低直方图维数，提高识别及匹配的效率； 4) 直方图对比：OpenCV中可以使用compareHist( )函数进行直方图对比，此函数的返回值为d(H 1 ， H 2 )，即两张直方图的距离。 3.5. 对比分析 在OpenCV中比较两个直方图的相似程度有4种不同的距离标准 [ 25 ]： 1) 相关 d ( H 1 ， H 2 ) = ∑ I ( H 1 ( I ) − H 1 ¯ ) ( H 2 ( I ) − H 2 ¯ ) ∑ I ( H 1 ( I ) − H 1 ¯ ) 2 ∑ I ( H 2 ( I ) − H 2 ¯ ) 2 (2) 其中： H k ¯ = 1 N ∑ J H k ( J ) (3) N为第三步设置的bin数。 2) 卡方 d ( H 1 ， H 2 ) = ∑ [ H 1 ( I ) − H 2 ( I ) ] 2 H 1 ( I ) (4) 3) 直方图相交 d ( H 1 ， H 2 ) = ∑ I min [ H 1 ( I ) ， H 2 ( I ) ] (5) 4) Bhattacharyya距离(巴氏距离) d ( H 1 ， H 2 ) = 1 − 1 H 1 ¯ H 2 ¯ N 2 ∑ I H 1 ( I ) H 2 ( I ) (6) 按照第3.4节中的图像对比匹配步骤，采用上述4种对比方法，将图8依次与图7中的4张标准图进行对比分析，计算得到它们的匹配度，如表1所示。 Table 1 Matching degree between Figure 8 and Figure 对比图像 对比方法 溶洞图像1 溶洞图像2 破碎带图像3 破碎带图像4 相关法1) 0.87 0.85 0.55 0.51 卡方法2) 19.62 29.39 81.93 88.06 直方图相交法3) 24.75 26.20 28.84 27.89 巴氏距离法4) 0.35 0.39 0.38 0.40 表1. 图8与图7的匹配度 对于相关法和直方图相交法，匹配数值越高说明匹配度越高；对于卡方法和巴氏距离法，匹配数值越低匹配度越高。从表1可知，根据相关法和卡方法，图8与图7中溶洞图像1、2匹配度较高；而直方图相交法和巴氏距离法显示图8与图7中的4张图匹配度相当。 实际上在计算机图像学中，4种对比方法孰优孰劣并没有定论，为保证对比分析的稳定性和可靠性，可以通过对4种方法计算得到的匹配度进行加权平均来得出一个较为稳妥的匹配度。计算公式如式(7)所示，由于4种方法计算得到的匹配度值量值范围不一致，因此在对其进行加权平均前需要对它们进行均一化处理，如式(8)、式(9)所示： D i ¯ = ∑ j = 1 4 D i j 4           ( i = 1 ~ 4 ， j = 1 ~ 4 ) (7) 式中， D i ¯ 为图7与图6中第i个图像的加权平均匹配度；D ij 为图7与图6中第i个图像采用第j种方法计算得到的均一化匹配度。 D i j = d i j ∑ i = 1 4 d i j         ( i = 1 ~ 4 ， j = 1 ，   3 ) (8) D i j = 1 d i j ∑ i = 1 4 1 d i j         ( i = 1 ~ 4 ， j = 2 ，   4 ) (9) 式中，d ij 为图8与图7中第i个图像采用第j种方法计算得到的匹配度。 令： D K = D 1 + D 2 (10) D F = D 3 + D 4 (11) 可以得到图8与溶洞的匹配度(D K )和破碎带的匹配度(D F )。 根据上述计算过程，可以得到图8与溶洞(D K )和破碎带(D F )的匹配度分别为0.6和0.4，说明图8反应的不良地质现象为溶洞。经现场揭露，该位置确实为一溶蚀带，发育多处小型溶穴、溶槽，个别溶穴直径达到1 m。