基于嵌入式ARMS3C2440智能建筑物裂纹实时测量系统开发研究

时间:2022-09-14 09:21:37

基于嵌入式ARMS3C2440智能建筑物裂纹实时测量系统开发研究

摘 要:随着各种嵌入式处理器速度的极大提高与集成电路的发展,大量的嵌入式设备被越来越多的应用于人们生活的方方面面。以自带Linux操作系统的ARMS3C2440开发板为开发平台,完成了建筑物裂纹实时监测系统的算法实现与最终的软件开发。与一般的裂纹检测系统不同,这里通过将裂纹边缘检测与裂纹宽度测量分开进行,使得裂纹位置锁定与测量结果更准确。通过使用QT进行界面设计,使得所开发的软件更具智能性、用户友好性等特点。

关键词:裂纹实时监测系统;Linux操作系统;ARMS3C2440开发板;QT

中图分类号:TP29 文献标识码:A

文章编号:1004-373X(2009)21-138-03

Development and Research of Intelligent Building Crack′s Real-time

Measuring System Based on ARMS3C2440

ZUO Yongbo

(Electrical College,Hunan University,Changsha,410082,China)

Abstract:With the enhancement of variety of embedded processor′s speed and the development of integrated circuits,a large number of embedded devices are increasingly being applied in each aspects of people's living.In this study,with Linux operating system ARMS3C2440 development board for the development platform,the building crack monitoring system for real-time algorithm implementation and the final software development is completed.Different from the general crack detecting system,adopting edge of the crack detection and crack width measurement separately,making crack and measuring the results of locking position is more accurate.Using QT for interface design,making the software developed by a more intelligent,user-friendly and so on.

Keywords:crack real-time monitoring system;Linux operating system;ARMS3C2440 development board;QT

0 引 言

在建筑业中,评价墙体裂纹,地面裂纹是评价房屋质量的一项重要指标。由于传统的利用手工标尺进行裂纹宽度测量的方法既不准确又不方便,于是将嵌入式应用于自动测量建筑裂纹宽度成为了许多研究者的重要研究内容。

本研究将问题划分为以下两个部分:

(1) 裂纹宽度测量算法;

(2) 将以上所开发软件移植到ARM开发板,并优化算法提高软件运行速度。

1 裂纹宽度测量算法

计算裂缝宽度关键是要利用图像分割技术得到裂缝的真正边缘。虽然已有文献介绍了多种分割方法[1-4],但是未见有针对裂缝测试仪采集到的裂缝图像进行处理的方法。因此,本文针对裂缝图像,提出了结合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) 裂缝一般为带状。

使用ARM处理器处理图像,由于其速度慢且有实时性要求,故不能处理整张的图像,换句话说,必须处理局部图像。这就很明显增加了剔除候选裂缝的难度。该系统显然是无法使用特点(4)、特点(5)的。因此仅使用了前三个特点,并提出了约束:剔除宽度高于图像宽度1/3的裂缝候选集,剔除宽度低于1/10的裂缝候选集。

通过添加以上约束,实验效果有了明显的提高。图7是PC机的结果,由于同时使用了5个约束效果比较好。图8是ARM系统运行的截图,由于在ARM上不方便分步计算出每一个步骤,故直接给出了带有测量结果的截图。

2 基于Linux的QT界面设计算法

前文讨论的是主要的算法部分,完整的裂纹测量系统还包括用户接口部分,即图形界面接口。在ARM上采用QT进行界面设计已经比较成熟,它具有以下主要特点:

(1) 入门容易、学习成本低。了解基本概念后就可以边查文档边写程序。

(2) 跨平台效果好。本来是Linux下的工具库,在Windows下默认观感也很好。

3 软件移植与程序优化

由于最终的程序是运行在ARM系统上,而由于ARM处理图像时的速度慢与裂缝测量仪器的实时性要求,必须对程序进行优化,并将算法移植到ARM系统上,使之可以正确运行。

软件的移植比较容易。由于一开始很注重将PC机上仿真成功的算法及时移植到ARM上,故程序的移植变得比较容易。

但是程序的优化是一个问题,虽然现在的ARM速度已经提高了很多,但是在处理图像时还是很吃力,加上算法中需要对原图像两次独立处理,相当于加倍了ARM的负担。通过对大量裂缝图像的分析,针对前文中提出的裂缝特点以及结合ARM本身的运算速度条件,提出剔除处理全部图像的算法。采用了只处理给定行位置上下10行的区域。通过只处理这20行图像,极大地提高了程序的运行速度。以上方法并行,还采用多线程编程方法,通过将图像采样与图像的处理分为两个进程完成,有效地提高了程序的运行速度。

4 实验结果分析

该程序分别在PC机和ARM开发板上运行,效果如图7,图8所示。

通过大量的实验发现该算法能较好地检测出裂缝的分布和宽度。在算法中采用了结合OTSU图像分割与Sobel边缘检测的混合算法进行裂纹检测与宽度测量。这种算法能分别有效利用边缘检测与图像分割两种方法各自的优点。另外在该算法中加入了一些分析获得的约束条件,这能极大地弥补边缘检测与图像分割混合方法的不足,从而有效地提高了裂纹位置锁定与裂缝宽度测量的精度。

5 结 语

针对墙体裂纹测量,设计出了一套适用于裂缝宽度检测的算法。该算法能较好地检测出裂缝的分布和宽度。采用边缘检测与图像分割混合的方法并通过对大量图像进行分析,对算法添加了一系列符合图像裂缝特征的约束条件,极大地提高了算法的准确性与健壮性。分别将程序运行于PC机系统与ARM系统,并针对ARM系统的特点对算法进行了一系列优化,引入了并行处理技术,在提高ARM运行速度的同时,使得ARM系统检测出的结果达到与PC机系统几乎同等的效果。

参考文献

[1]施树明,初秀民,王荣本.沥青路面破损图像测量方法研究 [J].公路交通科技,2004,24(7):12-16.

[2]陆玲,陈国明,戴扬.水下结构物裂缝特征定量分析与测量 [J].计算机测量与控制,2004,12(1):10-12.

[3]甘玲,李涛,赵辉,等.CP神经网络在图像边缘检测中的应用 [J].四川大学学报:自然科学版,2003,35(3):93-96.

[4]王大志,黄劫,徐树英.采用灰度直方图的孔型识别和二值化阈值自动匹配 [J].测控技术,2005,24(2):48-49.

[5]耿飞,钱春香.图像分析技术在混凝土收缩裂缝定量测试与评价中的应用研究 [J].东南大学学报:自然科版,2003,33(6):773-776.

[6]Kima K S,Kangb K S,Kangc Y J,et al.Analysis of an Internal Crack of Pressure Pipeline Using ESPI and Hearography[J].Optics&Laser Technology,2003,35(8):639-643.

[7]陈果,左洪福.图像阈值分割的两种新技术[J].模式识别与人工智能,2002,15(4):468-473.

[8]胡霞.国内外路面快速检测技术的现状与发展[J].中外公路,2003(6):95-99.

[9]张娟.基于数字图像处理的路面裂缝自动识别与评价系统[J].长安大学学报,2004(2):18-22.

[10]付忠良.图像阈值选取方法――OTSU方法的推广[J].计算机应用,2000,20(5):37-39.

[11]罗水云,王龙文,于润桥.嵌入式系统在螺纹探伤仪中的应用\.现代电子技术,2007,30(10):61-62,68.

作者简介 左勇波 男,1987年出生,重庆渝中人。研究方向为电路设计及嵌入式应用。

上一篇:强噪声背景下的弱信号检测仿真 下一篇:任意比例系数的同相比例运算电路