一种基于交互式图像处理的棒材计数方法研究*

2019-01-02 06:56郭军军郑思林
计算机与数字工程 2018年12期
关键词:棒材圈点单根

郭军军 郑思林

(西安工业大学计算机学院 西安 710021)

1 引言

目前,施工现场的钢筋等棒材在盘点时主要采用人工计数方法,这种方法效率低下,工作枯燥繁重,棒材计数员有时也会出现错误计数现象。因此,棒材识别与自动计数已成为一个亟需解决的重要问题。早在十几年前就有许多计算机图像处理等方面的学者提出了对捆扎棒材进行拍照,并将所拍的数字图像输入计算机中,通过对数字图像的处理来统计棒材数目。但是,这些方法实现起来十分复杂,计数精度和灵活度受限[1]。现有的方法可概括为以下几种:1)简单的形态学处理法[2~10]。形态学处理方法在对象和背景差异较大,并且处理对象表面光滑时能够得到很好的计数结果。在实际应用中(如不进行刷漆、涂色等方式处理),棒材的端面形状不一、表面粗糙,图像的背景较为复杂。因此,仅仅使用形态学处理方法进行计数时具有很大的局限性。2)图像距离法[11~14]。该方法是利用几何学图形中心的概念,以图形内部到边缘距离最大的点作为中心点,但中心点需逐步确定,计算量大、速度慢,而且不适用于粘连比较严重的情况。因此,图像距离法实用性较差。3)类霍夫圈计数法[15~16]。这种方法在圆形或类圆物体检测统计上效果较为理想,但同时也存在一些不足,比如霍夫圈在类圆物体统计时,需要一个条件提供物体半径,然而感兴趣区域中物体半径通过数字图像处理的方法极难获得。同时为了满足对更多类圆物体的统计,需要调节部分参数,这种调节无疑放宽了约束条件,使得不是目标的物体也被统计,从而造成计数结果偏差变大。

钢筋等捆扎棒材在出厂时端面光洁、整齐,涂色均匀,色彩一致,很少出现凸出或凹入情况,棒材端面的图像处理和识别计数较为容易。但经多次搬运,长时间露天堆放,棒材端面出现变色和参差不齐现象,棒材识别与自动计数工作变得非常困难,现有的方法不能满足棒材现场计数的要求。因此,本文提出了一种基于交互式图像处理的施工现场棒材识别与计数方法。仿真结果表明,所提出的方法识别精度高、速度快,具有较强的适应性和灵活性,能够满足施工现场对棒材的数目快速统计要求。

2 处理流程

基于交互式图像处理的棒材识别与计数处理流程图见图1所示。

图1 棒材识别与计数处理流程图

首先,利用内置了高质量摄像头的智能手机等移动电子设备在棒材堆放现场拍摄棒材端面图像;在拍摄过程中或事后对图像中典型的棒材进行“圈点”操作,确定单根棒材端面的大致轮廓等图像特征;由于棒材端面图像中存在背景干扰信息和噪声,因此,在识别与计数之前对原始图像进行数字图像处理。经过图像二值化、滤波去噪、图像分割和形态学处理之后,采用多阈值连通区域面积法对棒材端面分类计数;最后在手机等移动设备的显示界面中输出棒材计数结果。

3 基于人机交互的图像处理

3.1 特征提取

在原始的棒材端面数字图像中,由于背景复杂,噪声干扰较大,移动设备计算能力有限,对棒材的端面色彩、形状和大小等特征进行自动化分析和提取较为困难。为了加快棒材现场计数的速度,借助人机交互方式提取棒材端面图像特征。在拍摄图像上,对典型的单根棒材图像边缘进行简单的“圈点”操作,确定棒材端面色彩特征、单根棒材的面积和近似形状,为后续图像处理提供重要的输入参数。值得注意的是,圈点的个数和位置由单根棒材的形状特征和复杂性决定的,一般不少于2个圈点(如单根棒材为端面圆形或近似圆形)。在现场棒材拍摄界面上“圈点”操作见图2所示,图中箭头所指向A和B点即为圈点位置。

图2 棒材端面“圈点”操作图

3.2 二值化处理

从移动设备的摄像头获取的数字图像受到光照、拍摄角度等外界因素影响,图像中存在噪声、变形、过度曝光和欠曝光现象,导致图像质量下降。因此,有必要对原始图像进行去噪处理,从而有效地抑制图像中的噪声,提高图像质量,并且最大限度保留原图的棒材特征信息。经去噪处理后的图像需要进一步执行图像分割操作。图像分割的目的是从原始图像中抽取感兴趣区域(ROI)。二值化(Binarization)是图像分割中常用的方法之一,二值化操作的本质是选择合适的门限规则将ROI和背景分离。本文中,将ROI即棒材端面像素值标识为255,背景像素值记为0,从而实现图像的二值化分割。棒材端面图像的二值化公式见式(1)。

