Transformer 实现图像标注

一文窥探近期大火的Transformer以及在图像分类领域的应用 本文首先将简要介绍Transformer的原理与其各个组成部分、Transformer在自然语言处理(NLP)领域的应用;接下来文章从图片分类与目标检测的角度介绍相应Transformer的应用;最后本文将介绍Transformer在应用到CV领域时依然存在的不足以及未来可能的研究方向。 阅读详情

前言

图像标注是计算机视觉和自然语言处理领域交叉的一个热点研究方向。它的主要任务是将一张图像自动转化为自然语言的文字描述。本文主要介绍了使用 CNN 、Transformer 等技术实现图像标注的任务。相关技术有:

  • 自然语言处理 NLP

  • 计算机视觉 CV

  • 注意力机制 Attention And Self-Attention

  • 变形金刚 Transformer

  • 序列到序列模型 Seq2Seq

数据集和数据预处理

数据介绍

在本文中,我们使用的数据集是 Flickr8k ,它包含了 8000 张不同主题的图像,每张图像有 5 个不同的文本描述。

数据预处理

  • 图像尺寸调整:读取图像文件,并将其调整为统一的大小(例如,299x299像素)。这个统一的大小确保了输入图像的一致性。
  • 图像归一化:图像像素值被标准化为 0 到 1 之间的浮点数,以便在神经网络中处理。
  • 文本向量化:将文本分词,并将每个 token 转化为整数,整个文本也会转为 token 序列。我们限制了词汇表的大小为 10000 ,并设置了最大序列长度为 25 个词。
  • 构造数据:每个文本序列都以<start>标记开头,以<end>标记结尾,以便解码器模型知道何时开始和结束生成描述。我们将图像和文本描述配对,创建一个数据集。数据集中的每个样本包含一张图像和一个与之相关的文本序列。

结果展示

  • 图像数据:已经被调整为统一大小(299x299像素)和标准化的图像张量。 图像数据示例:

    <tf.Tensor: shape=(299, 299, 3), dtype=float32, numpy=array([[[0.43137255, 0.43529412, 0.44313726],
            [0.43137255, 0.43529412, 0.44313726],
            ...
            [0.43137255, 0.43529412, 0.44313726],
            [0.43137255, 0.43529412, 0.44313726]]], dtype=float32)>
    
    
  • 文本数据:已经被分词、标记化,并转化为整数序列。每个序列以<start>和<end>标记开头和结尾。 文本数据示例:

    <tf.Tensor: shape=(25,), dtype=int64, numpy=
    array([ 3,  2,  7,  8,  9, 10, 11,  5, 12, 13, 14, 15, 16, 17, 18, 19,  4,
            0,  0,  0,  0,  0,  0,  0,  0])>
    (在这个示例中,`3`表示`<start>`标签,`4`表示`<end>`标签,其余数字代表词汇表中的不同单词的索引。)
    
    

模型结构

使用图像特征提取器、编码器、解码器这三个组件,可以使得模型能够从输入图像中提取信息,将其编码为一种有意义的表示,然后解码为自然语言文本,从而实现了图像标注的任务。

图像特征提取器

图像特征提取器的任务是将输入的图像转化为一种有意义的特征表示,以便编码器能够理解和处理图像信息。在本文中,我们使用了一个预训练的 EfficientNetB0 作为图像特征提取器,这是一个轻量级但性能出色的 CNN 模型。

编码器

编码器的任务是将图像特征表示进一步转化为一种语义上丰富的表示,以供解码器使用。在本文中,我们使用了 Transformer 架构的编码器。Transformer 编码器的主要内容包括:

  • 自注意力机制
  • 多头注意力机制
  • 前馈神经网络层
  • Layer Normalization

编码器的输出将被传递给解码器,用于生成文本描述。

解码器

解码器的任务是接收编码器的输出,并逐步生成图像标注的文本描述。在本文中,我们同样使用了 Transformer 架构的解码器。 Transformer 解码器的主要内容和上面类似,不同之处这里需要使用各种掩码来进行注意力特征提取和转换,并且在中间的过程中要接收来自编码器的输出作为 key 和 value 。

