CN111782840B - 图像问答方法、装置、计算机设备和介质 - Google Patents
图像问答方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN111782840B CN111782840B CN202010616632.6A CN202010616632A CN111782840B CN 111782840 B CN111782840 B CN 111782840B CN 202010616632 A CN202010616632 A CN 202010616632A CN 111782840 B CN111782840 B CN 111782840B
- Authority
- CN
- China
- Prior art keywords
- feature
- features
- question
- node
- image
- 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
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000000007 visual effect Effects 0.000 claims abstract description 95
- 230000004927 fusion Effects 0.000 claims abstract description 52
- 238000007499 fusion processing Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 241000486463 Eugraphe sigma Species 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—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/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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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/045—Combinations of networks
-
- 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
-
- 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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Library & Information Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种图像问答方法,涉及计算机视觉、自然语言处理领域。该方法包括:获取输入图像和输入问题;基于输入图像,构建视觉图,视觉图包括节点特征和边特征;基于上述节点特征和边特征,对节点特征进行更新,以得到更新视觉图;基于输入问题,确定问题特征;对更新视觉图和问题特征进行融合处理,以得到融合特征;并且,基于融合特征,生成针对输入图像和输入问题的预测答案。本公开还提供了图像问答装置、计算机设备和介质。
Description
技术领域
本公开涉及计算机视觉、自然语言处理领域,更具体地,涉及一种图像问答方法、装置、计算机设备和介质。
背景技术
图像问答(Visual Question Answering,VQA)是一项很有挑战性的任务,其目标是将计算机视觉和自然语言处理联系起来。在图像问答任务中,例如给定一张图像和一个相关的问题,要求机器能根据图像内容,结合一些常识来推理得到问题的答案。为完成该图像问答任务,机器必须具有跨模态(Cross-Modal)的理解能力,以针对视觉和语言这两种不同模态(Modality)下的数据实现综合理解。故图像问答任务相比于其他单一模态下的任务(例如图像识别、文档分类等)具有更高的要求。
发明内容
有鉴于此,本公开提供了一种图像问答方法、装置、计算机设备和介质。
本公开的一个方面提供了一种图像问答方法,包括:获取输入图像和输入问题;基于输入图像,构建视觉图,视觉图包括节点特征和边特征;基于上述节点特征和边特征,对节点特征进行更新,以得到更新视觉图;基于输入问题,确定问题特征;对更新视觉图和问题特征进行融合处理,以得到融合特征;并且,基于融合特征,生成针对输入图像和输入问题的预测答案。
根据本公开的实施例,上述基于所述输入图像,构建视觉图包括:利用目标检测网络对输入图像进行处理,以从目标检测网络的中间层提取针对输入图像中的多个目标对象的表观特征和空间特征;基于上述表观特征和空间特征,确定节点特征;基于目标检测网络的输出层所输出的处理结果,确定多个目标对象各自的位置信息;基于多个目标对象各自的位置信息,确定多个目标对象中的任意两个目标对象之间的位置关系;基于任意两个目标对象之间的位置关系,确定边特征;并且,由节点特征和边特征构成视觉图。
根据本公开的实施例,上述基于所述多个目标对象各自的位置信息,确定多个目标对象中的任意两个目标对象之间的位置关系包括:根据任意两个目标对象各自的位置信息,计算该任意两个目标对象的位置区域之间的交集和并集;计算交集和并集的比值;在该比值大于预定阈值的情况下,将该任意两个目标对象之间的位置关系表示为1;并且,在该比值小于等于预定阈值的情况下,将该任意两个目标对象之间的位置关系表示为0。
根据本公开的实施例,上述基于节点特征和边特征,对节点特征进行更新包括:利用预定神经网络对视觉图的节点特征执行至少一轮更新操作,预定神经网络包括:全连接层、第一图卷积层和第二图卷积层。其中,上述至少一轮更新操作中的每轮更新操作包括:利用全连接层将视觉图的节点特征映射为空间维度数量等于预定数量的第一特征;利用第一图卷积层对第一特征进行处理,以得到第二特征;利用第二图卷积层对第二特征进行处理,以得到更新的节点特征;并且,由更新的节点特征和边特征构成更新视觉图。
根据本公开的实施例,上述至少一轮更新操作中的每轮更新操作还包括:基于边特征构建拉普拉斯矩阵。上述利用第一图卷积层对第一特征进行处理包括:利用第一图卷积层基于拉普拉斯矩阵对第一特征进行处理,以得到第二特征,第二特征包括多个第一子特征。
根据本公开的实施例,预定神经网络还包括关联层。上述至少一轮更新操作中的每轮更新操作还包括:利用关联层计算多个第一子特征中的任意两个第一子特征之间的关联关系,并基于任意两个第一子特征之间的关联关系确定关系矩阵。上述利用第二图卷积层对第二特征进行处理包括:利用第二图卷积层基于关系矩阵对第二特征进行处理,以得到更新的节点特征。
根据本公开的实施例,上述任意两个第一子特征之间的关联关系包括:该任意两个第一子特征之间的欧式距离;或者,该任意两个第一子特征之间的余弦相似度。
根据本公开的实施例,上述基于输入问题,确定问题特征包括:
利用词编码算法和特征编码算法依次对输入问题进行编码处理,以得到问题特征。
根据本公开的实施例,上述更新视觉图包括更新的节点特征,更新的节点特征包括多个第二子特征。上述对更新视觉图和问题特征进行融合处理包括:基于注意力机制,确定多个第二子特征各自与问题特征之间的注意力权重;利用多个第二子特征各自与问题特征之间的注意力权重,对多个第二子特征进行加权求和,以得到自适应特征;并且,对自适应特征和问题特征进行融合处理,以得到融合特征。
根据本公开的实施例,上述对自适应特征和问题特征进行融合处理包括:对自适应特征和问题特征进行逐元素点乘操作,以得到融合特征。
根据本公开的实施例,上述基于所述融合特征,生成针对输入图像和输入问题的预测答案包括:利用多层感知机对融合特征进行处理,以得到针对融合特征的预测答案。
本公开的另一方面提供了一种图像问答装置,包括:获取模块、图构建模块、更新模块、问题特征提取模块、融合模块和预测模块。获取模块用于获取输入图像和输入问题。图构建模块用于基于输入图像,构建视觉图,视觉图包括节点特征和边特征。更新模块用于基于上述节点特征和边特征,对节点特征进行更新,以得到更新视觉图。问题特征提取模块用于基于输入问题,确定问题特征。融合模块用于对更新视觉图和问题特征进行融合处理,以得到融合特征。预测模块用于基于融合特征,生成针对输入图像和输入问题的预测答案。
根据本公开的实施例,图构建模块包括:检测子模块,用于利用目标检测网络对输入图像进行处理,以从目标检测网络的中间层提取针对输入图像中的多个目标对象的表观特征和空间特征。节点特征确定子模块,用于基于上述表观特征和空间特征,确定节点特征。边特征确定子模块,用于基于目标检测网络的输出层所输出的处理结果,确定多个目标对象各自的位置信息;基于多个目标对象各自的位置信息,确定多个目标对象中的任意两个目标对象之间的位置关系;基于任意两个目标对象之间的位置关系,确定边特征。以及,图构建子模块,用于由节点特征和边特征构成视觉图。
根据本公开的实施例,边特征确定子模块基于所述多个目标对象各自的位置信息,确定多个目标对象中的任意两个目标对象之间的位置关系包括:边特征确定子模块用于根据任意两个目标对象各自的位置信息,计算该任意两个目标对象的位置区域之间的交集和并集;计算交集和并集的比值;在该比值大于预定阈值的情况下,将该任意两个目标对象之间的位置关系表示为1;并且,在该比值小于等于预定阈值的情况下,将该任意两个目标对象之间的位置关系表示为0。
根据本公开的实施例,更新模块用于利用预定神经网络对视觉图的节点特征执行至少一轮更新操作,预定神经网络包括:全连接层、第一图卷积层和第二图卷积层。更新模块包括:映射子模块,用于利用全连接层将视觉图的节点特征映射为空间维度数量等于预定数量的第一特征;第一图卷积子模块,用于利用第一图卷积层对第一特征进行处理,以得到第二特征;第二图卷积子模块,用于利用第二图卷积层对第二特征进行处理,以得到更新的节点特征;以及,更新子模块,用于由更新的节点特征和边特征构成更新视觉图。
根据本公开的实施例,更新模块还包括:第一构建子模块,用于基于边特征构建拉普拉斯矩阵。第一图卷积模块用于利用第一图卷积层基于拉普拉斯矩阵对第一特征进行处理,以得到第二特征,第二特征包括多个第一子特征。
根据本公开的实施例,预定神经网络还包括关联层。更新模块还包括第二构建子模块,用于利用关联层计算多个第一子特征中的任意两个第一子特征之间的关联关系,并基于任意两个第一子特征之间的关联关系确定关系矩阵。第二图卷积模块用于利用第二图卷积层基于关系矩阵对第二特征进行处理,以得到更新的节点特征。
根据本公开的实施例,上述任意两个第一子特征之间的关联关系包括:该任意两个第一子特征之间的欧式距离;或者,该任意两个第一子特征之间的余弦相似度。
根据本公开的实施例,问题特征提取模块用于利用词编码算法和特征编码算法依次对输入问题进行编码处理,以得到问题特征。
根据本公开的实施例,上述更新视觉图包括更新的节点特征,更新的节点特征包括多个第二子特征。融合模块包括:注意力子模块,用于基于注意力机制,确定多个第二子特征各自与问题特征之间的注意力权重;自适应子模块,用于利用多个第二子特征各自与问题特征之间的注意力权重,对多个第二子特征进行加权求和,以得到自适应特征;以及,融合子模块,用于对自适应特征和问题特征进行融合处理,以得到融合特征。
根据本公开的实施例,融合子模块具体用于对自适应特征和问题特征进行逐元素点乘操作,以得到融合特征。
根据本公开的实施例,预测模块具体用于利用多层感知机对融合特征进行处理,以得到针对融合特征的预测答案。
本公开的另一方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开实施例的图像问答方法在获得输入图像和输入问题后,通过构建输入图像的拓扑结构(视觉图)来表示图像中目标对象的特征信息和目标对象之间的潜在关系,以降低输入图像较为复杂时的噪声影响。并通过视觉图中的节点特征进行更新,以得到更能全面、准确地表达输入图像的浅层及深层语义特征的更新视觉图。在此基础上,对更新视觉图和问题特征进行融合处理,并基于融合处理得到的融合特征进行最终答案的预测。由于前期针对输入图像的特征表示的优化,有效地增强图像问答过程对于复杂输入的推理能力,使得根据本公开实施例的图像问答过程更具有可解释性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的应用图像问答方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的图像问答方法的流程图;
图3A示意性示出了根据本公开实施例的图像问答过程的示例示意图;
图3B示意性示出了根据本公开另一实施例的图像问答过程的示例示意图;
图3C示意性示出了根据本公开实施例的图卷积编码模块的示例结构图;
图4示意性示出了根据本公开实施例的图像问答装置的框图;以及
图5示意性示出了根据本公开实施例的计算机设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种图像问答方法、装置、计算机设备和介质。图像问答方法可以包括获取过程、图构建过程、更新过程、问题特征提取过程、融合过程和预测过程。在获取过程中获取输入图像和输入问题。针对输入图像进行图构建过程和更新过程,在图构建过程中构建得到视觉图,视觉图包括节点特征和边特征。在更新过程中,基于视觉图中的节点特征和边特征,对节点特征进行更新,以得到更新视觉图。针对输入问题进行问题提取过程,以确定问题特征。接着进行融合过程,对更新视觉图和问题特征进行融合处理,以得到融合特征。基于融合特征可进行预测过程,以生成针对输入图像和输入问题的预测答案。
图像问答是一项很有挑战性的任务,其目标是将计算机视觉和自然语言处理联系起来。在图像问答任务中,例如给定一张图像和一个相关的问题,要求机器能根据图像内容,结合一些常识来推理得到问题的答案。为完成该图像问答任务,机器必须具有跨模态的理解能力,以针对视觉和语言这两种不同模态下的数据实现综合理解。故图像问答任务相比于其他单一模态下的任务(例如图像识别、文档分类等)具有更高的要求。如今,图像问答系统在学术界和产业界均被广泛研究,该类图像问答系统的目标在于设计合理的模型,使得图像问答系统针对任意自然语言描述的问题和给定的图像,在进行充分理解和推理后,使用自然语言进行准确地回答。但是,目前的图像问答系统还存在一些难题没有解决,例如,跨模态数据的融合以及有效的关系推理。
图1示意性示出了根据本公开实施例的可以应用图像问答方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个终端设备110、网络120和服务器130。其中,终端设备110可以是各种终端设备,例如台式机、便携式计算机、智能手机、平板电脑等,在此不做限制。服务器130可以是各种具有一定计算能力的电子设备,例如可以是服务器或服务器集群,在此不做限制。终端设备110中可以装载有各种功能的软件客户端,以通过软件客户端与服务器130进行交互。
可以理解,在一实施例中,根据本公开实施例的图像问答方法可以由终端设备110实施,相应地,图像问答装置可以部署于终端设备110中。在另一实施例中,根据本公开实施例的图像问答方法可以由服务器130实施,相应地,图像问答装置可以部署于服务器130中。在又一实施例中,根据本公开实施例的图像问答方法可以由能够与终端设备110和/或服务器130相互通信的其它设备实施,相应地,图像问答装置可以部署于该其它设备中。
近几年内,图像问答发展迅速,受到来自计算机视觉和自然语言处理领域的广泛关注。各领域提出很多解决图像问答任务的方案。大多数方案采取端到端流程,例如,利用一个预训练的卷积神经网络提取图片特征,利用一个递归神经网络来表征问题,然后将图片特征和问题特征连接起来预测答案。目前图像问答方案普遍利用以下三种模型:(1)粗粒度跨模态表达的图像问答模型;(2)基于注意力机制的细粒度跨模态表达模型;(3)基于外部知识或知识网络的图像问答模型。
模型(1)是一类最直接的图像问答模型。其中跨模态特征融合是这类模型的核心,但是当处理内容相对复杂,存在很多主体的图像时,会不可避免地引入较多噪声,这些噪声会影响答案预测的准确度。针对问题文本的处理也同样存在这个问题,当问题语句较长,且存在多个与图像相关的词汇时,该模型很难捕捉到提问者期望的关键词,最终将导致答案预测准确度差。模型(2)是在上述粗粒度跨模态表达模型的基础上引入注意力机制而得到的,其在细粒度跨模态特征的表达能力方面大大提升。但是目前图像问答模型中使用的注意力模型大多是基于问题的特征来学习图像的关注区域,而忽略了问题本身的关注点学习,即忽略了针对问题中的关键词或短语的注意力学习,导致答案预测准确度差。模型(3)的难点在于现有模型不易将外部知识同图像问答数据集上所有的问题进行映射,只能解决部分类型的问题,缺乏普适性。
由上述分析可知,目前的图像问答方案存在以下问题:一、跨模态融合策略不佳,在引入复杂融合模型的同时,模型的计算效率也大大降低。因此,研究如何在保证有效的特征融合情况下降低计算开销的算法是图像问答中一个关键的发展方向。二、关系推理的能力不够。在很多真实的图像问答过程中是需要模型通过多步的关系推理来找到最终的答案,然而目前的模型仅仅通过多模态特征融合来回答问题,从而使得对于复杂问题的理解和推理效果不佳。
根据本公开实施例,提供了一种图像问答方法。下面通过图例对该方法进行示例性说明。应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的图像问答方法的流程图。
如图2所示,该方法可以包括操作S201~操作S206。
在操作S201,获取输入图像和输入问题。
在操作S202,基于输入图像,构建视觉图(Visual Graph)。
根据本公开的实施例,视觉图是输入图像的拓扑结构表示,用于更为全面准确地表征输入图像的特征信息。示例性地,视觉图可以包括节点(Node)特征和边(Edge)特征。节点特征用于表征输入图像中一个或多个目标对象的特征信息,边特征用于表征输入图像中目标对象之间的潜在关系。
在操作S203,基于上述节点特征和边特征,对节点特征进行更新,以得到更新视觉图。
根据本公开的实施例,可以基于原本构建得到的节点特征和边特征,学习节点特征中的显式和隐式关系。利用显式和隐式关系对节点特征进行更新,以使得更新视觉图能够表征输入图像中更深层次的语义关系。
在操作S204,基于输入问题,确定问题特征。
在操作S205,对更新视觉图和问题特征进行融合处理,以得到融合特征。
在操作S206,基于融合特征,生成针对输入图像和输入问题的预测答案。
本领域技术人员可以理解,根据本公开实施例的图像问答方法在获得输入图像和输入问题后,通过构建输入图像的拓扑结构(视觉图)来表示图像中目标对象的特征信息和目标对象之间的潜在关系,以降低输入图像较为复杂时的噪声影响。并通过视觉图中的节点特征进行更新,以得到更能全面、准确地表达输入图像的浅层及深层语义特征的更新视觉图。在此基础上,对更新视觉图和问题特征进行融合处理,并基于融合处理得到的融合特征进行最终答案的预测。由于前期针对输入图像的特征表示的优化,有效地增强图像问答过程对于复杂输入的推理能力,使得根据本公开实施例的图像问答过程更具有可解释性。
下面参考图3A、图3B和图3C,结合具体实施例对根据本公开实施例的图像问答方法进行示例性说明。
图3A示意性示出了根据本公开实施例的图像问答过程的示例示意图。图3B示意性示出了根据本公开另一实施例的图像问答过程的示例示意图。
在图3A所示的例子中,可以预先构建网络模型300,该网络模型300可以包括依次连接的图构建模块301、串联的一个或多个图卷积编码模块(GCN Encoder)302、以及基于视觉图的问答模块303。根据本公开的实施例,需要通过训练上述网络模型300,以使得该网络模型300具有执行如图2所示的图像问答任务的能力。在训练过程中,将样本图像和样本问题输入至上述网络模型300,根据网络模型300的输出与样本标签之间的差异对网络模型300的参数进行优化,直至网络模型300的目标函数实现收敛。其中,样本标签为针对样本图像和样本问题的真实答案。此时完成针对网络模型300的训练,根据本公开实施例的图像问答方法可以利用该训练完成的网络模型300实施。下面对实施过程进行示例性说明。
根据本公开的实施例,如图3A所示,网络模型300中的图构建模块301获取输入图像I 304,图构建模块301可用于执行上述操作S202基于输入图像,构建视觉图的过程。示例性地,图构建模块301可以利用目标检测(Object Detection)网络对输入图像I 304进行处理,以从目标检测网络的中间层提取针对输入图像中的多个目标对象的表观特征和空间特征,并基于上述表观特征和空间特征,确定节点特征。然后,基于目标检测网络的输出层所输出的处理结果,确定多个目标对象各自的位置信息。基于多个目标对象各自的位置信息,确定多个目标对象中的任意两个目标对象之间的位置关系。再基于任意两个目标对象之间的位置关系,确定边特征。从而由上述节点特征和边特征构成视觉图。
在图3B所示的例子中,图构建模块301利用Faster RCNN(Faster RegionConvolutional Neural Network,更快速区域卷积神经网络)检测出输入图像I 304中存在的K1个目标对象,并提取其在整个特征图(Feature Map)上经过感兴趣区域池化操作(ROIPooling)的表观特征和空间特征/>其中,表观特征F可以包括针对K1个目标对象的K1个子特征,每个子特征可以表示为空间维度数量为2048的向量,空间维度数量可以需要进行设置,在此仅为举例。空间特征S也可以包括针对K1个目标对象的K1个子特征,每个子特征可以表示为空间维度数量为4的向量,例如包括针对目标对象的外包框(Bounding Box)的高度值、宽度值以及中心点的坐标。再将表观特征F和空间特征S合并起来作为视觉图G 305的节点特征V={F||S},合并方式例如可以为连接合并。
视觉图G 305的边特征例如可以是一种二进制表示边特征可以通过输入图像I 304中任意两个目标对象之间的位置关系来确定。根据本公开的实施例,上述任意两个目标对象可以包括不同目标对象,也可以包括相同的目标对象。通过上述目标检测网络的处理,可以获得输入图像I 304中的每个目标对象的位置坐标,即可以确定每个目标对象所占的位置区域。
示例性地,可以通过任意两个目标对象的位置区域之间的交并比(Intersection-over-Union,IoU)是否大于预定阈值来判断边特征E中的每个元素的取值。例如,设置预定阈值为0.3,对于输入图像中的第i个目标对象和第j个目标对象,计算第i个目标对象的位置区域和第j个目标对象的位置区域之间的IoU值,在该IoU值大于预定阈值的情况下,将边特征E中的元素eij表示为1;在该IoU值小于等于预定阈值的情况下,将边特征E中的元素eij表示为0。本例中,i和j均为大于等于1且小于等于K1的正整数,i和j可以相同或不同。
通过上述示例性实施方式,可以构建出视觉图G={V,E}。如图3A和3B所示,视觉图G 305被输入至图卷积编码模块302进行处理,图卷积编码模块302用于基于图卷积(GraphConvolution Network,GCN)方法进行视觉图节点之间关系的学习和特征的更新。下面对的实施过程进行示例性说明。
根据本公开的实施例,上述操作S203基于节点特征和边特征,对节点特征进行更新的过程可以按照如下方式实施:利用预定神经网络对视觉图的节点特征执行至少一轮更新操作。一个例子中,预定神经网络可以包括一个或多个图卷积编码模块302。
图3C示意性示出了根据本公开实施例的图卷积编码模块的示例结构图。如图3C所示,图卷积编码模块302可以包括全连接层(Fully Connected Layer,FC)3021、第一图卷积层(Graph Convolutional Layer,Gconv1)3022和第二图卷积层(Gconv2)3023。示例性地,上述至少一轮更新操作中的每轮更新操作包括:利用全连接层3021将视觉图G 305的节点特征V 3051映射为空间维度数量等于预定数量d的第一特征X 30511。利用第一图卷积层3022对第一特征X 30511进行处理,以得到第二特征X’30512。再利用第二图卷积层3023对第二特征X’30512进行处理,以得到更新的节点特征X”。由更新的节点特征X”和边特征E3052构成更新视觉图G’306。
例如,上述利用全连接层3021将视觉图G305的节点特征V3051映射成空间维度数量为d的第一特征X 30511的过程可以表示为公式(1)。
X=σ(W1*V)
公式(1)
其中σ为非线性函数,W1为全连接层的权重参数。
根据本公开的实施例,可以根据视觉图G 305的边特征E 3052,使用第一图卷积层3022进行节点特征的更新和显式关系的学习。如图3C所示,上述至少一轮更新操作中的每轮更新操作还可以包括:基于边特征E 3052构建拉普拉斯矩阵(Graph Laplacians)L30521。上述利用第一图卷积层3022对第一特征X 30511进行处理的过程可以包括:利用第一图卷积层3022基于拉普拉斯矩阵L 30521对第一特征X 30511进行处理,以得到第二特征X’30512。第二特征X’30512包括多个第一子特征xi’,i为大于等于1且小于等于K1的整数,xi’可表示为具有d个空间维度的向量。上述计算第二特征X’的过程以及构建拉普拉斯矩阵的过程可以分别如公式(2)和(3)所示。
X′=σ(W2(X+W3(LX)))
公式(2)
L=(D)-1/2E(D)1/2
公式(3)
其中,是一个对角矩阵,/>eij∈E。σ为非线性函数,W2和W3为第一图卷积层的权重参数。
为进一步学习输入图像中的隐式关系,根据本公开的实施例,如图3C所示,图卷积编码模块302还可以包括关联层(Adj)3024。在第一图卷积层3022处理结束后,可以利用关联层3024计算多个第一子特征中的任意两个第一子特征xi’和xj’之间的关联关系,并基于任意两个第一子特征之间的关联关系确定关系矩阵A′30512’。
其中,A′={a′ij},i,j∈{1,...,K1}。具体表示如公式(4)。
由公式(4)可知,本例根据计算xi’和xj’之间的L-2距离(欧式距离)来确定xi’和xj’之间的关联关系。在其他例子中,可以利用任意相似度计算方式来确定xi’和xj’之间的关联关系,例如余弦相似度等,在此不做限制。依据本实施例,通过关联层学习图节点之间隐式的关系矩阵。
在此基础上,可以利用第二图卷积层3023对第二特征X’30512进行处理。示例性地,利用第二图卷积层3023根据学习到的关系矩阵A′进行深层次的节点特征的更新和学习。第二图卷积层3023的更新策略可以定义如公式(5)。
X″=X′+W4(A′X′)
公式(5)
其中W4为第二图卷积层的权重参数。
经过两层的图卷积网络后,如图3C所示,整个图卷积编码模块302的输出为更新视觉图G′306,G′={X″,E}。X”为更新的节点特征,该更新的节点特征包括多个第二子特征xi”,i为大于等于1且小于等于K1的整数。为实现更好的更新效果,根据本公开实施例的网络模型中可以串联了若干个图卷积编码模块来实现针对视觉图的节点特征的多轮次更新,使其可以学习到更深层次的语义关系。例如通过n个图卷积编码模块可以实现n轮次的更新,以得到更新视觉图Gn306,n为正整数。
继续参考图3A和图3B,在介绍完图卷积编码模块302之后,对基于视觉图的问答模块303的实施方式进行示例性说明。经过若干个图卷积编码模块后,视觉图上的每个节点特征根据学习到的关系去融合了相关节点的特征,在一定程度上包含了深层次的语义特征,接下来需要将学习到的特征用于最后问题的回答。
根据本公开的实施例,基于视觉图的问答模块303可用于执行上述操作S204~S206。一方面,如图3A和图3B所示,基于视觉图的问答模块303获取输入问题Q 307,利用词编码(Word Embedding)算法3031和特征编码算法3032依次对输入问题307进行编码处理,以得到问题特征q 308。本例中,采用了Glove词编码算法和Bi-GRU特征编码算法得到整个问题的特征表示q。另一方面,如图3A所示,基于视觉图的问答模块303获取由图卷积编码模块302输出的更新视觉图306,可以执行对更新视觉图和问题特征进行融合处理的过程。
在本公开的一个实施例中,如图3B所示,基于视觉图的问答模块303可以利用注意力机制3033来学习更新视觉图上每个第二子特征x″i∈X″和问题特征q之间的注意力映射权重(attention map)例如计算具体方式如公式(6)所示。
然后,例如上述注意力映射权重对更新视觉图上的节点特征中的各个第二子特征进行加权求和,得到最终用于回答问题的自适应特征表示/>也可称为推理特征(Reasoning Feature)r 309。计算方式可以如公式(7)所示。
r=S X″
公式(7)
根据本公开的实施例,基于视觉图的问答模块303还可以包括多层感知机(Multi-Layer Perceptron,MLP)3034。如图3B所示,上述对自适应特征和问题特征进行融合处理的过程可以包括:对自适应特征r和问题特征q进行逐元素(Element-wise)点乘操作,以得到融合特征。再将融合特征送入MLP中预测最终的答案本例中使用2层的MLP,处理过程如公式(8)所示。
可以理解,在使用训练完成的网络模型时,将待预测的输入图像和输入问题输入至上述网络模型,以由网络模型输出相应的答案类别和置信度,将置信度最高的答案类别作为针对待预测的输入图像和输入问题所得到的预测答案。上述针对输入图像和输入问题的处理过程与训练阶段针对样本图像和样本问题的处理过程同理,在此不再赘述。
基于上述各实施例可知,根据本公开实施例的图像问答方法通过构建图的拓扑结构(视觉图)来表示图像中目标的特征和目标之间潜在的关系,再利用图卷积神经网络来学习图像中目标之间显式和隐式的关系并进行有效的特征编码,从而使得模型可以学习到更具有推理特性的自适应特征表示,最后利用学习到的推理特征和问题的特征融合进行最终答案的预测。根据本公开实施例的图像问答方法可以有效的增强模型对于复杂问题的推理能力,使得整个问答过程更具有可解释性。
图4示意性示出了根据本公开实施例的图像问答装置的框图。
如图4所示,图像问答装置400可以包括:获取模块410、图构建模块420、更新模块430、问题特征提取模块440、融合模块450和预测模块460。
获取模块410用于获取输入图像和输入问题。
图构建模块420用于基于输入图像,构建视觉图,视觉图包括节点特征和边特征。
更新模块430用于基于上述节点特征和边特征,对节点特征进行更新,以得到更新视觉图。
问题特征提取模块440用于基于输入问题,确定问题特征。
融合模块450用于对更新视觉图和问题特征进行融合处理,以得到融合特征。
预测模块460用于基于融合特征,生成针对输入图像和输入问题的预测答案。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块410、图构建模块420、更新模块430、问题特征提取模块440、融合模块450和预测模块460中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块410、图构建模块420、更新模块430、问题特征提取模块440、融合模块450和预测模块460中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块410、图构建模块420、更新模块430、问题特征提取模块440、融合模块450和预测模块460中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机设备的框图。图5示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的计算机设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有设备500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。设备500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种图像问答方法,包括:
获取输入图像和输入问题;
基于所述输入图像,构建视觉图,所述视觉图包括节点特征和边特征;所述节点特征表征所述输入图像中一个或多个目标对象的特征信息;所述边特征表征所述输入图像中目标对象之间的位置关系;
基于所述节点特征和所述边特征,对所述节点特征进行更新,以得到更新视觉图;
基于所述输入问题,确定问题特征;
对所述更新视觉图和所述问题特征进行融合处理,以得到融合特征;以及
基于所述融合特征,生成针对所述输入图像和所述输入问题的预测答案;
其中,所述基于所述节点特征和所述边特征,对所述节点特征进行更新包括:
利用预定神经网络对所述视觉图的节点特征执行至少一轮更新操作,所述预定神经网络包括:全连接层、第一图卷积层和第二图卷积层,
其中,所述至少一轮更新操作中的每轮更新操作包括:
利用全连接层将所述视觉图的节点特征映射为空间维度数量等于预定数量的第一特征;
利用第一图卷积层对所述第一特征进行处理,以得到第二特征;
利用第二图卷积层对所述第二特征进行处理,以得到更新的节点特征;以及
由所述更新的节点特征和所述边特征构成所述更新视觉图;
其中,所述至少一轮更新操作中的每轮更新操作还包括:基于所述边特征构建拉普拉斯矩阵;
所述利用第一图卷积层对所述第一特征进行处理包括:利用所述第一图卷积层基于所述拉普拉斯矩阵对所述第一特征进行处理,以得到所述第二特征,所述第二特征包括多个第一子特征。
2.根据权利要求1所述的方法,其中,所述基于所述输入图像,构建视觉图包括:
利用目标检测网络对所述输入图像进行处理,以从所述目标检测网络的中间层提取针对所述输入图像中的多个目标对象的表观特征和空间特征;
基于所述表观特征和所述空间特征,确定所述节点特征;
基于所述目标检测网络的输出层所输出的处理结果,确定所述多个目标对象各自的位置信息;
基于所述多个目标对象各自的位置信息,确定所述多个目标对象中的任意两个目标对象之间的位置关系;
基于所述任意两个目标对象之间的位置关系,确定所述边特征;以及
由所述节点特征和所述边特征构成所述视觉图。
3.根据权利要求2所述的方法,其中,所述基于所述多个目标对象各自的位置信息,确定所述多个目标对象中的任意两个目标对象之间的位置关系包括:
根据所述任意两个目标对象各自的位置信息,计算所述任意两个目标对象的位置区域之间的交集和并集;
计算所述交集和并集的比值;
在所述比值大于预定阈值的情况下,将所述任意两个目标对象之间的位置关系表示为1;以及
在所述比值小于等于预定阈值的情况下,将所述任意两个目标对象之间的位置关系表示为0。
4.根据权利要求1所述的方法,其中,所述预定神经网络还包括关联层;
所述至少一轮更新操作中的每轮更新操作还包括:利用关联层计算所述多个第一子特征中的任意两个第一子特征之间的关联关系,并基于所述任意两个第一子特征之间的关联关系确定关系矩阵;
所述利用第二图卷积层对所述第二特征进行处理包括:利用所述第二图卷积层基于所述关系矩阵对所述第二特征进行处理,以得到所述更新的节点特征。
5. 根据权利要求4所述的方法,其中,所述任意两个第一子特征之间的关联关系包括:
所述任意两个第一子特征之间的欧式距离;或者
所述任意两个第一子特征之间的余弦相似度。
6.根据权利要求1所述的方法,其中,所述基于所述输入问题,确定问题特征包括:
利用词编码算法和特征编码算法依次对所述输入问题进行编码处理,以得到所述问题特征。
7.根据权利要求1所述的方法,其中,所述更新视觉图包括更新的节点特征,所述更新的节点特征包括多个第二子特征;
所述对所述更新视觉图和所述问题特征进行融合处理包括:
基于注意力机制,确定所述多个第二子特征各自与所述问题特征之间的注意力权重;
利用所述多个第二子特征各自与所述问题特征之间的注意力权重,对所述多个第二子特征进行加权求和,以得到自适应特征;以及
对所述自适应特征和所述问题特征进行融合处理,以得到所述融合特征。
8.根据权利要求7所述的方法,其中,所述对所述自适应特征和所述问题特征进行融合处理包括:
对所述自适应特征和所述问题特征进行逐元素点乘操作,以得到所述融合特征。
9.根据权利要求8所述的方法,其中,所述基于所述融合特征,生成针对所述输入图像和所述输入问题的预测答案包括:
利用多层感知机对所述融合特征进行处理,以得到针对所述融合特征的预测答案。
10.一种图像问答装置,包括:
获取模块,用于获取输入图像和输入问题;
图构建模块,用于基于所述输入图像,构建视觉图,所述视觉图包括节点特征和边特征;所述节点特征表征所述输入图像中一个或多个目标对象的特征信息;所述边特征表征所述输入图像中目标对象之间的位置关系;
更新模块,用于基于所述节点特征和所述边特征,对所述节点特征进行更新,以得到更新视觉图;
问题特征提取模块,用于基于所述输入问题,确定问题特征;
融合模块,用于对所述更新视觉图和所述问题特征进行融合处理,以得到融合特征;以及
预测模块,用于基于所述融合特征,生成针对所述输入图像和所述输入问题的预测答案;
其中,所述更新模块用于利用预定神经网络对所述视觉图的节点特征执行至少一轮更新操作,所述预定神经网络包括:全连接层、第一图卷积层和第二图卷积层;
其中,所述更新模块包括:
映射子模块,用于利用全连接层将所述视觉图的节点特征映射为空间维度数量等于预定数量的第一特征;
第一图卷积子模块,用于利用第一图卷积层对所述第一特征进行处理,以得到第二特征;
第二图卷积子模块,用于利用第二图卷积层对所述第二特征进行处理,以得到更新的节点特征;以及
更新子模块,用于由所述更新的节点特征和所述边特征构成所述更新视觉图;
其中,所述更新模块还包括:第一构建子模块,用于基于所述边特征构建拉普拉斯矩阵;
所述第一图卷积子模块用于利用所述第一图卷积层基于所述拉普拉斯矩阵对所述第一特征进行处理,以得到所述第二特征,所述第二特征包括多个第一子特征。
11. 一种计算机设备,包括:
存储器,其上存储有计算机指令;以及
至少一个处理器;
其中,所述处理器执行所述计算机指令时实现根据权利要求1~9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现根据权利要求1~9中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616632.6A CN111782840B (zh) | 2020-06-30 | 2020-06-30 | 图像问答方法、装置、计算机设备和介质 |
US17/161,466 US11768876B2 (en) | 2020-06-30 | 2021-01-28 | Method and device for visual question answering, computer apparatus and medium |
KR1020210026421A KR20220002065A (ko) | 2020-06-30 | 2021-02-26 | 이미지 문답 방법, 장치, 컴퓨터 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 |
JP2021035343A JP7196218B2 (ja) | 2020-06-30 | 2021-03-05 | 画像質問応答方法、装置、コンピュータ装置、媒体及びプログラム |
EP21165274.8A EP3859560A3 (en) | 2020-06-30 | 2021-03-26 | Method and apparatus for visual question answering, computer device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010616632.6A CN111782840B (zh) | 2020-06-30 | 2020-06-30 | 图像问答方法、装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782840A CN111782840A (zh) | 2020-10-16 |
CN111782840B true CN111782840B (zh) | 2023-08-22 |
Family
ID=72761522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010616632.6A Active CN111782840B (zh) | 2020-06-30 | 2020-06-30 | 图像问答方法、装置、计算机设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11768876B2 (zh) |
EP (1) | EP3859560A3 (zh) |
JP (1) | JP7196218B2 (zh) |
KR (1) | KR20220002065A (zh) |
CN (1) | CN111782840B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220189060A1 (en) * | 2020-12-10 | 2022-06-16 | Niantic, Inc. | Visual Camera Re-Localization using Graph Neural Networks and Relative Pose Supervision |
CN114842368B (zh) * | 2022-05-07 | 2023-10-03 | 中国电信股份有限公司 | 基于场景的视觉辅助信息确定方法、系统、设备及存储介质 |
CN115496976B (zh) * | 2022-08-29 | 2023-08-11 | 锋睿领创(珠海)科技有限公司 | 多源异构数据融合的视觉处理方法、装置、设备及介质 |
CN115310611B (zh) * | 2022-10-12 | 2023-03-24 | 苏州浪潮智能科技有限公司 | 一种人物意图推理方法及相关装置 |
CN116542995B (zh) * | 2023-06-28 | 2023-09-22 | 吉林大学 | 一种基于区域表示和视觉表示的视觉问答方法及系统 |
CN116881427B (zh) * | 2023-09-05 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN117271818B (zh) * | 2023-11-22 | 2024-03-01 | 鹏城实验室 | 视觉问答方法、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255359A (zh) * | 2018-09-27 | 2019-01-22 | 南京邮电大学 | 一种基于复杂网络分析方法的视觉问答问题解决方法 |
KR20190092043A (ko) * | 2018-01-30 | 2019-08-07 | 연세대학교 산학협력단 | 추론 과정 설명이 가능한 시각 질의 응답 장치 및 방법 |
CN110222770A (zh) * | 2019-06-10 | 2019-09-10 | 成都澳海川科技有限公司 | 一种基于组合关系注意力网络的视觉问答方法 |
CN110348535A (zh) * | 2019-07-17 | 2019-10-18 | 北京金山数字娱乐科技有限公司 | 一种视觉问答模型训练方法及装置 |
CN110717024A (zh) * | 2019-10-08 | 2020-01-21 | 苏州派维斯信息科技有限公司 | 基于图像视觉到文本转换的视觉问答问题解决方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965705B2 (en) | 2015-11-03 | 2018-05-08 | Baidu Usa Llc | Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering |
US11544535B2 (en) * | 2019-03-08 | 2023-01-03 | Adobe Inc. | Graph convolutional networks with motif-based attention |
-
2020
- 2020-06-30 CN CN202010616632.6A patent/CN111782840B/zh active Active
-
2021
- 2021-01-28 US US17/161,466 patent/US11768876B2/en active Active
- 2021-02-26 KR KR1020210026421A patent/KR20220002065A/ko active IP Right Grant
- 2021-03-05 JP JP2021035343A patent/JP7196218B2/ja active Active
- 2021-03-26 EP EP21165274.8A patent/EP3859560A3/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190092043A (ko) * | 2018-01-30 | 2019-08-07 | 연세대학교 산학협력단 | 추론 과정 설명이 가능한 시각 질의 응답 장치 및 방법 |
CN109255359A (zh) * | 2018-09-27 | 2019-01-22 | 南京邮电大学 | 一种基于复杂网络分析方法的视觉问答问题解决方法 |
CN110222770A (zh) * | 2019-06-10 | 2019-09-10 | 成都澳海川科技有限公司 | 一种基于组合关系注意力网络的视觉问答方法 |
CN110348535A (zh) * | 2019-07-17 | 2019-10-18 | 北京金山数字娱乐科技有限公司 | 一种视觉问答模型训练方法及装置 |
CN110717024A (zh) * | 2019-10-08 | 2020-01-21 | 苏州派维斯信息科技有限公司 | 基于图像视觉到文本转换的视觉问答问题解决方法 |
Non-Patent Citations (1)
Title |
---|
Cheng Zhang et al.."An Empirical Study on Leveraging Scene Graphs for Visual Question Answering".《arXiv》.2019,1-21页. * |
Also Published As
Publication number | Publication date |
---|---|
JP7196218B2 (ja) | 2022-12-26 |
JP2022013644A (ja) | 2022-01-18 |
EP3859560A3 (en) | 2021-10-20 |
US11768876B2 (en) | 2023-09-26 |
KR20220002065A (ko) | 2022-01-06 |
CN111782840A (zh) | 2020-10-16 |
US20210406468A1 (en) | 2021-12-30 |
EP3859560A2 (en) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782838B (zh) | 图像问答方法、装置、计算机设备和介质 | |
CN111782840B (zh) | 图像问答方法、装置、计算机设备和介质 | |
US20230196117A1 (en) | Training method for semi-supervised learning model, image processing method, and device | |
CN111797893B (zh) | 一种神经网络的训练方法、图像分类系统及相关设备 | |
US11651214B2 (en) | Multimodal data learning method and device | |
US20180025249A1 (en) | Object Detection System and Object Detection Method | |
CN110659723B (zh) | 基于人工智能的数据处理方法、装置、介质及电子设备 | |
US20230153615A1 (en) | Neural network distillation method and apparatus | |
CN113705769A (zh) | 一种神经网络训练方法以及装置 | |
US20230095606A1 (en) | Method for training classifier, and data processing method, system, and device | |
CN112183718A (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
Ye et al. | Steering angle prediction YOLOv5-based end-to-end adaptive neural network control for autonomous vehicles | |
CN115223020B (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
US20230401838A1 (en) | Image processing method and related apparatus | |
CN115238909A (zh) | 一种基于联邦学习的数据价值评估方法及其相关设备 | |
CN117217280A (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN113762331A (zh) | 关系型自蒸馏方法、装置和系统及存储介质 | |
Chen et al. | Real-time lane detection model based on non bottleneck skip residual connections and attention pyramids | |
CN113128285A (zh) | 一种处理视频的方法及装置 | |
US20230114556A1 (en) | Neural network models using peer-attention | |
CN114387465A (zh) | 图像识别方法、装置、电子设备和计算机可读介质 | |
Ngestrini | Predicting poverty of a region from satellite imagery using CNNs | |
CN111695673B (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
CN117635925A (zh) | 图像语义分割方法和装置 | |
El-Amir et al. | Selected Topics in Computer Vision |
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 |