论文地址:https://arxiv.org/abs/1808.01244
论文代码:https://github.com/princeton-vl/CornerNet
CornerNet将目标检测定义为左上角点和右下角点的检测。网络结构如图1所示,通过卷积网络预测出左上角点和右下角点的热图,然后将两组热图组合输出预测框,彻底去除了anchor box的需要。论文通过实验也表明CornerNet与当前的主流算法有相当的性能,开创了目标检测的新范式。
CornerNet的结构如上图所示,使用hourglass网络作为主干网络,通过独立的两个预测模块输出两组结果,分别对应左上角点和右下角点,每个预测模块通过corner池化输出用于最终预测的热图、embedding向量和偏移。
Heatmaps预测哪些点最有可能是Corners点,Embeddings用于表征属于相同对象的corner的相似度。它们的通道数都为C,C是object的类别数 (不包括background) 。最后的Offsets用于对corner的位置进行修正。
hourglass 结构:
Hourglass先由卷积和池化将feature maps下采样到一个很小的尺度,之后再用nearest neighbor upsampling的方法进行上采样,将feature maps还原到最开始的尺度。不难看出,下采样和上采样是对称的,并且在每个upsampling层都有一个skip connection,skip connection上是一个residual modules。
使用这种沙漏结构的目的是为了反复获取不同尺度下图片所包含的信息。例如一些局部信息,包括脸部和手部信息。沙漏结构可以获取局部信息和全局信息。
1)、Hourglass在下采样时不再进行max-pooling,而是在卷积时通过stride=2进行下采样。
2)、 在每个skip connection,有两个residual modules。
3)、图片进入Hourglass前,进行了2次下采样。
CornerNet 主干网络由多个hourglass组成。
上面两条支路经过33的卷积后,进行corner pooling,相加汇集成1路,随后再进行3x3的卷积和batch normalization;最下面的支路进行11的卷积和batch normalization 后,与上路相加后送入到Relu函数中。随后,再对feature maps进行33的卷积,接着分三路33的卷积+Relu后产生了Heatmaps, Embeddings, Offsets三组feature maps。
参考:https://blog.csdn.net/long630576366/article/details/120279525
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/16417285.html,如有侵权联系删除