【专利】一种光伏产品缺陷检测AI深度学习算法

申请号CN202410053849.9
公开号(公开)CN118037635A
申请日2024.01.12
申请人(公开)超音速人工智能科技股份有限公司
发明人(公开)张俊峰(总); 叶长春(总); 廖绍伟

摘要

本发明公开一种光伏产品缺陷检测AI深度学习算法,涉及AI算法领域。该光伏产品缺陷检测AI深度学习算法,采用深度卷积神经网络作为预训练模型,使用特征金字塔网络结构FPN对预训练模型得到的不同尺度的特征图进行融合,采用区域提议网络RPN在特征图上生成候选框,该光伏产品缺陷检测AI深度学习算法通过使用预训练模型提取图像特征,使用FPN融合多尺度特征,使用RPN提取候选框,使用ROIAlign抽取局部特征,使用分类、回归、FCN进行缺陷分类、位置回归以及掩膜信息提取,对缺陷的分类以及输出缺陷效果的准确性好,对缺陷的定位精度高,对缺陷的描述准确且全面,从而提高了在光伏产品加工中,对产品的缺陷检测效果。

技术背景

硅光伏电池的质量直接影响到整个光伏系统的效率,在硅光伏电池的工业生产制造和光伏电池或组件的使用过程,缺陷和损坏是不可避免的,因此需要使用检测设备来对产品进行缺陷检测。
随着计算机AI发展,目前的无接触式光伏产品缺陷检测装置均使用学习算法,利用建立模型和训练模型的方式来进行产品图片的处理,输出产品的缺陷,形成检测,传统的算法对缺陷的分类以及输出缺陷效果的准确性不够好,对缺陷的定位精度不够高,因此对缺陷的描述不够准确和全面,从而降低了在光伏产品加工过程中对产品的缺陷检测效果,针对现有技术的不足,本发明提供了一种光伏产品缺陷检测AI深度学习算法,以解决上述问题。

我的理解

第一步:采用深度卷积神经网络作为预训练模型,对输入的光伏产品图像进行特征提取,获取图像的高层语义信息,得到不同尺度的特征图;首先选择适用于光伏产品缺陷检测任务的预训练模型,如ResNet、VGG等,然后,将预训练模型导入到算法中,并将待检测的光伏产品缺陷图像输入到模型中,通过前向传播,可以得到模型的中间层输出,即特征图。这些特征图包含了图像的高级语义特征。
通过使用预训练模型提取图像特征,可以避免从零开始训练模型的复杂过程,同时还可以利用预训练模型在大规模数据集上学习到的丰富特征,提高光伏产品缺陷检测的准确性和效率。
第二步:使用特征金字塔网络结构FPN对预训练模型得到的不同尺度的特征图进行融合,增强模型对不同尺寸产品缺陷的检测能力;利用特征金字塔网络融合来自不同尺度的特征图,同时利用低层特征图的空间信息和高层特征图的语义信息,将这些特征图进行融合,融合后的特征图具有更好的语义信息和空间分辨率,有助于更准确地检测光伏产品缺陷。
更进一步的,在步骤S3中,使用区域生成网络来提取候选框,RPN网络得到所有anchors的分类、回归信息,RPN基于特征图,通过滑动窗口的方式在不同位置生成候选框,并计算每个候选框的得分,得分高的候选框被认为是可能包含缺陷的区域。
第三步:采用区域提议网络RPN在特征图上生成候选框,这些候选框涵盖了存在缺陷的区域和信息,以实现后续产品的缺陷快速检测;
第四步:使用ROIAlign技术从候选框中抽取出局部特征,以供后续的分类和回归任务使用;使用ROIAlign操作来抽取候选框内的局部特征,根据RPN网络输出的分类、回归信息,经过NMS得到最终的ROIs,ROIAlign通过双线性插值的方式,将候选框内的像素映射到固定大小的特征图上,并进行采样,得到固定长度的特征向量,这些特征向量包含了候选框内的局部特征信息。
第五步:利用全卷积网络FCN对局部特征进行分类,并同时进行回归操作以精确定位缺陷的位置;对筛选出来的ROIs进行分类、回归、mask分割操作,使用分类器对候选框进行缺陷分类,分类器将局部特征作为输入,输出每个候选框属于不同缺陷类别的概率,分类器可以是传统的机器学习方法,如支持向量机SVM,分类器也可以是深度学习方法,如卷积神经网络CNN;
步骤S6:除了分类和位置回归外,还利用FCN从局部特征中提取掩膜信息,以得到缺陷的精确形状和大小。
在图像处理中,卷积神经网络CNN提取的特征比之前的手工特征效果更好,这是由于CNN特殊的组织结构来决定的,卷积层和池化层的共同作用使得CNN能提取出图像中较好的特征。卷积神经网络的网络模型多种多样,但一个卷积神经网络模型一般由若干个卷积层、池化层和全连接层组成。卷积层的作用是提取图像的特征;池化层的作用是对特征进行抽样,可以使用较少训练参数,同时还可以减轻网络模型的过拟合程度。卷积层和池化层一般交替出现在网络中,称一个卷积层加一个池化层为一个特征提取过程,但是并不是每个卷积层后都会跟池化层,大部分网络只有三层池化层。网络的最后一般为1~2层全连接层,全连接层负责把提取的特征图连接起来,最后通过分类器得到最终的分类结果。
特别公开的,在所述步骤S6中,通过位置回归,根据分类结果和候选框的位置信息,对缺陷的位置进行进一步的调整和修正,以提高缺陷的定位精度,同时,根据FCN得到的掩膜信息,可以进一步提取缺陷的形状和轮廓等信息,以便更全面地描述缺陷。
FCN指的是全卷积网络,是深度学习中用于图像处理任务的一种重要架构,相比于传统的卷积神经网络CNN,FCN不仅能够识别图像中的对象,还能在像素级别对图像进行预测,如图像分割、图像生成等。

