system: [SYSTEM]

user: 3. 算法概述 在对舌象的纹理特征进行分析研究前，本文需要先对舌象进行前期处理以保证本文的研究不受外界因素干扰。因此，在选取好舌象样本以后，本文进行以下流程(如图1)。 图1. 本文算法流程 1) 对舌象进行色偏检测 [ 11 ] 再决定是否进行图像的颜色校正； 2) 借助Grabcut算法 [ 12 ] 对不存在色偏的舌象图像进行图像的前景分割，将舌象的舌体和图像背景分离，只保留下完好的舌体信息； 3) 再次通过算法将舌体图像的颜色量化，保证图像颜色色彩数据的准确性； 4) 将图像转化为灰度图，然后统计灰度图像各个象素和与它相邻的象素之间的灰度变化情况并累计次数，然后通过直方图算出变化情况的取值概率，最后通过公式分析得出纹理特征； 5) 减少不确定因素对实验成果的干扰，反复进行实验，统计结果。 3.1. 颜色校正 考虑到光源、相机软硬件等因素在实际表现中可能存在的波动，会使舌象图像产生轻微的颜色偏差，从而影响对舌象的识别，因此要对原始舌象进行颜色校正。采集的原始舌象通常都是RGB颜色空间，容易受到外部因素的干扰，与RGB颜色空间相对比，CIEL * a * b颜色空间是一种不受设备干涉的颜色系统，它是用数字化的方法来描述人体的视觉感应，因此首先将原始舌图像都转换为Lab颜色空间。 在正式对原始舌象的颜色进行校正之前，颜色偏差的程度是我们需要考虑的一个重要因素，通过计算图像色度的平均值和色度的中心距离的比值，可以有效地对图像进行偏色检测。计算公式如下，设a-b为色度坐标平面，a、b用于记录a轴、b轴的平均值，W为图像的宽，H为图像的高，设图像等效圆的中心坐标为( d a ， d b )，D为图像的平均色度， M a 、 M b 为图像等效圆a、b轴上的峰值，M为色度中心距(等效圆的半径)，K为图像的偏色因子。 图像等效圆的中心坐标： { d a = ∑ i = 1 W ∑ i = 1 H a W H d b = ∑ i = 1 W ∑ i = 1 H b W H (1) 图像的平均色度： D = d a 2 + d b 2 (2) { M a = ∑ i = 1 W ∑ i = 1 H ( a − d a ) 2 W H M b = ∑ i = 1 W ∑ i = 1 H ( b − d b ) 2 W H (3) 色度中心距： M = M a 2 + M b 2 (4) 偏色因子： K = D M (5) 图像的偏色情况由图像等效圆在 a − b 色度坐标平面上的位置来判断， d a 大于0则图像偏红，反之偏绿， d b 大于0则图像偏黄，反之偏蓝，偏色情况与偏色因子K呈正相关，K值越大偏色越严重。因此我们可以通过确定偏色因子来判断图像是否偏色，决定是否对图像进行颜色校正。 我们在灰度世界 [ 13 ] 和完美反射 [ 14 ] 这两种颜色校正方法的基础上加以改进，实现了契合本文的颜色校正算法。算法的大致思路：通过算法选取图像上最亮的点，并以这个最亮点为参考对整副图像进行自动白平衡，最亮的点定义为RGB三个值之和的最大值。 本文颜色校正算法流程： 1) 计算每个像素的RGB三个值的和(RGB总值)； 2) 按RGB总值的大小计算出其前10%的参考点的阈值M； 3) 遍历整幅图像中的每个像素点，计算其中RGB总值大于阈值M的所有像素点的R、G、B分量的累积和的平均值(即Ravg、Gavg、Bavg)； 4) 遍历每个像素点，将像素点的数值量化到[0， 255]之间，量化方法为R、G、B分量分别和整幅图像中的最亮点相乘在除去各分量平均值。 图2显示的是颜色校正的实验结果图，实验结果中我们可以发现，图像(a)经过色偏检测后，计算得出K值高达1.724，整体色调偏红，RGB值中的R值整体占比过高，经过颜色校正后图像(b)整体色值较为平均，实验结果表明本文颜色校正的算法的效果尚可，基本能够满足实验的颜色校正的需求。 图2. 颜色校正后的舌象图像 3.2. 舌体图像分割 当图像的光照、亮度等外部因素不再会成为干扰因素后，我们需要进行的是舌体图像的分割。由于实验采集到的舌象图像是包含着其它因素的图像，并不单单是一个完整的舌体图像，所以需要对舌象图像进行分割，将完整的舌体图像分割出来，以避免其它因素对后续实验的干扰。 在图像分割算法的选择上，GrabCut算法是一种快速的基于简单交互的分割算法，也是一种非常流行的能量优化算法，因此该算法在分割的速度上十分迅速，且体量不大，适用于本文实验。该算法是通过迭代能量最小化来分割图像的方法，能量最小化分割是一个不断进行分割估计和模型参数学习的交互迭代过程，每次迭代过程都使得对目标和背景建模的GMM的参数更优，使得图像分割更优。因此，本文实现舌体分割的算法是在GrabCut算法的基础之上加以改进，以契合本文实验。 算法的基本思想是：以RGB颜色空间的三个通道来衡量两个相邻像素的相似性，采用欧式距离(二范数)来计算这两个像素之间的差异，如果这两个相邻像素的差别很小，则它们属于同一背景的可能性大；如果这两个相邻像素的差别很大，则它们处于目标和背景的边缘部分的可能性大。 舌体分割算法流程： 1) 在图像中定义包含目标(前景p)的矩形。 2) 将矩形区域外的区域定义为背景v。 3) 在定义的矩形区域内部，用背景中的数据区分矩形区域内部的前景p和背景v区域。 4) 用高斯混合模型(GMM)来对背景p和前景v进行建模，并将尚未被定义的像素标记为可能的前景pi或者可能的背景vi。 5) 将图像中的每一个像素当做通过虚拟的边与周围像素相连接，而每条虚拟边都有一个属于前景p或者背景v的概率，将每一个像素(算法中的节点)与一个前景节点或者一个背景节点连接。 6) 在所有节点(像素)完成连接后(与背景v或前景p连接)，若节点之间的边所属不同，即一个节点属于前景p另一个节点属于背景v，则切断它们之间的边。 其中输入的前景p和背景v指的是一种概率，如果已经明确某一块区域是背景v，那么它属于背景v的概率设定为1。如果它有可能背景v，但是没有完全的肯定，这时则需要用到高斯模型对其进行建模，然后估算概率。大致流程如图3。 图3. 基于GrabCut算法的分割流程 图(a)是原始图像，每个单元格代表像素点；图(b)是分割图解，将像素值相近的像素点相连并区分前景和背景；图(c)则是在所有像素完成连接后(与背景或前景连接)，若节点之间的边所属不同，则切断它们之间的边，并将节点归属于前景或背景。 图4是对原始舌象进行舌体分割的结果： 图4. 舌象图像中的前景/背景分离 3.3. 纹理特征分析 通过对大量舌象的纹理特征进行的观察，我们可以发现舌苔厚的舌象图像较为粗糙，舌苔薄的舌象图像较为光滑，腐腻苔的舌象的图像表现为颗粒大小不均匀，舌质苍老的舌图像纹理较为粗糙、杂乱，灰度分布不均匀，图像内相邻像素灰度差异较大，舌质细嫩的舌图像纹理较为细腻，灰度分布较为均匀、规则，图像内相邻像素灰度差异较小。基于此我们推测出纹理的特征可以反映舌象老嫩、薄厚、腐腻的程度。 基于我们观察到的舌象图像的纹理特征，我们发现舌象上面的纹理往往是不规则、无周期的，而基于灰度的差分统计方法有着较强的纹理识别功能，符合本文的研究要求，因此，我们决定使用灰度差分统计的方法进行纹理特征研究。 算法的基本原理是统计图像每个象素和它相邻象素之间的灰度变化的情况。图像中的任意一点 ( x ， y ) 与 ( Δ x ， Δ y ) 和它相邻的点 ( x + Δ x ， y + Δ y ) 的灰度差值为： g Δ ( x ， y ) = g ( x ， y ) − g ( x + Δ x ， y + Δ y ) ；算法的实现思路是： 1) 设灰度差分的所有可能取值有n级，将点 ( x ， y ) 在整幅图像上移动遍历，累计 g Δ ( x ， y ) 在各个取值的次数； 2) 做出 g Δ ( x ， y ) 的直方图用以统计； 3) 通过直方图求出 g Δ ( x ， y ) 取值的概率为 ，其中i在1~n之间取值； 4) 当较小的i值的概率 p Δ ( i ) 较大时，说明纹理较粗糙，当 p Δ ( i ) 的各个取值较接近时，即概率分布较平坦时，说明纹理较细。 用来描述纹理特性的主要参数有对比度CON、二阶角矩ASM、熵ENT、平均值MEAN。其中i为像素灰度值，取值范围[0， 255]， p Δ ( i ) 为 g Δ ( x ， y ) 取值的概率， g Δ 是灰度差分，m表示的是图像灰度范围，取值范围[0， 255]。 对比度： CON = ∑ i i 2 p Δ ( i ) (6) CON表示临近像素的反差，表示的是图像的清晰点、纹理的强弱，CON越大，纹理越明显； 二阶角矩： ASM = ∑ i [ p Δ ( i ) ] 2 (7) ASM是图像灰度分布均匀程度和纹理粗细程度的一个度量，当图像灰度不均匀、纹理较粗糙时，ASM较小； 熵： ENT = − ∑ i p ( i ) lg p Δ ( i ) (8) ENT表示的是图像的复杂程度，当图像的复杂程度高时，ENT较大。以下公式中，i表示的是图像灰度值，取值在0~255； 平均值： MEAN = 1 m ∑ i p Δ ( i ) (9) 当对比度、二阶角矩、平均值三个数值越小，熵值越大时，图像的纹理表现越细腻，反之当对比度、二阶角矩、平均值三个数值越大，熵值越小时，图像的纹理表现越粗糙。老舌的舌质纹理粗糙，嫩舌的舌质纹理细腻，而舌苔厚的舌象舌苔较为粗糙，舌苔薄的舌象图像舌苔较为光滑。 对舌象的舌质纹理分类的研究中，我们主要从舌体中选取边缘小块的子图像进行研究，舌质老和舌质嫩的舌象对比图如图5，从舌体边缘截取得到的小块图像中我们可以看出，舌质老的舌象纹理较为粗糙，舌质嫩的舌象纹理较为细腻。 图5. 具有不同纹理的舌象图像对比