全球体育网

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

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

简介

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

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

1、标注任(ren)务定义

本部分首先介绍计算(suan)机视觉(jue)领域中的主要任务,然(ran)后(hou)介绍对应(ying)于这些视觉(jue)任务的标注需求(qiu),并举例说明用(yong)户该如(ru)何定义自己(ji)的数(shu)据任务范畴,选择适合(he)自己(ji)应用场(chang)景的(de)标注(zhu)任(ren)务。

1.1 计算机视觉任务(wu)介绍

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

分(fen)类(lei):输(shu)(shu)入(ru)一张图片,输(shu)(shu)出一些列标签,描(miao)述这张图片所属的目(mu)标类(lei)别(bie)名称,例如分(fen)类(lei)任务(wu)示(shi)意图,左右两张分(fen)别(bie)表示(shi)屏幕检测中的normal和(he)defect

 

 

检(jian)测:相(xiang)比分类更(geng)加精细,除了会给(ji)出图片(pian)中(zhong)含有哪些(xie)类别的目(mu)标(biao),还会给(ji)出每个目(mu)标(biao)的位置,例如检(jian)测任务(wu)示意(yi)图,除了给(ji)出图中(zhong)含有的line(线)类别信息(xi),还(hai)会(hui)给出line在图中的位(wei)置(zhi)。位(wei)置(zhi)信息通过一系列(lie)标(biao)注(zhu)框(kuang)给出,标(biao)注(zhu)框(kuang)的信息一般包含(han)框(kuang)左上(shang)角(jiao)坐(zuo)标(biao)和框(kuang)右下角(jiao)坐(zuo)标(biao),模型对某一个(ge)目标(biao)的检测结果输(shu)出形式一般为(wei):

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

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

 

 

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

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

其中(zhong),label表示目标(biao)类(lei)别名称,(xi, yi)表示某(mou)一个(ge)点(dian)的(de)坐标,一系列的(de)点(dian)构成(cheng)一个(ge)封(feng)闭的(de)多边形区域,该区域即为分(fen)割的(de)结(jie)果(guo)区域。理论上,分(fen)割可(ke)以用(yong)于(yu)解(jie)决一切(qie)检测、分(fen)类可(ke)以解(jie)决的(de)问题,但是分(fen)割模型(xing)的(de)数据标注更为耗时(shi),计算量更大,在解(jie)决实(shi)际问题时(shi),需要(yao)综(zong)合考(kao)虑人力、算力、时(shi)间(jian)、时(shi)效等因素

 

焊点(dian)

焊(han)点分割

2、数据(ju)标注(zhu)流(liu)程

2.1 确定目标场景

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

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

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

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

一般来说(shuo),检测(ce)可(ke)以(yi)(yi)解决大部(bu)分业务场景(jing)需求,相对分类和分割(ge),检测(ce)技(ji)术在(zai)标注(zhu)成本(ben)(ben)、响应(ying)时(shi)间(jian)、检测(ce)精(jing)细化程度(du)(du)都做到了较好(hao)的(de)(de)均(jun)衡,可(ke)以(yi)(yi)用(yong)适(shi)中的(de)(de)标注(zhu)成本(ben)(ben)获取相当精(jing)度(du)(du)的(de)(de)检测(ce)效(xiao)果,因此建议在(zai)技(ji)术方案(an)验(yan)证(zheng)阶(jie)段,可(ke)以(yi)(yi)先选(xuan)用(yong)检测(ce)方案(an)进行小规模(mo)验(yan)证(zheng),然后(hou)根据(ju)验(yan)证(zheng)结(jie)果再进行方案(an)调整,进一步(bu)决定是(shi)否需要精(jing)度(du)(du)更(geng)高(gao)、标注(zhu)成本(ben)(ben)更(geng)高(gao)、响应(ying)时(shi)间(jian)更(geng)慢的(de)(de)分割(ge)模(mo)型还是(shi)选(xuan)择(ze)成本(ben)(ben)和精(jing)度(du)(du)更(geng)低(di)但(dan)是(shi)响应(ying)速度(du)(du)快的(de)(de)分类模(mo)型。

2.2 标注目标设(she)计

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

2.2.1 业(ye)务逻辑关注的(de)目(mu)标有几(ji)种?

业务(wu)(wu)逻(luo)辑(ji)关注的(de)(de)(de)(de)目(mu)标种类的(de)(de)(de)(de)数(shu)量,直接(jie)影(ying)响(xiang)(xiang)到(dao)(dao)标注任(ren)务(wu)(wu)的(de)(de)(de)(de)复(fu)杂程度、模(mo)型选型、标注成本(ben)等问题(ti)。另外,标注任(ren)务(wu)(wu)推(tui)进过程汇总,再进行(xing)目(mu)标新增,会直接(jie)影(ying)响(xiang)(xiang)到(dao)(dao)已有的(de)(de)(de)(de)标注任(ren)务(wu)(wu)推(tui)进流程,甚至有重(zhong)新进行(xing)的(de)(de)(de)(de)风险,因此,在开(kai)始业务(wu)(wu)数(shu)据(ju)分析和标注之前,尽量将业务(wu)(wu)逻(luo)辑(ji)关注的(de)(de)(de)(de)目(mu)标全部明确和固化。

2.2.2 是(shi)否存在(zai)业(ye)务逻辑(ji)上是(shi)同一种目(mu)标(biao),但实际视觉特(te)征(zheng)上差距(ju)较大的目(mu)标(biao)?

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

 

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

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

