Tensorflow实现:图像描述—Show and Tell: A Neural Image Caption Generator
Introduction
- Image Caption是一个融合计算机视觉、自然语言处理和机器学习的综合问题,它类似于翻译一副图片为一段描述文字。该任务对于人类来说非常容易,但是对于机器却非常具有挑战性,它不仅需要利用模型去理解图片的内容并且还需要用自然语言去表达它们之间的关系。除此之外,模型还需要能够抓住图像的语义信息,并且生成人类可读的句子。
- 简单理解为:为图片生成描述语言,输入为一张图片,输出为客观描述图片的句子。
- 研究难点与挑战:
(1)多模态理解与推理,包括:图片(捕捉真实世界的原始刻画);自然语言(代表更高一级的抽象)
(2)复合理解与推理,包括:多个元素(物体、动作、场景、事件等);多步、迭代过程 - 参考论文:Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge.
Oriol Vinyals, Alexander Toshev, Samy Bengio, Dumitru Erhan.
IEEE transactions on pattern analysis and machine intelligence (2016).
Full text available at: http://arxiv.org/abs/1609.06647 - 效果举例:
Database:MSCOCO、Flickr30k、Flickr8k
这里作者使用MSCOCO数据集,故只对MSCOCO数据集进行介绍。
- COCO数据集是微软团队获取的一个可以用来图像recognition+segmentation+captioning
数据集,其官方说明网址:http://mscoco.org/。
- 为了更好的介绍这个数据集,微软在ECCV Workshops里发表这篇文章:Microsoft COCO: Common Objects in Context。从这篇文章中,我们了解了这个数据集以scene understanding为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation进行位置的标定。
- 该数据集主要解决3个问题:目标检测,目标之间的上下文关系,目标的2维上的精确定位。
- COCO数据集分两部分发布,前部分于2014年发布,后部分于2015年,2014年版本:82,783 training, 40,504 validation, and 40,775 testing images,有270k的segmented people和886k的segmented object;2015年版本:165,482 train, 81,208 val, and 81,434 test images。
Database | 训练集 | 评估集 | 测试集 | 文字标注 |
---|---|---|---|---|
MSCOCO(2014) | 82783 | 40 |