728x90
Mediapipe
real-time face detector
by webcam
Mediapipe face detect solutions
Mediapipe의 face detect는 매우 빠른 face detect solution으로 6개의 랜드마크와 여러명의 얼굴을 한꺼번에 인식할 수 있는 기능을 지원한다. mediapipe의 face detection module은 BlazaFace에 기반을 두었다.
face detector는 realtime-detect, 형상추론(얼굴 그물망), 3D 얼굴 키포인트 추출, 얼굴 특징, 표정 판별 등 여러 작업에 사용할 수 있고 GPU없이 CPU만으로 작업이 가능하다는 점이 있다.
face detect solution API
MODEL_SELECTION(0 or 1)
모델 인덱스는 0, 1 둘 중 하나를 선택할 수 있다.
0을 사용하면 카메라 2m 이내의 부분적 모델 촬영에 적합하고,
1을 사용하면 카메라 5m 이내의 전신 모델을 촬영하는데 적합하다.
지정하지 않을 경우 defalut 값을 0으로 지정되어 있다.
MIN_DETECTION_CONFIEDENCE(최소 감지 신뢰값)
검출에 성공했다는 얼굴의 검출 모델 신뢰값은 0.0 ~ 1.0이다.
기본 값을 0.5로 설정되어있다.
FACE DETECTOR 출력
얼굴 경계를 잡아주는 bounding box와 6개의 keypoint를 detect(탐지)한다.
bounding box는 0.0~1.0 사이로 정규화된 xmin과 width, ymin과 height로 구성된다.
keypoint는 왼쪽눈, 오른쪽눈, 코 끝, 입 중심, 오른쪽 귀, 왼쪽 귀를 포함하고, 0.0~1.0 사이로 정규화된다.
import cv2
import mediapipe as mp
mp_face_detection = mp.solutions.face_detection
mp_drawing = mp.solutions.drawing_utils
# For webcam input:
cap = cv2.VideoCapture(0)
with mp_face_detection.FaceDetection(
model_selection=0, min_detection_confidence=0.5) as face_detection:
while cap.isOpened():
success, image = cap.read()
if not success:
print("Ignoring empty camera frame.")
# If loading a video, use 'break' instead of 'continue'.
continue
# To improve performance, optionally mark the image as not writeable to
# pass by reference.
image.flags.writeable = False
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
results = face_detection.process(image)
# Draw the face detection annotations on the image.
image.flags.writeable = True
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
if results.detections:
for detection in results.detections:
mp_drawing.draw_detection(image, detection)
# Flip the image horizontally for a selfie-view display.
cv2.imshow('MediaPipe Face Detection', cv2.flip(image, 1))
if cv2.waitKey(5) & 0xFF == 27:
break
cap.release()
반응형
'머신러닝딥러닝 > detection' 카테고리의 다른 글
Mediapipe pose estimation BrazePose 33 landmarks 정보 추출하기 (1) | 2023.02.09 |
---|---|
mediapipe - face detect & pose estimation 동시 실행하기 (0) | 2023.01.20 |
mediapipe pose classification model - webcam streaming environment (0) | 2023.01.18 |
ubuntu 18.04 webcam 설치 및 사용하기 (2) | 2023.01.16 |
구글 AI프레임워크 MediaPipe(미디어파이프)란? (0) | 2023.01.13 |
댓글