【论文】Believe It or Not, We Know What You Are Looking at! 阅读笔记
【论文】Believe It or Not, We Know What You Are Looking at! 阅读笔记
1、Gaze Following
注视跟踪是在场景中跟踪其他人的注视并推断他们看的是哪里。这对于理解人与人之间以及人与物之间的交互行为至关重要。例如,我们可以根据人在人与人互动中的注视点来推断他们的意图。新的零售场景中,我们可以根据消费者与这些产品的眼神交流来推断他们对这些产品的兴趣,并推断出哪种信息(食物的成分,价格,过期数据等)最吸引消费者的注意力。
尽管注视跟踪至关重要,但由于以下原因,它具有极大的挑战性:第一,实际推断注视点需要场景的深度信息,头部姿势和眼球运动,但很难推断单张图像的深度。此外,由于遮挡,头部的姿势和眼球的运动也不容易估计(如图c)。第二,由不同的第三视角观察者通过单个视角图像估计的注视点存在歧义(如图d)。第三,注视涉及场景中目标人与其他物体之间的几何关系理解以及场景内容的理解,这是一项艰巨的任务。
2、总的网络图
整个网络分为两个阶段(two-stage),注视方向路径(Gaze direction pathway)和热图路径(Heatmap pathway)。
3、Gaze direction pathway
-
注视方向路径:将头像部分和头像在图像中的位置信息作为输入,通过注释方向路径进行注视方向预测,然后根据注视方向得到多尺度注释方向场。
注视方向路径使用的网络:ResNet-50。 -
具体过程:
1、头像部分图像(Head image,254 X 254)输入到ResNet-50网络中提取出头像图像特征(head feature),通过一个FC层得到512维的特征;H(hx,hy)是原图像标准化为1 X 1时的坐标,通过3层的FC层编码为256维的头部位置特征(head position feature;将 head feature 和 head position feature 连接成 768 维的特征,经过一个FC层得到预测的注视方向,
2、一旦得到预测的注视方向,则注视点很有可能在沿着注视方向上。论文将目标人员的视场(the field of view ,FOV)简化为一个以头部位置为顶点的圆锥体。如下图右图所示:
其中d’是预测的注视方向,H为头部位置。在不考虑场景内容的情况下,给定点图像中任意一点P(px,py)是注视点的概率与θ角成反比,θ越小,则可能性越大,否则就越小。利用余弦函数描述θ到概率的映射(0=<θ<=90o)
则,给顶点P是注视点的可能性为:
S
i
m
(
P
)
=
m
a
x
(
<
G
,
d
^
>
∣
G
∣
∣
d
^
∣
,
0
)
=
m
a
x
(
θ
,
0
)
Sim(P)=max(\frac{<G,\hat{d}> }{\left | G \right |\left |\hat{d} \right |},0)=max(θ,0)
Sim(P)=max(∣G∣∣d^∣<G,d^>,0)=max(θ,0)
其中,
G
=
(
(
p
x
−
h
x
,
p
y
−
h
y
)
)
G=((p_{x}-h_{x},p_{y}-h_{y}))
G=((px−hx,py−hy)),当 θ>90o 时,
S
i
m
(
P
)
=
0
Sim(P)=0
Sim(P)=0
3、如果预测的凝视方向是准确的,则希望沿着注视方向的概率分布是尖锐的,否则,希望概率是平稳变化的。在实践中,利用具有不同锐利度的多尺度注视方向场进行热图预测。具体来说,使用以下方法来控制注视方向场的锐利度:
γ
γ
γ控制FOV圆锥的孔径,本文中,选取
γ
=
5
,
3
,
1
γ=5,3,1
γ=5,3,1,
γ
γ
γ越大,孔径越小。
4、Heatmap pathway
- 热图路径:将多尺度注视方向场和原始图像融合,作为 Heatmap pathway 的输入,得出热图,对应于热图最大值的点被认为是最终的凝视点。在本文中使用特征金字塔网络(FPN)用于热图路径。热图路径的最后一层是Sigmoid**函数,可确保每个像素的可能性落入[0,1]。
-
Ground Truth:真实注视点的热图是通过将高斯核居中在注视点形成的:
(gx, gy)为真实注视点,H(i, j)为真实注视点的热图,(i, j) 为图像上任意一点, δ \delta δ为方差,本文设为3。
5、模型训练
- 输入
输入 | SIZE |
---|---|
头部图像(Head image) | 224 X 224 |
头部位置(Head position) | (hx, hy) 原始图像标准化为 1X1 时的坐标 |
原始图像(origin image) | 224 X 224 |
- 输出
输出 | SIZE |
---|---|
注视方向 | ( d x ^ , d y ^ ) (\hat{d_{x}},\hat{d_{y}}) (dx^,dy^)头部位置到注视点的归一化向量 |
视觉注意 | 56X56 的热图 |
- Gaze direction loss:
d
d
d是真实注视方向,
d
^
\hat{d}
d^ 是预测的注视方向。
- BCE loss(二元交叉熵损失函数):
其中,N=56 X 56
-
总Loss:
λ \lambda λ 是权衡 l h l_{h} lh和 l d l_{d} ld的权重。在实验中将 λ \lambda λ 设置为0.5。
6、多尺度注视场和原始图像融合方法
在第二阶段,需要将凝视方向场和图像内容信息结合在一起。但是,如何选择融合的位置(早期,中期,晚期融合)和融合方式(乘法或串联)?
1、中间融合(mul):将注视方向字段和图像内容特征图(7×7)融合在一起,并在中间层进行相乘。
2、中间融合(连续):将凝视方向字段和图像内容特征图(7×7)与中间层串联在一起。
3、早期融合(mul):将凝视方向场和图像内容特征图(28×28)与热图路径中编码器的早期层相乘。
4、后期融合(mul):将注视方向场和图像内容特征图(28×28)与热图路径中解码器的最后一层相乘。
5、图像融合(mul):将原始图像直接与注视方向字段相乘。
6、Ours(concat):将原始图像直接与注视方向字段相乘。
结果显示,早期融合通常比中后期融合获得更高的性能,这意味着早期抑制无用场景内容对于注视跟随很重要。此外,发现通常将凝视方向场与图像或特征连接起来,比乘法效果要好一些。
7、实验结果
图(b)中显示了一些故障。示例的前三列显示的预测可以是多峰的。最后三列,可以看到预测的热图是不准确的。论文指出这可能是因为较小的头部或头部遮挡引起的,这使得注视方向和注视点预测非常困难。
8、特征金字塔网络(FPN)
在卷积神经网络中,越深层的feature map,提取的特征越抽象,语义信息越强,分类能力越强。但语义信息越强的同时,feature map 的分辨率越小,很多微小的物体位置信息会丢失,不利于检测微小物体。而低层的 feature map 与之相反,其语义信息弱,但是分辨率高。有三种方法可以解决这个矛盾
(a)图像金字塔,即将图像做成不同的scale,然后不同scale的图像生成对应的不同scale的特征。这种方法的缺点在于增加了时间成本。有些算法会在测试时候采用图像金字塔。
(b)像SPP net,Fast RCNN,Faster RCNN是采用这种方式,即仅采用网络最后一层的特征。
(c)像SSD(Single Shot Detector)采用这种多尺度特征融合的方式,没有上采样过程,即从网络不同层抽取不同尺度的特征做预测,这种方式不会增加额外的计算量。作者认为SSD算法中没有用到足够低层的特征(在SSD中,最低层的特征是VGG网络的conv4_3),而在作者看来足够低层的特征对于检测小物体是很有帮助的。
(d)FPN采用这种方式,顶层特征通过上采样和低层特征做融合,而且每层都是独立预测的。
如图为ResNet-FPN网络图,其主要分为Bottom-up pathway, Top-down pathway and lateral connections。
Bottom-up pathway就是用Resnet下采样的过程。
Top-down pathway and lateral connections过程:C5层先经过1 x 1卷积,改变特征图的通道数(设置d=256,与Faster R-CNN中RPN层的维数相同便于分类与回归)。M5通过上采样,再加上(concat)C4经过1 x 1卷积后的特征图,得到M4。这个过程再做两次,分别得到M3,M2。M层特征图再经过3 x 3卷积(减轻最近邻近插值带来的混叠影响,周围的数都相同),得到最终的P2,P3,P4,P5层特征。