개발 일지

DeepFace 연동하기

만식 2024. 5. 17. 20:40

 

install이 우선!

pip install deepface
# 컴퓨터 사양에 따라서 오래걸림

 

간단하게 deepface파일에 "stream.py"와 "analyze.py"를 만든다. 

 

from deepface import DeepFace
import tensorflow as tf
DeepFace.stream("data", model_name="Facenet", detector_backend="retinaface")

 

import cv2
from deepface import DeepFace

# 웹캠 열기
cap = cv2.VideoCapture(0)

if not cap.isOpened():
    raise IOError("Cannot open Webcam")

while True:
    # 프레임 읽기
    ret, frame = cap.read()

    try:
        # 얼굴 분석
        result = DeepFace.analyze(frame, enforce_detection=False)

        # 성별과 나이 정보 추출
        # gender = result[0]['dominant_gender']
        age = result[0]['age']

        # print("gender >>", gender)
        print("age >>", age)

        # 결과를 화면에 표시
        font = cv2.FONT_HERSHEY_SIMPLEX
        # cv2.putText(frame, f"Gender: {gender}", (10, 50), font, 1, (0, 255, 0), 2, cv2.LINE_AA)
        cv2.putText(frame, f"Age: {age}", (10, 100), font, 1, (0, 255, 0), 2, cv2.LINE_AA)

    except ValueError as e:
        print(f"Error: {e}")

    # 화면에 프레임 표시
    cv2.imshow('Real-time Gender and Age Detection', frame)

    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 웹캠 해제 및 창 닫기
cap.release()
cv2.destroyAllWindows()

 

최종 프로젝트는 노인들을 위한 음성인식 키오스크를 만들 계획이라, 얼굴분석으로 나이 정보를 추출한다. 

 

python stream.py
#실행

 

 

 

실행 후 까만 화면이 나오면서 로딩

 

얼굴인식을 하면 로딩 후 나이정보를 추출한다.