视觉问答项目

同花顺Supermind量化交易 技术面分析专题(一)-- 相似k线的形态验证与选股 W底”,“多头上涨”,“趋势回踩”,”上涨中继“这些都是常见的K线形态,以”上涨中继“为例,当股价快速上涨后,出现盘整形态而非顶部形态,预示股价还会进一步上涨,那么本节主要讲述”上涨中继”形态是否能够预测未来股价上涨,以及如何应用“上涨中继”形态,来快速选股。"相似K线"技术相比于传统的K线组合而言更具技术性,其还有较多的运用空间,比如:运用顶部形态来监控个股潜在的下跌风险,运用相似度来监控个股是否脱离大盘走势,研究各类形态的上涨预测能力,并应用于选股等等。第一步:选取一段标准的“上涨中继”形态K线图。 阅读详情

视觉问答项目

1. 项目地址

本笔记项目包括如下:

  • MCAN(Deep Modular Co-Attention Networks for Visual Question Answering)用于VQA的深层模块化的协同注意力网络

  • murel(Multimodal Relational Reasoning for Visual Question Answering)视觉问答VQA中的多模态关系推理

  • block(Multimodal Relational Reasoning for Visual Question Answering)用于VQA的双线性超对角融合模型

  • ReGAT(Relation-Aware Graph Attention Network for Visual Question Answering)关系感知图注意力网络来提高VQA对图像中复杂语义的理解

  • CMR(Cross-Modality Relevance for Reasoning on Language and Vision)语言和视觉推理的跨模态关联

2. 项目具体

2.1 MCAN项目

作者认为协同注意力只能够学习到多模态之间粗糙的交互,而且也不能进行图像和问题关键词之间的关系推断,为了解决协同注意力不能够进行多模态之间的充分交互问题,目前提出了两个密集协同注意力模型(dense co-attention model)——BAN和DCN。有趣的是,这两个模型是可以串联在一起解决更深层次的视觉推理。但是这两个模型相较于浅层模型却仅有很小的性能提升,作者认为原因在于这两个模型没有同时在每一个模态中对密度自注意力建模。

