一、引入
cornernet思想来源于人体姿态评估,与前人研究不同,不使用anchor,而是使用关键点检测(左上角和右下角),是单阶段检测器。
1 创新点(2)
1.1 第一个使用关键点作为检测的方法。
1.2 提出corner pooling layers
因为有的图像的边框角附近的局部信息太少,使用corner pooling layers能更好的定位,文中用c++代码实现,比不用提高2-3个百分点。
提出的思想是:想要确定一个点(i,j)是否为角点,从该点出发水平向右看为最大值,垂直向下看为最大值。
2 优点
2.1 使用修改后的Hourglass网络比使用resnet等网络精度更高。
2.2 在AP70及以上效果比之前的模型好,AR比之前的模型好8-12个点,召回率比较好。
3 缺点
3.1 检测效果不太好,是提高精度的瓶颈。
二、网络结构
使用修改后的Hourglass。
文中常用的结构为3x3 conv-bn-relu。
三、损失函数
损失函数分为三个部分:找角、组角、偏置。
3.1 找角:修改后的focal loss。
3.2 组角:类似于三元组损失函数,将同一object的两个角距离减小,不同object的距离增大。损失函数是自己写的函数,距离减小的损失函数为。。。。,距离增大的损失函数为。。。。。
3.3 偏置:因为上采样还原到输入图像的分辨率时,角的位置会损失精度,使用smooth_l1_loss损失函数。