APP下载

船舶垫块蓝油拂配质量检测

2020-05-18焉诗萌

造船技术 2020年2期
关键词:均衡化直方图灰度

李 超,吕 昊,刘 成,梁 伟,焉诗萌

(1.海装装备项目管理中心,北京100071; 2.上海船舶工艺研究所,上海 200032)

0 引 言

新型主机、辅机和甲板设备等船舶设备的大规模应用对装配精度提出了越来越高的要求[1]。蓝油拂配工艺能够确保装配接触面的质量[2-4],在进行垫块蓝油拂配质量检查时,应确保在25 mm×25 mm的区域内蓝油面积不少于60%。然而,标准或工艺虽规定了蓝油拂配检查的要求,但在实际生产中一般靠有经验的工人目视完成。目视检测法存在以下问题:(1)人工检测主观性强,不同人得出的结论可能有所不同;(2)执行标准不严;(3)对检测场所的环境光源有要求;(4)在连续检测后人员容易产生疲劳,影响后续检测结果的准确性。

机器视觉技术的目的是通过机器代替人眼做测量和判断,其已在人脸识别[5]、无人驾驶[6]、文字识别[7]、追踪定位[8]等方面被得到广泛应用。采用机器视觉的自动光学检测方法主观性小、准确度高、检测速度快,其在胶囊质量检测[9]、裂纹故障检测[10]等方面均已有大量成功案例,但采用机器视觉检测方法对船舶垫块蓝油拂配进行质量检测还鲜有相关报道。

本文首先获得蓝油拂配图像并进行裁剪缩放,其次基于OpenCV框架实施图像滤波、对比度增强和阈值分割等操作,然后对每个25 mm×25 mm的区域进行蓝油像素统计分析,接着标注每个部分的蓝油拂配比例,最后采用Python实现检测结果的可视化和报告自动输出。

1 理论依据

通过手机拍照等手段获得蓝油拂配图像,对检测图像进行滤波去噪、对比度增强和阈值分割等操作,统计经阈值分割后的图像像素并采用Python实现检测结果可视化和报告自动输出。整体框架如图1所示。

图1 整体框架图

在进行图像滤波前将彩色图像转化为灰度图,转换公式为

Gr= 0.299R+ 0.587G+ 0.114B

(1)

式中:Gr为灰度值;R为红色通道分量;G为绿色通道分量;B为蓝色通道分量。

1.1 图像滤波

每张图片都包含一定程度的噪声,通常用滤波的方法对噪声进行抑制或去除。常用滤波算法有高斯滤波、均值滤波、中值滤波、导向滤波和双边滤波等。其中,双边滤波具有简单、非迭代、局部的特点。

本文采用联合双边滤波算法,不仅考虑空间距离权重模板的计算,而且采用一张引导图作为值域权重的计算依据,进而对图像实现滤波。联合双边滤波算法具体实施过程如下:

(1) 对图像的每个位置的邻域计算空间距离权重模板,这与双边滤波算法一致;

(2) 对原图进行高斯平滑;

(3) 根据平滑结果用当前位置与其邻域的值之差估计相似性权重模板;

(4) 将空间距离权重模板与相似性权重模板相乘后归一化作为最后的权重模板。

其算法为

(2)

1.2 对比度增强

在实际建造中,难以获得高对比度的蓝油拂配图像用于质量检测,图像对比度增强能够有效解决图像灰度范围小或对比度低的问题,以使图像中的细节更清晰,便于后续进行阈值分割。常见的对比度增强算法有线性变换、分段线性变换、伽马变换、全局直方图均衡化、局部自适应直方图均衡化等。

直方图均衡化的应用较广泛,其本质是寻找一个满足单调性和保限性的灰度变换函数来增强图像对比度。针对数字图像,直方图均衡化的基本计算过程如下:

(1) 计算原始直方图;

(2) 计算累计直方图;

(3) 运用灰度变换函数实现像素变化,并取整数;

(4) 修正并统计图像灰度值,并计算灰度图。

自适应直方图均衡化将图像划分为不重叠的区域块,并对每个分块分别进行直方图均衡化。在无噪声影响的情况下,每个小区域的灰度直方图会被缩小在一个小的灰度范围内,但图像如果存在噪声,噪声将被放大。为避免降低信噪比,ZUIDERVELD[11]提出限制对比度的自适应直方图均衡化算法:若直方图某个区块的高度超过预设的限值,则该区块会被裁剪,裁剪下来的部分将被均匀分布到其他区块,这样就能重构直方图。限制对比度的自适应直方图均衡化的基本计算过程如下:

