cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)
cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)
2024-06-29 10:23:29  作者:哗众取宠  网址:https://m.xinb2b.cn/tech/ftb223314.html

栗子 发自 凹非寺

量子位 报道 | 公众号 QbitAI

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(1)

古往今来,大家都知道:只要图像一平移,CNN就认不出来了

原因就在降采样身上。不管是最大池化,跨步卷积,还是平均池化,都对平移太敏感:

比如,0、0、1、1、0、0、1、1……这样的周期,最大池化是这样:

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(2)

但如果平移一格,最大池化完全变了一个样子:

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(3)

虽然,有著名的抗锯齿 (Anti-Aliasing,AA) 方法,致力解决这个问题。但把这种模块直接插进网络,会严重影响模型的表现。

现在,来自Adobe的Richard Zhang (简称“理查”) ,让抗锯齿和各种降采样和平共处了

在保留平移不变性的情况下,还能提升ImageNet上的分类准确率。VGG、ResNet、DenseNet……各种架构都适用。

不止如此, 面对其他干扰更稳定了,如旋转如缩放;面对输入图像的损坏,还更鲁棒了。

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(4)

研究登上了ICML 2019,代码已经开源,还有演讲可以看。Reddit热度已经超过了250,观众纷纷表达了谢意:

论文很厉害,演讲也很好。

怎样和解的?

想知道怎样帮助CNN保留平移不变形,就要了解平移不变性是怎样打破的。

理查观察了VGG的第一个卷积层,发现它对平移毫无波澜,并不是在这里打破的。

但再观察第一个池化层,对平移有了反应:平移偶数个像素,表征还不改变,平移奇数个像素,表征就完全变了。

向网络深处走,经过的池化层越多,问题就越严重。

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(5)

△抗锯齿

想解决这个问题,就要把抗锯齿降采样友好地结合到一起。

于是,理查又仔细查看了降采样过程,把它 (按顺序) 分成了两个部分:

一是取最大值,用密集的方式。二是在中间特征图 (Intermediate Feature Map) 上做子采样 (Sub-Sampling) 。

第一步没有问题,完全不会出现锯齿。

第二步就要改了。理查给中间特征图,加了个模糊滤波器 (Blur Filter) 来抗锯齿,然后再做子采样:

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(6)

△(2)为滤波器

那么,“抗锯齿版最大池化”效果怎么样?

平移不变性与准确率兼得

理查用ImageNet分类任务测试了一下进化后的VGG,原以为会损失一些准确率,结果:

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(7)

△右为抗锯齿

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(8)

△空心为抗锯齿

在解锁平移不变性的同时,准确率还提升了。

如果降采样方法不是最大池化,又怎么样呢?

所以,理查还测试了ResNetMobileNetv2,它们用的是跨步卷积;以及DenseNet,它用的是平均池化:

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(9)

△空心为抗锯齿

这些架构也获得了类似的提升。全面成功。

上面只讲了分类这一项任务。而进化后的降采样,在图到图翻译任务上也同样有效。

不惧各种变换,以及图像损坏

不只是平移,像旋转、缩放这样的干扰,都可以应对自如;另外,面对输入图像损坏 (Image Corruption) ,也变得更加鲁棒了。

ImageNet-P数据集里,有受到各类干扰的图像;而ImageNet-C数据集里,包含了系统性损坏的图像。

cnn做图像分类详解(给CNN平移不变性同时提升ImageNet成绩)(10)

△mCE=Mean Corruption Rate, mFR=Mean Flip Rate

左边一栏 (除了Baseline) 之外,是不同的滤波器,从上到下依次变强。mCEmFR,都是越小越好。

数据显示,各种滤波器都能有效增强,应对干扰的稳定性,和应对图像损坏的鲁棒性。其中,最强的过滤器Bin-5表现最佳。

One More Thing

如果小伙伴们没有看够,可以点开演讲视频:

然后,还有一大波传送门。

论文在此:

https://arxiv.org/abs/1904.11486

项目主页:

https://richzhang.github.io/antialiased-cnns/

开源代码:

