Center Net论文笔记
改变了基于anchor检测的主流设计方式,借鉴corner net的思想,使用关键点检测来处理detection问题。
corner net检测框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnlyhUGn-1576748118674)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191219165526197.png)]
heatmaps+embeddings+offsets,heatmaps 用于生成所有类别目标的位置图,每一个feature map表示一类目标。embeddings表征了每一个位置的特征向量,用于衡量两个目标点的匹配程度(a pair)。offsets表征了位置点的偏移量,用于对目标的corner位置进行精修,来弥补输出feature map和输入图像misalign带来的影响。
center net检测框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdOt0L3h-1576748118675)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191219165901398.png)]
主网络使用的是两层的hourglass网络,后续采用了cascade corner pooling 和center pooling。
第一个分支和corner net的作用类似,通过一对对角点来确定目标,并框处目标所在位置,从图中可以看出,其作用是为了找到目标所在框;第二个分支是中心池化分支,用于找到目标的关键中心(并非几何中心)位置。通过两种方式的结合,是的最后的输出能够正确的识别目标。
预测流程
步骤1: 使用与cornernet相同的方法,生成top-k个bounding boxes;
步骤2: 根据打分值的大小,选择top-k个center keypoints;
步骤3: 使用offset值将center keypoints映射到input image上;
步骤4: 对于每一个bounding box,定义一个central region,并判断是否该central region包含了center keypoint;
步骤5: 如果该central region包含了center keypoint,并且bounding box的预测类别标签和对应的center keypoint相同,则保留当前bounding box;
步骤6: bounding box的打分,用对应的"key point triplets"打分平均值来表示。
center region定义:当bounding box尺寸小于150时,n=3,当大于等于150时,n=5
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztyLyxwV-1576748118679)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191219171418374.png)]
采用三点检测主要解决的问题,左边是corner net出现检测问题,右边是center net的结果。只有正确的bbox的center region中才有center keypoint。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9sOQr0iI-1576748118687)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191219171516837.png)]
中…(img-9sOQr0iI-1576748118687)]