隐式神经表示(Implicit Neural Representations,INRs)

  • 1 简介
    • 1.1 传统的隐式表示
      • 1.1.1 代数表示
      • 1.1.2 函数表示
      • 1.1.3 水平集表示(level set)
    • 1.2 什么是隐式神经表示
    • 1.3 隐式神经表示的优缺点
      • 1.3.1 优点
      • 1.3.2 缺点
  • 2 应用
    • 2.1 超分辨率
    • 2.2 新视角合成
    • 2.3 三维重建
  • 3 隐式神经表示的结构及改进
    • 3.1 隐式神经表示常用的网络结构
    • 3.2 隐式神经表示的改进
      • 3.2.1 SIREN
      • 3.2.2 FPE
  • 引用

1 简介

1.1 传统的隐式表示

传统用于形状表示的隐式表示有:代数表示、函数表示、水平集表示等。

1.1.1 代数表示

如下图利用对基础图形的交并补,可以得到复杂的图形。一般logo的设计或者三维零部件建模都是利用对基础图形的布尔运算来得到目标形状。

1.1.2 函数表示

除了代数以外,还可以用一些解析的函数来表示形状。简单的就是圆以及椭圆的函数表达式。Rhodin等人将三维人体近似为高斯密度场,利用91个高斯函数去逼近出人体轮廓。除此之外,符号距离函数也常用来表示三维形状,如图通过提取零值点可以将三维模型表面提取出来。

1.1.3 水平集表示(level set)

一些形状是无法解析表示出来的,但是可以通过设定的水平集提取出形状。例如在医学中的CT、MRI,根据组织密度以及设定的水平集,就可以重构组织的三维体积模型。

1.2 什么是隐式神经表示

隐式神经表示(Implicit Neural Representation,INR)(有时也称为基于坐标的表示)是一种对各种信号进行参数化的新方法。传统的信号表示通常是离散的,而隐式神经表示将信号参数化为一个连续函数,将信号的域映射到该坐标上的属性的值(例如对于图像,就是将像素坐标映射到R,G,B颜色)。

当然,这些函数通常不是解析性的——即不可能“写下”将自然图像参数化为数学公式的函数。隐式神经表示通过神经网络来近似信号函数。

1.3 隐式神经表示的优缺点

1.3.1 优点

  • 表示不再与空间分辨率相耦合,例如,图像与像素数量相耦合的方式。隐式神经表示是连续函数,因此参数化信号所需的内存与空间分辨率无关,只与底层信号的复杂性相关。另一个推论是,隐式表示具有“无限分辨率”——它们可以在任意空间分辨率下进行采样。所以隐式表示解决了在显示表示中显存的限制,使得高/超分辨率成为可能。
  • 表征能力更强,跨神经隐式表示的泛化等同于学习函数空间上的先验,通过学习神经网络权重上的先验实现。学习后的隐式神经表示可以通过不同的坐标输入映射到任意属性值。
  • 泛化性高,神经隐式表示学习函数空间上的先验,然后根据提取的先验以及输入的特征,可以得到不同的目标信号。
  • 易于学习,基于神经网络的隐式神经表示易于与各种网络结构结合,能够快速的学习先验,拟合学习对象。与传统的表示形式(如网格、点云或体素)相比,神经隐式表征可以灵活地融合到可微分的基于学习的管道中。

1.3.2 缺点

  • 需要后处理:显示几何必须通过一定的后处理步骤得到,往往这也是非常耗时的。
  • 过度平滑:全连接的网络结构以及全局条件(特征)都容易导致过度平滑。
  • 难以实时:隐式神经表示需要对整个volume的体素的函数值进行计算,计算量大,十分耗时。

2 应用

隐式神经表示,在表示各种复杂信号都得到了广泛应用,这里举三个应用:超分辨率、新视角合成、三维重建。

2.1 超分辨率

2.2 新视角合成

2.3 三维重建

3 隐式神经表示的结构及改进

从2.3的可以看出重建的模型是比较平滑的,缺乏细节的信息,那么是什么导致了这个原因呢?接下来就来看一下隐式神经表示常用的网络结构吧!

3.1 隐式神经表示常用的网络结构

基于ReLU的多层感知器(MLP)是隐式神经表示常用的网络结构。Hornik[1]在1989年证明,当中间隐含层的神经元数量趋于无穷多时,多层感知机可以拟合任何非线性函数。

ReLU是MLP的激活函数,起非线性映射的作用,其可将神经元的输出幅度限制在一定范围内,一般限制在(-1~1)或(0~1)之间。如上右图所示基于ReLU的多层感知器(MLP),由于ReLU网络是分段线性的,其二阶导数处处为零,因此无法对自然信号的高阶导数中包含的信息进行建模,缺乏在底层信号中表示精细细节的能力,而且它们通常不能很好地表示目标信号的导数/梯度。从而重建的模型往往是比较平滑的。

3.2 隐式神经表示的改进

3.2.1 SIREN

SIREN[2]:在隐形神经表示中使用了正弦函数来替代以往的激活函数,即将多层感知器(mlp)中线性整流函数替代为周期性正弦函数。


SIREN比ReLU-MLP更好地表示信号中的细节,证明了其在表示复杂的自然信号(如图像\视频\音频\三维形状)及其导数的优势。

3.2.2 FPE

MLP总是倾向于学习更光滑的结果,而对高频信号的刻画差强人意。造成这种现象的原因是网络自身的频谱偏置,使其更容易学习低频部分而忽略高频部分(换句话来说就是高频信号的在目标函数特征值小,故而在每次参数更新中受到的惩罚小,收敛很慢很慢,甚至几乎学不出来。)。2020Tancik 等人[3]提出了一个新的方法FPE(傅里叶位置编码)而这篇文章则在讲要怎么克服网络的频谱偏置。它提出了一种将网络input从低维映射到高维的一种方式,让MLP在不增加容量的情况下也能够学好高频信号,具体是通过一个简单的傅立叶特征映射来传递输入点,使多层感知器(MLP)可以学习低维问题域中的高频函数。


