【发布时间】:2020-10-15 22:30:34
【问题描述】:
我正在训练一个 U-Net 架构来执行分割任务。这是在 Python 中使用 Keras。我现在遇到了一个问题,我正在努力理解:
我有两张来自显微镜图像系列的非常相似的图像(这些是连续图像),其中我当前的 U-Net 模型在一张上表现非常好,但在紧随其后的一张上表现极差。但是,两者在眼睛上几乎没有区别,直方图看起来也非常相似。此外,在其他测量中,该模型在整个帧范围内的表现都很好,但随后在其他测量中会出现此问题。
我在训练期间使用数据增强(直方图拉伸、仿射变换、噪声添加),我很惊讶模型仍然如此脆弱。
由于 U-Net 对我来说主要还是一个黑盒,我想找出可以采取的步骤来更好地理解问题,然后相应地调整训练/模型。
我知道有一些方法可以可视化各个层的学习内容(例如,正如 F. Chollets book see here 所讨论的那样),我应该能够将这些应用于完全卷积的 U-Net。
然而,这些方法实际上总是在网络分类领域进行讨论,而不是语义分割。
所以我的问题是:
这是了解 U-Net 模型如何获得分割结果的最佳/最直接的方法吗?如果没有,有什么更好的方式来理解/调试 U-Net?
【问题讨论】:
标签: python tensorflow computer-vision conv-neural-network semantic-segmentation