cv2 나이와 성별을 맞추는 인공지능 만들기

be1le·2022년 3월 14일
7

Open-CV

목록 보기
8/11
post-thumbnail

오늘은 나이와 성별을 맞추는 인공지능을 만들어 볼것이다. 지난번 마스크착용 판별 인공지능과 유사한 점이 많으니 오늘도 재밌게 실습을 진행해 보자!

패키지 부터 로드하기

이번시간에는 cv2만 있어도 실습 진행이 가능하다!

모델 로드하기


얼굴영역 탐지모델은 지난번 실습과 같고, 나이를 판단하는 모델은 나이를 범위로 나누어 모델이 생각한 나이를 해당하는 인덱스로 리턴하는 모델이다. 예를들어 3 이나온다면 (15,20) 이런식으로 리턴하게 된다.

실습에 사용할 img 준비및 전처리


벌써 3번째 같은 flow를 반복하다 보니 어느정도 손에 익는것이 느껴진다.

추론

나는. 정말.정말로 눈감고도 여기까지 코드를 칠 수 있다. 정말이다.

얼굴영역을 탐지해 보자!

바로지난 블로깅에서도 말했듰이 dets.shape[2]가 얼굴에 해당하는 index이기에 이런식으로 작성 해주고난후


대한민국 최초의 본인 블로그 표절.

구한 얼굴위치의 좌표를 이용하여 추론하기

face = img[y1:y2, x1:x2]
얼굴의 위치를 face라는 변수에 할당후

이렇게 추론부를 실행하게 된다면 이제 결과를 출력하면 된다.

출력


주석을 보면 알 수 있듯이 우리는 이번에 나이와 성별을 반환해야 하기에 %s %s를 (gender,age)순으로 띄워준다고 작성을하고 run을 하면

모델의 입장에서는 여성분이 굉장히 동안으로 보였던것 같다. 아무래도 멀리서 찍은 사진이다 보니 보통 주름의 텍스쳐나 얼굴의 사소한 주름이 age를 나뉘는 가장큰 feature가 아니였을까 조심스럽게 생각은 해보게 되었다.

글을 마치며

정말 동일한,혹은 조금씩만 다른 코드로도 이렇게나 많은 주제로 이렇게나 다양한 모델을 사용하여 실습을 할 수 있다는 것에 많이 신기하고 놀랍지만 아직 그렇게나 많은 모델의 종류중에 극소수밖에 써보지 못하였음에 상당한 갈증을 느낀다. 앞으로도 꾸준히 여러 모델들을 다양하게 실습해 보면서 더욱더 다재다능한 머신러닝 엔지니어가 되기를 소망한다.

생각보다 나이가 많았다..

profile
그저 그런 개발자가 되지 않겠습니다.

0개의 댓글