밑바닥부터 시작하는 딥러닝(사이토 고키)라는 책을 읽으면서 딥러닝을 다시 공부해보고 있습니다.
해본 것
오늘은 무언가 내가 만든 모델로 좀 더 실용적인 걸 만들어보고 싶어서 “아이돌 사진 자동 라벨링 프로그램”을 만들어보았다.
사진을 여러 장 넣으면, 각 사진들을 각 사진의 아이돌의 폴더로 이동시켜주는 프로그램이다. 처음에는 CUI로 만들어볼까 했지만 그냥 이왕 웹을 만들었던 김에 fastapi 웹 서버에서 돌리기로 하였다.
메인화면이다.

처리하는 로직은 아래와 같다.
사진을 input type=file로 여러 장 입력 받는다 -> 파일이 유효한지 확인한다(이미지인지 아닌지) -> 사진에서 얼굴만 자른다 -> 자른 이미지에서 10개씩 모델에 넣어 label을 predict 한다 -> 해당 아이돌 폴더에 넣는다 -> zip파일을 만든다
아래와 같이 랜덤 스트링으로 폴더를 생성하고, 결과적으로 그 안에 output.zip 이 생성되는데, 아이유, 아이린, 아린 폴더가 있고, 각각의 예측된 아이돌 사진들이 들어있다.

처음엔 비동기처리를 통해 동시에 이미지를 자르고 모델에서 predict 하는 것 까지 되게하여 빠르게 처리가 가능할 줄 알았는데, face_recognition 라이브러리에서 얼굴 인식하는 api가 꽤 무거운 작업이다보니 동기처리나 딱히 다른 점이 없게되었다.
실습한 코드는 https://github.com/woduq1414/deep-learning-without-tensorflow 에 있습니다.
