技本功丨互联网+工业视觉异常检测分析

2024-06-14 20:18

本文主要是介绍技本功丨互联网+工业视觉异常检测分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

胡丰——袋鼠云高级算法专家

袋鼠云人工智能实验室负责人。十年图像处理、模式识别、机器视觉等方面的研发工作,主要研究领域为:智能交通、工业视觉分析、OCR、视频智能质量诊断、智能球机跟踪、人脸等方向,发表第一作者发明专利十余篇、国际发明专利一篇。

我国工业互联网已经形成“三条途径”:一是打造智能工厂,提高企业内部生产效率,通过互联网技术以及一些相关的机器视觉、图象算法、模式识别的方式,提高企业的生产效率;二是打造智能产品,延伸企业外部的价值链;三是汇聚产业链资源,实现向平台运营的转变,打造数据驱动的生态运营能力。

 

基于互联网的条件下,结合工业场景,提出端加云的解决方案,方案如下图:

端+云的完整解决方案

 

在该解决方案部署中分为本地端云端。在本地端中分成两部分:一个是数据层,数据层在一些生产设备以及相应的业务系统中实时会场生成的数据;另一个是本地运行层,产生的数据经过本地运行层,运行层实时获取数据,获取数据之后,一方面进行数据的存储,另一方面对获取到的数据进行模型计算,计算完之后进行决策,决策后又可以进行下一轮的操作。

在云端接收离线的序列数据,在云端基于大数据平台进行一个模型分析及模型训练,训练之后把更新的模型再下发到本地进行更新,依次循环可以不断的提高系统能力及算法能力。

基于机器视觉的应用场景分析

人类对世界的认知非常简单,我们可以一眼看出一个水果是苹果还是橘子。但换成计算机,怎么写个程序让机器来分辨人和猫、苹果和橘子呢?实际上在我们考虑的过程中,可以基于以下几个方面进行思考,首先以我们最直观的方式来看,比如说颜色、形状、纹理、边缘轮廓等,转换成计算机,我们通过颜色直方图把最低的三个分量特征都提取出来,苹果是偏向红色,橘子是偏向橙色,这样可以分析出来;然后再通过形状,比如把某省地图轮廓提取出来作为一个特征,利用图象中心到轮廓的距离作为一个距离特征;再高一层次可以进行结构特征,基于底层的特征,一些边缘、形状进行一个结构分析。

最左边的结构特征实际上是一个心理学图,不同的人看到的维度不同,有一些人看到的是白色的一个酒杯,但是换成另外一些人去看,这是两个面对面的人脸,这种通过图象分析可以把结构提出来,然后右边菱形的结构,以及一些知识图库的纹理结构,都是结构特征。

深度学习提取特征

前面是传统的图象处理常用方法,采用基于深度学习的特征提取方法。深度学习的方法相对来说比较简单,就是把我们输入的图象输入网络,每个网络对不同的过程进行一个迭代训练。在我们的网络前期,像一些低级的特征比如简单的边缘纹理特征,在中间部分我们就可以学到一个相对高级一点的结构特征,比如说我们做人脸识别的时候,是可以把里面的一些眼睛、嘴巴、耳朵等提取出来,再往高处走可以得到,最后就可以把物体的模型给训练出来,比如说训练出人脸的大致轮廓,这是通过深度学习方法提取的特征。

异常检测分析

特征提取完之后,进行异常检测分析。图中目标是让我们在图里面去找出哪一个是与其他不一样?因为工业场景中会有一些异常的目标异常分析,异常分析跟上图是挺相似的,在工业中也是一样,我们就是要把异常目标给自动定位分类出来。

对于异常目标分析,首先是要进行一个模型训练,模型训练过程是这样的,先是对获取到的图象进行特征提取,比如说像一些颜色纹理、一些结构,甚至是用一些深度学习的方法自动去提取特征,提取特征之后建立模型,得到一个模型表达式,比如说我们模型可以用图中这个分布函数来表示,模型的分布形式跟我们建立的方法有关系,我们可能是用一些信息方法,也有可能是二维的曲面,或者多维的曲面。

以二维的平面为例,假设模型提取的特征为x1,x2 ,我们学到的模型是一个分类面,分类面里面有一个正常的样本,同时假设x1,x2正相关,即x1越大,x2也就越大,通过模型计算可以将红色的异常点自动检测出来。现在对待这种异常,在分类面之外我们可以自动的分出来。

模型训练完之后肯定要进行使用,使用的时候先把训练好的模型部署到产线上,产线上启动后实时对图象进行获取,然后进行特征提取,经过模型输出最终的决策。在一些产线的分析过程中,实时去监测一些关键的曲线,对这些曲线进行可视化的实时输出结果,比如图中这些曲线,我们在做的过程中的一些关键因素通过曲线的方式打印出来。

通过曲线可以去回判维系,比如说我们是哪一个产线,或者是哪一台机器出了问题,然后这个曲线跟历史相对应的会出现一些异常,利用曲线实时去决策,以及可以根据一些历史的信息去判断,这些机器是什么时候开始出现这些故障的。

图像场景分析

另外,在我们一些实际案例中会碰到一些比较恶劣的环境,比如说一些环境下,在生产产线上有一些是有毒的,还有高温、高压、高辐射的一些场景,这种情况用人眼或者一些可见光的摄像头是很难观察出来的。我们采用红外热感相机进行分析,获取到红外热感应的图象结果图,对这个结果图再进行图象分割,分割完之后就可以得到对应的容器位置,然后我们对容器的位置内部再进行一个异常分析,就可以得到异常区域,然后对异常区域进行分类,因为杂质有多种多样,有液体的、固体的,最终可以得到一个决策结果,可以返推回去是什么原因造成这个结果的。

我们还有产线管道热辐射管道监控,在产线有一些燃油传输管道,还有一些特殊液体的传输管道,我们要实时去监控,液体经过有一个温度,如果温度过高,很容易会造成产线管道的快速老化,一些老化之后会爆开或者裂开渗漏出来,我们采用红外方式获取一个实时图象,然后对图象再进行分割,之后再进行一个标注,像蓝色代表数字方向的一个管道,绿色是横向的一个管道。标注完之后对应标注管道进行曲线的监控,得到右边的工作监控图,通过这个图就可以知道管道的实时温度,以及相关的监控值。这样可以继续帮助厂商从历史体系图中查看相关的情况。

写在文末:

11月3日AICUG人工智能技术沙龙网易专场活动中,袋长老胡丰为大家分享了《工业品缺陷异常检测及识别》的内容,此篇文章也是基于演讲内容来撰写。

这篇关于技本功丨互联网+工业视觉异常检测分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061409

相关文章

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序