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

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

3天内不再提示

TensorFlow 在工业图像视觉领域的应用经验

Tensorflowers 来源:TensorFlow 作者:TensorFlow 2021-02-04 14:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我是一名来自苏州的机器视觉开发者,从事传统的机器视觉算法开发有 11 年了,从 2018 年开始,因为一些复杂微弱的瑕疵检测项目遇到的传统算法瓶颈,开始接触到了深度学习,并选择了使用 TensorFlow,期间也是不断摸索前进,同时得到了很多行业大佬的指导,TensorFlow 优秀的性能和快速的模型训练部署,上手起来感受非常舒适。

使用 TensorFlow 以后,确实提升了生产现场的检查能力,提高了生产产品的品质和生产效率,主要的提升是 误报警率的下降、微弱特征的识别率和检查结果分类的精准化。

借此机会,我想总结下个人的关于 TensorFlow 在工业图像视觉领域的应用经验。

工业 CV 领域的深度学习应用和互联网行业或者研发类行业,还是有一定差异的,主要在以下几个方面:

1. 工业图像的主要特点

工业领域,不管是 3C、半导体、面板、SMD、汽车,还是饮料食品、标签、纺织等,不管检测对象是表面瑕疵划痕污染、印刷喷涂异常、组装灌装测量,还是读码和字符识别,都有一个和我们日常手机摄影头拍摄照片不一样的地方。那就是,工业取像使用更稳定的视觉硬件,包括工业相机、工业镜头和工业光源,会尽可能地打造一个稳定的成像环境,图像的背景和目标一般在位置分布和灰度上不会有太多动态的变化,但是不排除复杂的纹理特征和复杂的轮廓边界,而这也是深度学习最契合的应用场景。

因此,基于工业上的图像集的特点,如果有较好推理应用的模成熟型的话,在训练好的模型基础上,做迁移学习,可能会有意外的好效果。

2. 负样本严重不足

正常的工业生产中,良品率一般是非常高的 (>90%),因此负样本的收集非常困难,有些品质要求严格的产品,可能 1 个月只会产生 10 几个不良,这样就对训练集的均衡提出了挑战。

开发者需要自主开发图像预处理算法对样本进行增强,不能局限于 TensorFlow 或 OpenCV 自带的的一些传统的图像集样本增强算法。有时候甚至会减少或者取消预测集和测试集,以最大限度地喂给模型训练。

另一方面,生产现场也是允许前期一定的测试成本和评价周期,允许粗糙版本先上线,边生产边优化升级。

3. 深度学习如何适配老旧的系统

众所周知,因为设备更新和维护成本非常高,工业设备的迭代速度是很低的,设备稳定性很好。

这也造成一个问题,目前的工业领域的 PC 系统大多老旧,虽然是很稳定的工控机,抗击恶劣环境和连续工业性能很强,但 PC 配置大多较低,系统版本也不高。经常会遇到 10 年前的双核处理器,搭配 win2000 操作系统,这也给深度学习的部署应用提出了一些难题。

一般的解决方案是通过在设备外部搭建深度学习服务器,和产线设备组成内网文件共享和实时通讯,实时地读取设备内生成的图像进行推理,并将推理结果通过网络反馈设备。

2648af84-6295-11eb-8b86-12bb97331649.png

4. 模型部署推理如何和现有程序集成

工业上使用的检查程序大多数是基于 .NET 或者 C++,和较流行的 Python 不同,而且开发者也无法再切换原有程序的语言,因为涉及到 PC 内很多运动控制、各种板卡和通讯交互等外部依赖的商业类库,更换语言的成本很高,也几乎不可能完成。

目前一般 2 种方式对应:

通过 post 通讯,Python上训练和部署,并通过 Flask 服务和原程序通讯交互;

或者采用 C++ 版本或者 .NET 版本支持 GPU 的 TensorFlow 扩展,直接集成到现在程序中,进行训练和推理,实时内存中共享图像变量和结果。

个人建议采用第 2 种方式,开发起来更快高效。

5. 模型不需要前沿 需要稳定高效

工业上的算法应用一般略微落后于前沿技术,以稳定高效为主。

