使用caffe-future完成FCN网络的训练

本文介绍了如何使用Caffe-Future在自定义数据上训练FCN网络,涉及修改网络结构数据、部署文件、训练验证文件以及解决数据输入问题。详细步骤包括从VGG16模型改造、数据预处理和生成、训练过程设置。
摘要由CSDN通过智能技术生成
FCN算是当前最火的一个深度网络了,目的在与解决密集估计(Dense prediction)(例如语义分割/显著性检测等任务)问题。自从去年11月提出之后,就广受欢迎,并且获得了CVPR2015最佳论文奖(提名)。具体论文大家可以参见arViv论文,caffe-future代码可以从caffe-future 获得。
本篇中简要说说如何在自己的数据上训练自己的FCN网络,具体的理论知识,等过了考试月我再加入进来。

准备数据

网络结构数据(.caffemodel & .prototxt)

本篇文章我们采用VGG 16模型,原模型文件大家可以从Caffe的Model Zoo 下载。

由于这一模型是做图像分类的,因此,我们需要将其从全连接层(fc6和fc7)往上的层全部“砍掉”,。其实在FCN的Model Zoo中,论文作者已经为我们写好了他修改的模型定义文件 (该模型是FCN-16s,其他的8s/32s也可在Model zoo中找到下载链接)。作者是在Pascal VOC Context Segmentation上进行的。但是对于这一定义文件仅仅是针对于一个59类别的语义分割任务展开的,因此,我们还需要进一步修改prototxt文件,但这已经远远要比自行从VGG 16的定义文件修改容易得多。

修改定义文件

修改deploy.prototxt

deploy.prototxt是用于模型测试时的模型定义文件。我们需要将作者所有的score层中的num_output: 60修改为自己的输出值。在作者的数据集中,共有59类别和一个背景类别,因此是60.

之前刚刚说过,我们需要将模型的后几层“砍掉”,其实,在实际操作中,并不是将其砍掉不顾。而是:我们在网络定义文件中新建自己的层,将原来的fc6/7弃之不用即可。那么对于Jonathan Long提供的

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值