IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    小样本工业缺陷检测新革命:利用亚马逊机器视觉服务免费高效地检测产品缺陷

    52txr发表于 2024-04-08 10:53:00
    love 0

    产品缺陷检测不论实在工业界还是学术界都是热门的一个话题。小陶之前就做过工业检测的项目,使用的就是训练深度学习模型来进行识别,最终实现了很好的效果。今天在网上冲浪的时候,偶然发现亚马逊云的一个服务,叫做Amazon Lookout for Vision。这一下子就引起了我的兴趣,毕竟是这方面有过研究的,我倒要看看国际大厂的给的公开解决方案效果怎么样,看介绍是使用计算机视觉大规模发现制造产品中的缺陷。感兴趣的小伙伴follow小陶的步伐,一起去看看如何部署和使用Amazon Lookout for Vision吧。

    Amazon Lookout for Vision服务

    tips:除了本文内容,更多精彩免费产品欢迎到“亚马逊云科技”探索体验哦~

    首先打开亚马逊云的免费云计算免费试用页面官网:https://mic.anruicloud.com/url/1309

    然后勾选左边的机器学习,找到“Amazon Lookout for Vision”这个模块。

    Amazon Lookout for Vision服务

    根据官网页面的介绍,我觉得还是很牛的。根据介绍,只需 30 个图像即可从您的实时生产线中发现异常。这就很符合工业缺陷检测的使用场景,毕竟在工业场景里,数据集的数量不足一直是遏制缺陷识别效果的重要条件。在下面的界面中,点击“ 开始使用 Amazon Lookout for Vision”,进入这个功能的主界面。

    Amazon Lookout for Vision

    启用机器视觉功能

    点击“开始使用”,就可以进行玩耍了。虽然免费套餐期限是 3 个月,其中包含每个月 10 小时免费培训和 4 小时免费推理,但是也足够体验以及进行科研测试了,效果不错的话完全可以写到论文里进行一个工作量的补充和对比,哈哈哈,而且显得很很高级且有权威。

    启用机器视觉功能

    如果之前没有用过类似产品,那么可能回弹出来一个弹窗,提示“需要使用 S3 存储桶来存储您的项目文件“,问题不大,点击”创建 S3 存储桶“就完事了。在亚马逊云中,S3 存储桶也是有免费额度的(5GB免费容量),完全够测试使用了。

    S3 存储桶

    创建完S3存储桶后,进入控制面板的界面:

    控制面板

    创建缺陷检测项目

    点击”创建项目“之后,需要输入一个项目名称,小陶就使用”Defect“作为项目名吧,也就是”缺陷“的英文啦。然后点击创建项目即可。

    创建缺陷检测项目

    创建数据集

    为了更加清楚地介绍这个操作,我就一步一步的记录一下自己的操作吧,也方便自己以后复现一遍。

    创建数据集

    点击”创建数据集“,这时候会让你选择”数据集配置“,这里我建议选择”创建训练数据集和测试数据集“,毕竟一般训练模型还是需要进行测试的,光训练集效果好很有可能导致过拟合,导致模型的泛化能力很差(关于过拟合可以看看我之前的文章《什么是过拟合?什么是欠拟合?过拟合解决方法之使用Dropout抑制》以及文章《神经网络在训练集的准确率高于测试集的准确率一定是过拟合了吗?》)。

    这里使用的数据集我也是使用公开数据集《精中科院磁瓦缺陷数据集》,有需要的朋友可以自己去下载一下,算是缺陷检测领域很具有代表性的数据集了吧。

    磁砖表面缺陷的数据集,采集了6种常见磁砖缺陷的图像,并对其像素级的地面真实度进行了标记。

    官网链接:https://github.com/abin24/Magnetic-tile-defect-datasets

    数据集

    都选择“从您的计算机上传图像”,然后点击创建数据集。

    (特别提醒:此时还不能上传图片,需要在创建数据集之后才可以上传图片哦!!)

    导入图像

    创建数据集之后就是上传图片了。分别上传训练集以及测试集,然后进行标记,俗称打标签。其实就是分为两类,一类为正常,一类为异常,是一个二分类问题。训练数据集中至少有10张正常对象的图像。测试数据集中正常对象的至少10幅图像和异常对象的至少10幅图像。

    上传图片

    然后就是对图片的标注:

    图片的标注

    标注的过程就不叙述了,就是选中图片分为正常或者异常。需要注意测试集也要标注哦。

    小陶强烈建议标注完之后再检查一遍!!防止标注错了!!

    训练模型

    训练模型就很简单了,直接点击”训练模型“就完事了!

    训练模型

    然后再点击”训练模型“就行了。

    训练模型

    然后还要再点击一下”训练模型“即可。

    训练模型

    然后模型就在训练了。我是从2024年4月7日20点03分训练到2024年4月7日20点18分,一共训练了大约十五分钟。

    训练完成

    训练效果

    训练效果

    我的第一次训练效果是80%。感觉还算不错的水平。

    第一次训练效果是80%

    然后可以查看模型的评估:

    模型的评估

    此外,还可以继续改进模型来提高模型的性能,操作和前面的类似,这里就留白一下,让大家自己去体验一下吧。运行试用检测任务并验证结果。之后,重新训练模型以改善结果。

    踩坑记录

    1、不会自动规范图像的尺寸

    Images in the dataset must have the same dimensions.

    这个训练需要自己先把图片设置为相同的尺寸,我是使用matlab实现的,下面是实现的代码:

    % 获取文件夹中的所有图片文件名
    folder_path = 'C:\Users\Administrator\Desktop\新建文件夹\训练集';
    image_files = dir(fullfile(folder_path, '*.jpg')); % 假设图片格式为jpg,可以根据实际情况修改
    
    % 遍历所有图片文件
    for i = 1:length(image_files)
        % 读取图片
        image_path = fullfile(folder_path, image_files(i).name);
        img = imread(image_path);
    
        % 调整图片尺寸为256x256
        resized_img = imresize(img, [256, 256]);
    
        % 保存调整后的图片
        output_path = fullfile(folder_path, ['resized_' image_files(i).name]);
        imwrite(resized_img, output_path);
    end

    2、导入图片我以为在”从您的计算机上传图像“那个地方进行上传,试了半天,结果是先创建数据集再上传图像。

    3、缺少一些参数设置,例如epoch的设置,学习速率等参数。

    4、对样本的数量有限制,只能上传30张样本量,这一点需要注意。

    使用感受

    Amazon Lookout for Vision 是一个强大的工具,旨在帮助企业快速、轻松地改进流程,并确保在各种条件下都能获得准确的结果。它通过使用先进的机器学习技术,能够在短时间内构建模型,以检测工业产品中的缺陷,如凹痕、裂纹和划痕等。此外,Amazon Lookout for Vision 的设置成本较低,因为它可以使用成本较低的摄像头或重复使用现有的摄像头,从而降低了安装成本。此外,该工具还能报告目测检查数据的趋势,帮助企业降低运营成本,并在计划外停机之前采取必要的维护措施。然而,感觉也需要进行用户体验和指导上的改进,以及需要加快训练的速度。

    除了本文内容,更多精彩免费产品欢迎到“亚马逊云科技”探索体验哦~



沪ICP备19023445号-2号
友情链接