win10中Anaconda(Python3.6)配置OpenCV3.3+深度神经网络实现
OpenCV3.3的发布带来的深度学习dnn模块的支持,模块支持
-
Caffe Tensorflow Torch
等多个深度学习框架,并且有多个网络API接口
-
GoogleLeNet AlexNet SqueezeNet VGGNet ResNet
等等。贡献者Rynikov Alexander对项目的详细介绍可以点击:查看。但是是用俄语写的,可以谷歌翻译来看。以下是不同网络的性能对比(翻译的不太好),另有,有很详细的功能说明和代码解释。 废话不多说,以下是我Anaconda(Python3.6)中配置OpenCV3.3的过程,以及深度神经网络示例程序的实现。
一、Anaconda安装
windows中安装十分简单,对应版本,根据官网指南安装即可,不再赘述。
二、opencv3.3安装
要在Anaconda中安装opencv3.3需要先下载安装包,然后启动Anaconda虚拟环境,利用pip命令即可安装。
-
opencv3.3下载地址: 选择相应版本,我根据系统选择64位python3.6的 刚才已经安装好了Anaconda,现在在win程序启动处打开Anaconda Navigatro 创建一个运行环境,选择python对应版本,起名opencv,我这里选择python3.6 在新建的opencv环境中打开一个命令终端 在新打开的终端中,进入下载的opencv安装文件,执行pip安装,安装成功,没有什么问题 接下来要安装numpy和matplotlib,分别执行下列代码进行安装 pip install numpy pip install matplotlib 目前位置,已经完成了Anaconda的opencv3.3的安装,在终端中运行测试,可以看出,链接库成功,打印出了3.3版本 import cv2 注:这种安装方式,只能在刚才创建的名为opencv的Anaconda环境中能使用,在普通cmd命令窗口不能使用opencv,原因是要另外配置环境变量,因为我的电脑里已经有一个opencv2.4.13了,为了避免两者混淆,我只在这个环境里使用。
三、深度神经网络的实现
官网给出了示例代码,下载下来,跑一跑。
-
官网地址 在页面最下面填写邮箱地址,根据提示步骤可以直接获取示例程序源代码 获取源代码以后,解压,可以看到里面有写好的示例程序和测试图片 打开新建的名为opencv的环境里的终端,进入刚才下载的文件夹内,执行以下命令:
python deep_learning_with_opencv.py --image images/vending_machine.png --prototxt bvlc_googlenet.prototxt --model bvlc_googlenet.caffemodel --labels synset_words.txt
-
可以看到,终端上输出了对物体识别的得分情况,并且在图片上打上了识别效果。 我在网上下载了一个图片,放在文件夹里面,再进行一波测试
python deep_learning_with_opencv.py --image images/dog.png --prototxt bvlc_googlenet.prototxt --model bvlc_googlenet.caffemodel --labels synset_words.txt
-
可见竟然将这只狗识别成了狼,输出的第二排名才是狗。 再试一波:
可见,有些识别的效果有点不忍直视,但是有些结果还是很不错了。而且速度也很快,这次识别所用的是googlelenet的caffe模型,也只能用跑好的网络来forward,想用opencv来训练估计还是不太行。总之,opencv提供的这个接口算是给全民ai做了不小贡献呢!
四、函数框架简介
-
在dnn中从磁盘加载图片: cv2.dnn.blobFromImage cv2.dnn.blobFromImages 用“create”方法直接从各种框架中导出模型: cv2.dnn.createCaffeImporter cv2.dnn.createTensorFlowImporter cv2.dnn.createTorchImporter 使用“读取”方法从磁盘直接加载序列化模型: cv2.dnn.readNetFromCaffe cv2.dnn.readNetFromTensorFlow cv2.dnn.readNetFromTorch cv2.dnn.readhTorchBlob
从磁盘加载完模型之后,可以用.forward方法来向前传播我们的图像,获取分类结果
参考:
-
(需要google翻译) 量子位期刊
上一篇:
JS实现多线程数据分片下载
下一篇:
爱彼迎数据采集与预处理-图片色彩分析二