论文阅读【MM-PCQA: Multi-Modal Learning for No-reference Point Cloud Quality Assessment】

本文主要是介绍论文阅读【MM-PCQA: Multi-Modal Learning for No-reference Point Cloud Quality Assessment】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文阅读

MM-PCQA: Multi-Modal Learning for No-reference Point Cloud Quality Assessment

  • 论文阅读
    • 摘要
    • Ⅰ引言
    • Ⅱ 相关工作
    • Ⅲ 原理
      • A.准备工作
      • B.点云特征提取
          • 1.生成子模型
          • 2.特征提取
      • C.图像特征提取
      • D.对称跨模态注意
      • E.质量回归和损失函数
    • Ⅳ 实验结果
    • 参考

作者:Zicheng Zhang, Wei Sun, Xiongkuo Min, Member, IEEE, Quan Zhou, Jun He, Qiyuan Wang, and Guangtao Zhai, Senior Member, IEEE
来源:IJCAI2023
论文:paper
代码:code


摘要

  • 之前的工作:使用单模态信息进行PCQA
    • 二维投影中提取
      • :投影图片包含丰富的纹理和语义信息
      • :高度依赖视点
    • 三维点云中提取
      • :三维点云对几何畸变更为敏感,对视点不变性
      • :没有纹理和语义信息
  • 现在的工作:提出了一种新的多模式无参考点云质量评估(NR-PCQA)度量
    • 将点云分成子模型来表示局部几何失真(基于点)
    • 将点云渲染成二维图像投影进行纹理特征提取(基于图像)
    • 采用对称跨模态注意融合多模态质量感知信息

Ⅰ引言

  • 为什么采用多模态?
    答:如下图所示,不同类型的失真对不同模态的视觉感知是不同的点云模态对结构失真和几何下采样更为敏感,而无法识别纹理噪声;图像模态对颜色量化和颜色噪声引起的纹理失真更为敏感。
    图1

  • 主要贡献:

    • 提出了一种新的NR-PCQA (MM-PCQA)多模态学习框架,以交互地使用来自点云和图像模态的信息

    • 为了保留局部模式的平滑度和粗糙度等信息,本文建议将点云分成子模型,而不是采样点作为点云编码器的输入。

    • 为了更好地融合多模态特征,本文使用跨模态关注来建模,从两个模态中提取的质量感知特征之间的相互关系。

    • 实验结果:

      PLCCSRCCKRCC
      SJTU0.920.910.78
      WPC0.830.830.64

Ⅱ 相关工作

  • Quality Assessment for Point Cloud
  • Multi-modal Learning for Point Cloud

Ⅲ 原理

图2

原理:首先将点云分割成子模型,放入点云编码器 θ P \theta_{P} θP中。投影图像直接由彩色点云渲染,并放入图像编码器 θ I \theta_{I} θI中。随后,在对称交叉模态注意(Symmetric Cross-Modality Attention)的帮助下,优化了质量感知编码器特征。最后,通过质量回归将特征拼接解码为最终质量分数。

A.准备工作

点云 P = { g ( i ) , c ( i ) } i = 1 N P=\{{g_{(i)},c_{(i)}\}}_{i=1}^N P={g(i),c(i)}i=1N, 其中: g ( i ) ∈ R 1 ✕ 3 g_{(i)}∈\Bbb{R}^{1✕3} g(i)R1✕3为几何坐标, c ( i ) ∈ R 1 ✕ 3 c_{(i)}∈\Bbb{R}^{1✕3} c(i)R1✕3为RGB颜色信息, N N N为点数

模态

P ^ \hat{P} P^: 对原始几何坐标进行归一化得到点云模态,不含颜色信息
I I I: 对彩色点云 P P P绘制成二维投影生成图像模态

B.点云特征提取

为了避免下采样带来的几何误差,并保持局部图案的平滑性和粗糙度,本文提出将点云分割成多个局部子模型来表示几何结构特征。