式(1)中,s(x,y)是二值化图像的像素结果,原始图像中红(R)绿(G)蓝(B)三通道对应的像素值分量是 fR(x,y)、fG(x,y)和 fB(x,y),阈值的上下限 α·和β·是由圈点范围内棒材端面像素RGB分量优化结果确定的。

利用式(1)对图2进行二值化处理后得到的结果见图3。

图3 经二值化处理后的图像

3.3 形态学处理

从图3中可以看到,二值化后的棒材端面图像可能会出现空隙、虫洞和小面积孤立区域,仍然难以直接进行识别和计数,因此需要进行相关形态学处理,使其变得更加规整。膨胀运算子可以使物体形状变大,填补其中的细小的虫洞和缝隙等;腐蚀运算子可以将物体分离成若干个更小的独立物体。通常,膨胀和腐蚀运算结合使用,如先腐蚀再膨胀为开运算,而先膨胀再腐蚀为闭运算。由于实际图像像素较为复杂,经常会在目标区域中出现一些不满足特征的小区域,虽然这些小区域未被提取,由于其周围均为目标区域,所以可以认为这些小区域也是目标区域的一部分,通过闭操作将其融合为一个整体,因此,本文采用闭运算进行棒材端面的初步形态学处理。闭运算处理只能消除目标区域内部的虫洞,对于非目标区域的小斑点还是无法消除,此时还需要对图像在进行二次腐蚀操作,消除周围的斑点,这样使得图像中各个目标区域尽可能地独立起来,形成数个连通区域,以方便棒材的识别和计数。

在数字图像的形态学处理中,确定膨胀和腐蚀因子的大小是一个关键问题。由于现场拍摄时方位、角度和成像时镜头焦距未知,仅通过图像处理的方法极难获取单个棒材的几何特征信息。因此,通过用户“圈点”中获得单根棒材的外观轮廓和尺寸。以图2为例,假定用户圈点位置为 A(x1,y1)和B(x2,y2),图像中单根棒材的近似半径r由以下式(2)求得。根据人机交互得到的图像特征,可以进一步优化选择图像膨胀和腐蚀的大小,图4是图2经闭运算和二次腐蚀得到的数字图像。

图4 形态学处理(左图为闭操作,右图为二次腐蚀操作)

4 棒材计数

为了提高计数精度,本文采用多阈值连通区域面积法对棒材进行计数。经交互式图像处理后,棒材端面已经形成连通区域。由于多次离散化操作导致这些像素点不能真实地反应出棒材端面的面积,因此不能简单地将ROI的像素直接相加来确定棒材端面面积,为了减少误差,提高计数精度,在求ROI区域面积或单根棒材面积时采用如下加权公式(3):

假定棒材连通区域面积为T,T1为单根棒材最小面积阈值,T2作为单根标准棒材断面面积阈值,T3最大连通子域面积阈值,参数 ρ(0≤ρ≤1)为填充因子,用于抑制空隙面积,棒材总数n可由式(4)完成计数。

5 系统实现及实验结果

5.1 验证系统实现

在Android平台上,采用JAVA语言实现了一个基于交互式图像处理的棒材计数APP。该APP可以实现在线摄像头抓拍和离线图像的棒材识别与计数,支持用户动态交互功能,实现快速计数目的。棒材计数APP部分操作界面如图5所示。

图5 获取棒材端面图像界面(左图为从本地相册选图,右图为调用摄像头拍照)

为了验证本文提出方法的正确性和有效性,本文选取了10组典型的施工现场钢筋图像,其中有7组为剪切工艺,另外3组为锯切工艺,钢筋直径范围1.2cm~9.0cm,图像大小限制到800*800像素,棒材计数APP安装在华为Mate 8手机上,其操作系统为Android OS6.0,实验结果见表1所示。表中识别误差ε= | (m-n)/m|×100%,m表示棒材实际数目,n为计数APP得到的结果。

5.2 实验结果

表1 实验结果

从表1可以看出,钢筋计数精度极高,最低识别精度84.0%,最高可达100%;APP计数速度快,平均识别速度约0.5s,基本满足施工现场对棒材的计数要求。

6 结语

本文提出的基于交互式图像处理的棒材计数系统具有较强的适应性、稳定性和准确性。实验表明该计数方法具有一定的抗干扰能力,计数APP操作简单,用户只需要在处理之前进行简单的“圈点”操作即可完成交互任务,不仅可以准确得出棒材数目而且能够极大地减轻计数人员的工作量。今后将对该计数系统进一步优化,并应用到木材、钢材等棒材生产、加工、流通等领域。

猜你喜欢
棒材圈点单根
仅吻合单根指动脉指尖再植的疗效分析
油条让我相信爱情了
棒材车间集中监控系统优化及应用
航空结构件用特钢棒材无心可调式倒棱工艺及其生产线
时效处理对钛合金棒材组织及性能的影响
催债与还钱
夹片群锚体系钢绞线拉索整体放张单根拆除换索施工工艺
物理教学中的“咬文嚼字”
一种Nb—Ti—Ta—C合金棒材及其制备方法
黄侃读书