丽水专业网站建设价格,怎么介绍做网站技术,wordpress邮件失败,无锡新区网站建设文章内容#xff1a;
1#xff09;人脸检测的5种方法 1. Haar cascade opencv 2. HOG Dlib 3. CNN Dlib 4. SSD 5. MTCNN
一。人脸检测的5种方法实现 1. Haar cascade opencv Haar是专门用来检测边缘特征的。基本流程如下#xff1a; 第1步#xff0c;读取图片
img …文章内容
1人脸检测的5种方法 1. Haar cascade opencv 2. HOG Dlib 3. CNN Dlib 4. SSD 5. MTCNN
一。人脸检测的5种方法实现 1. Haar cascade opencv Haar是专门用来检测边缘特征的。基本流程如下 第1步读取图片
img cv2.imread(./images/faces1.jpg)
第2步将图片转化为灰度图片因为Haar检测器识别的是灰度图片
img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
第3步构造Haar检测器
face_detector cv2.CascadeClassifier(./cascades/haarcascade_frontalface_default.xml)
第4步检测器开始检测人脸
detections face_detector.detectMultiScale(img_gray)
第5步迭代器解析
for(x,y,w,h)in detections:cv2.rectangle(img,(x,y),(xw,yh),(0,255,0),5)
第6步显示
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) 第7步参数调节
-- scaleFactor scaleFactor是用来调节检测人脸大小的范围的举个例子scaleFactor 1表示人脸检测范围从1开始检测人脸离相机远脸小离相机近脸大因此scaleFactor的取值能一定程度上影响识别的精度。 但有时候不论怎么调节scaleFactor都会出现下述情况 此时需要minNeighbor调节人脸框的候选数量 --minNeighbors minNeighbors指每个人脸框最小的候选数量算法为了检测人脸可能会在一个人物照片的多个地方去检测人脸最后会识别出多个地方可能都是人脸这时minNeighbors会对这些识别结果进行排序取出最可能是人脸的地方试想一下如果所有的方框都集中在某一个区域那么是不是代表这个区域内是人脸的可能性更高当然是这样这个方框集中在某一个区域的数量就叫做人脸框的候选数量用minNeighbors表示显然minNeighbors较大比较好太大了会出现漏检。 --minSize minSize表示最小人脸尺寸maxSize表示最大人脸尺寸这两个参数都是用来控制人脸大小的如
detections face_detector.detectMultiScale(img_gray,scaleFactor 1.2,minNeighbors 7,minSize(1,1))
2. HOG Dlib
第1步读取图片
img cv2.imread(./images/faces2.jpg)
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
第2步构造HOG检测器需要安装Dlib包(conda install -c conda-forge dlib)
import dlib
hog_face_detector dlib.get_frontal_face_detector()
第3步检测人脸
detections hog_face_detector(img,1)#指的是scaleFactor1
第4步解析
for face in detections:x face.left()y face.top()r face.right()b face.bottom()cv2.rectangle(img,(x,y),(r,b),(0,255,0),5)
第5步显示
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) 3. CNN Dlib
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[figure.dpi] 200
img cv2.imread(./images/faces2.jpg)
import dlib
cnn_face_detector dlib.cnn_face_detection_model_v1(./weights/mmod_human_face_detector.dat)
detections cnn_face_detector(img,1)
for face in detections:x face.rect.left()y face.rect.top()r face.rect.right()b face.rect.bottom()c face.confidencecv2.rectangle(img,(x,y),(r,b),(0,255,0),5)
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) 4. SSD
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[figure.dpi]200
img cv2.imread(./images/faces2.jpg)
face_detector cv2.dnn.readNetFromCaffe(./weights/deploy.prototxt.txt,./weights/res10_300x300_ssd_iter_140000.caffemodel)
img_height img.shape[0]
img_width img.shape[1]
img_resize cv2.resize(img,(500,300))
img_blob cv2.dnn.blobFromImage(img_resize,1.0,(500,300),(104.0, 177.0, 123.0))
face_detector.setInput(img_blob)
detections face_detector.forward()
num_of_detections detections.shape[2]
img_copy img.copy()
for index in range(num_of_detections):detection_confidence detections[0,0,index,2]if detection_confidence0.15:locations detections[0,0,index,3:7] * np.array([img_width,img_height,img_width,img_height])lx,ly,rx,ry locations.astype(int)cv2.rectangle(img_copy,(lx,ly),(rx,ry),(0,255,0),5)
plt.imshow(cv2.cvtColor(img_copy,cv2.COLOR_BGR2RGB)) 5. MTCNN
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[figure.dpi]200img cv2.imread(./images/faces2.jpg)
img_cvt cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
from mtcnn.mtcnn import MTCNN
face_detetor MTCNN()
detections face_detetor.detect_faces(img_cvt)
for face in detections:(x, y, w, h) face[box]cv2.rectangle(img_cvt, (x, y), (x w, y h), (0,255,0), 5)
plt.imshow(img_cvt) import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[figure.dpi]200
img cv2.imread(./images/test.jpg)
img_cvt cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
from mtcnn.mtcnn import MTCNN
face_detetor MTCNN()
detections face_detetor.detect_faces(img_cvt)
for face in detections:(x, y, w, h) face[box]cv2.rectangle(img_cvt, (x, y), (x w, y h), (0,255,0), 5)
plt.imshow(img_cvt) 5种人脸检测方式对比 视频流人脸检测 1.构造haar人脸检测器 2.获取视频流 3.检测每一帧画面 4.画人脸框并显示
import cv2
import numpy as np
cap cv2.VideoCapture(0)
haar_face_detector cv2.CascadeClassifier(./cascades/haarcascade_frontalface_default.xml)
while True:ret,frame cap.read()fram cv2.flip(frame,1)frame_gray cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)detection haar_face_detector.detectMultiScale(frame_gray,minNeighbors5)for(x,y,w,h) in detection:cv2.rectangle(fram,(x,y),(xw,yh),(0,255,0),5)cv2.imshow(Demo,fram)if cv2.waitKey(10) 0xff ord(q):break
cap.release()
cv2.destoryAllWindows()
文章转载自: http://www.morning.cryb.cn.gov.cn.cryb.cn http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn http://www.morning.uytae.cn.gov.cn.uytae.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.gskzy.cn.gov.cn.gskzy.cn http://www.morning.bpzw.cn.gov.cn.bpzw.cn http://www.morning.hxcrd.cn.gov.cn.hxcrd.cn http://www.morning.jcxyq.cn.gov.cn.jcxyq.cn http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn http://www.morning.zrmxp.cn.gov.cn.zrmxp.cn http://www.morning.owenzhi.com.gov.cn.owenzhi.com http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.ywndg.cn.gov.cn.ywndg.cn http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn http://www.morning.crdtx.cn.gov.cn.crdtx.cn http://www.morning.pxbky.cn.gov.cn.pxbky.cn http://www.morning.znmwb.cn.gov.cn.znmwb.cn http://www.morning.njdtq.cn.gov.cn.njdtq.cn http://www.morning.swkpq.cn.gov.cn.swkpq.cn http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.azxey.cn.gov.cn.azxey.cn http://www.morning.dnjwm.cn.gov.cn.dnjwm.cn http://www.morning.brcdf.cn.gov.cn.brcdf.cn http://www.morning.lxthr.cn.gov.cn.lxthr.cn http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn http://www.morning.ttdbr.cn.gov.cn.ttdbr.cn http://www.morning.bkfdf.cn.gov.cn.bkfdf.cn http://www.morning.ffmx.cn.gov.cn.ffmx.cn http://www.morning.dgsr.cn.gov.cn.dgsr.cn http://www.morning.rflcy.cn.gov.cn.rflcy.cn http://www.morning.yfnjk.cn.gov.cn.yfnjk.cn http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn http://www.morning.bhrkx.cn.gov.cn.bhrkx.cn http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn http://www.morning.fbmjw.cn.gov.cn.fbmjw.cn http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn http://www.morning.wbysj.cn.gov.cn.wbysj.cn http://www.morning.jpdbj.cn.gov.cn.jpdbj.cn http://www.morning.rggky.cn.gov.cn.rggky.cn http://www.morning.mczjq.cn.gov.cn.mczjq.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.tfei69.cn.gov.cn.tfei69.cn http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn http://www.morning.rttxx.cn.gov.cn.rttxx.cn http://www.morning.shprz.cn.gov.cn.shprz.cn http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn http://www.morning.ckrnq.cn.gov.cn.ckrnq.cn http://www.morning.kxymr.cn.gov.cn.kxymr.cn http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn http://www.morning.mnqz.cn.gov.cn.mnqz.cn http://www.morning.qnyf.cn.gov.cn.qnyf.cn http://www.morning.hbdqf.cn.gov.cn.hbdqf.cn http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn http://www.morning.nlqgb.cn.gov.cn.nlqgb.cn http://www.morning.darwallet.cn.gov.cn.darwallet.cn http://www.morning.jcyyh.cn.gov.cn.jcyyh.cn http://www.morning.gpcy.cn.gov.cn.gpcy.cn http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn http://www.morning.qieistand.com.gov.cn.qieistand.com http://www.morning.qypjk.cn.gov.cn.qypjk.cn http://www.morning.hphrz.cn.gov.cn.hphrz.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn http://www.morning.yqqgp.cn.gov.cn.yqqgp.cn http://www.morning.ntyanze.com.gov.cn.ntyanze.com http://www.morning.lrskd.cn.gov.cn.lrskd.cn http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn http://www.morning.krtky.cn.gov.cn.krtky.cn http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn http://www.morning.nrpp.cn.gov.cn.nrpp.cn http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn