整体结构
FSN的整体结构:前面是AlexNet的结构,将AlexNetd的两个全连接层换为卷积层conv6,conv7,并进行GAP操作,最后接入A个全连接层进行attribute的分类。使用attribute cls的loss进行训练,使得网络能够利用AAM产生不需要监督信息的ROI,使用ROI提取对应的conv5输出的特征图,并送入相应的全连接层组成的分支,共有A个,对应A个可能的attribute。最后A个分支生成的A*1024维度的输出通过最后一个全连接层进行组合。
AAM:Attribute activation map:
对于特征图做GAP的公式为:
x
(
k
)
=
∑
i
,
j
c
o
n
v
7
k
(
i
,
j
)
x(k)=\sum_{i,j}conv7_k(i,j)
x(k)=i,j∑conv7k(i,j)即对第k个特征图在所有元素上求和,如果共有K个特征图则生成了K维的向量,将K个向量送入A个全连接层用于attribute的分类预测,有
L
c
=
−
∑
I
=
1
N
∑
a
=
1
A
l
o
g
(
p
(
g
I
a
∣
x
I
w
a
)
)
L_c=-\sum^N_{I=1}\sum^A_{a=1}log(p(g_{I_a}|x_Iw_a))
Lc=−I=1∑Na=1∑Alog(p(gIa∣xIwa))其中
g
I
a
g_{I_a}
gIa是第a个attribute的Ground truth,
x
I
w
a
x_Iw_a
xIwa是全连接层输出的结果,由此可以定义属性对应的特征激活图:
M
a
c
(
i
,
j
)
=
∑
k
w
a
c
o
n
v
7
k
(
i
,
j
)
Ma_c(i,j)=\sum_kw_aconv7_k(i,j)
Mac(i,j)=k∑waconv7k(i,j)其中
w
a
w_a
wa是与属性a对应的全连接层的权重,维度为k,即对每个属性a中的类别
c
i
c_i
ci都可以生成对应的特征激活图。在特征激活图中像素值高于最大值20%的被分割出来并用于bbox。
Ranking with triplet of regions
作者用上面的图展示了ROI的好处:在领子的属性上Anchor更接近于pos,但如果直接将整张图片送入网络,由于颜色的相似,很有可能会认为neg更接近于anchor,加入ROI后,去掉了不相关的袖子等,会使得网络能够更好的分辨不同的领口特征。
作者采用了改进后的Triplet loss,使用的是与softmax相似的思路:
d
+
(
h
(
I
)
^
,
h
(
I
+
)
,
h
(
I
−
)
)
=
e
x
p
(
d
(
h
(
I
^
)
−
h
(
I
+
)
)
e
x
p
(
d
(
h
(
I
^
)
−
h
(
I
+
)
)
+
e
x
p
(
d
(
h
(
I
^
)
−
h
(
I
−
)
)
d^+(h(I\hat),h(I^+),h(I^-))=\frac{exp(d(h(\hat I)-h(I^+))}{exp(d(h(\hat I)-h(I^+))+exp(d(h(\hat I)-h(I^-))}
d+(h(I)^,h(I+),h(I−))=exp(d(h(I^)−h(I+))+exp(d(h(I^)−h(I−))exp(d(h(I^)−h(I+))
L
T
=
∑
I
=
I
N
∑
a
=
1
A
d
+
(
f
c
10
(
I
)
^
,
f
c
10
(
I
+
)
,
f
c
10
(
I
−
)
L_T = \sum_{I=I}^{N}\sum_{a=1}^{A}d^+(fc_{10}(I\hat),fc_{10}(I^+),fc_{10}(I^-)
LT=I=I∑Na=1∑Ad+(fc10(I)^,fc10(I+),fc10(I−)
Attribute manipulation
有了如上的结构,进行attribute manipulation就非常直接了:在训练过程中将有相同attribute value的图片提取特征并取平均,在进行am的时候直接将不需要的特征进行替换(与AMNet的思路相同)
Learning Global representation
经过 f c 10 fc_{10} fc10后可以得到对应每个属性的1024D特征,为了减少最终输出的尺度,使用F进行压缩 F ( I , a ∗ ) = [ f c 1 0 1 ( I ) λ 1 , a ∗ , . . . . . f c 1 0 A ( I ) λ a , a ∗ ] w a ∗ F(I,a^*)=[fc_{10_1}(I)\lambda_{1,a^*},.....fc_{10_A}(I)\lambda_{a,a^*}]w_{a^*} F(I,a∗)=[fc101(I)λ1,a∗,.....fc10A(I)λa,a∗]wa∗由此得到全局的ranking loss: L G = ∑ I = 1 n ∑ a ∗ = 1 A + 1 d + ( F ( I ^ , a ∗ ) , F ( I + , a ∗ ) , F ( I − , a ∗ ) L_G=\sum_{I=1}^n\sum_{a^*=1}^{A+1}d^+(F(\hat I,a^*),F(I^+,a^*),F(I^-,a^*) LG=I=1∑na∗=1∑A+1d+(F(I^,a∗),F(I+,a∗),F(I−,a∗)其中 I ^ \hat I I^与 I + I^+ I+的关系是在经过 a ∗ a^* a∗的操作后有相同的attribute。
FashionSearchNet with region awareness
作者提出了局部属性的变更,即对于某个特定的属性,可以定义其所属的特定区域,然后对区域的颜色等属性进行变更。
result