前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IEEE Transactions 2022 | 针对人眼感知和机器任务的可扩展图像编码

IEEE Transactions 2022 | 针对人眼感知和机器任务的可扩展图像编码

作者头像
用户1324186
发布2024-01-11 14:50:06
2350
发布2024-01-11 14:50:06
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:IEEE Transactions 2022 题目:Scalable Image Coding for Humans and Machines 作者:Hyomin Choi, Ivan V. Baji´c 原文链接: https://ieeexplore.ieee.org/abstract/document/9741390 内容整理:刘潮磊 目前,许多捕捉到的视觉内容将用于自动化机器视觉分析,并可能需要偶尔进行人工查看。这类应用的示例包括交通监控、视觉监视、自主导航和工业机器视觉。为了满足这些要求,本文开发了一个端到端的学习图像编解码器,其潜在空间被设计成支持从简单到更复杂的任务的可伸缩性。最简单的任务分配给潜在空间的一个子集(基本层),而更复杂的任务则利用潜在空间的其他子集,即基本层和增强层。在实验中,本文建立了一个二层和一个三层的模型,每个模型都提供了用于人类视觉的输入重构,以及机器视觉任务,并与相关的基准进行了比较。实验证明,与最佳替代方案相比,本文的可伸缩编解码器在机器视觉任务上可以节省37%到80%的比特率,同时在输入重构方面与最先进的图像编解码器相当。

目录

  • 引言
  • 方法
    • 基本设计
    • 隐空间转换
    • LST结构
    • 损失函数
    • 信息冗余分析
    • 扩展到新任务
  • 实验设计与验证
  • 结论

引言

研究问题:设计分层编解码器,将隐空间的不同部分对应不同任务(图像重建/目标检测/分割)。

SOTA 工作与所属团队:Learned image compression with discretized Gaussian mixture likelihoods and attention modules——Z. Cheng, H. Sun, M. Takeuchi, and J. Katto,早稻田大学

动机:将隐空间划分为不同部分,分别对应不同任务,减少冗余。

贡献:

  • 不同层有不同的隐空间范围,只需要解码相应部分
  • 通过互信息量分析损失函数的作用

方法

基本设计

Backbone: 采用Learned image compression with discretized Gaussian mixture likelihoods and attention modules中的框架。

基本实现思路是将隐空间分为

𝑦_1

,

𝑦_2

两部分(两层网络):

𝑦_1

:基础层,用于构建计算机视觉任务T;

𝑦_2

:增强层,与

𝑦_1

一起重建输入图像

\hat{X}

图1

文章还设计了一个三层网络:

  • 基础层
𝑦_1

:用于简单的计算机视觉任务

𝑇_1

(目标检测/分类);

  • 增强层
𝑦_2

:与

𝑦_1

一起用于复杂的计算机视觉任务

𝑇_2

(分割);

  • 增强层
𝑦_3

:与

𝑦_1

,

𝑦_2

一起重建输入图像

\hat{X}

可行性与信息处理分析(两层网络):T可以从X中得到,那也可以用X的重建

\hat(x)

得到,于是将后处理任务的网络V划分成前后段:

\mathcal{F}=V^{(front-end)}(\hat{X};\Psi)\quad(1)
T=V^{(back-end)}(\mathcal{F};\rho)\quad(2)

如:在后续的实验中,将yolov3第十三层的输出设置为

\mathcal{F}

图2

于是可以构建信息处理通道:

图3

根据信息处理不等式可以得到:

I(\hat{\mathcal{Y}};\hat{X})\ge I(\hat{\mathcal{Y}};\mathcal{F})\ge I(\hat{\mathcal{Y}};T) \quad(3)

说明:

\hat{\mathcal{Y}}

包含足够的信息生成T,并且

\hat{\mathcal{Y}}

蕴含

\hat{X}

的信息比T多,所以可以将

\hat{\mathcal{Y}}

的一部分

\hat{\mathcal{Y_1}}

用来生成T。

可行性与信息处理分析(三层网络):

目标检测的信息量只是分割的一个子集,于是构建信息处理通道如下:

图4

𝑇_2

:复杂的计算机视觉任务;

𝑇_1

:简单的计算机视觉任务

𝑇_2

包含了

𝑇_1

的信息

隐空间转换

出发点:以

\widehat{\mathcal{Y_1}}

、目标检测任务为例,

\widehat{\mathcal{Y_1}}

并不一定在尺寸上适配检测任务中间某一步的特征向量尺寸(如:yolov3的第13层)。

做法:设计latent space transform (LST)将

\widehat{\mathcal{Y_1}}

映射到目标检测任务网络的中间某一步的特征向量。

