全球体育网

【自有技术大讲堂】工业视觉缺陷检测AI样本标注策略

网站全球体育网    行业信息    【自有技(ji)术大(da)讲堂】工(gong)业视(shi)觉(jue)缺(que)陷(xian)检测AI样本标注策略

简介

在(zai)深度(du)(du)学习模(mo)型的(de)(de)设计和训练(lian)中,数(shu)据的(de)(de)标(biao)注(zhu)(zhu)质(zhi)量(liang)(liang)对于(yu)模(mo)型的(de)(de)最终效果(guo)、训练(lian)过程的(de)(de)稳定程度(du)(du)、模(mo)型收敛(lian)的(de)(de)速度(du)(du)、模(mo)型的(de)(de)泛化性(xing)等诸多关系模(mo)型质(zhi)量(liang)(liang)的(de)(de)指标(biao)有着至关重要(yao)的(de)(de)影响。因此,数(shu)据标(biao)注(zhu)(zhu)的(de)(de)质(zhi)量(liang)(liang),会直(zhi)接影响到模(mo)型的(de)(de)使用(yong)效果(guo)。为了帮助用(yong)户在(zai)操作时(shi)能选择合适的(de)(de)标(biao)注(zhu)(zhu)任务并获得高质(zhi)量(liang)(liang)的(de)(de)标(biao)注(zhu)(zhu)数(shu)据,我们将跟数(shu)据标(biao)注(zhu)(zhu)有关的(de)(de)经(jing)验和建议总结于(yu)本文档中。

本文档从工业视觉检(jian)测的角度出发(fa),内容分(fen)为(wei)“标注任务定义”和“数据标注流程”两部分,用户可根据自身需要查看对应内容。

1、标注任(ren)务定义(yi)

本(ben)部(bu)分首(shou)先介绍(shao)(shao)计算(suan)机视(shi)觉领域中(zhong)的主要任务(wu),然(ran)后介绍(shao)(shao)对应(ying)于这些视(shi)觉任务(wu)的标(biao)注需求,并举例说明用户该如何定义自己(ji)的数据任务范(fan)畴,选择(ze)适合自己(ji)应用(yong)场(chang)景的(de)标(biao)注任务(wu)。

1.1 计(ji)算(suan)机视觉任务介(jie)绍(shao)

计算机视觉问题的主要(yao)类型包(bao)括分类、目标检测、目标分割等(deng)。

分(fen)类(lei):输(shu)入(ru)一(yi)张图片,输(shu)出一(yi)些(xie)列标(biao)签,描(miao)述这(zhei)张图片所属的目标(biao)类(lei)别名称,例如(ru)分(fen)类(lei)任务示意图,左(zuo)右两张分(fen)别表示屏幕检测中的normaldefect

 

 

检测:相比(bi)分类(lei)更加精细,除了(le)会给出(chu)(chu)图片中(zhong)含有哪些类(lei)别(bie)的(de)目(mu)(mu)标,还会给出(chu)(chu)每(mei)个(ge)目(mu)(mu)标的(de)位(wei)置,例如(ru)检测任务示意图,除了(le)给出(chu)(chu)图中(zhong)含有的(de)line(线)类(lei)别信息(xi),还会给出line在(zai)图中(zhong)的(de)位(wei)置。位(wei)置信(xin)息通过一(yi)系列标(biao)(biao)注框给出,标(biao)(biao)注框的(de)信(xin)息一(yi)般(ban)包含框左上角坐标(biao)(biao)和(he)框右下角坐标(biao)(biao),模(mo)型(xing)对某一(yi)个目(mu)标(biao)(biao)的(de)检(jian)测结果输(shu)出形式一(yi)般(ban)为:

Prediction = [label, x-min, y-min, x-max, y-max]

