NN 模型架构每像素分类

NN Model Architecture Per-Pixel Classification

我熟悉 (C)NN 通常如何处理 class化问题(2d 图像 -> 1 class),但我不知道如何构建网络这将采用二维图像并输出 class化值的二维矩阵。

实际上,我有一组 NxN 图像(1 个通道),我想在 "per-pixel" 的基础上 class 进行验证。我希望输出是一组 NxN 的 classes,这样对于位置 (a,b) 的像素,结果将是 class 中像素 (a,b) 的化结果输入图像。

模型架构有帮助吗?

P.S。我听说过基于补丁的方法可以做到这一点,但我想在没有 "patching".

的情况下将整个 NxN 图像馈送到网络中

谢谢! 乔

总的来说,这个任务没有什么特别的。 DNN 可以同时执行多个 class 化或回归任务。由于权重是共享的,因此您可以确保在每个像素的 class 化过程中,一个像素与所有其他像素之间存在一些 link。

长话短说,解决这个问题的可能算法:

1) 确保你有一个训练集,其中作为输入你有 NxN 图像,作为输出你有目标 class 标签的 NxN 矩阵(每个像素的 class 标签)

2) 使用通常用于图像 classification 的架构构建一些 DNN。就像几个带最大池的卷积层,然后是 2-3 个完全连接的 ReLU 层。

3) 确保您的输出层大小为 NxN,并且不是 softmax 层(再次使用 ReLU)

4) 训练它!

这应该可以正常工作。我还可以向您保证,从 DNN 获得多个半独立输出的情况并不少见。例如here使用同一个网络同时定位所有面部关键点(眼睛、嘴巴、鼻子等)。