Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology Vol.8, No.10, October (2018), pp.281-288 http://dx.doi.org/10.21742/ajmahs.2018.10.57 을이용한 스켈레톤애니메이션학습 정윤상 박진호 요약 단일이미지를이용하여스켈레톤애니메이션을추론하여제작할수있는방법을제안한다 을이용하여모델의이미지를학습하게된다 학습된데이터를이용하여루트를포함하여총 개의조인트각도를추론하여스켈레톤애니메이션을생성하게한다 우리는미리준비된 모델을이용하여제작된흑백이미지를이용하여실험을진행했다 흑백이미지의단일채널을이용하여학습을진행함으로써보다쉽고빠르게학습할수있도록하였다 단일이미지는전처리과정을거쳐학습을진행하게된다 학습을통해캐릭터의조인트관절들이추출되며추출된관절을이용하여모델에재매핑하여얼마나유사한지체크하게된다 우리는이러한단일이미지의학습만을통해사람의모션을캡처할수있는방법과가능함을보인다 머신러닝을활용한모션캡처는고비용저효율의현재의모션캡처와애니메이션제작의문제점을해결할수있을것으로기대된다 또한단순이미지와조인트간의관계를이용한학습이아닌다양한파생연구로확장될것을기대하고있다 핵심어 스켈레톤애니메이션 이미지인식 딥러닝 기계학습 Abstract We propose a method to infer skeleton animation by using a single image. CNN is used to learn the image of the model. Using the learned data, a total of 13 joint angles including the root are deduced to generate a skeleton animation. We have experimented with black and white images made using a pre-prepared 3D model. By using the single channel of black and white image, learning can be done more easily and quickly. A single image is processed through preprocessing. Through learning, the joints of the character are extracted and remapped to the model using the extracted joints to check how similar they are. We show that it is possible and possible to capture human motion only through learning of this single image. Motion capture using machine learning is expected to solve the problems of high cost, low efficiency, current motion capture and animation production. In addition, it is expected that it will be extended to various derivative studies rather than learning using the relationship between simple images and joints. Keywords : skeleton animation, image recognition, CNN, deep learning, machine learning. Received(July 14, 2018), Review Result(August 2, 2018), Accepted(September 7, 2018), Published(October 31, 2018) 이논문은 년도정부 교육부 의재원으로한국연구재단의지원을받아수행된기초연구사업임 ISSN: 2383-5281 AJMAHS Copyright 2018 HSST 281
서론 많은산업분야에서문제를해결하기위해머신러닝을사용하는사례가많아지고있다 게임이 나 영화산업에서도머신러닝을다양한방법으로적용하고사용하는사례가늘어나고있다 영 화와게임과같은콘텐츠사업과개발현장에서애니메이션의제작은어려우면서많은비용이드는요인중하나이다 이런요인을줄이고쉽고저렴하게애니메이션을생상하고사용할수있다면콘텐츠제작에들어가는투자금과시간이크게단축될것으로기대된다 우리는이런애니메이션제작의고비용저효율의문제점을해결하기위해서머신러닝을활용한방법을제안한다 해당 논문에서는사람의이미지가아닌준비된사람형태의 모델을이용하여학습을진행하였다 학 습에사용될학습데이터가사람으로제작된데이터화큰차이가없으면서스켈레톤의조인트각도를쉽게받아올수있기때문에해당방법을이용하였다 이미지를보다효율적으로분석하고학 습시킬수있는 를이용하여학습을진행했다 은이미 지를수많은 필터를거치게만들어결과데이터를추론하고학습시키는머신러닝모 델로이미지를이용하는학습에서널리활용되어지고있다 우리는이런 에단일이미지를학습시켜 스켈레톤애니메이션을추론하고생성하는방법에대하여제안한다 우리의방법 학습데이터제작 애니메이션오픈라이브러리인 의애니메이션을 로불러와각스켈레톤관절에따른데이터값을학습데이터로제작하였다 각프레임별애니메이션을불러와 의캡 처기능을이용하여학습입력데이터를생성했다 준비된모델의애니메이션별로스켈레톤의조인트를분석하여출력데이터를생성해주었다 각애니메이션프레임별로루트조인트를뽑아내 고해당조인트를기준으로계층별로 값을저장하였다 각조인트는절대각도가아닌상대각도를기준으로생성되어졌다 이는각관절들이자신의상위관절의 값에영향을미치기 때문이다 또한루트조인트에서부터각계층별로관절마다가중치를두어학습을진행하게해주 었다 추가적으로관절의각도는 도로수정하는작업을거쳤다 이런과정을거치는방법은 가지이유이다 첫번째사람의각관절별최대회전각은 도이상일경우가존재하지않다는점이다 두번째이유는데이터의연속성을주기위해서이다 학습을진행할때연속성이없는데이터를학습할경우정상적인학습을기대하기어렵다 모델의캡쳐된이미지는 해상도의 이미지로만들었다 사용한 모델과애니메이션의스켈레톤관절은 개로총 개의숫자로표현된다 해상도의 이미지는초기입력과정에서그레이스케일로변환해주었다 이는 의경우각각 세가지의채널을이용하여학습을진행 282 Copyright 2018 HSST
Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology Vol.8, No.10, October (2018) 하게된다 또한옷과피부의색상이학습에영향을미친가능성이존재한다 세개의채널을단일 채널로바꿔주게되면필요로하는메모리의양이그만큼줄어들게된다 또한그레이스케일상태 의학습데이터는 데이터로되어있는학습데이터보다색상이결과에미치는영향이줄어들게 된다 그레이스케일이미지는입력데이터로사용되며그에따른 개의관절데이터가출력데이터 로사용되어학습을진행된다 데이터를학습하는모델은 방식을채택하였다 그림 를통해추출한입력데이터이미지 그림 에따른각스켈레톤관절의 을모은출력데이터 ISSN: 2383-5281 AJMAHS Copyright 2018 HSST 283
은학습에사용될모델의이미지를그레이스케일로전환한이미지이다 직접적으로학습에사용되어질데이터이다 의경우학습에사용되게될출력데이터이다 출력데이터의경우각조인트들의 들이담겨있으며각 은자신의상위계층에대한상대값들로 이루어져있다 레이어구성 모델의모션에대한학습과그학습에대한실험을진행은파이썬의텐서플로어를사용하였다 머신러닝을쉽게구현하고진행할수있는라이브러리이다 학습에사용되는입력데이터는 사이즈의이미지이다 미니배치를사용하여한번에 개의데이터를학습에사용하게된다 학습에사용된모션은펀치를하는애니메이션이사용되었다 총 의이미지를활용하여학습을진행하게된다 한번에 개씩학습에사용되도록미니배치를사용하였다 각이미지는매번랜덤으로 개가선택되어학습데이터로활용된다 입력데이터의크기는 이다 총 레이어 개를사용하며 개의노드들로이루어진 레이어두층을사용하게된다 최종출력층의데이터는 의배열로설정했다 첫번째레이어는 레이어이다 개의노드를사용한다 두번째레이어는 레이어로이루어져있으며 개의노드로확장시켰다 이후 레이어두개와 레이어두개로이루어져총 개의 레이어로이루어져있다 각각의노드는 개 개 개 개로확장후축소시키는방식을채택하였다 이는최종 레이어에연결되는배열의수를줄여연산의크기를제한하기위해서이다 마지막 레이어는위에서설명한 레이어한층과연결되어져있다 최종 레이어에서는드롭아 웃을적용시켰다 손실함수 이미지의학습을진행하면서결과값이크게변동되는문제점이발생된다 이는 의픽셀값과이미지의크기에영향을미치기때문이다 우리는이런문제점을해결하기위해 활성함수와평균제곱의오차를손실함수로사용하였다 의경우데이터가 이상일시 무한대까지커지게된다 이는결과데이터를제어하기힘들어져손실함수의크기를매우키우는 결과로이어지게된다 이런문제점을제어하기위해서 활성함수를이용하였다 과 두 가지결과로출력되어결과적으로최종손실함수의크기를보다정확하고빠르게줄여나갔다 손실의함수의경우평균제곱의오차를사용하였는데교차엔트로피를손실함수로사용했을때결 284 Copyright 2018 HSST
Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology Vol.8, No.10, October (2018) 과값의크기가너무커 에서출력하지못한채 으로표시되는문제점이발생되었 다 우리는이런문제점을해결할수있는평균제곱의오차를이용하여손실함수를설정해주어학 습을진행하였다 학습률설정 학습을진행하면서보다안정된학습결과를위해학습의경과에따라학습률을재조정하는방 법을이용하였다 학습은한번에총 만번학습을진행하게된다 우리는 번째학습에서학습률을순차적으로줄여주는방식을선택하여학습을진행하였다 각학습률은 순으로줄여 나갔다 학습률을재조정함으로기존에학습이진행됨에따라발생하던손실함수의크게요동치던문제점을해결해주었다 실험 실험은 환경에서진행되었다 의레이어를모두구성한이후각가중치와 값을 로설정해주었으며 함수로교차엔트로피값을사용하였다 해당과정에서학습이원활하게진행되지않았으며 함수의결과값이매우크게발생하였다 해당문제를해결해주기위해가중치와 의초기값을 방법 을채택하여설정해주었다 또한 함수를변경해주었다 출력값에가장가까운배열을출력해주어야하기때문에배열의거리를최소한으로만드는 함수를설정해주었다 식 에서 는원하는목표값인출력데이터값을의미한다 는 레이어를거친결과값을의미한다 함수는두데이터값의차를제곱으로나타내며두데이터간의거리를수식화한것이다 의확장식인 를사용 하여학습을진행하였다 ISSN: 2383-5281 AJMAHS Copyright 2018 HSST 285
그림 학습의진행 에따른 함수의크기변화 는학습의진행에따른손실함수의크기를 로설정하여출력한이미지이다 은 개의이미지가미니배치로학습되는것을의미한다 초기학습률의경우 으로설정되 어손실함수를줄이는속도가빠르지만시간이지날수록학습률을감소시켜보다정확하고안정된 크기로손실함수를줄여나간다 에서 에달하는큰손실함수결과를보이지만 번이상의학습이진행된이후약 으로손실함수가감소하는것을확인할수있다 이는학습이지속적으로진행되고있다는것을확인할수있다 그림 학습후따른결과이미지 286 Copyright 2018 HSST
Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology Vol.8, No.10, October (2018) 는학습후실험에이용된원본이미지 왼쪽 와학습된 레이어층을거친이미지 오른 쪽 을비교한이미지이다 학습의경우위치 의데이터는이용되지않는다 때문에원본이 미지의각조인트각도만을학습데이터가받아와스켈레톤애니메이션을구성하게된다 두이미지의차이가발생하는것은이러한이유이다 결론 기계학습을통해사람의포즈를담은단일이미지만을이용하여모션캡처가가능함을확인할수있다 정확도면에서훌륭하다할수없지만추가적인실험과레이어수정등을통해서보다좋은성능을보이는모션캡처레이어를제작할수있을것으로기대된다 기계학습을통한모션캡처는영화와게임산업에지대한영향을미칠것이다 기존의모션캡처의방식의경우깊이데이터를이용하여하는방식과장비를사람이직접몸에착용한채진행하는방식두가지가존재한다 두방식은각각정확도가떨어지고빠른동작에서오차가크다는문제점과매우높은장비의비용과사람이장비를착용한상태에서모션캡처를진행해야한다는단점이존재한다 머신러닝을이용하여단일이미지만을이용하여모션캡처를진행할수있다면위의두가지문제점을모두해결할수있을것으로기대한다 이는기존의모션캡처문제점을해결하고저예산게임과영화와같은콘텐츠제작에있어서매우쉽게접근하여제작할수있다는것을의미한다 표 기존모션캡처방식비교 비용정확도제작난이도 깊이센서를이용한 모션캡처방법 저중고 자이로센서를이용한 모션캡처 고고고 마커를이용한모션캡처고고고 ISSN: 2383-5281 AJMAHS Copyright 2018 HSST 287
References [1] V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra and M. Riedmiller, Playing Atari With Deep Reinforcement Learning, NIPS Deep Learning Workshop (2013) Dec 5-10, Nevada, USA [2] https://www.mixamo.com/ [3] A. Krizhevsky, I. Sutskever and G. E. Hinton, ImageNet classification with deep convolutional neural networks, NIPS Deep Learning Workshop (2012) Dec 3-8, Nevada, USA [4] X. Glorot and Y. Bengio, Understanding the difficulty of training deep feedforward neural networks, Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics (2010) Vol.9 pp.249-256 [5] D. Kingma and J. Ba, Adam: A method for stochastic optimization, International Conference for Learning Representations, (2015) May 7-9, San Diego, USA [6] https://en.wikipedia.org/wiki/motion_capture [7] MichaelBowling, ManuelaVeloso, Multiagent learning using a variable learning rate (2002) Vol.136, pp. 147-256 [8] D. Nguyen, B. Widrow, Improving the learning speed of 2-layer neural networks by choosing initial values of the adaptive weights, 1990 IJCNN International Joint Conference on Neural Networks (1990) June pp.17-21, San Diego, USA [9] Yann LeCun, Yoshua Bengio & Geoffrey Hinton, Deep learning, Nature (2015), Vol.521, pp.436-444 [10] Léon Bottou, Stochastic Gradient Descent Tricks, Neural Networks: Tricks of the Trade pp.421-436 288 Copyright 2018 HSST