扩展阅读

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771

如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

相关推荐

我想对大家说的话
《喜缺全书算法册》以原理、正确性证明、总结为主。
按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全国计算机二级C++题库笔记

全国计算机二级C题库笔记 Ⅰ. 选择题专项训练1 公共基础部分2 二级C程序设计第1~4章》每章标题1. C标识符命名规则2. 面向对象的三个主要特征3. C的四个开发步骤4. 关于类和对象的叙述5. !和&&的作用6. C枚举类型初值问题7. ASCII码对照表8. 运算符两边的数据类型&…

linux高级编程(I/O)

fputc int fputc(int c, FILE *stream); 功能: 向流中写入一个字符 参数: c:要写入的字符 stream:文件流指针 返回值: 成功返回写入的字符ASCII码值 失败返回EOF fgetc int fgetc(FILE *stream); 功能: 从流中读取一个字符 参数: stream:文件流…

SAPUI5基础知识8 - 模块(Module)的使用

1. 背景 在SAPUI5中,几乎所有东西都是一个模块(例如:控件,控制器,组件等等),通过依赖管理,模块间可以相互调用。这样做的好处是,可以仅在需要时才去加载必需的模块&…

基于单片机的智能台灯控制系统

摘要: 文章设计一款单片机智能台灯控制系统,实现对台灯的手动和自动控制功能,以 STC89C52 单片机作为多功能智能台灯的主控制器,光电检测模块检测坐姿,红外传感器检测人体,光敏电阻检测光强,同…

怀庄酒厂在茅台镇排第几,怀庄酒都什么档次?

怀庄酒厂在茅台镇的排名如何?怀庄酒又属于什么档次?贵州怀庄酒业(集团)有限责任公司旗下的怀庄之醉,作为公司的重点直营品牌,定位于中高端酱酒市场,以其出色的品质和独特的风味受到消费者的青睐。 在众多贵州酒厂中&am…

搭建淘宝扭蛋机小程序需要满足哪些条件

随着移动互联网的快速发展,小程序作为一种轻量级应用,以其便捷、高效的特点,逐渐成为了用户日常生活中不可或缺的一部分。特别是在电商平台中,小程序为商家和用户之间提供了更为直接的沟通桥梁。在这样一个背景下,搭建…

LeetCode题练习与总结:只出现一次的数字--136

一、题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : …

C++ 检查内存泄漏

在Visual Studio中,通过定义自定义的new和delete操作符来检查内存泄漏并输出到输出窗口(通常是“输出”面板)并不是直接支持的,因为new操作符的调试版本(如使用_NORMAL_BLOCK, __FILE__, __LINE__)是由Micr…

