@@ -32,28 +32,28 @@ First of all, `git clone` to download the source code.
퍼스널 컬러는 타고난 신체색상을 말하며, 피부, 눈동자, 머리카락의 색채로서 각자가 타고난 그대로의 색을 말합니다. 의류, 화장 및 머리 색상을 선택할 때 개인에게 적합한 퍼스널 컬러를 활용하는 경우 이미지 개선에 탁월한 효과를 보입니다. 이를 위해 사진 업로드를 통해 퍼스널 컬러를 진단하는 웹 서비스를 개발하였습니다. OpenCV와 Dlib 라이브러리를 이용한 이미지 분석을 통해 인물 사진에서 눈동자, 머리카락, 뺨 영역을 인식하였고 인식한 영역에 대하여 k-means 알고리즘을 통해 각 영역의 대표 색상을 추출하였습니다. 추출한 대표 색상을 본 연구에서 개발한 퍼스널 컬러 진단 알고리즘을 이용하여 봄, 여름, 가을, 겨울 중 하나로 진단하고 해당 퍼스널컬러에 어울리는 립스틱 색상을 추천합니다. 진단 및 추천 결과를 웹 상으로 출력하여 사용자가 볼 수 있습니다.
퍼스널 컬러 진단 결과의 정확도는 전체 테스트 케이스 수 대비 본 시스템이 진단한 결과가 ground truth와 일치하는 데이터 수로 측정했습니다. 각 계절에 해당하는 연예인의 테스트케이스 사진을 1번부터 10번까지 나열하였으며, 해당 사진의 퍼스널 컬러 진단 결과를 사진 아래 표기하였습니다. 위와 같이 봄/가을 컬러 진단에 각각 70%, 90%로 높은 정확도를 보였지만 여름/겨울의 진단 결과는 50%에 그쳤습니다. 그러나 웜톤 또는 쿨톤을 구분하는 데에는 최소 70%에서 최대 100%에 이르는 높은 정확도를 보여줍니다. 그 이유는 웜톤과 쿨톤을 가르는 Lab 의 b값을 보면 웜톤/쿨톤이 비교적 명확히 구분되기 때문일 것입니다. 또한 HSV의 S값에 대하여 봄, 가을은 뚜렷한 차이를 보여주지만 여름과 겨울은 서로 구분이 명확히 되지 않기 때문이라 예상합니다. (아래 그림 참고)
`detect_face.py` using `shape_predictor_68_face_landmarks.dat` has DetectFace class, and it provides face detection function, the exact face parts, and the coordinates of them. We selected cheeks, eyes, eyebrows(instead of hair) for personal color analysis.<br><br>
`shape_predictor_68_face_landmarks.dat` 를 사용하는 `detect_face.py`에는 DetectFace 클래스가 있으며, 얼굴 감지 기능, 정확한 얼굴 부분 및 좌표를 제공합니다. 퍼스널컬러 분석을 위해 뺨, 눈, 눈썹 (머리카락 대신)을 선택했습니다.<br><br>
`color_extract.py` has DominantColors class, and it provides the dominant colors by k-means clustering algorithm, with RGB values.<br>I adopted the source code from (https://buzzrobot.com/dominant-colors-in-an-image-using-k-means-clustering-3c7af4622036) and modified it.<br><br>
`color_extract.py`에는 DominantColors 클래스가 있으며 RGB 값을 사용하여 k-means clustering 알고리즘으로 대표 색상을 제공합니다. (https://buzzrobot.com/dominant-colors-in-an-image-using-k-means-clustering-3c7af4622036)에서 얻은 소스 코드를 수정했습니다.<br><br>