如图像处理方面,一般还是使用一些传统的经典的算法,以深度学习做图像分类为例,简单的项目使用 LeNet 和 AlexNet 网络就足够,复杂的项目一般使用到 VGG Net 就可以。

但也有部分较前沿的技术应用,比如超分算法,对图像进行扩展以增加细节,帮助提升分类精准性。

6. 算法落地的配套工具开发量占比高

工业中一个完整项目的落地,需要交付一整套系统,其中生产人员的便捷应用和人性化的交互UI也是比较重要的。

因此,深度学习在工业现场应用,很大一部分开发工作量在于配套的工具。例如:数据集标注制作、模型训练、模型快速部署和训练推理过程的可视化,这些都需要封装成易用稳定的工具,交付客户时可以让无编程经验的客户也能快速开展深度学习的业务。

7. 传统算法为主 深度学习辅助

虽然现在深度学习技术已经看上去无所不能,但在工业应用上,还是主要以传统算法为主,深度学习辅助的模式。这并非是孰是孰非的问题,而是当前时期,传统视觉算法在兼顾运算速度、像素计算精度和算法开发速度上,还是略微占优势。

而深度学习一般作为补充,弥补传统算法在复杂纹理和复杂特征描述上的不足,将传统算法达到的 90% 准确率,助推至 95%。

以上,是我个人的一些工业应用中的心得,接下来,和大家分享一下我自己学习 TensorFlow 2.x 的一些经验和故事。

