在这里我说我已经尝试了许多tutorials来通过在face模块中使用FaceRecognizer类在OpenCV 3.2中实现面部识别。但我没有按照自己的意愿得到公认的结果。
在这里,我想问一下,我想知道,在培训和识别过程中,最好的方法是什么或者需要注意的条件是什么?
我为提高准确度所做的工作:
问题:
(int num_components, double threshold)
答案 0 :(得分:2)
扩展我的评论,掌握OpenCV的第8章为预处理面孔提供了非常有用的提示,以帮助识别过程,例如:
几何变换和裁剪:此过程包括缩放,旋转和平移图像,使眼睛对齐,然后从脸部图像中去除前额,下巴,耳朵和背景。
左右两侧的直方图均衡:此过程独立地标准化脸部左侧和右侧的亮度和对比度。
平滑:此过程使用双边滤镜降低图像噪点。
椭圆蒙版:椭圆蒙版从脸部图像中删除一些剩余的头发和背景。
我添加了一个hacky加载/保存到my fork of the example code,随意尝试/根据需要调整它。目前它非常有限,但它是一个开始。
此外,您还应该检查OpenFace and it's DNN face recognizer。 我还没玩过,所以不能提供细节,但看起来很酷。