产品缺陷检测不论实在工业界还是学术界都是热门的一个话题。小陶之前就做过工业检测的项目,使用的就是训练深度学习模型来进行识别,最终实现了很好的效果。今天在网上冲浪的时候,偶然发现亚马逊云的一个服务,叫做Amazon Lookout for Vision。这一下子就引起了我的兴趣,毕竟是这方面有过研究的,我倒要看看国际大厂的给的公开解决方案效果怎么样,看介绍是使用计算机视觉大规模发现制造产品中的缺陷。感兴趣的小伙伴follow小陶的步伐,一起去看看如何部署和使用Amazon Lookout for Vision吧。
tips:除了本文内容,更多精彩免费产品欢迎到“亚马逊云科技”探索体验哦~
首先打开亚马逊云的免费云计算免费试用页面官网:https://mic.anruicloud.com/url/1309
然后勾选左边的机器学习,找到“Amazon Lookout for Vision”这个模块。
根据官网页面的介绍,我觉得还是很牛的。根据介绍,只需 30 个图像即可从您的实时生产线中发现异常。这就很符合工业缺陷检测的使用场景,毕竟在工业场景里,数据集的数量不足一直是遏制缺陷识别效果的重要条件。在下面的界面中,点击“ 开始使用 Amazon Lookout for Vision”,进入这个功能的主界面。
点击“开始使用”,就可以进行玩耍了。虽然免费套餐期限是 3 个月,其中包含每个月 10 小时免费培训和 4 小时免费推理,但是也足够体验以及进行科研测试了,效果不错的话完全可以写到论文里进行一个工作量的补充和对比,哈哈哈,而且显得很很高级且有权威。
如果之前没有用过类似产品,那么可能回弹出来一个弹窗,提示“需要使用 S3 存储桶来存储您的项目文件“,问题不大,点击”创建 S3 存储桶“就完事了。在亚马逊云中,S3 存储桶也是有免费额度的(5GB免费容量),完全够测试使用了。
创建完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%。感觉还算不错的水平。
然后可以查看模型的评估:
此外,还可以继续改进模型来提高模型的性能,操作和前面的类似,这里就留白一下,让大家自己去体验一下吧。运行试用检测任务并验证结果。之后,重新训练模型以改善结果。
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 的设置成本较低,因为它可以使用成本较低的摄像头或重复使用现有的摄像头,从而降低了安装成本。此外,该工具还能报告目测检查数据的趋势,帮助企业降低运营成本,并在计划外停机之前采取必要的维护措施。然而,感觉也需要进行用户体验和指导上的改进,以及需要加快训练的速度。
除了本文内容,更多精彩免费产品欢迎到“亚马逊云科技”探索体验哦~