跳到主内容

视觉编码器是怎么看图的?切块与编码

2026-10-18 发布 来源:我告诉你AI导航 阅读

多模态大模型看图的第一步,交给一个叫视觉编码器的部件。Kimi 看懂你发的截图、智谱清言分析你上传的资料,背后都是它在把图像翻译成模型能消化的表示。这篇按流程拆开,看它到底做了什么。

多模态大模型看图的第一步,交给一个叫视觉编码器的部件。Kimi 看懂你发的截图、智谱清言分析你上传的资料,背后都是它在把图像翻译成模型能消化的表示。这篇按流程拆开,看它到底做了什么。

先把结论放前面:编码器的水平,很大程度上决定了模型读图的上限。后面环节再强,进来的素材不好也出不来好结果。

图像进模型前的三道处理

顺序是缩放、切块、编码。缩放把任意尺寸的图归一到模型接受的规格;切块把整图切成小方块,比如 224×224 的补丁;编码把每块变成一串向量。进来的是像素,出去的是向量序列,中间发生的一切都为一件事:保留信息的同时压缩数量。

三步各自动了什么手,代价分别落在哪。

步骤这一步做什么进来什么、出去什么具体代价
缩放把任意尺寸的图归一到模型接受的规格任意尺寸的图 → 统一规格的图可能丢小字
切块把整图切成小方块,比如 224×224 的补丁整图 → 一块块小补丁可能切断物体
编码把每块变成一串向量像素块 → 向量序列会抹平一部分色彩细节

三步各自的代价不同:缩放可能丢小字,切块可能切断物体,编码会抹平一部分色彩细节。好的实现会在每步之后留校验,发现关键信息丢失就回退重来。

类比:像把一幅大海报剪成拼图块,每块单独拍照存档。

切块切的是信息不是像素

为什么切块而不是整图一次编码?因为图像的信息是局部的:一块里通常是一个物体或纹理的一部分。切块让每个向量负责一小片区域,后续模型再把这些碎片拼回整体理解。切块的粒度是关键参数,块越小细节越足,但向量数量会暴涨。

类比失效处:拼图块的形状固定,切块的方案却因模型而异——方形网格、重叠滑窗各有拥趸,方案不同,保留的信息侧重也不同。

粒度的取舍可以记住一条:文字和表格密集的图,块要切细;风景和人物照片,块可以切粗。前者细节即信息,后者整体感更重要。

编码这一步做了什么

编码器主体是一组层层堆叠的特征提取层:前面的层认出边缘和颜色,中间的层认出纹理和部件,后面的层认出物体和关系。一张图进去,出来的是一串各自携带局部语义的向量。这些向量怎么被语言模型接住,见图像 token 是怎么接进语言模型的。

不少模型不止一个编码器:一个负责缩略图全局概览,一个负责高清局部细节,两路特征拼接后交给下游。全局路告诉你图里大概有什么,局部路把文字、小物件这些细节补齐,配合得好才不会「看个大概」。

分辨率和token数量的账

分辨率翻倍,块数大约翻四倍,计算量跟着涨。所以模型常用两招:一是缩略图全局看一遍,再切高清局部补看;二是动态分辨率,按图的复杂程度决定切多细。这也是为什么同一张长图,有的模型读得好、有的模型糊——账算得细不细,直接决定读图质量。文档类图片的落地例子,可看公式识别与手写识别的实际表现。

长图还有专门策略:先切成多页分别编码,再在序列里标注页与页的关系,漫画、长截图这类内容就靠这套办法保住阅读顺序。token 数超标时,优先压缩背景区域、保住文字区域,是通用经验。

视觉编码流程速查表

  • 缩放:统一尺寸,控制算力
  • 切块:划分局部,明确分工
  • 编码:块变向量,携带语义

末句:三步的目标只有一个——信息保得住,数量压得下。

关于视觉编码器,问得最多的三个

  • 切块会把物体切碎吗?:会切到,但后续层会跨块聚合信息,整体理解不依赖单块完整。
  • 编码器和人眼像吗?:机制不同,人眼有注意力选择,编码器先无差别接收,再由后续层筛选。
  • 同一编码器能换着用吗?:可以,它相对独立,语言模型换版本时编码器常被复用。

下次发图给模型时可以想想:你发的不是一张图,而是几百个向量的接力。编码器把视觉压成序列,理解才刚刚开始。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]