image caption项目调研及实践

image caption, 或者说叫image story teller,就是用一句话把一张图片的内容描述出来。

比较先进的是以下这篇论文所描述的方法:

Vinyals, Oriol, et al. "Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge". In IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016. [pdf]

它采用一个CNN+LSTM的架构。CNN将一张图片映射为一个固定维数的向量,维数和LSTM中词的词嵌入维数相同,然后和LSTM中的序列一样,参与最终句子生成概率的预测。文中将CNN的映射看作LSTM的第-1层。所以整个模型的目标就是:已知当前图片作为输入的情况下,使描述图片的句子的概率最大。算法细节详见论文。

下面这个github项目是上面论文架构的tensorflow版本的实现:

Tensorflow-im2txt: https://github.com/tensorflow/models/tree/master/im2txt

后来Google Brain团队用这个方法参加了 2015 MSCOCO竞赛,和MS的团队并列第一。在models目录下有好多其它的tensorflow项目,咱们需要的是im2txt项目,但是使用时要把整个models目录都git clone下来。以上github链接中有详细的环境构建、构建训练数据以及训练模型的方法,下面简要叙述。

首先是环境的配置,要安装tensorflow1.0或更高版本,安装tensorflow的时候出现了好多错误,最终是在python的virtual env中安装成功的,具体安装方法可以参考tensorflow官方文档。然后要安装nltk和nltk data,安装nltk data的时候如果使用自带的接口下载,速度极慢,所以可以自行下载nltk然后导入

时间: 2024-11-10 14:44:15

image caption项目调研及实践的相关文章

2014年10月28~10月30日,某大型医疗企业产品管理和产品经理体系建设咨询项目调研启动!

2014年10月28日上午,国内某大型医疗企业产品管理咨询项目调研正式启动!此次调研项目由杨学明老师担任项目经理,调研之前,客户方技术副总裁与杨老师做过多次沟通,并就此次调研的重点作了充分探讨.杨学明老师此前在医疗行业有丰富的产品管理经验,并曾领导某深圳企业完成多个医疗产品的规划与研发管理工作,此次调研一共派出两名顾问.在调研启动会上,杨老师介绍了此次调研的目的.目标和计划安排,并提出了需要大家配合的事项. 三天的调研,从企业副董事长到产业集团总经理,一共访谈人数22人次,针对该企业产品管理十分

前端项目模块化的实践2:使用 Webpack 打包基础设施代码

以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 (实现中) 本文是关于前端项目模板化的第2部分 现状 实际项目远远比示例使用的 myGreeting 复杂,比如 为了提高可维护性我们将项目折成了许多功能模板: 我们希望使用 Promise 等语法等,但是顾忌目标环境的支持能力: 可能依赖了多个第三方类库: 为了提高加载速度我们打包时需要进行很多额外工作: 代码压缩: Tre

软件项目需求开发过程实践之业务建模用例图

本次软件工程项目是重建办公业务流程管理平台,需要在继承原370个流程基础上,还需要提供快速流程开发能力,并要求体现出流程管理的规范性,以及流程的执行力.效率.效益,最终为企业管理创新提供流程再造的能力. 在项目前期及需求分析阶段,开发人员致力于"降低成本",以最小的代价完成项目,其可预见性的软件产品是经过系统平台升级的,并经过改良的第二个办公业务流程管理平台.按客户验收要求,"只能打60分,是不能给予验收". 在软件开发中,需求工作致力于解决"产品好卖&q

项目管理理论与实践(2)——软件需求分析

一.需求分析的目的 1. 马斯洛的需求层次理论 具体可以参考:(http://baike.baidu.com/view/295140.htm) 2. 需求分析的目的 1)与相关干系人在工作内容方面达成并保持一致 2)使设计.开发.测试人员能够更清楚地了解需求 3)定义系统边界,形成需求基线 4)为估算系统的规模.工作量.成本和进度提供基础 5)为开发计划的形成提供范围(SOW)基础 二.需求工程概述 1. 什么是需求工程?用一张图可以形象的表示 需求也属于一门工程学,需求工程包括需求开发.需求管

项目管理理论与实践(1)——企业项目管理介绍

一.企业项目管理的概念 1. 什么是项目管理 这里把"项目管理"关键词拆解为2个词:项目.管理. 项目:为完成某一独特产品或服务所做的一次性努力. 管理:同别人一起,或通过别人使活动完成得更有效的过程. 项目管理:把各种系统.方法.人员结合在一起,在规定的时间.预算和质量目标范围内完成项目的各项工作. 2. 项目管理都管理什么 项目范围管理,项目时间管理,项目成本管理,项目质量管理,其他相关的包括:人力资源管理,沟通管理,风险管理,采购管理,整体管理 3. 项目管理的演变 1)针对单个

软件项目需求开发过程实践之软件需求说明书

软件需求说明书为谁而编写?把这个问题搞清楚是非常有意义的. 先讲个故事. 在软件项目开始时,需求及架构设计人员把需求和架构方案讲给开发人员听,开发人员还在设计"他那辆车",没有听明白?需求及架构设计人员接着写出一些列文档后,开发人员还在设计稍作调整"他那辆车",沟通出现了问题了吗?项目完成后,最后结果仍是开发人员所设计的,已经变形的"他那辆车". 问题的源头当然在需求,需求人员又如何把需求调研结果无损的分享给"相关人员"呢?其

项目集管理:管理大型项目、项目群与复杂项目的最佳实践

项目集(大型项目与项目群)管理(Program Management)是指对多个关联项目的集中管理与协调管理.项目集管理是组织高级管理人员在更高层面对大型战略项目与组织多项目的高级管理. 项目集管理是对一个项目集采取集中式的协调管理,以实现这个项目集的战略目标和收益,它包括把多个项目进行整合,以实现项目集目标,并使得成本.进度和工作可以被优化或集成.. 在项目集内的项目通过一个共同的成果或其交付的集合能力相关联.如果项目间的关系只是共有客户.供应商.技术或者资源,则此类工作应作为项目组合而不是作

个人项目开发PSP实践-MyWCprj

MyWCprj.exe Github仓库地址 1. What is MyWCprj.exe? wc是linux下一个非常好用的代码统计小工具,可以通过 -c .-w .-l等选项分别进行对指定文件的代码字符数.词组数.行数统计. 应学校软件工程课程的PSP个人项目开发实践需要,特此尝试自己写一个用c++实现的wc(MyWCprj.exe). 该程序仅能确保统计.c .cpp .h文件代码数的正确性. 语法 MyWCprj.exe [parameter] [fileOrDir_name1] [fi

关于项目调研

一.柠檬时代app 1.作品内容: 该作品主要为每一所高校的大学生量身定制的手机生活助手,由您自主运营的校园手机客户端.开放的自定义平台,汇聚本校周边所有生活服务.外卖商家.娱乐休闲.新鲜事儿.知名社团.周边商铺.校园达人等栏目. 2.作品来源: 中国“互联网+”大学生创新创业大赛:http://plus.jlu.edu.cn/item.php?id=3463.入选理由及评价: 大学生活app我一直挺推从的,在我看来,该作品服务于高校学生,给了大学生自己定义的平台,这点是很有创意的,特别是对于大