CornerNet

backbone ——hourglass network

第一次看到这个骨干,介绍说在人体位姿估计中很常见,但是在主流的检测模型中没有见过。

CornerNet

pipeline

CornerNet
首先进入hourglass network提取featuremap。然后进入两个模块,top-left corners和bottom-right corners。两个分支相互独立,分别预测目标的左上角和右下角。top-left corners和bottom-right corners分支后都接有一个prediction-Module,用来进行进一步的定位和检测。

prediction Module

corner pooling

不同对center的预测可能依赖于四条边,corner的预测可以通过两条边加以定位。所以作者提出了corner pooling。
CornerNet
具体操作方法如下图,这样经过corner pooling的每个点都会包含了两个方向的信息。
CornerNet

heatmap、embedding、offsets

heatmap的含义比较简单,对于featuremap的每一个点(H*W)判断是否为角点(top分支预测左上/bottom分支预测右下),C个channel表示类别,不包含背景。在LOSS的设定上,作者仿照了focal loss的定义,如下图。CornerNet
因为在点的点位中会存在大量的复杂样本,就是虽然这个点没有定位到标注点,但是也可以包裹住目标,对于复杂样本在LOSS中要加重体现。
CornerNet
embedding是作用是解决配对问题,如果匹配到对应的左上角和右下角呢,作者单独设计了embedding模块,对于角点会输出一个向量,如果角点属于同一物体那么两个embedding的距离会小,如果不匹配距离会大。
CornerNet
offsets则是起到微调的作用,因为在缩放时featuremap的点很难精准的定位到原图的点。
CornerNet

初步理解,具体在跑通源码后在改。
参考:https://blog.****.net/u014380165/article/details/83032273
https://zhuanlan.zhihu.com/p/66406815