CN106951473B - 面向视觉障碍人士的深度视觉问答系统的构建方法 - Google Patents
面向视觉障碍人士的深度视觉问答系统的构建方法 Download PDFInfo
- Publication number
- CN106951473B CN106951473B CN201710128118.6A CN201710128118A CN106951473B CN 106951473 B CN106951473 B CN 106951473B CN 201710128118 A CN201710128118 A CN 201710128118A CN 106951473 B CN106951473 B CN 106951473B
- Authority
- CN
- China
- Prior art keywords
- vector
- picture
- answer
- obtains
- term vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Library & Information Science (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种面向视觉障碍人士的深度视觉问答系统的构建方法,该方法在训练阶段:先采集到的图片和相应的问答文本构成训练集;对于图片采用卷积神经网络提取图片的特征;对于问题文本,使用词向量的技术将问题转换为词向量列表,并作为LSTM的输入对问题特征进行提取;最后将图片和问题特征进行元素点积后进行分类操作获得答案预测值,与训练集中的答案标签进行比对计算损失,然后用反向传播算法对模型进行优化。在运行阶段:客户端获得用户拍摄的照片和提问文本并上传到服务端,服务端对上传的照片和问题文本输入到训练好的模型中,以同样的方式提取特征,通过分类器输出相应的答案预测值回馈到客户端;客户端以语音输出的形式反馈给用户。
Description
技术领域
本发明涉及深觉问答(Visual Question Answering)领域,一块同时涉及到Natural Language Processing(自然语言处理,NLP)和Computer Vison(计算机视觉,CV)的交叉领域,尤其涉及一种面向视觉障碍人士的深度视觉语音系统的构建方法。
背景技术
视力受损人群在世界所占比例巨大。另外根据国家统计局的数据,2014年中国约有盲人600-700万,另有双眼低视力患者1200万。这些人群在日常生活中都会碰到许多问题,以盲人出行为例,虽然有盲道,但很多时候盲人根本不敢行走在盲道上,因为盲道经常会被占用,更不用说过马路时的危险了。因此他们非常需要一些辅助设备来帮助他们“重现光明”。当前的语音助手普遍只具有问题输入,回答输入,而不具备“视力”帮助其“看”到所处的情景。
在计算机视觉领域中有一种叫做图片说明(Image Caption)的技术,它采用深度学习对给定的图片给出阐释,它仅仅提取了当前的图片的关键信息,并没有结合文本输入。具体例子如微软识花等。
当今也有一些在功能上能够帮助到盲人出行的一些应用。比如一款叫做BeMyEyes的产品它主要是通过盲人向图片提出一个问题,然后上传到云端,由相应的工作人员给其解惑,这显然对于出行是非常不利的,比如想问红绿灯的时候,等到工作人员回答后返还过来,已经不是原来的红绿等了。另外有一款叫做Third Eye的产品,它主要是能够拍照识别出对象,然后语音输入,这显然跳过了与用户交互的阶段,具有非常大的局限性。
发明内容
针对上上述不足,本发明提供了一种面向视觉障碍人士的深度视觉问答系统的构建方法。
本发明解决技术问题所采用的技术方案如下:一种面向视觉障碍人士的深度视觉问答系统的构建方法,其特征在于,该方法包括如下步骤:
(1)数据收集和标注
(1.1)数据收集:拍摄视觉障碍人士的生活场景图片,或者从互联网通过网络爬虫的方式对相关图片进行检索和爬取,图片的数量至少为几十万的数量级;
(1.2)数据标注:对每一张图片都相应地标注至少三个问题,每个问题至少给出十个答案,每个答案对应一个置信度;
(2)数据清洗和预处理
(2.1)对于某一个问题的所有答案记为a1,a2,...an(n为一个问题对应答案的总个数),这些答案对应的置信度为w1,w2,…,wn,a1,a2,...an中有m不同的答案,记为A1,A2,...Am,将相同答案的置信度进行统计累加,得到W1,W2,...Wm;从而获得Ak,Ak即为该问题的最终答案,其中k的取法如下;k=argmax{Wl},l=1,2,…,m;进而获得所有问题对应的答案,这些答案构成答案集Sa1;
(2.2)对Sa1进行统计和筛选,获得出现频率最高的Ma个答案,将这些答案加入到一个新的答案集Sa2中,记再对所有问题进行逐一检索,如果该问题的答案不属于Sa2,则将该问题删除;若图片对应的所有问题均被删除,则删除该图片;将剩下的问题数量记为N;
(2.3)对步骤(2.2)获得的Sa2采用one-hot编码方式获得每个答案对应的one-hot向量,构成one-hot向量表;
(2.4)通过步骤(2.2)对问题进行删除后,将剩下的问题的最终答案,通过查询步骤(2.3)得到的one-hot向量表,得到每个最终答案对应的one-hot向量;记为{Y(0),Y(1),…,Y(N-1)},Y(0)为第0个答案对应的one-hot向量,Y(1)为第1个答案对应的one-hot向量,Y(N-1)为第N-1个答案对应的one-hot向量;
(2.5)通过步骤(2.2)对问题进行删除后,将每一个问题进行分词,得到该问题的单词列表,根据现有的词向量表,将单词列表中的每个单词映射为词向量,从而得到词向量列表;对于在词向量表中没有的单词,该单词对应的词向量为零向量;统计所有问题对应的词向量列表的长度,得到长度的最大值为Lq;对长度小于Lq的词向量列表,用零向量进行填充,填充至其长度为Lq,从而将每一个问题都转换成了一个长度为Lq的词向量列表;记为{VQ (0),VQ (1),…,VQ (N-1)},VQ (0)为第0个问题的词向量列表,VQ (1)为1个问题的词向量列表,VQ (N-1)为N-1个问题的词向量列表;
(2.6)通过步骤(2.2)对图片进行删除后,将剩下的每一张图片缩放至固定大小;采用VGGNet来提取缩放后的图片I的特征向量VI;提取公式如下:
VI=CNNvgg(I)
从而每一个问题对应的图片都转换成了一个长度为Lhidden的特征向量;记为{VI (0),VI (1),…,VI (N-1)},VI (0)为第0个问题对应的图片的特征向量,VI (1)为第1个问题对应的图片的特征向量,VI (N-1)为第N-1个问题对应的图片的特征向量;(2.7)将步骤(2.4)获得的{Y(0),Y(1),…,Y(N-1)},步骤(2.5)获得的{VQ (0),VQ (1),…,VQ (N)},步骤(2.6)获得的{VI (0),VI (1),…,VI (N-1)},作为训练集;记为{(VQ (0),VI (0),Y(0)),(VQ (1),VI (1),Y(1)),…,(VQ (N-1),VI (N-1),Y(N-1))};
(3)视觉问答模型训练
(3.1)构建LSTM神经网络
(3.1.1)对于步骤(2.5)获得的第i个问题对应的词向量列表VQ (i),将VQ (i)中的每一个词向量都标识成一个输入向量,即将词向量列表记为 其中均为词向量列表中的词向量;
(3.1.2)构建Lq个LSTM单元,第t个单元以作为输入,其中为长度为Lhidden的向量,是由上一个单元输出,每个单元的计算过程如下:
其中σ为sigmoid函数:Win,Wf,Wo,Wc,Uin,Uf,Uo,Uc均为待训练的参数;1≤t≤Lq;为第t层的隐藏层的输出;当t为1,h0取为零向量;
(3.1.3)将Lq个LSTM单元连成链状结构,取最后一层隐藏层的输出来表征问题VQ (i)的特征;
(3.1.4)重复步骤(3.1.1)-步骤(3.1.3)获得所有问题的特征,这些特征构成特征向量集,记为
(3.2)计算损失代价
(3.2.1)将步骤(2.6)中获得的图片的特征向量集{VI (0),VI (1),…,VI (N-1)}与步骤(3.1.4)中获得问题的特征向量集进行计算,获得中间输入向量集{X(0),X(1),…,X(N-1)},其中
(3.2.2)将步骤(3.2.1)中获得的{X(0),X(1),…,X(N-1)}作为分类器的输入,并将步骤(2.4)获得的{Y(0),Y(1),…,Y(N-1)}作为标注,构成一组输入集{(X(1),Y(1)),(X(2),Y(2)),…,(X(M),Y(M))},其中m为训练图片的总个数;
(3.2.3)采用softmax函数和交叉熵函数计算损失代价CE:
θ(i)=U·X(i)+b
其中U,b为待训练参数;(X(i),Y(i))为输入集中的第i个输入;
(3.3)反向传播训练模型的建立
采用任何一个深度学习库,进行反向传播训练神经网络的搭建,将步骤(2.7)的训练集输入到搭建好的神经网络中进行训练,训练过程中使得损失代价小于设定的阈值,从而确定步骤(3.1.2)中的参数Wi,Wf,Wo,Wc,Ui,Uf,Uo,Uc和步骤(3.2.3)中的参数U,b,最后获得视觉问答模型M;
(4)深度视觉问答系统的建立
(4.1)移动端获得数据
通过移动端相机拍摄获得图片I′,对用户的语音输入处理获得问题Q′;
(4.2)服务端操作数据
(4.2.1)将步骤(3)训练好的模型M加载到服务器中,
(4.2.2)通过步骤(4.1)获得图片I′,问题Q′,经过步骤(2.6)获得I′的特征向量VI′,经过步骤(2.5)获得Q′的词向量列表VQ′;
(4.2.3)将步骤(4.2.2)获得的VI′,VQ′输入到步骤(4.2.1)获得的模型M中,经过步骤(3.2.3)得到取在步骤(2.2)中获得的Sa2中,获得正确答案Ansk′;
(4.3)服务端反馈数据
将步骤(4.2.3)获得的Ansk′传输到移动客户端,客户端获得答案,记为AnS′k′;(4.4)客户端反馈用户
将步骤(4.3)中获得的AnS′k′用语音的形式输出给用户。
现对于现有技术,本发明的有益效果如下:
1.将图像与问题文本交叉结合,使得该系统不仅仅局限于对图像的识别;
2.使用预训练的词向量输入,大大减小了训练所需的时间;
3.使用VGGNet处理图片,大大减小了提取图片特征所需的成本;
4.构建基于LSTM的模型,较好地提取了问题的序列信息,使得问答效果更好;
5.在对答案的预处理中,采用频率出现较高的Ma答案,在保证答案能够覆盖较大比例的预测答案的前提下,能够减少分类个数,从而防止模型的过拟合;
6.通过语音的交互手段,使得系统的使用更加贴近用户的生活。
附图说明
图1为总体流程图;
图2为图片特征提取图;
图3为LSTM单元结构图。
具体实施方式
下面结合实施例和附图对本发明做进一步的说明。
如图1所示,一种面向视觉障碍人士的深度视觉问答系统的构建方法,该方法包括如下步骤:
(1)数据收集和标注
(1.1)数据收集:取视觉障碍人士通常会遇到的情景(如家居与交通)进行拍摄,或者从互联网通过网络爬虫的方式对相关图片进行检索和爬取,数据量需要至少几十万的数量级。每张图片都标识为一个独特的图片id;
(1.2)数据标注:采取人工标注的方式,对每一张获取到的图片都相应地提出三个问题,将每个问题都以json文件记录的形式进行存储,需要包含:图片id,问题id,问题文本,问题类型(如是非、颜色、数量等)。对于每一个问题请10个以上不同的人进行回答并标识置信度(yes,maybe,no),将每个回答都以json文件记录的形式进行存储,需要包含:图片id,问题id,答案文本,答案置信度。
(2)数据清洗和预处理
(2.1)对于某一个问题的所有答案记为a1,a2,...an(n为一个问题对应答案的总个数),都会有相应的置信度(yes,maybe,no)将yes的权值设置成1,maybe的权值设置成0.5,no的权值设置成0.1;这些答案对应的置信度为w1,w2,…,wn,a1,a2,...an中有m不同的答案,记为A1,A2,...Am,将相同答案的置信度进行统计累加,得到W1,W2,...Wm;从而获得Ak,Ak即为该问题的最终答案,其中k的取法如下;k=argmax{Wl},l=1,2,…,m;进而获得所有问题对应的答案,这些答案构成答案集Sa1;此时,已经是一张图片对应于三个问题,一个问题对应于一个答案了。
(2.2)对Sa1进行统计和筛选,获得出现频率最高的Ma个答案,将这些答案加入到一个新的答案集Sa2中,记再对所有问题进行逐一检索,如果该问题的答案不属于Sa2,则将该问题删除;若图片对应的所有问题均被删除,则删除该图片;将剩下的问题数量记为N;Ma为影响系统准确性的参数之一。
(2.3)对步骤(2.2)获得的Sa2采用one-hot编码方式获得每个答案对应的one-hot向量,构成one-hot向量表;
(2.4)通过步骤(2.2)对问题进行删除后,将剩下的问题的最终答案,通过查询步骤(2.3)得到的one-hot向量表,得到每个最终答案对应的one-hot向量;记为{Y(0),Y(1),…,Y(N-1)},Y(0)为第0个答案对应的one-hot向量,Y(1)为第1个答案对应的one-hot向量,Y(N-1)为第N-1个答案对应的one-hot向量;其中one-hot向量只在一个维度上为1,其余Ma-1的维度上均为0。
(2.5)通过步骤(2.2)对问题进行删除后,将每一个问题进行分词,得到该问题的单词列表,根据现有的词向量表,现有的词向量表为预训练的词向量(如word2vec,Glove等,或自己预训练),词典里的每一个单词都对应于一个训练好的向量,如一个300维的词向量。将单词列表中的每个单词映射为词向量,从而得到词向量列表;对于在词向量表中没有的单词,该单词对应的词向量为零向量;统计所有问题对应的词向量列表的长度,得到长度的最大值为Lq,如25;对长度小于Lq的词向量列表,用零向量进行填充,填充至其长度为Lq,从而将每一个问题都转换成了一个长度为Lq的词向量列表;记为{VQ (0),VQ (1),…,VQ (N-1)},VQ (0)为第0个问题的词向量列表,VQ (1)为1个问题的词向量列表,VQ (N-1)为N-1个问题的词向量列表;
(2.6)通过步骤(2.2)对图片进行删除后,将剩下的每一张图片缩放至固定大小,如448*448大小;采用VGGNet(VGGNet为预训练好的卷积神经网络)来提取缩放后的图片I的特征向量VI,其过程如图2所示;提取公式如下:
VI=CNNvgg(I)
从而每一个问题对应的图片都转换成了一个长度为Lhidden的特征向量;记为{VI (0),VI (1),…,VI (N-1)},VI (0)为第0个问题对应的图片的特征向量,VI (1)为第1个问题对应的图片的特征向量,VI (N-1)为第N-1个问题对应的图片的特征向量;(2.7)将步骤(2.4)获得的{Y(0),Y(1),…,Y(N-1)},步骤(2.5)获得的{VQ (0),VQ (1),…,VQ (N)},步骤(2.6)获得的{VI (0),VI (1),…,VI (N-1)},作为训练集;记为{(VQ (0),VI (0),Y(0)),(VQ (1),VI (1),Y(1)),…,(VQ (N-1),VI (N-1),Y(N-1))};
(3)视觉问答模型训练
(3.1)构建LSTM(Long Short Term Memory)神经网络
(3.1.1)对于步骤(2.5)获得的第i个问题对应的词向量列表VQ (i),将VQ (i)中的每一个词向量都标识成一个输入向量,即将词向量列表记为 其中均为词向量列表中的词向量;
(3.1.2)构建Lq个LSTM单元,第t个单元以作为输入,其中为长度为Lhidden的向量,是由上一个单元输出,每个单元的计算过程如下:
其中σ为sigmoid函数:Win,Wf,Wo,Wc,Ui,Uf,Uo,Uc均为待训练的参数;1≤t≤Lq;为第t层的隐藏层的输出;当t为1,h0取为零向量;第t个单元的结构如图3所示;
(3.1.3)将Lq个LSTM单元连成链状结构,取最后一层隐藏层的输出来表征问题VQ (i)的特征;
(3.1.4)重复步骤(3.1.1)-步骤(3.1.3)获得所有问题的特征,这些特征构成特征向量集,记为
(3.2)计算损失代价
(3.2.1)将步骤(2.6)中获得的图片的特征向量集{VI (0),VI (1),…,VI (N-1)}与步骤(3.1.4)中获得问题的特征向量集进行计算,获得中间输入向量集{X(0),X(1),…,X(N-1)},其中
(3.2.2)将步骤(3.2.1)中获得的{X(0),X(1),…,X(N-1)}作为分类器的输入,并将步骤(2.4)获得的{Y(0),Y(1),…,Y(N-1)}作为标注,构成一组输入集{(X(1),Y(1)),(X(2),Y(2)),…,(X(M),Y(M))},其中m为训练图片的总个数;
(3.2.3)采用softmax函数和交叉熵函数计算损失代价CE:
θ(i)=U·X(i)+b
其中U,b为待训练参数;(X(i),Y(i))为输入集中的第i个输入;
(3.3)反向传播训练模型的建立
采用任何一个深度学习库,如tensorflow等,进行反向传播训练神经网络的搭建,取定相应的最大时期数(max epoch size),批处理大小(batch size),隐藏层长度(Lhidden,hidden layer size),L2正则项等参数;将步骤(2.7)的训练集输入到搭建好的神经网络中进行训练,训练过程中使得损失代价小于设定的阈值,采用交叉验证评估准确性,从而确定步骤(3.1.2)中的参数Win,Wf,Wo,Wc,Uin,Uf,Uo,Uc和步骤(3.2.3)中的参数U,b,最后获得视觉问答模型M;
为了使得训练结果更好,将步骤(2.7)的训练集批量进行输入到搭建好的神经网络中进行训练,其中图片的批量处理步骤如下:
(3.3.1)取步骤(2.7)中得到的训练集中的nb个随机样本,将其中的图片特征向量组成的集合记为将这n个特征向量组合成为一个
nb*hidden大小的矩阵MI,MI的每一行表示一张图片的特征向量。
(3.3.2)为了保持与问题特征空间的一致性,对每一批进行归一化,即
其中NI表示一个元素全为1的nb维列向量,V′I表示nb个Lhidden维的特征向量经过平方平均后的Lhidden维的向量,NIV′T I表示一个nb*Lhidden维的矩阵,每一行都是一个平方平均特征向量,.÷表示两个矩阵的元素进行相除。将得到的M′I按行重新划分为作为这一批的图片的特征向量集合。
(4)深度视觉问答系统的建立
(4.1)移动端获得数据
通过移动端相机拍摄获得图片I′,对用户的语音输入处理获得问题Q′;
(4.2)服务端操作数据
(4.2.1)将步骤(3)训练好的模型M加载到服务器中,
(4.2.2)通过步骤(4.1)获得图片I′,问题Q′,经过步骤(2.6)获得I′的特征向量VI′,经过步骤(2.5)获得Q′的词向量列表VQ′;
(4.2.3)将步骤(4.2.2)获得的VI′,VQ′输入到步骤(4.2.1)获得的模型M中,经过步骤(3.2.3)得到取在步骤(2.2)中获得的Sa2中,获得正确答案Ansk′;
(4.3)服务端反馈数据
将步骤(4.2.3)获得的Ansk′传输到移动客户端,客户端获得答案,记为Ans′k′;(4.4)客户端反馈用户
(1)将步骤(4.3)中获得的Ans′k′用语音的形式输出给用户。
在步骤(4.1)中提到的移动端的构建可以采用下面的实施方式:
1.基于安卓Android 5.0Jelly Bean及以上版本开发了基于以上算法实现的应用Deep Ask。
2.基于我们对视觉障碍人士所能作出操作限制的考虑,我们精心设计了简单而实用的交互方式。具体如下
a.由于盲人无法准确识别手机屏幕的各部件进行精确的操作,我们将整块屏幕的每个部分作为操作的反应区域
b.当盲人用户轻触,点击屏幕的任意位置时,将启动应用的拍摄程序。此操作将使用系统底层的Camera模块直接调用手机的摄像头作出拍摄行为并将拍摄的图片以通用的JPEG文件形式存储在手机的文件系统缓存中。在恰当的时机将通过RESTful API将图像文件传输至服务器以便使用服务器的计算资源对其进行处理
c.当盲人用户长按屏幕的任意位置时,将启动应用的录音程序。此操作将使用系统底层的Media模块调用手机的麦克风对此时开始的声音进行采集。在确认录音完成后对音频进行处理。我们选择了使用公开可以调用的百度语音识别包进行语音的识别。并在此时将图片,问题以RESTful请求的形式发送至服务器进行处理。
3.对于处理有以下几个剩余技术要点:
a.对硬件(及摄像头)的调用,将设备的实时感光信息通过SurfaceView建立进行直接的流传输以便呈现在手机的屏幕上。注意虽然对于盲人无法看见,但也可以在恰当场所通过求助于别人的方式获得求助。
b.对于音频的处理使用百度的语音功能包。大致使用的场景有两个,在收到盲人用户的语音输入时使用语音识别模块将其识别为字符串。在接收到服务器的问题处理结果时采用语音合成手段将其合成为可以被盲人运用听觉感受到的声音。
Claims (1)
1.一种面向视觉障碍人士的深度视觉问答系统的构建方法,其特征在于,该方法包括如下步骤:
(1)数据收集和标注
(1.1)数据收集:拍摄视觉障碍人士的生活场景图片,或者从互联网通过网络爬虫的方式对相关图片进行检索和爬取,图片的数量至少为几十万的数量级;
(1.2)数据标注:对每一张图片都相应地标注至少三个问题,每个问题至少给出十个答案,每个答案对应一个置信度;
(2)数据清洗和预处理
(2.1)对于某一个问题的所有答案记为a1,a2,...an,n为一个问题对应答案的总个数,这些答案对应的置信度为w1,w2,...,Wn,a1,a2,...an中有m个不同的答案,记为A1,A2,...Am,将相同答案的置信度进行统计累加,得到W1,W2,...Wm;从而获得Ak,Ak即为该问题的最终答案,其中k的取法如下;k=argmax{Wl},l=1,2,...,m;进而获得所有问题对应的答案,这些答案构成答案集Sa1;
(2.2)对Sa1进行统计和筛选,获得出现频率最高的Ma个答案,将这些答案加入到一个新的答案集Sa2中,记再对所有问题进行逐一检索,如果该问题的答案不属于Sa2,则将该问题删除;若图片对应的所有问题均被删除,则删除该图片;将剩下的问题数量记为N;
(2.3)对步骤(2.2)获得的Sa2采用one-hot编码方式获得每个答案对应的one-hot向量,构成one-hot向量表;
(2.4)通过步骤(2.2)对问题进行删除后,将剩下的问题的最终答案,通过查询步骤(2.3)得到的one-hot向量表,得到每个最终答案对应的one-hot向量;记为{Y(0),Y(1),...,Y(N-1)},Y(0)为第0个答案对应的one-hot向量,Y(1)为第1个答案对应的one-hot向量,Y(N-1)为第N-1个答案对应的one-hot向量;
(2.5)通过步骤(2.2)对问题进行删除后,将每一个问题进行分词,得到该问题的单词列表,根据现有的词向量表,将单词列表中的每个单词映射为词向量,从而得到词向量列表;对于在词向量表中没有的单词,该单词对应的词向量为零向量;统计所有问题对应的词向量列表的长度,得到长度的最大值为Lq;对长度小于Lq的词向量列表,用零向量进行填充,填充至其长度为Lq,从而将每一个问题都转换成了一个长度为Lq的词向量列表;记为{VQ (0),VQ (1),...,VQ (N-1)},VQ (0)为第0个问题的词向量列表,VQ (1)为1个问题的词向量列表,VQ (N-1)为N-1个问题的词向量列表;
(2.6)通过步骤(2.2)对图片进行删除后,将剩下的每一张图片缩放至固定大小;采用VGGNet来提取缩放后的图片I的特征向量VI;提取公式如下:
VI=CNNvgg(I)
从而每一个问题对应的图片都转换成了一个长度为Lhidden的特征向量;记为{VI (0),VI (1),...,VI (N-1)},VI (0)为第0个问题对应的图片的特征向量,VI (1)为第1个问题对应的图片的特征向量,VI (N-1)为第N-1个问题对应的图片的特征向量;
(2.7)将步骤(2.4)获得的{Y(0),Y(1),...,Y(N-1)},步骤(2.5)获得的{VQ (0),VQ (1),...,VQ (N)},步骤(2.6)获得的{VI (0),VI (1),...,VI (N-1)},作为训练集;记为{(VQ (0),VI (0),Y(0)),(VQ (1),VI (1),Y(1)),...,(VQ (N-1),VI (N-1),Y(N-1))};
(3)视觉问答模型训练
(3.1)构建LSTM神经网络
(3.1.1)对于步骤(2.5)获得的第i个问题对应的词向量列表VQ (i),将VQ (i)中的每一个词向量都标识成一个输入向量,即将词向量列表记为 其中均为词向量列表中的词向量;
(3.1.2)构建Lq个LSTM单元,第t个单元以作为输入,其中为长度为Lhidden的向量,是由上一个单元输出,每个单元的计算过程如下:
其中σ为sigmoid函数:Win,Wf,Wo,Wc,Uin,Uf,Uo,Uc均为待训练的参数;1≤t≤Lq;为第t层的隐藏层的输出;当t为1,h0取为零向量;
(3.1.3)将Lq个LSTM单元连成链状结构,取最后一层隐藏层的输出来表征问题VQ (i)的特征;
(3.1.4)重复步骤(3.1.1)-步骤(3.1.3)获得所有问题的特征,这些特征构成特征向量集,记为
(3.2)计算损失代价
(3.2.1)将步骤(2.6)中获得的图片的特征向量集{VI (0),VI (1),...,VI (N-1)}与步骤(3.1.4)中获得问题的特征向量集进行计算,获得中间输入向量集{X(0),X(1),...,X(N-1)},其中
(3.2.2)将步骤(3.2.1)中获得的{X(0),X(1),...,X(N-1)}作为分类器的输入,并将步骤(2.4)获得的{Y(0),Y(1),...,Y(N-1)}作为标注,构成一组输入集{(X(1),Y(1)),(X(2),Y(2)),...,(X(N-1),Y(N-1))};
(3.2.3)采用softmax函数和交叉熵函数计算损失代价CE:
θ(i)=U·X(i)+b
其中U,b为待训练参数;(X(i),Y(i))为输入集中的第i个输入;
(3.3)反向传播训练模型的建立
采用任何一个深度学习库,进行反向传播训练神经网络的搭建,将步骤(2.7)的训练集输入到搭建好的神经网络中进行训练,训练过程中使得损失代价小于设定的阈值,从而确定步骤(3.1.2)中的参数Win,Wf,Wo,Wc,Uin,Uf,Uo,Uc和步骤(3.2.3)中的参数U,b,最后获得视觉问答模型M;
(4)深度视觉问答系统的建立
(4.1)移动端获得数据
通过移动端相机拍摄获得图片I′,对用户的语音输入处理获得问题Q′;
(4.2)服务端操作数据
(4.2.1)将步骤(3)训练好的模型M加载到服务器中,
(4.2.2)通过步骤(4.1)获得图片I′,问题Q′,经过步骤(2.6)获得I′的特征向量VI′,经过步骤(2.5)获得Q′的词向量列表VQ′;
(4.2.3)将步骤(4.2.2)获得的VI′,VQ′输入到步骤(4.2.1)获得的模型M中,经过步骤(3.2.3)得到取在步骤(2.2)中获得的Sa2中,获得正确答案Ansk′;
(4.3)服务端反馈数据
将步骤(4.2.3)获得的Ansk′传输到移动客户端,客户端获得答案,记为Ans′k′;
(4.4)客户端反馈用户
将步骤(4.3)中获得的Ans′k′用语音的形式输出给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128118.6A CN106951473B (zh) | 2017-03-06 | 2017-03-06 | 面向视觉障碍人士的深度视觉问答系统的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128118.6A CN106951473B (zh) | 2017-03-06 | 2017-03-06 | 面向视觉障碍人士的深度视觉问答系统的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106951473A CN106951473A (zh) | 2017-07-14 |
CN106951473B true CN106951473B (zh) | 2019-11-26 |
Family
ID=59466773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710128118.6A Active CN106951473B (zh) | 2017-03-06 | 2017-03-06 | 面向视觉障碍人士的深度视觉问答系统的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951473B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019051701A1 (zh) * | 2017-09-14 | 2019-03-21 | 深圳传音通讯有限公司 | 拍照终端及其基于长短期记忆神经网络的拍照参数设置方法 |
CN107679582A (zh) * | 2017-10-20 | 2018-02-09 | 深圳市唯特视科技有限公司 | 一种基于多模态分解模型进行可视问答的方法 |
CN108021897B (zh) * | 2017-12-11 | 2021-06-15 | 北京小米移动软件有限公司 | 图片问答方法及装置 |
US11663249B2 (en) | 2018-01-30 | 2023-05-30 | Intel Corporation | Visual question answering using visual knowledge bases |
CN108416063B (zh) * | 2018-03-26 | 2020-11-17 | 武汉爱农云联科技有限公司 | 一种农业问题交流方法和装置 |
CN108898274A (zh) * | 2018-05-30 | 2018-11-27 | 国网浙江省电力有限公司宁波供电公司 | 一种电力调度日志缺陷分类方法 |
CN109446891A (zh) * | 2018-09-11 | 2019-03-08 | 广东智媒云图科技股份有限公司 | 一种基于图像识别的语言学习方法、电子设备及存储介质 |
CN111008293A (zh) * | 2018-10-06 | 2020-04-14 | 上海交通大学 | 基于结构化语义表示的视觉问答方法 |
CN111089388A (zh) | 2018-10-18 | 2020-05-01 | 珠海格力电器股份有限公司 | 控制空调的方法及系统、空调器、家用电器 |
CN110377710B (zh) * | 2019-06-17 | 2022-04-01 | 杭州电子科技大学 | 一种基于多模态融合的视觉问答融合增强方法 |
CN110348535B (zh) * | 2019-07-17 | 2022-05-31 | 北京金山数字娱乐科技有限公司 | 一种视觉问答模型训练方法及装置 |
CN112651403B (zh) * | 2020-12-02 | 2022-09-06 | 浙江大学 | 基于语义嵌入的零样本视觉问答方法 |
CN113407794B (zh) * | 2021-06-01 | 2023-10-31 | 中国科学院计算技术研究所 | 一种抑制语言偏差的视觉问答方法及系统 |
CN114168104A (zh) * | 2021-12-08 | 2022-03-11 | 杭州电子科技大学 | 一种面向视障人群的场景文字交互式理解系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708380A (zh) * | 2012-05-08 | 2012-10-03 | 东南大学 | 一种基于机器视觉的室内一般物体识别方法 |
WO2014144103A1 (en) * | 2013-03-15 | 2014-09-18 | Sony Corporation | Characterizing pathology images with statistical analysis of local neural network responses |
CN105630917A (zh) * | 2015-12-22 | 2016-06-01 | 成都小多科技有限公司 | 智能应答方法及装置 |
CN106372577A (zh) * | 2016-08-23 | 2017-02-01 | 北京航空航天大学 | 一种基于深度学习的交通标志自动识别与标注方法 |
CN106408015A (zh) * | 2016-09-13 | 2017-02-15 | 电子科技大学成都研究院 | 基于卷积神经网络的岔路口识别及深度估计方法 |
CN106446930A (zh) * | 2016-06-28 | 2017-02-22 | 沈阳工业大学 | 基于深层卷积神经网络的机器人工作场景识别方法 |
-
2017
- 2017-03-06 CN CN201710128118.6A patent/CN106951473B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708380A (zh) * | 2012-05-08 | 2012-10-03 | 东南大学 | 一种基于机器视觉的室内一般物体识别方法 |
WO2014144103A1 (en) * | 2013-03-15 | 2014-09-18 | Sony Corporation | Characterizing pathology images with statistical analysis of local neural network responses |
CN105630917A (zh) * | 2015-12-22 | 2016-06-01 | 成都小多科技有限公司 | 智能应答方法及装置 |
CN106446930A (zh) * | 2016-06-28 | 2017-02-22 | 沈阳工业大学 | 基于深层卷积神经网络的机器人工作场景识别方法 |
CN106372577A (zh) * | 2016-08-23 | 2017-02-01 | 北京航空航天大学 | 一种基于深度学习的交通标志自动识别与标注方法 |
CN106408015A (zh) * | 2016-09-13 | 2017-02-15 | 电子科技大学成都研究院 | 基于卷积神经网络的岔路口识别及深度估计方法 |
Non-Patent Citations (1)
Title |
---|
Feature and Region Selection for Visual Learning;Ji Zhao,Liantao Wang,Ricardo Cabral,Fernando De la Torre;《IEEE Transactions on Image Processing》;20160331;第25卷(第3期);第1084-1094页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106951473A (zh) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951473B (zh) | 面向视觉障碍人士的深度视觉问答系统的构建方法 | |
CN110119703B (zh) | 一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法 | |
JP7164252B2 (ja) | 画像処理方法、装置、電子機器及びコンピュータプログラム | |
CN106874956B (zh) | 图像分类卷积神经网络结构的构建方法 | |
CN109902665A (zh) | 相似人脸检索方法、装置及存储介质 | |
CN109637207B (zh) | 一种学前教育互动教学装置及教学方法 | |
CN108536679A (zh) | 命名实体识别方法、装置、设备及计算机可读存储介质 | |
WO2018054330A1 (zh) | 数据处理方法、装置和存储介质 | |
CN110263912A (zh) | 一种基于多目标关联深度推理的图像问答方法 | |
CN106897372B (zh) | 语音查询方法和装置 | |
CN107742107A (zh) | 人脸图像分类方法、装置及服务器 | |
CN110532996A (zh) | 视频分类的方法、信息处理的方法以及服务器 | |
CN112995652B (zh) | 视频质量评估方法及装置 | |
CN109902912B (zh) | 一种基于性格特征的个性化图像美学评价方法 | |
CN109857844A (zh) | 基于点餐对话文本的意图识别方法、装置、电子设备 | |
CN110458765A (zh) | 基于感知保持卷积网络的图像质量增强方法 | |
CN110009027A (zh) | 图像的比对方法、装置、存储介质及电子装置 | |
CN108492290A (zh) | 图像评价方法及系统 | |
CN110134885A (zh) | 一种兴趣点推荐方法、装置、设备以及计算机存储介质 | |
CN115064020B (zh) | 基于数字孪生技术的智慧教学方法、系统及存储介质 | |
CN115131698B (zh) | 视频属性确定方法、装置、设备及存储介质 | |
CN109376683A (zh) | 一种基于稠密图的视频分类方法和系统 | |
CN109559576A (zh) | 一种儿童伴学机器人及其早教系统自学习方法 | |
CN110163169A (zh) | 人脸识别方法、装置、电子设备及存储介质 | |
CN109740012A (zh) | 基于深度神经网络对图像语义进行理解和问答的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |