此文仅当做给实验室大三学弟的笔记
论文地址:https://arxiv.org/abs/1611.06607
代码地址:https://github.com/InnerPeace-Wu/im2p-tensorflow
step1: 这里我建立了一个项目名字叫VG, 把训练数据,测试数据,源代码,输出结果都放在了VG目录下,方便管理。
下载好的代码,解压到VG中如下:
step2:然后去官网 http://visualgenome.org/api/v0/api_home.html 下载数据集,下完大概不到20G,然后载VG目录下建立images文件夹,然后将下好的数据集解压到images目录里面,如下图:
创建目录images:
解压下载好后的label:
有了代码和数据集,现在我们开始配置环境:
需要用到的package都载 requirements.txt里面,主要包括:
安装完这些包和库之后(如果安装有问题,可以留言) ,还需要安装一个java运行环境,因为用到了json和html网页相关的技术,使用命令:
sudo apt-get install openjdk-8-jre
安装即可
配置好训练和测试所需要的基本环境后,如果只想跑demo不训练的话:
进入到 VG/lib 文件夹,如下
然后执行 make ,编译完成后,就有了我们需要的依赖库了。
然后在VG下建一个data文件夹,用于存放待测试的图片,一个output文件夹,用于存放从这里https://drive.google.com/file/d/1yoJGXXpeSpQbU-6WpLsMXFLIka7xpTAy/view?usp=sharing 下载下来的模型,用于测试用的,如下图:
output下存放的文件如下:
然后在data下建立一个demo文件夹,放入你要测试的图片,demo文件夹下的待测试图片如下:
然后在VG/vis 目录下建立一个data文件夹,下面新建一个名叫 results.json的文件,用于存放输出的paragraph,结合html显示用.
然后在VG目录下执行:
bash scripts/dense_cap_demo.sh ./output/ckpt ./output/ckpt/vocabulary.txt
大概等30秒模型加载和前向计算后,在vis下会生成一个view_results.html文件,用于显示结果,点开后如下:
这是待测试图片:
这是输出结果:
可以看到输出结果对图片做了一个基本的文字描述。
注:认真看Readme和google都能解决,花了一个小时复现了下,当做给学弟的笔记, 训练自己的数据同理,只是路径修改一下。