FCN语义分割初探——使用训练好的模型进行分割
2017-11-23 20:21
1041 查看
前言
由于课题的需要,最近开始研究FCN语义分割,这几天将环境搭建好了立即测试了一下,这里分享出来与大家进行分享。1. 准备
1.1 运行环境
这里使用到的环境是Ubuntu下PyCaffe,具体的环境搭建大家可以参考我的这篇博客进行环境搭架。Ubuntu16.04下安装Caffe记录(GPU)这里使用到的FCN语义分割源码可以从Github上进行下载,fcn.berkeleyvision.org,本次实验使用到的是fcn8s-heavy-pascal.caffemodel。具体的网址的在该文件夹下的caffemodel-url中,复制里面的内容迅雷下载就好了,文件大概500多M
2. 运行
这次使用的到主要为infer.py这个文件,这里直接给出内容import numpy as np from PIL import Image import matplotlib.pyplot as plt import sys sys.path.append('/home/sucker/Desktop/caffe-1.0/python') sys.path.append('/home/sucker/Desktop/caffe-1.0/python/caffe') sys.path.append('/home/sucker/Desktop/caffe-1.0/build/lib') import caffe #注意我这里没有将Pycaffe的目录导入到环境变量里面,直接添加的目录 # load image, switch to BGR, subtract mean, and make dims C x H x W for Caffe im = Image.open('timg.jpeg')#网上找的测试图片 in_ = np.array(im, dtype=np.float32) in_ = in_[:,:,::-1] in_ -= np.array((104.00698793,116.66876762,122.67891434)) in_ = in_.transpose((2,0,1)) # load net net = caffe.Net('deploy.prototxt', 'fcn8s-heavy-pascal.caffemodel', caffe.TEST) # shape for input (data blob is N x C x H x W), set data net.blobs['data'].reshape(1, *in_.shape) net.blobs['data'].data[...] = in_ # run net and take argmax for prediction net.forward() out = net.blobs['score'].data[0].argmax(axis=0) plt.imshow(out,cmap='gray'); plt.axis('off') plt.savefig('test1.png')
修改好之后,就开始进行测试,在infer.py目录下输入
python infer.py
运行完成之后就可以看到,分隔好的图像了
ref:caffe初步实践———使用训练好的模型完成语义分割任务
相关文章推荐
- caffe初步实践---------使用训练好的模型完成语义分割任务
- 全卷积神经网络 图像语义分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)
- caffe初步实践---------使用训练好的模型完成语义分割任务
- 全卷积神经网络 图像语义分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测
- 训练LSTM模型进行情感分类在IMDB数据集上,使用Keras API(Trains an LSTM model on the IMDB sentiment classification)
- 使用三种继承回归模型对美国波士顿房价训练数据进行学习,并对测试数据进行预测
- 使用MapReduce对svm模型进行训练
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测
- (译)使用判别训练的部件模型进行目标检测 Object Detection with Discriminatively Trained Part Based Models
- caffe随记(八)---使用caffe训练FCN的pascalcontext-fcn32s模型(pascal-context数据集)
- [置顶] Object Detection with Discriminatively Trained Part Based Models(使用判别训练的部件模型进行目标检测 )
- caffe初探3:结合数据集与设计的网络模型进行训练
- 使用判别训练的部件模型进行目标检测 Object Detection with Discriminatively Trained Part Based Models
- 使用MATLAB加载训练好的caffe模型进行识别分类
- 使用kaldi进行语音自动切分、模型训练和强制对齐
- Tensorflow保存模型,恢复模型,使用训练好的模型进行预测和提取中间输出(特征)
- 使用tf-slim的ResNet V1 152和ResNet V2 152预训练模型进行图像分类
- caffe随记(九)---利用FCN和已有的model进行图像语义分割
- caffe+python 使用训练好的VGG16模型 对 单张图片进行分类,输出置信度