마스크 착용 검출기를 만들려고 보니 얼굴 인식 라이브러리에 관해 알게되어 정리해보려 한다.
cvlib 은 파이썬 오픈소스 컴퓨터 비전 라이브러리이다.
[GitHub Page]
https://github.com/arunponnusamy/cvlib
detect_face()
함수를 사용하면 검출된 얼굴들에
import cvlib as cv
faces, confidences = cv.detect_face(image)
...정말 간단하다.
cvlib 은 얼굴 인식을 위해서 OpenCV 의 dnn
모듈과 pre-trained caffemodel 을 사용한다.
Seriously, that's all it takes to do face detection with cvlib. Underneath it is using OpenCV's dnn module with a pre-trained caffemodel to detect faces.
한번 실행해보도록 하자.
직접 한번 사용해 보도록 하자.
코드는 다음과 같이 간단하다
import cv2
import cvlib as cv
img = cv2.imread('img.jpg')
faces, confis = detect_face(img)
for face, confi in zip(faces, confis):
startX, startY = face[0], face[1]
endX, endY = face[2], face[3]
textX, textY = endX + 5, startY
cv2.rectangle(img, (startX, startY), (endX, endY), (0, 255, 0), 2)
cv2.putText(img, "face, {:.3f}".format(confi),
(textX, textY), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA)
cv2.imshow("cvlibTest", img)
cv2.waitKey()
cv2.imwrite("./static/cvlibTestResult.jpg", img)
cv2.destroyAllWindows()
그렇다면 우리의 진짜 목적인 마스크를 착용한 얼굴도 잘 인식하는지 한번 테스트 해보자.
다른 요소에 의해서 가려지지 않으면 잘 인식한다!
이제 이걸 활용해서 마스크 디텍션 프로그램을 만들어보자.