CV学习笔记(三十二):图像分类八股

图像分类领域大佬众多,模型和论文更新速度也很快,很多数据集也早已经刷满,但回归到图像分类任务本体,大体的结构类似,一些经验也可以套用,因此记录下来,常看常新。

一:图像分类模型选择

选对了模型就已经成功了一半,针对不同的业务场景和硬件设备,我们应当选择合适的场景。

如果在服务器端部署,则可以考虑像ResNet_vd、Res2Net_vd、DenseNet、Xception这种精度较高但要求计算性能高的模型。

如果在移动端部署,首先要求的是考虑模型的体积和模型的运算速度,对及时性要求比较高,MobileNet家族比较合适。

二:模型的参数冗余

(1) 剪枝: 相对不重要的权值剔除,然后再重新对网络进行微调

(2) 模型量化: 浮点计算转成低比特定点计算的技术,如8比特、4比特等

(3) 知识蒸馏: 使用教师模型(teacher model)去指导学生模型(student model)学习特定任务

三:训练参数初始化

当对得到的预训练模型进行初始化(目标数据集不是很大) 自己手动设计的网络:

(1) Xavier初始化,针对Sigmoid函数提出的

(2) MSRA初始化, 使用较多RELU激活函数时

四:目标检测、图像分割、关键点检测等任务中选择分类模型作为骨干网络

(1) 在不考虑速度的情况下 ResNet50_vd_ssld, Res2Net200_vd_26w_4s_ssld

(2) 对图像分辨率的要求比较高,HRNet, HRNet_W18_C_ssld、HRNet_W48_C_ssld

五:模型收敛效果很差原因

(1) 检查数据标注是否正确

(2) 调整一下学习率过大(训练震荡)或者过小(收敛太慢)

(3) 数据量太大,选择的模型太小

(4) 数据预处理的过程中是否使用了归一化,如果没有使用归一化操作,收敛速度可能会比较慢

六:优化器选择(目的是为了让损失函数尽可能的小)

(1) 推荐 SGD,初始学习率设置得当并且迭代轮数充足情况下,可以获得更高的准确率

(2) 自适应学习率的优化器如Adam、RMSProp, 收敛速度往往比较快,但是最终的收敛精度会稍差一些.

七:学习率下降策略

(1) piecewise_decay(阶梯式下降学习率)

(2) polynomial_decay(多项式下降)

(3) exponential_decay(指数下降)

(4) cosine_decay(余弦下降),无需调整超参数,鲁棒性也比较高

八:选择合适的batch size

根据实际的模型大小和显存情况,可以将学习率设置为0.1k,batch_size设置为256k

九:数据增广方法

图像变换类 AutoAugment和RandAugment

AutoAugment 是在一系列图像增广子策略的搜索空间中通过搜索算法找到的适合特定数据集的图像增广方案。

论文地址:https://arxiv.org/abs/1805.09501v1

开源代码github地址:https://github.com/DeepVoltaire/AutoAugment

AutoAugment 的搜索方法比较暴力,直接在数据集上搜索针对该数据集的最优策略,其计算量很大。在 RandAugment 文章中作者发现,一方面,针对越大的模型,越大的数据集,使用 AutoAugment 方式搜索到的增广方式产生的收益也就越小;另一方面,这种搜索出的最优策略是针对该数据集的,其迁移能力较差,并不太适合迁移到其他数据集上。

在 RandAugment 中,作者提出了一种随机增广的方式,不再像 AutoAugment 中那样使用特定的概率确定是否使用某种子策略,而是所有的子策略都会以同样的概率被选择到,论文中的实验也表明这种数据增广方式即使在大模型的训练中也具有很好的效果。

论文地址:https://arxiv.org/pdf/1909.13719.pdf

开源代码github地址:https://github.com/heartInsert/randaugment

2.图像裁剪类 CutOut、RandErasing、HideAndSeek和GridMask

图像裁剪的这些增广并非一定要放在归一化之后,也有不少实现是放在归一化之前的,也就是直接对 uint8 的图像进行操作,两种方式的差别是:如果直接对 uint8 的图像进行操作,那么再经过归一化之后被裁剪的区域将不再是纯黑或纯白(减均值除方差之后像素值不为0)。而对归一后之后的数据进行操作,裁剪的区域会是纯黑或纯白。

上述的裁剪变换思路是相同的,都是为了解决训练出的模型在有遮挡数据上泛化能力较差的问题,不同的是他们的裁剪方式、区域不太一样。

3.图像混叠类 Mixup和Cutmix

Mixup 是最先提出的图像混叠增广方案,其原理简单、方便实现,不仅在图像分类上,在目标检测上也取得了不错的效果。为了便于实现,通常只对一个 batch 内的数据进行混叠,在 Cutmix 中也是如此。

与 Mixup 直接对两幅图进行相加不一样,Cutmix 是从一幅图中随机裁剪出一个 ROI,然后覆盖当前图像中对应的区域

4.遮挡情况, CutOut、RandErasing、HideAndSeek和GridMask等

5.色彩变换情况比较复杂的情况下,考虑使用AutoAugment或者RandAugment的数据增广策略

十:图像分类如何处理【其他】类别

举例:以水果图片识别分类任务为例,可以采用图像分类算法建立多分类模型,如何处理非水果图片【其他】类别?最常规的做法是随机采集一些图片作为【其他】类别与水果图片一起训练多分类模型,但这仍旧有很大的局限性,毕竟没法穷举所有的【其他】类别图片。

思路:

1:在做任何分类前提,非常重要的一点是分类体系的完备性和系统性。尽量做到分类体系的专业性(最好能形成专家系统)。这要有一定常识和理论的支持。不能简单的说【其他】类别。你要确定好产品的输入,一旦出现这些分类的不完整性,我们应该和测试和产品和用户达成闭环,去完善这个分类体系。如果这个前提做不好,后面的工作就会有很多麻烦。比如测试。常常就会争吵说我觉得应该分到什么类别。

2:第二个问题即使是我有一个完备的分类体系也存在两个问题

1、分类体系总有边界模糊

2、算法总会有误差的

这个我觉得应该不是开发人员的问题。应该通过业务手段避免。开发人员只能尽量提高准确率。

所以一般现在的深度学习工程应用,大多都得限制场景,我们准确率召回率都得在我们已知的场景中才能适用,正因如此,深度学习之所以能落地。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容