本文主要是介绍Cross-Modal Alignment,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Cross-Modal Alignment 论文阅读
原文:Zhu Y , Xu Y , Ni B , et al. Enhancing pulmonary nodule detection via cross-modal alignment[C]// Visual Communications & Image Processing. IEEE, 2018.
简介
问题
- 在肺结节检测中,医学影像标注数据稀少。
- 由于成像设备间的差异造成数据间存在差异性。
创新点
本文提出一种跨模态方案,通过模态对齐实现通道聚合检测。
- Cycle-GAN:用于迁移结节形态学特征,即合成结节图像;
- 目标函数:用于评估Cycle-GAN和结节检测的性能;
- 融合方法:用于结节分类。
主要内容
- 通道聚合检测器
- Cycle-GAN
- 结节评估
结节检测
- 将范围为-1400200的HU值图像转换为0255的灰度图;
- 采用HOG在六个方向上提取图像特征;
- 聚合所有特征通道构建结节检测器;
- 根据置信度评估候选结节。
假阳性率偏高。作者使用了两部分数据集,LUNA16数据集和ChestHosp(上海市胸科医院)数据集。两者由于成像设备原因存在数据差异性,严重影响了结节检测的精度。
跨模态对齐
在Cycle-GAN模型中只用于合成结节图像,因此作者认为数据差异性造成的影响可忽略。
- source model A
- target model B
- negative model C
目标函数
-
映射关系:
- G : A → B G: A \to B G:A→B
- G i : B → A G_i: B \to A Gi:B→A
-
辨别器: D A , D B , D D_A, D_B, D DA,DB,D
对抗损失(Adversarial loss)
- L G A N ( G i , D B , A , B ) \mathcal{L}_{GAN}(G_i,D_B, A, B) LGAN(Gi,DB,A,B)
- L G A N ( G i , D A , B , A ) \mathcal{L}_{GAN}(G_i,D_A, B, A) LGAN(Gi,DA,B,A)
D A D_A DA: D A D_A DA输出数据来自A而不是B的概率。
D B D_B DB: D B D_B DB输出数据来自B而不是A的概率。
循环一致性损失(Cycle consistency loss)
Because the mapping is highly under-constrained, a network can map the same set of source images to any permutation of images in the target modal.
为了减少映射空间,引入循环一致性(Cycle-Consistency)。
L c y c ( G , G i ) = E a ∼ A [ ∥ G i ( G ( a ) ) − a ∥ 1 ] + E b ∼ B [ ∥ G ( G i ( b ) ) − b ∥ 1 ] \mathcal{L}_{cyc}(G, G_i) =\mathbb{E}_{a \sim A}\left[\|G_i(G(a))-a\|_{1}\right] +\mathbb{E}_{b \sim B}\left[\|G(G_i(b))-b\|_{1}\right] Lcyc(G,Gi)=Ea∼A[∥Gi(G(a))−a∥1]+Eb∼B[∥G(Gi(b))−b∥1]
其中, ∥ ⋅ ∥ 1 \|\cdot\|_1 ∥⋅∥1表示 L 1 L1 L1正则。
辅助损失(Auxiliary loss)
- G的输出结果可能偏离理论数据的分布;
- G的输出结果中的非结节数据难以与结节数据区分。
以上两点易将结节图像迁移至数据集C,因此引入一个辅助辨别器D,用于区分数据属于B还是C。
L aux ( G , D ) = E b ∼ B [ log ( 1 − D ( b ) ) ] + E c ∼ C [ log D ( c ) ] + λ 1 E a ∼ A [ log ( 1 − D ( G ( a ) ) ) ] \begin{aligned} \mathcal{L}_{\text {aux}}(G, D) =\mathbb{E}_{b \sim B}[\log (1-D(b))]+\mathbb{E}_{c \sim C}[\log D(c)] +\lambda_{1} \mathbb{E}_{a \sim A}[\log (1-D(G(a)))] \end{aligned} Laux(G,D)=Eb∼B[log(1−D(b))]+Ec∼C[logD(c)]+λ1Ea∼A[log(1−D(G(a)))]
总损失
G ∗ , D ∗ = arg min G , G i , D max D A , D B L ( G , G i , D , D A , D B ) = arg min G , G i , D max D A , D B [ L G A N ( G , D B , A , B ) + L G A N ( G i , D A , B , A ) + L a u x ( G , D ) + λ 2 L c y c ( G , G i ) ] \begin{aligned} G^{*}, D^{*}&=\arg \min _{G, G_i, D} \max _{D_{A}, D_{B}} \mathcal{L}\left(G, G_i, D, D_{A}, D_{B}\right) \\ &=\arg \min _{G, G_i, D} \max _{D_{A}, D_{B}} [\mathcal{L}_{GAN}\left(G, D_{B}, A, B\right) +\mathcal{L}_{GAN}\left(G_i, D_{A}, B, A\right) +\mathcal{L}_{aux}(G, D)+\lambda_{2} \mathcal{L}_{cyc}(G, G_i)] \end{aligned} G∗,D∗=argG,Gi,DminDA,DBmaxL(G,Gi,D,DA,DB)=argG,Gi,DminDA,DBmax[LGAN(G,DB,A,B)+LGAN(Gi,DA,B,A)+Laux(G,D)+λ2Lcyc(G,Gi)]
融合阶段
降低假阳性率,重用辅助辨别器D用于评估候选结节。
- single vote: D的输出概率
- weight vote: s = s 2 ⋅ e x p ( s 1 ) s=s_2 \cdot exp(s_1) s=s2⋅exp(s1),其中 s 2 s_2 s2为原始得分
- bias vote: s = s 2 + λ ⋅ e x p ( s 1 ) s=s_2 + \lambda \cdot exp(s_1) s=s2+λ⋅exp(s1)
这篇关于Cross-Modal Alignment的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!