集成以上3阶段的程序过程设计,编写出完整的人脸检测Python程序,写入OpenAIE控制板中,在运行程序的过程中解决可能存在的编程错误。程序准确运行的情况如图8.5所示,右上区域显示出了摄像头捕捉到的视频图像,其中叠加显示了实时检测出的人脸区域。
#人脸识别例程
#在实时采集的图像帧上使用Haar Cascade级联模型来进行人脸检测工作。Haar级联模型对图像区域进行遍历,查找人脸。编程中采用正面人脸模型,启用25阶搜索流程。
#每帧图像的处理需要占用内存空间。人脸检测算法使用灰度图像可以减少对存储的需求。
#加载Haar Cascade分类器。默认使用所有级联数,采用的级数越低,运算速度会越快,但检测准确度则会降低。
face_cascade=image.Haar Cascade("frontalface",stages=25)
#方法image.Haar Cascade(path,stages=Auto)用来加载一个haar模型;
# haar模型是二进制文件,如果是自定义的,则引号内为模型文件的路径;
#也可以使用内置的haar模型,比如“frontalface”人脸模型或者“eye”人眼模型;
#stages值未传入时使用默认的stages。stages值设置的小一些可以加速匹配,但会降低准确率。(www.xing528.com)
print(face_cascade)
#搜索脸部对象。选用较低的比例因子scale,会降低图像搜索速度,但可以检测出更小的对象;
#选用较高的比例因子,运行速度更快,但其图像匹配相应较差。理想值介于1.35与1.5之间。
#选用较高的threshold值会提高检测速率,但是会增加误报率;
#总之,thresholds越大,匹配的速度越快,错误率也会上升。Scale用来缩放被匹配特征的大小。
图8.5 人脸检测程序的运行情况
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。