Korea Digital Contents Society

Journal Archive

Journal of Digital Contents Society - Vol. 23 , No. 1

[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 1, pp. 21-30
Abbreviation: J. DCS
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Jan 2022
Received 01 Dec 2021 Revised 17 Dec 2021 Accepted 05 Jan 2022
DOI: https://doi.org/10.9728/dcs.2022.23.1.21

합성곱 신경망 알고리즘이 도입된 인공지능 인지 시스템을 통한 게임 AI의 행동 메커니즘 향상 및 FPS 게임의 난이도 조절 방법론 제안
안정근1 ; 우탁2, *
1경희대학교 소프트웨어융합과 학사과정
2경희대학교 디지털콘텐츠학과 교수

Improving behavioral mechanism of game AI and controlling difficulty of FPS game through artificial intelligence cognitive system introduced with Convolutional Neural Networks Algorithm
Jung-Geun Ahn1 ; Tack Woo2, *
1Bachelor’s Course, Department of Software Convergence, Kyung Hee University,Yongin-si, Gyeonggi-do, Korea
2Professor, Digital Contents, College of Arts and Design, Kyung Hee University, Yongin-si, Gyeonggi-do, Korea
Correspondence to : *Tack Woo Tel: +82-31-201-3890 E-mail: twoo@khu.ac.kr


Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Funding Information ▼

초록

게임 엔진들이 발전됨에 따라 기본적인 AI 시스템 역시 진일보하였다. 그러나 AI의 시각 인지 시스템은 아직 다른 분야에 비해 발전이 미흡하며, 특히 반투명한 장애물 인식은 매우 부족한 편이다. 따라서 본 연구는 이러한 단점을 극복할 수 있는 기계학습이 가미된 새로운 합성곱 신경망 알고리즘 기반의 AI 색적 시스템을 개발하여 이를 FPS 게임에 적용하였다. 또한 렌더링이 자유로운 게임이라는 특성상 카메라로부터 받은 이미지 데이터를 상황에 따라 분리하여 변형시키는 방법을 도입함으로써, 찾고자 하는 물체가 반투명한 장애물과 겹쳐 있는 경우에도 AI의 관측 정확도를 조절할 수 있는 색적 알고리즘을 제안하였으며, 칙센트미하이의 몰입 그래프에 입각한 이론적인 분석을 통해 이러한 관측 정확도의 조절을 통한 난이도 조절법이 특정 장르의 게임에 대한 플레이어의 몰입감을 높일 수 있는 중요한 요소가 될 수 있음을 연구하였다.

Abstract

With the development of game engines, the basic AI system has also advanced. However, AI's sight perception system is still insufficient compared to other fields, which tends to be particularly noticeable in the case of translucent obstacles. This study attempted to prove that the Convolutional Neural Network Algorithm can contribute significantly to controlling player's immersion through difficulty control of FPS games by developing a new AI system with machine learning to overcome these shortcomings. By introducing a method of separating and transforming image data received from cameras according to circumstances, we proposed a detection algorithm that can adjust AI observation accuracy even when the object to be found overlaps with translucent obstacles, and studied that this difficulty control method can increase players' immersion in specific genre.


Keywords: Machine Learning, Non-Player-Character, Deep Learning, Gamification, Classification, Game AI
키워드: 기계학습, 자율캐릭터, 딥러닝, 게임화, 분류, 게임인공지능

Ⅰ. 서 론

오늘날 다양한 게임 개발 엔진들이 보급됨으로서 기본적으로 탑재된 AI 시스템 역시 진일보하였다. 그러나 가장 중요한 부분에 있어서, 아직 해결하지 못한 많은 문제들이 있다. 그중 하나는 반투명한 장애물 사이에 위치한 오브젝트를 식별하는 능력이 현저하게 떨어진다는 점이다.

예를 들어, 배틀그라운드라는 게임에서 일명 봇이라 불리는 AI 플레이어는 덤불이나 나뭇잎 오브젝트에 숨은 다른 플레이어들을 잡아내지 못하는 한계가 있다. 이는 AI의 시각 인지 시스템의 작동 방법이 라인-트레이스 기반이라 완벽하게 투명한 오브젝트나 불투명한 오브젝트를 식별하는 데는 용이하지만, 반투명한 장애물에 가려진 오브젝트를 식별하는데는 적절한 지표를 얻어낼 수 없기 때문이다.

그러나 최근 머신러닝 기법의 발전으로 인해 그 해결법은 이미 제시된 상태이다. Convolutional Neural Networks(CNN)[1]가 바로 그것으로, 이 CNN 알고리즘은 이미지를 스캔하여 원하는 오브젝트의 존재 유무를 검출할 수 있게 해준다. 만약 이를 이용하여 반투명한 물체 사이에 놓인 목표물을 식별할 수 있는 모델을 만들어 낼 수 있다면 지금보다 한단계 더 높은 AI 시각 인지 시스템 구축을 기대할 수 있을 것이고, 이를 게임 산업에 적용시킬 수만 있다면 AI의 색적 능력를 획기적으로 개선시킬 수 있을 것이라 생각하는 바이며, 궁극적으로 이렇게 향상된 AI 시스템을 이용한 난이도 조절을 통하여 FPS와 같이 색적이 중요시되는 장르의 게임에 대한 플레이어의 몰입감 상승에도 도움을 줄 수 있을 것으로 예상된다.

따라서 본 논문에서는 CNN 기반의 오브젝트 식별 알고리즘을 실험하여 머신러닝 기반의 AI 시각 인지 시스템의 필요성에 대해 연구하고, 각 오브젝트마다 렌더링이 자유로운 게임이라는 매체의 고유한 특성을 이용한 이미지 데이터의 변형 방식의 도입을 통해 AI의 목표 오브젝트에 대한 색적 능력의 조절법을 제시하고, 이를 통해 색적 능력이 중요시되는 FPS 장르의 게임에 대한 난이도 조절 방법론을 제시하고자 한다.


Ⅱ. 관련 연구
2-1 CNN

Convolutional Neural Network(CNN)는 이미지를 분석하기 위한 패턴을 찾는 알고리즘으로써, 이미지 데이터로부터의 직접적인 학습을 통해 이미지 패턴을 학습한다[2]. 이러한 CNN 알고리즘의 핵심적인 특징은 이미지 공간정보를 유지하며 학습을 한다는 것이다. 이는 그림 1에서 확인할 수 있다시피 이미지의 형태를 최대한 보존하도록 행렬 데이터를 입력받아 축소시키는 방법을 사용하고 있으며, 이러한 메커니즘으로 인해 이미지를 백터화 하는 과정에서 발생하는 정보 손실을 최대한 방지하며 학습을 진행할 수 있다는 장점이 있다.


Fig. 1. 
Architecture of CNN

2-2 R-CNN

기존의 CNN 알고리즘에서 한 단계 더 발전한 Regions with Convolutional Neuron Networks features(R-CNN)[3]은 설정한 Region을 CNN의 features로 활용하여 Object Detection 기능을 수행하는 신경망이라 할 수 있다. 이는 CNN이라는 알고리즘이 Object Detection 분야에서도 준수한 성능을 보여줄 수 있다는 것을 방증함과 동시에 그림 2에서 볼 수 있다시피 R-CNN의 기본적인 메커니즘을 Region Proposal과 Classification으로 나뉘어 최적화를 위한 방법론을 제시했다는데 큰 의미가 있다. 여기서 Region Proposal[4]이란 목표하는 물체의 위치를 주어진 이미지 위에서 찾는 과정을 뜻하며 Classification이란 이렇게 찾은 물체를 분류하는 과정을 뜻한다.


Fig. 2. 
Architecture of R-CNN

2-3 Fast R-CNN

Fast R-CNN[5]은 R-CNN 알고리즘의 한계점을 극복하기 위하여 고안된 새로운 모델로, 기존의 알고리즘이 Region Proposal 과정에서 Region of Interset마다 CNN 연산을 함으로써 속도가 저하되었던 단점을 Region of Interest pooling 기법의 도입을 통해 극복했으며, 더 나아가 그림 3의 오른쪽 부분에서 확인할 수 있다시피 Fully-Connected Layer를 사용함으로써 Classification과 Bounding Box Regression까지 단 하나의 모델을 통해 학습이 가능하도록 발전하였다.


Fig. 3. 
Architecture of Fast R-CNN

2-4 Faster R-CNN

비록 Fast R-CNN이 기존의 R-CNN의 복잡한 Pipeline을 통합함으로써 엄청난 성능의 향상을 가져왔으나 아직 Real-time Object Detection에 도달하기에는 속도 면에서 아쉬운 부분이 있었다. 그렇기에 Faster R-CNN[6]에 이르러서는 Fast R-CNN에서 가장 큰 계산 부하를 차지하던 Region proposal의 생성 방식을 그림 4에서 볼 수 있는 Region Proposal Networks(RPN)[7]으로 대체하고 이를 내부 모델로 통합시키는 과정을 거치게 되었고, 그 결과 Faster R-CNN보다 훨씬 빠른 처리속도를 가질 수 있게 되었다.


Fig. 4. 
Architecture of Faster R-CNN

2-5 Mask R-CNN

Faster R-CNN이 기존의 Fast R-CNN에서 속도를 끌어올린 모델이라고 한다면 Mask R-CNN[8]은 Faster R-CNN에 Image Segmentation을 위한 Mask Branch를 추가한 버전에 가깝다.

그림 5에서 볼 수 있다시피 이렇게 추가된 기능으로 인해 사용자는 찾고자 하는 오브젝트들의 위치를 마스크를 통해 이미지 위에서 직관적으로 알 수 있게 되었다. 그러나 그 추가된 기능만큼 처리해야 할 계산 과정도 늘어났기에 속도는 Faster R-CNN보다 느리다는 단점이 있으며 또 반환되는 결과 데이터의 크기 역시 기존의 알고리즘들보다 크게 늘어난다는 맹점이 있다.


Fig. 5. 
Architecture of Mask R-CNN

2-6 언리얼 엔진 기반 AI 시각 인지 시스템

기존의 게임 엔진에서 사용되는 AI 시각 인지 시스템은 일반적으로 라인-트레이스를 통한 충돌 검출 방식을 사용하고 있다. 그림 6에서 볼 수 있듯이, 이는 검출 시작 지점으로부터 측정 범위 안에 위치한 모든 목표 오브젝트들을 향해 가상의 라인들을 그리고 그 각각의 라인들이 목표하는 오브젝트까지 도달하는 과정에서 다른 장애물들에 의한 방해 여부를 확인하는 방식으로, 비교적 가벼운 알고리즘이기에 다수의 오브젝트들에 대해 매 프레임마다 검출 작업을 지시해야할 경우 매우 유용하다.


Fig. 6. 
Unreal Engine4 AI Sight Perception System

그러나 이러한 AI 시각 인지 시스템에는 중대한 문제가 하나 존재한다. 그건 덤불이나 나뭇잎같이 불투명한 장애물에 가려진 오브젝트를 탐지하는데 어려움이 존재한다는 것이다. 이는 전통적인 충돌 검출 방식의 한계로서 눈에 비치는 이미지를 통해 오브젝트를 인지해내는 사람(플레이어)의 식별 능력이 AI에게도 필요하다는 것을 역설하고 있다.

따라서 본 연구에서는 이러한 문제를 해결하기 위해 파이썬 텐서플로우의 R-CNN 알고리즘 기반의 새로운 AI 시각 인지 시스템을 도입했으며, 이를 통해 AI 역시 카메라를 통해 보여지는 이미지를 분석해서 오브젝트를 탐지해낼 수 있는 능력을 갖출 수 있을 것으로 기대된다.

2-7 머신러닝 기반 AI 시각 인지 시스템

머신러닝 기반 AI 시각 인지 시스템은 제시된 이미지에서 찾고자 하는 오브젝트를 탐지해내는 기능을 기본 골자로 하고 있다. 그리고 이를 위해선 이미지 데이터 기반의 오브젝트 색적 시스템을 구현해서 게임 엔진인 언리얼 엔진4에 적용할 수 있어야 한다. 따라서 본 연구에서는 텐서플로우의 Object Detection API[9] 베이스의 Faster R-CNN 모델을 훈련을 위한 기본 알고리즘으로 선택했다. 이는 그림 7에서 볼 수 있는 4가지의 CNN 알고리즘 중 R-CNN 모델부터 하나의 이미지에서 다수의 오브젝트들에 대한 다방면의 데이터를 추출하는데 용이하기 때문이며, 동시에 Mask R-CNN을 포함한 다른 모든 R-CNN 모델들 중에서 Faster R-CNN의 계산 속도가 최고로 빠르기에 게임에 적용시키기 최적이라 판단했기 때문이다.


Fig. 7. 
R-CNN models

기존의 이미지들을 R-CNN 알고리즘 학습에 적합한 데이터 형식으로 바꾸기 위해선 기본적인 JPEG 이미지와 더불어 각각의 이미지 내에서 찾고자 하는 목표물의 위치와 아이디에 대한 추가적인 작업이 필요하다. 그리고 그것에 대한 대가로 훈련이 완료된 R-CNN 알고리즘은 사용자에게 찾고자 하는 목표물의 아이디와 위치 정보를 알려준다. 따라서 본 논문에서는 제한된 환경 속에 위치한 게임 오브젝트를 감시자 AI가 바라보는 카메라 이미지로부터 위치와 아이디를 식별해내는 방향으로 학습된 R-CNN 오브젝트 색적 알고리즘을 생성하고 이를 AI 시각 인지 시스템에 적용시켜 보다 인간에 가까운 인공지능을 구성하여 기존의 인지 시스템과 비교 분석을 해보고자 한다.

2-8 기존 AI 시스템의 한계 극복을 위한 색적 메커니즘

기존의 게임에서 난이도를 위한 변수는 어디까지나 개발자들이 사전에 정한 값에 좌우되며 이는 AI 시스템에서도 예외는 아니다. 그러나 속도, 범위, 체력, 공격력, 방어력 등 개발자가 정할 수 있는 변수는 한정되어 있다. 하지만 그 값에 따라 게임 플레이의 양상은 드라마틱하게 변하고, 플레이어는 달라진 게임의 난이도를 확연하게 체감할 수 있다. 하지만 그것이 특정한 종류의 게임에 한해서는 크게 달라질 수밖에 없다.

특히 배틀그라운드와 같이 색적 능력이 중요시되는 게임의 경우, AI가 플레이어를 찾는 과정 역시 난이도 조절에 상당한 부분을 차지하고 있다. 하지만 덤불과 같이 반투명한 오브젝트에 숨어 가시성을 흐리게 만드는 것이 주 전법 중 하나인 해당 게임에선 AI가 그 안에 숨어있는 플레이어를 발견할 수 있는지 없는지에 대한 판단 기준을 사전에 설정해 놓은 고정된 수치에 의존할 수만은 없다. 따라서 기존과 다른 새로운 판단 기준이 필요했고 본 연구에서는 그것을 R-CNN 기반의 카메라 이미지 인식 기술의 도입을 통해 해결하려고 하였다.

하지만 난이도 조절에는 여전히 어려움이 따른다. 머신러닝 알고리즘은 그 특성상 한번 완성되고 나면 계산 과정에 변수를 끼워 넣는 것이 극도로 어렵다. 알고리즘을 통해 얻어낸 정확도에 대해 반응하기 시작하는 임계값을 조절해 관측 결과에 대한 AI의 반응 민감도를 조절함으로서 행동 빈도를 조절하는 것은 가능하지만 근본적으로 관측의 정확도를 높이거나 낮출 수는 없기 때문이다. 일반적인 경우라면 이를 위해서는 동일한 목표물에 대한 다양한 수준의 R-CNN 색적 알고리즘이 필요한 법이고 이는 필연적으로 수배에서 많게는 수십배의 훈련 데이터가 필요하게 될 것이다.

하지만 본 논문에서는 이러한 과도한 훈련 문제를 해결하는 동시에 관측 정확도를 조절하기 위하여 그림 8과 같이 오브젝트 식별을 위해 게임 내 카메라로부터 받는 이미지 데이터를 변형시키는 방법을 택했다. 이는 게임이라는 매체의 특성상 찾고자 하는 목표물과 주변 오브젝트들을 구분해서 렌더링할 수 있다는 장점을 이용한 것으로, 주변 장애물들의 명도를 낮춰 목표물을 돋보이게 한다면 기존의 경우보다 높은 색적 정확도를 얻을 수 있을 것이라는 가정에서 시작한 실험이라 할 수 있다.


Fig. 8. 
Deformed Game Camera Image

2-9 게임 AI 행동 메커니즘과 플레이어 몰입의 상관관계

Search And Fight 장르의 FPS 서바이벌 게임에서 목표물을 찾아내는 능력은 게임의 난이도와 직결된다. 그리고 게임의 난이도는 플레이어의 몰입과 깊게 연결이 되어 있다.

그림 9에서 볼 수 있는 Mihaly Csikszentmihalyi[10]의 저서에 기술된 플로우 채널 그래프에 따르면, Flow(몰입)을 위해선 해당 게임에 대한 플레이어의 숙련도와 비례하는 난이도가 필요하다. 플레이어의 실력보다 낮은 난이도는 지루함을 유발하고 높은 난이도는 불안감을 유발하여 몰입 상태에 이르게 하는데 방해가 되기 때문이다. 하지만 기존의 AI 시각 인지 시스템은 NPC AI의 색적 능력을 충분히 조절할 수 없다. 이는 난이도 조절의 어려움으로 인해 플레이어를 몰입 상태에 이르게 하기 힘들다고도 할 수 있다.


Fig. 9. 
Graph of Immersion Flow[10]

하지만 본 논문에서 제시한 R-CNN 기반의 AI 시각 인지 시스템은 인간과 비슷한 수준의 이미지 인식 알고리즘을 제공하는 동시에 입력받은 이미지 데이터의 변형을 통해 관측 정확도를 조절하고 그 관측 정확도에 대한 AI의 반응 임계값을 조절함으로서 기존의 AI 인지 시스템으로는 조절할 수 없었던 NPC AI의 색적 능력에 대한 폭넓은 난이도의 조절이 가능해질 것으로 예상된다.


Ⅲ. 방법론
3-1 CNN AI Sight Perception System 모델 구조

본 논문의 머신러닝 기반의 AI 시각 인지 시스템에 사용된 알고리즘은 목표하는 오브젝트를 게임 내의 장애물 사이에서 찾아내는 것을 궁극적인 지향점으로 하고 있다.

이를 위해선 각 이미지 내에서 찾고자 하는 목표물에 대한 위치값과 분류값을 알고리즘에 대한 반환 결과로 얻어낼 수 있어야 한다. 따라서 그러한 기능을 포함하고 있는 그림 10의 모델들 중 제일 최신 버전이라 할 수 있는 Faster R-CNN을 알고리즘 훈련에 사용하기로 하였다. Faster R-CNN은 찾고자 하는 타겟에 대한 위치화 과정에서 적당한 위치를 제안하는 Region Proposal 과정을 그림11과 같이 Anchor Box의 도입을 통하여 해결하였다. 덕분에 표 1에서 볼 수 있는 것처럼 다른 R-CNN 모델들보다 처리속도 면에서 우월하다[11]. 게다가 파이썬의 텐서플로우에는 그림 12와 같은 Object Detection API라는 편리한 툴이 깃허브에 컨트리뷰트가 되어있어 머신러닝 입문자도 해당 알고리즘에 손쉽게 배울 수 있다는 장점이 있다. 따라서 본 논문에서는 연구 데이터를 취득하기 위한 도구로서 Faster R-CNN모델을 채용한 파이선 텐서플로우의 Object Detection API Tool을 사용하기로 하였다.


Fig. 10. 
Development of R-CNN Algorithm


Fig. 11. 
Structure of Faster-RCNN’s Region Proposal[6]

Table 1. 
Processing Speed According to RCNN Type[11]
System Time 07 data 07 + 12 data
R-CNN ~50s 66.0 -
Fast R-CNN ~2s 66.9 70.0
Faster R-CNN ~198ms 69.9 73.2


Fig. 12. 
Tensorflow’s Object Detection API[9]

해당 연구에 사용된 알고리즘이 찾아내야 할 캐릭터 오브젝트의 종류는 총 45종이며 색적을 방해하는 물체로는 20종의 불투명한 장애물 오브젝트(나무, 목재, 장식물, 바위)와 20종의 반투명한 장애물 오브젝트(꽃, 나뭇잎, 덤불)가 있다.

또한 알고리즘 훈련의 베이스로 Object Detection API를 사용하였기에 사전에 훈련이 되어있는 Detection Model Zoo[12]의 ‘SSD MobileNet V2 FPNLite 640x640’을 선택하여 재사용하였으며, 해당 알고리즘이 이미 ‘COCO 2017 Dataset’를 기반으로 기초적인 물체 인식 알고리즘이 형성되어 있다는 점을 이용하여 그 기반 위에 추가로 커스텀 데이터들을 쌓아 올리는 방법을 사용하여 탐색과 훈련에 대한 자원을 아꼈다.

추가로 학습에 사용된 이미지의 크기는 width 640, height 640이며 Learning Rate는 0.08, Batch_Size는 10, Training Steps는 33000으로 설정하였으며 캐릭터마다 서로 다른 3가지 모션이 설정된 총 24000개의 이미지를 학습에 사용하였다.

3-2 CNN AI Sight Perception System 연결

훈련이 완료된 R-CNN 알고리즘을 언리얼 엔진4에 연결하였다. 계산을 위한 텐서플로우로는 언리얼 엔진4에 내장된 파이썬을 사용하였으며 감시자 AI는 카메라를 통해 얻어낸 이미지를 Numpy Array를 통한 변환 합성 과정을 거쳐 재생성한 후 머신러닝 알고리즘에 입력값으로 보낸다. 그리고 반환 결과로 위치값과 분류값, 그리고 위치값에 대한 정확도 퍼센트지를 받아 언리얼 엔진의 Widget에 표시한다. 이러한 연결 구조를 도식으로 표현하면 그림13과 같다.


Fig. 13. 
RCNN-Tensorflow-Python-UE4 Connect Structure


Ⅳ. 구현 및 결과
4-1 구현 환경

언리얼 엔진에서 R-CNN 알고리즘을 구현하고 테스트하기 위하여 본 연구에서는 그림 14와 같은 간단한 게임을 하나 제작해 구동하였다. 해당 게임은 드라마 오징어 게임의 인형을 닮은 감시자 NPC 1명과 색적의 대상이 되는 45종류의 캐릭터 89명으로 진행된다. 여기서 플레이어는 게임을 시작하며 45종류의 캐릭터 중 하나를 랜덤으로 배정받으며 플레이어로 배정된 캐릭터를 제외한 나머지 44종류의 캐릭터는 각각 2명씩 AI 플레이어에게 무작위로 할당되어 시작 지점에 생성된다.


Fig. 14. 
Game Environment For CNN Searching System

본 게임의 기본적인 룰은 ‘무궁화 꽃이 피었습니다’와 ‘숨바꼭질’을 섞은 것으로, Move Phase와 Hide Phase로 나뉘어 진행된다. Move Phase에는 플레이어와 AI 플레이어는 목표 지점인 정면의 인형을 향해 이동하게 된다. 그리고 일정 시간이 지나 Move Phase에서 Hide Phase로 들어가게 되면 플레이어들은 감시자 NPC에게 들키지 않도록 몸을 숨겨야 한다. 이때 플레이어는 불투명한 장애물 뒤로 우회해 자신의 몸을 확실히 숨기는 방법과 반투명한 장애물(꽃, 덤불, 나뭇잎) 안에 숨어 컴퓨터의 머신러닝 알고리즘 판정을 통과하는 방법을 선택할 수 있다. 여기서 컴퓨터의 R-CNN 알고리즘 판정을 통과하는 것은 약간의 위험을 감수하게 되지만 목표 지점까지 최단 거리로 이동할 수 있게 되어 클리어 시간을 단축하는데 유리하다. 또한 플레이어를 Flow(몰입) 상태로 유도하기 위한 방법의 일환으로서, 옵션에 들어가 머신러닝 알고리즘에 보내질 이미지의 변형 정도를 조절하여 감시자 NPC의 관측 정확도를 조절함으로써 전반적인 난이도를 설정할 수 있다.

4-2 훈련 데이터

본 논문에서 제작한 R-CNN 알고리즘의 훈련에 들어간 이미지 데이터의 개수는 총 24000개로 45종류의 캐릭터가 포함된 이미지들이 라벨링[13] 과정을 거쳐 R-CNN 모델의 훈련 데이터값으로 들어갔다. 이때 라벨링이란 해당 이미지에 있는 캐릭터의 ID와 위치 정보를 xml 형식으로 저장하여 이미지 데이터와 묶는 과정을 뜻하는 것으로, 이를 위해선 각각의 이미지에 추가적인 데이터를 하나하나 기록해야 하는 복잡한 과정을 수행해줘야 하지만 그 대가로 하나의 이미지에서 여러 개의 오브젝트를 검출할 수 있게 되는 동시에 그들의 아이디와 위치 데이터를 반환받을 수 있게 된다.

4-3 훈련 과정과 결과

2만4천 개의 라벨링[13]이 된 이미지 데이터를 10의 Batch Size로 33000번 Train Steps를 돌렸으며 그 과정에서 얻어낸 훈련의 결과는 다음과 같다.

그림 12부터 그림 15까지 텐서보드에 기록된 그래프 참고하면 Loss가 꾸준히 줄어드는 것이 볼 수 있다. 이는 훈련이 성공적으로 종료되어 해당 알고리즘이 실제 게임에서도 비슷한 종류의 이미지들을 분류할만한 능력을 갖췄다는 것을 의미한다.


Fig. 15. 
Training Image Datas

4-3 비교 테스트 환경

플레이어를 Flow(몰입) 상태에 들어가게 하기 위한 가장 기본적인 조건은 플레이어의 실력에 따라 난이도를 유동적으로 조절할 수 있는 것이다. 따라서 동일한 환경, 동일한 카메라 각도를 통해 얻어낸 이미지에서 목표하는 캐릭터를 제외한 배경의 명도를 조절하는 데이터 변형과정을 거쳤을 때 유의미한 관측 정확도의 차이를 보일 수 있어야 한다. 따라서 배경 명도를 10%로 낮춰 찾고자 하는 목표물을 극단적으로 드러내 관측 정확도를 높인 경우와 명도를 전혀 변형시키지 않은 원본 이미지를 R-CNN 머신러닝 알고리즘에 넣은 경우를 임의로 상정하여 같은 대상에 대한 두 경우의 정확도를 비교해 보고자 한다.

4-4 비교 테스트 결과

각 캐릭터들에 대한 관측 정확도 테스트 결과 표 2그림 17의 결과를 얻을 수 있었다. 여기서 표 2의 Image(100%)는 변형이 가해지지 않은 오리지널 이미지를 통해 얻어낸 결과값을 뜻하고, Image(10%)는 목표물을 제외한 배경 오브젝트들의 명도를 10%로 낮춘 이미지를 통해 얻어낸 결과값을 뜻하며, 아래의 그림 17은 이러한 반환값들 중 일부를 골라내 이미지 데이터로 변환시켜 가져온 결과물이라 할 수 있다.

Table 2. 
Table of Average Searching Accuracy by Image Deformation Degree
ID Image(100%) Classification Accurarcy Image(100%) Localization Accurarcy Image(10%) Classification Accurarcy Image(10%) Localization Accurarcy
1 True 89% True 94%
2 True 77% True 78%
3 True 63% True 72%
4 True 92% True 93%
5 True 87% True 95%
6 True 90% True 91%
7 True 91% True 94%
8 False - False -
9 True 79% True 82%
10 True 84% True 84%
11 True 97% True 98%
12 True 89% True 91%
13 True 95% True 96%
14 True 87% True 89%
15 True 97% True 96%
16 False - True 56%
17 True 51% True 89%
18 True 90% True 91%
19 True 90% True 92%
20 True 93% True 93%
21 True 89% True 92%
22 True 81% True 91%
23 True 89% True 96%
24 True 84% True 85%
25 True 91% True 88%
26 True 92% True 93%
27 True 89% True 91%
28 True 90% True 92%
29 True 91% True 91%
30 False - True 86%
31 False - False -
32 True 92% True 96%
33 True 68% True 85%
34 True 98% True 98%
35 True 93% True 93%
36 True 89% True 91%
37 True 74% True 84%
38 True 94% True 94%
39 True 88% True 92%
40 True 95% True 90%
41 True 66% True 70%
42 True 92% True 93%
43 True 85% True 86%
44 True 86% True 95%
45 True 72% True 78%
Av 78.42222% 84.9777%


Fig. 16. 
Localization Loss According to Algorithm Training


Fig. 17. 
Classification Loss According to Algorithm Training


Fig. 18. 
Regularization Loss According to Algorithm Training


Fig. 19. 
Total Loss According to Algorithm Training


Fig. 20. 
Image Data with Background Brightness Deformed


Fig. 21. 
Part of result value of Faster R-CNN Algorithm

표2그림 17의 결과에 따르면 배경 오브젝트의 밝기의 변형 정도가 높은 이미지들이 평균적으로 높은 정확도를 보였으며 그것이 장애물에 가려져 관측하기 어려운 경우일수록 그 퍼센트의 차이가 커지는 것을 알 수 있었다. 이는 배경 명도 조절의 퍼센트지를 일종의 난이도 컨트롤을 위한 변수로서 사용할 수 있다는 것을 의미한다. 따라서 기존의 AI 시각 인지 시스템을 대신하여 도입한 R-CNN 기반의 AI 시각 인지 시스템이 색적이 중요한 장르의 게임에서 플레이어의 몰입을 위한 난이도 조절에 유의미한 기여를 할 수 있다는 것을 의미한다.


Ⅴ. 결 론

본 연구에서는 기존의 AI 시각 인지 시스템으로 해결할 수 없는 난이도 조절에 대한 해결책으로 머신러닝 Faster R-CNN 기반의 오브젝트 색적 알고리즘을 제시하였으며 소규모의 게임 콘텐츠를 제작해 실제 게임에서도 이미지 데이터의 변형을 통해 다수의 CNN 알고리즘을 제작하지 않아도 AI의 색적 정확도를 조절을 할 수 있다는 것을 증명했다. 이는 난이도 조절에 대한 적절한 지표가 없어 예외사항을 통해 부자연스럽게나마 난이도 조절을 시도할 수 밖에 없었던 지금까지의 게임들과 다르게 플레이어를 Flow(몰입) 상태로 이끄는 것이 한결 매끄러워졌다는 것을 뜻한다.

본 연구는 색적 과정이 주가 되는 장르에서 카메라로 원하는 오브젝트만 따로 렌더링을 할 수 있는 게임이라는 매체의 장점을 살려 풀어낸 논문으로서, 초보 제작자들도 쉽게 따라할 수 있는 기초적인 가이드라고도 할 수 있다. 언리얼 엔진을 통해 이미지 데이터를 취득하는 동시에 변형시킬 수 있다는 점에서 훈련을 위한 라벨링 과정 역시 자동화를 할 수 있다면 향후 머신러닝 기반의 인공지능 인지 시스템을 일반화할 수 있으리라 기대하는 바이며, 메타버스를 위한 VR[14] 환경을 설계하며 플레이어와 직관적인 상호작용을 하는데도 크게 도움이 될 것으로도 기대된다.

또한 추후 연구에서는 논리적인 해석에서 벗어나 색적이 주가 되는 FPS 게임을 실제 제작하여 머신러닝 기반의 AI 시각 인지 시스템으로 인한 난이도의 변화가 플레이어의 몰입감 상승에 과연 직접적인 영향력을 끼칠 수 있는지에 대한 실험을 진행할 예정이다.


Acknowledgments

본 결과물은 교육부 및 한국연구재단의 재원으로 디지털 신기술 인재양성 혁신공유대학 사업비를 지원받아 수행된 연구결과입니다.(B0080706000707)


References
1. Albawi, Saad, Tareq Abed Mohammed, Saad Al-Zawi. “Understanding of a convolutional neural network.” 2017 International Conference on Engineering and Technology, pp. 1-6, August 2017.
2. O'Shea, Keiron, and Ryan Nash. "An introduction to convolutional neural networks.", 2015.
3. Girshick, R., Donahue, J., Darrell, T., & Malik, J, “Rich feature hierarchies for accurate object detection and semantic segmentation.”, in Proceedings of the 2014 IEEE conference on computer vision and pattern recognition, pp. 580-587, June 2014.
4. Uijlings, J. R., Van De Sande, K. E., Gevers, T., & Smeulders, A. W., “Selective search for object recognition.” International journal of computer vision, Vol. 104, No. 2, pp. 154-171, April 2013
5. Girshick, Ross, “Fast r-cnn”, in Proceedings of the 2015 IEEE international conference on computer vision, pp. 1440-1448, December 2015.
6. Ren, S., He, K., Girshick, R., & Sun, J, “Faster R-CNN: Towards real-time object detection with region proposal networks.”, IEEE transactions on pattern analysis and machine intelligence, Vol. 39, No. 6, pp. 1137-1149, June 2016.
7. Li, B., Yan, J., Wu, W., Zhu, Z., & Hu, X., “High performance visual tracking with siamese region proposal network.”, In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 8971-8980, June 2018.
8. He, K., Gkioxari, G., Dollár, P., Girshick, R., “Mask r-cnn”, In Proceedings of the 2017 IEEE international conference on computer vision, pp. 2961-2969, January 2018
9. TensorFlow Object Detection API by vighneshbirodkar, https://github.com/tensorflow/models/tree/master/research/object_detection
10. Csikszentmihalyi, Mihaly, and Mihaly Csikzentmihaly, Flow: The psychology of optimal experience, New York: Harper & Row, pp. 1-336, 1990.
11. Object detector R-CNN/Fast R-CNN/Faster R-CNN/SSD, https://seongkyun.github.io/papers/2019/01/06/Object_detection
12. TensorFlow 2 Detection Model Zoo by vighneshbirodkar, https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md
13. Gao, J., Wang, J., Dai, S., Li, L. J., & Nevatia, R., “Note-rcnn: Noise tolerant ensemble rcnn for semi supervised object detection.” In Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision, pp. 9508-9517, November 2019
14. Nevelsteen, Kim JL, "Virtual world, defined from a technological perspective and applied to video games, mixed reality, and the Metaverse.", Computer Animation and Virtual Worlds 29.1, pp. 1-20, May 2017.

저자소개

안정근(Jung-Geun Ahn)

2022년 : 경희대학교 기계공학과 (학사) 소프트웨어융합과(학사) 졸업 예정

2012년~현 재: 경희대학교 기계공학과 및 소프트웨어융합과 학사과정

※관심분야 : 머신러닝(Machine Learning), 메타버스(Metaverse)

우탁(Tack Woo)

2002년 : University of Dundee (UK), Electronic Imaging. BA (Honours)

2004년 : University of Dundee (UK), Electronic Imaging. MSc (이학석사)

2010년 : University of Dundee (UK), Electronic Imaging. (게임학), PhD (이학박사)

2004년~2007년: University of Dundee, Lecturer

2007년~2010년: KAIST 엔터테인먼트 공학연구소, 선임연구원 (기능성 게임랩)

2010년~2012년: KAIST 문화기술대학원, Digital Art & Entertainment Track 교수 (게임)

2012년~2013년: 서울대학교 차세대융합기술연구원, 게임융합미디어연구센터 센터장

2013년~현 재: 경희대학교 디지털콘텐츠학과 교수

※관심분야:기능성 게임, 게임화, 게임문화, VR/AR 콘텐츠