其(qi)中label表示目标(biao)类别(bie)名称,(x-min, y-min)(x-max, y-max)分别(bie)代表(biao)这个目(mu)标(biao)(biao)在图(tu)中相对位置(zhi)的左上角(jiao)坐标(biao)(biao)和右下(xia)角(jiao)坐标(biao)(biao),这一对坐标(biao)(biao)可以构成一个矩(ju)形。理想情况下(xia),该矩(ju)形应该和目(mu)标(biao)(biao)的边缘轮廓外接。经过改造之(zhi)后,检测模型还可以用于图(tu)像(xiang)分类、目标计数、目标(biao)追踪(zong)、场景(jing)监控等场景(jing)

 

 

分割:分割的(de)(de)(de)精细程度相比检测更进一步,除了给出(chu)目(mu)(mu)标(biao)(biao)类(lei)别(bie)、目(mu)(mu)标(biao)(biao)位(wei)置以(yi)外,分割任务还(hai)要区别(bie)每一个目(mu)(mu)标(biao)(biao)的(de)(de)(de)细粒度位(wei)置信息,信息内容详细到目(mu)(mu)标(biao)(biao)的(de)(de)(de)边缘轮廓。一般来说,模型对某一个目(mu)(mu)标(biao)(biao)的(de)(de)(de)分割结果的(de)(de)(de)输出(chu)形式为:

Prediction = [label, (x-0,y-0), (x-1,y-1), (x-2,y-2), ...]

其(qi)中,label表示目标类别名(ming)称,(xi, yi)表(biao)示某一个点的(de)坐标,一系列的(de)点构(gou)成(cheng)一个封闭的(de)多边形区(qu)域(yu)(yu),该区(qu)域(yu)(yu)即为(wei)分(fen)(fen)割(ge)的(de)结(jie)果(guo)区(qu)域(yu)(yu)。理论上,分(fen)(fen)割(ge)可以(yi)(yi)用于解(jie)决一切检测、分(fen)(fen)类可以(yi)(yi)解(jie)决的(de)问(wen)题(ti),但(dan)是分(fen)(fen)割(ge)模型的(de)数据标注(zhu)更为(wei)耗时,计算量更大,在解(jie)决实际问(wen)题(ti)时,需要综合考虑人力、算力、时间、时效(xiao)等因素

 

焊点

焊点分(fen)割

2、数(shu)据标注(zhu)流程(cheng)

2.1 确(que)定目标场景

确定(ding)目(mu)标场景,指的(de)是分(fen)(fen)析(xi)业(ye)务(wu)(wu)(wu)场景需求,将其转换成分(fen)(fen)类、检测、分(fen)(fen)割等机器视觉任(ren)务(wu)(wu)(wu)。该(gai)过程可参考计算机视觉任(ren)务(wu)(wu)(wu)的(de)介绍,根据业(ye)务(wu)(wu)(wu)需求选择合(he)适的(de)计算机视觉技(ji)术方向。选型的(de)主要(yao)依据可从以下三(san)个角度出(chu)发:

1、对(dui)结果的(de)精细(xi)化程度要(yao)求。如(ru)果需要(yao)给(ji)出检(jian)(jian)测结果的(de)明确位置信息,应该选择检(jian)(jian)测或分割;

2、对(dui)模型服(fu)务(wu)的(de)响(xiang)(xiang)应(ying)速度要(yao)求。如果对(dui)模型响(xiang)(xiang)应(ying)速度要(yao)求较快,则应(ying)该(gai)选择尽量简单的(de)模型,一般来说响(xiang)(xiang)应(ying)延迟:分(fen)类 < 检测 < 分割;

3、标注(zhu)成本(ben)。一(yi)般来说,标注(zhu)的复(fu)杂度:分类 < 检测 < 分割,标注的(de)时间(jian)、人力等成本也是(shi)相同的(de)关系。