目标:用一个LST将(

\widehat{\mathcal{Y_1}}

)转换成一个和

\mathcal{F}

尽可能一致的向量。

LST结构

由一系列残差块和上采样组成。

LST的输出

\widetilde{F_j^{(l)}}

要尽可能与

F_j^{(l)}

接近(

F_j^{(l)}=V_1^{(front-end)}(\widehat{X},\psi)

)。

中间的上采样模块用于匹配输入{

\widehat{\mathcal{Y_1}}

,…,

\widehat{\mathcal{Y_j}}

}和想要的

\widetilde{F_j^{(l)}}

之间的尺寸。

图5

损失函数

由码率和失真两部分组成:

\mathcal{L}=R+\lambda \cdot D \quad(4)

码率:

R=\mathbb{E_{x\sim p_x}[-log_2p_{\hat{z}}(\hat{z})]} \quad(5)

失真:

D=MSE(X,\widehat{X})+\sum_{j=1}^{s-1}\gamma_j \cdot MSE(F_j^{(l)},\widetilde{F_j^{(l)}}) \quad(6)

一部分是重建误差,一部分是LST模拟

F_j^{(l)}

的损失。因为LST模拟的

F_j^{(l)}

是由{

\widehat{\mathcal{Y_1}},…,\widehat{\mathcal{Y_j}}

}映射得到,所以LST这部分也有助于将与任务j相关的信息反向传播到隐空间的相应部分{

\widehat{\mathcal{Y_1}},…,\widehat{\mathcal{Y_j}}

}进而优化。

信息冗余分析

造成可扩展编码低效的主要原因:不同层次信息之间的冗余。

理想情况下:

𝐼(\widehat{\mathcal{Y_1}};\widehat{\mathcal{Y_2}})=0

;由于

F_1^{(l)}

完全由

\widehat{\mathcal{Y_1}}

得到,于是理想情况下:

𝐼(\widehat{\mathcal{Y_2}};\widetilde{F_1^{(l)}})=0

;于是可以测量

(\widehat{\mathcal{Y_2}}

,

\widetilde{F_1^{(l)}})

的互信息量,分析冗余情况。

图6

可以看到它们的互信息量一直下降,说明了不同层次之间的冗余一直在减少,证明了损失函数对隐空间的不同部分提供了很好的信息。

扩展到新任务

目的: 在原模型训练好的情况下,如何引入新任务的问题

方法:

  • 新任务是原任务的子集。只需从划分好的隐空间中训练一个新的LST,因为此时新任务所需信息全都包含在原任务中(例如:原任务是分类十种狗、五种猫,新任务是分类狗和猫);
  • 新任务不是原任务的子集。重新训练整个模型;
  • 新任务不是原任务的子集。因为任何任务都是重建任务的子集,于是可以训练一个LST将整个隐空间映射到新任务上(这样可以不用训练整个模型,但是带来很大的码率负担)。

实验设计与验证

任务设置: 目标检测、分割、重建

训练设计: 两阶段训练

  • 阶段一:在CLIC、JPEG-AI上进行第一阶段训练
  • 阶段二:在VIMEO-90K训练300-400个epochs

后处理模型: YOLOv3、FPN

两层网络的目标检测表现:

图7

三层网络的目标检测任务上的表现:

图8

三层网络的目标分割任务上的表现:

图9

两层、三层网络在重建任务上的表现:

图10

计算机视觉任务上的BD-rate、BD-mAP比较:

表1

重建任务上的BD-rate比较:

表2

运行时间比较:

表3

消融实验(针对LST中残差块的数量):

分别对LST中残差块取1,2,3,4进行实验,比较实验效果。

图11

图12

λ取不同值进行码率的分析:

图13

可以看出:

  • 基础层占码率比重最大
  • 码率越高,增强层占比越大

视觉效果图:

图14

结论

本文提出了一种基于深度神经网络(DNN)的图像压缩框架,具有对人类和机器视觉进行隐空间可伸缩性。隐空间表示被编码成多个层,可以分别解码以实现所需的任务。本文提出的思想体现在支持对象检测、分割和输入重构的两层和三层多任务网络中。互信息估计表明,所提出的损失函数有助于在训练期间将相关任务特定信息引导到隐空间的相应部分。实验证明,与相关基准相比,本文的多任务网络在机器视觉任务上提供了37%到80%的比特率节省,同时在输入重构质量方面与最先进的图像编解码器相当。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 方法
    • 基本设计
      • 隐空间转换
        • LST结构
          • 损失函数
            • 信息冗余分析
              • 扩展到新任务
              • 实验设计与验证
              • 结论
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档