点击上方“3DCVer”,选择“星标”

干货第一时间送达

生产制造商对质量的要求不断提高,以满足客户的需求。通常需要手动检查以确保产品质量,但这需要大量成本,并且可能导致生产瓶颈,生产率降低等问题。

与其他用于消费者应用程序的计算机视觉问题相比,用于工业应用程序的缺陷检查具有独特的特征和挑战:

-缺少带标记、带注释和管理好的数据

-利益缺陷是对比度低的结构

-多尺度缺陷尺寸

-非常不对称的数据集,具有非常低的真实缺陷。

本文中详细介绍的U-Net方法避免了劳动密集型和潜在的脆弱的特征工程,而是允许数据驱动的模型自动学习健壮的特征表示,以生成最先进的检测和分割结果。

传统质量检验存在的问题

随着全球竞争的加剧,制造商正寻求开发智能工厂战略,利用先进的信息技术(IT)和操作技术(OT)来促进和自动化他们的制造过程。为了实现这一目标,制造系统常常需要自动地观察和理解世界。

光学质量检测是保证高精度制造过程质量控制的常用方法之一。但是,这一步仍然是实现完全自动化和集成的瓶颈。质量检查可能包括一系列的手工操作——包括视觉确认,以确保组件的颜色、形状、纹理和位置是正确的——这是非常具有挑战性的,因为产品差异很大。质量检验员必须不断适应不同产品的不同质量要求,这往往导致不准确和质量不一致。随着产量的不断增加,质量检验员经常出现眼疲劳等健康问题,这是由于长时间的重复产品检查,使得更多的有缺陷的部件通过,应该通过的失效部件通过。人工检查受到不断增加的成本、培训时间和有限的资源的限制,使其成为具有挑战性的解决方案。用人工智能进行缺陷自动检测正在开始革新制造业。

传统的计算机视觉方法通常用于生产自动化光学检测(AOI)机器,需要大量的人力和资本投入。

缺陷可以是视觉上明显的或细微的。这使得在各种环境下,如光照条件、表面纹理等,对所有缺陷进行鲁棒检测变得非常具有挑战性。

常见的工业缺陷是均质表面的局部异常。以前自动化检测和分类这些异常的方法可以分为四类:

-基于缺陷形态的结构

-基于统计纹理测量

-基于手工制作的转换过滤器

-基于机器学习模型

大多数传统的方法都是用手工制作的特性设计的,这使得它们依赖于应用程序,并且不能推广或扩展到新的应用程序。这些传统的方法通常也有很差的灵活性,常常需要领域专家昂贵而耗时的手工特征工程。在nvidia的一个生产案例中,pcba制造中的传统aoi机器以低精度产生高误报(失败的pcbs)。对于工业应用,误报和低精度的成本可能非常高。低误报率和高精度之间的折衷使得传统的cv算法具有很大的挑战性,从而以高误报率告终。深度学习自动找到最佳决策边界,在误报和精确性之间取得平衡,具有巨大的价值。

深度学习如何解决这些问题

事实证明,深度学习(尤其是CNN)对于图像检测和分类非常有效,现在正被用于解决工业检查任务。图1中的NVIDIA DL平台已成功地以端到端的方式成功应用于检测和分割缺陷,以快速开发自动工业检测。所有进程都基于NGC优化的docker映像构建,以实现快速迭代。

一种流行的、有效的神经网络结构——最初是为生物医学图像分割提出的——是U-Net结构,它由编码器、解码器和跳连接层组成。特别地,这个演示使用了U-Net体系结构和DAGM 2007数据集(图2)。为了解决真实缺陷数据的不足,将DAGM数据集的所有六个缺陷类统一为一个类。该组合训练集用于演示U-Net的泛化能力。我们建立了一个能够分割所有缺陷类的U-Net模型。这种工艺在实际生产缺陷检测中较为常见。为了防止对小型DAGM数据集的过度拟合,我们使用与U-Net相同的体系结构,并对内核的数量进行了实验,以使模型适合我们的数据集。

图2:来自DAGM数据集的工业制造缺陷示例。

第一步是用U-Net模型拟合数据集,即,在第一层有8个内核数,然后在下一层将内核数加倍。然后观察训练学习曲线的损失,决定是否进一步增加模型的复杂度。这一步是为了确保我们有一个有足够能力识别所有缺陷的模型。一旦我们确信模型足够复杂以适合数据集,我们就会添加正则化技术,例如删除层、L1或L2正则化,甚至尝试增加数据集。改进后的U-Net使用二进制交叉熵和Adam优化器进行训练,学习速率从1e-3开始。在缺乏标记数据和需要快速性能的情况下,我们证明U-Net能够成功地用正则化技术泛化性能,是工业检测中用于缺陷分割的合适模型。