最初,我是在 B 站偶然的看到 Google 的官方账号的:Google中国(https://space.bilibili.com/64169458),然后在这里学习了一些 TensorFlow 一手视频资料,同时结合 TensorFlow 官网的 API 手册进行边学边用。

然后,在年初的 TensorFlow Dev Summit 2020 上,学习了解到了很多东西。包括 TensorFlow 2.2 的新特性,TensorFlow 致力打造的生态,TFUG(TensorFlow User Groups),以及 TensorFlow Certificate开发者认证体系等。

在这次开发者大会后,我开始接触并使用 TensorFlow 2.x,工作中的项目也逐渐从 1.x 转换至 2.x。同时,我也关注了 TensorFlow 官方微信公众号,加入了 TFUG 社区成为其中一员。

关注 TensorFlow 官方公众号真的给我带来了很多一手新鲜的资讯和前沿技术信息。通过这个公众号,我参加了第 1 期 TensorFlow 机器学习 Study Jam课程,并获得第 1 批通过在线考试的证书卡片和精美定制背包礼品。之后,我也陆续参加了后续的一系列 Study Jam 课程,以及关注每一次的视频直播,这让我收获颇丰。

在课程学习中,我发现了 GDE 李锡涵大佬的 “简单粗暴 TensorFlow2” 的在线系列教程,并注册成为第 1 批早期论坛会员 (tf.wiki),在论坛上和大家积极交流互动。“简单粗暴 TensorFlow2” 一直是我强烈推荐给身边同事好友的,我认为是快速入门 TensorFlow 最好的教材,也特别适合一些偏现场应用的攻城狮们,可以低学习成本快速进入深度学习殿堂。

也是在 2020 年初的 TensorFlow Dev Summit上,我了解到了 TensorFlow 开发者认证。在国内和国外一些前几位通过 TF 认证的大佬们的指导帮助下,我系统地学习了 Coursera 与 deeplearning.ai 合作的,由 Laurence Moroney 老师录制的著名课程 “TensorFlow In Practice 专项课程”,并且认真准备全部满分通过了该课程的所有课后练习和考试,顺利拿到了该课程的全部结业认证证书。通过接下来的一个月每天晚上下班后在家的复习备考,我也顺利通过 TensorFlow Certificate 认证,成为国内前几位拿到证书的开发者。

为了帮助国内更多地了解 TF 认证,也方便大家交流学习,将大佬们无私指导我的精神传承下去,我利用业余时间翻译了官方的考试手册,整理出中文版认证考试手册方便大家了解,并建立交流群,方便大家交流学习,目前已经有好多群友陆续通过认证。

同时,我也是一位 .NET 开发者,如何让 TensorFlow 2.x 和 .NET 框架紧密集成,也是我在工作中遇到的挑战。通过 GitHub 上查找资源,我认识了 SciSharp 社区的 TensorFlow .Net 开发者,并加入 SciSharp 社区,一起帮忙广大 .NET 开发者更方便地使用 TensorFlow 2.x,通过半年多的努力,目前 TensorFlow .NET 终于绑定升级到 TensorFlow 2.3,实现了大部分的 2.x API,可以十分快速地使用 C# 进行 TensorFlow 的项目应用。

以上,就是我在 2020 年学习 TensorFlow 2 的一些经验分享,主要的节点是关注了 TesnsorFlow 官方公众号,通过上面的新鲜信息资讯,进一步发现了大量优秀的学习资源,大大拓宽了自己的学习视野,也认识了很多大牛们。

以上,是个人的一些学习经历分享,欢迎大家交流指正!

原文标题:社区分享 | TensorFlow 2 学习和工业 CV 领域应用的心得

文章出处:【微信公众号:TensorFlow】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    163

    文章

    4728

    浏览量

    124998
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123900

原文标题:社区分享 | TensorFlow 2 学习和工业 CV 领域应用的心得

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    USB3.0/PCIe 工业图像采集卡:高速接口兼容,即插即用便捷部署

    工业图像采集作为机器视觉工业自动化、科学研究等领域的重要环节,其效率与质量直接影响着最终产品的性能和可靠性。随着
    的头像 发表于 12-03 15:31 91次阅读
    USB3.0/PCIe <b class='flag-5'>工业</b><b class='flag-5'>图像</b>采集卡:高速接口兼容,即插即用便捷部署

    onsemi AR0235CS图像传感器:工业视觉领域的新选择

    电子工程领域图像传感器是许多应用的核心组件,特别是工业检测、扫描等需要捕捉清晰图像的场景中
    的头像 发表于 11-26 15:36 178次阅读
    onsemi AR0235CS<b class='flag-5'>图像</b>传感器:<b class='flag-5'>工业</b><b class='flag-5'>视觉</b><b class='flag-5'>领域</b>的新选择

    工业4.0的“数据桥梁”:图像采集卡如何撑起智能制造的视觉核心

    工业4.0的本质是数据驱动的智能制造。在这个由物联网、大数据和人工智能构成的智慧工厂里,机器视觉系统扮演着“火眼金睛”的角色,而图像采集卡,正是连接这双“眼睛”与“大脑”(中央处理系统)不可或缺
    的头像 发表于 11-17 16:01 760次阅读
    <b class='flag-5'>工业</b>4.0的“数据桥梁”:<b class='flag-5'>图像</b>采集卡如何撑起智能制造的<b class='flag-5'>视觉</b>核心

    工业图像采集卡:机器视觉的“信号中枢”

    一、定位:连接物理视界与数字大脑的重要枢纽工业自动化生产线的精密检测工位上,当高速相机捕捉到PCB板的微米级纹路时,一个常被忽视却至关重要的硬件正在完成关键转换——工业图像采集卡如同
    的头像 发表于 11-06 15:09 143次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>图像</b>采集卡:机器<b class='flag-5'>视觉</b>的“信号中枢”

    图像采集卡:连接镜头与机器的“视觉神经”,释放工业智能核心动力

    什么是图像采集卡? 身处机器视觉、智能制造、医疗影像等行业前沿的你,是否常听到“图像采集卡”这个词?它绝非简单的配件,而是现代工业应用中的关键“视觉
    的头像 发表于 09-28 16:40 475次阅读
    <b class='flag-5'>图像</b>采集卡:连接镜头与机器的“<b class='flag-5'>视觉</b>神经”,释放<b class='flag-5'>工业</b>智能核心动力

    图像采集卡与工业相机:机器视觉“双剑合璧”的效能解析

    工业自动化、科学研究和安防监控等关键领域,“看得清”是无数决策的基础。机器视觉系统如同为机器赋予慧眼,而在这双慧眼中,工业相机与
    的头像 发表于 08-19 12:39 544次阅读
    <b class='flag-5'>图像</b>采集卡与<b class='flag-5'>工业</b>相机:机器<b class='flag-5'>视觉</b>“双剑合璧”的效能解析

    一文带你了解什么是机器视觉网卡

    机器视觉网卡通常指的是机器视觉系统中用于连接工业相机到计算机的以太网卡。它的核心作用是实现高速、稳定、低延迟的图像数据传输。以下是关于机器
    的头像 发表于 07-09 16:18 416次阅读
    一文带你了解什么是机器<b class='flag-5'>视觉</b>网卡

    工业相机图像采集卡:技术剖析、应用场景与未来发展

    工业相机图像采集卡,作为连接工业相机与计算机系统的桥梁,机器视觉领域扮演着至关重要的角色。它将
    的头像 发表于 05-28 13:49 535次阅读
    <b class='flag-5'>工业</b>相机<b class='flag-5'>图像</b>采集卡:技术剖析、应用场景与未来发展

    工业相机图像采集卡:机器视觉的核心枢纽

    工业相机图像采集卡是用于连接工业相机与计算机的关键硬件设备,主要负责将相机输出的图像信号转换为计算机可处理的数字信号,并实现高速、稳定的数据传输。它在
    的头像 发表于 05-21 12:13 537次阅读
    <b class='flag-5'>工业</b>相机<b class='flag-5'>图像</b>采集卡:机器<b class='flag-5'>视觉</b>的核心枢纽

    EtherCAT科普系列(8):EtherCAT技术机器视觉领域的应用

    机器视觉是基于软件与硬件的组合,通过光学装置和非接触式的传感器自动地接受一个真实物体的图像,并利用软件算法处理图像以获得所需信息或用于控制机器人运动的装置。机器视觉可以赋予机器人及自动
    的头像 发表于 05-15 17:09 1279次阅读
    EtherCAT科普系列(8):EtherCAT技术<b class='flag-5'>在</b>机器<b class='flag-5'>视觉</b><b class='flag-5'>领域</b>的应用

    工业相机:机器视觉的“核心之眼”,四大分类详解

    智能制造和自动化生产中,工业相机作为机器视觉系统的核心组件,凭借其高精度、高稳定性和快速响应能力,被广泛应用于产品质量检测、尺寸测量、定位识别等领域。它通常与
    的头像 发表于 05-13 16:30 1425次阅读
    <b class='flag-5'>工业</b>相机:机器<b class='flag-5'>视觉</b>的“核心之眼”,四大分类详解

    解决视觉感知难题:门控视觉技术汽车领域的应用

    本文探讨了友思特门控视觉技术夜间驾驶中的应用,包括其基本概念、原理和应用场景。该技术通过近红外成像和智能“门控”算法,可以各种光照和天气条件下提供清晰、高对比度的图像,从而有效检测
    的头像 发表于 05-13 11:20 716次阅读
    解决<b class='flag-5'>视觉</b>感知难题:门控<b class='flag-5'>视觉</b>技术<b class='flag-5'>在</b>汽车<b class='flag-5'>领域</b>的应用

    基于LockAI视觉识别模块:C++图像的基本运算

    图像处理中,理解图像的基本操作是掌握计算机视觉技术的关键。本文章将介绍基于LockAI视觉识别模块下OpenCV中
    的头像 发表于 05-06 16:20 527次阅读
    基于LockAI<b class='flag-5'>视觉</b>识别模块:C++<b class='flag-5'>图像</b>的基本运算

    工业图像采集卡:机器视觉的基石与智能制造的引擎

    工业图像采集卡,作为机器视觉系统中的关键组成部分,其重要性不言而喻。它如同机器的“眼睛”,负责捕捉现实世界的图像信息,并将其转化为可供计算机处理的数据,为后续的
    的头像 发表于 03-10 13:25 621次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>图像</b>采集卡:机器<b class='flag-5'>视觉</b>的基石与智能制造的引擎

    红外热成像技术个人视觉领域的创新应用

    红外热成像技术,一项原本应用于航空、医疗等高端领域的技术,正逐步进入个人消费市场,带来了全新的视觉体验。由于其能够感知物体发出的红外辐射并将其转化为图像的特点,红外热成像突破了传统视觉
    的头像 发表于 02-19 15:25 943次阅读
    红外热成像技术<b class='flag-5'>在</b>个人<b class='flag-5'>视觉</b><b class='flag-5'>领域</b>的创新应用