目标检测中常见的网络结构
FCN 网络
Fully Convolutional Networks for Semantic Segmentation,深度学习在图像分割的代表作,FCN中所有层都是卷积层,故称全卷积网络。
https://zhuanlan.zhihu.com/p/31428783
CNN语义分割基本套路
- 降采样,上采样,裁减。convlution + deconvlution/ resize
- 多尺度特征融合:特征点逐点相加/特征channel维度拼接
- 获得像素级别的segement map 对每一个像素点进行类别判断。
FPN 网络
https://zhuanlan.zhihu.com/p/92005927
具有侧向连接(lateral connections)的网络结构,构建不同尺寸具有高级语义信息的特征图。
融合低分辨率具有较强语义信息的特征图、高分辨率语义信息较弱,但空间信息丰富的特征图。
RPN网络
https://zhuanlan.zhihu.com/p/31426458
Faster RCNN使用RPN网络生成检测框,能极大提升检测框的生成速度。
anchor定义, 特征图上的每个点,对应原图像上的一块区域。
定义anchor $A = (A_x, A_y, A_w, A_h)$,$GT = (G_x, G_y, G_w, G_h)$,寻找一种变换$F(A) = G$,该变换为平移与缩放
$$
G_x = x_a + w_a * d_x \
G_y = y_a + h_a * d_y \
G_w = w_a * e^{d_w} \
G_h = h_a * e^{d_h}
$$
当A与GT相差较小时,认为该变换参数是可以采用线性回归来建模$d_* = W^T * \phi$,其中$\phi$是特征图输出的特征向量
positive anchor与ground truth变换之间的平移量$t_x, t_y$,尺度因子$t_w, t_h$如下:
$$
t_x = (x - x_a) / w_a \
t_y = (y - y_a) / h_a \
t_w = log(w / w_a) \
t_h = log(h / h_a)
$$
对于回归分支,输入的是CNN特征,监督变量是anchor与GT的差距$t_x, t_y, t_w, t_h$,训练损失函数
$$
Loss = \sum_i^N|t_^i - W_^T * \phi(A^i)| + \lambda||W_*||
$$
https://mp.weixin.qq.com/s/IJUMCOBhgXHv7VC1YT4q_g
https://cloud.tencent.com/developer/article/1441555
ResNet
残差学习网络
https://zhuanlan.zhihu.com/p/79378841
z