二进制掩码分类的最佳输出激活功能

时间:2018-07-06 01:30:14

标签: machine-learning keras computer-vision artificial-intelligence

我有一个CNN,可以输入卫星图像,并且应该在发现汽车的地方输出一个遮罩。我已经手动标记了图像,并为每个图像创建了遮罩,如果该像素中有汽车的一部分,则每个像素为1,否则为0。

我正在尝试制定出最佳的输出层激活功能和损失功能,我正在寻求意见。我知道那里有很多信息,但是我发现自己对问题是回归还是分类感到困惑。

有人可以提出他们的意见吗?我目前在keras中使用以下输出和损失:

conv10 = Conv2D(1, 1, activation='sigmoid')(conv9)

model = Model(inputs=[inputs], outputs=[conv10])

model.compile(optimizer=Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy'])

这是个好主意吗?谢谢!

1 个答案:

答案 0 :(得分:2)

从我的角度来看,这似乎是个好主意,因为您想为P(px is part of a car | image)中的每个像素px输出概率image。因此,这是一个二进制分类问题,使用binary_crossentropy损失函数(在输出层中加上S型激活)是合适的。