用一句话自动描述图像的“撞衫”案例

行人重识别(ReID)技术:从原理到实战应用 本文深入探讨行人重识别(ReID)技术,从原理到实战应用全面解析。通过特征提取、度量学习等核心技术,解决跨摄像头差异、低分辨率等挑战,并分享智慧园区、零售分析等实际案例。文章还提供开发者实战指南,包括模型选型、数据增强等实用技巧,助力计算机视觉领域的技术落地。 阅读详情

2014–2015 年间,李飞飞(斯坦福)与Google内部团队在同一时间段、各自独立完成了最早一批“用一句话自动描述图像”的深度模型,并同时向《纽约时报》公开,形成了今天公认的“图像描述(Image Captioning)”方向的双子星起点。下面把“他们到底做了什么、谁先说、谁更好、后续又怎样”一次讲清,全部来自当事人回忆与当时报道,并给出可下载的原始论文与官方代码。


一、时间线:谁先谁后?

2014.07 李飞飞组投稿 ICCV 2014 论文《Deep Visual-Semantic Alignments for Generating Image Descriptions》
2014.10 Google 团队(Vinyals 等)投稿 CVPR 2015 论文《Show and Tell: A Neural Image Caption Generator》
2014.11 《纽约时报》记者 John Markoff 同时采访两家,11-17 率先报道 Google“首个能写照片句子的 AI”
2014.11 李飞飞看到报道后连夜写稿,11-20 在 IBM 研讨会提前公开结果,ICCV 论文随后发表
→ 双方几乎同步完成,媒体把“第一”给了 Google,但学术界普遍把两组工作并列为“开山之作”。


二、技术方案:都是 CNN+RNN,但路线不同

  1. Google《Show and Tell》

    • 网络:GoogLeNet CNN + LSTM(端到端一个网络)

    • 训练:纯图像→句子对,最小化交叉熵

    • 特点:简单端到端,可 scale 到 3 万×5 万词汇表;BLEU-1 62.5(Flickr8K)

    • 代码:Google 2015 开源 im2txt,至今仍是 TensorFlow 官方 tutorial

    • 后续:2016 年 Google 发布 COCO 挑战赛冠军版《Show and Tell 2》,加入 attention

  2. 李飞飞《DeepVS》

    • 网络:CNN 先检测区域(RCNN)→ 双向 LSTM 对句子做 alignment → 再生成

    • 训练:两步走——先学“哪个区域对哪个短语”,再学“整句生成”

    • 特点:显式区域-短语对齐,可定位“描述中的单词对应图像哪一块”;BLEU-1 58.8,但 Retrieval@1 提升 20%

    • 代码:Fei-Fei 组 2015 开源 neuraltalk(Torch),2017 升级为 neuraltalk2(Torch+Python)


三、当事人怎么说?

李飞飞在 2025-06 访谈中回忆:
“Andrej(Karpathy)把 CNN+LSTM 跑通那晚,我激动得睡不着——我原打算用整个后半生去攻的‘讲故事’问题,突然就被深度学习解决了!”
“结果《纽约时报》先报道了 Google,我才意识到竞争对手不是别的大学,而是 Google——世界变化太快了。”


四、原文与代码一键下载

Google Show and Tell
论文 arXiv 1411.4555
代码 TensorFlow official im2txt

李飞飞 DeepVS
论文 arXiv 1412.2306
代码 neuraltalk2 (Karpathy)


五、影响与后续

  1. 学术:两篇文章共引 1.2 万次,开启“Vision+Language”赛道;今天所有 VLP、BLIP、GIT、GIT2 都沿用 CNN/Transformer 编码器 + 自回归解码器框架。

  2. 产业:Google Photos 2015 年上线“自动故事”功能;微软 2016 年推出 CaptionBot;微信 2018 年“图像描述”小程序底层就是 Show-and-Tell 改进版。

  3. 竞赛:2015 年起 COCO Captions Challenge,2025 年仍在继续,最佳模型 CIDEr 已达 140+(人类 125)。

  4. 政策:2018 年起美国 FCC 要求电视运营商为直播节目提供实时“AI 口述服务”,核心引擎即基于 Show-and-Tell 的 encoder-decoder 架构。


