pytorch用深度学习代码实现5种方法来进行人脸检测代码
时间: 2024-03-03 21:51:02 浏览: 24
下面是使用PyTorch实现人脸检测的5种方法的代码:
1. Haar级联检测器:
```python
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
2. HOG+SVM检测器:
```python
import cv2
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
rects, weights = hog.detectMultiScale(gray, winStride=(8, 8))
for (x,y,w,h) in rects:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
3. Faster R-CNN:
```python
import torch
import torchvision
import cv2
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)
model.eval()
img = cv2.imread('test.jpg')
img_tensor = torchvision.transforms.functional.to_tensor(img)
output = model([img_tensor])
boxes = output[0]['boxes'].detach().numpy()
for (x,y,w,h) in boxes:
cv2.rectangle(img,(x,y),(w,h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
4. YOLOv3:
```python
import torch
import cv2
model = torch.hub.load('ultralytics/yolov3', 'yolov3', pretrained=True)
model.eval()
img = cv2.imread('test.jpg')
results = model(img)
boxes = results.xyxy[0].numpy()
for (x,y,w,h) in boxes:
cv2.rectangle(img,(x,y),(w,h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
5. MTCNN:
```python
import torch
from facenet_pytorch import MTCNN
import cv2
mtcnn = MTCNN()
img = cv2.imread('test.jpg')
boxes, _ = mtcnn.detect(img)
for (x,y,w,h) in boxes:
cv2.rectangle(img,(x,y),(w,h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上是使用PyTorch实现人脸检测的5种方法的代码,需要注意的是,这些代码仅供参考,具体的实现方式可能会因应用场景不同而有所变化。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)