0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享使用图像分割来做缺陷检测的一个例子

机器视觉自动化 来源:AI公园 作者:Vinithavn 2021-05-29 10:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 介绍

什么是物体检测?

给定一张图像,我们人类可以识别图像中的物体。例如,我们可以检测图像中是否有汽车,树木,人等。如果我们可以分析图像并检测物体,我们可以教机器做同样的事情吗?

答案是肯定的。随着深度学习计算机视觉的兴起,我们可以实现目标检测的自动化。我们可以建立深度学习和计算机视觉模型,可以检测和定位目标,计算它们之间的距离,预测它们的未来的位置等。目标检测在计算机视觉和机器学习中有着广泛的应用。目标跟踪、闭路电视监控、人类活动识别,甚至自动驾驶汽车都利用了这项技术。

图中为一幅道路交通图像从车辆上看的目标检测。这里我们可以看到它正在检测其他车辆,交通信号等。如果车辆是自动驾驶汽车,应该能够检测到行驶路径、其他车辆、行人、交通信号等,以便平稳、安全驾驶。

现在我们已经了解了目标检测,让我们转移到一个稍微高级的技术,称为图像分割。通过分析下图,我们可以很容易地理解目标检测和图像分割之间的区别。

图2,目标检测和图像分割

这两种方法都试图识别和定位图像中的物体。在目标检测中,这是通过边界框实现的。该算法或模型将通过在目标周围绘制一个矩形边界框来定位目标。在图像分割中,对图像中的每个像素进行标注。这意味着,给定一幅图像,分割模型试图通过将图像的所有像素分类成有意义的对象类别来进行像素级分类。这也被称为密集预测,因为它通过识别和理解每个像素属于什么对象来预测每个像素的含义。

“图像分割的返回格式称为掩码:一个与原始图像大小相同的图像,但对于每个像素,它只有一个布尔值指示目标是否存在。“

我们将在本案例研究中使用这种技术。现在我们有了目标检测和图像分割的概念。让我们进一步理解问题陈述。

2. 问题陈述

我们得到了一些产品的图像。有些产品有缺陷,有些没有。考虑到产品的图像,我们需要检测它是否有缺陷。我们还需要定位这个缺陷。

3. 机器学习的形式

这个问题可以表述为图像分割任务。给定一个产品的图像,我们需要为其绘制分割掩模。如果产品有缺陷,分割图应该能够定位该缺陷。

4. 性能度量

在分割问题中最常用的指标之一是(IoU分数。参考下面的图像,这清楚地显示了如何IoU分数是计算的。

IoU是预测分割与真实分割的重叠面积除以预测分割与原始分割的并集面积

我们也可以把IoU分数写成TP/TP+FN+FP。

这个度量值的范围是0到1。Iou得分为1表示完全重叠,Iou得分为0表示完全不重叠。

本案例研究中使用的损失函数是Dice损失。Dice 损失可以被认为是1-Dice 系数,其中Dice 系数定义为,

Dice系数 = 2 * 相交的重叠面积

5. 理解数据

该数据集包含两个文件夹 —— train和test。训练集由六类图像组成。每一类图像被分成两个文件夹,其中一个文件夹包含1000张无缺陷图像,另一个文件夹包含130张有缺陷图像。下图显示了train文件夹中的文件夹。

c32dc8ce-bfc5-11eb-9e57-12bb97331649.png

图3,训练数据集

以 “def”结尾的文件夹名称包含相应类的有缺陷的图像,没有“def”的则表示无缺陷的图像。测试文件夹包含一组120个有缺陷的图像,这些图像的分割图将被预测。

6. 数据预处理

6.1 准备图像数据和分割蒙版

现在我们需要为每个图像准备图像数据和相应的分割掩模。我们把图片分成十二个文件夹。让我们来看一些图片。

图4,产品的图像

第一幅图像表示有缺陷的产品,第二幅图像表示无缺陷的图像。现在我们需要为这些图像准备分割图。分割图可以检测出图像中有缺陷的部分。对于上面的图像,预期的分割图是这样的。

图5,图4上的分割蒙版

我们可以看到,在第一幅图像是空白的,因为它没有缺陷。

让我们再分析一些有缺陷的图像。

图6,一些缺陷图像的例子

我们可以看到缺陷在图像中以曲线或直线的形式出现。因此,我们可以利用椭圆来将这些区域标记为缺陷。

但我们如何准备分割掩码?是否需要手工标注?

我们有另一个包含关于分割掩码信息的文件。

c4fa981c-bfc5-11eb-9e57-12bb97331649.png

每一行包含关于图像的mask区域的信息。每一列表示图像的文件名、椭圆的半长轴、椭圆的半短轴、椭圆的旋转角度、椭球中心的x位置、椭球中心的y位置。

绘制椭圆所需的数据是使用get_data函数获得的,如下所示:

c516fd72-bfc5-11eb-9e57-12bb97331649.png

我们可以使用这些信息,并使用skimage函数绘制一个椭圆分割蒙版。

c5590d20-bfc5-11eb-9e57-12bb97331649.png

值得注意的是,这只适用于有缺陷的图像。对于无缺陷的图像,我们需要创建空白图像作为分割掩模。

6.2 加载图像

结构化数据以如下所示的形式获得。

c569fd6a-bfc5-11eb-9e57-12bb97331649.png

“images”列包含每个图像的完整文件路径,“mask”列包含相应的掩码图像。

下一步是加载数据。

c5a19892-bfc5-11eb-9e57-12bb97331649.png

c5b7f4a2-bfc5-11eb-9e57-12bb97331649.png

7. 模型

现在我们得到了所有的数据,下一步是找到一个模型,可以生成图像的分割mask。让我来介绍一下UNet模型,它在图像分割任务中非常流行。

UNet架构包含两种路径:收缩路径和扩展路径。下图可以更好地理解Unet架构。

c5ec40b8-bfc5-11eb-9e57-12bb97331649.png

图7,Unet结构

模型结构类似于英文字母“U”,因此得名Unet。模型的左侧包含收缩路径(也称为编码器),它有助于捕获图像中的上下文。该编码器只是一个传统的卷积和最大池层堆栈。在这里我们可以看到,池化层降低了图像的高度和宽度,增加了通道的深度和数量。在收缩路径的末端,模型将理解图像中出现的形状、模式、边缘等,但它丢失了“在哪里”出现的信息。

由于我们的问题是获取图像的分割映射,我们从压缩路径中获得的信息是不够的。我们需要一个高分辨率的图像作为输出,其中所有像素都是分类的。

”如果我们使用一个规则的卷积网络,pooling层和dense层,我们会丢失WHERE信息,只保留不是我们想要的“WHAT”信息。在分割的情况下,我们既需要“WHAT”信息,也需要“WHERE”信息

所以我们需要对图像进行上采样,以保留“where”信息。这是在右边的扩张路径中完成的。扩展路径(也称为解码器)用于使用上采样技术定位捕获的上下文。上采样技术有双线性插值法、最近邻法、转置卷积法等。、

8. 训练

现在我们已经准备好了所有的训练数据,也确定了模型。现在让我们训练模型。

由于无缺陷图像的数量远远高于有缺陷图像的数量,所以我们只从无缺陷图像中提取一个样本,以获得更好的结果。采用adam优化器训练模型,并以dice 损失为损失函数。

使用的性能指标是iou分数。

c5f99f60-bfc5-11eb-9e57-12bb97331649.png

经过10个epoch,我们能够获得0.98的iou分数和0.007的骰子损失,这是相当不错的。让我们看一些图像的分割图。

c6054f04-bfc5-11eb-9e57-12bb97331649.png

我们可以看到,该模型能够预测类似于原始分割图的分割图。

9. 测试数据分割图的预测

现在让我们尝试解决手边的问题,即预测和绘制测试图像的分割蒙版。下图显示了一些测试图像的预测分割图。

c6b0c1e0-bfc5-11eb-9e57-12bb97331649.png

可以看出,该模型具有良好的测试性能,能够检测出测试图像中的缺陷。

10. 未来的工作

如上所述,与无缺陷图像相比,有缺陷图像的数量非常少。因此,对缺陷图像采用上采样和增强技术可以改善训练效果。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93983
  • 图像
    +关注

    关注

    2

    文章

    1095

    浏览量

    42158
  • 物体检测
    +关注

    关注

    0

    文章

    8

    浏览量

    9334

原文标题:干货 | 使用图像分割来做缺陷检测的一个例子

文章出处:【微信号:jiqishijue2020,微信公众号:机器视觉自动化】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    挑花眼了吧?缺陷检测不用愁,秒教你选对型!

    上期我们在公众号回顾了五大缺陷检测系统之后,有用户反馈,觉得我们的产品真心不错,但是落实到自己具体的检测场景时,不知道应该选择哪款,都要挑花眼了。今天我们就给大家带来了简单直接的选型指南,让您 1
    的头像 发表于 11-28 16:16 396次阅读
    挑花眼了吧?<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>不用愁,<b class='flag-5'>一</b>秒教你选对型!

    机器视觉缺陷检测中传感器集成的五大关键

    工智能技术样,机器视觉虽然令人印象深刻,但它仅仅是工具。其效果取决于最终用户的应用方式。因此,以下是将机器视觉系统集成到缺陷检测中的五
    的头像 发表于 11-03 11:40 588次阅读
    机器视觉<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>中传感器集成的五大关键

    便携式EL检测仪:光伏组件缺陷检测的移动“透视眼”

    便携式EL检测仪:光伏组件缺陷检测的移动“透视眼”柏峰【BF-EL】在光伏电站运维与组件质量管控中,组件内部缺陷(如隐裂、断栅、虚焊、黑心片等)是影响发电效率与使用寿命的关键隐患。
    的头像 发表于 10-15 10:20 329次阅读
    便携式EL<b class='flag-5'>检测</b>仪:光伏组件<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的移动“透视眼”

    机器视觉助力FPD 面板检测

    FPD面板光学检测,需要在工业相机上使用图像识别和检测算法来检测缺陷和异常。
    的头像 发表于 09-26 16:09 443次阅读
    机器视觉助力FPD 面板<b class='flag-5'>检测</b>

    射频功率放大器在单缺陷导波高精度检测中的关键作用

    实验名称: 单缺陷导波检测实验 研究方向: 管道运输在当今国民经济和工业运输领域有着不可或缺的作用,其有着经济、高效且安全的优势。然而管道在服役过程中并不是劳永逸的,随着时间的推移或者存在加工
    的头像 发表于 09-24 16:15 595次阅读
    射频功率放大器在单<b class='flag-5'>缺陷</b>导波高精度<b class='flag-5'>检测</b>中的关键作用

    探秘晶圆宏观缺陷检测技术升级与根源追踪新突破

    在晶圆加工流程中,早期检测宏观缺陷是提升良率与推动工艺改进的核心环节,这需求正驱动检测技术与晶圆测试图分析领域的创新。宏观缺陷早期
    的头像 发表于 08-19 13:48 941次阅读
    探秘晶圆宏观<b class='flag-5'>缺陷</b>:<b class='flag-5'>检测</b>技术升级与根源追踪新突破

    塑料注塑缺陷检测的创新解决方案

    面对具有复杂纹理和多样材质的注塑制品。美能光子湾针对这行业痛点,推出了ME-UD6300超景深显微镜,为塑料注塑缺陷检测带来了全新的解决方案。#Photonxb
    的头像 发表于 08-05 17:52 602次阅读
    塑料注塑<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的创新解决方案

    工业质检再升级:复杂网络检测模型破解多场景检测难题

    在工业视觉检测领域,缺陷类型多样、目标尺度差异大、图像质量参差不齐等问题,直是企业提升质检效率的拦路虎。阿丘科技最新发布《检测工具复杂网络
    的头像 发表于 07-16 15:52 583次阅读
    工业质检再升级:复杂网络<b class='flag-5'>检测</b>模型破解多场景<b class='flag-5'>检测</b>难题

    EL非监督分割白皮书丨5张OK图、1分钟建模、半小时落地的异常检测工具!

    ,阿丘科技全新发布《EL非监督分割白皮书》,揭秘款极致速度、零门槛操作、稳定可靠的AI质检神器,解决柔性产线换型慢、未知缺陷难捕捉等行业难题。传统检测技术的三大
    的头像 发表于 07-11 15:21 481次阅读
    EL非监督<b class='flag-5'>分割</b>白皮书丨5张OK图、1分钟建模、半小时落地的异常<b class='flag-5'>检测</b>工具!

    迅为RK3576开发板摄像头实时推理测试-ppseg 图像分割

    迅为RK3576开发板摄像头实时推理测试-ppseg 图像分割
    的头像 发表于 07-11 14:31 705次阅读
    迅为RK3576开发板摄像头实时推理测试-ppseg <b class='flag-5'>图像</b><b class='flag-5'>分割</b>

    【嘉楠堪智K230开发板试用体验】01 Studio K230开发板Test2——手掌,手势检测,字符检测

    识别与分析能力(如人脸识别、物体检测与追踪、场景理解等),远超基础图像处理功能,是实现智能视觉应用的关键硬件。 下面进入这部分的学习,同样我们采取几个例子看看 先是手掌检测 详细代码
    发表于 07-10 09:45

    【正点原子STM32MP257开发板试用】基于 DeepLab 模型的图像分割

    是谷歌团队提出的种用于语义分割的深度学习模型,属于 DeepLab 系列模型的第三代版本。它在图像语义分割任务中表现优异,能够高效地捕获图像
    发表于 06-21 21:11

    labview调用yolo目标检测分割、分类、obb

    labview调用yolo目标检测分割、分类、obb、pose深度学习,支持CPU和GPU推理,32/64位labview均可使用。 (yolov5~yolov12)
    发表于 03-31 16:28

    X-Ray检测设备能检测PCBA的哪些缺陷

    X-Ray检测设备可以检测PCB(电路板)的多种内部及外部缺陷,如果按照区域区分的话,主要能观测到下几类缺陷: 焊接
    的头像 发表于 02-08 11:36 1111次阅读

    方便面面饼外观检测:精准识别0.5mm²细微缺陷

    在上篇文章中,我们了解了食品行业在外观缺陷检测时的现有难点,并分享了阿丘科技对鹌鹑蛋进行外观缺陷检测时的典型场景案例,详细内容可查看《鹌鹑蛋的外观
    的头像 发表于 12-12 17:35 1563次阅读
    方便面面饼外观<b class='flag-5'>检测</b>:精准识别0.5mm²细微<b class='flag-5'>缺陷</b>