语义分割源代码_自动网络搜索(NAS)在语义分割上的应用(二)

前言:本文将介绍如何基于ProxylessNAS搜索semantic segmentation模型,最终搜索得到的模型结构可在CPU上达到36 fps的测试结果,展示自动网络搜索(NAS)在语义分割上的应用。

随着自动网络搜索(Neural Architecture Search)技术的问世,深度学习已慢慢发展到自动化设计网络结构以及超参数配置的阶段。尤其在AI落地的背景下,许多模型需要部署在移动端设备。依据不同设备(GPU, CPU,芯片等),不同的模型需求(latency, 模型大小,FLOPs),使用NAS自动搜索最佳网络结构将会是一个很有潜力的方向。上一篇介绍了NAS的基本框架和入门必读DARTS [1],以及在semantic segmentation领域的应用。 距离现在才不过几个月,NAS论文数量明显增长:在理论研究方面,search strategy,evaluation performance的方法看似趋于稳定,不得不提到最近FAIR团队的RegNet [2]探讨了搜索空间的设计,通过大量实验把常见的设计模型的理论一一验证,我们可以根据它的结论缩小搜索空间从而提高搜索效率;在应用方面以还是object detection为主,也有segmentation, reID, GAN等领域。

NAS算是一项新技术,但是语义分割semantic segmentation却是老生常谈。自FCN的问世起,SegNet, UNet这种简单粗暴的encoder-decoder结构在多种图像上都能达到可以接受的结果,deeplab系列之后更是在开源数据集达到巅峰。从学术角度看semantic segmentation似乎已达到瓶颈,于是researcher们纷纷转向小样本,semi-supervised,domain adaption, cloud point等方向另辟蹊径。但是semantic segmentation落地却非常困难。在实际落地场景中,使用常见的backbone (resnet或yolo系列) 就能够完成各种object detection任务,但是在segmentation上效果却不好:

  1. 由于光线等原因,实际场景图像的intensity分布更复杂,而segmentation需要细分边界, 对像素值的判定尤为重要。然而,相比detection来说segmentation的数据标记成本高导致训练数据较少,只依靠data augmentation等手段提升有限。
  2. Segmentation是pixelwise的任务,因为它要处理到每一个pixel,所以模型一般都会比object detection的模型大许多(你看这个模型它又长又宽)。如果你的模型被要求real-time推理(>16 fps),那么准确度和速度必然会成为冲突,Double kill!
  3. 当语义分割用在了视频流,对准确度的要求会更高。即使每两帧只相差几个pixel,即使在mIoU的数值上相差无几,但是人眼看上去不够稳定,会有“抖动”的边界, Triple kill!
  4. 当语义分割模型走下云端,部署在算力有限的移动端,底层芯片可能对很多操作不支持,使得在原本在可以在GPU上开心玩耍的模型到了CPU上便一朝打回解放前, Quadra kill!

Semantic segmentation落地必须要平衡模型的准确度和速度,而设计这样的网络结构又十分困难。尝试了BiSeNet [3],ShuffleNetv2 [4],MobileNetv3 [5]等一系列小模型,但是准确度和速度都没达到要求。正所谓万丈高楼平地起,成功只能靠自己,最终还是要寄希望于NAS自动搜索出满足条件的模型。上篇介绍的NAS用在语义分割还在探索阶段,在GPU上运行并且尝试减小FLOPs或Params。但是FLOPs或者参数量与模型推理速度并不是正相关,只减少参数量不能满足实时推理的要求。后来的FasterSeg [6]看似速度惊人,其实也用了TensorRT来加速。本文将尝试在CPU上完成实时的人形分割的任务,选择ProxylessNAS作为baseline来搜索模型结构。实验结果证明了ProxylessNAS [7]还是经得起考验的,业界良心。

1.Overview of ProxylessNAS

选择ProxylessNAS [7]的原因不仅仅是它出自名门,代码开源,在Cifar10和ImageNet数据集的准确度能从一众NAS模型中脱颖而出, 而且它也是比较早的考虑到了模型性能的work(如速度,模型大小,参数量)。 除此之外,与DARTS [1]系列搜索的DAG cell不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值