一般来(lai)说,检(jian)测(ce)可(ke)以解(jie)决(jue)大(da)部(bu)分(fen)业务(wu)场(chang)景(jing)需求,相对分(fen)类和分(fen)割(ge)(ge),检(jian)测(ce)技(ji)术(shu)(shu)在(zai)标(biao)注(zhu)成(cheng)本(ben)(ben)、响应时(shi)间、检(jian)测(ce)精(jing)细化(hua)程度(du)都做到了较好的均衡,可(ke)以用适中的标(biao)注(zhu)成(cheng)本(ben)(ben)获取相当精(jing)度(du)的检(jian)测(ce)效果,因此建议在(zai)技(ji)术(shu)(shu)方(fang)案验证(zheng)阶段,可(ke)以先选(xuan)用检(jian)测(ce)方(fang)案进行小规模验证(zheng),然后根据验证(zheng)结果再进行方(fang)案调整,进一步决(jue)定是(shi)否需要精(jing)度(du)更(geng)高、标(biao)注(zhu)成(cheng)本(ben)(ben)更(geng)高、响应时(shi)间更(geng)慢(man)的分(fen)割(ge)(ge)模型还是(shi)选(xuan)择成(cheng)本(ben)(ben)和精(jing)度(du)更(geng)低但是(shi)响应速度(du)快(kuai)的分(fen)类模型。

2.2 标注目标设计(ji)

确定标(biao)注(zhu)(zhu)目标(biao)是(shi)标(biao)注(zhu)(zhu)任(ren)务(wu)开(kai)始前的(de)(de)重(zhong)要准备工(gong)作,主(zhu)要指的(de)(de)是(shi)将业(ye)务(wu)逻(luo)辑转换成标(biao)注(zhu)(zhu)的(de)(de)目标(biao),设计能够反应业(ye)务(wu)需求的(de)(de)标(biao)签体(ti)系,以更好的(de)(de)让标(biao)注(zhu)(zhu)任(ren)务(wu)产出的(de)(de)标(biao)注(zhu)(zhu)数据,可以更好的(de)(de)帮助模型拟(ni)合业(ye)务(wu)逻(luo)辑场(chang)景的(de)(de)需求。这个过程需要重(zhong)点考虑以下几个问(wen)题。

2.2.1 业务逻辑关(guan)注(zhu)的目标有几种(zhong)?

业(ye)务(wu)逻辑关注(zhu)(zhu)的(de)(de)目标(biao)种(zhong)类的(de)(de)数(shu)量,直(zhi)接影响(xiang)到(dao)标(biao)注(zhu)(zhu)任(ren)务(wu)的(de)(de)复杂程(cheng)(cheng)度(du)、模型选型、标(biao)注(zhu)(zhu)成(cheng)本等(deng)问题。另外,标(biao)注(zhu)(zhu)任(ren)务(wu)推进过(guo)程(cheng)(cheng)汇(hui)总,再进行(xing)目标(biao)新增,会(hui)直(zhi)接影响(xiang)到(dao)已有(you)的(de)(de)标(biao)注(zhu)(zhu)任(ren)务(wu)推进流程(cheng)(cheng),甚至有(you)重新进行(xing)的(de)(de)风险,因此,在(zai)开始业(ye)务(wu)数(shu)据分析和(he)标(biao)注(zhu)(zhu)之前,尽量将业(ye)务(wu)逻辑关注(zhu)(zhu)的(de)(de)目标(biao)全部明确和(he)固化(hua)。

2.2.2 是(shi)否存(cun)在业务逻辑上(shang)是(shi)同一种目标(biao),但实际视(shi)觉特征上(shang)差距较大的(de)目标(biao)?

在开始标(biao)注(zhu)任(ren)(ren)务(wu)设计之(zhi)前(qian),应首先明确(que)业务(wu)逻辑(ji)关(guan)注(zhu)的目标(biao)类别的粒度,该需求对标(biao)注(zhu)任(ren)(ren)务(wu)的设计也有直接的影响(xiang)。例如下图(tu)有两(liang)种(zhong)缺陷(xian)(xian),如果业务需求只需要(yao)确(que)定图(tu)中是(shi)(shi)否(fou)包含缺陷(xian)(xian),划伤和(he)脏(zang)污从(cong)业务逻辑是(shi)(shi)同(tong)一(yi)种(zhong)类别(bie)。但实际上他(ta)们的图(tu)像特征差异(yi)比(bi)较大,如果共享同(tong)一(yi)个类别(bie),可能会导(dao)致(zhi)模型(xing)难以拟合。这种(zhong)情况(kuang)下,在设计标签体(ti)系的时候(hou),可对标签进行适度拆分,例如划伤、脏(zang)污分别(bie)赋与NG-划(hua)伤”,“NG-脏(zang)污(wu)”两种标签类型。对于(yu)算法(fa)模(mo)型来(lai)说,这(zhei)是(shi)两种截然不同的类别(bie),对应(ying)两种截然不同的视觉特征表达,但是(shi)在模(mo)型检测效(xiao)果上,它们(men)依然是(shi)“NG”这一大类别,符合业务(wu)逻辑的(de)设定(ding),平衡(heng)了业务(wu)需求和(he)模型算(suan)法,更容易得(de)到拟合效果优异的(de)模型。

 

