人脸识别:每个人的所有图像是否必须相同?
FaceRecognition: Does all the images per person must be the same count?
我想知道,在 Eigen/Fisher/LBPH FaceRecognizer 中训练人脸时,每个人拥有相同数量的图像(例如:10 image/person)是否重要?或者它可以是不同的计数(person1:10 张图片,person2:20 张图片,...)
对于 Eigen/Fisherfaces,最安全的答案是必须平衡每个 class 的数据集量。虽然只缺少 class 的一些图像可能没问题,但 class 的图像比所有其他图像多一个数量级肯定会导致问题。我猜每个任务的可容忍失衡都是个别的。
归根结底,上述每种算法都会从训练数据集中寻找最近的邻居来查询图像。 Eigen/Fisherfaces 在整个给定数据集上进行训练,计算数据集图像变化最大的向量。过多或不足 class 会导致模型失衡,无法充分发挥作用。
相反,LBPH 并未在整个数据集上进行训练。它独立地分析数据集中的每个图像,并将查询图像分别与每个图像进行比较。因此,数据集的全面性和代表性在这里比图像数量更重要。
OpenCV 有 an intro to inner workings 个这些算法。
我想知道,在 Eigen/Fisher/LBPH FaceRecognizer 中训练人脸时,每个人拥有相同数量的图像(例如:10 image/person)是否重要?或者它可以是不同的计数(person1:10 张图片,person2:20 张图片,...)
对于 Eigen/Fisherfaces,最安全的答案是必须平衡每个 class 的数据集量。虽然只缺少 class 的一些图像可能没问题,但 class 的图像比所有其他图像多一个数量级肯定会导致问题。我猜每个任务的可容忍失衡都是个别的。
归根结底,上述每种算法都会从训练数据集中寻找最近的邻居来查询图像。 Eigen/Fisherfaces 在整个给定数据集上进行训练,计算数据集图像变化最大的向量。过多或不足 class 会导致模型失衡,无法充分发挥作用。
相反,LBPH 并未在整个数据集上进行训练。它独立地分析数据集中的每个图像,并将查询图像分别与每个图像进行比较。因此,数据集的全面性和代表性在这里比图像数量更重要。
OpenCV 有 an intro to inner workings 个这些算法。