解码器在推理的时候从 <start> 开始逐步生成词汇表中的单词,直到生成特殊的<end>标签,这样就得到了图像对应的文本描述。

模型的编译和训练

这里使用最常见的配置即可:

  • 优化器使用 Adam

  • 损失函数使用 SparseCategoricalCrossentropy

  • 观察指标使用 Loss 和 Acc

结果展示

在训练了 12 epoch 后检测到了观察指标无法精进所以停止了训练,验证集准确率 0.39 ,日志打印为:

 ...
 Epoch 12/200
96/96 [==============================] - 25s 260ms/step - 损失: 10.1508 - 准确率: 0.5445 - val_损失: 15.7716 - val_准确率: 0.3978

我们随机选择了三张图片进行了图像文本生成,下面看一下结果,虽然看起来准确率不高,但是对于文本的输出效果我还是比较满意的。

3209523192_05a4cef844.jpg

Image : Flicker8k_Dataset\3209523192_05a4cef844.jpg
Predicted Caption:  a man in a blue and red pants is skiing down a hill

3285993030_87b0f1d202.jpg

Image : Flicker8k_Dataset\3285993030_87b0f1d202.jpg
Predicted Caption:  a small dog runs through the sand

3394070357_cb2a3243fc.jpg

Image : Flicker8k_Dataset\3394070357_cb2a3243fc.jpg
Predicted Caption:  a dog is running through the water

挑战

  • 语义准确性:生成的描述应该准确传达图像的语义信息,确保生成的描述与图像内容一致,而不仅仅是表面的含糊其辞地特征。
  • 数据量:训练需要大规模的图像和文本数据,这在某些领域可能会受限。

详细实现过程可以看代码:github.com/wangdayaya/…

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

RAM模型背后的黑科技:Swin Transformer如何实现零样本图像识别? 本文深入解析了RAM模型如何利用Swin Transformer实现零样本图像识别的技术突破。通过自动语义解析、数据质量引擎和开放词汇表架构,RAM模型能够在无需标注数据的情况下识别新物体类别。Swin Transformer的层次化窗口注意力机制为这一突破提供了关键支持,使模型在计算效率和语义理解上取得显著优势。 阅读详情

相关推荐

Spatial Transformer Networks 论文笔记

Spatial Transformer Networks 论文笔记简介 Spatial Transformer Networks和BN一样相当于一个小插件,放在卷积网络中,其主要目的是对齐网络的每个输入。比如MNIST的手写数字识别,如果有一个图像中的数字有一定角度倾斜或偏移,Spatial Transformer可以对输入图像进行仿射变换,让CNN真正的输入变成对齐后的数字图像。 网络 网络结

Cyiano的博客 1649

Transformer在图像标注中的应用与优化实践

自注意力机制作为Transformer的核心技术,通过并行计算和全局建模能力,显著提升了序列数据的处理效率。在计算机视觉领域,这种机制被成功应用于图像标注任务,实现了从像素到自然语言的端到端转换。视觉Transformer(ViT)将图像分割为patch序列进行处理,结合跨模态注意力机制,能够有效捕捉图像区域间的语义关系。工程实践中,双流架构和对比学习等技术进一步提升了模型性能,使得系统在COCO等标准数据集上达到SOTA水平。图像标注技术现已广泛应用于智能相册、视障辅助、电商商品描述等场景,而多模态预训练

weixin_29055137的博客 220

论文阅读笔记——VGGT: Visual Geometry Grounded Transformer

VGGT: Visual Geometry Grounded Transformer 论文阅读笔记

Multiple_x的博客 1469

基于tensorflow实现图像描述

