在前两篇「导入AI异常侦测技术让传产也能迈向智慧制造」[1]和「如何利用时序型资料异常侦测提升智慧制造成效」[2]中已帮大家介绍过关于智慧制造中常会遇到的「一元分类型(One-Class Classification)」及「时序型(Time-Series)」资料异常侦测(Anomaly Detection, AD),而这些作法大多仅适用在单一信号源或低维度资料,而本文将继续延伸至超高维度的「影像类型(Image Type)」异常侦测,借此说明如何利用人工智慧来提升产品制造品质。
一般影像类型异常侦测可分为「单分类(Single-Class)」及「多分类(Multi-Class)」。前者侦测出的异常类又可分为属于正常但未见过的「新型态(Novelty)」及根本不属于正常类别范围的「离群者(Outlier)」。而后者则至少分为两类,可以是不同的正常类型,若分类超过两类则将各类「分布范围内(In-Distribution)」资料视为正常,「分布范围外(Out-of-Distribution)」视为异常。
如Fig. 1上图所示,在单分类时,若黄色的猫是正常,那黑、白、混色、条纹猫虽然也是猫,但仍会被视为异常,未来可视需求重新归类到正常类。而像老虎、豹、狮子这类猫科动物,因外表实在差很多,会被归类到「离群者」,所以一定会被视为异常。而如Fig. 1下图所示,在多分类时,若假设手写的数字0到9视为正常范围内,那街道上出现的那些数字就不在范围内,属于异常范围。
Fig. 1 影像类型异常侦测分类示意图(OmniXRI 2020/6/25整理绘制)
在智慧制造中,用影像来进行「品质(瑕疵)检测」或「异常侦测」是非常常见的手段。早期可能会称其为「机器视觉(Machine Vision, MV)」或「自动光学检测(Auto Optical Inspection, AOI)」,主要依赖专家提供的领域知识加上数位影像处理手段及少部份机器学习算法组成视觉检测系统。近年来因人工智慧相关算法崛起,因此开始有了以「深度学习」技术为主的「智慧视觉检测系统(Intelligent Vision Inspection System)」。
这些系统可以应用到各种制造产业,其系统主要由相机、镜头、光源、影像撷取及计算(软、硬体)等单元构成,提供了如「缺(多)件」、「尺寸量测」、「图像识别」、「物件定位」、「物件分级」、「表面瑕疵」、「色彩」、「亮度」、「深度(距离)」等项目的分析、计算功能。
其中又以「表面瑕疵检测(异常侦测)」应用最广,同时也最为复杂,包括「刮(折)痕」、「裂(凸)缝」、「凹(凸)点」、「穿孔(凸起)」、「缺(重)印」、「污染」、「摩擦」、「扭曲」、「破损」、「色偏」、「色散」等问题。人们通常不容易订出明确的检测规范,如长度、宽度、面积、颜色、形状等,导致经常会发生异常当成正常的「漏报(Underkill)」或正常当成异常的「误杀(Overkill)」,造成产品不良率提高及人工复检时间大幅增加。
在表面瑕疵检测问题上,同样会遇到有大量正常影像资料集,却难以收集到异常影像的问题,同时对于异常的分类也很难定义边界。若只是以「物件侦测(Object Detection)」技术在影像上标出一个方框来表示异常发生的位置,通常是很难满足现场需求。因此大部份都会用到影像「语义分割(Semantic Segmetation)」技术来精准地判定每个像素是正常或是异常。另外由于不同材料表面会造成不同类型的瑕疵(异常),需要应用不同的解决方案,本文无法一一涵盖,只能先针对较常见的表面瑕疵「刮痕」、「裂缝」及「孔洞」等问题的异常侦测方法做一简单介绍。接下来会依「语义分割」技术衍生的不同作法来进行说明,主要包括「基于完全卷积网路(Fully Convolutional Network-Based)」、「基于编/解码器(Encoder/Decoder-Based)」及「基于分割/决策(Segmentation/Decision-Based)」等表面瑕疵检测(异常侦测)技术。