이것은 CNN (Convolutional Neural Networks)을 사용하여 5 개의 여성 얼굴 모양을 식별하는 이미지 분류 프로젝트 입니다. 나는 이것을 총회 (2020 년 10 월)와 함께 데이터 과학 몰입 형 과정을위한 캡 스톤 프로젝트로 완료했습니다.
이 프로젝트는 또한 Heroku의 Stremlit을 사용하여 웹 앱으로 배포됩니다. 관심이 있으시면 MyFaceshape.herokuapp.com에서 얼굴 모양을 확인하십시오
Deloitte 소비자 검토를 바탕으로 소비자는보다 개인화 된 경험을 요구하고 있지만 시험은 여전히 낮습니다. 미용 및 패션 산업에서 16-39 세의 성인의 40%이상이 개인화 된 제안에 관심이있는 반면 시험은 10%-14%에 불과합니다. 관심이있는 사람들 중 ~ 80%는 최소 10% 더 높은 가격을 기꺼이 지불 할 의향이 있습니다.
얼굴 모양을 분류 할 수있게함으로써 브랜드는보다 개인화 된 솔루션을 제공하여 고객 만족도를 높이고 프리미엄 포지셔닝에서 마진을 증가시킬 수 있습니다. 사용 사례의 예는 다음과 같습니다.
이 프로젝트를 위해 CNN (Convolutional Neural Networks)와 딥 러닝 접근법을 사용하여 5 개의 다른 여성 얼굴 모양 (심장, 직사각형, 타원형, 원형, 정사각형)을 분류 할 것입니다. 정확도가 가장 높은 모델이 선택됩니다.
VGG-16 아키텍처 및 VGGFACE의 미리 훈련 된 무게를 배우는 Trasfer 와 학습을 통해 CNN의 2 가지 접근 방식을 탐구했습니다. 전송 학습 접근법은 정확도를 높이는 데 도움이되었지만 가장 잘못된 얼굴 모양은 '타원형'입니다.
이미지 사전 프로세싱은 또한 과적으로 적합성을 줄이고 검증 정확도를 높이는 데 중요한 역할을했습니다. 주요 드라이버는 다음과 같습니다.
얼굴 모양 데이터 세트는 Kaggle의 Niten Lama의 데이터 세트입니다.
이 데이터 세트는 전 세계의 여성 유명인의 총 5000 개의 이미지로 구성되며, 즉 얼굴 모양에 따라 분류됩니다.
각 카테고리는 1000 개의 이미지로 구성됩니다 (훈련의 경우 800 : 테스트의 경우 200)
이미지의 사전 처리는 교육 데이터 세트에 대한 모델과 적합성을 줄이고 검증 정확도를 높이는 데 중요한 요소입니다. 다음 단계가 탐구되었습니다.
CNN 모델은 4000 개의 이미지 (800 개의 이미지 x 5 클래스)의 제한된 교육 데이터로 처음부터 구축 된 4 개의 Convolutional + Max-Pooling 레이어와 2 개의 조밀 한 층 (아래 세부 사항)으로 모델을 빌드합니다.
전송 학습을 갖춘 CNN 모델을 사용하면 260 만 개가 넘는 이미지에 대해 교육을받은 vggface의 미리 훈련 된 가중치를 사용하여보다 복잡한 VGG-16 아키텍처를 사용할 수 있습니다.
전송 학습은 더 큰 데이터 세트에서 미리 훈련 된 가중치를 사용하여 76.9%에서 92.7%로 정확도를 크게 향상시키는 데 도움이되었습니다.
처음부터 구축 된 모델에서 모든 모델은 20%의 기준선보다 더 잘 수행되었습니다 (5 개의 클래스는 각각 20%로 균형을 이룹니다).
아래의 모든 모델 요약.
두 모델 모두 타원형 얼굴 모양에서 가장 오 분류가 가장 높습니다. 전송 학습 모델이 처음부터 구축 된 모델의 정확도를 향상 시켰지만 타원형은 여전히 가장 잘못 분류되어 있으며, 대다수는 타원형으로 잘못 분류됩니다. 흥미롭게도, 둥근 얼굴 모양에 대한 전체적인 오 분류는 낮지 만, 둥근 얼굴은 대부분 타원형으로 잘못 분류됩니다. 타원형과 둥근 사이의 혼란은 대부분 아시아 얼굴이며, 이전 학습의 경우입니다. 사전 배치 된 무게의 아시아 이미지가 적기 때문일 수 있습니다.