深入理解Pandas

文章目录 引言Pandas的原理SeriesDataFrame Pandas的使用安装Pandas读取数据数据处理数据可视化 结论 引言 在数据分析和数据科学领域,Pandas无疑是一个不可或缺的工具。Pandas是一个强大的Python库,提供了快速、灵活和易于使用的数据结构和数据分析工具…

VoxEdit 竞赛|为 The Sandbox 土地持有者设计专属奖励资产

邀请大家参与这场精彩的 VoxEdit 竞赛,在元宇宙中发挥你的创造力,并将你的体素技能提升到新的水平! 按此下载 VoxEdit ! https://www.sandbox.game/en/create/vox-edit/ 比赛主题:建筑与古迹 一起潜入建筑和古迹的世…

【面试题】马上金九银十了,简历该准备起来了,面试题你准备好了吗 ?浅谈 JS 浅拷贝和深拷贝

代码展示 let obj_old {name: Tom,age: 15,favorite: {food: bread,drink: milk} } let obj_new {...obj_old} console.log(obj_old obj_new) // false console.log(obj_old.name obj_new.name) // true console.log(obj_old.favorite obj_new.favorite) // true3. Ar…

(79)SPI接口--->(004)FPGA实现SPI接口

(004)FPGA实现SPI接口 1 目录 (a)FPGA简介 (b)IC简介 (c)Verilog简介 (d)FPGA实现SPI接口 (e)结束 1 FPGA简介 (a)FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为…

Redis源码学习:SDS设计与内存管理

为什么Redis选择SDS 1、缓解C语言字符串的缺陷 在 C 语言中可以使用 char* 字符数组来实现字符串。每个字符串分配一段连续的内存空间,依次存放字符串中的每一个字符,最后以null字符结尾。这种设计存在以下问题: 1、低效的操作 每次获取字…

Linux根目录挂载点(/dev/mapper/centos-root)扩容

如果我们在安装系统是采用自定义分区的话,就可以提前规划好这个事情。但是如果平常没注意就直接采用默认安装的方式的话。一旦 根目录的容量耗尽,将会影响业务的运行。今天我们来扩容逻辑卷。 默认安装的话会给home目录分比较多的空间,我们可…

说一说强、软、弱、虚引用

Java根据其生命周期的长短将引用类型又分为强引用、软引用、弱引用、虚引用。 强引用:就是我们平时 new一个对象的引用。当JVM的内存空间不足时,宁愿抛出OutOfMemoryError使得程序异常终止,也不愿意回收具有强引用的存活着的对象。 软引用&a…

【Leetcode每日一题】 01背包 - DP41 【模板】01背包(难度⭐⭐)(80)

1. 题目解析 题目链接:DP41 【模板】01背包 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 第一问:不超过总体积的背包问题 1. 状态表示 dp[i][j] 表示:从前 i 个物品中挑选&…

汇编语言实验八

目录 一、实验目的 二、实验内容 三.实验步骤以及结果 1、阅读monthtab.asm 程序,要求写出该程序功能,并在实验报告中画出其程序流程图 2.编写一段程序,要求在长度为20的数组(无符号数)中,…

LabVIEW与C#相互调用dll

C#调用LabVIEW创建的dll 我先讲LabVIEW创建自己的.net类库的方法吧,重点是创建,C#调用的步骤,大家可能都很熟悉了。 1、创建LabVIEW项目,并创建一个简单的add.vi,内容就是abc,各个接线端都正确连接就好。 …

云层之间穿梭特效视频转场PR模板素材

12 个超赞的 Premiere Pro 云层穿梭特效视频转场模板 https://prmuban.com/39056.html 📽 你是否正在寻找一种方法,让你的视频更酷、更时尚、更吸引人?今天推荐的12个逼真的云层穿梭特效视频转场模板,绝对能为你的作品锦上添花 ✨…

服务器雪崩的应对策略之----隔离

隔离(Isolation)是一种有效的应对服务器雪崩的策略。通过隔离,可以将问题限制在特定的服务或模块中,避免其扩散到整个系统。隔离方法的核心思想是将系统分成多个相对独立的部分,确保某个部分出现问题时不会影响到其他部…