<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>动态高分辨率 on Ganko Space</title><link>https://ganko.asia/tags/%E5%8A%A8%E6%80%81%E9%AB%98%E5%88%86%E8%BE%A8%E7%8E%87/</link><description>Recent content in 动态高分辨率 on Ganko Space</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 31 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ganko.asia/tags/%E5%8A%A8%E6%80%81%E9%AB%98%E5%88%86%E8%BE%A8%E7%8E%87/index.xml" rel="self" type="application/rss+xml"/><item><title>NanoVLM-AnyRes</title><link>https://ganko.asia/posts/nanovlm-anyres/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>https://ganko.asia/posts/nanovlm-anyres/</guid><description>&lt;blockquote>
&lt;p>AnyRes（动态高分辨率）是 LLaVA-NeXT 1.6 的核心创新，解决了固定分辨率下细节丢失的问题：将图像按纵横比自适应切分为多个 tile，每个 tile 独立编码后和全局缩略图一起送入 LLM。NanoVLM 在保留原始单图模式的基础上新增了 AnyRes 能力，两个模式通过一个布尔值切换。&lt;/p>&lt;/blockquote>
&lt;h2 id="问题固定分辨率的瓶颈">问题：固定分辨率的瓶颈&lt;/h2>
&lt;p>NanoVLM 的基础版本将每张图 resize 到 384×384，经 SigLIP 编码为 729 个 visual token。这对大多数自然图像够用——但遇到高分辨率图像（文档、OCR、大场景）时，细节会被压缩到不可辨认。&lt;/p>
&lt;p>一个具体的例子：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>原始图像: 1920×1080 的截图（包含文字）
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓ resize 到 384×384
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>丢失了 (1920×1080) / (384×384) = 14× 的像素信息
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>文字模糊到 LLM 无法识别
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>AnyRes 的思路很直接——&lt;strong>不要压缩整张图，而是把大图切成多个小图，每个小图保持清晰&lt;/strong>。&lt;/p>
&lt;h2 id="核心算法">核心算法&lt;/h2>
&lt;h3 id="处理流程">处理流程&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>原图 (如 1200×800, AR=1.5)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> │
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ├─ Step 1: 选 grid → 2×2（4 tiles）
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> │
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ├─ Step 2: 生成缩略图
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> │ resize → 384×384 → 729 tokens（全局上下文）
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> │
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> └─ Step 3: 切分 + 编码 tiles
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 原图 → resize_to_fit(768×768) → 切成 4 个 384×384 tile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tile[0,0] → SigLIP → 729 tokens
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tile[0,1] → SigLIP → 729 tokens
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tile[1,0] → SigLIP → 729 tokens
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> tile[1,1] → SigLIP → 729 tokens
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ─────────
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 总计: 5 × 729 = 3645 tokens
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>关键细节：&lt;strong>缩略图保留全局上下文，tiles 保留局部细节&lt;/strong>。两者互补——缩略图告诉 LLM&amp;quot;这是一张包含文字和图表的信息图&amp;quot;，tiles 告诉 LLM 文字具体写了什么。&lt;/p></description></item></channel></rss>