python - 如何在 CNN 中为 AI 考勤添加新类别

标签 python keras neural-network artificial-intelligence conv-neural-network

我正在和团队一起做这个项目,我们决定在“人工智能自动考勤系统”上做这个项目

我学会了使用 CNN 对物体进行分类,例如狗和猫。 有了这些知识,我们决定制作基于 CNN 的考勤系统。 (如果你发现这里有问题,请告诉我我们是否不应该走这条路或技术......)

但继续使用 CNN,假设我们已经用 2 个学生训练了模型,并且在最后一层我们放置了两个神经元,因为它们只是两个,对吧......?

现在第三个来了,现在要将他的脸训练到神经网络,我必须改变模型的结构并重新训练每张脸......

如果我们将该项目应用到大型学院,那里有数百名学生,如果我们想为每个学生训练模型,那么这不是重新创建模型的可行解决方案。

所以我们想,我们会将模型的输出层大小固定为 50。 因此每个模型只能训练 50 张面孔。

但并不总是有 50 个。 他们可能 40 岁,或者如果一个人没有被录取,那么 41 岁。

那么如何使用现有权重重新训练网络? (在我知道的地方有人问过同样的问题,但请告诉我我的情况)

Or is there any other technology to use... ?

请指导我...

最佳答案

你不需要分类。分类并不是解决所有问题的办法。

你应该看看这些:

  1. 余弦相似度
  2. 连体网络

您可以使用来自 FaceNet 或 OpenCV 的现有模型。 由于它们已经在庞大的人脸数据集上进行了训练,因此您可以轻松提取特征向量。

存储每个新学生的特征向量。 然后根据距离或相似度分数标记出勤率计算相似度(现有图像,当前图像)。

这是一种可扩展且速度更快的方法。无需培训或再培训。

关于python - 如何在 CNN 中为 AI 考勤添加新类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59250070/

相关文章:

python - Python 中的一个奇怪事件

python - 尝试存储神经网络时获取 'can' t pickle _thread.RLock 对象

python - 神经网络反向传播不训练

python - CNN 凯拉斯 : How many weights will be trained?

python - 使用 MLP 的神经网络分类器

python - 无法打开 prototxt

python - 符号分隔函数会覆盖传入的列表而不是返回新的列表

python - pyInstaller 可执行文件在 Ubuntu 12.04 Precise 上缺少模块 "_struct"

python - 为什么在 ConvLSTM 中设置 return_sequence = False 时会出现错误?

python - Keras 预测中缺少类标签