在一个分割模型中,比如U-Net,输出是一组概率。通过对每个像素的这些概率进行阈值处理,为每个像素分配defect类,并确定数据集的精度和召回率。确定正确的阈值,以偏差的精度或召回是完全依赖于应用程序。在生产情况下,缺陷要小得多,通常在百万分之十到百万分之百(DPPM)范围内。在这个非常倾斜的数据集中,精确回忆值对阈值非常敏感。这就需要在概率阈值上进行扫频实验,进行精度和回忆。如果减少误报(提高准确率)更重要,那么在平衡精确召回的权衡时,应该提高概率阈值。通过U-net学习内部表示,允许定义决策边界,这已被证明可以极大地减少对真阳性的敏感性增加和假阳性率显著降低之间的权衡。

对于工业应用程序,误报的成本可能非常高,这可能是一个巨大的价值来源。领域专家可调阈值也是工业检查所需要的,这使得人工智能具有可解释性,避免了DL的输入-输出黑箱关系。这个在DL之后具有可调阈值的两步过程可以应用于许多用例,包括医疗成像、视频监视和自治机器。第一步使用U-Net从输入中提取信息,然后第二步根据前一步的信息做出最后的决策。

为了确保DL训练和推理的快速部署,我们使用了NGC来实现Volta和Turing GPU优化的TensorFlow (TF)和TensorRT (TRT) docker容器,以及基于边缘的解决方案Jetson AGX Xavier和Nano。如果应用软件工程师或高级用户能够适应将DL模型引入到可能没有TensorFlow框架的环境中所需要的额外步骤,则鼓励他们使用本机TRT以获得最大的性能。我们在实验中使用了TensorRT NGC容器。数据科学家或快速原型用户应该在不离开TF框架的情况下运行优化的加速推理。我们使用基于TRT集成的TensorFlow NGC容器的TF - TRT推断。TF-TRT与TRT之间的权衡是,TF-TRT易于使用,并与TensorFlow工作流集成以实现快速原型设计。一旦一个想法被证实可以与TF-TRT一起工作,TRT就可以用于实现最大的性能。

总结

利用U-Net在公共数据集上构建端到端通用缺陷检查模型,使用NVIDIA DL平台进行端到端培训和推理。召回率为96.38%,正确率为99.25%,误报率为0.11%。在V100 gpu和TensorRT 4上,通过集成了NVIDIA TensorRT引擎的TensorFlow容器,推理吞吐量增加了2.1倍。通过使用NGC优化TRT容器,推理吞吐量比本机TF进一步提高了8.6倍。为了高效节能和小形态因子推理部署,使用了T4 gpu和TensorRT 5。与基于cpu的推理性能相比,TF-TRT的性能提高了11.9倍,NVIDIA Turing Tensor core的INT8精度提高了23.5倍。T4 GPU封装了一个节能70瓦,小的PCIe形式的因素,优化了向外扩展的服务器和目的建立提供最先进的人工智能。

对于基于边缘、嵌入式和远程离线应用程序,我们采用了相同的代码,并以嵌入式gpu的NVIDIA Jetson家族为目标。Jetson Nano平台的吞吐量为18 FPS, Jetson AGX Xavier平台的吞吐量为228.1 FPS,是Jetson Nano平台的12.7倍。这些结果是使用天然TRT获得的。对于本机TRT,像Tensorflow这样的DL框架不需要安装在边缘设备上。这对它们很重要,因为系统的能力、系统大小、计算能力和磁盘存储都是有限的。此外,自动混合精度(AMP), DNN图优化FP16和FP32张量核心上的Volta和图灵gpu是全自动的,易于使用,具有很大的性能。有了放大器,U-net性能进一步提高了17%的培训和30%的测试。(来源于Nvidia developer blog)

转载自:新机器视觉

上述内容,如有侵犯版权,请联系作者,会自行删文。

重磅!3DCVer-学术交流群已成立

欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加群或投稿

▲长按关注我们

