当前位置:   article > 正文

CVPR 2023 | X-Decoder: 下一代通用编解码视觉架构设计范式

generalized decoding for pixel, image, and language

作者 | 派派星  编辑 | CVHub

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【全栈算法】技术交流群

b41ac1f0ba148ce91442389f8b6b4e2a.png

Title: X-Decoder: Generalized Decoding for Pixel, Image and Language
Paper: https://arxiv.org/pdf/2212.11270.pdf
Code: https://github.com/microsoft/X-Decoder/tree/main
Demo: https://huggingface.co/spaces/xdecoder/Demo

导读

1e424647bcac36acc4005054f4a2d234.png

燃炸!一图胜千言。X-Decoder 经过预训练以后,仅使用同一套参数便可以处理各种图像分割和视觉-语言任务,并且能够处理更复杂的组合任务,例如引用字幕和图像编辑。

简单来说,本文主要贡献在于提出一种名为X-Decoder的模型,它具有广义解码能力,能够同时处理像素级分割语言标记任务,并在多个视觉-语言等多模态任务上展现出强大的性能。该模型通过学习共享的视觉-语义理解空间,无需伪标签即可实现任务之间的交互和迁移学习。它在分割和视觉-语言任务中取得了最新的结果,并且在零样本学习和微调设置下表现出很高的灵活性。

NOTE: Here, ‘X’ denotes versatile, and also represents ‘piXel’.

挑战

1. 不同粒度级别上的视觉理解问题

视觉领域长期以来一直存在着不同粒度级别上的理解问题,涵盖了从图像级任务(例如图像分类、图像-文本检索、图像字幕和视觉问答)到区域级定位任务(例如目标检测和短语定位)再到像素级分组任务(例如图像实例/语义/全景分割)的各种任务。

2. 对像素级理解的重要性和挑战

从像素级别理解图像可以说是最重要且最具挑战性的问题之一,原因如下:(1)像素级注释成本高昂,与其他类型的注释相比无疑更加稀缺;(2)以开放词汇方式对每个像素进行分组和识别的研究较少;(3)更重要的是,在两个明显不同粒度级别上的数据中学习并获得相互的好处是非常复杂的。

3. 现有工作的局限性

现有的一些工作尝试从不同方面弥合像素级理解的差距,但仍存在一些局限性。例如,目前流行的大一统架构,如One-Former等,虽然能够取得一定的性能,但这些任务是在一个封闭集合中进行的。再比如,为了支持开放词汇识别,有些会将CLIPALIGN这类图像级视觉-语言基础模型的丰富语义知识转移或蒸馏到专门的模型中。然而,所有这些初始探索都集中在特定的分割任务上,并没有展示在不同粒度级别上的任务的泛化性能。

方法

e9590d801632aab89f2d656590ab365a.png

上面是 X-Decoder 的整个架构示意图,乍看之下是不是很简单,一个图像编码器、一个文本编码器和一个精心设计的解码器,完事。

严肃点,这其实就是个广义的解码框架,将所有任务,包括像素级图像分割、图像级检索和视觉-语言任务,都归纳为通用的解码过程,可以套在大多数的多模态框架上。具体而言,X-Decoder基于视觉编码器构建,用于提取多尺度图像特征,整体框架遵循Mask2Former。So,它的关键创新点便是解码器部分。

首先,它接受两组查询作为输入:

  • 通用的非语义查询,旨在解码通用分割的分割掩码,类似于Mask2Former

  • 新引入的文本查询,使解码器对各种与语言相关的视觉任务具备语言感知能力;

其次,X-Decoder预测两种类型的输出:

  • 像素级掩码

  • 标记级语义

这两种类型的不同组合可以无缝地支持所有感兴趣的任务。

最后,作者使用单个文本编码器来编码涉及所有任务的文本语料库,包括分割中的概念,引用分割中的短语,图像字幕中的标记和VQA中的问题等。同时解耦了图像编码器和文本编码器,以适应跨图像任务(例如图像-文本检索)和图像内任务(例如分割和字幕生成)的需求。因此,本文方法可以自然地促进任务之间的协同作用,并倡导学习共享的视觉-语义空间,同时很好兼容不同任务的异质性。

9d78a019c16535a5b51f2eba4d7920f0.png

如上图所示,X-Decoder可以很方便地用于统一各种视觉和视觉-语言任务:

  • 通用分割:支持实例分割、语义分割和全景分割,均支持开放词汇和零样本设置。

  • 引用分割:根据来自文本编码器的任意文本查询,引用特定图像区域段。

  • 图像-文本检索:解耦图像和文本表示提取,并使用点积计算相似度。

  • 图像字幕生成:使用完全相同的解码器以自回归方式解码文本标记。

