CNN-LSTM Image Captioning

Google基于CNN+RNN开发了一个Image Caption Generator: http://bengio.abracadoudou.com/cv/publications/pdf/vinyals_2015_cvpr.pdf

这个工作主要受到了基于RNN的机器翻译的启发。在机器翻译中,“encoder” RNN读取源语言的句子,将其变换到一个固定长度的向量表示,然后“decoder” RNN将向量表示作为隐层初始值,产生目标语言的句子。那么一个直观的想法是,能否复用上面的框架,考虑到CNN在图片特征提取方面的成功应用,将encoder RNN替换成CNN,先利用CNN将图片转换到一个向量表示,再利用RNN将其转换到sentence。可以通过图片分类提前训练好CNN模型,将CNN最后一个隐藏层作为encoder RNN的输入,从而产生句子描述。如下图所示。

CNN-LSTM Image Captioning_第1张图片CNN-LSTM Image Captioning_第2张图片


Moses Soh 的文章“Learning CNN-LSTM Architectures for Image” 实现了类似的架构。

视频: https://www.youtube.com/watch?v=XgJGvhkv_Mo

代码: https://github.com/mosessoh/CNN-LSTM-Caption-Generator





你可能感兴趣的:(Image,Captioning)