с использованием yolov3 немного сложно, поэтому я предлагаю вам использовать более простой и чистый модуль, модуль opencv. Не обязательно, какой модуль вы используете, но для лучшего опыта используйте OpenCV.
Сначала установите его: pip install opencv-python
OpenCV уже содержит множество предварительно обученных классификаторов для лицо, глаза, улыбки и т. д. c .. Я буду использовать классификатор. Вы также можете поэкспериментировать с другими классификаторами. Вам необходимо загрузить обученный классификатор XML файл (haarcascade_frontalface_default. xml), который доступен в репозитории OpenCv на GitHub. Сохраните его в своем рабочем месте. В приведенном ниже коде я конвертирую красочное изображение в черно-белое.
КОД:
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.1, 4)
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()
Мы можем сделать это и для видео, потому что видео на самом деле много кадров в секунду, поэтому мы можем принять его как изображение, поэтому для видео вы можете использовать следующий CODE:
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# To capture video from webcam.
cap = cv2.VideoCapture(0)
# now we will use an infinitive loop to read for each frames per second
while True:
_, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.imshow('img', img)
# Stop if escape key is pressed
k = cv2.waitKey(30) & 0xff
if k==27:
break
# Release the VideoCapture object
cap.release()
Но если вы все равно хотите использовать yolov3, тогда go через документацию, но опять же, возможно, вам не хватает некоторых навыков, поэтому используйте OpenCV для получения опыта. УДАЧИ !!