基于嵌入式ARMS3C2440智能建筑物裂纹实时测量系统开发研究
扫描二维码
随时随地手机看文章
0 引 言
在建筑业中,评价墙体裂纹,地面裂纹是评价房屋质量的一项重要指标。由于传统的利用手工标尺进行裂纹宽度测量的方法既不准确又不方便,于是将嵌入式应用于自动测量建筑裂纹宽度成为了许多研究者的重要研究内容。
本研究将问题划分为以下两个部分:
(1)裂纹宽度测量算法;
(2)将以上所开发软件移植到ARM开发板,并优化算法提高软件运行速度。
1 裂纹宽度测量算法
计算裂缝宽度关键是要利用图像分割技术得到裂缝的真正边缘。虽然已有文献介绍了多种分割方法,但是未见有针对裂缝测试仪采集到的裂缝图像进行处理的方法。因此,本文针对裂缝图像,提出了结合OTSU图像分割与Sobel边缘检测的混合算法进行裂纹检测与宽度测量。
1.1 图像获取
图像获取过程如图1所示:被检测的裂缝通过光学系统在CMOS图像传感器上成像,然后通过USB接口将裂缝图像输出到ARM上进行处理。
裂缝图像如图2所示。裂缝宽度分布范围较广,自几十至几百像素不等,但远远小于图像的宽度值。裂缝周围有部分噪声,有的图像含有大量污染区域,这成为裂缝位置锁定的难点。
1.2 OTSU图像分割
通过与已有图像分割方法如:直方图法、OTSU法、区域分割法等进行比较发现,OTSU在最后的效果上占有明显的优势。因此采用OTSU方法进行图像的分割。
图像分割的结果如图3所示。观察结果,很容易发现图像的边缘很大区域被错分为与裂缝一样。于是直接计算裂缝宽度时会导致将错分的区域计算成裂缝。因此除了计算裂缝宽度外,对候选裂缝集合进行有效剔除是另一个重要任务。对选裂缝集合进行有效剔除将会在下一小节中进行讨论。
分割完图像后,计算所有可能成为裂缝的区域的宽度。采用从图像给定行的起始位置开始计算裂缝宽度,当发现像素灰度由0变为255,记为一个裂缝的左边缘起始位置;当查找到像素灰度由255变为0,记为一个裂缝的右边缘结束位置。通过这种方法可以获取给定行的所有可能的裂缝宽度。但是在具体试验中发现,计算对单行的裂缝进行宽度测量还是存在比较大的误差。于是采用求取给定行上下5行共10行的平均值的方法。这样可以有效地去除毛刺的干扰。通过这种方法,得到一个裂缝的候选集合,并且计算出候选集合中每一个位置的宽度。
1.3 Sobel边缘检测
以上小节得出了裂缝的候选集合,但是事实上这个候选集合含有大量的非裂缝区域。这一节中的主要内容是设计算法剔除这些干扰裂缝,获取更小的裂缝候选集合。在试验中,由于裂缝具有明显的边缘,而干扰图像区域有比较模糊的边缘或者仅有一个边缘等,通过分析,提出采用Sobel边缘检测的方法进行裂缝位置的锁定。Sobel算子由两个卷积核组成,如图4所示,图像中的每个点都用这两个核做卷积,一个核对通常的垂直边缘相应最大,而另一个对水平边缘相应最大。两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。
通过对原始图像采用Sobel边缘检测得到如图5所示结果。
但是,这个结果很明显存在很多微小的干扰,这些干扰必须予以剔除,否则将对锁定裂缝边缘没有任何效果。通过对边缘检测结果图像仔细分析发现,虽然存在微小干扰,但是他们的灰度值普遍偏小,针对这一发现,对缘检测结果图像做与上一节中一样的图像分割,这会将微小的干扰有效地剔除。实际的实验结果也验证了这一点,如图6所示。
同过对分割后的边缘图像进行观察,图像仍然存在一些微小的干扰,但这些干扰相对于未处理的缘检测结果图像已经很少,将在后续的处理中对图像裂缝添加附加约束,从而取出这些干扰的影响。
1.4 基于裂缝特征的附加约束
通过对大量的裂缝图像进行分析,发现图像裂缝有如下特点:
(1)裂缝灰度值低于墙体的灰度值。
(2)裂缝的宽度相对于整个图像不超过图像宽度的1/3。
(3)污染的墙体区域一般呈大的块状出现,且很多仅含有一个边界,另一边界延伸至图像外面。
(4)墙体的一些微小的干扰呈小块状出现。
(5)裂缝一般为带状。