2.2.3 是否存在业(ye)务逻辑上不属于同一类,但实际视觉特征上极易(yi)混淆的目(mu)标?

2.2.2相反,该问题需要关注(zhu)的是,不属于同(tong)一类(lei)别(bie),但是视觉(jue)特征极其相似的场(chang)景。例如(ru)下图(tu)中的Mura气泡,在业务(wu)逻(luo)辑上属于不同的类别,但是(shi)从视觉(jue)特征上看比较接近,容易混淆。对于这种场景(jing),可以从以下几个(ge)方面设计标注任务:

A. 明确(que)接近的目(mu)标类别(bie)的特(te)征差异和专家判别(bie)依据;

B. 上传更多(duo)的对(dui)照数(shu)据,扩充样本量,增加(jia)模型对(dui)特征学习的可能(neng)性;

C. 分(fen)析近似目(mu)标(biao)(biao)(biao)(biao)更多(duo)的(de)(de)是(shi)(shi)在(zai)同一张图片(pian)中(zhong)出现还是(shi)(shi)不(bu)在(zai)同一张图片(pian)中(zhong)出现。在(zai)标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)任务(wu)设计时(shi),将(jiang)接(jie)近的(de)(de)类别单(dan)(dan)独放到一个数据集(ji)中(zhong)进(jin)(jin)行(xing)单(dan)(dan)独标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)和质量管控,不(bu)与其他简单(dan)(dan)的(de)(de)数据集(ji)进(jin)(jin)行(xing)混淆。如果接(jie)近的(de)(de)目(mu)标(biao)(biao)(biao)(biao)大部(bu)分(fen)处于(yu)同一张图片(pian)中(zhong),则将(jiang)包(bao)含两种接(jie)近目(mu)标(biao)(biao)(biao)(biao)的(de)(de)图片(pian)单(dan)(dan)独筛出,创建(jian)标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)任务(wu);如果接(jie)近的(de)(de)目(mu)标(biao)(biao)(biao)(biao)基本(ben)都不(bu)同时(shi)出现,更多(duo)的(de)(de)是(shi)(shi)出现在(zai)不(bu)同的(de)(de)图片(pian)中(zhong),则将(jiang)两类各自分(fen)成一个标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)任务(wu)数据集(ji),各自进(jin)(jin)行(xing)标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu),且(qie)标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)过程中(zhong),可选标(biao)(biao)(biao)(biao)签只包(bao)含其对应的(de)(de)类别,这样可以(yi)快速(su)标(biao)(biao)(biao)(biao)注(zhu)(zhu)(zhu)且(qie)不(bu)会误标(biao)(biao)(biao)(biao)。

 

2.2.4 各(ge)类目标的样(yang)本数量(liang)各(ge)有多少?

防止标注数量不均衡(heng)。例如,某(mou)一批图片(pian)中,共(gong)有(you)类型(xing)A 1万张,类型B 200张。但是从视觉的角(jiao)度看,A不是特(te)别难(nan)判定。这种情况下,将A和(he)B各标注(zhu)适量(例如(ru)都标注(zhu)200张(zhang))即可,如果后(hou)续发现类型A检测效果不达预期,再对类型(xing)A进行标注(zhu)补(bu)充即可。这样(yang)可以节省标注(zhu)时(shi)间,且保证关(guan)注(zhu)的目标都可以有(you)适量的训(xun)练数(shu)据,避(bi)免标注(zhu)的资(zi)源都被数(shu)据量特别大的一类(lei)或几类(lei)独占(zhan)。

