前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战 | 一行代码让你的电脑可以看图说话

实战 | 一行代码让你的电脑可以看图说话

作者头像
潘永斌
发布2019-10-08 16:57:32
6000
发布2019-10-08 16:57:32
举报
文章被收录于专栏:看那个码农看那个码农
Image caption(图像描述)顾名思义,就是电脑根据算法让输入的一幅图像自动生成对应的描述性文字。有点类似于人的看图说话,即是让电脑对图像进行理解的过程。

Image Caption 任务是一个需要综合计算机视觉和自然语言处理的任务,需要使用计算机建立某种映射方式,将处于视觉模态当中的数据映射到文本模态当中,即让视觉和文字二者之间产生某种对应关系。

让电脑识别图像里的内容,并将电脑自己对图像的描述生成出来。如下所示。

总的来说,这样的映射任务需要如下两个基本需求:

1)语法的正确性,映射的过程当中需要遵循自然语言的语法,使得结果具有可读性;

2)描述的丰富程度,生成的描述需要能够准确描述对应图片的细节,产生足够复杂的描述。

本篇文章的主要内容是针对2015年Google设计的Im2txt这一图像描述模型所做的实验

模型论文链接:

ttps://arxiv.org/abs/1609.06647

Im2txt模型

该模型是一个encoder-decoder模型。

encoder是编码器,它是一个CNN模型,常用于图像识别,目标检测等领域。各种常见的卷积网络都可以,比如VGG,Inception,ResNet等等。

decoder是译码器,它是一个LSTM模型,常用于语言模型或机器翻译等领域。我们把encoder中输出的固定长度的向量输入到decoder中,获得关于图像的描述。

电脑环境准备

Python3.6

tensorflow-1.12

(建议使用Anaconda进行Python的安装,下载网站可以关注本公众号浏览上篇推文《你知道这些常用的Python IDE吗?》获取,在这里使用Anaconda的另一个目的是因为,tensorflow框架可以在安装完Anaconda后,使用pip install tensorflow 就可以安装)

模型和代码准备

这里提供的模型和代码是我已经训练和调试过的,直接下载就可以使用。

im2txt文件夹中是项目主要程序

images文件夹中是需要测试的图片

model文件夹中是训练好的模型

img2txt.py是可以直接执行的python文件

img2txt.ipynb是jupyter文件

在项目文件根目录执行代码:python img2txt.py或者用jupyter打开img2txt.ipynb。就可以运行代码,进行实验。

(注意:需要在img2txt.py文件中将代码的模型路径更改为你放置下载模型的路径)

就是此三行代码,注意更改。

一切准备就绪后即可运行代码。

运行结果

图1.0 电脑识别图片生成语言描述测试一

图1.1 电脑识别图片生成语言描述测试二

图1.2 电脑识别图片生成语言描述测试三

综上来看,该模型基本实现了让电脑进行看图说话的能力,但是在准确性和适用性上还尚有欠缺,有很多可以去修改和完善的空间。

从近年发表的论文和科研研究成果来看

作者们是在此基础上不断改进模型结构,增强数据集,以此增强识别准确度,让电脑逐步变成一个真正的“人”。

可以说人工智能离我们越来越近了。

你害怕吗?

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 看那个码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档