小猫咪都会的系列,超简单入门

深度学习之计算机视觉入门

部署一个训练好的深度神经网络

目标:能够在自己代码里面使用现有的神经网络模型

代码:

import caffe ## 用于使用深度神经网络
import matplotlib.pyplot as plt ## matplotlib.pyplot 用于输出可视化图像
import cv2 ## 用于图像编辑

## 设置工作目录
MODEL_JOB_DIR = '模型目录'  ## 该目录是用于存放已经训练好的深度神经网络
ARCH = MODEL_JOB_DIR + '/' + 'deploy.prototxt'    ##深度神经网络结构
WEIGHTS = MODEL_JOB_DIR + '/' + 'snapshot.caffemodel' ##深度神经网络权重
DATA_JOB = '数据目录'  ## 设置需要识别的图像目录

## 初始化已经学习好的深度神经网络
caffe.set_mode_gpu() ## 设置GPU
##  使用已经训练好的网络初始化Caffe模型
net = caffe.Classifier(ARCHITECTURE, WEIGHTS,  
                       channel_swap =(2, 1, 0), ## 3基色,红绿蓝
                       raw_scale=255) ## 每个像素的值是0到255
                       ## 每张图片每种基色 256 x 256 数值

## 加载需要识别的图像
input_image= caffe.io.load_image('需要识别的图像') ##加载需要识别的图像
plt.imshow(input_image) ##准备输入的图像
plt.show()              ##显示输入的图像,查看原始图像是否符合需求

## 更改图像以使其符合已经设置好的Caffe模型
input_image=cv2.resize(input_image, (256, 256), 0,0) ## 更改图像尺寸
plt.imshow(input_image)   
plt.show()
## 加载均值图像
mean_image = caffe.io.load_image(DATA_JOB + '/mean.jpg')
ready_image = input_image-mean_image
## 对图像进行识别
prediction = net.predict([ready_image])
## 输出结果
print("Output:")
if prediction.argmax()==0:
    print "这是猫"
else:
    print "这是狗!"

小结

使用图像识别模型分为以下几个步骤:1,初始化:将已经训练好的深度神经网络(这里使用的是Alex网络)导入模型(这里使用的是Caffe)2,预处理需要识别的图像:对图像尺寸,图像颜色处理。需要减除均值图像(相当于去除背景颜色)3,识别图像


更多的教程也会继续为大家更新,另外我整理一些python学习的视频教程,对python感兴趣的伙伴,回复:python即可获得领取!

发布了729 篇原创文章 · 获赞 191 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/chen801090/article/details/105563199