2001年viola和jones发表的论文《Robust Real Time Object Detection》是人脸检测的一个里程碑,用该方法识别图片或者视频中的人脸有比较高的检测率,不过人脸的姿势(非正脸),光照等其他因素的影响还是比较严重的影响到了检测率。
下面我讲我浅薄的理解写下来,如果有误,还请大家指正:
详细的细节可以参考下面的几篇文章: 《Robust Real Time Object Detection》 《Rapid Object Detection using a Boosted Cascade of Simple Features》 《基于 AdaBoost 算法的人脸检测》
计算出海量的矩形特征后,如何区分出哪些矩形特征才是对分类器有效? 对一个特征而言,是否有效,要看对所有样本而言(正样本和负样本),该特征值能否有明显的区分度,能够以较大的概率区分出样本中的正样本或负样本。
MATLAB2012b以上的版本和opencv都集成了Haar-like人脸检测相关的函数,下面简单展示下用opencv-Python调用函数的实现:
# get frame from Video import cv2 imagePath1 = "222.jpg" im = cv2.cv.LoadImage(imagePath1) thumb = cv2.cv.CreateImage((im.width / 2, im.height / 2), 8, 3) cv2.cv.Resize(im, thumb) cv2.cv.SaveImage("222_1.jpg", thumb) imagePath = "222_1.jpg" faceCascade = cv2.CascadeClassifier("./haarcascade_frontalface_alt2.xml") image = cv2.imread(imagePath) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale( gray, scaleFactor=1.15, minNeighbors=5, minSize=(5, 5), flags=cv2.cv.CV_HAAR_SCALE_IMAGE ) print "Found faces!".format(len(faces)) for(x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow("Faces found", image) cv2.waitKey(0)
杨总监新作,人脸认识一定要顶一下
@admin

@gegey 你这是不是开通邮箱提醒了,我这边回复你秒回
擦,打错字了,人脸识别
@admin 哥是不是很帅!
@gegey
21新世纪帅锅
@admin 还要请村长继续带路啊!
@gegey python你现在用的很666了
站点公告
如果你对本站的文章有疑问可以邮件给我,点击该站点公告就可以发送邮件
哈哈,此处随缘!
GoogleAD–喜欢的可以点一点!
选择表情
打赏
请使用支付宝扫一扫
请使用微信扫一扫
分享至