开源|如何用Caffe深度学习框架实现A-Fast-RCNN

全球人工智能

文章来源:arxiv、Github 编译:马卓奇

文章投稿:[email protected]

  论文摘要:A-Fast-RCNN模型通过用对抗网络生成具有遮挡和变形的样本,并用其训练检测网络,从而使得网络能够对样本的遮挡和变形问题更加的鲁棒。

  如何学习一个具有变形和遮挡不变形的目标检测器?目前的方法是使用数据驱动的方法来收集大规模的数据集,然后其中会含有不同条件下的目标样本。人们希望最终的分类器可以使用这些样例来学习得到不变性。但是有可能在数据库中看到所有的遮挡样例吗?作者认为,与类别一样,遮挡和目标变形也遵循“长尾理论”。有的遮挡和变形样例很少见,甚至于几乎不会出现,但是我们需要学习一个可以对这些现象不敏感的模型。在这篇文章中,作者提出了一个替代方法。作者提出学习得到一个对抗式网络,可以生成具有遮挡和变形情况的样例。对抗网络的目标是生成让目标检测器难以分类的样例。在该算法框架下,原始的检测器和对抗式网络都是联合学习的。实验结果表明,与Fast-RCNN框架相比,我们的算法在VOC07数据库上的(mAP)有2.3%的提高,在VOC2012目标检测挑战数据库上平均识别精度(mAP)有2.6%的提高。我们也公布了这篇文章的代码。

  网络结构

  开源|如何用Caffe深度学习框架实现A-Fast-RCNN_第1张图片

ASDN网络结构以及与Fast RCNN的结合方法

  ASDN网络采用使用RoI池化层提取的图像块特征作为输入。ASDN网络产生一个遮挡/丢弃掩模(occlusion/dropout mask),在下一步用于丢弃特征值,并且传递给Fast-RCNN的分类塔

  代码实现:

  这是基于Caffe版本的A-Fast-RCNN。我们最开始是用torch实现的,但是Caffe复现的版本更简单,更快,使用起来也更方便。

  我们也发布了用对抗式空间丢弃网络(Adversarial SpatialDropout Network)来训练A-Fast-RCNN的代码。

  声明:

  该版本实现基于OHEM的代码复现,而它也是依次基于Faster R-CNN的Python代码和Fast R-CNN的代码实现的。如果使用相应部分的模型或代码,请引用他们的论文。

  OHEM代码地址:https://github.com/abhi2610/ohem

  Faster R-CNN代码地址:https://github.com/rbgirshick/py-faster-rcnn

  Fast R-CNN代码地址:https://github.com/rbgirshick/fast-rcnn

  运行数据效果:

  | Approach | training data | test data | mAP

  | Fast R-CNN (FRCN) | VOC 07 trainval | VOC 07 test | 67.6

  | FRCN with adversary | VOC 07 trainval | VOC 07 test | 70.8

  注:该结果基于VGG16网络

  安装地址:

  请根据安装说明进行准确安装,并且下载VOC数据库以及Faster R-CNN Python代码。

  下载地址:https://github.com/rbgirshick/py-faster-rcnn

  Github的使用方法运行代码

  ./train.sh

  包含三个阶段的训练:

  1 训练标准的Fast-RCNN,进行10000次迭代,可以在这里下载该阶段的作者的模型和训练日志。

  模型:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_std_iter_10000.caffemodel

  日志:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_std.txt.2017-04-08_16-53-59

  ./experiments/s/fast_rcnn_std.sh [GPU_ID] VGG16 pascal_voc

  2 对抗式网络的预训练阶段,可以在这里下载该阶段的作者的模型和训练日志。

  模型:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_adv_pretrain_iter_25000.caffemodel

  日志:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_adv_pretrain.txt.2017-04-08_19-39-49

  ./experiments/s/fast_rcnn_adv_pretrain.sh [GPU_ID] VGG16 pascal_voc

  复制上述两个模型的权重,用于初始化联合模型

  ./copy_model.h

  3 检测器和对抗式网络的联合训练,可以在这里下载该阶段的作者的模型和训练日志。

  模型:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_adv_iter_40000.caffemodel

  日志:https://dl.dropboxusercontent.com/u/334666754/CVPR2017_AFRCNN/fast_rcnn_adv.txt.2017-04-09_22-09-57

  ./experiments/s/fast_rcnn_adv.sh [GPU_ID] VGG16 pascal_voc

  GitHub资源:https://github.com/xiaolonw/adversarial-frcnn

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

  AIJob社是《全球人工智能》旗下专门为AI开发工程师免费服务的求职平台。我们将竭尽全力帮助每一个ai工程师对接自己喜欢的企业,推荐给你喜欢的直接领导,帮你谈一个最好的薪资待遇。

  微信咨询:aihr007简历投递:[email protected]企业合作:[email protected]

  全球人工智能》招聘5名兼职翻译:图像技术、语音技术、自然语言、机器学习、数据挖掘等专业技术领域,工作内容及待遇请添加工作人员微信:C691993。

你可能感兴趣的:(DL)