如何解决OpenCV中的“增量”面部训练
我一直在OpenCV中进行一些面部检测。我已经完成了几个项目-一个使用预制模型进行人脸检测。其他一些人则做不同的事情,在那里我收集自己的图像并训练自己的模型。当我进行后者训练时,通常使用的面部训练数据集要小得多。
在我的面部识别器上-我使用的许多常见面孔 not 都无法正确检测到(由于口罩,帽子,护目镜,眼镜等奇怪的属性)。因此,我想重新训练自己的模型-但是获取巨大的“库存”数据集,然后将图像添加到其中可能会花费很长时间。
所以问题是:是否有一种方法可以从一个现有的模型(XML文件)开始,并以一种将添加我的图像到它吗?
解决方法
这称为“迁移学习”。 Tenserflow (Keras) 对此有很多支持。它基本上包括采用具有预先存在的权重的预先存在的模型,“冻结”某些层的权重,在现有层中或下方添加新层,然后仅重新训练未冻结的层。
它不能用来轻易地“继续”学习,但可以用来在训练中添加额外的东西 - 对于更新的方面(比如可能,将蒙面人添加到已经训练好的未蒙面人模型中,如我原来的问题)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。