A. 明确(que)接(jie)近的目标类(lei)别的特征差(cha)异和专家判别依(yi)据;

B. 上传更多的对(dui)照数据,扩(kuo)充(chong)样(yang)本量,增(zeng)加模型对(dui)特(te)征学(xue)习的可能性;

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

 

2.2.4 各类(lei)目标的样本数量各有(you)多少?

防止标注(zhu)数(shu)量不均(jun)衡。例如,某一批图片(pian)中,共有类型(xing)A 1万张,类型B 200张。但是(shi)从视(shi)觉的角度看,A不(bu)是特(te)别难判定(ding)。这(zhei)种情况(kuang)下,将AB各标注(zhu)适量(例如都(dou)标注(zhu)200张)即可(ke),如果(guo)后(hou)续发现类型A检测效果(guo)不达预期,再对类(lei)型A进(jin)行标(biao)注(zhu)补充即可。这(zhei)样可以节省标(biao)注(zhu)时间(jian),且保证关注(zhu)的目标(biao)都可以有适量的训练数据,避(bi)免标(biao)注(zhu)的资源都被数据量特别(bie)大(da)的一类或几(ji)类独占(zhan)。

2.2.5 是否存在数据量特别少的目标类型?

一般来说,某类缺陷要(yao)被模型良好的(de)识别,需(xu)要(yao)相当数(shu)量(liang)(liang)的(de)图片。根(gen)据目标的(de)识别难(nan)易程度不(bu)同,所需(xu)要(yao)的(de)样本(ben)(ben)数(shu)量(liang)(liang)也不(bu)同,但是(shi)根(gen)据经(jing)验,每种关注的(de)类(lei)别的(de)样本(ben)(ben)数(shu)量(liang)(liang)应在100张以上才能(neng)确(que)保模型效(xiao)果相对良好(hao)且(qie)具有较好(hao)的稳定(ding)性(xing)和泛(fan)化(hua)性(xing),最少(shao)不应少(shao)于20张才能保证模型可(ke)以(yi)对该目标初步(bu)具备检测(ce)能力。如果某(mou)类(lei)数量(liang)少于20张,则(ze)属于样本量严(yan)重不足(zu)。在训(xun)练时应对(dui)数(shu)据(ju)量较少(shao)的类型会进行自动增广,但是依然难(nan)以保证(zheng)涵盖真实场景下的特(te)(te)征表达。因此(ci),对(dui)于(yu)数(shu)据(ju)量特(te)(te)别少(shao)的类别,可采取(qu)以下策(ce)略:

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

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

2.2.6 目(mu)标之间的(de)尺度(du)差异如何?

在业(ye)务场景中,可能会存在尺度差异较大的目标类别(bie)。如下图所示,1所指的(de)(de)(de)暗点相较于(yu)上面举(ju)例的(de)(de)(de)缺陷(xian)占整个画面的(de)(de)(de)比例要(yao)小很多,如(ru)果(guo)遇到这(zhei)种情(qing)况(kuang),从算法角度(du)考虑,确定(ding)算法对该类目标(biao)的(de)(de)(de)检(jian)测(ce)(ce)效(xiao)果(guo)(算法对于(yu)特别小的(de)(de)(de)目标(biao)的(de)(de)(de)检(jian)测(ce)(ce)效(xiao)果(guo)弱于(yu)正常尺寸目标(biao)的(de)(de)(de)检(jian)测(ce)(ce)效(xiao)果(guo)),如(ru)果(guo)模型(xing)可(ke)以(yi)正常检(jian)测(ce)(ce),则将(jiang)其当做一(yi)种普通类型(xing)标(biao)注即可(ke),否则,需要(yao)确定(ding)是(shi)否将(jiang)图(tu)(tu)片进(jin)行裁剪(jian)(例如(ru)切(qie)成九宫格),对每(mei)一(yi)张剪(jian)切(qie)后的(de)(de)(de)图(tu)(tu)片进(jin)行处理,再(zai)将(jiang)结果(guo)整合(he)到一(yi)张图(tu)(tu)上。如(ru)果(guo)采取这(zhei)种方式,则标(biao)注任务也最好基于(yu)剪(jian)切(qie)后的(de)(de)(de)图(tu)(tu)片上进(jin)行。

 

2.2.7 是否存在形态会在业务逻辑中发生较大变化的目标(biao)?

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

2.3 确定标注标准

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

在目标检(jian)测标注过程中,有(you)以下(xia)通(tong)用原则:

2.3.1 最大最小原则

指标注框在框选目标区(qu)(qu)域(yu)(yu)时,要(yao)(yao)尽量大,大到能够(gou)包含(han)目标区(qu)(qu)域(yu)(yu)的主要(yao)(yao)边(bian)界;要(yao)(yao)尽量小(xiao)(xiao),小(xiao)(xiao)到除了目标区(qu)(qu)域(yu)(yu)边(bian)界以外,不包含(han)其他无关(guan)区(qu)(qu)域(yu)(yu)。

2.3.2 宁无不(bu)错原则

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

2.3.3 适当噪声原(yuan)则

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

2.3.4 所标即所见原则

标注过程(cheng)中,不(bu)要添加主观想象力和先验知识,只标注从视觉上看(kan)到确(que)定是目标的(de)部(bu)分。

2.3.5 只标业务相关(guan)原则

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

2021年11月2日 09:07