sold2算法中的特征点检测对应了junction_decoder部分

input的image经过作为backbone的Hourglass net之后,会过一个junction_decoder的小网络,
网络结构如下
conv3x3, s=2, p=1
conv1x1
input image size = [1, C, H, W]
junction_decoder output size = [1, 65, H/8, W/8]
这个65是什么意思呢,1~64表示的是8x8 patch内有特征点的位置标1,其余是0
最后一个65是一个flag,表示这片patch里面有没有特征点

现在知道了检测出来的特征点输出size是[1, 65, H/8, W/8],
那要怎么知道特征点在原image中的位置呢。
这个时候要用到上采样,同时还能改变channel的PixelShuffel了(具体原理见链接)。
对应的源码如下
本文详细介绍了SOLD2算法中特征点检测的过程,包括Hourglass net作为backbone后的junction_decoder小网络结构,如何通过PixelShuffle上采样确定特征点在原图的位置,以及采用点的Non-Maximum Suppression(NMS)来减少密集特征点,优化计算效率。NMS首先根据阈值筛选特征点,然后按分数排序并消除相邻的点,最后保留前topk个点(如topk=300)。
订阅专栏 解锁全文
2152

被折叠的 条评论
为什么被折叠?



