Faster RCNN,为什么conv的结果可以变成bbox_deltas?
Faster RCNN, Why does conv's result can become the bbox_deltas?
我很困惑 rpn_bbox_pred
只是卷积的结果。
而 rpn_bbox_pred
正在变成 bbox_deltas
。
这个我看不懂。
假设我们有一个 (3,2,36)
conv 的结果。
注意:
36 = 4 * 9
所以reshape之后,(3,2)
的每个点都有9个proposal.
如程序所示:
import numpy as np
a = [[[1]*36,[2]*36],[[3]*36,[4]*36],[[5]*36,[6]*36]]
a = np.array(a)
print(a.reshape([-1,4]))
程序中,每(3,2)
个feature map是[[1,2],[3,4],[5,6]]
.
打印结果:
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]]
我很困惑 rpn_bbox_pred
只是卷积的结果。
而 rpn_bbox_pred
正在变成 bbox_deltas
。
这个我看不懂。
假设我们有一个 (3,2,36)
conv 的结果。
注意:
36 = 4 * 9
所以reshape之后,(3,2)
的每个点都有9个proposal.
如程序所示:
import numpy as np
a = [[[1]*36,[2]*36],[[3]*36,[4]*36],[[5]*36,[6]*36]]
a = np.array(a)
print(a.reshape([-1,4]))
程序中,每(3,2)
个feature map是[[1,2],[3,4],[5,6]]
.
打印结果:
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[2 2 2 2]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[3 3 3 3]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[4 4 4 4]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[5 5 5 5]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]
[6 6 6 6]]