Noise-aware training噪声感知训练

Noise-aware training噪声感知训练

看论文的时候看到这种提高鲁棒性的方法,查了一下资料,比较有限,在这里做个记录。

Noise-aware training噪声感知训练着眼于如何识别以及减少工作时的噪声,这里说的工作时也就是如处理图像深度信息的时候一样,在一些物体的边、角位置会有很多黑色的块状遮挡,这些都是噪点,如下图所示,缺失了这部分的深度信息。这种方法特别适合用在建筑或工业环境中,大部分的室内环境都挺适合的。
noise
下面说一下大致的方法:

通过对噪音的深入观察,数据通常显示一种特征模式并出现在物体边界或物体表面。具体来讲,我们从一个经典的噪声模式数据集中采样 P = { P 1 , , P K } P = \left \{P_1,\dots ,P_K\right \} 这些噪声模式发生在通过Kinect记录的典型室内场景。为了采样噪声模式,我们使用RGB-D SLAM数据集,首先,我们提取33000个大小为256×256的随机噪声,这些噪声来自不同位置的不同的序列(sequences)并把他们分成五组,根据缺失的深度信息读取它们包含的数量。这些噪声斑(noise patches)是二维二进制掩码形式,我们从两个不同的组中随机抽取一对噪声斑,对其进行随机添加或减少,并选择性地颠倒以产生最终的噪声遮掩模式(noise mask pattern)。我们重复这一过程直到我们收集到K=50,000个噪声模式。

产生的噪声模式示例以及其在训练示例中的应用如下图所示
noise pattern

(1) min W D , θ D i = 0 m L ( s o f t m a x ( W D g D ( d i ; θ D ) ) , y i ) \min \limits_{W^D,\theta^D}\sum_{i=0}^m \mathcal{L}(softmax(W^Dg^D(d^i;\theta^D)),y^i) \tag{1}
利用人为制造的噪声模式对深度网络进行训练,然后将等式 ( 1 ) (1) 中的目标最小化,其中每个深度样本 d i d^i 被随机替换为一个概率为50%的有噪变体(a noised variant)。以下是它的表示形式:

(2) d i = { d i i f   p = 1 P k d i e l s e   w i t h p B { 0.5 }   k U { 1 , K } d^i=\begin{cases} d^i & if\ p=1\\ P_k\circ d^i & else \end{cases}\ with \begin{matrix} p \sim \Beta \left \{0.5 \right \}\\ \quad\ k \sim \mathcal{U} \left \{1,K \right \}, \end{matrix}\tag{2}
上式中, \circ 指的是 哈马达乘积Hadamard product B \Beta 指的是 伯努利分布Bernoulli
distribution
and U \mathcal{U} 指的是 离散均匀分布discrete uniform distribution.


这个哈马达乘积其实就是两个m×n的矩阵,对应的元素相乘,重新组成一个m×n的矩阵。
伯努利分布就是0-1分布,按概率p来决定取值是1还是0
离散均匀分布就是随机变量有n个,它们的发生概率相等且等于   1 n \ \frac{1}{n}


具体的应用例子可以看一下这篇论文: Multimodal Deep Learning for Robust RGB-D Object Recognition

猜你喜欢

转载自blog.csdn.net/Will_Ye/article/details/84074956