如何检测在带有keras NN的照片上没有预定义类别的项目?

2024-06-07 09:47:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试对一组人脸进行人脸识别。为了解决这个问题,我在Keras中使用了一个基本的神经网络。你知道吗

model = Sequential()
model.add(Convolution2D(65, 3, 3, input_shape=(1, 50, 50)))
....
model.add(Dense(persons_cnt, activation='softmax'))
model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

在输入层有一组大小为50x50px的灰度图像,在输出层有像[0 1 0…]这样的向量。你知道吗

当我和培训组的人用照片测试模型时,一切正常。但如果我给model.predict()打电话,拿着一张随机陌生人的照片,我总是会得到一个决定,那就是有一个人来自训练设置。用于例如,对于两个人,我总是得到答案[1, 0][0, 1],而没有办法得到答案[0, 0]或至少[0.5, 0.5](最后一个有时可能吗?)。你知道吗

我还尝试将陌生人添加到训练集中,并为他们分配新的类别(他们的训练输出是[0, 0, 1])。但在这种情况下,我的神经网络无法计算出适合年龄的权重。你知道吗

那么,有没有办法从预先设定的集合中认出一个人而忽略其他人呢?你知道吗


Tags: 答案addinputmodel神经网络照片kerasdense

热门问题