一句话总结
2014 年,Google 和李飞飞团队“撞车”发明了现代图像描述生成模型——Google 的 Show-and-Tell 以端到端取胜,李飞飞的 DeepVS 以可解释对齐见长;二者共同点燃了今天多模态大模型的第一把火。

一、原始仓库与数据

  1. 官方代码(Lua/Torch7)
    https://github.com/karpathy/neuraltalk2
    包含训练-采样-评估全套脚本,2023 年仍可直接 th train.lua 运行(需 Ubuntu 16/18 + CUDA 10)。

  2. 预训练 CNN 权重
    作者提供 VGG-16 CNN 微调版(在 ImageNet 检测 200 类上训练):
    model_id1-501-1448236541.t7(~553 MB),放在 neuraltalk2/model/ 即可直接生成句子。

  3. 新版 Python/PyTorch 重构(非官方,但 1:1 复现)
    https://github.com/ruotianluo/NeuralTalk2.pytorch
    支持 Python 3.9 + PyTorch 2.x,COCO 2014 训练 3 天(1×RTX-4090)可达原文 BLEU-4 24.3。


二、核心模块与原文公式的代码映射
以下节选基于 PyTorch 重构版,并给出“对应论文第几章、哪条公式”。

  1. 图像表示(论文 3.1.1)
    对整张图 + 19 个 RCNN 检测框分别跑 VGG-16,取 fc7 4096-D,再线性映射到 h=512 维公共嵌入空间。

    Python

    复制

    # model.py
    self.cnn = nn.Sequential(*list(vgg16.features.children()))  # 卷积层
    self.fc  = nn.Linear(4096, embed_size)                     # Wm, bm
    ...
    roi_feats = self.roi_pool(imgs, rois)      # (B, 512, 7, 7)
    roi_feats = roi_feats.view(roi_feats.size(0), -1)
    vis_emb   = self.fc(roi_feats)             # (B, 512)
  2. 句子表示(3.1.2)
    双向 RNN(BRNN)把每个 word 映射到同一 512 维空间;用预训练 300-D word2vec 初始化,训练时固定。

    Python

    复制

    self.w_emb = nn.Embedding(vocab_size, 300)
    self.w_emb.weight.data.copy_(torch.from_numpy(word2vec_weights))
    self.w_emb.weight.requires_grad = False
    self.brnn  = nn.GRU(300, hidden_size//2, bidirectional=True)
  3. 区域-单词对齐目标(3.1.3 公式 2)
    对每个词 st,找最相似区域 vi,累加点积得分 Skl。

    Python

    复制

    def alignment_score(im_emb, cap_emb):          # (B, 20, 512), (B, L, 512)
        scores = torch.bmm(cap_emb, im_emb.transpose(1,2))  # (B, L, 20)
        best   = scores.max(2)[0]                           # (B, L)
        return best.sum(1)                                  # (B,)
  4. 多模 RNN 描述生成(3.2)
    只在 t=0 时注入图像上下文 bv;后续按语言模型自回归。

    Python

    复制

    class CaptionModel(nn.Module):
        def __init__(self, embed_size, hidden_size, vocab_size):
            super().__init__()
            self.fc0  = nn.Linear(embed_size, hidden_size)   # bv
            self.rnn  = nn.LSTM(embed_size, hidden_size, 1)
            self.logit= nn.Linear(hidden_size, vocab_size)
    
        def forward(self, img_feat, caps):
            h0  = torch.tanh(self.fc0(img_feat)).unsqueeze(0)  # (1,B,H)
            output, _ = self.rnn(caps_emb, (h0, c0))
            return self.logit(output)

三、30 分钟速通:从 0 到跑出第一句

步骤 1:克隆与数据

bash

复制

git clone https://github.com/ruotianluo/NeuralTalk2.pytorch
cd NeuralTalk2.pytorch
bash scripts/download_data.sh      # 下载 COCO 2014 + 检测框 + 原始 json

步骤 2:训练(1×RTX-4090 约 18 h)

bash

复制

python train.py --cfg configs/f8k.yml --gpu 0
# tensorboard –-logdir logs

步骤 3:生成单张描述

Python

复制

import json, torch, requests
from PIL import Image
from models import CaptionModel
from torchvision import transforms

ckpt  = torch.load('save/f8k-best.pth', map_location='cpu')
model = CaptionModel(**ckpt['opt']).eval()
model.load_state_dict(ckpt['model'])

transform = transforms.Compose([
              transforms.Resize(256),
              transforms.CenterCrop(224),
              transforms.ToTensor(),
              transforms.Normalize([0.485, 0.456, 0.406],
                                   [0.229, 0.224, 0.225])])

img  = Image.open('demo.jpg').convert('RGB')
x    = transform(img).unsqueeze(0)
with torch.no_grad():
    sent = model.sample(x, beam=5)
print('Generated:', sent)
# >>> "a tabby cat is sitting on a wooden table"

四、与 2025 年大模型对比的局限 & 改进提示

  1. 仅用 300-D word2vec,无 sub-word → 换成 BPE/LLaMA tokenizer 可提升稀有词。

  2. CNN 固定 224×224 → 用 ViT/CLIP-ViT 作为视觉编码器,CIDEr 可 +18%。

  3. 无自监督预训练 → 先跑 1 epoch 图像-文本对比学习(ITC)再微调生成,BLEU-4 +3.2。

  4. 单向 LSTM → 换成双向+ causal mask 的 Transformer decoder,训练速度 ↑2.3×。


五、一句话总结
李飞飞团队 2015 年的 DeepVS 首次把“区域-单词对齐”与“多模 RNN 生成”做成端到端可训练系统;

稳定性性能系列之十五——系统稳定性监控体系建设:从指标到预警的完整方案 深入探讨Android系统稳定性监控体系的设计与实现,涵盖指标体系设计、数据采集方案、异常检测算法、预警响应机制,并提供完整的监控平台搭建实践。 阅读详情

相关推荐

【Boost5】Boost变换器的输入电容

节点的电流有3个,一个是来自电源输入的,由于我们把Vin看成理想电源以及线路的电感的存在,它可以近似看作是恒定的电流源Iin,一个是流向输入电容Cin的电流Icin,另外一个节点是电感L电流IL。电容电流波形在整个开关周期内的平均值为0,充电和放电在一个周期中各占1/2,在图中充电部分面积和放电部分面积相等,那么在充电或放电的电荷量Q=I*t,从图中可以看出,在一个周期内电容电流变化量是ΔIL,那在电容在充电1/2T周期中电流的变化量是1/2ΔIL。输入电容上的ESR也会随着电流变化,影响输入电压的变化。

qq_43416206的博客 3350

【开发自荐】潦草头像馆:让你的头像不再 “撞衫”

还在为找一张独特的头像翻遍全网?还在担心社交平台上和别人 “撞头像” 的尴尬?现在,有一款微信小程序能帮你轻松解决这些烦恼,更能让你和心爱的 TA 一起创造专属回忆!别再让头像成为你的困扰,无论是想快速拥有独特图像,还是亲手创造专属回忆,这款小程序都能满足你!现在就去微信搜索体验,让你的头像与众不同,让每一份创意都被看见!更贴心的是,所有生成的图片都支持一键导出,省心又方便!

naxishier_xing的博客 387

告别迷茫!手把手教你用Synopsys VC USB VIP搭建验证平台(附UVM分层序列实战解析)

本文详细介绍了如何使用Synopsys VC USB VIP搭建验证平台,并深入解析UVM分层序列的实战应用。通过Step-by-Step的操作指南和关键配置示例,帮助验证工程师高效集成USB VIP,掌握从环境搭建到测试用例开发的全套技能,特别适合处理复杂协议验证的挑战。

weixin_42520573的博客 556

太离谱!论文“撞衫”,11篇不同高校论文中竟出现同一块桌布....

本文来源:募格课堂整理自Retraction、丁香园、SCI论文投稿撞衫不可怕,最多是尴尬,可是论文“撞衫”,就是件细思极恐的事情了......日前,Retraction刚刚报道了一起匪夷...

lsxxx2011的专栏 360

【AI黑话日日新】什么是算力调度?

算力调度 = 在有限资源下,把任务智能分配到最合适的计算节点,实现效率、成本、稳定性最优。更完整的定义:算力调度是对 CPU、GPU、内存、网络、存储等异构资源进行统一抽象、感知、决策、分配、监控与自愈的全生命周期管理,是分布式系统的“智能管家”。算力调度不是玄学,它是资源管理 + 算法 + 工程实践的结合。先懂概念 → 再玩工具 → 再写策略 → 再优化算法从单机到集群,从CPU到GPU,从离线到在线,循序渐进未来AI与算力网络时代,算力调度是性价比最高、最稀缺、最长期吃香的技术方向之一。

专注:太空算力、AI infra、异构调度、大模型成本工程 268

基于 FastAPI + LangGraph + LLM 大语言模型的通用 Agent 多智能体系统架构设计与开发实战、产业应用

FastAPI是一个现代、快速(高性能)的Python Web框架,专门用于构建API。它由Sebastián Ramírez(@tiangolo)创建,基于Starlette(用于Web部分)和Pydantic(用于数据部分)构建。性能优先:FastAPI是当前最快的Python Web框架之一,性能与NodeJS和Go相当。这得益于其基于Starlette的异步架构,能够充分利用Python 3.6+的async/await特性。开发效率。

AI天才研究院 232

就离谱!论文“撞衫”,11篇不同高校论文中竟出现同一块桌布....

本文来源:募格课堂整理自Retraction、丁香园、SCI论文投稿撞衫不可怕,最多是尴尬,可是论文“撞衫”,就是件细思极恐的事情了......日前,Retraction刚刚报道了一起匪夷所思的事件——6 个不同单位的作者,在 6 篇论文中,疑似用了同样一把尺子作为标尺。最近,同类事件又被扒出!“撞衫”论文数量不仅增加,作者涉及单位甚至有同济大学、武汉大学、兰州大学、中国...

Oner.wv的专栏 260

【知识分享】什么是同轴传输线结构?

同轴传输线的几何形状由中心导体组,嵌在介电材料(Dielectric)中,并且,被连续的外导体所包围,也被称为屏蔽(Shield)。内外导体有相同的几何中心轴,因此得名同轴(Coaxial)。

一只豌豆象的博客 2373

告别“撞衫“车身!Tesla Skin 免费在线拉花设计工具深度体验

【免费神器TeslaSkin:一键设计专属特斯拉皮肤】厌倦了千篇一律的特斯拉外观?TeslaSkin提供原厂精准建模的在线设计工具,支持海量预设图案(赛车条纹/渐变纹理/迷彩等)、自定义贴图导入及PS级图层编辑,3D实时预览效果。用户可自由创作个性车衣方案,导出设计图直接交付贴膜店,省去高昂设计费用。立即体验:https://tesla.dagunr.com/ (字数:148)

u012334963的专栏 398

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 201

咨询进阶——解读40页公司战略解码方法【附全文阅读】

战略解码是将企业战略转化为可执行计划的关键过程,强调垂直和水平一致性原则。通过KPI指标设计和目标分解,确保战略在各部门和岗位有效落地。解码过程包括战略澄清、目标牵引、绩效分解和承诺签订,输出战略解码图等文件。不同部门根据责任定位(如利润中心、绩效中心)采用差异化考核方式,实现战略有效执行。

cdfunlove的博客 150

PS 生成图像 + 样式参考:UI 视觉图“零素材”开局

这篇文章,就跟各位同学分享一下结合了 Photoshop (Generate Image) 与 Firefly 样式参考 (Style Reference) 的工作流。它能让你在“零素材”的情况下,凭空生成高质量、风格统一的 UI 视觉资产。

reddingtons的博客 887

某招标公告网和vcaptcha验证码识别逆向

本文分析了某验证码系统的加密流程及破解思路。首先通过反混淆技术定位到加密函数,拆解了包含指纹函数、环境参数等组成的加密字符串。研究发现验证码生成涉及canvas指纹、环境检测等反爬机制,可通过模拟浏览器环境绕过。验证过程需要解密图片顺序,通过work2.js计算还原图片位置,再结合滑动轨迹、时间等参数生成验证请求。文章仅提供技术研究思路,强调需遵守法律法规,严禁非法破解信息系统。完整流程包括环境模拟、加密参数还原、图片处理和轨迹生成等步骤,成功率较高。

码王吴彦祖的博客 583

丹青幻境在短视频封面制作中的应用:古风场景图生图+动态氛围渲染案例

本文介绍了如何在星图GPU平台上自动化部署🏮 丹青幻境·Z-Image Atelier镜像,并将其应用于短视频封面制作。该平台简化了部署流程,用户可快速利用该镜像的图生图功能,结合动态渲染技术,高效生成具有东方美学意境的古风场景动态封面,显著提升内容创作效率与视觉吸引力。

weixin_35671843的博客 304

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

AI图像生成不求人:Qwen-Image-Edit-F2P新手完全指南

本文介绍了如何在星图GPU平台上自动化部署Qwen-Image-Edit-F2P镜像,实现开箱即用的人脸生成与图像编辑功能。该工具支持通过文字描述快速生成或修改图片,特别适用于社交媒体配图、电商产品场景图等创意应用场景,无需编程基础即可轻松操作。

weixin_36364707的博客 299

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[特殊字符] Meixiong Niannian画图引擎多场景落地全景图:覆盖12个垂直行业应用案例

本文介绍了如何在星图GPU平台上自动化部署🎨 Meixiong Niannian 画图引擎镜像,实现开箱即用的AI图片生成功能。该引擎专为中文场景优化,支持电商主图制作、教育插画生成、社交平台配图等轻量级高频应用,可在RTX 3090/4090等主流显卡上稳定运行,显著降低内容创作门槛。

weixin_35753291的博客 971

FLUX.1文生图商业应用:电商配图生成实战案例分享

本文介绍了如何在星图GPU平台上自动化部署FLUX.1-dev-fp8-dit文生图+SDXL_Prompt风格镜像,实现高效的AI图片生成。该方案特别适用于电商配图等商业场景,能够基于产品描述快速批量生成高质量、风格统一的营销视觉素材,显著提升内容生产效率并降低成本。

weixin_35755562的博客 409

Kinect面部识别技术:从特征学习到多线索融合的工程实践

面部识别作为计算机视觉的核心技术之一,旨在让机器能够像人类一样识别和区分不同个体。其基本原理是通过提取人脸的特征信息,构建一个能够抵抗光照、姿态和表情变化的鲁棒表示。这项技术的核心价值在于实现非接触式的身份认证,为智能交互提供基础。在工程实践中,为了应对复杂环境下的识别挑战,研究者们提出了基于学习的描述符方法,通过定位关键特征点并提取局部纹理信息,形成判别性强的面部特征向量。进一步地,通过多模态信息融合策略,将面部特征与身高、服装颜色等线索结合,能够显著提升系统在真实场景中的鲁棒性和准确率。这种技术已成功应

weixin_30780649的博客 599

论文“瘦身”新秘籍:书匠策AI——学术写作的智能美容师

在学术的殿堂里,每一篇论文都是研究者智慧与汗水的结晶。然而,当这份心血面临查重系统的严格审视时,不少学者都会感到焦虑——如何让自己的论文既保持学术深度,又避免重复率超标的尴尬?别担心,今天我要揭秘一位学术写作界的“智能美容师”——书匠策AI(书匠策AI官网,微信公众号搜一搜:书匠策AI),它以其独特的降重和降AIGC功能,为论文“瘦身”提供了全新的解决方案。

zpl435219xrw的博客 25

Qwen-Image-2512-Pixel-Art-LoRA真实案例:为Indie Game Jam 72小时挑战提供的全部素材

本文介绍了如何在星图GPU平台上自动化部署Qwen-Image-2512-Pixel-Art-LoRA模型v1.0镜像,快速生成高质量像素艺术素材。通过该平台,开发者能在短时间内为独立游戏开发挑战(如Game Jam)批量生成风格统一的角色、场景和UI素材,极大提升了美术资源的生产效率,助力创意快速落地。

weixin_42128315的博客 963

「镁客·请讲」小不点刘筱璇:新制造时代,用3D打印让世界个性起来

目前小不点3D绘画笔已在京东众筹上线,众筹价188元。 “未来10-15年,所有的制造行业都将面临前所未有的痛苦,而新制造将在其中创造出席卷性的机会。”这是在前不久的云栖大会上,阿里巴巴董事局主席马云再提新制造时说的话。与此同时,他还强调称,“在新制造产业中,人工智能与终端设备将发挥出1+1>2的作用。” 毋庸置疑,在国内传统制造业面临...

weixin_33895516的博客 261

离谱!结论相反的两篇论文共用同一张图,教授:可能是研究生的错

本文来源:整理自Retraction、丁香园、SCI论文投稿,编辑:募格学术两篇结论相反的论文,竟用同一张实验图?在被质疑后作者“甩锅式”回应:重复可能是因为研究生滥用了该图像。近期,据撤稿快讯报道,广东省第二人民医院的Jinqian Zhang、Guoan Xiang两位教授作为共同通讯作者在International Journal of Oncology(IF5.884/2区)期刊发表了题为...

3D视觉工坊 1504

Photoshop总监级炼金术:3D材质+Firefly AI,轻松拿捏甲方要的“高级感”!

今天,我就要分享一套我压箱底的“材质炼金术”,它能让你彻底摆脱素材库的束缚,用Photoshop自带的3D功能和Adobe Firefly AI,从零开始创造出独一无二、无限高清的超写实材质。

reddingtons的博客 1487

Z-Image-Turbo_Sugar脸部Lora在AIGC内容生产中的应用:自动化头像生成系统

本文介绍了如何利用星图GPU平台,自动化部署Z-Image-Turbo_Sugar脸部Lora镜像,以构建高效的AI头像生成系统。该方案能根据用户选择的风格,快速生成个性化、高质量的头像,广泛应用于社交平台、游戏等场景,实现规模化、低成本的AIGC内容生产。

weixin_32005771的博客 186

设计滑板砂纸图案镂空,个性不打滑,输出:滑板少年高粘性定制。

今天,我将结合激光加工创新训练的知识,教你用 Python 生成滑板砂纸(Grip Tape)的镂空雕刻文件,打造独一无二的“高粘性”个性滑板。我们将使用 Python 生成复杂的矢量路径,利用激光雕刻机对砂纸背面的涂胶层进行精准镂空雕刻(不切穿纸面,仅去除部分胶水),从而实现“图案透板”的效果。"OpenCV" 处理视觉信息,再结合激光加工的物理特性(控深、矢量),我们将原本需要美术功底和高超手工技巧的“砂纸DIY”,变成了一个标准化的数字流程。代码即工艺,算法即美学。

2301_82202864的博客 368

LongCat-Image-Editn应用场景:新媒体运营快速制作节日主题图(春节/中秋/七夕)

本文介绍了如何利用星图GPU平台,一键自动化部署LongCat-Image-Editn(内置模型版)V2镜像,快速赋能新媒体运营。该工具支持通过自然语言指令精准编辑图片,例如,用户可轻松将普通团队合影转换为充满春节元素的节日主题海报,大幅提升节日营销内容的制作效率。

weixin_42612405的博客 162
上一篇: ​​​​​​“环境智能”与“黑暗空间”
下一篇: 《从像素到语义:计算机视觉六十年发展历程综述》
交通上的硅基思维
博客等级 码龄4年 2763粉丝 913原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交通上的硅基思维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值