摘要:这里介绍其中一种带标签扩充数据集的方法。
前言
前一段时间接触了几位用户提的问题,发现很多人在使用训练的时候,给的数据集寥寥无几,有一些甚至一类只有5张图片。modelarts平台虽然给出了每类5张图片就能训练的限制,但是这种限制对一个工业级的应用场景往往是远远不够的。所以联系了用户希望多增加一些图片,增加几千张图片训练。但是用户后面反馈,标注的工作量实在是太大了。我思忖了一下,分析了一下他应用的场景,做了一些策略变化。这里介绍其中一种带标签扩充数据集的方法。
数据集情况
数据集由于属于用户数据,不能随便展示,这里用一个可以展示的开源数据集来替代。首先,这是一个分类的问题,需要检测出工业零件表面的瑕疵,判断是否为残次品,如下是样例图片:
![ba4e7be31b0b290ed28f53625ae317df.png](https://img-blog.csdnimg.cn/img_convert/ba4e7be31b0b290ed28f53625ae317df.png)
这是两块太阳能电板的表面,左侧是正常的,右侧是有残缺和残次现象的,我们需要用一个模型来区分这两类的图片,帮助定位哪些太阳能电板存在问题。左侧的正常样本754张,右侧的残次样本358张,验证集同样,正常样本754张,残次样本357张。总样本在2000张左右,对于一般工业要求的95%以上准确率模型而言属于一个非常小的样本。先直接拿这个数据集用Pytorch加载imagenet的resnet50模型训练了一把,整体精度ACC在86.06%左右,召回率正常类为97.3%,但非正常类为62.9%,还不能达到用户预期。
当要求用户再多收集,至少扩充到万级的数据集的时候,用户提出,收集数据要经过处理,还要标注,很麻烦,问有没有其他的办法可以节省一些工作量。这可一下难倒了我,数据可是深度学习训练的灵魂,这可咋整啊。
![21aea226f3b611e4142c611eb211cf41.png](https://img-blog.csdnimg.cn/img_convert/21aea226f3b611e4142c611eb211cf41.png)
仔细思考了一阵子,想到modelarts上有智能标注然后人工校验的功能,就让用户先试着体验一下这个功能。我这边拿他给我的数据集想想办法。查了些资料,小样本学习few