1. 서론
뉴 노멀 시대에 동물캐릭터를 기반으로 한 디지털 콘텐츠 시장이 수익성이 높은 사업으로 받아들여지고 있다. 애니메이션 분야는 동물 얼굴을 차용하여 만든 의인화된 캐릭터를 주인공으로 한 작품이 다수를 차지한다. 특히, 동물의인화는 동물의 성격이나 특징을 인간형 캐릭터에 접목하여 친숙함을 반영 할 수 있는 장점이 있다[1]. 최근 시각화 특징을 분석하기 위한 도구로 주성분 분석(PCA)이 활발하게 활용되고 있다. 주성분 분석은 데이터에 존재하는 정보량을 최대화하도록 변환하고 중요한 주성분(Principal Component, PC) 데이터 특징의 분석을 최적화하며 데이터의 시각화를 위해 차원을 축소하는 데이터 처리 기법을 사용한다[3]. 본 연구에서는 포유류의 시각화 특징을 분석하기 위하여 주성분 분석(PCA)을 통해 포유류 동물의 가장 단순화된 얼굴 시각화 특징을 제안하고자 한다. 포유류 동물의 선정기준은 애니메이션 및 콘텐츠에 빈번하게 등장하는 동물을 기준으로 선정하였다. 그리고 실사 이미지데이터를 획득하기 쉽고, 많은 데이터의 수집이 가능한 동물을 중심으로 개과, 고양이과 등의 식육목과 토끼, 쥐, 다람쥐 등의 설치류의 쥐목, 유제목, 인간(또는 영장목)등을 대표할 수 있는 동물로 선정하였다. 분석범위는 인간을 중심으로 포유류 동물 20종을 선별하였고 인간데이터를 포한 최종 비교 데이터는 인간의 데이터를 포함하여 총 21종으로 구성되었다.
본 연구의 연구 방향은 다음과 같다. 첫째, 인간과 동물 20종의 딥러닝 학습데이터에서 얼굴 비율 요소를 추출하였다. 둘째, 이를 토대로 인간과 동물 20종의 얼굴 비율 요소의 좌표를 측정하고 평균좌표를 산출하였다. 셋째, 주성분 분석(Principle Component Analysis, PCA)을 이용하여 분석한다. 끝으로, 인간 얼굴과 각 동물의 비율 차이를 주성분 분석(PCA) 결과를 통해 확인하고자 한다.
논문의 구성은 다음과 같다. 2장에서는 분석의 도구가 되는 주성분 분석(PCA)의 내용과 특징을 살펴보고 3장에서는 분석에 사용한 데이터와 비교 데이터의 생성 방법을 설명한다. 4장에서는 분석 결과를 확인하고 5장에서는 결론을 맺는다.
2. 기존연구
2.1 주성분 분석(PCA)을 활용한 포유류 얼굴비교 분석
주성분 분석(Principle Component Analysis, PCA)은 데이터 차원 축소와 좌표변환 후의 데이터 분석이 주 기능이다[2] 주 기능을 이용하여 데이터 손실 압축, 금융정보 분석, 주요 변수 분석, 다른 딥러닝이나 머신러닝 분석 입력을 위한 데이터 가공 등에 사용한다. 기본적으로 분산이 최대가 되는 많은 정보량을 가지는 데이터를 기반으로 하여 주성분(Principal Component, PC)을 기준으로 데이터를 변환하는 기법이다. 주성분은 원래의 변수가 가지고 있는 정보를 가능한 한 많이 포함한다. 주성분 분석은 해석하고자 하는 다차원의 데이터에 포함된 정보의 손실을 최대한 줄여서 하나 혹은 소수의 차원의 데이터로 축약한다[3]. 축약하는 과정은 다차원의 데이터에서 가장 많은 정보량을 가지는 첫 번째 주성분(PC)을 생성하고, 첫 번째 주성분과 서로 직교하며 두 번째로 많은 정보량을 가지는 주성분(PC)을 구한다. 그리고 정보가 낮은 순서로 주성분(PC)을 생성하게 된다. 따라서 첫 번째와 두 번째 주성분(PC)들은 원래의 데이터에 대해 많은 정보를 나타내며, 그 주성분(PC)을 구성하는 계수들의 계수 값은 데이터의 특징을 나타내는데 중요한 정보가 되고, 계수의 값이 클수록 중요한 변수라고 판단 할 수 있다. 이러한 주성분 분석을 활용한 사람과 개의 비교 논문에서는 사람과 견종의 이미지를 정형화하여 만든 SVG 파일을 이용하여 주성분 분석을 시도하였다[4]. 그러나 개의 경우 같은 종이라도 털의 길이에 따라 얼굴의 모양이 달라질 수 있기 때문에 정형화된 형태가 필요하지만 다른 동물의 경우 정형화된 동물의 그래픽 이미지보다는 실사 사진을 통한 동물의 얼굴 비율을 조사하면 더 정확한 변수 값을 얻을 수 있다. 따라서 실험 결과를 바탕으로 동물의 종류에 대한 범위를 확대하여 얼굴 비율 요소를 분석할 필요성이 있다.
주성분 분석(Principle Component Analysis, PCA)을 위해서는 분석을 위한 툴이 필요하다. Matlab과 Python 등 다수의 프로그래밍 랭귀지는 주성분 분석을 할 수 있는 라이브러리나 툴박스를 제공한다. 본 논문의 주성분 분석은 Python으로 작성되었으며 scikit-learn 머신러닝 라이브러리와 pandas, numpy 라이브러리를 사용하였다.
2.2 얼굴인식을 위한 특징점 연구
얼굴 인식 모델은 수만 명에 달하는 인물로부터 획득한 수백만 장의 정규화 된 얼굴 이미지로부터 인물을 잘 구분할 수 있는 함축된 얼굴 표현(facial representation)인 특징 벡터(feature vector)를 학습한다. 최종 얼굴 인식 모델은 입력된 이미지의 특징 벡터 간 유사도(similarity)를 비교하는 방식으로 검증 또는 식별을 수행한다. 얼굴에서의 특징은 눈, 코, 입 등의 얼굴 내부를 이루는 구성요소의 모양, 위치, 색 등을 말할 수 있다. 또한 피부색이나 얼굴 형태도 특징으로 볼 수 있다. 얼굴 특징점은 이러한 특징들의 위치를 점으로 표현한 것이다. 인공지능 분야에서 학습에 활용할 다양한 패턴의 고품질 이미지 데이터 확보가 중요하다. 해외 주요국가에서는 시각지능 분야에서 인공지능(AI) 기술개발을 위한 기계학습 데이터 구축 등 관련 인프라를 확보하여 공개하고 있다. 특히 IBM이 공개한 DiF에는 다양한 성별과 인종의 얼굴 이미지와 그에 대한 주석이 포함되어 있다. DiF 데이터셋의 이미지에는 머리모양과 얼굴의 대칭, 코의 길이 등의 데이터를 포함한 얼굴부위 47곳 이상의 크기와 특징이 정리되어 있다. 이것이 얼굴인식 시스템의 공정성과 정확성을 향상시키고 알고리즘의 성능을 강화하는 학습교사의 역할을 하고 있다[6-8].
3. 인간과 포유류 동물 20종의 중요 얼굴 부위 비율
3.1 연구범위 및 실험 방식
본 연구에서는 동물의 이미지 판별을 위하여 동물의 실사이미지데이터를 사용하였다. 먼저 실험에 필요한 인간과 동물의 얼굴 이미지 데이터 확보를 위해 상업적/비상업적 목적으로 이미지데이터를 사용할 수 있으며 저작권이 없는 픽사베이(pixabay.com)를 통해 이미지데이터를 수집하였다[5]. 실험에 활용된 이미지 데이터에서 정확한 좌표 데이터 추출을 위해서 두 눈을 기준으로 정면을 응시한 이미지에 얼굴의 좌우 기울기나 얼굴의 주시 각도에서 상/하 각이 거의 없는 대칭형 데이터를 중점적으로 수집하였다. 선정한 20종의 포유류 동물(알파카, 곰, 토끼, 고양이, 소, 사슴, 개, 여우, 기린, 염소, 말, 사자, 돼지, 너구리, 쥐, 물개, 양, 다람쥐, 호랑이, 늑대)과 인간데이터 2164개를 수집하여 실험에 적용하였다. 실험에 사용된 인간 및 동물 이미지 데이터 수는 Table 1과 같다. 각 동물은 초식과 육식 그리고 잡식동물로 구성되어있다.
Table 1. 20 Animals and Amount of Images Used for Principal Component Analysis
Table 1는 인간데이터를 포함한 포유류동물의 종수를 21종으로 하여 실사 이미지를 사용하였고 많은 수의 데이터 분석을 위하여 데이터의 전처리를 수행하였다. 전처리과정을 상세하게 살펴보면 먼저 각각의 종에 대하여 포함된 동물의 전체 이미지에서 측정한 각 구성요소의 비율에 대한 평균값을 계산하여 분석의 대상으로 지정하였다. 포유류 동물의 정면 이미지만 수집하였으나 미세한 얼굴 방향 각도로 인하여 노이즈와 Outlier 데이터가 발생하므로 이러한 데이터의 오차를 최소화하기 위하여 평균값을 사용하였다. 각 개별 종의 이미지 데이터 수도 최소 500개 이상으로 선택하여 주성분 분석정확도의 효율을 고려하였다. 분석과 실험 순서는 먼저 동물의 종을 선정하고 각 동물의 이미지를 수집하였다. 수집된 이미지는 일차적으로 정면을 주시한 얼굴의 이미지에서 경사각이 큰 이미지를 제거하여 분석에 사용할 이미지를 선정하였다. 그리고 각각의 동물 이미지에 정의된 얼굴 특징점을 확인하여 얼굴에 포함된 구성요소의 길이와 각 길이에 대한 비율을 계산하였다. 계산된 각 동물의 비율 요소를 평균을 구했으며 그 이후 주성분 분석을 수행하고 결과를 분석하였다. 주성분 분석을 이용한 분석은 차원 축소와 변화 후의 그래프 분석으로 분석 방식이 정형화되어 있으므로 분석 결과의 출력과 분석 결과에 대한 고찰을 진행하였다.
3.2 얼굴 특징점과 얼굴 부분 비율 요소
본 절에서는 동물과 인간의 얼굴을 중심으로 특징을 분석하기 위한 비율 요소정의와 분석을 진행하였다. 얼굴의 부위와 그 부위의 비율을 계산하기 위해서는 얼굴 부위를 나타내는 특징점과 그 특징점을 이용한 얼굴 구성요소의 길이 요소, 그리고 길이 요소의 비율인 비율 요소의 정의가 필요하다. 얼굴 특징 점은 “주성분 분석기반 인간과 개의 얼굴 비율 연구[4]”에서 정의한 17개의 길이 요소에 대한 위치점을 기반으로 설계하였다. 얼굴의 특징점을 사용하여 얼굴의 부위가 확인되면 길이 요소와 비율 요소를 계산하게 된다. “주성분 분석기반 인간과 개의 얼굴 비율 연구[4]”에서 사용한 길이 요소에서 양쪽 눈의 길이 요소는 대부분의 경우에 동일하므로 본 연구에서는 한쪽 눈만 고려하여 길이 요소 7개를 정의하였다(Table 2).
Table 2. Table of Length Elements
Table 2의 길이 요소의 경우 동물 얼굴 실사이미지에서 얼굴의 이미지 크기가 확대되거나 축소되면 길이요소도 커지거나 작아진다. 이는 동물 간 비교뿐만 아니라 동일종의 동물 얼굴의 특징을 비교 분석할 경우에 문제가 발생할 수 있다. 따라서 본 논문에서는 각각의 길이 요소의 비를 구하여 분석을 진행하였다. 정규화과정을 거치면 동물 얼굴의 크기에 상관없이 일정한 비율을 가지게 되고, 얼굴 부위의 위치와 비율은 종별 동물의 얼굴이미지에서 동물을 서로 구분할 수 있는 특징적인 황금비율 요소를 제안할 수 있다. 길이 요소가 가지는 특징점 개수는 7개이고 이를 조합할 수 있는 개수는 조합(Composition)의 식에 의해 7C2로 총 21개이다. Table 3에 각 비율 요소를 계산하는 식을 제안하였으며 이를 사용하여 동물의 얼굴 비율을 계산하였다. 연구에 사용된 동물의 이미지데이터는 선정에 많은 노력을 기울였으나 사진에 조금씩 기울기나 주시 각도가 있다. 이러한 데이터에 대한 보정을 위하여 각 종별 동물의 전체사진에서 R1-R21 값을 평균하여 주성분 분석에 사용하였다. 그 결과 동물 20종에 대한 평균과 표준편차 값을 알 수 있었다. Table 4에서 Table 7은 사람과 늑대, 고양이, 소의 R1-R21의 평균과 표준편차 결과값을 보여준다(Table 4-7).
Table 3. Table of Face Rate Elements
Table 4. Table of Average and Standard Deviation on Human Rate Elements
Table 5. Table of Average and Standard Deviation on Wolf Rate Elements
Table 6. Table of Average and Standard Deviation on Cat Rate Elements
Table 7. Table of Average and Standard Deviation on Cow Rate Elements
4. 실험 결과 및 고찰
4.1 주성분 분석 진행과 결과
주성분 분석을 진행하면 입력한 파라미터의 개수만큼 주성분(Principal Component, PC)이 생성된다. 본 연구에서는 총 21개(R1-R21)의 입력 데이터를 정의하였고, 주성분(Principal Component, PC)도 21개 (PC1-PC21)가 생성된다. 주성분 분석의 특성상 첫 번째 PC인 PC1이 정보량이 가장 많고, PC2가 그 다음으로 많은 정보량을 가지며 나머지 PC들은 순차적으로 정보량의 크기가 줄어든다. 주성분 분석에서는 많은 정보량을 가지는 PC1과 PC2로 2차원 평면에서 분석하고자 하는 내용들을 분석한다. 본 논문도 주성분 분석 진행 후 각 동물의 PC1과 PC2를 2차원 평면에 나타내었다(Fig. 1). 사람은 영장목에 해당하고, 고양이/개, 늑대/곰은 식육목으로 분류하여 표시하였다. 인간과 동물을 목과 아목 수준에서 분류하면 동물이 포함된 목과 아목의 특성도 알 수 있다. 각 동물이 포함되는 목/아목은 Table 8에 제시하였다.
Table 8. Table of Face Rate Elements
Fig. 1. PCA Score Plot with Human and 20 Species Animals. (a)Ploting each Species, (b)Ploting Classification with order.
Fig. 1의 (a)는 사람과 동물 20종을 그래프 상에서 표시한 것이고 (b)는 사람을 포함한 각각의 동물을 생물 분류단계(역-계-문-강-목-과-목-종)에서 생물 분류의 목과 아목 단계로 분류하여 표시한 것이다. 분류기준은 생물분류단계를 기준으로 하여 포유류 20종을 분류하였다.
Fig. 1의 (a)와 (b)에서 동물의 분포를 분석해보면 2차원 그래프에서 위쪽과 우측으로 초식 동물이 분포하고 아래쪽과 좌측으로 육식동물 또는 육식을 주로 하는 동물이 그리고 중간 정도에 쥐와 다람쥐와 같은 설치동물이 분포함을 알 수 있다. 이는 주성분 분석 결과로 육식/초식동물을 구분할 수 있음을 나타내고 그래프에서 각 분포 점의 좌표로 사용되는 동물들의 PC가 동물의 특징을 충분히 나타낸다고 할 수 있다. 일반적으로 주성분 분석에서 PC1을 계산한 후 PC1과 직교하는 PC2를 구하므로 PC1과 PC2가 서로 관련이 없는 특징을 나타내는 것으로 분석이 되는데, 이번 연구에서는 초식 동물은 상/우 육식동물은 하/좌로 분포하므로 PC1과 PC2 모두 육식동물과 초식동물을 구분하는 특징을 가지고 있다고 판단할 수 있다. 다음으로 PC1에서 PC4까지 R1-R21 계수를 Python의 MatPlotLib 라이브러리에서 제공하는 Color Bar로 도표를 Fig. 2에 나타내었다. Fig. 2는 PCA 계수의 크기를 밝기별로 Tile chart로 나타내었다. 명도가 높을수록 계수가 큰 값을 가진다.
Fig. 2. ColorBar Chart on Rate Elements Coefficients for PC1 to PC4.
Table 9와 Table 10은 Fig. 2에서 PC1과 PC2의 비율요소(R1-R21)의 계수(Coefficient)가 큰 순서대로 정렬하여 나타내었고 그 중에서 큰 값 4개를 표시하였다. PC1은 비율 요소 계수(Coefficient)가 큰 값에서 작은 값으로 급격한 차이를 보이지 않고 고르게 분포하나 PC2는 작은 수의 비율 요소 계수 (Coefficient)가 큰 값을 가진다. Table 9와 Table 10의 계수 값을 기준으로 볼 때, 동물 간 구분을 짓는 요소를 찾는 것은 PC2가 더 유용하다고 판단된다. PC1의 상위 4개의 비율요소 계수(Coefficient)는 길이 요소 L6, L7, L3, L1 등의 비율로 구성되므로 미간–코(입) 길이, 얼굴 가로 길이, 눈의 크기가 동물의 종을 구분하는 주요 요소이며, PC2의 상위 4개의 비율 요소 계수(Coefficient)는 길이 요소 L4, L5, L1, L2 등의 비율로 구성되므로 미간–코(입) 길이, 얼굴 가로/세로 길이의 비율로 구성되면 이것이 동물을 구분 짓는 중요한 척도라고 할 수 있다.
Table 9. Sorted Coefficients of Rate Elements that Make up PC1
Table 10. Sorted Coefficients of Rate Elements that Make up PC2
5. 결론
본 논문에서는 인간과 동물 20종에 대한 얼굴의 주요 부위의 위치를 기반으로 비율 요소를 정의하고 주성분 분석을 통해 연구를 진행하였다. 분석을 위해 인간데이터와 동물 20종의 이미지데이터를 수집하고 얼굴 중요 부위의 비율 계산을 위한 위치 데이터를 생성하였다. 동물 20종과 인간 얼굴 데이터의 중요 비율을 대상으로 주성분 분석을 진행하여 결과를 도출하였다. 데이터의 분석을 위하여 얼굴의 길이요소 7개와 길이요소로 조합할 수 있는 비율 요소 21개를 정의하였다. 그리고 각각 동물의 비율 요소를 평균하여 주성분 분석에 사용하였다. 주성분 분석 결과 중요 PC인 PC1과 PC2가 동물의 각각의 특징에 따라 분류되었으며, 동물을 구분할 수 있는 특징을 충분히 가진다고 확인하였다. PC1과 PC2의 중요 계수 (Coefficient)를 구성하는 얼굴 가로/세로, 미간 거리와 눈 크기, 미간과 코의 거리가 동물을 구분하고 동물의 비율적 특징(육식/초식)을 나타내는 요소라고 확인하였다. 육식동물과 초식동물의 얼굴의 비율에 대한 특징이 명확하게 분류되었으며 이는 캐릭터가 가지는 성격에 대한 중요한 요소이다.
본 논문에서는 인간을 포함한 동물의 구분을 위한 차이점을 확인하였다. 향후, 논문 결과를 동물 캐릭터 디자인에 활용하는 연구를 진행할 예정이다.
This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology(2018R1D1A1B07051261)
참고문헌
- Y. Lee and J. Kim, "A Study on The Step of Anthropomorphic Animal Characters in Ani mation," Journal of Korea Multimedia Society, Vol. 12, No. 11, pp. 1661-1670, 2009.
- C.M. Bishop, Pattern Recognition And Machine Learning, Springer, Verlag, Berlin, 2018.
- A.C. Müller and S. Guido, Introduction to Machine Learning with Python: A Guide for Data Scientists, O'REILLT, California, 2017.
- Y.S. Lee and D.W. Ki, "A Study on the Ratio of Human and Dog Facial Components based on Principal Component Analysis," Journal of Korea Multimedia Society, Vol. 23, No. 10, pp. 1339-1347, 2020. https://doi.org/10.9717/KMMS.2020.23.10.1339
- Image Datas(2021), https://pixabay.com (accessed May, 24, 2019).
- IBM Research AI(2008), https://www.research.ibm.com/artificial-intelligence (accessed Oct, 01, 2020).
- IBM(2008), https://ibm.co/2Bbr6hc (accessed Oct, 01, 2020).
- TechCrunch(2013), https://tcrn.ch/2UrEuVp (accessed Oct, 01, 2020).