1.生成子模型

具体而言:

  • 给定一个归一化点云 P ^ \hat{P} P^,采用最远点采样(FPS)来获得 N δ N_{\delta} Nδ个锚点(anchor points) { δ m } m = 1 N δ \{\delta_{m}\}_{m=1}^{N_{\delta}} {δm}m=1Nδ

  • 对于每个锚点 δ m \delta_{m} δm,利用K近邻算法找到 N s N_{s} Ns个近邻点,从而形成一个子模型:
    S = { K N N k = N s ( δ m ) } m = 1 N δ \begin{align}S=\{KNN_{k=N_{s}}(\delta_{m})\}_{m=1}^{N_{\delta}}\end{align} S={KNNk=Ns(δm)}m=1Nδ

    【注:】 N δ ✕ N s > N N_{\delta}✕N_{s} > N NδNs>N 确保子模型覆盖原始点云中足够多的点。

  • 子模型生成过程如下图

图3

2.特征提取
  • N δ N_{\delta} Nδ个子模型中随机选择 N p N_{p} Np个子模型用于几何特征提取;

  • 使用点云特征编码器 θ P \theta_{P} θP将选择的子模型映射到质量感知嵌入空间:
    F P = { θ P ( S l ) } l = 1 N P F ~ P = 1 N P ∑ t = 1 N P F P l \begin{align} F_{P}=\{\theta_{P}(S_{l})\}_{l=1}^{N_{P}}\\ \tilde{F}_{P}=\frac{1}{{N_{P}}}\displaystyle\sum_{t=1}^{N_{P}} {F}_{P}^ l \end{align} FP={θP(Sl)}l=1NPF~P=NP1t=1NPFPl

    其中: F P l ∈ R 1 ✕ C P F_{P}^l∈\Bbb{R}^{1✕C_{P}} FPlR1✕CP表示第l个子模型的质量嵌入(quality-aware embedding), C P C_{P} CP表示点云编码器 θ P ( ⋅ ) \theta_{P}(·) θP()输出通道的数量, F ~ P l ∈ R 1 ✕ C P \tilde{F}_{P}^l∈\Bbb{R}^{1✕C_{P}} F~PlR1✕CP表示平均池化后的结果。