使用NVIDIA端到端深度学习平台进行缺陷自动检测相关推荐

  1. 【项目实战课】从零掌握安卓端Pytorch原生深度学习模型部署

    欢迎大家来到我们的项目实战课,本期内容是<从零掌握安卓端Pytorch原生深度学习模型部署>.所谓项目课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战 ...

  2. 超分辨率分析(三)--端到端监督类深度学习方案综述

    转自:https://zhuanlan.zhihu.com/p/31664818 超分辨率技术(Super-Resolution, SR)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备 ...

  3. 独家揭秘:微博深度学习平台如何支撑4亿用户愉快吃瓜?

    随着深度学习在微博业务场景中的广泛使用,深度学习平台也遇到一些挑战:在离线训练方面,各业务方需求丰富多样,任务管理纷繁复杂,大数据与大模型带来训练时长的压力:在线推理方面,基于模型服务的特殊性,如何在 ...

  4. 七牛云李朝光:深度学习平台AVA及海量资源管理

    杭州2018年7月11日电 /美通社/ -- 5月26 日下午,在第二十八期七牛云架构师实践日,李朝光进行了题为<深度学习平台 AVA 及海量资源管理>的实战分享.本文是对演讲内容的整理. ...

  5. 从0开始建立谷歌云深度学习平台

    对于研究深度学习的朋友来说,GPU服务器是必不可少的,但是对于很多朋友来说可能没有现成的昂贵GPU服务器供使用,因此利用云服务器来训练模型成为另一个选型.谷歌云较其他云服务器(AWS,阿里云等等)的优 ...

  6. 第五十六期:百度CTO王海峰CNCC2019演讲:深度学习平台支撑产业智能化

    百度CTO王海峰在会上发表题为<深度学习平台支撑产业智能化>的演讲,分享了百度关于深度学习技术推动人工智能发展及产业化应用的思考,并深度解读百度飞桨深度学习平台的优势,以及与百度智能云结合 ...

  7. 深度学习平台的未来:谁会赢得下半场?

    今天这篇文章无意引战,只想从历史发展的角度来谈谈深度学习大背景下的开发工具变迁,以及对未来发展趋势的想象. TensorFlow:无力回天的深度学习里程碑 不知道有多少小伙伴是2017年以前入坑深度学 ...

  8. 统信 UOS 适配支持百度飞桨 AI 深度学习平台;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  9. 一口气发布11项新升级,免费送出1亿元算力:国产深度学习平台PaddlePaddle大更新...

    郭一璞 夏乙 发自 香格里拉 量子位 出品 | 公众号 QbitAI 深度学习框架里的唯一国货PaddlePaddle,集中迎来一大波更新. 百度PaddlePaddle全景图也首次曝光. 在框架核心 ...

  10. 第九章:深度学习平台及框架

    目录 ➢ Part One.深度学习平台概览 ➢一.深度学习平台框架对照 ➢ Part Two.TensorFlow ➢一.TensorFlow的起源 ➢二.TensorFlow中的张量 ➢三.Ten ...

最新文章

  1. C++——auto、decltype、返回类型后置、模板别名:using =、nullptr
  2. python之多线程编程(一):基本介绍
  3. Linux-Android启动之zImage生成过程详解
  4. qMISPlat入门级使用问题解答一
  5. 大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计
  6. Mac OSX下的nano编辑器下载设置
  7. Python批量提取Word文件题库中的答案
  8. canvas的基础使用。
  9. SCALA环境搭建(2)_scala源文件编写和运行---大数据之_SCALA工作笔记005
  10. three.js模板
  11. 祝贺MindV进入香港国际软件大奖赛100强
  12. 2022-2028全球与中国卫星地面网络科技市场现状及未来发展趋势
  13. 北大青鸟python教程_北大青鸟python课程六大优势
  14. ppt如何替换其他mo ban_“华南师范大学”专属PPT模板来了!华南师大同学们的PPT我们承包了!...
  15. 同一包(package)下,两个不同类的调用操作详解
  16. 那些让我印象深刻的bug--04
  17. 踩坑到怀疑人生:win10下tensorRT加速YOLOV5
  18. 全国手机短信中心号码
  19. ASCII 编码对照表 一览表
  20. html仪表盘模版,【Minton v1.0.0】管理后台仪表盘HTML5模板

热门文章

  1. Python中文转拼音代码(支持全拼和首字母缩写)
  2. Microsoft SQL Server Query Processor Internals and Architecture
  3. 安装apache-2.2.6, php-5.2.5, mysql-5.0.2的过程
  4. IDEA集成Git使用教程
  5. 设备和驱动器中删除空白图标
  6. 淘宝最新签名算法分析(1)
  7. matplotlib官方文档pdf_Matplotlib知识
  8. 3842开关电源完整原理图_开关电源的电路看不懂怎么办?看完本篇就简单了
  9. python策略模式包含角色_Python 之策略模式
  10. oracle聚合字符串,Oracle 聚合字符串