(1) 分割原始直方图并统计各部分的局部直方图;

(2) 进行局部直方图的均衡化操作;

(3) 设定阈值并对各分块直方图进行剪切;

(4) 将多余的像素重新分配到各分块直方图的各灰度级下;

(5) 对剪切分配后的直方图进行均衡化操作并采用双线性插值算法确保各分块图像的平滑过渡。其中,双线性插值算法的应用可有效提高原始算法的执行效率。

整体看来,限制对比度的自适应直方图均衡化算法限制了图像暗处噪声的放大,同时避免了图像亮区的信息损失。

1.3 阈值分割

图像阈值分割是对图像进行二值化处理的方法,目的是便于后续的像素统计和图像判别。阈值分割因实现简单、计算量小、性能较稳定而成为图像分割中较基本和应用较广泛的分割技术。图像阈值分割的难点在于确定阈值大小,OTSU[12]提出了新的阈值分割法以自动确定阈值。按照OTSU阈值分割法进行图像二值化分割后,前景与背景图像的类间方差最大。该方法计算简单,不受图像亮度和对比度的影响,一般被认为是图像分割中阈值选取的较佳算法。本文使用OTSU阈值分割法进行图像二值化处理。

1.4 像素统计

依据蓝油拂配工艺规定,在每个25 mm×25 mm的区域内,蓝油覆盖占比应达60%。垫块尺寸为125 mm×125 mm,像素大小为300 pixel×300 pixel。因此,将图像划分为5行5列共25个图像子块,每个子图的像素大小为60 pixel×60 pixel。对每个子图进行像素统计,获得各部分蓝油拂配占比,并在原图的相应位置进行染色标注。

2 编程试验

根据程序整体框架,编程实现各部分算法。图2为读入的原始图像,图3为经过转换的灰度图,图2和图3的图像质量低、噪声大且对比度范围小。

图2 原始图像

图3 灰度图

图4为滤波后的图像,图5为对滤波后的图像进行对比度增强后的图像,由图4和图5可以看出:算法有效,图像噪声明显减小且对比度范围增大。

图4 滤波后图像

图5 对比度增强后图像

图6为采用OTSU阈值分割法对滤波后的图像进行二值化处理后的图像,图7为二值图像素统计结果在原图上的叠加展示,即对蓝油拂配面积占比在60%以上的区域进行染色标注(图7中采用阴影表示)。

图6 二值图

图7 二值图像素统计结果

针对检查不合格的区域,应对垫块进行重新打磨和拂配,直到满足要求为止。

3 软件界面

采用Python软件包中的tkinter库实现蓝油拂配自动检查的可视化。报告自动导出功能使用第三方库Python-docx实现,其能够基于Python完成制作word模板的任务,所设计的软件客户端界面如图8所示。

图8 软件界面实现

采用多线程技术编写软件界面,3个不同线程同时处理界面响应、图像计算和运行计时等不同任务,用户可结合进度条对软件运行过程进行实时监视。导出报告功能可一键生成蓝油拂配质量检测报告,以供报验使用。

4 结 论

采用机器视觉检测方法实现了船舶垫块蓝油拂配质量的快速检测,结论如下:

(1) 联合双边滤波算法可实现蓝油拂配图像的超分辨率重建,显示蓝油拂配图像的细节。

(2) 限制对比度的自适应直方图均衡化算法可限制图像暗处噪声的放大,避免图像亮区的信息损失。

(3) 基于类间方差最大原理,采用OTSU阈值分割法可实现图像的二值化处理。

(4) Python3对多线程编程支持良好,自带的tkinter库就能满足软件界面的开发需求,Python-docx模块可实现检测报告的自动生成和导出。

(5) 该软件可实现蓝油拂配质量的快速自动检测,有效避免人工目视检测法的主观性。

猜你喜欢

均衡化直方图灰度
符合差分隐私的流数据统计直方图发布
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于FPGA的直方图均衡图像增强算法设计及实现
Arduino小车巡线程序的灰度阈值优化方案
用直方图控制画面影调
中考频数分布直方图题型展示
基础教育均衡化的实施对于现阶段教育发展的重要性
基于热区增强的分段线性变换提高室间隔缺损超声图像可懂度研究
EDIUS 5.1音量均衡化