【基础翻译自:Attention Mechanism For Image Caption Generation in Python 借鉴于:Python中图像标题生成的注意机制实战教程_Together_CZ的博客-优快云博客】 该文内容主要是针对图像描绘从最基础的baseline:NIC模型开始到引出Attention,并且与Transformer模型进行性能比对,在源内容上进行拓展以及更新。主要针对学期大作业内容进行讲解。 任务定义: 图像描述是结合了计算机视觉和自然语言处理两个研究..

weixin_43631804的博客 4207

图像分割SAM辅助标注工具,可调用SAM等大模型(保姆级教程)

SAM等模型通过先进的深度学习技术,实现了高效、精准的图像自动化标注。这不仅显著降低了人工标注的工作量和成本,提高了标注效率和精度,还为各个领域的研究和应用提供了强大的技术支持。随着SAM等模型的不断完善和应用,自动化标注将在更多领域展现出巨大的潜力和价值。

qq_34717531的博客 1万+

混凝土裂缝图像分割工具包:UNet+Shift-Transformer双模块PyTorch实现,含标注数据、训练脚本与部署文档

专为工程现场裂缝检测设计的轻量级语义分割工具包,基于PyTorch框架,主干采用UNet结构并嵌入Shift-Transformer模块,兼顾局部细节捕捉与全局上下文建模能力。支持裂缝/背景二分类及扩展多类别分割,输入要求标准images/masks目录结构,兼容JPG/PNG图像与单通道灰度掩码,标签值为连续整数,自动处理不规则标签映射。内置标准化预处理流程,集成随机旋转、缩放、亮度对比度扰动等增强策略,适配不同光照与拍摄条件下的裂缝图像。训练过程支持GPU加速,通过命令行参数灵活配置学习率、batch

read5的博客 197

【CV-project】看图说话(Image Captioning)

Background分别使用CNN和LSTM对图像和文字进行处理: 将两个神经网络结合: 应用领域图像搜索 安全 鉴黄 涉猎知识 数字图像处理 图像读取 图像缩放 图像数据纬度变换 自然语言处理 文字清洗 文字嵌入(Embedding) CNN卷积神经网络 图像特征提取 迁移学习(Transfer Learning) LSTM递归神经网络 文字串(sequence)特征提取 DNN深度神经网络 从图像特征和文字串(sequence)的特征预测下一个单词 使用数据集Framing

It’s All Uphill From Here 2385

VGG+Transformer医学图像分类混合架构实战

医学图像分类是计算机视觉在临床落地的关键任务,其核心挑战在于小样本、高噪声与标注不均衡。传统CNN擅长局部纹理建模,而Transformer长于捕获跨区域空间依赖,二者融合可兼顾解剖结构保真性与病灶关联推理能力。VGG主干凭借对低频解剖轮廓和方向性边缘的强敏感性,在医学域迁移效果显著;轻量Transformer嵌入则强化肿瘤浸润淋巴细胞等长程模式识别。该混合架构已在ChestX-ray14、BreakHis等主流数据集验证有效性,适用于放射科AI辅助诊断、数字病理判读等场景,为构建鲁棒、可解释、可复现的医学

weixin_29038303的博客 188

使用transformer进行图像分类

文章目录1、导入模型2、定义加载函数3、定义批量加载函数4、加载数据5、定义数据预处理及训练模型的一些超参数6、定义数据增强模型7、构建模型7.1 构建多层感知器(MLP)7.2 创建一...

weixin_40920183的博客 1万+

HUAWEI华为荣耀MagicBook MateBook B D E X 13 14 16 笔记本MateStation台式机原装Win10出厂Windows11系统

HUAWEI华为MateBookX原装出厂系统恢复原厂系统,型号:MACHC-WAE9LP、EUL-W29P、MACHR-W19L、MACHR-W29、MACHD-WFE9、MRGF-16、MACHR-W19BL、MACHD-WFE9Q、WT-W19、Mach-W19、Mach-W29、WT-W09、WT-W19、MACH-W29等。HUAWEI华为MateBookE原装出厂系统恢复原厂系统,型号:PAK-AL09、GK-W7X、GK-G58、GK-W76、DRC-W76等。

