问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Docunmen AI 中图像高分辨率处理思路汇总

创作时间:
作者:
@小白创作中心

Docunmen AI 中图像高分辨率处理思路汇总

引用
CSDN
1.
https://blog.csdn.net/weixin_45919853/article/details/145969194

在AI领域,处理高分辨率图像一直是研究的重点和难点。本文总结了三种主要的处理方法:冗余内容处理、动态分辨率处理以及DC²方法。这些方法在不同的场景下都有其独特的优势,对于从事AI和计算机视觉领域的专业人士具有重要的参考价值。

1. 冗余内容处理办法

DocKylin提出了一种直接对横平竖直的图像进行冗余像素去除的方法。具体来说,通过将图片梯度转化为黑白图像,然后分别在水平和竖直方向上连接并去除"没有元素"的内容,从而实现对高分辨率图像的处理。

对于编码后的token,认为存在必要和非必要的token。通过聚类算法降低token维度,将其处理为两类(根据相似token的数量来确定哪些是必要的,哪些是非必要的)。然后通过计算这两类之间的余弦相似度,将非必要的token聚合到必要的token中。

聚类算法:

实际测试表明,通过裁剪图像和减少冗余token,可以有效提升处理效果。

2. 动态分辨率处理办法

AdaptVision提出了一种动态处理图像分辨率的方法。与LLaVa(224×224)和Monkey(896×1344)等固定分辨率的方法不同,AdaptVision采用动态调整的方式。

处理思路如下:提前创建一个1008×1008的"画布",然后将画布切割为3×3的网格,将图像放置在画布的左上角,根据其占用的区域范围,将其转换到指定大小。

类似的思路在论文1和论文2中也有体现。对于动态分辨率处理,方法如下:

因为都要将图片切片(分割成不同的小patch),区别之前做法可能是先将图片固定到一个尺寸,然后切割,上面两篇论文中动态分辨率处理思路就是:对于每个patch先提前设定一个大小(比如说每个patch都固定尺寸为448×448),然后在设定一个横纵比范围,然后将图片筛选出合适的横纵比。比如说上面图片:

  • 输入:800×1300
  • 挑选合适比例,因为每个patch都是448×448,因此:800/448 : 1300/448 ≈ 2:3,因此先将图片扩大到:448×2,448×3=896×1344,然后再去切割即可

3. DC²方法

DC²提出了一种处理高分辨率图像(4K/2K)的方法。论文指出,将图像固定到一个固定的分辨率会导致较大的信息损失,增加模型的不确定性,但是可以通过添加文本信息进行补偿(将文本和image进行融合)。

论文通过3步处理高分辨率图像:

  1. Divide:将图像切割为4部分(切割过多的patch会破坏目标完整性),然后计算每个部分之间的相似性,通过设定阈值来对形似部分通过分层聚合的方式进行合并。
  2. Conquer:对于切分(并且进行合并)的patch以及完整的patch都生成文字描述,并且通过对生成的描述再通过llm抽取出里面的实体。并且将内容加入到完整的图像中并且进行类似处理。
  3. Combine:通过对leaf node以及no-leaf node提取到的实体,对两部分实体计算交集

参考:

  1. DocKylin: A Large Multimodal Model for Visual Document Understanding with Efficient Visual Slimming
  2. AdaptVision: Dynamic Input Scaling in MLLMs for Versatile Scene Understanding
  3. How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites
  4. LEO: Boosting Mixture of Vision Encoders for Multimodal Large Language Models
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号