2.2.5 是否存在数据(ju)量特别少的目标(biao)类型(xing)?

一般来说,某类(lei)缺陷要被模型良好的识别,需要(yao)相当数(shu)量的图片。根(gen)据目标的识(shi)别难易程度不(bu)同,所(suo)需要(yao)的样本数(shu)量也不(bu)同,但是根(gen)据经验,每种关注的类(lei)别的样本数(shu)量应在100张以上(shang)才能确保模型(xing)效果(guo)相对良好(hao)且具有(you)较好(hao)的稳定性(xing)和(he)泛化性(xing),最(zui)少不应少于(yu)20张才能(neng)保(bao)证模型可(ke)以对该目(mu)标(biao)初步具备检测(ce)能(neng)力。如果某(mou)类数量少于(yu)20张,则属于样(yang)本量严重不足。在训练时(shi)应对数(shu)据量较少的(de)(de)类型会(hui)进行(xing)自(zi)动增(zeng)广,但是依然难以保证(zheng)涵盖真(zhen)实(shi)场(chang)景下的(de)(de)特征(zheng)表达(da)。因此,对于数(shu)据量特别少的(de)(de)类别,可(ke)采取以下策(ce)略:

A. 尽量通过仿(fang)真、摆拍等方(fang)式,在符合(he)业务(wu)场(chang)景的前提下(xia)采集更多数据;

B. 可将数据集重复上(shang)传(chuan),在(zai)标注过程中,标注的位置略微差异,这(zhei)些差异会在(zai)一定程度上(shang)提高模(mo)型的拟合效果(guo)。

2.2.6 目标之(zhi)间的尺度差异如何?

在业务场景中,可能会存在尺度差异较(jiao)大(da)的目(mu)标(biao)类别。如下图(tu)所示,1所(suo)指的暗点相较于(yu)上面(mian)举例的缺(que)陷占整(zheng)个画面(mian)的比例要小很多,如(ru)果(guo)遇到(dao)这种(zhong)情况,从算法(fa)角(jiao)度考(kao)虑,确定算法(fa)对(dui)(dui)该类目(mu)标(biao)(biao)(biao)(biao)的检测效(xiao)果(guo)(算法(fa)对(dui)(dui)于(yu)特别小的目(mu)标(biao)(biao)(biao)(biao)的检测效(xiao)果(guo)弱于(yu)正(zheng)常尺寸目(mu)标(biao)(biao)(biao)(biao)的检测效(xiao)果(guo)),如(ru)果(guo)模(mo)型可以(yi)正(zheng)常检测,则(ze)(ze)将其当做一(yi)种(zhong)普通(tong)类型标(biao)(biao)(biao)(biao)注(zhu)即可,否(fou)则(ze)(ze),需要确定是否(fou)将图片(pian)进(jin)行(xing)裁剪(例如(ru)切(qie)成九宫格),对(dui)(dui)每一(yi)张剪切(qie)后的图片(pian)进(jin)行(xing)处理,再将结果(guo)整(zheng)合(he)到(dao)一(yi)张图上。如(ru)果(guo)采取(qu)这种(zhong)方(fang)式,则(ze)(ze)标(biao)(biao)(biao)(biao)注(zhu)任务(wu)也最好基于(yu)剪切(qie)后的图片(pian)上进(jin)行(xing)。

 

2.2.7 是(shi)否存(cun)在(zai)形(xing)态会(hui)在(zai)业务逻辑(ji)中发生较大变化的(de)目标?

