如何让CNN学习位置约束?

Posted

技术标签:

【中文标题】如何让CNN学习位置约束?【英文标题】:How to make CNN learn positional constraints? 【发布时间】:2019-09-28 07:04:37 【问题描述】:

我正在使用全连接 CNN 研究医学领域的图像分割问题。

问题在于,对于特定的图像,它可能有很多相似的结构。我们的任务是找到正确的。我想让 CNN 学习的一件事是,不应该有一个结构低于另一个首先在顶部找到的结构。在地面实况图像中,它被隐式显示,因为每张图像中只有一个结构。用CNN可以实现吗?如果没有,可以做些什么来实现它?

【问题讨论】:

【参考方案1】:

使用传统的 CNN,无法学习位置约束,因为学习都发生在空间不变的卷积层中。对此的一个警告是,CNN 在一定程度上学习特征的相对排列(如果特征 A 始终高于特征 B,则属于 A 的像素的成功分类将隐含地降低高于特征的像素的可能性被归类为 B,至少对于“足够接近”的像素,因为边界区域将与 CNN 的训练对象相反)。如果您认为这还不够,则需要设计一个以某种方式考虑位置的自定义层(尽管如果每个地面实况图像中只有一个结构,我不确定您的数据是否足以教授有关多个对象(超出上述警告)或仅使用基于您对这些位置约束的专业知识设计的非学习算法对 CNN 输出进行后处理。作为一名医学计算机视觉工程师,我会推荐后者,尤其是因为听起来您正在处理一个硬性的无例外规则(为什么还要尝试学习一个已经很简单的规则?)。

【讨论】:

以上是关于如何让CNN学习位置约束?的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第五百零四回:如何调整组件在约束布局中的位置)

CNN输出维度的计算

卷积神经网络CNN

如何更改集合视图锡约束中单元格的位置?

y 位置、高度需要约束 - 自动布局故事板

Swift:锁定按钮位置,因为它正在被 UITextview 移动?约束问题?