C.图像特征提取

  • 投影图像由随机视点的彩色点云渲染得到,保持固定的观看距离来保持纹理一致性。由于不同尺度上的纹理视觉质量是不同的,因此本文提出2D CNN 主干网络,利用多尺度质量感知特征,更好地模拟人类对纹理质量的感知。

  • 假设二维CNN主干有 j 层,分层特征可以描述为:
    θ I ( x ) = { α 1 ( x ) ⊕ α 2 ( x ) ⋅ ⋅ ⋅ ⊕ α j ( x ) a l p h a k ( x ) = G P A ( L k ( x ) ) , k ∈ { 1 , . . . , j } \begin{align} \theta_{I}(x)=\{\alpha_{1}(x)\oplus \alpha_{2}(x)···\oplus \alpha_{j}(x)\\ alpha_{k}(x)=GPA(L_{k}(x)),k∈\{1,...,j\} \end{align} θI(x)={α1(x)α2(x)⋅⋅⋅αj(x)alphak(x)=GPA(Lk(x)),k{1,...,j}

    其中: θ I ( ⋅ ) \theta_{I}(·) θI()表示分层图像编码器, ⊕ ( ⋅ ) \oplus(·) ()表示级联操作,**GPA(·)**表示全局平均池化操作, L k ( x ) L_{k}(x) Lk(x)表示第k层的全局平均池化操作, α k ( x ) \alpha_{k}(x) αk(x)表示从 L k ( x ) L_{k}(x) Lk(x)平均池化特征

  • 然后,使用分层图像编码器 θ I ( ⋅ ) \theta_{I}(·) θI()将二维图像嵌入到质量感知空间中:
    F I = { θ I ( I t ) } t = 1 N I , F ~ I = 1 N I ∑ t = 1 N I F I t \begin{align}F_{I}=\{\theta_{I}(I_{t})\}_{t=1}^{N_{I}},\tilde{F}_{I}=\frac{1}{N_{I}}\displaystyle\sum_{t=1}^{N_{I}} {F}_{I}^ t\end{align} FI={θI(It)}t=1NIF~I=NI1t=1NIFIt
    其中: F I l ∈ R 1 ✕ C I F_{I}^l∈\Bbb{R}^{1✕C_{I}} FIlR1✕CI表示第 t 个投影图像 I t I_{t} It的质量嵌入(quality-aware embedding), C I C_{I} CI表示二维图像编码器 θ I ( ⋅ ) \theta_{I}(·) θI()输出通道的数量, F ~ I l ∈ R 1 ✕ C I \tilde{F}_{I}^l∈\Bbb{R}^{1✕C_{I}} F~IlR1✕CI表示平均池化后的结果。

D.对称跨模态注意

  • 对称跨模态注意模块是为了研究点云和图像视觉质量特征之间的相互作用,用线性投影将 F P l ∈ R 1 ✕ C P F_{P}^l∈\Bbb{R}^{1✕C_{P}} FPlR1✕CP F I l ∈ R 1 ✕ C I F_{I}^l∈\Bbb{R}^{1✕C_{I}} FIlR1✕CI调整到同一维度:
    F ^ P = W P F ~ P , F ^ I = W I F ~ I \begin{align}\hat{F}_{P}=W_{P}\tilde{F}_{P}, \hat{F}_{I}=W_{I}\tilde{F}_{I}\end{align} F^P=WPF~P,F^I=WIF~I
    其中: F ^ P ∈ R 1 ✕ C ′ \hat{F}_{P}∈\Bbb{R}^{1✕C'} F^PR1✕C, F ^ I ∈ R 1 ✕ C ′ \hat{F}_{I}∈\Bbb{R}^{1✕C'} F^IR1✕C表示调整后的特征, W P , W I W_{P},W_{I} WP,WI表示可学习的线性映射, C ′ C' C表示调整后的通道数量。

  • 为了更好的探索模态之间的区别,加入了多头注意力模块:
    Γ ( Q , K , V ) = ( h 1 ⊕ h 2 ⋅ ⋅ ⋅ ⊕ h n ) h μ = β ( Q W μ Q , K W μ K , V W μ V ) ∣ μ = 1 n β ( Q , K , V ) = s o f t m a x ( Q K T / d ) V \begin{align} \Gamma(Q,K,V)=(h_{1}\oplus h_{2}···\oplus h_{n})\\ h_{\mu}=\beta(QW_{\mu}^Q,KW_{\mu}^K,VW_{\mu}^V)|_{\mu=1}^n\\ \beta(Q,K,V)= softmax(QK^T/\sqrt d)V \end{align} Γ(Q,K,V)=(h1h2⋅⋅⋅hn)hμ=β(QWμQ,KWμK,VWμV)μ=1nβ(Q,K,V)=softmax(QKT/d )V

    其中: Γ ( ⋅ ) \Gamma(·) Γ()表示多头注意力操作, β ( ⋅ ) \beta(·) β()表示注意力函数, h μ h_{\mu} hμ表示第 μ \mu μ个头, W , W Q , W K , W V W,W_{Q},W_{K},W_{V} W,WQ,WK,WV表示可学习的线性映射。
    图4
    如图所示,双方模态进行交互学习,最终的质量嵌入可以通过对称跨模态注意模块获得的模态内特征和引导的多模态特征进行串联:
    F ^ Q = F ^ P ⊕ F ^ I ⊕ Ψ ( F ^ P , F ^ I ) \begin{align}\hat{F}_{Q}=\hat{F}_{P}\oplus \hat{F}_{I}\oplus \Psi(\hat{F}_{P},\hat{F}_{I})\end{align} F^Q=F^PF^IΨ(F^P,F^I)
    其中: Ψ ( ⋅ ) \Psi(·) Ψ()表示对称跨模态注意操作, F ^ Q \hat{F}_{Q} F^Q表示最终的质量特征。

E.质量回归和损失函数

  • 损失函数:

    • 均方误差: L M S E = 1 n ∑ η = 1 n ( q η − q η ′ ) 2 L_{MSE}=\frac{1}{n}\displaystyle\sum_{\eta=1}^{n} (q_{\eta} - q'_{\eta})^2 LMSE=n1η=1n(qηqη)2
      其中: q η q_{\eta} qη表示预测质量, q η ′ q'_{\eta} qη表示标签,n是mini-batch的大小。

    • 秩误差:
      L r a n k i j = m a x ( 0 , ∣ q i − q j ∣ − e ( q i − q j ) ⋅ ( q i ′ − q j ′ ) e ( q i − q j ) = { 1 , q i ≥ q j − 1 , q i < q j \begin{align} L_{rank}^{ij}=max(0,|q_{i} - q_{j}| - e(q_{i} - q_{j})·(q'_{i} - q'_{j})\\ e(q_{i} - q_{j})= \begin{cases} 1 , & { q_{i}≥q_{j}} \\ -1, & {q_{i}<q_{j}} \end{cases} \end{align} Lrankij=max(0,qiqje(qiqj)(qiqj)e(qiqj)={1,1,qiqjqi<qj

      其中:i,j是两个点云的相关索引,,秩误差可以表示为:
      L r a n k i j = 1 n 2 ∑ i = 1 n ∑ j = 1 n L r a n k i j \begin{align} L_{rank}^ij=\frac{1}{n^2}\displaystyle\sum_{i=1}^{n}\displaystyle\sum_{j=1}^{n} L_{rank}^{ij} \end{align} Lrankij=n21i=1nj=1nLrankij

    【当点云的质量标签接近时,秩损失能更好地帮助模型区分质量差异】
    + 最终的损失函数是两个损失函数的加权和:
    L o s s = λ 1 L M S E + λ 2 L r a n k \begin{align} Loss=\lambda_{1}L_{MSE}+\lambda_{2}L_{rank} \end{align} Loss=λ1LMSE+λ2Lrank


Ⅳ 实验结果

  • 数据库:SJTU, WPC
  • 实验设置:使用Adam优化器,权值衰减为1e-4,初始学习率设为5e-5。默认情况下,模型训练了50个epoch。我们设置点云子模型尺寸Ns为2048,设置 N δ = N / N s + 1 N_{\delta}= N/Ns + 1 Nδ=N/Ns+1 。将分辨率为1920×1080×3的投影图像随机裁剪成分辨率为224×224×3的图像块作为输入。实验过程中,每个点云随机选取6个子模型和4张投影图像。使用PointNet++作为点云编码器,使用分层ResNet50作为图像编码器,其中ResNet50使用ImageNet数据库上的预训练模型进行初始化。多头注意力模块采用8个头部,前馈维度设置为2048。lse和Lrank的权值 λ 1 \lambda_{1} λ1 λ 2 \lambda_{2} λ2均设为1。
  • 实验结果
    表1
    消融实验:
    表2

表3
表4
表5
表6


参考

[1] Zhang Z, Sun W, Min X, et al. MM-PCQA: Multi-Modal Learning for No-reference Point Cloud Quality Assessment[J]. arXiv preprint arXiv:2209.00244, 2022.

这篇关于论文阅读【MM-PCQA: Multi-Modal Learning for No-reference Point Cloud Quality Assessment】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706779

相关文章

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Sentinel 断路器在Spring Cloud使用详解

《Sentinel断路器在SpringCloud使用详解》Sentinel是阿里巴巴开源的一款微服务流量控制组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、... 目录Sentinel 介绍同类对比Hystrix:Sentinel:微服务雪崩问题问题原因问题解决方案请

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int