Locating Objects Without Bounding Boxes

1 minute read

Published:

This loss function is a modification of the average Hausdorff distance between two unordered sets of points. The proposed method has no notion of bounding boxes, region proposals, or sliding windows.

ref: [1806.07564] Locating Objects Without Bounding Boxes (arxiv.org)

可用于任何 FCN 来估计目标位置的损失函数(weighted Hausdorff distance),从而不用任何边界框来估计一个图像中物体的位置和数量

Hausdorff距离

描述两组点集之间相似程度的一种量度

假设有两组点集$A={a^{1}, a^{2}, \cdots, a^{p}}, B={b^{1}, b^{2}, \cdots, b^{p}}$

单向Hausdorff距离

点集$A, B$之间的单向Hausdorff距离

\[\begin{aligned} h(A, B)&=\max\limits_{a\in A}\min\limits_{b\in B}||a-b||\\ h(B, A)&=\max\limits_{b\in B}\min\limits_{a\in A}||b-a|| \end{aligned}\]

$h(A, B)$:先在点集$B$中取距离点集$A$最近的点$b^{j}$,然后计算每个$a^{i}\in A$与点$b^{j}$的距离,取其中的最大值作为$h(A, B)$

若$h(A, B)=d$,则$A$中所有点到$B$的距离不超过$d$

双向Hausdorff距离

\[H(A, B)=\max\{h(A, B), h(B, A)\}\]

双向Hausdorff距离取两个单向Hausdorff距离的最大值,度量两个点集的不相似程度

  • 对噪声/异常值敏感

平均Haussdorff距离 AHD

令点集$X, Y$,$X$即预测,$Y$即ground truth(像素坐标),其平均Hausdorff距离为

\[H_{avg}(X, Y)=\frac{1}{|X|}\sum\limits_{x\in X}\min\limits_{y\in Y}d(x, y)+\frac{1}{|Y|}\sum\limits\limits_{y\in Y}\min\limits_{x\in X}d(x, y)\]

其中$d(\cdot, \cdot)$可以是任意度量

问题

  • 带线性层的CNN隐式决定了预测点的个数,即网络最后一层的size
  • U-Net等FCN可以通过higher activation表现对象的中心,但不能得到像素坐标
  • 为了便于后向传播学习,损失函数必须是可微的

带权Haussdorff距离 WHD

\[H_{w}(p, Y)=\frac{1}{S+\epsilon}\sum\limits_{x\in \Omega}p_{x}\min\limits_{y\in Y}d(x, y)+\frac{1}{|Y|} \sum_{y \in Y} M_{x \in \Omega}^{\alpha}\left[p_x d(x, y)+\left(1-p_x\right) d_{\max }\right]\]

其中

\[\begin{aligned} S&=\sum\limits_{x\in \Omega}p_{x}\\ M_{x\in A}^{\alpha}[f(x)]&=(\frac{1}{|A|}\sum\limits_{x\in A}f^{\alpha}(x))^{\frac{1}{\alpha]}} \end{aligned}\]
  • $p_{x}\in [0, 1]$是网络在像素坐标$x$处的单值输出,注意$p_{x}$不需要归一化($\sum\limits_{x\in \Omega}p_{x}=1$不必要)
  • 广义均值$M^{\alpha}[\cdot]$在$\alpha=-\infty$时取最小值
  • $\epsilon$被设为$1e-6$,在$p_{x}\approx 0 , \forall x\in \Omega$时可提供数值稳定性
  • 当$p_{x}={0, 1}, \alpha=-\infty, \epsilon=0$时,WHD退化为AHD
  • 当$H_{w}(p, Y)\geq 0$时,全局最小值(即$H_{w}(p, Y)= 0$)对应于$p_{x}=1$若$x\in Y$,反之则对应于$p_{x}=0$
  • 第一项中乘以$p_{x}$是为了惩罚在图像中附近没有ground truth点$y$的high activation;损失函数对于假正有惩罚
  • 第二项中,通过式$f(\cdot):=p_x d(x, y)+\left(1-p_x\right) d_{\max }$
    • 若$p_{x_{0}}\approx 1$,则$f(\cdot)\approx d(x_{0}, y)$。这意味着点$x_{0}$像AHD中那样贡献loss
    • 若$p_{x_{0}}\approx 0, x_{0}\ne y$,则$f(\cdot)\approx d_{max}$
      • 若$\alpha=-\infty$,则点$x_{0}$不会对loss做贡献,因为最小$M_{x\in \Omega}[\cdot]$会忽略点$x_{0}$
      • 若存在另一离$y$更近、且$p_{x_{1}}>0$的点$x_{1}$。那么$M[\cdot]$会选中$x_{1}$;否则$M_{x\in \Omega}[\cdot]$较高
    • 这意味着ground truth附近的low activation会被惩罚
  • $f(\cdot)$并非唯一约束$f_{p_x=1}=d(x, y)$且$f_{p_x=0}=d_{max}$的表达式

若input图像需要被resize以输入网络,我们可以对WHD进行归一化来处理该形变。令原图尺寸为$(S_{0}^{(1)}, S_{0}^{(2)})$,resize后图像尺寸为$(S_{r}^{(0)}, S_{r}^{( 1)})$,那么WHD中的$d(x, y)$就被替换为$d(S_{x}, S_{y})$,其中$x, y\in \Omega$且 \(\mathbf{S}=\left(\begin{array}{cc} S_o^{(1)} / S_r^{(1)} & 0 \\ 0 & S_o^{(2)} / S_r^{(2)} \end{array}\right)\)

相对于pixelwise loss的优势

pixelwise loss不清楚两点$x\in X$和$y\in Y$有多近,除非$x=y$