ArcFace

💻 프로젝트/🧸 TOY-PROJECTS

[DeepLook] 5. 백엔드 연결

이전까지는 프론트 쪽 작업만 맡아서 하고, 백엔드는 node js로 한번 맛본 상태였는데, 갑작스레 웹과 백을 연결해야 하는 태스크가 주어졌다. 시간이 없고, 모델이 규모가 있는 모델은 아니어서 flask를 사용하기로 결정했다. 더 자세한 코드를 보고 싶으면 깃허브를 참고하길 바란다. (좀 난잡할 수 있음 주의) 백엔드 모델과 연결 시 거친 단계는 다음과 같다: pickle 파일을 만들어 모든 연예인의 얼굴 임베딩을 저장한다. client 측에서 post 요청을 보냈을 때 이미지 데이터를 받아 임베딩을 추출한다. 추출한 임베딩과 가장 유사한 임베딩을 pickle 파일로부터 로딩한다. 추출된 얼굴 임베딩과 사전 학습된 임베딩 간의 유사도를 계산한다. 가장 유사한 유명인의 이니셜과 유사도를 JSON 형식으로..

💻 프로젝트/🧸 TOY-PROJECTS

[DeepLook] 4. 모델 선정 및 학습

사진 전처리 이후, 모델을 선정하고 학습시키는 과정을 거쳤다. 모델의 후보는 ResNet, EfficientNet, Arcface가 있었는데, 가장 얼굴 유사도 부분에서 큰 성능을 보이는 Arcface 모델을 선정했다. 더 자세한 과정은 코랩을 통해 확인할 수 있다. 1. CSV 파일 생성 우선 전처리된 사진들의 이름(이름_순번 형태)과 해당 인물들이 label 된 csv 파일을 생성했다. 2. Train, Test dataset 분리 항목별로 70%는 train, 30%는 test의 데이터셋으로 분리했다. # 이니셜을 하나의 배열로 모으기 class_name_list = [] tmp=df.copy() for initial in tmp['class']: if initial not in class_name..

장영준
'ArcFace' 태그의 글 목록