实验

定量分析

Zero-Shot Segmentation
5ec1c4186101450e11fb90023307cd21.png
Chart 1. Left: Compared with SoTA; Right: Finetuned Segmentation Result Compared with SoTA.
Segmentation In the Wild
ade783bc69194c6578722d54fa93a89d.png
Chart 2. Zero-shot instance segmentation performance on SeginW benchmark.

定性分析

Zero-Shot Segmentation
ef1487e2f14cc914ba6d4bd0c2927f56.png
Figure 4. Zero-shot semantic segmentation with pretrained X-Decoder on 10 settings of 7 datasets.
Zero-shot Segmentation for Videos
d947003f3b73747be55ddc52dba9a590.png
Figure 5. Zero-shot panoptic segmentation for YouTubeVOS video dataset.
Referring Segmentation for Videos
b896c81b2ff3d6361443209223650923.png
Figure 6. Zero-shot referring segmentation for YouTubeVOS video dataset.
Image Captioning
f9cb4885e74e351af965f45d6cf87570.png
Figure 7. Zero-shot image captioning on YoutubeVOS video frames.
Referring Image Captioning
5ed0586ebb8475382d50384b95d9488d.png
Figure 8. Zero-shot referring image captioning on COCO 2017 val images (pink regions are referred).
Referring Image Editing
3f7b3f74230ebb0f44af1a98fdcb50ae.png
Figure 9. Zero-shot referring image editing by combining X-Decoder with Stable Diffusion inpainting.
Segmentation in the Wild
2a980a1614c1258b00b73e3c115113ed.png
Figure 10. Ground Truth visualization of segmentation in the wild datasets from Roboflow for a wider evaluation.

总结

本文提供了一种广义的解码器X-Decoder,能够无缝支持像素级和图像级视觉-语言理解的模型。通过简洁而通用的设计,X-Decoder 可以轻松地统一和支持通用分割、引用分割和视觉-语言任务,实现了强大的泛化能力和竞争性甚至是最先进的性能。

作者希望这项工作能够为下一代通用视觉系统的设计提供启示,但就目前来看,X-Decoder虽然在实现像素级和图像级视觉-语言理解方面具有很大的潜力,并在多个任务中展现了强大的性能和泛化能力,但是笔者认为还有一些常见的局限性,随便举两个例子:

数据稀缺性

像素级注释是一项昂贵且相对稀缺的资源,这可能限制了X-Decoder在某些任务上的应用。尽管X-Decoder通过预训练和零样本学习减少了对大量注释数据的需求,但在一些特定任务和领域中,可能仍然需要更多的标注数据来实现更好的性能。

开放世界的挑战

另一方面,X-Decoder 是在开放词汇情况下进行图像分割和语义理解。尽管其采取了一些策略来支持开放词汇的识别,但在处理新颖类别和不常见语义的情况下,仍然会面临同样的问题。通过示例可以看出,其实模型解决的大部分场景还是比较单一,或者说语义相对来说非常简单。

基于以上观点,或许我们可以考虑从三个方面入手:

强化泛化能力

例如,进一步研究如何提高X-Decoder的泛化能力,特别是在有限标注数据和开放词汇的情况下。可以探索半监督学习、迁移学习和元学习等技术,以利用未标注数据和先前学习的知识来改善性能。

模型解释性和可解释性

尽管X-Decoder在多任务学习和跨模态理解方面具有强大的能力,但如何解释和理解其内部工作机制仍然是一个有待研究的问题。进一步研究如何增强模型的解释性和可解释性,可以帮助我们更好地理解和信任模型的决策过程。

更广泛的任务支持

X-Decoder的通用性和灵活性为进一步扩展其任务支持提供了机会。因此,我们可以探索将X-Decoder应用于其他视觉和视觉-语言任务,如视频理解、图像生成等,以及在更多领域和数据集上的应用。当然,No money, no talk.

总的来说,大语言模型+多模态之路目前来看还是任重而道远~~~

(一)视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

ee69c6af85dd3cfd1aa51ee78694dfd9.png

(扫码学习最新视频)

视频官网:www.zdjszx.com

(二)国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

0ab36a55eb1e263e8162b63412563196.jpeg

(三)自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

8d5f88fe407a6eefc9814acd55c2d17e.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号