用多层感知机网络去学习表示图像,可以看到在图像的表示上加入位置编码后图像的细节信息明显被更多的保留了下来,并且高频的细节信息得到了更快的收敛。


但是如上图所示其也存在一定的问题,低频分类不能被很好地拟合,从而会导致结果带有较多的噪声、瑕疵。
其它隐式神经表示相关改进的论文可查阅“神经表示(INRs)相关论文汇总”。

引用

本文的大部分图片来自百度!

[1] Hornik K, Stinchcombe M, White H. Multilayer feedforward networks are universal approximators[J]. Neural networks, 1989, 2(5): 359-366.
[2] Sitzmann V, Martel J, Bergman A, et al. Implicit neural representations with periodic activation functions[J]. Advances in Neural Information Processing Systems, 2020, 33: 7462-7473.
[3] Tancik M, Srinivasan P, Mildenhall B, et al. Fourier features let networks learn high frequency functions in low dimensional domains[J]. Advances in Neural Information Processing Systems, 2020, 33: 7537-7547.

概述:隐式神经表示(Implicit Neural Representations,INRs)相关推荐

  1. 隐式神经表示一:神经网络拟合图像Implicit Neural Representations with Periodic Activation Functions

    文章目录 1. Implicit Neural Representations with Periodic Activation Functions 0. 什么是隐式神经表示 1. 了解SineLay ...

  2. 论文阅读:(arXiv 2022) MINER: Multiscale Implicit Neural Representations

    MINER: Multiscale Implicit Neural Representations (arXiv 2022) Paper:https://arxiv.org/abs/2202.0353 ...

  3. 将隐式神经表示(INR)用于2D图像

    ©PaperWeekly 原创 · 作者 | 张一帆 学校 | 中科院自动化所博士生 研究方向 | 计算机视觉 以图像为例,其最常见的表示方式为二维空间上的离散像素点.但是,在真实世界中,我们看到的世 ...

  4. 隐式神经表示(INRs)相关论文汇总

    Title: Implicit Neural Representations with Periodic Activation Functions Date: 2020 Short Title: SI ...

  5. [CVPR2022]ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations

    标题:ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations 链接:https://arxiv ...

  6. VB2010 的隐式续行(Implicit Line Continuation)

    VB2010 的隐式续行(Implicit Line Continuation) 许多情况下,您可以让 VB 后一行继续前一行的语句,而不必使用下划线(_).下面列举出隐式续行语法的使用情形. 1.逗 ...

  7. 无法将类型int隐式转换为string_Scala implicit 隐式转换安全驾驶指南

    这篇短文将结合实例对隐式转换的各种场景进行解释和总结,希望看完的人能够安全驶过隐式转换这个大坑. 隐式转换函数 隐式转换函数有两种作用场景. 1 转换为期望类型:就是指一旦编译器看到X,但需要Y,就会 ...

  8. #Paper Reading# Implicit Neural Representations with Periodic Activation Functions

    论文题目: Implicit Neural Representations with Periodic Activation Functions 论文地址: https://arxiv.org/abs ...

  9. Qt文档阅读笔记-隐式共享(Implicit Sharing)深入研究(理论及实例)

    Qt里面很多C++类都是采用隐式共享最大限度的提高资源利用率以及最新复制的原则.隐式共享数据作为参数时,不仅安全而且高效,因为传的是一个指针并且只有要修改这个数据时才会去拷贝,这里有个专业词汇copy ...

最新文章

  1. Day 14 保护环境的建议
  2. 负载均衡下ajax第二次请求,会话清除第二个AJAX电话
  3. 【❌❌深入浅出,九浅一深⭕⭕】《深入理解计算机系统》CSAPP
  4. java 队列_百战程序员:Java并发阻塞队列
  5. Intel 10nm为何迟迟不肯露面?良品率偏低
  6. 从面试题看考察知识点(四)
  7. 字符串转换为列表 python_python,_python把字符串转换成列表,python - phpStudy
  8. 2:数据库的CURD
  9. QT中如果出现: warning: 'nullptr' is incompatible with C++98等类似警告
  10. Mybatis源码SqlSession源码分析
  11. libtorrent安装windows版
  12. 服务器计算机性能测试,服务器平台计算性能工具Linpack服务器性能测试利器_一_.pdf...
  13. 高德地图开发 —— 获取高德地图开发的 key
  14. 【重磅】云栖社区2017年度内容特辑
  15. c51数字钟c语言程序,51单片机电子时钟C语言程序
  16. lottie轻松实现复杂动画(抽奖举例)
  17. 宁德时代与戴姆勒卡车股份公司扩大全球合作伙伴关系
  18. ASP.NET Core : 八.图说管道,唐僧扫塔的故事
  19. android 各类demo链接
  20. 广州出生婴儿登记入户程序

热门文章

  1. python 爬取2021年《财富》世界500强排行榜2层链接
  2. nRF52832 Power
  3. 数据库系统概念--创建数据库
  4. UOJ Rounds
  5. 武汉新时标文化传媒有限公司解决传统货柜式电商哪些痛点
  6. 面向对象-----设计Dog和Penguin类
  7. No.1进程管理器V1.62--优秀的进程管理工具
  8. matlab画复平面,用Matlab绘制复变函数
  9. 计算有效时长的截止工作时间
  10. 七夜在线音乐台开发 第一弹 (原创)