基于色差聚类的原木图像端面检测与统计
2020-06-12王克俭李晓烨剪文灏谷建才
唐 浩,王克俭,李晓烨,剪文灏,谷建才
(1.河北农业大学 信息科学与技术学院,河北 保定 071000;2.河北省木兰围场国有林场管理局,河北 承德 067000;3.河北农业大学 林学院,河北 保定 071000)
1 引 言
随着科学技术的迅速发展,将数字图像识别技术应用到计算数据之中得到了更为广泛的研究[1~3],利用数字图像处理技术进行统计处理与人工识别计数统计相比能有效提高统计效率并减少人为造成的测量误差[4~16]。
针对原木棒材计数,有关学者分别提出了基于色域分量的阈值分割[17]、基于线性拟合进行阈值模型计算分割及结合支持向量机(Support Vector Machine,SVM)进行端面识别等方法对原木计数[18,19];但是在实际生产生活中,原木存放环境复杂、干扰项较多、原木径级不统一,实际拍摄效果与模拟实验时存在成像差距,原有处理方法效果有时不理想,若采取文献[20]中双目视觉提升硬件设备方法也会增加成本。
通过手持摄像设备采集自然环境中的图像,剪裁获得兴趣区域进行后期处理是较为方便的检测统计模式。本文采用这种模式,利用目标图像色差值与K-means聚类结合以及逐级开运算等方法,研究并改进自然环境下原木截面有效识别的方法,提高了统计效率和正检率。
2 图像获取与去噪
在计算机进行图像处理时,通常把图像存储为三原色通道(红色(R)、绿色(G)、蓝色(B))矩阵,可以被计算机识别的数值多维矩阵进行处理。图1和图2为自然环境堆放原木图片采用手机或便携设备实地拍摄,拍摄时正面拍摄堆放的原木,不考虑光线与背景,使实验用图符合实际情况。
图1 自然环境原木堆放情况1
图2 自然环境原木堆放情况2
通过选取合适的算子进行图片的预处理去除噪声,提高后续实验精度,本实验在图像预处理中选择3次以3×3大小的滤波器进行中值滤波以减少因光线、纹理和原木本身湿度产生截面图像噪音干扰。多次中值滤波使原木截面趋于统一,同时背景颜色像素值也趋于统一,减少了干扰。中值滤波公式为
g(x,y)=mid{f(x,y)x,y∈W}
(1)
式中:g(x,y)代表的是经过中值滤波后棒材图像(x,y)处像素点的灰度值;f(x,y)代表的是原棒材图像中(x,y)处像素点的灰度值;mid表示的是求大括号里面所有值的中间值;W代表的是所求区域内的像素点。
对图1进行中值滤波图片如图3。
图3 中值滤波图片
式(2)为原3×3滤波矩阵W3×3,其中,覆盖像素点坐标中值为(x-1,y)坐标数值,则将该滤波板覆盖的所有坐标下的数值重置为(x-1,y)的数值。
变换为
(2)
3 图像分割与截面识别
3.1 分割参数选择
常用图像处理方法是灰度化后以Otsu最大类间方差法进行分割,确定阈值进行前景与背景分离,阈值确定标准是选取灰度值使前景与背景像素方差值最大,该方法对于颜色单一图像,或只存在目标原木以及少量背景干扰的图像有较好的区分,当出现3种色域以上的图像或颜色目标区域与干扰区域相近,传统灰度化后在进行Otsu二值化效果较差如图4所示。
图4 Otsu二值分割
对于木堆左后方颜色相近的砖块以及因阈值单一导致右后方浅色背景墙体归为与原木截面同一前景类别而未被剔除。
对原木堆图片进行颜色分析,截取部分砖块像素以及部分原木截面像素,通过三色线剖分析,初步观察,若以R、G、B三色大小来进行阈值分割,就会出现背景干扰(以背景砖体为例),如图5(a)~图5(c)所示,圆点线为原木截面,星点线为墙体,分别为R、G、B分量原木截面与墙体数值,通过观察,R、G分量均有交叉,若只通过B分量进行区分,除砖块以外干扰物可能会在B分量上与原木截面B分量交叉,所以单纯以三原色分量进行区分,误差较高,更改成通过对R-G、G-B、B-R色差值进行分析有较好区分度,如图5(d)~图5(f)使用色差值作为区分参数进行聚类分析。具体数值特征见表1。
图5(a)~图5(c)中横坐标为选取的特征像素编号,纵坐标为该像素的RGB分量数值;图5(d)~图5(f)中横坐标为选取的特征像素编号,纵坐标为该像素的RGB分量差值数值。
图5 颜色分量与色差分量
表1 原木截面与干扰墙体的分量数值特征
3.2 K-means聚类分割
以图片色差数组R-G、G-B、B-R作为参数进行聚类分析,与实际情况结合分析,图片中通常由大量原木截面,原木堆放中深色孔隙,以及干扰背景组成,所以在进行聚类时,初始化质心数量已知分为3类。
聚类算法流程如下:
① 输入样本集D={RGi,GBi,BRi},其中RGi、GBi、BRi分别表示图像像素坐标点的R-G色差数组、G-B色差数组、B-R色差数组,(i表示所选取样本集中像素点序号);
② 将簇类划分为3类Kj(j=1,2,3表示簇类向量序号);
③ 从数据集D中随机选出3个坐标的色差值作为初始质心向量Cj(j=1,2,3表示质心向量序号,质心为簇类的中心。);
④ 根据式(3),计算D样本中每一个Xi(表示序号为i的像素点)与C1、C2、C33个质心向量的距离dij(j=1,2,3表示质心向量序号),即像素点与3个质心向量色差值之差的平方和的开方;根据像素点的Xi与C1、C2、C3,3个质心距离dij中最小值(物理意义即距离哪个质心向量最近)归为Kj簇类;
⑤ 所有像素点距离按照式(3)计算完毕后,根据式(4)调整簇类Kj质心(寻找像素点的色差值与该簇类色差平均值最相近作的像素点为新的质心);
⑥ 重复④,⑤直至质心向量稳定。
(3)
(4)
示例:
对图3进行聚类分割后,灰度直方图见图6,由此可知明显分为3类。
图6 聚类后灰度直方图
聚类分割灰度化结果见图7。
随后根据直方图分布将阈值为225以上保留进行二值化处理,见图8。
图7 聚类分割灰度化结果
图8 二值化处理
4 截面统计
4.1 滤波器
由于存在误差,此时图片仍存在一些粘连,孔洞等,以3×3个像素大小的矩阵滤波器进行开运算消除孔洞,进行腐蚀消除噪声点,见图9。
图9 形态学处理
4.2 逐级开运算分割
使用R滤波器进行腐蚀图像,设R滤波器半径为r1,腐蚀后仍存在连通区域的面积S大于等于R滤波器面积,随后进行膨胀运算,因经过腐蚀后只存在面积S大于等于R滤波器的区域,所以只有这些区域进行膨胀运算。这一过程即开运算。通过设置不同径级的滤波器进行开运算可提取不同面积的二值化后的原木截面的连通区域。
通过连通区域面积大小来确定所需滤波器半径最大最小值。以图8为例计算得出,二值图中最大连通区域像素点个数为4 310,设该面积为圆形面积,可计算得到半径为37.08像素。向上取整,则该图逐级开运算,滤波器半径最大值为38,通过判断最小连通区域设置最小半径,步长取最大半径与连通区域个数比值取整。
随后通过改变R滤波器的半径,调节滤波器面积,进行逐级开运算,提取原木截面。
运算过程如下:
① 初始化滤波器半径ri(表示半径为r的第i次取值);
② 对图J利用滤波器ri进行开运算得到图Ki,Ki即为ri半径级原木截面图,根据连通区域进行个数统计;
③ 根据步长减少ri半径,原图J减去Ki得到新的图J;
④ 重复②~③,直至ri小于最小半径阈值;
⑤ 最后所有Ki叠加即为截面初步检测结果。
针对在逐层开运算后仍粘连的目标区域使用分水岭算法进行粘连分割。对图9进行r=20 piexl的滤波处理,见图10;对图9进行r=15 piexl的滤波处理,并与r=20 piexl时的图像相加,见图11。
图10 r=20 piexl处理结果
图11 r=15 piexl处理结果并与r=20 piexl的图像相加
4.3 分水岭算法去除粘连
由于在开运算过程中因考虑计算时间,逐级滤波器大小存在半径大小间隔,导致部分处理后图像会发生粘连现象,影响后续计算,见图12。
图12 逐级开运算处理后的图像
分水岭算法可以有效去除粘连,通过距离变换使处理的原木图像形成数值上的大小差异,即中心处数值最低距离边界最远,越靠近边界数值越大越趋于水平的凹陷,通过算法寻找局部最大值即两个凹陷中间的脊线,进行粘连区域分割。分水岭模拟示意图见图13。
图13 分水岭模拟示意图
通过改进的标记分水岭算法进行去除粘连,计算流程如下:
① 对逐级开运算后的图像进行距离变换得到图J;
② 设置mark标记,以逐级开运算中最后一步腐蚀后仍存在像素点在图J中的数值作为mark阈值,避免无标记时产生过分分割;
③ mark阈值作为下限进行局部极大值搜索并进行分割。
原木截面识别计算流程如图14所示。
图14 计算流程
5 实验结果
通过手机拍摄某市林业局林场原木堆积状态,通过裁剪得到兴趣区域后,获得实验图像11张(进行切割扩充数据集),进行实验验证,按图14计算流程处理。其中正确率、错检率、漏检率定义如下。
正检率:原木端面正确检测个数与原木端面实际个数之比。
漏检率:未检测到的原木截面个数与实际图像中原木截面个数之比。
错检率:非原木截面而被检测为原木截面的个数与实际图像中原木截面个数之比。背景中由于特征相似被检测为原木端面,因分割或特征原因导致一个原木端面检测为多个,从而存在错检情况。
图1、图2处理结果如图15和图16所示。
图15 图1检测结果
图16 图2检测结果
原木截面实验识别率如表2所示。
表2 原木截面实验识别率
表2中正检率与漏检率之和为100%,根据定义即正确检测个数与漏检的个数之和为实际个数。因检测精度问题会出现错误检测如把背景中区域误认为目标或一个目标检测为多个目标,导致多出实际数目,所以正检率,漏检率与错检比率之和大于或等于100%。
6 结 论
本文采用逐级开运算与改进分水岭算法相融合进行分割计数,在自然环境下取得了较好的检测效果,在干扰度低以及良好实验环境下(实验编号为3~6)结果准确度与传统方式相近,正检率均高于90%,但在实际应用中使用色差与聚类的结合具有较好的抗干扰检测能力,综合总计正检率为91.88%,错检率为5.08%,漏检为8.12%,同时正检率平均值是92.94%。从而证明各实验结果良好,对于干扰背景有较好的去除效果。该方法可以应用在原木存储运输中的识别计数。
该方法也还有一些不足,针对复杂背景错检问题,可通过改进算法,减少背景的噪音干扰等方法,准确对图像感兴趣区域(RIO)区域原木端面和原木堆放区域提取;对于漏检问题寻找更多有效特征,增加识别特征,降低漏检率。