QQ17855069的博客 17万+

【医学影像】超声(UltraSound)影像的增强与目标检测

文章目录1 综述1.1 超声发展简史1.2 超声类型2 超声影像的去噪与增强2.1 各向异性扩散去噪模型2.2 色彩恢复的视网膜增强算法SSR和MSR2.3 MSRCR增强算法(基于MSR算法改进版)2.4 参考文献3 超声影像的目标识别3.1 基于跨模态数据迁移进行DL训练3.2 参考文献 1 综述 因工作需要,最近调研了超声(UltraSound)影像的相关知识,包含超声类型、超声影像的去噪和增强,目标检测等,并对相关资料文献进行梳理整合。 本人另外一篇博文主要讲了UltraSound 影像与CT/MR

muyijames的博客 1万+

BEiT:图像Transformer的BERT式预训练

Bao,Hangbo,LiDongandFuruWei.“BEiT:BERTPre-TrainingofImageTransformers.”ArXivabs/2106.08254(2021). 1.Abstract 在本文中,我们介绍了一种自监督视觉表示模型BEiT(BidirectionalEncoderrepresentationfromImageTransformers)。继BERT在自然语言处理领域的发展之后,我们提出了一种掩码图像建模任务来预训练...

weixin_51697828的博客 2168

Logisim实战:手把手教你搭建GB2312汉字字库(附完整电路图)

本文提供了一份详尽的Logisim实战指南,手把手教你如何利用存储芯片,通过位扩展和字扩展技术,构建一个完整的GB2312汉字字库。文章深入浅出地讲解了从编码原理、系统架构设计到具体电路实现与调试的全过程,是学习计算机组成原理和数字电路设计的绝佳实践项目。

k6l7m8n9的博客 808

突破性智能数据标注平台:企业级AI辅助标注的终极解决方案

CVAT作为行业领先的机器学习数据引擎,正被各种规模的团队用于处理任何规模的数据,实现更高效的标注工作。无论是小型创业公司还是大型企业,都能借助CVAT强大的功能,轻松应对数据标注挑战,为AI模型训练提供高质量的数据支持。 ## 一、CVAT平台核心优势解析 ### 1.1 智能化标注工具,提升效率的关键 CVAT配备了一系列智能化标注工具,让标注工作不再繁琐。其中,AI辅助标注功能尤为突出,

gitblog_01104的博客 490

Gamma变换算法之Matlab&FPGA实现

