오늘은 파이썬을 이용해서 얼굴을 검출해보겠습니다.
먼저 설치해야하는 라이브러리들이 있습니다. opencv-python과 cvlib입니다. opencv-python는 이미지를 읽고 쓰기 위해 필요하고, cvlib은 얼굴 검출을 구현하기 위해 필요합니다.
해당 라이브러리들을 각 운영체제에 맞게 설치하는 방법은 검색하시면 인터넷 상에 아주 잘 나와있으니 참고하시기 바랍니다.^^ (사실 개발환경셋팅이 젤 번거롭죠. ㅜㅜ)
코드는 다음과 같습니다. 파이썬 코드에 익숙하지 않은 분들은 모든 줄을 이해하시려하기 보다는 주석을 보시면서 대략적인 흐름을 이해하시는 것이 좋습니다. 아래 코드에서 가장 중요한 부분은 cvlib에서 제공하는 detect_face 함수입니다. 얼굴 검출을 위해 미리 잘 훈련된 딥러닝 모델을 제공해줍니다.
# import libraries
import cv2
import matplotlib.pyplot as plt
import cvlib as cv
image_path = 'kh.jpg'
im = cv2.imread(image_path) # 이미지 읽기
plt.imshow(im)
plt.show()
# detect faces (얼굴 검출)
faces, confidences = cv.detect_face(im)
# loop through detected faces and add bounding box (검출된 얼굴을 박스로 감싸기)
for face in faces:
(startX,startY) = face[0],face[1]
(endX,endY) = face[2],face[3]
# draw rectangle over face
cv2.rectangle(im, (startX,startY), (endX,endY), (0,255,0), 2)
# display output
plt.imshow(im)
plt.show()
cv2.imwrite('result.jpg', im) # 이미지 쓰기
결과 이미지를 확인해보실까요? 약 10년전 접니다. ㅋㅋ 촌스럽네요 참.
좀 더 많은 사람이 담겨 있는 이미지를 가지고 테스트해보겠습니다.
얼굴들이 꽤 잘 검출되었죠? 다음 글에서 또 찾아뵙겠습니다.^^
<참고자료>
[1] https://ukayzm.github.io/python-face-recognition/, 나도 한번 만들어보자, "Python Face Recognition in Real Time"
[2] https://towardsdatascience.com/implement-face-detection-in-less-than-3-minutes-using-python-9f6b43bb3160, Sabina Pokhrel, "Implement Face Detection in Less Than 3 Minutes Using Python"
'Dev > python' 카테고리의 다른 글
[ubuntu+python] 선형 회귀의 업그레이드 버전2, 라쏘 회귀 (2) | 2020.01.20 |
---|---|
[ubuntu+python] 선형 회귀의 업그레이드 버전1, 릿지 회귀 (0) | 2020.01.20 |
[ubuntu+python] pip install과 apt-get install의 차이는? pip와 pip3는 뭐가 다르지? sudo란? (2) | 2020.01.20 |
[ubuntu+python] 선형 회귀(linear regression) (0) | 2020.01.19 |
[python] kNN(k-Nearest Neighbors)으로 붓꽃 품종 예측 (18) | 2020.01.18 |
[ubuntu+python] 웹캠 영상 실시간 물체(객체) 검출 (38) | 2020.01.17 |
[ubuntu+python] YOLOv3으로 물체(객체) 검출하기 (33) | 2020.01.15 |
[ubuntu+python] 얼굴 검출 후 성별 인식 (4) | 2020.01.15 |