前作:Regressing Heatmaps for Multiple Landmark Localization Using CNNs
代码:https://github.com/christianpayer/MedicalDataAugmentationTool-HeatmapRegression
tf的看着挺难受的
模型
其实基本思想和前作类似,局部空间信息
局部
前作的局部是3个卷积,这里改成了类似UNet的结构
局部模型有4层,需要每一层有3个卷积,在第二个卷积之后会接一个池化给下一层
3个卷积之后,会上采样,然后和上一层的结果相加,然后再上采样,再和上一层相加
最后会有一个
1
×
1
1\times 1
1×1的卷积,调整通道
Spatial Configuration
从局部下采样过来
经过3个
11
×
11
11\times 11
11×11的卷积,最后上采样得到结果
前作这里是每个landmark分别卷积,最后相加,这里就直接卷积了
损失
与很多heatmap方法不同的是,作者的高斯分布的标准差
σ
\sigma
σ是一个可以学习的参数
min
w
,
b
,
σ
∑
i
=
1
N
∑
x
∥
h
i
(
x
;
w
,
b
)
−
g
i
(
x
;
σ
i
)
∥
2
2
+
α
∥
σ
∥
2
2
+
λ
∥
w
∥
2
2
\min _{\mathbf{w}, \mathbf{b}, \mathbf{\sigma}} \sum_{i=1}^N \sum_{\mathbf{x}}\left\|h_i(\mathbf{x} ; \mathbf{w}, \mathbf{b})-g_i\left(\mathbf{x} ; \sigma_i\right)\right\|_2^2+\alpha\|\boldsymbol{\sigma}\|_2^2+\lambda\|\mathbf{w}\|_2^2
w,b,σmini=1∑Nx∑∥hi(x;w,b)−gi(x;σi)∥22+α∥σ∥22+λ∥w∥22
∥ σ ∥ 2 2 \|\boldsymbol{\sigma}\|_2^2 ∥σ∥22可以防止 σ → ∞ \mathbf{\sigma} \to \infty σ→∞时 g → 0 g\to 0 g→0
优化目标里,第一项会让 σ \mathbf{\sigma} σ越来越大(其实我也没看出来为啥),第二项会让 σ \mathbf{\sigma} σ越来越小