본문 바로가기
Python

[Python] 이미지 얼굴인식을 해보자~! with RetinaFace

by 위기의코딩맨 2025. 2. 18.
반응형

안녕하세요. 위기의 코딩맨입니다.

예전에 face_recognition을 사용하여 이미지에서 얼굴 인식하는 방법에 대해서 알아봤지만,

그렇게 높은 인식도를 갖고있진 않았던 것 같아서 다른 방법을 찾아보다

RetinaFace를 알게되어 포스티 해보려합니다.

 

저의 테스트 기준 약 600개 이미지 진행 시,

face_recognition은 7개의 이미지가 검출 되었지만

해당 RetinaFace로 진행 했을 시,

100% 얼굴 이미지 검출이 된것을 확인했습니다. (제 데이터 셋 기준)

 

[ RetinaFace ]

먼저 해당 라이브러리를 설치해줘야합니다.

코랩 기준으로 진행하고 있어서,

CMD나 터미널에서 진행할 시, 방법이 다를 수 있습니다.

!pip install retina-face

 

설치를 진행하면 Successfully을 확인해주세요~!

 

이제 코드를 한번 볼까요~?!

import cv2
from retinaface import RetinaFace
from google.colab.patches import cv2_imshow
 
image_path = "/content/A.jpg"   
img = cv2.imread(image_path)
 
faces = RetinaFace.detect_faces(image_path)
 
for face_id, face_info in faces.items():
    facial_area = face_info['facial_area']
    x1, y1, x2, y2 = facial_area
    cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
 
cv2_imshow(img)

 

RetinaFace : 라이브러리

image_path : 이미지 경로

faces : 라이브러리 사용 결과

cv2.rectangle : 검출된 얼굴 이미지의 좌표

 

저번에도 지구오락실의 이미지를 사용했는데

이번에도 지구오락실 이미지로 테스트를 진행해 보았습니다.

출처 : https://www.harpersbazaar.co.kr/article/68279

 

지금 코드는 하나의 이미지만 테스트하는 소스이지만,

저는 zip 파일로 된 이미지 폴더를 전체 점검해서

검출, 미검출 폴더에 나눠서 저장하는 방법으로 사용하고 있습니다.

반응형