https://github.com/adobe/antialiased-cnns/

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

  • 何炅汪涵选湖南卫视主持人的节目(百名00后进击马栏山)
  • 2024-06-30百名00后进击马栏山湖南日报·新湖南客户端7月31日讯(记者邓正可)首批踏入社会的00后,怎样寻求发展出路,如何应对职场竞争?7月31日起每周日晚8时10分,由湖南卫视、芒果TV、小芒电商共同打造的首档00后成长纪实节目。
  • 最终幻想14满级后做什么(最终幻想14满级必做任务盘点)
  • 2024-06-30最终幻想14满级必做任务盘点相信有不少新手玩家在努力之下也早早达到了50级,是的50级就是满级了,如果不想玩其他职业的话,这个50就会陪伴你很长很长的一段时间了①你真的满级了吗?一个职业50?除了转职需要的副职15,其他全是0?。
  • 0x0000008e蓝屏代码是什么(0x0000008e蓝屏代码的解释及解决方法)
  • 2024-06-300x0000008e蓝屏代码的解释及解决方法蓝屏代码所出现的原因只有2个,其一为外界原因,其二为内置原因0x0000008e蓝屏代码所代表的意思为“内存错误”、“软件不兼容”、“电脑温度过高”,因此,才会导致电脑的死机解决内存错误:首先,我们需。
  • 成活率怎么算(成活率的计算方法)
  • 2024-06-30成活率的计算方法成活率=成活的数量÷总数量×100%成活率在医学上指病人医治成活的概率,故称“成活率”成活率通常用百分比数(%)来表示,如:100%,10%等成活率与死亡率往往是相对的当成活率为75%时,死亡率为10。
  • 垃圾分类四种介绍(垃圾分类袋子属于什么垃圾)
  • 2024-06-30垃圾分类袋子属于什么垃圾袋子是生活中常见的物品,装垃圾会用到,每到超市买一次东西,也会附带一个袋子在过去,袋子我们都是随便扔,而随着垃圾分类的实施,袋子也要扔到它专属的垃圾桶里那么,袋子属于什么垃圾呢?袋子属于什么垃圾?一般。
  • 二代身份证是什么意思(证件有什么特点)
  • 2024-06-30证件有什么特点第二代居民身份证是由多层聚脂材料复合而成的单页卡式证件,采用非接触式IC卡技术制作,具备视读和机读两种功能,证件尺寸与信用卡基本一致证件正面印有国徽、证件名称、长城图案、签发机关和有效期以及彩虹扭索花。
  • 男孩身高多少才能停止长高(男孩身高几岁开始定型)
  • 2024-06-30男孩身高几岁开始定型孩子的身高一直是家长们关注的事情,尤其是男孩子的身高有一类家长会从遗传学的角度来思考,认为父母双方都是高个子,孩子一定不会矮就比如我家我爸爸185,我妈妈174,我和姐姐都是170左右,所以对于弟弟的。
  • 刺五加皮有补气的作用(送你一味刺五加)
  • 2024-06-30送你一味刺五加这段时间,新冠疫情反复,提高自身的免疫力,正是当务之急《黄帝内经》:“正气存内,邪不可干”然而,言及提高免疫力,众人皆知人参、黄芪功效显著,却鲜有人知晓刺五加的药性也是不俗今天,就想和你聊一聊刺五加刺。
  • 公猫和母猫是怎么接吻的(猫咪的交配过程)
  • 2024-06-30猫咪的交配过程人类谈到性,大多数都会认为夫妻生活是一件令人愉悦的事情——它让人们放松,释放力量然而,据美国《知识坚果》网近日报道,在喵星人的世界中,却有所差别想想看,你是不是有过这样的体会:每次喵星人在交配的过程中。
  • 青鸭羹(青鸭羹的做法)
  • 2024-06-30青鸭羹的做法主料:鸭1500克辅料:草果3克,赤小豆250克调料:盐8克,大葱15克将青头鸭宰杀后,煺毛、去内脏,洗净备用将赤小豆淘洗干净赤小豆同草果装入青头鸭腹内将鸭放入铝锅内,加水适量用火炖煮,待鸭炖熟加食盐。