Google基於CNN+RNN開發了一個Image Caption Generator: http://bengio.abracadoudou.com/cv/publications/pdf/vinyals_2015_cvpr.pdf
自動描述映像內容的應用:協助視力有缺陷的人更好的理解網路上的圖片。
這個任務比電腦視覺領域通常關注的映像分類、物體識別任務更難。任務的目的:object+object relation + object attributes + activity involved in 同時expressed in natural language,這就要求除了視覺理解外,還需要一個語言模型。已有的一些方法,主要是將上述子問題的解決方案融合在一起,來實現圖片到描述的產生。相反,本文希望提出一個單一的模型,輸入是圖片I,訓練的目標是最大化似然機率P(S|I),S是目標word序列S={S1,S2,…},Si來源固定詞典。
本文的主要思路來自於近期在機器翻譯上的進展,即通過最大化P(T|S)序列的似然機率,實現源語言S到目標語言T的序列翻譯。近些年機器翻譯可以通過採用RNN(Recurrent Neural Network)來簡單的達到state-of-art水平。主要結構是Encoder(RNN)+Decoder(RNN)實現。
在本文中,基本保持了這套方法,只是把Encoder中的RNN替換成了CNN。通過CNN,輸入image可以被embedding為a fixed-length vector。因此,通過預訓練一個CNN的圖片分類任務,可以得到image encoder,之後用最後一個隱層(hidden layer)作為RNN decoder的輸入,來產生sentence。這個模型被稱為Neutral Image Caption(NIC)。
本文的主要貢獻:1)end-to-end 系統;2)模型是對state-of-art的sub-network的組合,這些子網路可以在其他的大規模語料上充分的預訓練;3)NIC的效果超出state-of-art。BLEU在Pascal dataset上,得分對比是59/25,human得分69。
參考:
這篇論文的中文翻譯:http://www.jianshu.com/p/3330a56f0d5e
注意:雖然沒有找到這篇論文的原始碼,但是Moses Soh的文章實現了類似的架構。
Moses Soh 的文章“Learning CNN-LSTM Architectures for Image” 實現了類似的架構。
文章的下載地址:https://cs224d.stanford.edu/reports/msoh.pdf
視頻: https://www.youtube.com/watch?v=XgJGvhkv_Mo
代碼: https://github.com/mosessoh/CNN-LSTM-Caption-Generator