Deep Visual-Semantic Alignments for Generating Image Descriptions从环境配置到得出结果Chapter1

对于斯坦福大学2015年CVPR发表的论文《Deep Visual-Semantic Alignments for Generating Image Descriptions》提供的代码进行调试并应用。

Chapter1.环境配置(以Windows10 64位笔记本为例)
Caffe + 3rdparty包 + VisualStudio2013 + Matlab R2014a + Python2.7 + numpy-1.9.2 + scipy-0.13.1.win-amd64-py2.7 + argparse-1.4.0 +(若用GPU可选CUDA7.0 + 可选ActivePerl + 可选boost_1_56_0 + 可选opencv-2.4.10)配置流程。
①Caffe:(参考了http://blog.csdn.net/happynear/article/details/45372231
自己通过官方caffe包生成了一遍,实在是麻烦的不行,问题一个接着一个冒出来,经历一整天挣扎后放弃了。这里直接推荐下载happynear的caffe-windows-master,网址:https://github.com/happynear/caffe-windows,下载下来解压,建议直接放在某个盘根目录,如下所示:
caffe下载和安装
说明一下,下载下来的caffe-windows-master.zip解压后已经有3rdparty文件夹,
caffe文件夹内容
但是目前经过我的测试这个3rdparty包需要更新,看第②步。
②3rdparty包:
这是最新版3rdparty包的下载地址:http://pan.baidu.com/s/1nvH7whz
下载下来后,将原先caffe文件夹下的3rdparty文件夹全部替换。并在环境变量PATH里添加3rdparty包的路径用于后期工程索引。
环境变量
③VisualStudio2013安装:
点击链接
http://download.microsoft.com/download/0/7/5/0755898A-ED1B-4E11-BC04-6B9B7D82B1E4/VS2013_RTM_ULT_CHS.iso下载VS2013_RTM_ULT_CHS.iso,安装。
④Matlab2014a安装:
注意:尽量用2014版本,我用过2013版,容易出问题,估计是VS2013与Matlab2013之间的接口问题。点击链接下载(http://yunpan.taobao.com/s/ZFLGQjNABU,提取码:dxBxMJ)
⑤生成caffe.exe:(参考了http://www.jianshu.com/p/c43a0a4bb603
进入caffe-windows-master目录。双击./src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h和caffe.pb.cc两个c++文件和caffe_pb2.py。
caffe.exe
我只用到CPU,并没有使用GPU。直接使用./build_cpu_only/MainBuilder.sln。
build_cpu_only
工程打开后,默认启动工程是caffe,也就是我们需要编译的工程。点击生成按钮,过程稍微有点久。如果出现错误,按相应错误提示设置工程属性。最后在目录下已经有bin文件夹,其中生成了caffe.exe。
caffe.exe生成
⑥matlab wrapper编译:(继续参考http://www.jianshu.com/p/c43a0a4bb603
所谓的matlab wrapper编译,其实就是matcaffe这个工程的编译。
右击属性做一些修改。
C/C++ ->常规->附加包含目录中修改其中的matlab的include改为自己的路径,如 D:\Program Files\MATLAB\R2014a\extern\include。
链接器->常规->附加库目录中修改其中matlab改为自己的,如D:\Program Files\MATLAB\R2014a\extern\lib\win64\microsoft。
链接器->输入->附加依赖项,检查有没有libmex.lib; libmat.lib; libmx.lib,没有的话自己加上。
配置完成后,编译就可以了。
生成相应调用文件
最后会在.\matlab+caffe\private目录下生成caffe_.mexw64,这个就是matlab调用caffe的wrapper。
caffe_.mexw64文件生成
⑦测试你的环境是否配置成功:(参考了https://yq.aliyun.com/articles/5748
打开MATLAB,运行caffe自带的一个分类器的例子。
在MATLAB命令窗口中进行以下步骤。

cd Caffe_root_directory/ (注:Caffe_root_directory为你的caffe根目录)

切换到了Caffe根目录后,在命令窗口中输入

addpath(‘./matlab’);(注:这一步的目的是添加matcaffe模块所在路径到MATLAB搜索路径,便于加载。)

继续输入命令:

cd matlab/demo/

切换到demo目录后,输入

im = imread(‘../../examples/images/cat.jpg’);

读取一张测试图片cat.jpg(位于caffe目录的子目录下)。
再输入:

figure;imshow(im);

弹出一个窗口,显示猫的测试图片如下:
cat

继续输入:

[scores, maxlabel] = classification_demo(im);

运行一小会后,命令窗口会显示:

时间已过 0.933917 秒。
时间已过 0.051023 秒。
Cleared 0 solvers and 1 stand-alone nets

运行分类demo程序。分类的结果返回到scores,maxlabel两个工作空间变量中。继续输入:

maxlabel

窗口会显示:

maxlabel =

282
如图所示:
分类器例子
说明最大分类概率的标签号为282,查找ImageNet标签,对应的是n02123045 tabby, tabby cat(data/ilsvrc2012/synset_words.txt)
继续:

figure;plot(scores);

画出了scores分布,继续

axis([0, 999, -0.1, 0.5]);

调整坐标轴,继续

grid on

画出网格比对线。
最后图像如下:
结果
整体效果:
整体效果
如果能够正常出结果,就说明你的环境配置成功啦。对于Python2.7 + numpy-1.9.2 + scipy-0.13.1.win-amd64-py2.7 + argparse-1.4.0的安装不再多说,自己搜索相关教程进行安装。接下来进入正题,Stanford的图片描述生成实例Deep Visual-Semantic Alignments for Generating Image Descriptions。


版权信息

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值