作者提出了深层协同注意力网络MCAN(由协同注意力模块MCA层串联构成)。每一个MCA层都能够对图像和问题的注意力进行建模。一个自注意力单元(self-attention (SA) unit)进行模态内部交互和一个导向注意力单元(guided-attention (GA) unit)进行模态之间交互。之后再用一个协同注意力模块层(Modular Co-Attention (MCA) layers)将两个单元串联起来,最后将多个模块层串联起来,组成MCAN网络(Modular Co-Attention Network (MCAN)

2.1.1 MCAN项目架构

在这里插入图片描述

2.1.2 MCAN项目数据集

MCAN数据集也是采用Bottom up处理好的图像特征不过这里不是tsv文件格式也不是pth文件格式也不是hdf5文件格式,而是转换成npz文件格式。如下:
在这里插入图片描述

2.1.3 MCAN项目模型

在这里插入图片描述

2.2 block项目

block项目是关于视觉问答的多模态融合策略开发的,作者认为多模态如果仅经过简单的内积会产生非常高维度的权重张量,为了解决这个问题,作者引入新的多模态融合策略,它基于块-超对角张量分解技术。它使用了块项秩(block-term ranks)的概念,能够对张量的“秩”和“模态秩”的概念进行泛化,已多用于多模态融合

2.2.1 block在VQA中应用的框架

在这里插入图片描述

2.2.2 block数据集

block项目作者为了比较其性能,分别在VRD和VQA任务上都做了实验,本文只针对VQA进行讲解。
在这里插入图片描述

  • 数据集下载:
    • coco:MSCOCO原始图像数据集

    • vqa2:VQA相关的原始json文件
      在这里插入图片描述
      经过数据预处理后的文件:
      在这里插入图片描述

    • coco_extract_rcnn:根据MSCOCO原始数据集以及其annotations的json文件并添加了注意力信息后,利用faster-r-cnn提取的图像特征提取的包含图像空间位置特征等信息的图像特征。
      在这里插入图片描述

2.2.3 block模型

模型中传入需要用到的特征

    def forward(self, batch):
        v = batch['visual']
        q = batch['question']
        l = batch['lengths']

        q = self.process_question(q, l)
        v = self.attention(q, v)
        logits = self.fusion([q, v])

        out = {'logits': logits}
        return out

2.3 murel项目

murel项目是在VQA任务中引入一个MUREL,一种能够在真实图像中学习端到端推理的多模态关系网络,作者认为虽然目前注意力机制在VQA中表现了很好的效果,但是这种简单的机制不足以处理复杂的推理特征。

VQA任务的关键是解决两种特征向量的高层次相关性的表示,在目前的多模态融合方法里面,比较有效的是二阶交互或张量分解,在VQA关系推理中,目前多用的是软注意力机制,根据问题,模型会对每个区域进行重要性评分,然后再用权重求和的池化方法进行可视化表示,多重注意力可以通过并行或者顺序计算。

本文贡献:本文作者移除了传统的注意力结构,采用了向量化表示,对每个区域的视觉内容和问题之间的语义进行建模,此外作者还在表示中加入了空间和语义上下文的概念,即通过视觉嵌入和空间坐标之间的交互来表示成对的图像区域。

2.3.1 murel在VQA中应用的框架

在这里插入图片描述
在这里插入图片描述

2.3.2 murel数据集

Murel用的数据集同block相同,murel数据集中图像的特征不仅只是像素还包括了位置信息。提取一个batch时采用如下:

2.3.3 murel模型

模型需要传入的特征如下(发现比block多了个 c = batch[‘norm_coord’]):

 def forward(self, batch):
        v = batch['visual']
        q = batch['question']
        l = batch['lengths'].data
        c = batch['norm_coord'] #规范化目前坐标

        q = self.process_question(q, l)

        bsize = q.shape[0]
        n_regions = v.shape[1]

        q_expand = q[:,None,:].expand(bsize, n_regions, q.shape[1])
        q_expand = q_expand.contiguous().view(bsize*n_regions, -1)

        # cell
        mm = v
        for i in range(self.n_step):
            cell = self.cell if self.shared else self.cells[i]
            mm = cell(q_expand, mm, c)

            if self.buffer is not None: # for visualization
                self.buffer[i] = deepcopy(cell.pairwise.buffer)

        if self.agg['type'] == 'max':
            mm = torch.max(mm, 1)[0]
        elif self.agg['type'] == 'mean':
            mm = mm.mean(1)

        if 'fusion' in self.classif: #如果存在融合策略,则融合
            logits = self.classif_module([q, mm])
        elif 'mlp' in self.classif: #如果存在mlp,则采用感知器
            logits = self.classif_module(mm)

        out = {'logits': logits}
        return out

2.4 ReGat项目

作者认为只是考虑显示关系或者隐式关系是不够的,为了充分理解图像中的视觉场景,特别是不同对象之间的交互,我们提出一个关系感知图注意网络:它将每幅图片编码成一个图,并通过图注意机制建立多类型的对象间关系模型,以学习问题自适应关系表示,同时探讨了两种视觉对象关系:(1)表示对象之间几何位置和语义交互的显示关系。(2)捕捉图像区域之间隐藏动态的隐式关系。

2.4.1 ReGAt项目框架

在这里插入图片描述

在这里插入图片描述

2.4.2 ReGAt项目数据集

ReGAt项目也是用到了bottom-up attention features ,如下:
在这里插入图片描述
下载后会得到trainval_resnet101_faster_rcnn_genome_36.tsv行式的tsv文件,其中文件中包含如下内容:

FIELDNAMES = ['image_id', 'image_w','image_h','num_boxes', 'boxes', 'features']
其中item['boxes']为对应检测框的位置信息 x,y,w,h
item[''boxes'].shape=(num_boxes,4)
item['features']为对应检测框 在pool5_flat 层的特征
item['features'].shape=(num_boxes, feature_dim)
item['num_boxes'] 为该张图片对应的检测框数目

注意到源码中写到

 return {
        'image_id': image_id,
        'image_h': np.size(im, 0),
        'image_w': np.size(im, 1),
        'num_boxes' : len(keep_boxes),
        'boxes': base64.b64encode(cls_boxes[keep_boxes]),
        'features': base64.b64encode(pool5[keep_boxes])
    }   
   所以在读取 .tsv文件是,需要用到base64.decodestring()解码

不过本文在作者提供下载的链接中是下载了已经通过读取tsv文件转换成hdf5文件的格式。

图像:
在这里插入图片描述
问题:
在这里插入图片描述
答案:
在这里插入图片描述
glove数据集
在这里插入图片描述
处理好的图像id:
在这里插入图片描述

预训练模型
在这里插入图片描述

预训练模型需要的pickle缓存
在这里插入图片描述

2.4.3 ReGat模型

在这里插入图片描述
(模型图:后续补上)

3. 项目总结

这几个项目所用到的都是Bottom up提取好的图像特征,只是存储方式不同,具体如下

项目图像特征格式数据集
MCAN****.img.nbz36个固定区域特征
block****.img.pth36个固定区域特征
murel****.img.pth36个固定区域特征
ReGattrain.hdf5,test.hdf5,val.hdf536个固定区域特征和10-100自适应特征
数据处理和分析之数据预处理:数据离散化 在某些情况下,根据业务知识或数据特性,我们可能需要自定义离散化的区间。例如,对于年龄特征,我们可能更关心儿童、青少年、成人和老年人这几个阶段,因此可以自定义这些区间。等宽离散化:将数据范围分成等宽的区间。等频离散化:将数据分成包含相同数量观测值的区间。聚类离散化:使用聚类算法(如K-means)来确定离散化区间。自定义区间离散化:根据领域知识或数据特性手动定义区间。# 自定义区间离散化示例# 假设我们根据业务理解,将年龄分为青年、中年和老年三个阶段。 阅读详情

相关推荐

FPGA SPI驱动ADC避坑指南:以ADC128S022为例,详解时序设计与代码调试

本文以ADC128S022为例,详细解析FPGA通过SPI驱动ADC的时序设计与代码调试中的常见问题。从时钟分频计算、SPI模式选择到状态机实现,提供避坑指南和实战技巧,帮助工程师解决数据采集系统中的时序匹配难题。特别针对FPGA与ADC通信中的微妙差异,给出精确的Verilog代码示例和ModelSim仿真验证方法。

weixin_42522374的博客 460

视觉问答研究报告

摘 要:视觉问答(Visual Question Answering,VQA)是一项涉及计算机 视觉、自然语言理解、知识表示与推理的学习任务。其标准定义译为中 文通俗来说为:视觉问答系统的输入为一张图像和一个关于这张图像形 式自由、开放式的自然语言问题,经过系统处理后提供一个准确的自然 语言答案作为输出,也即是基于一张图像的问答处理。因此视觉问答系 统不仅要理解文字形式提出的问题,还需要进行图像处...

qq_36673321的博客 5601

分布式计算Ray框架:从入门到精通完全教程

想象一下,你有一个机器学习模型要训练,数据集大到让你的笔记本电脑直冒烟;或者你需要并行跑几百个爬虫任务,但线程池和多进程搞得你头晕眼花。传统的单机计算已经hold不住这些场景,分布式计算应运而生。然而,传统的分布式框架(如Hadoop、Spark)要么配置复杂,要么对动态任务支持不佳。这时候,Ray闪亮登场!Ray是一个开源的分布式计算框架,专为高性能、灵活性和易用性而生。它最初由UC Berkeley的RISELab团队开发,目标是让开发者用最少的代码实现分布式任务。无论是数据处理、机器学习,还是仿真任务

大模型大数据攻城狮的专栏 1320

【数据处理】之读取csv文件报错

报错1:OverflowError: Python int too large to convert to C long 将csv.field_size_limit(sys.maxsize)更改为下: import sys maxInt = sys.maxsize decrement = True while decrement: decrement = False try: csv.field_size_limit(maxInt) except OverflowE

snow_maple521的博客 1198

【嘉立创EDA】PCB金属包边设计快捷方法

本文使用嘉立创EDA,描述如何在PCB设计时,快速增加边框包边设计,特别是金属包边(伪)——这里标记(伪)是因为该这里的包边特指不含边缘壁。请参考本文时特别注意!本文将此过程记录,以供有需要的读者参考。

l64481000的博客 1746

4-20mA电流信号转电压

该电路实现4-20mA电流信号转电压(0.44-2.2V)调理功能,采用两级运放设计:第一级LMH6642MFX进行11倍放大,第二级配置为缓冲器加二阶低通滤波。电路包含10Ω采样电阻、多级RC滤波和ESD防护,具有抗干扰强、功耗低(4mW)等特点,适配3.3V系统ADC采集。通过使能控制MOS管可实现节能模式,适用于工业自动化、环境监测等场景。设计合理平衡了信号精度与功耗,输出电压范围留有充足余量避免饱和。

qq_37999850的博客 308

bottom-up attention features代码的一些笔记

mscoco 数据集的bottom-up attention的特征(目标检测的框对应的特征) trainval_resnet101_faster_rcnn_genome_36.tsv 或者 trainval_resnet101_faster_rcnn_genmoe.tsv 下载地址为 https://github.com/peteanderson80/bottom-up-attention#dem...

yangshaokangrushi的博客 3611

使用 MATLAB/Simulink 对一个开关磁阻电机进行建模

*开关磁阻电机(Switched Reluctance Motor, SRM)**是一种新型的无刷电机,以其简单的机械结构、宽广的调速范围和较高的效率在工业应用中得到了广泛关注。SRM的独特之处在于其定子和转子均为凸极结构,并且通过改变绕组电流的方向来实现转矩的产生和控制。本教程将详细介绍如何使用对一个开关磁阻电机进行建模,并探讨其基本控制策略,特别是针对双凸极结构的SRM。本文介绍了如何使用构建一个开关磁阻电机的双凸极结构模型,并探讨了其基本控制策略。

amy_mhd的博客 203

Faster R-CNN+FPN+ResNet-101项目。、

项目实现环境搭建二级目录三级目录 先说下自己的环境:ubuntu18+python3.6+torch0.4.1+RTX2080Ti 哎,硬件更新了,以前的代码跑起来可费劲了 还有这个环境 cuda9.0+cudnn7.0 github项目地址:https://hub.fastgit.org/potterhsu/easy-fpn.pytorch 要是打不开,搜索最后的名字 环境搭建 RTX2080Ti对应的arch是sm_75,其他卡需要自己查清楚再对应修改 遇到gcc编译器报错,试下在makefile等脚本

dpasdfjk66的博客 2072

innovus:InstPad、CellPad 、module padding、clock cell halo

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?site_num指的是padding的大小以site宽度为单位。

m0_61544122的博客 2028

RK3399平台开发系列讲解(外设篇)交换芯片RTL8306M

网络:交换芯片RTL8306M 电路: make menuconfig 配置: 目录:arch/arm64/configs/rk3399_b201_defconfig CONFIG_FIXED_PHY=y 设备树: arch/arm64/boot/dts/rockchip/rk3399-b201-rev1.dts 时钟: Open之后首先校验网卡mac地址是否正确(stmmac_chec...

内核笔记 2393

使用ResNet101作为预训练模型训练Faster-RCNN-TensorFlow-Python3-master

  使用VGG16作为预训练模型训练Faster-RCNN-TensorFlow-Python3-master的详细步骤→Windows10+Faster-RCNN-TensorFlow-Python3-master+VOC2007数据集。   如果使用ResNet101作为预训练模型训练Faster-RCNN-TensorFlow-Python3-master,在之前使用VGG16作为预训练模型的训练步骤基础上需要修改几个地方。 第一个,在之前的第6步时,改为下载预训练模型ResNet101,在./da

大彤小忆的博客 7591

【大模型】DeepSeek + Coze 打造个人专属AI智能体使用详解

DeepSeek + Coze 打造个人专属AI智能体使用详解

congge 1万+

视觉问答项目实战指南

视觉问答项目实战指南 项目介绍 本教程将引导您探索由Aimbrain维护的视觉问答(VQA)项目。这个项目旨在结合计算机视觉与自然语言处理技术,实现对图像的询问并提供精确的回答。通过深度学习模型,它能够理解图片内容并解答基于图片的问题,是人机交互领域的一个重要突破。 项目快速启动 要迅速开始您的视觉问答之旅,请遵循以下步骤: 环境搭建 确保安装了Python环境以及必要的依赖库,如TensorF...

gitblog_00212的博客 470

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

探索视觉问答的未来:OpenVQA项目深度解析

探索视觉问答的未来:OpenVQA项目深度解析 在人工智能的众多分支中,视觉问答(VQA)是一个集图像识别与自然语言处理于一体的前沿领域。今天,我们将深入探讨一个在这一领域中具有里程碑意义的开源项目——OpenVQA。 项目介绍 OpenVQA是一个为视觉问答研究设计的通用平台,它实现了多种最先进的VQA方法,如BUTD、MFH、BAN、MCAN和MMNasNet,并支持多个基准数据集,包括VQA...

gitblog_00360的博客 618

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

深度学习实战:ViLT模型在视觉问答项目中的应用

在当今人工智能技术飞速发展的时代,视觉问答(Visual Question Answering, VQA)作为计算机视觉与自然语言处理的交叉领域,备受关注。本文将分享我们团队在实际项目中应用ViLT(Vision-and-Language Transformer)模型的经验,探讨其选型原因、实施步骤、遇到的挑战及其解决方案,以及最终的收获和反思。 ## 项目背景 我们的项目旨在开发一款能够准确...

gitblog_02367的博客 1121

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VQA-Keras 视觉问答项目教程

VQA-Keras 视觉问答项目教程 1. 项目的目录结构及介绍 VQA-Keras-Visual-Question-Answering/ ├── data/ │ ├── coco/ │ ├── vqa/ │ └── ... ├── models/ │ ├── attention_model.py │ ├── custom_layers.py │ └── ... ├── u...

gitblog_00675的博客 492

机器视觉问答开源项目介绍(转)

mark一下,感谢作者分享! http://chuansong.me/n/873646452436

法相的博客 1020

多元元模型量化在医学视觉问答中的应用 —— MMQ-VQA项目推荐

多元元模型量化在医学视觉问答中的应用 —— MMQ-VQA项目推荐 随着医疗领域数字化的深入,如何利用图像辅助进行诊断和理解成为了研究热点。今天,我们向您隆重推荐一个针对这一领域的前沿解决方案——Multiple Meta-model Quantifying for Medical Visual Question Answering(MMQ-VQA)。此开源项目通过引入多元元模型量化策略,显著提升...

gitblog_00210的博客 493

探索视觉问答的未来:Attention on Attention for VQA 项目推荐

探索视觉问答的未来:Attention on Attention for VQA 项目推荐 项目介绍 "Attention on Attention: Architectures for Visual Question Answering (VQA)" 是一个开源项目,旨在通过先进的注意力机制来提升视觉问答(VQA)系统的性能。该项目基于斯坦福大学 CS 224N 和 CS 2...

gitblog_00881的博客 329

推荐项目:基于Keras的视觉问答系统

推荐项目:基于Keras的视觉问答系统 在深度学习的浪潮中,多模态学习成为了解决复杂问题的关键。视觉问答(Visual Question Answering, VQA),一个集图像理解和自然语言处理于一体的挑战,正引领着人工智能的新风尚。本文将为你揭秘一个利用Keras实现的VQA系统,它能理解图片并精确回答关于图片的问题。让我们一探究竟! 项目介绍 视觉问答与Keras 是一个端到端的解决方案,...

gitblog_00747的博客 680

TensorFlow实现的深度LSTM+标准化CNN视觉问答(VQA)项目指南

TensorFlow实现的深度LSTM+标准化CNN视觉问答(VQA)项目指南 本指南将带您深入了解位于GitHub上的开源项目,专注于其目录结构、启动文件以及配置文件的关键细节,以帮助您高效地理解和使用此VQA实现。 1. 项目目录结构及介绍 项目遵循典型的机器学习项目布局,其主要组成部分如下: VQA-tensorflow/ │ ├── model_VQA.py # 核心模型文件,包...

gitblog_00550的博客 831

开源项目推荐:自然图像视觉问答中的对象计数模块

开源项目推荐:自然图像视觉问答中的对象计数模块 该项目是ICLR 2018论文《Learning to Count Objects in Natural Images for Visual Question Answering》的官方实现,主要使用Python语言开发。 项目基础介绍 本项目旨在为视觉问答(VQA)模型引入一个计数组件,使得模型能够从注意力图中计数对象,从而在VQA v2的数字类别...

gitblog_00609的博客 361

如何快速上手视觉问答(VQA)项目:完整入门指南与实战技巧

视觉问答(VQA)是人工智能领域的热门方向,它结合计算机视觉与自然语言处理,让机器能够理解图像内容并回答相关问题。本文将带你全面了解GitHub加速计划中的vq/VQA项目,掌握其核心功能与使用方法,轻松开启视觉问答应用开发之旅。 ## ???? VQA项目核心功能与优势 VQA项目提供了处理视觉问答数据集的Python API和评价代码,支持VQA v2.0和v1.0两个版本,是入门视觉问答领域...

gitblog_00707的博客 611

VQA2.0-Recent-Approachs-2018.pytorch: 用于视觉问答的开源项目介绍

VQA2.0-Recent-Approachs-2018.pytorch: 用于视觉问答的开源项目介绍 项目基础介绍与主要编程语言 VQA2.0-Recent-Approachs-2018.pytorch 是一个开源项目,它基于 PyTorch 深度学习框架,对视觉问答(Visual Question Answering, VQA)任务中的几种近期方法进行了重新实现。该项目旨在提供一个清晰、高效的...

gitblog_00685的博客 773

视觉问答VQA项目完整指南:如何快速上手多模态AI应用

视觉问答(Visual Question Answering,VQA)作为人工智能领域的重要分支,正在改变机器理解图像和语言的方式。这个开源项目提供了处理VQA数据集所需的完整Python API和评估工具,支持VQA v2.0和v1.0版本,让开发者能够轻松构建和测试自己的多模态AI模型。本文将为您提供一份简单明了的入门指南,帮助您快速掌握这个强大的工具集。 ## 🚀 快速启动:5分钟搭建V

gitblog_00537的博客 1119
上一篇: 【数据处理】pth文件读取
下一篇: VQA-object_counting代码项目分析
snow5618
博客等级 码龄9年 141粉丝 51原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值