Gamma映射原理 什么是Gamma曲线 人眼的感光与光强并不是呈线性关系的,而是呈非线性关系(指数型关系,如下图左-曲线。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。而图像传感器与输入光强呈线性关系(如下图左-直线)。从图中可见,当传感器感光在20%左右时,人眼感光响应达到了50%,人眼对低照度的变化更为敏感。从下图右侧可见,Reference Tone为人眼感光50%的亮度,而传感器在感光50%时则相对暗的多(见Select,近似中性灰)。这种将原始图像通过映射操

CrazyBingo的博客 7406

第32篇:Vibe Coding时代:LangGraph + Redis 任务状态持久化实战,解决服务重启后任务状态丢失问题

LangGraph + Redis任务状态持久化方案 本文针对Agent任务状态丢失问题,提出基于Redis的持久化解决方案。当服务重启时,传统内存存储方式会导致任务状态丢失,影响用户体验和运维排查。 核心方案 使用Redis Hash存储任务状态,key格式为agent:task:{task_id} 设计完整状态字段包括task_id、status、progress等关键信息 实现task_store模块提供CRUD操作接口 在Agent执行各节点更新Redis中的任务状态 技术实现 通过Celery执行

sundong_81的博客 42

论文分享 |找到视觉Transformer的“丢失一环”:ViT-P如何实现更强大的通用图像分割

本文指出了当前基于掩码的通用图像分割模型(如Mask2Former、OneFormer)的一个核心痛点:掩码生成质量很高,但掩码分类精度不足,这严重限制了整体分割性能的上限。为此,作者提出了 ViT-P,一个新颖的两阶段分割框架。该框架将掩码生成与分类解耦:第一阶段使用任意的现有模型生成类别无关的掩码提议;第二阶段引入一个基于视觉Transformer的点分类模型,通过关注每个掩码的中心点来对其进行精确分类。ViT-P作为一个无需预训练的适配器,能灵活集成各种预训练ViT,且创新性地利用粗标注和框标注来提升

AladdinEdu,你的AI学习实践工作坊。让想法落地,让研究加速。助力高校AI人才成长,点亮创新未来。 700

国资e学快速学习实战教程

本文主要介绍了国资e学快速学习实战教程,希望能对同学们有所帮助。 文章目录 1. 前言 2. 实战教程

weixin_43178406的博客 11万+

GroundingDINO终极指南:如何利用Swin Transformer V2实现零样本目标检测革命

GroundingDINO是当前最强大的开放式目标检测模型,它巧妙地将DINO检测器与基于语言的预训练相结合,实现了真正意义上的"用语言检测一切"。这项革命性技术让计算机视觉迈入了全新的时代,无需特定类别的训练数据,就能识别图像中的任意物体。 ## 🚀 GroundingDINO核心优势 ### 零样本检测能力 GroundingDINO最大的突破在于其零样本检测能力。传统目标检测模型需要大

gitblog_00013的博客 544

QGIS之七建筑面由DSM和DEM获取高度并可视化

QGIS建筑面由DSM和DEM获取高度并可视化

yilvyangguang520的博客 3511

win10锁屏或登录时会自动弹出触摸按键的问题解决办法

本篇文章主要讲解win10锁屏或登录时会自动弹出触摸按键的问题解决方式。日期:2023年5月17日作者:任聪聪。

任聪聪的博客 1万+

LayoutLMv3-large核心原理深度解析:统一文本与图像掩码的Transformer架构

LayoutLMv3-large是一款基于Transformer架构的多模态预训练模型,专为文档智能(Document AI)任务设计,通过统一文本与图像掩码技术实现对文档内容的深度理解。该模型由Microsoft Research团队开发,能够同时处理文档中的文本信息、视觉布局和图像内容,为表单理解、收据分析、文档视觉问答等任务提供强大支持。 ## 核心架构:打破文本与图像的模态壁垒 Lay

gitblog_00650的博客 459

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

PointWorld核心架构揭秘:Transformer与Point Transformer V3如何驱动3D点流预测

PointWorld是一款用于机器人操作的动作条件3D世界模型,通过Transformer与Point Transformer V3架构,从RGB-D捕获和机器人动作中预测环境动态,将统一的状态-动作表示为3D点流。这一创新模型为机器人学、计算机视觉和世界建模领域的研究与开发提供了强大支持。 ## 核心架构解析:Transformer与Point Transformer V3的完美结合 ###

gitblog_00881的博客 962

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【UCAS智能计算系统】7.大模型-图像处理和多模态大模型

​ 图像处理大模型和多模态大模型。采用移动窗口划分,会改变窗口的数量和大小,如图所示,原来的 4 个窗口变成了 9 个窗口,且每个窗口的大小可能不同,这时无法将这些窗口作为一个批量(batch)进行计算。损失,使配对的图像与文本的表征相似度越来越高,不配对的图像与文本的表征相似度越来越低,从而实现图像表征和文本表征的对齐。是基于图像的文本解码器,它根据输入图像生成图像的新的文本描述,并替换掉原始的噪声文本,构成新的。结构,接收的输入序列是**[CLS]词元与文本**的连接,并将输入序列编码为文本的特征信息。

踏上取经路,比抵达灵山更重要🐱‍👤 1587
上一篇: 大模型面经——大模型训练中出现loss突刺的原因和解决方法详解
下一篇: 基于Transformer的端到端的目标检测 | 读论文
AI程序猿人
博客等级 码龄3年 6517粉丝 561原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值