例如,在生(sheng)产线中,某种缺(que)陷的(de)形态(tai)可(ke)(ke)能随(sui)着生(sheng)产批次(ci)的(de)不(bu)同发生(sheng)改变,如果这种变化不(bu)大,标注任(ren)务不(bu)需(xu)要做出(chu)太大调整,可(ke)(ke)通过补(bu)充数(shu)据(ju)和标注、重新(xin)迭代模(mo)型的(de)方式使模(mo)型效(xiao)果可(ke)(ke)以保持更(geng)新(xin)。如果在视(shi)觉(jue)特征(zheng)上发生(sheng)较大变化,且历史(shi)数(shu)据(ju)所(suo)对应的(de)目标类(lei)别(bie)不(bu)会再(zai)出(chu)现,则应该(gai)重新(xin)收集数(shu)据(ju),不(bu)建议将视(shi)觉(jue)特征(zheng)发生(sheng)较大变化的(de)类(lei)别(bie)直接和之前的(de)同种类(lei)别(bie)历史(shi)数(shu)据(ju)混合起(qi)来。

2.3 确定标注标准

在(zai)经过上一步分析后(hou),符合(he)业(ye)务场景(jing)需求的标(biao)注(zhu)标(biao)签体系和标(biao)注(zhu)标(biao)准基本可以(yi)建立。在(zai)标(biao)注(zhu)确(que)定后(hou)应(ying)同(tong)步给所有参与(yu)标(biao)注(zhu)的人员,以(yi)确(que)保标(biao)注(zhu)质量。除了与(yu)具体业(ye)务逻(luo)辑相关的标(biao)注(zhu)标(biao)准以(yi)外(wai),在(zai)标(biao)注(zhu)过程中,有一些通用的标(biao)注(zhu)标(biao)准,本部分进行介(jie)绍。

在目(mu)标检测(ce)标注过程中,有以下通用原则:

2.3.1 最(zui)大最(zui)小原(yuan)则

指标(biao)注框在框选目标(biao)区域(yu)(yu)时,要尽(jin)量大(da),大(da)到(dao)能够(gou)包含(han)目标(biao)区域(yu)(yu)的(de)主要边界;要尽(jin)量小,小到(dao)除了目标(biao)区域(yu)(yu)边界以外,不包含(han)其(qi)他(ta)无关区域(yu)(yu)。

2.3.2 宁无不错原则

在(zai)标注过(guo)程中(zhong),对于一些不确定的(de)目标区域,宁可不打(da)标签,也不要打(da)上错误的(de)标签,因为错误的(de)标签对于模(mo)型(xing)训练(lian)(lian)的(de)过(guo)程是(shi)很大的(de)扰动,会(hui)导(dao)致(zhi)模(mo)型(xing)训练(lian)(lian)难(nan)以(yi)收敛,最终导(dao)致(zhi)模(mo)型(xing)的(de)泛化性极差(cha)、难(nan)以(yi)拟合等问题。

2.3.3 适当(dang)噪声原(yuan)则

在标(biao)注(zhu)过程中,可(ke)以适当(dang)增(zeng)加一(yi)些(xie)噪声区(qu)域(yu)(yu)的(de)标(biao)注(zhu),或者对于(yu)目(mu)(mu)标(biao)区(qu)域(yu)(yu)的(de)标(biao)注(zhu)过程中,适当(dang)将标(biao)注(zhu)框比目(mu)(mu)标(biao)区(qu)域(yu)(yu)稍微大(da)一(yi)些(xie),涵盖少许非(fei)目(mu)(mu)标(biao)区(qu)域(yu)(yu)的(de)背景区(qu)域(yu)(yu),但是不宜过大(da),整体主(zhu)要目(mu)(mu)标(biao)区(qu)域(yu)(yu)占(zhan)标(biao)注(zhu)框面积的(de)比例至少应为(wei)2/3以上,标注框可以适当外扩较小的比(bi)例

2.3.4 所标即所见原则

标(biao)注过程中(zhong),不要添加主观想象力和先(xian)验(yan)知识,只标(biao)注从视觉(jue)上(shang)看到(dao)确定(ding)是目标(biao)的部分。

2.3.5 只标业务相关原则

假设业务逻辑规定只检测气泡和脏(zang)污,那么在标签设计中,不应(ying)该设计其他类(lei)型标签,也不应(ying)该强行(xing)给清楚看到、但(dan)是(shi)不属于(yu)标签体系的目标强行(xing)标注。

2021年11月2日(ri) 09:07