目标检测算法-PVANet
网络结构:
实现细节:
(1)引入改进的CReLU
(2)使用Inception
(3)使用Hyper特征
(4)引入残差连接训练更深的网络
引入CReLU
余弦相似度:
余弦相似度的取值范围是[-1,1],距离越接近-1表示两个向量的方向越相反,即呈负相关关系。
Pair filter:
一个卷积层有j=1,...,n个卷积核,一个卷积核φi,对应的pairing filter定义为φ'=argminφjcos<φi,φj>即从所有的卷积核中选择一个cos相似度最小的卷积核。对所有卷积核寻找其pair filter.
根据上图可以发现,网络前面的部分,参数的分布有更强负相关性(类似于正负对立),随着网络变深,这种负相关性逐步减弱。所以网络前面的部分,网络倾向于同时捕获正负相位的信息,但ReLU会抹掉负响应,这就造成了卷积核存在冗余,所以引入了CReLU。
CReLU(x) = Concat[ReLU(x),ReLu(-x)], CReLU的输入是features = [features,-features],所以输出事输入的feature map 的数量的2倍。
在PVANet中引入CReLU,是因为低层的卷积层中的一些滤波器核存在着负相关程度很高的滤波器核特性,直接减少一半输出通道数的数量,通过简单的连接相同的输出核negation使其变成双倍。即达到原来输出的数量。与原始的CReLU相比,增加了scaling and shifting(缩放和移动),在concatention之后,允许每个channel的斜率和激活阈值与其相反的channel不同。注:为了不增加额外的计算量,在ReLU中特征图减半,再用CReLU,这样特征图就跟之前ReLU一样了,这样可以减少计算量,因为只使用了一般的卷积操作。对于Scale层,其具体操作为 ,其中x为输入数据,y为输出数据.
使用Inception
引入Inception结构可以同时捕获大目标和小目标,为了捕获图像中的大目标,需要足够大的感受野,这个可以通过堆叠3×3的滤波器来达到,但是为了捕获小目标,则需要小一点的感受野,1×1的卷积核正好合适,还可以避免大卷积核造成的参数冗余的问题。
使用了Hypter特征
在Inception模块中加入了残差连接训练更深的网络