CenterNet做2D和3D目标检测
CenterNet是全卷积的神经网络,不需要额外的NMS的后处理,属于one-stage的检测方法。
1、2D目标检测
通过预测目标的中心点keypoint、由于下采样带来的中心点的偏移offset及尺寸size来获取目标的bounding box。
(1)keypoint:
- 输出的为二值heatmap, 1为keypoint,0为background。对于detection,C为类别数。R为下采样率。文中R=4。
对每个ground-truth keypoint 首先计算一个低分辨率的, 又作用在Gaussian核
如果同一类别的高斯核有重叠,选取原则是element-wise maximum。又称为peaks。 - Loss
Focal Loss
(2)offset:
- 由于多次下采样带来的目标中心的偏移,
- L1 Loss
(3)size:
- 预测目标的width和height。 ,这里用的就是原始的坐标,没有进行归一化。
- L1 Loss
(4)Bounding Box的计算
x,y为keypoint的预测值,w,h为size,offset(x)和offset(y)为偏移预测。
对于keypoint,文中选取的原则是大于等于与该peaks相连的8个neighbor中的前100个。实现方法为3x3的max pooling。
2、3D目标检测
(1)depth:
- depth直接计算有困难,因此.
- L1 Loss
(2)3D dimension
- L1 Loss
(3)orientation
- 用一个标量来回归比较困难。所以选取用8个标量。即,一共分了两部分方向角,一个是,另一个是,每个方向角用4个标量来表示。其中2个标量用softmax做分类,另外两个做角度回归。
- L1 Loss
3、Human Pose部分,待补充
4、Network
(1)Backbone
detection、pose都用同一个backbone来提取特征。文中选取的Backbone有ResNet18、ResNet101、DLA34、Hourglass104。
其中ResNet18和DLA34采用来DCN(deformable convolution,可形变卷积),把每个上采样层的3x3的卷积用DCN来替换。
- ResNet:用了3个上采样来提高输出的分辨率,三个上采样层的输出通道分别为256,128,64,在每个上采样之前加了一个3x3的DCN。上采样的卷积核初始化为bilinear interpolation。
- DLA34:skip connection用DCN代替。同样,每个上采样层用3x3的DCN。
(2)Head
在backbone后,接3x3conv-Relu-1x1conv得到网络的输出。
其中3x3conv的channel,对于DLA34是256。
5、Training
- input:512x512
- output:128x128
- data augmentation:random flip and random scaling(from 0.6 to 1.3),cropping and color jitter。(对3D检测不用data augumentation)
- optimizer:Adam
- ResNet18/DLA34:batch_size=128,8 GPU, lr=5e-4,120epochs,learning rate dropped 10× at 90 and 120 epochs,