稀疏建模技术仅需要少量数据和少量计算,因此不仅可以在边缘端进行推理,而且还可以有效地在边缘端进行学习。

近年来,深度学习的应用日趋增多,但其在应用中仍然存在两个课题。一是在学习阶段需要准备大量训练数据;另一个是在学习阶段需要进行大量计算,例如反向传播。后者通常需要在云端的高算力GPU服务器上执行,并且消耗很多功率。而用边缘设备进行学习是不现实的。

然而,有一种技术可以从少量数据中提取特征并进行学习和推理,这种技术就是稀疏建模。本文将介绍稀疏建模与深度学习之间的对比、稀疏建模擅长的应用、稀疏建模的学习和推理机制,以及使用稀疏建模进行视觉检查的应用案例。

什么是稀疏建模?

稀疏的英文为Sparse,意思是“稀疏的,稀少的”。稀疏建模基于一个假设:所有内容中包含的基本核心信息非常少(稀疏,稀少),并识别和提取从输入到输出“真正必要的信息”。

稀疏建模,是确定数据之间的关系。稀疏建模不会专注于输入数据本身,而是专注于识别输入和输出之间的关系。这就使得输入数据本身的数量和质量无关紧要,只需要少量数据即可。稀疏建模是机器学习类别中的一种无监督学习方法。

稀疏建模与深度学习的比较

通常,深度学习在可以准备足够的数据和注释的应用中表现良好(例如自动驾驶中的物体检测)。而稀疏建模在无法采集到大量数据,以及要求具有高度可解释性的应用中,表现良好并得以扩展。

稀疏建模可以处理诸如时间序列数据之类的一维数据和诸如图像数据之类的二维数据。在图像领域的应用有缺失值补全、瑕疵检测、超分辨率等。将稀疏建模与深度学习分别用于太阳能电池面板的瑕疵检测,图1显示了常规机器学习、深度学习与稀疏建模之间的性能比较。关于训练数据量(图像数量),稀疏建模使用的数据量比深度学习中的数据量少一个数量级,并且精准度为90%,等于或高于深度学习。稀疏建模的学习时间为19s,也比深度学习缩短了一个数量级。

 

图1:太阳能电池面板瑕疵检测的性能比较。

稀疏建模擅长的应用

稀疏建模仅需要使用少量的训练数据,因为它在学习阶段从输入数据中提取真正必要的特征量。以工业领域制造现场的产品外观检查为例,在很多情况下,良品数据很多,而瑕疵品的数据很少。稀疏建模很适合这种情况。

由于稀疏建模创建模型仅需要少量计算,因此不仅可以在边缘端进行推理,而且还可以有效地在边缘端进行学习。HACARUS将在边缘端进行学习和推理称为True Edge AI。通过在边缘端执行训练,无需将数据发送到外部(例如云端的服务器),不用担心数据的安全性。边缘稀疏建模AI方案的推荐设备,如图2的Congatec and HACARUS AI套件,它由Congatec Box-PC和HACARUS AI套件组成,并且其操作已通过验证。其中的HACARUS AI套件包含视觉检查软件SPECTRO CORE。


图2:Congatec Box-PC and HACARUS AI套件。

稀疏建模的学习和推理

图3显示了使用稀疏建模进行外观检查的整体流程。在此示例中,目的是检测冲压金属上的螺丝钉为异物。

首先,准备正常的冲压金属品的图片。考虑到使用相机成像时目标物体位置的偏差,建议准备几张到几十张视野略有不同的学习图片。在学习阶段,将该训练图片输入到算法进行训练,并生成AI模型(仅需创建一次AI模型即可)。在推理阶段,将需要推理的图片输入到已构建好AI模型进行推理。输出推理结果时,异常的位置被红框圈出,显示在图片上。


图3:外观检查的整体流程。

学习阶段的详细信息如图4所示。首先,训练图像被分解为称为patch的小区域。接下来,字典学习算法分析patch并提取特征量。在该示例中,提取了64种冲压金属孔的模式,每个都被称为基底。AI模型(也称为训练完成的字典)就是这64个基底的集合。


图4:异常检测的训练阶段。

推理阶段的详细信息如图5所示。首先,将推理图像A分解为与训练阶段大小相同的patch。选择AI模型的基底并与每个拆解的patch进行混合,以找到最能代表该patch的组合。通过对所有patch执行此过程并将其结合在一起,可以通过AI模型创建近似图像,称之为重建图像B。重建图像B,有与训练图像相近的图像特征(在此示例中,图像中有规则的圆孔图案部分),推理图像A非常相似。

另一方面,训练图像中未包含图像特征,即放置螺丝钉的位置,AI模型中的基底无法很好地表现该位置,重建图像和推理图像之间存在差异。可以检测到异物。检测结果图像C中的红色部分,表示异物的位置。


图5:异常检测的推理阶段。

使用稀疏建模的视觉检测案例

【检测案例】

使用传统的飞鹤图案日本和纸的图片(图像尺寸640×480)进行划痕检测实验。实验环境如图2所示。

【学习】

使用图6中所示的13张正常图像进行学习。13张图像比深度学习所需的学习图像数量少一个数量级。这是稀疏建模的主要特征之一。在13张图像中,飞鹤的图案相同,但是在图像中的位置略有不同。这样做的原因是给AI模型平移不变性。


图6:带有飞鹤图案的日本和纸的训练图像。

【检测结果示例】

图7左侧是推理图像,划痕的一部分与左下方的飞鹤重叠;在右侧的推理结果图像中,划痕被检测为异物,并用红框圈出,推理成功。由于AI模型已经学习了飞鹤的形状,因此可以灵敏地检测由于划痕而导致的飞鹤形状变化。


图7:飞鹤上的一个划痕缺陷。

【学习图像的大小和学习时间】

图8显示了飞鹤图案和纸的学习图像大小和学习时间的曲线图。13张学习图像且图像尺寸为1280像素×960像素的情况下,学习时间大约仅为16s。这个时间比深度学习的学习时间缩短了几个数量级。随着图像尺寸的减小,学习时间几乎呈线性减小。


图8:学习图像的大小和学习时间。

 

【推理图像的大小和推理时间】

图9显示了飞鹤图案和纸的推理图像大小和推理时间的曲线图。每张推理图像尺寸为1280像素×960像素,推理时间短至约0.6s。随着图像尺寸的减小,推理时间几乎呈线性减小,并且在480像素×360像素时,推理时间短至0.1s或更短。


图9:推理图像的大小和推理时间。

 

【检测精确度】

图10显示了HACARUS的商用视觉检查软件SPECTRO对另一组业界公开的工业图像100个数据进行评估的结果:准确率为96%,精确度为100%,召回率为95.65%,显示出良好的性能。图11中的异常分数(ANOMALY SCORE)是SPECTRO内部的评判指标,其取值范围为0-1,分数越高,异常程度越高。在该图中,横轴表示异常程度,纵轴表示整体的累积率。从红线可以看出,异常程度0.133,可以覆盖全部的缺陷产品。


图10:准确率结果。性能细节

小结

本文介绍了稀疏建模与深度学习之间的比较,稀疏建模擅长的应用以及稀疏建模的学习和推理机制。通过应用了稀疏建模的视觉检查程序SPECTRO CORE,能够成功检测出日本和纸飞鹤图案上的划痕,并且准确率、精确度和召回率都很高。