<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>https://capstone.uos.ac.kr/cdc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=4%EC%A1%B0%284%EC%A1%B0%29</id>
		<title>cdc wiki - 사용자 기여 [ko]</title>
		<link rel="self" type="application/atom+xml" href="https://capstone.uos.ac.kr/cdc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=4%EC%A1%B0%284%EC%A1%B0%29"/>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php/%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/4%EC%A1%B0(4%EC%A1%B0)"/>
		<updated>2026-05-04T09:55:16Z</updated>
		<subtitle>사용자 기여</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2727</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2727"/>
				<updated>2019-12-26T13:53:23Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 이론적 계산 및 시뮬레이션 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:CNN_1.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:CNN_2.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
[[파일:ㅁㅇ.png]]&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2725</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2725"/>
				<updated>2019-12-26T13:53:07Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개념설계안 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:CNN_1.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:CNN_2.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
[[파일:ㅁㅇ.png]]&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%E3%85%81%E3%85%87.png&amp;diff=2720</id>
		<title>파일:ㅁㅇ.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%E3%85%81%E3%85%87.png&amp;diff=2720"/>
				<updated>2019-12-26T13:51:19Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2719</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2719"/>
				<updated>2019-12-26T13:50:13Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개념설계안 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:2.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
[[파일:ㅁㅇ.jpg]]&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2718</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2718"/>
				<updated>2019-12-26T13:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개념설계안 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:2.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
[[파일:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2716</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2716"/>
				<updated>2019-12-26T13:48:29Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 상세설계 내용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:2.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2715</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2715"/>
				<updated>2019-12-26T13:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 상세설계 내용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
[[파일:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.&lt;br /&gt;
&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:2.png]]&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다&lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:4.png]]&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:5.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:6.png]]&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:7.png]]&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[파일:8.png]]&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2713</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2713"/>
				<updated>2019-12-26T13:44:53Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 향후계획 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다. 다음은 일반적인 DNN과 CNN을 비교한 그림이다.&lt;br /&gt;
&lt;br /&gt;
왼쪽은 일반적인 3-layer Neural Netork, 오른쪽은 CNN을 3차원으로 표현한 그림이다.&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
위 그림과 같이 필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 ENlas서 필터를 적용한다. 위의 그림과 같은 예시에서는 stride=1임을 알 수 있다.&lt;br /&gt;
따라서 입력 크기를 , 필터 크기를 , 출력 크기를 , padding을 , stride를 라 하면 출력 크기는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
이 때 는 정수로 나누어 떨어지는 값이어야 하지만, 딥러닝 라이브러리에서는 가까운 정수로 반올림 하는 등 에러내지 않고 진행하는 경우도 있다. &lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 ᄊᆞᇂ으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
위의 그림은 레이어의 깊이와 그에 따른 오류율의 변화 추세를 보여준다. VGGNet 이전에는 비교적 얕은 layer의 모델을 주로 사용했으나, VGG Net 이후 깊은 layer가 자주 사용되기 시작했다. &lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
각 논문에 대한 이해와 추가 정보를 찾아 시스템 구현에 필요한 배경 지식 습득&lt;br /&gt;
Unity 개발 도구를 이용한 VR 게임 구현&lt;br /&gt;
Vuforia 개발 도구를 이용한 AR 시스템 구현&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2712</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2712"/>
				<updated>2019-12-26T13:42:41Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 완료작품의 평가 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다. 다음은 일반적인 DNN과 CNN을 비교한 그림이다.&lt;br /&gt;
&lt;br /&gt;
왼쪽은 일반적인 3-layer Neural Netork, 오른쪽은 CNN을 3차원으로 표현한 그림이다.&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
위 그림과 같이 필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 ENlas서 필터를 적용한다. 위의 그림과 같은 예시에서는 stride=1임을 알 수 있다.&lt;br /&gt;
따라서 입력 크기를 , 필터 크기를 , 출력 크기를 , padding을 , stride를 라 하면 출력 크기는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
이 때 는 정수로 나누어 떨어지는 값이어야 하지만, 딥러닝 라이브러리에서는 가까운 정수로 반올림 하는 등 에러내지 않고 진행하는 경우도 있다. &lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 ᄊᆞᇂ으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
위의 그림은 레이어의 깊이와 그에 따른 오류율의 변화 추세를 보여준다. VGGNet 이전에는 비교적 얕은 layer의 모델을 주로 사용했으나, VGG Net 이후 깊은 layer가 자주 사용되기 시작했다. &lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
&lt;br /&gt;
  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
  WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
&lt;br /&gt;
◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:3.png]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.&lt;br /&gt;
&lt;br /&gt;
◇ 현*연 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 김*영 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
◇ 현*지 : 설계, 구현, 테스트&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
각 논문에 대한 이해와 추가 정보를 찾아 시스템 구현에 필요한 배경 지식 습득&lt;br /&gt;
Unity 개발 도구를 이용한 VR 게임 구현&lt;br /&gt;
Vuforia 개발 도구를 이용한 AR 시스템 구현&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
&lt;br /&gt;
목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
부족했던 부분, 아쉬웠던 부분을 피드백해 기존에 구현했던 시스템을 재공학하고, 더 나아가 더 실용적이고 독창적인 시스템 개발에 주력&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2705</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2705"/>
				<updated>2019-12-26T13:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 프로토타입 사진 혹은 작동 장면 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다. 다음은 일반적인 DNN과 CNN을 비교한 그림이다.&lt;br /&gt;
&lt;br /&gt;
왼쪽은 일반적인 3-layer Neural Netork, 오른쪽은 CNN을 3차원으로 표현한 그림이다.&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
위 그림과 같이 필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 ENlas서 필터를 적용한다. 위의 그림과 같은 예시에서는 stride=1임을 알 수 있다.&lt;br /&gt;
따라서 입력 크기를 , 필터 크기를 , 출력 크기를 , padding을 , stride를 라 하면 출력 크기는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
이 때 는 정수로 나누어 떨어지는 값이어야 하지만, 딥러닝 라이브러리에서는 가까운 정수로 반올림 하는 등 에러내지 않고 진행하는 경우도 있다. &lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 ᄊᆞᇂ으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
위의 그림은 레이어의 깊이와 그에 따른 오류율의 변화 추세를 보여준다. VGGNet 이전에는 비교적 얕은 layer의 모델을 주로 사용했으나, VGG Net 이후 깊은 layer가 자주 사용되기 시작했다. &lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
&lt;br /&gt;
1)  시장상황&lt;br /&gt;
&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
&lt;br /&gt;
2)  Customer (고객)&lt;br /&gt;
&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
&lt;br /&gt;
3)  Company (회사)&lt;br /&gt;
&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
   	  Strengths (강점)&lt;br /&gt;
&lt;br /&gt;
	(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
&lt;br /&gt;
	(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
&lt;br /&gt;
	(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
&lt;br /&gt;
	(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
	  Weakness (약점)&lt;br /&gt;
&lt;br /&gt;
	(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
&lt;br /&gt;
	2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
&lt;br /&gt;
	  Opportunities (기회)&lt;br /&gt;
&lt;br /&gt;
	(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
&lt;br /&gt;
	(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
&lt;br /&gt;
	(5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
&lt;br /&gt;
	  Threats (위협)&lt;br /&gt;
&lt;br /&gt;
	(1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
&lt;br /&gt;
	(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
&lt;br /&gt;
	(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
&lt;br /&gt;
	  SO 전략&lt;br /&gt;
&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
	  ST 전략&lt;br /&gt;
&lt;br /&gt;
          Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
&lt;br /&gt;
          클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
&lt;br /&gt;
          WO 전략&lt;br /&gt;
&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
&lt;br /&gt;
  WT 전략&lt;br /&gt;
&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
&lt;br /&gt;
  Competitor (경쟁사)&lt;br /&gt;
&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ STP 전략&lt;br /&gt;
&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
&lt;br /&gt;
  Product (제품)&lt;br /&gt;
&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
&lt;br /&gt;
  Price (가격)&lt;br /&gt;
&lt;br /&gt;
o  무료&lt;br /&gt;
&lt;br /&gt;
  Place (유통)&lt;br /&gt;
&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
4차 산업 혁명 시대와 발맞춰 많은 관심을 불러일으키고 다양한 사용자들의 네트워크를 형성함으로써 높은 기대효과를 만족시킴&lt;br /&gt;
현재 각광 받는 기술에 대한 시스템, 게임 등의 친숙한 소재의 활용으로 이해도를 더하고 접근성을 높임&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
실제 시스템을 적용하는 것 외에 비용이 들지 않음을 고려해 경제적이고 또한, 기대효과가 큰 기술임을 감안해 큰 파급효과를 예상함&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2013920021 남영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920033 이연우&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
각 논문에 대한 이해와 추가 정보를 찾아 시스템 구현에 필요한 배경 지식 습득&lt;br /&gt;
Unity 개발 도구를 이용한 VR 게임 구현&lt;br /&gt;
Vuforia 개발 도구를 이용한 AR 시스템 구현&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
아쉬운 부분과 부족한 부분이 많았지만 VR, AR에 대한 이해를 더하고 전문성을 길러 관련 시스템을 구현, 개발했다는 것에 큰 의의를 둠&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
부족했던 부분, 아쉬웠던 부분을 피드백해 기존에 구현했던 시스템을 재공학하고, 더 나아가 더 실용적이고 독창적인 시스템 개발에 주력&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC5.png&amp;diff=2704</id>
		<title>파일:그림5.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC5.png&amp;diff=2704"/>
				<updated>2019-12-26T13:33:52Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC4.png&amp;diff=2703</id>
		<title>파일:그림4.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC4.png&amp;diff=2703"/>
				<updated>2019-12-26T13:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC3.png&amp;diff=2701</id>
		<title>파일:그림3.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC3.png&amp;diff=2701"/>
				<updated>2019-12-26T13:32:55Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC2.png&amp;diff=2700</id>
		<title>파일:그림2.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC2.png&amp;diff=2700"/>
				<updated>2019-12-26T13:32:24Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2699</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2699"/>
				<updated>2019-12-26T13:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 프로토타입 사진 혹은 작동 장면 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다. 다음은 일반적인 DNN과 CNN을 비교한 그림이다.&lt;br /&gt;
&lt;br /&gt;
왼쪽은 일반적인 3-layer Neural Netork, 오른쪽은 CNN을 3차원으로 표현한 그림이다.&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
위 그림과 같이 필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 ENlas서 필터를 적용한다. 위의 그림과 같은 예시에서는 stride=1임을 알 수 있다.&lt;br /&gt;
따라서 입력 크기를 , 필터 크기를 , 출력 크기를 , padding을 , stride를 라 하면 출력 크기는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
이 때 는 정수로 나누어 떨어지는 값이어야 하지만, 딥러닝 라이브러리에서는 가까운 정수로 반올림 하는 등 에러내지 않고 진행하는 경우도 있다. &lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 ᄊᆞᇂ으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
위의 그림은 레이어의 깊이와 그에 따른 오류율의 변화 추세를 보여준다. VGGNet 이전에는 비교적 얕은 layer의 모델을 주로 사용했으나, VGG Net 이후 깊은 layer가 자주 사용되기 시작했다. &lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
  시장상황&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
  Customer (고객)&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
  Company (회사)&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
   	  Strengths (강점)&lt;br /&gt;
		   1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
		   2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
		   3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
		   4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
		   5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다&lt;br /&gt;
	       	  Weakness (약점)&lt;br /&gt;
		   1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
		   2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
	       	  Opportunities (기회)&lt;br /&gt;
		   1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
		   2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
		   3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
		   4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
		   5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
		  Threats (위협)&lt;br /&gt;
		   1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
		   2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
		   3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
		  SO 전략&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
	  ST 전략&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
  WO 전략&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
  WT 전략&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
  Competitor (경쟁사)&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ◇ STP 전략&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
  Product (제품)&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
  Price (가격)&lt;br /&gt;
o  무료&lt;br /&gt;
  Place (유통)&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
4차 산업 혁명 시대와 발맞춰 많은 관심을 불러일으키고 다양한 사용자들의 네트워크를 형성함으로써 높은 기대효과를 만족시킴&lt;br /&gt;
현재 각광 받는 기술에 대한 시스템, 게임 등의 친숙한 소재의 활용으로 이해도를 더하고 접근성을 높임&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
실제 시스템을 적용하는 것 외에 비용이 들지 않음을 고려해 경제적이고 또한, 기대효과가 큰 기술임을 감안해 큰 파급효과를 예상함&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2013920021 남영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920033 이연우&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
각 논문에 대한 이해와 추가 정보를 찾아 시스템 구현에 필요한 배경 지식 습득&lt;br /&gt;
Unity 개발 도구를 이용한 VR 게임 구현&lt;br /&gt;
Vuforia 개발 도구를 이용한 AR 시스템 구현&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
[[파일:그림1.png]]&lt;br /&gt;
[[파일:그림2.png]]&lt;br /&gt;
[[파일:그림3.png]]&lt;br /&gt;
[[파일:그림4.png]]&lt;br /&gt;
[[파일:그림5.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
아쉬운 부분과 부족한 부분이 많았지만 VR, AR에 대한 이해를 더하고 전문성을 길러 관련 시스템을 구현, 개발했다는 것에 큰 의의를 둠&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
부족했던 부분, 아쉬웠던 부분을 피드백해 기존에 구현했던 시스템을 재공학하고, 더 나아가 더 실용적이고 독창적인 시스템 개발에 주력&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC1.png&amp;diff=2698</id>
		<title>파일:그림1.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:%EA%B7%B8%EB%A6%BC1.png&amp;diff=2698"/>
				<updated>2019-12-26T13:31:15Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Pic1.png&amp;diff=2697</id>
		<title>파일:Pic1.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Pic1.png&amp;diff=2697"/>
				<updated>2019-12-26T13:29:58Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2696</id>
		<title>4조(1조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(1%EC%A1%B0)&amp;diff=2696"/>
				<updated>2019-12-26T13:29:01Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 프로토타입 사진 혹은 작동 장면 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
궁중st 운명교향곡 뮤직비디오&lt;br /&gt;
 &lt;br /&gt;
(영문 Beethoven Symphony No.5 Korean Court Music Style Video)&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
4조(1조)&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
김민호 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2014920007 김*영&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920060 현*지&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해  베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을  한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다.  여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다.  이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나,  막상 국악을 찾아서 듣는 사람은 많지 않다.  대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.&lt;br /&gt;
&lt;br /&gt;
한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다. &lt;br /&gt;
&lt;br /&gt;
이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. &lt;br /&gt;
이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.&lt;br /&gt;
&lt;br /&gt;
이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지  Style Transfer 기법을 사용한다. &lt;br /&gt;
&lt;br /&gt;
첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.&lt;br /&gt;
&lt;br /&gt;
두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다. &lt;br /&gt;
&lt;br /&gt;
이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.&lt;br /&gt;
&lt;br /&gt;
원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
◇ Neural Style Transfer&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.&lt;br /&gt;
&lt;br /&gt;
Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다.&lt;br /&gt;
Neural Style Transfer의 동작과정은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ GAN (Generative Adversarial Network)&lt;br /&gt;
GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.&lt;br /&gt;
&lt;br /&gt;
지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다.&lt;br /&gt;
이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.&lt;br /&gt;
&lt;br /&gt;
'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'&lt;br /&gt;
&lt;br /&gt;
즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ CNN (Convolutional Neural Network)&lt;br /&gt;
&lt;br /&gt;
CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다. 다음은 일반적인 DNN과 CNN을 비교한 그림이다.&lt;br /&gt;
&lt;br /&gt;
왼쪽은 일반적인 3-layer Neural Netork, 오른쪽은 CNN을 3차원으로 표현한 그림이다.&lt;br /&gt;
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다. &lt;br /&gt;
&lt;br /&gt;
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다. &lt;br /&gt;
&lt;br /&gt;
위 그림과 같이 필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.&lt;br /&gt;
&lt;br /&gt;
이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.&lt;br /&gt;
1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.&lt;br /&gt;
Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 ENlas서 필터를 적용한다. 위의 그림과 같은 예시에서는 stride=1임을 알 수 있다.&lt;br /&gt;
따라서 입력 크기를 , 필터 크기를 , 출력 크기를 , padding을 , stride를 라 하면 출력 크기는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
이 때 는 정수로 나누어 떨어지는 값이어야 하지만, 딥러닝 라이브러리에서는 가까운 정수로 반올림 하는 등 에러내지 않고 진행하는 경우도 있다. &lt;br /&gt;
&lt;br /&gt;
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 ᄊᆞᇂ으며 특징을 추출한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ VGG Net&lt;br /&gt;
&lt;br /&gt;
VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.&lt;br /&gt;
&lt;br /&gt;
VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.&lt;br /&gt;
&lt;br /&gt;
위의 그림은 레이어의 깊이와 그에 따른 오류율의 변화 추세를 보여준다. VGGNet 이전에는 비교적 얕은 layer의 모델을 주로 사용했으나, VGG Net 이후 깊은 layer가 자주 사용되기 시작했다. &lt;br /&gt;
&lt;br /&gt;
Layer의 수가 늘어나서 신경망이 깊어지면 결정함수의 결정력을 키워줄 수 있다는 장점이 있지만, parameter의 수가 증가하고, 이로 인해 연산속도의 저하와 Overfitting의 발생가능성을 초래할 수 있다는 단점이 있다. 7*7 filter 1 layer의 경우 parameter의 수는 7²C²=49C²인데 비해, 3*3 filter 3 layer의 경우의 parameter 수는 3(3²C²)=27C²이다. 따라서 VGG Net에서는 parameter 수의 증가로 인한 문제를 방지하기 위해 각 filter의 크기를 3*3으로 작게 만들어 parameter의 수를 약 81% 감소시켰다. 3*3 filter를 사용한 이유는, 3*3 filter가 중심과 상하좌우를 표현할 수 있는 가장 작은 filter이기 때문이다.&lt;br /&gt;
&lt;br /&gt;
논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 A를 기본으로 하여, LRN(Local Response Normalization)을 추가한 모델 A-LRN, A에 레이어를 추가시킨 모델 B, B에 레이어를 추가시키되 Conv로 인한 영향이 없이 Non-Linearity만을 늘이기 위한 방법으로 1*1 Conv를 3개 추가한 C, C의 대조군으로 3*3 filter를 갖는 Convolutional Layer를 3개 추가한 D(VGG 16), D에 3*3 Convolutional Layer를 3개 추가한 E(VGG 19)를 사용하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.&lt;br /&gt;
&lt;br /&gt;
위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. &lt;br /&gt;
Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -&amp;gt; 4096 -&amp;gt; 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.&lt;br /&gt;
&lt;br /&gt;
VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)&lt;br /&gt;
&lt;br /&gt;
Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서  고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.&lt;br /&gt;
&lt;br /&gt;
이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더  빠른 속도를 보여준다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Video Style Transfer&lt;br /&gt;
&lt;br /&gt;
비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)&lt;br /&gt;
&lt;br /&gt;
오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.&lt;br /&gt;
&lt;br /&gt;
Input A : content 오디오, Input B : style 오디오&lt;br /&gt;
&lt;br /&gt;
출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Pre-Processing(STFT)&lt;br /&gt;
&lt;br /&gt;
오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Feature Representation (Loss Function 정의)&lt;br /&gt;
&lt;br /&gt;
content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다. &lt;br /&gt;
	  &lt;br /&gt;
타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ PhaseReconstruction&lt;br /&gt;
&lt;br /&gt;
reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;적용 예시&amp;gt;&lt;br /&gt;
&lt;br /&gt;
content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ Spectrogram&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.&lt;br /&gt;
&lt;br /&gt;
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.&lt;br /&gt;
&lt;br /&gt;
스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
◇ EbSynth (https://ebsynth.com)&lt;br /&gt;
&lt;br /&gt;
EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. &lt;br /&gt;
해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ TimbreTron&lt;br /&gt;
&lt;br /&gt;
TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
&lt;br /&gt;
◇ 3C 전략&lt;br /&gt;
  시장상황&lt;br /&gt;
o  사회,문화적 요인&lt;br /&gt;
  교양있는 문화생활에 대한 관심 고조&lt;br /&gt;
  우리 것을 보존해야 한다는 주장에 대한 공감대&lt;br /&gt;
  대중의 대부분이 국악에 대한 관심이 전혀 없음&lt;br /&gt;
o  경제적 요인&lt;br /&gt;
  여가시간을 위해 지출하는 비용이 증가하는 추세&lt;br /&gt;
o  기술적 요인&lt;br /&gt;
  Computer Science의 발달&lt;br /&gt;
  Style Transfer 기술에 대한 연구 확산&lt;br /&gt;
  동영상을 즐길 수 있는 다양한 플랫폼&lt;br /&gt;
  Customer (고객)&lt;br /&gt;
o  국내외 유튜브 사용자들 (10 - 50대)&lt;br /&gt;
o  자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.&lt;br /&gt;
o  특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.&lt;br /&gt;
  Company (회사)&lt;br /&gt;
o  SWOT 분석 &lt;br /&gt;
   	  Strengths (강점)&lt;br /&gt;
		   1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.&lt;br /&gt;
		   2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.&lt;br /&gt;
		   3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.&lt;br /&gt;
		   4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.&lt;br /&gt;
		   5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다&lt;br /&gt;
	       	  Weakness (약점)&lt;br /&gt;
		   1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.&lt;br /&gt;
		   2) 변환 과정에 짧지 않은 시간이 요구된다.&lt;br /&gt;
	       	  Opportunities (기회)&lt;br /&gt;
		   1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.&lt;br /&gt;
		   2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.&lt;br /&gt;
		   3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.&lt;br /&gt;
		   4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.&lt;br /&gt;
		   5) 영상을 즉석으로 변환하는 프로그램이 없다.&lt;br /&gt;
		  Threats (위협)&lt;br /&gt;
		   1) 국악에 대한 대중들의 관심이 저조하다.&lt;br /&gt;
		   2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.&lt;br /&gt;
		   3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.&lt;br /&gt;
		  SO 전략&lt;br /&gt;
	  대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.&lt;br /&gt;
	  ST 전략&lt;br /&gt;
Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.&lt;br /&gt;
클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.&lt;br /&gt;
  WO 전략&lt;br /&gt;
변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.&lt;br /&gt;
전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.&lt;br /&gt;
변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.&lt;br /&gt;
  WT 전략&lt;br /&gt;
현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.&lt;br /&gt;
경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.&lt;br /&gt;
  Competitor (경쟁사)&lt;br /&gt;
o  Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음&lt;br /&gt;
o  Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ◇ STP 전략&lt;br /&gt;
  Segmentation (시장 세분화)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
o  국악과 민화에 본격적으로 입문하려는 층&lt;br /&gt;
o  국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층&lt;br /&gt;
  Targeting (표적 시장 선정)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층&lt;br /&gt;
  한국인, 외국인의 모든 연령대&lt;br /&gt;
  유튜브를 사용하는 사람들의 대부분&lt;br /&gt;
  관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움&lt;br /&gt;
  Positioning (제품 포지셔닝)&lt;br /&gt;
o  국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표&lt;br /&gt;
o  가볍게 소비 가능한 컨텐츠&lt;br /&gt;
o  시청자의 이목을 끌 수 있는 참신한 컨텐츠&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
◇ 4P&lt;br /&gt;
  Product (제품)&lt;br /&gt;
o  누구에게나 익숙한 클래식을 국악 스타일로 변환&lt;br /&gt;
o  오케스트라의 연주 영상을 민화 스타일로 변환&lt;br /&gt;
o  불특정다수의 시청자들이 호기심을 가질 수 있음&lt;br /&gt;
  Price (가격)&lt;br /&gt;
o  무료&lt;br /&gt;
  Place (유통)&lt;br /&gt;
o  유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음&lt;br /&gt;
  Promotion (판매촉진)&lt;br /&gt;
o  대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시&lt;br /&gt;
o  이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음&lt;br /&gt;
&lt;br /&gt;
===개발과제의 기대효과===&lt;br /&gt;
====기술적 기대효과====&lt;br /&gt;
4차 산업 혁명 시대와 발맞춰 많은 관심을 불러일으키고 다양한 사용자들의 네트워크를 형성함으로써 높은 기대효과를 만족시킴&lt;br /&gt;
현재 각광 받는 기술에 대한 시스템, 게임 등의 친숙한 소재의 활용으로 이해도를 더하고 접근성을 높임&lt;br /&gt;
&lt;br /&gt;
====경제적, 사회적 기대 및 파급효과====&lt;br /&gt;
실제 시스템을 적용하는 것 외에 비용이 들지 않음을 고려해 경제적이고 또한, 기대효과가 큰 기술임을 감안해 큰 파급효과를 예상함&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2013920021 남영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2015920033 이연우&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
&lt;br /&gt;
프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz&lt;br /&gt;
설치된 메모리(RAM) : 8.00GB&lt;br /&gt;
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
참조된 논문들의 내용 즉, VR, AR에 대해 인간이 받아들이는 정도, 기술 전문성, 부작용 등에 대한 이해도와 전문성을 바탕으로 관련된 시스템을 개발&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
VR : 총을 이용한 가상 게임 구현&lt;br /&gt;
AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
각 논문에 대한 이해와 추가 정보를 찾아 시스템 구현에 필요한 배경 지식 습득&lt;br /&gt;
Unity 개발 도구를 이용한 VR 게임 구현&lt;br /&gt;
Vuforia 개발 도구를 이용한 AR 시스템 구현&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
[[파일:그림1.png]][[파일:그림2.png]]&lt;br /&gt;
&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
0원&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
아쉬운 부분과 부족한 부분이 많았지만 VR, AR에 대한 이해를 더하고 전문성을 길러 관련 시스템을 구현, 개발했다는 것에 큰 의의를 둠&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
부족했던 부분, 아쉬웠던 부분을 피드백해 기존에 구현했던 시스템을 재공학하고, 더 나아가 더 실용적이고 독창적인 시스템 개발에 주력&lt;br /&gt;
&lt;br /&gt;
===특허 출원 내용===&lt;br /&gt;
없음&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=2019%ED%95%99%EB%85%84%EB%8F%84_2%ED%95%99%EA%B8%B0&amp;diff=2679</id>
		<title>2019학년도 2학기</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=2019%ED%95%99%EB%85%84%EB%8F%84_2%ED%95%99%EA%B8%B0&amp;diff=2679"/>
				<updated>2019-12-26T13:07:23Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* Ongoing Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;strong&amp;gt;Course Information&amp;lt;/strong&amp;gt;==&lt;br /&gt;
* 과목명 : [2019.2학기] 컴퓨터과학종합설계&lt;br /&gt;
* 담당교수 : 김성환 교수님&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;strong&amp;gt;Course Description&amp;lt;/strong&amp;gt;==&lt;br /&gt;
ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;strong&amp;gt;Ongoing Project&amp;lt;/strong&amp;gt;==&lt;br /&gt;
===2019년 2학기===&lt;br /&gt;
&lt;br /&gt;
'''[[Auditory Reality조]]''' - 김*기, 허*진, 장*은 &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[낚아체인조]]''' - ***, ***, ***, *** &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[Getcoin조]]''' - ***, ***, ***, *** &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[4조(4조)]]''' - ***, ***, ***, *** &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[김임박조]]''' - 김*우, 박*수, 임*일 &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[치즈케이크조]]''' - 박*빈, 이*진, 정*지 &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[8조(8조)]]''' - 이*석, 안*준 &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[이남곽조]]''' - ***, ***, ***, *** &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[4조(1조)]]''' - ***, ***, ***, *** &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2675</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2675"/>
				<updated>2019-12-26T10:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 구성원 소개 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 20169200** 주*용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 20129200** 최*우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 20129200** 홍*훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
*시뮬레이션 모델 구축&lt;br /&gt;
** 건물 모델의 구현&lt;br /&gt;
**:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
**:[[파일:Sketchup.png]]&lt;br /&gt;
**:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
**:[[파일:Extingush prefabs.png]]&lt;br /&gt;
**:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
** 플레이어블 캐릭터의 제공&lt;br /&gt;
**:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
**:[[파일:Model.JPG]]&lt;br /&gt;
**:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
**:[[파일:Animation.png]]&lt;br /&gt;
**:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
**:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
 if (translation != 0)&lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
 else &lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
:* VR HMD를 활용한 현실감 조성&lt;br /&gt;
:*:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
 foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
 foveRigTr.position = target.position; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* 화재 상황 구현&lt;br /&gt;
** 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
**:*기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
:* FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
:*:*fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
:*:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
:* FDS 데이터에 따른 연기 조성&lt;br /&gt;
:*:* 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
 List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
* 가시거리 평가&lt;br /&gt;
** kinetic typography의 구현&lt;br /&gt;
**:* 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
:* Unity 평가 모듈 구현&lt;br /&gt;
:* 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
:*: 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
:* 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
:*:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
[[파일:4 result 1.png]]&lt;br /&gt;
[[파일:4 result 2.png]]&lt;br /&gt;
[[파일:4 result 3.png]]&lt;br /&gt;
[[파일:4 result 4.png]]&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
화재 현장에 대한 현실에서의 훈련은 비용이 막대하게 드나, 인명 및 재산의 피해에 대해 고려하면 반드시 선행되어야한다. 해당 프로젝트는 이러한 목적에 따라 근 미래적 시각으로 다가올 스마트시티에서 중요한 하나의 요소인 글자에 대해서 분석하고자 하였다. 이를 위해서 CFD의 일종인 FDS를 활용하여 현실을 부여한 화재 시뮬레이션에서 가시성 평가를 하였다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
추가적으로 화재가 발생한 경우에 대해 화재가 어떻게 번져나가는지 알 수 있는 시뮬레이션을 제작하고자 한다.&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2674</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2674"/>
				<updated>2019-12-26T10:26:12Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 향후계획 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
*시뮬레이션 모델 구축&lt;br /&gt;
** 건물 모델의 구현&lt;br /&gt;
**:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
**:[[파일:Sketchup.png]]&lt;br /&gt;
**:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
**:[[파일:Extingush prefabs.png]]&lt;br /&gt;
**:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
** 플레이어블 캐릭터의 제공&lt;br /&gt;
**:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
**:[[파일:Model.JPG]]&lt;br /&gt;
**:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
**:[[파일:Animation.png]]&lt;br /&gt;
**:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
**:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
 if (translation != 0)&lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
 else &lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
:* VR HMD를 활용한 현실감 조성&lt;br /&gt;
:*:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
 foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
 foveRigTr.position = target.position; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* 화재 상황 구현&lt;br /&gt;
** 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
**:*기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
:* FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
:*:*fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
:*:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
:* FDS 데이터에 따른 연기 조성&lt;br /&gt;
:*:* 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
 List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
* 가시거리 평가&lt;br /&gt;
** kinetic typography의 구현&lt;br /&gt;
**:* 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
:* Unity 평가 모듈 구현&lt;br /&gt;
:* 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
:*: 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
:* 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
:*:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
[[파일:4 result 1.png]]&lt;br /&gt;
[[파일:4 result 2.png]]&lt;br /&gt;
[[파일:4 result 3.png]]&lt;br /&gt;
[[파일:4 result 4.png]]&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
화재 현장에 대한 현실에서의 훈련은 비용이 막대하게 드나, 인명 및 재산의 피해에 대해 고려하면 반드시 선행되어야한다. 해당 프로젝트는 이러한 목적에 따라 근 미래적 시각으로 다가올 스마트시티에서 중요한 하나의 요소인 글자에 대해서 분석하고자 하였다. 이를 위해서 CFD의 일종인 FDS를 활용하여 현실을 부여한 화재 시뮬레이션에서 가시성 평가를 하였다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
추가적으로 화재가 발생한 경우에 대해 화재가 어떻게 번져나가는지 알 수 있는 시뮬레이션을 제작하고자 한다.&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2673</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2673"/>
				<updated>2019-12-26T10:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 완료작품의 평가 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
*시뮬레이션 모델 구축&lt;br /&gt;
** 건물 모델의 구현&lt;br /&gt;
**:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
**:[[파일:Sketchup.png]]&lt;br /&gt;
**:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
**:[[파일:Extingush prefabs.png]]&lt;br /&gt;
**:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
** 플레이어블 캐릭터의 제공&lt;br /&gt;
**:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
**:[[파일:Model.JPG]]&lt;br /&gt;
**:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
**:[[파일:Animation.png]]&lt;br /&gt;
**:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
**:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
 if (translation != 0)&lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
 else &lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
:* VR HMD를 활용한 현실감 조성&lt;br /&gt;
:*:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
 foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
 foveRigTr.position = target.position; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* 화재 상황 구현&lt;br /&gt;
** 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
**:*기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
:* FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
:*:*fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
:*:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
:* FDS 데이터에 따른 연기 조성&lt;br /&gt;
:*:* 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
 List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
* 가시거리 평가&lt;br /&gt;
** kinetic typography의 구현&lt;br /&gt;
**:* 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
:* Unity 평가 모듈 구현&lt;br /&gt;
:* 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
:*: 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
:* 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
:*:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
[[파일:4 result 1.png]]&lt;br /&gt;
[[파일:4 result 2.png]]&lt;br /&gt;
[[파일:4 result 3.png]]&lt;br /&gt;
[[파일:4 result 4.png]]&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
화재 현장에 대한 현실에서의 훈련은 비용이 막대하게 드나, 인명 및 재산의 피해에 대해 고려하면 반드시 선행되어야한다. 해당 프로젝트는 이러한 목적에 따라 근 미래적 시각으로 다가올 스마트시티에서 중요한 하나의 요소인 글자에 대해서 분석하고자 하였다. 이를 위해서 CFD의 일종인 FDS를 활용하여 현실을 부여한 화재 시뮬레이션에서 가시성 평가를 하였다.&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2655</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2655"/>
				<updated>2019-12-26T10:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 결과 및 평가 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
*시뮬레이션 모델 구축&lt;br /&gt;
** 건물 모델의 구현&lt;br /&gt;
**:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
**:[[파일:Sketchup.png]]&lt;br /&gt;
**:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
**:[[파일:Extingush prefabs.png]]&lt;br /&gt;
**:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
** 플레이어블 캐릭터의 제공&lt;br /&gt;
**:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
**:[[파일:Model.JPG]]&lt;br /&gt;
**:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
**:[[파일:Animation.png]]&lt;br /&gt;
**:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
**:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
 if (translation != 0)&lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
 else &lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
:* VR HMD를 활용한 현실감 조성&lt;br /&gt;
:*:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
 foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
 foveRigTr.position = target.position; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* 화재 상황 구현&lt;br /&gt;
** 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
**:*기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
:* FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
:*:*fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
:*:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
:* FDS 데이터에 따른 연기 조성&lt;br /&gt;
:*:* 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
 List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
* 가시거리 평가&lt;br /&gt;
** kinetic typography의 구현&lt;br /&gt;
**:* 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
:* Unity 평가 모듈 구현&lt;br /&gt;
:* 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
:*: 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
:* 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
:*:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
[[파일:4 result 1.png]]&lt;br /&gt;
[[파일:4 result 2.png]]&lt;br /&gt;
[[파일:4 result 3.png]]&lt;br /&gt;
[[파일:4 result 4.png]]&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_3.png&amp;diff=2654</id>
		<title>파일:4 result 3.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_3.png&amp;diff=2654"/>
				<updated>2019-12-26T10:07:46Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_4.png&amp;diff=2652</id>
		<title>파일:4 result 4.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_4.png&amp;diff=2652"/>
				<updated>2019-12-26T10:07:04Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_2.png&amp;diff=2651</id>
		<title>파일:4 result 2.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_2.png&amp;diff=2651"/>
				<updated>2019-12-26T10:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_1.png&amp;diff=2649</id>
		<title>파일:4 result 1.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_result_1.png&amp;diff=2649"/>
				<updated>2019-12-26T10:03:14Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2642</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2642"/>
				<updated>2019-12-26T09:54:38Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 상세설계 내용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
*시뮬레이션 모델 구축&lt;br /&gt;
** 건물 모델의 구현&lt;br /&gt;
**:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
**:[[파일:Sketchup.png]]&lt;br /&gt;
**:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
**:[[파일:Extingush prefabs.png]]&lt;br /&gt;
**:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
** 플레이어블 캐릭터의 제공&lt;br /&gt;
**:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
**:[[파일:Model.JPG]]&lt;br /&gt;
**:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
**:[[파일:Animation.png]]&lt;br /&gt;
**:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
**:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
 if (translation != 0)&lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
 else &lt;br /&gt;
    animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
:* VR HMD를 활용한 현실감 조성&lt;br /&gt;
:*:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
 foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
 foveRigTr.position = target.position; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* 화재 상황 구현&lt;br /&gt;
** 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
**:*기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
:* FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
:*:*fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
:*:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
:* FDS 데이터에 따른 연기 조성&lt;br /&gt;
:*:* 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
 List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
* 가시거리 평가&lt;br /&gt;
** kinetic typography의 구현&lt;br /&gt;
**:* 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
:* Unity 평가 모듈 구현&lt;br /&gt;
:* 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
:*: 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
:* 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
:*:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2636</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2636"/>
				<updated>2019-12-26T09:35:27Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 상세설계 내용 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
#시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:*기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:[[파일:Sketchup.png]]&lt;br /&gt;
##:*Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##:[[파일:Extingush prefabs.png]]&lt;br /&gt;
##:*소방 기구와 관련된 object는 asset store 이용&lt;br /&gt;
## 플레이어블 캐릭터의 제공&lt;br /&gt;
##:*Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:[[파일:Model.JPG]]&lt;br /&gt;
##:*Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:[[파일:Animation.png]]&lt;br /&gt;
##:*Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:*Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##: if (translation != 0)&lt;br /&gt;
##:   animator.SetBool(&amp;quot;IsWalking&amp;quot;, true);&lt;br /&gt;
##:   else animator.SetBool(&amp;quot;IsWalking&amp;quot;, false);&lt;br /&gt;
## VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:*HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
##: foveRigTr = GetComponent&amp;lt;Transform&amp;gt;();&lt;br /&gt;
##: foveRigTr.position = target.position;&lt;br /&gt;
&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##:기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##: &amp;amp;SURF ID='Brick_Antique_01'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Brick_Antique_01.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;SURF ID='Carpet_Plush_Charcoal.002'&lt;br /&gt;
      RGB=204,204,204&lt;br /&gt;
      TRANSPARENCY=1.00 /&lt;br /&gt;
 &amp;amp;MATL ID='Wall’&lt;br /&gt;
      FYI='Sheetrock UltraLight Panels',&lt;br /&gt;
      SPECIFIC_HEAT=1.0&lt;br /&gt;
      CONDUCTIVITY=0.16&lt;br /&gt;
      DENSITY=480.0 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;OBST ID='SketchUp' SURF_ID='edge_color000255.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=32.048832,32.320004,8.959235,8.999235,3.119999,3.119999 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0' SURF_ID='material.002' ‘MATL ID= ’Wall’&lt;br /&gt;
      XB=26.605122,37.245762,6.041003,8.959235,-0.000000,0.720000 /&lt;br /&gt;
 &amp;amp;OBST ID='group_0.001' SURF_ID='Polished_Concrete_Old.002'‘MATL ID= ’Wall’&lt;br /&gt;
      XB=33.500153,37.405762,6.109634,9.119235,-0.000000,0.720000 /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPT', QUANTITY='THERMOCOUPLE', POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 &amp;amp;DEVC XB=12.05,12.05,0.05,0.05,0.74,1.86 ID='1BDPV', QUANTITY='V-VELOCITY',   POINTS=5, &lt;br /&gt;
 TIME_HISTORY=.TRUE., CONVERSION_FACTOR=-1.0 /&lt;br /&gt;
 &amp;amp;DEVC XB=10.25,10.25,0.4,0.4,0.3,2.1     ID='1PT',   QUANTITY='PRESSURE',     POINTS=3, &lt;br /&gt;
 TIME_HISTORY=.TRUE. /&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='VISIBILITY’,&lt;br /&gt;
     VALUE(1)=4., VALUE(2)=8., VALUE(3)=12., VALUE(4)=16./&lt;br /&gt;
 &amp;amp;ISOF QUANTITY='SOOT VOLUME FRACTION’,&lt;br /&gt;
     VALUE(1)=.4., VALUE(2)=.6., VALUE(3)=.8., VALUE(3)=.9/&lt;br /&gt;
&lt;br /&gt;
나-2. FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
■ fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
■ isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
  float[] times_local = new float[2];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        times_local[0] = reader.ReadSingle();&lt;br /&gt;
        times_local[1] = reader.ReadSingle();&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        Debug.Log(&amp;quot;current time : &amp;quot; + times_local[0] + &amp;quot; sec&amp;quot;);&lt;br /&gt;
        int[] nvertfacesvolumes = new int[3];&lt;br /&gt;
        reader.ReadBytes(4);&lt;br /&gt;
        nvertfacesvolumes[0] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[1] = reader.ReadInt32();&lt;br /&gt;
        nvertfacesvolumes[2] = reader.ReadInt32();&lt;br /&gt;
        //Debug.Log(&amp;quot;nvertfacesvolumes : &amp;quot; + nvertfacesvolumes[0] + &amp;quot;,  &amp;quot; + nvertfacesvolumes[1]);&lt;br /&gt;
        //Debug.Log(&amp;quot; Level  :  &amp;quot; + i + &amp;quot;, value : &amp;quot; + levels[i]);&lt;br /&gt;
        int nVertices = nvertfacesvolumes[0];&lt;br /&gt;
        int nTriangles = nvertfacesvolumes[1];&lt;br /&gt;
        Debug.Log(&amp;quot;nVertices : &amp;quot; + nVertices + &amp;quot;, nTriangles : &amp;quot; + nTriangles);&lt;br /&gt;
        tVertex = new float[nVertices, 3];&lt;br /&gt;
        tTris = new int[nTriangles, 4];&lt;br /&gt;
        if (nVertices &amp;gt; 0 &amp;amp;&amp;amp; nTriangles &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            // vertices&lt;br /&gt;
            Debug.Log(&amp;quot;Print Vertices below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nVertices; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tVertex[j, 0] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 1] = reader.ReadSingle();&lt;br /&gt;
                tVertex[j, 2] = reader.ReadSingle();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // triangles&lt;br /&gt;
            Debug.Log(&amp;quot;Print Triangles below...&amp;quot;);&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 0] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 1] = reader.ReadInt32();&lt;br /&gt;
                tTris[j, 2] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            Debug.Log(&amp;quot;&amp;quot;);&lt;br /&gt;
            // levels&lt;br /&gt;
            // mesh 1개당 id를 지정, surf_ind는 level value&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
            for (int j = 0; j &amp;lt; nTriangles; j++)&lt;br /&gt;
            {&lt;br /&gt;
                tTris[j, 3] = reader.ReadInt32();&lt;br /&gt;
            }&lt;br /&gt;
            reader.ReadBytes(4);&lt;br /&gt;
        }&lt;br /&gt;
        if (target_timestep == 0 &amp;amp;&amp;amp; nVertices == 0 &amp;amp;&amp;amp; nTriangles == 0)&lt;br /&gt;
            reader.ReadBytes(16);&lt;br /&gt;
나-3. FDS 데이터에 따른 연기 조성&lt;br /&gt;
■ 읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
List&amp;lt;Vector3&amp;gt; vertices = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector3&amp;gt; normals = new List&amp;lt;Vector3&amp;gt;();&lt;br /&gt;
        List&amp;lt;Vector2&amp;gt; uv = new List&amp;lt;Vector2&amp;gt;();&lt;br /&gt;
        for (int i =0; i&amp;lt;nvert;i++)&lt;br /&gt;
        {&lt;br /&gt;
            vertices.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            normals.Add(new Vector3(vertex[i, 0], vertex[i, 2], vertex[i, 1]));&lt;br /&gt;
            uv.Add(new Vector2(vertex[i, 0], vertex[i, 2]));&lt;br /&gt;
        }&lt;br /&gt;
        int ntris_level = 0;        &lt;br /&gt;
        int j = 0;&lt;br /&gt;
        int[] triangles;&lt;br /&gt;
        if (targetlevel == 0)&lt;br /&gt;
        {&lt;br /&gt;
            triangles = new int[ntris * 3];   &lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                triangles[j + 1] = tris[i, 2] - 1;&lt;br /&gt;
                triangles[j + 2] = tris[i, 1] - 1;&lt;br /&gt;
                j += 3;&lt;br /&gt;
            }&lt;br /&gt;
        }else&lt;br /&gt;
        {&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if (tris[i, 3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    ntris_level++;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            triangles = new int[ntris_level * 3];&lt;br /&gt;
            for (int i = 0; i &amp;lt; ntris_level; i++)&lt;br /&gt;
            {&lt;br /&gt;
                if(tris[i,3] == targetlevel)&lt;br /&gt;
                {&lt;br /&gt;
                    triangles[j] = tris[i, 0] - 1;&lt;br /&gt;
                    triangles[j + 1] = tris[i, 1] - 1;&lt;br /&gt;
                    triangles[j + 2] = tris[i, 2] - 1;&lt;br /&gt;
                    j += 3;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
 다.   &amp;lt;Feature 3&amp;gt; 가시거리 평가&lt;br /&gt;
   다-1. kinetic typography의 구현&lt;br /&gt;
■ 다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
TextMeshPro 이용.&lt;br /&gt;
&lt;br /&gt;
 if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;gt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;lt; 1.0F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale += 0.1f;&lt;br /&gt;
            }               &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }          &lt;br /&gt;
        }&lt;br /&gt;
        else if (Input.GetAxis(&amp;quot;Mouse ScrollWheel&amp;quot;) &amp;lt; 0f)&lt;br /&gt;
        {&lt;br /&gt;
            if (Time.timeScale &amp;gt;= 0.2F)&lt;br /&gt;
            {&lt;br /&gt;
                Time.timeScale -= 0.1f;&lt;br /&gt;
            }                &lt;br /&gt;
            Time.fixedDeltaTime = 0.02F * Time.timeScale;&lt;br /&gt;
            if (textMesh != null)&lt;br /&gt;
            {&lt;br /&gt;
                textMesh.text = &amp;quot;Time Scale : &amp;quot; + System.Math.Round(Time.timeScale, 2);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
다-2. Unity 평가 모듈 구현&lt;br /&gt;
■ 최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
■ 안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
&lt;br /&gt;
  다-3. 설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
■ 각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Animation.png&amp;diff=2635</id>
		<title>파일:Animation.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Animation.png&amp;diff=2635"/>
				<updated>2019-12-26T09:31:35Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Model.JPG&amp;diff=2633</id>
		<title>파일:Model.JPG</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Model.JPG&amp;diff=2633"/>
				<updated>2019-12-26T09:30:30Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Extingush_prefabs.png&amp;diff=2631</id>
		<title>파일:Extingush prefabs.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Extingush_prefabs.png&amp;diff=2631"/>
				<updated>2019-12-26T09:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Sketchup.png&amp;diff=2630</id>
		<title>파일:Sketchup.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Sketchup.png&amp;diff=2630"/>
				<updated>2019-12-26T09:26:09Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2629</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2629"/>
				<updated>2019-12-26T09:08:17Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 설계 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
====개념 설계안====&lt;br /&gt;
*  목적계통도&lt;br /&gt;
::[[파일:Purpose system.png]]&lt;br /&gt;
* 개념설계도&lt;br /&gt;
::[[파일:4 concept design.png]]&lt;br /&gt;
* 시뮬레이션 흐름도&lt;br /&gt;
::[[파일:Simulation flowchart.png]]&lt;br /&gt;
* 목표기능&lt;br /&gt;
# 시뮬레이션 모델 구축&lt;br /&gt;
## 건물 모델의 구현&lt;br /&gt;
##:기존에 존재하는 건물 모델 사용&lt;br /&gt;
##:Unity Asset Store에서 제공하는 가구와 관련된 prefabs 사용&lt;br /&gt;
##플레이어블 캐릭터의 제공&lt;br /&gt;
##:Adobe Fuse CC를 활용한 3D 캐릭터의 생성 (fbx file)&lt;br /&gt;
##:Mixamo를 활용한 Animation 생성 (fbx file)&lt;br /&gt;
##:Unity Animation 및 Animation Controller를 사용하여 움직임 제어&lt;br /&gt;
##:Script를 사용하여 입력에 대응하는 애니메이션 제어&lt;br /&gt;
##VR HMD를 활용한 현실감 조성&lt;br /&gt;
##:HMD 기기를 제어할 수 있는 adapter와 script 작성&lt;br /&gt;
# 화재 상황 구현&lt;br /&gt;
## 건물 모델 데이터의 FDS와의 porting&lt;br /&gt;
##: 기존의 모델을 (skp 파일) cad를 활용하여 dae 파일로 변환&lt;br /&gt;
##:dae파일을 BlenderFDS를 활용하여 Geometry 정보를 가진 fds 파일 생성&lt;br /&gt;
##:화재 상황을 고려한 각 geometry에 대응하는 환경 설정&lt;br /&gt;
## FDS에서 처리된 데이터의 Unity로의 porting&lt;br /&gt;
##:fds의 연기의 농도 및 가시거리는 isosurface를 나타내는 isof 파일에 저장이 가능&lt;br /&gt;
##:isof 파일은 C로 읽을 수 있으므로 C#으로 isosurface 정보를 읽는 C# script 구현&lt;br /&gt;
##FDS 데이터에 따른 연기 조성&lt;br /&gt;
##:읽어드린 isof 데이터를 활용하여 그리드에 따른 연기의 농도를 계산하여 연기 prefabs의 opacity를 조정&lt;br /&gt;
#가시거리 평가&lt;br /&gt;
##kinetic typography의 구현&lt;br /&gt;
##:다양한 Unity의 effect animation 그리고 컴포넌트 및 스크립트를 이용하여서 구현&lt;br /&gt;
##Unity 평가 모듈 구현&lt;br /&gt;
##:최초 시작 구간부터 탈출하는 시점까지의 시간을 계산하는 스크립트 구현&lt;br /&gt;
##:안내 문구에 따라 소방 도구의 적절한 활용을 하였는지를 체크&lt;br /&gt;
##설문지 및 반응에 따른 보고서 작성&lt;br /&gt;
##:각 Kinetic typography에 대한 피실험자의 주관적 반응을 측정&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Simulation_flowchart.png&amp;diff=2628</id>
		<title>파일:Simulation flowchart.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Simulation_flowchart.png&amp;diff=2628"/>
				<updated>2019-12-26T09:04:21Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_concept_design.png&amp;diff=2627</id>
		<title>파일:4 concept design.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_concept_design.png&amp;diff=2627"/>
				<updated>2019-12-26T09:03:12Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Purpose_system.png&amp;diff=2626</id>
		<title>파일:Purpose system.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Purpose_system.png&amp;diff=2626"/>
				<updated>2019-12-26T09:02:03Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2625</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2625"/>
				<updated>2019-12-26T09:00:23Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 이론적 계산 및 시뮬레이션 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
화재 시뮬레이터란 연기 제어, 열복사 및 연소 시간 등의 화재 역학을 계산해주는 소프트웨어이다. 이러한 분야를 전산 유체 역학(Computational Fluid Dynamics)이라 한다. 컴퓨터 그래픽 분야에서 연기, 불, 물의 유체 역학적 특성을 표현하는데 관심이 고조되고 있다. 이에 관한 연구로는 유체역학의 초기 Stable Fluids 방법을 이용하여 유체의 평면을 구현했고, 이후 개인용 컴퓨터 성능의 향상에 따라 연산 복잡도가 높은 Navier Stokes에 파티클 시스템이 구현되었다. 연기를 정교하게 표현하기 위해 연산 복잡도가 많은 와동력 기법을(Vorticity confinement, Vortex Particle) 이용하였다. 이러한 화재 시뮬레이터에는 미국 표준기술연구소의 FDS-SMV, Autodesk 사의 CFD 및 AVL사의 CFD Fire 등이 있다.&lt;br /&gt;
&lt;br /&gt;
FDS는 미국 표준기술연구소(NIST, National Institute of Standards and Technology)에서 개발한 화재 시뮬레이터로서, Solver인 FDS와 후처리 소프트웨어인 Smokeview로 구성되어 있으며 Field Model 프로그램으로 CFAST와 다르게 복잡하고 어려우며, 장시간이 소요되지만, 화재 시뮬레이션의 정확한 해석을 위하여 반드시 사용하여야 하는 필수 프로그램으로 상세한 해석이 가능하며, Visual 적인 면에서도 뛰어나 연기 및 화염의 거동까지 확인 가능한 유용한 프로그램이다. FDS는 주로 화재의 연소 위치, 열의 이동, 물체의 연소 시간 등을 계산하여 결과를 CSV 형태로 출력한다.&lt;br /&gt;
&lt;br /&gt;
주요 특성으로서는 Hydrodynamic Model을 채택하여 열, 연기의 거동에 주안점을 두었으며, Navier-Stokes 방정식을 푼다. 또한, Combustion model이 있으며, 열복사 전도 (Radiation Transport)를 제공한다. 사용 방정식은 표 1에서 나타난 것과 같다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:FDS equation.JPG]]&lt;br /&gt;
&lt;br /&gt;
운동량 방정식은 Naiver-Stokes Equation (momentiumequation) 사용하였으며, 유체의 속도, 밀도, 압력, 점성, 외력 등을 해석하기 위한 식으로 난류모델링 (Turbulence modeling)에서의 점성 (유동에 따라 변화하는 비례상수)의 근사치를 구하고자 하였다.&lt;br /&gt;
&lt;br /&gt;
소프트웨어적으로 FDS는 MPI ((Message-Passing Interface)를 활용하여 여러 대의 컴퓨터 혹은 multi-core system을 갖춘 하나의 컴퓨터에서 multi-mesh를 이용하여 FDS의 프로세스를 처리할 수 있도록 하였다. FDS에서 geometry는 grid-mesh로 구현되어 있으며, FDS의 여러 개의 방정식과 flow field를 여러 MPI process에서 처리할 수 있도록 하였다. MPI는 MPI 프로세스의 정보를 처리할 수 있도록 하였으며, 각 mesh는 하나의 MPI 계산에 포함된다. 하나의 프로세스는 같은 컴퓨터 혹은 다른 컴퓨터에서 프로세싱될 수 있으나, 각자의 메모리를 사용한다. Implementation은 C compiler 및 Fortran을 사용하였으며 각 implementation은 FDS에서 사용되는 subroutine과 데이터 전송에 사용을 담당한다. 메시지 전달은 Open MPI를 사용하여 MPI를 구현하였다.&lt;br /&gt;
&lt;br /&gt;
해당 프로젝트는 단순한 화학적 접근을 통해 연소 반응 도중 발생하는 연기를 구현하고, 그에 따른 가시성을 확인하고자 한다. 가시거리의 세기는 연기의 흡광계수와 거리의 곱에 대한 자연로그의 제곱의 역수에 비례한다.&lt;br /&gt;
&lt;br /&gt;
흡광계수 는 공기의 밀도 와 질량에 따른 흡광계수, , 그리고 가스의 성질인 의 곱으로 정의된다. 해당 시뮬레이션에서는 가시거리를 정밀하게 측정하여 가스의 성질을 파악하기보다 화재 상황에서 피해자가 눈앞의 정보에 얼마나 영향을 받는지를 측정하려는 목적에 초점을 두고 있다. 따라서 흡광계수를 계산하기보다는 QUANTITY 파라미터를 ‘ASPIRATION’ 혹은 ‘CHAMBER OBSCURATION’으로 설정하여 FDS의 계산으로 나오는 3D Plot (.s3d)의 포맷의 3차원 불투명도 정보를 입력받아, FDS에서 시뮬레이션 된 모델과 대응되는 Unity3D에서 해당 위치의 Smoke Particle의 alpha 값을 조정하여 실제와 같은 가시거리 산출을 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
또 다른 시뮬레이션의 중요한 요소인 연기의 사실적 묘사이다. FDS에서 건물과 연소 반응에 따른 연기의 운동의 3차원 묘사는 ISO-surface (.iso) 와 plot3D (.s3d) 포맷으로 출력된다. 따라서 해당 프로젝트는 건물의 입력과 연소 반응을 일으킬 물체 혹은 건물 일부분을 실험자의 시나리오로부터 입력받아 적절한 FDS의 입력 파일 (.fds)로 변환하는 과정을 진행한다. 이 입력에 대한 출력은 화재의 진행에 따른 시간 축을 한 축으로 하는 3차원 공간에서 각 위치에서의 가시거리 및 연기의 형태이다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds change.png]]&lt;br /&gt;
&lt;br /&gt;
FDS에서 원하는 형태의 데이터를 얻기 위해서는 출력 포맷에 대한 ‘output QUANTITY’를 명시하여야 한다. 가시거리 및 연기의 형태를 얻기 위해서는 값의 설정이 필요하다. 출력 포맷은 총 4가지가 존재한다. BouNDary file (.bnd), SLice file (.sl), ISO-surface(.iso) 그리고 어느 한 지점의 특정된 성질의 양을 측정하는 DEViCe File이 존재한다. 가시거리 및 연기의 밀도는 iso-surface의 특징으로 추출할 수 있으므로 .iso 포맷 형태의 출력을 통해 unity에서 구현하고자 한다. 이러한 데이터의 흐름도는 그림 11. 과 같다. Unity에서 시뮬레이션하고자 하는 건물의 모델을 공간 및 물체의 형태를 고려하여 표 2와 같이 FDS에 적합한 입력 파일로 변환한다. 그리고 연소 반응에 대한 적절한 입력을 마련하고 FDS의 결과를 얻는다.&lt;br /&gt;
&lt;br /&gt;
::[[파일:Fds iso.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FDS는 Fortran 90으로 구현되어 있으며, 주요 parameter, 특히 3D 연기 데이터 등의 결과는 dump.f90에서 이루어진다. 구하고자하는 .iso 파일은 dump.f90에서 출력물의 형태로 나타난다. iso파일의 포맷은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
version은 FDS의 version을 의미하며 levels은 각각 등위 값들이다. 원하는 parameter (예를 들어 가시거리 혹은 가스 밀도) 등을 선택하여 원하는 level마다 등위 곡면을 얻을 수 있을 것이다. 따라서 다수의 iso파일을 이용하여 3차원 공간에서 연기와 관련된 정보를 밀도 높게 파악할 수 있다. 특히 연기의 밀도를 QUANTITY로 지정한 등위 곡면에 따라서 연기를 생성하고, alpha값을 조정하면 현실성 있는 시뮬레이션의 구성이 가능할 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Fds_iso.png&amp;diff=2624</id>
		<title>파일:Fds iso.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Fds_iso.png&amp;diff=2624"/>
				<updated>2019-12-26T08:59:12Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Fds_change.png&amp;diff=2623</id>
		<title>파일:Fds change.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Fds_change.png&amp;diff=2623"/>
				<updated>2019-12-26T08:58:23Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:FDS_equation.JPG&amp;diff=2622</id>
		<title>파일:FDS equation.JPG</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:FDS_equation.JPG&amp;diff=2622"/>
				<updated>2019-12-26T08:54:09Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2621</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2621"/>
				<updated>2019-12-26T08:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개념설계안 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2620</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2620"/>
				<updated>2019-12-26T08:39:41Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 시스템 아키텍쳐 및 실험 설계 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
:[[파일:4_Architecture.png]]&lt;br /&gt;
&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_Architecture.png&amp;diff=2619</id>
		<title>파일:4 Architecture.png</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:4_Architecture.png&amp;diff=2619"/>
				<updated>2019-12-26T08:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2618</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2618"/>
				<updated>2019-12-26T08:37:52Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 설계 사양 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====시스템 아키텍쳐 및 실험 설계====&lt;br /&gt;
[[파일:Architecture.jpg]]&lt;br /&gt;
해당 시스템은 목표를 달성하기 위해 빌딩의 구조 (furniture) 및 소방 도구, 그리고 비상 탈출안내문 혹은 출구 표시등을 적절한 위치에 배치한다. 이는 시나리오 제작자 혹은 모델 제작자가 건물의 환경을 조성하는 과정이다. 피실험자가 정보 획득 능력이 글자와 관련된 파라미터에 따라 어떻게 달라지는지 파악하기 위해 밝기, 색상, 크기 그리고 위치에 대한 동적 움직임 (kinetic characteristic)을 달리하여 실험을 진행한다. 실험의 통제 변인을 폭넓게 측정하기 위해 시뮬레이션 공간에서 글자의 파라미터는 변형을 주어 실험 내/ 실험 간 사용자의 반응을 측정한다.&lt;br /&gt;
통제 변인에 따른 주관적 척도는 피실험자 개인의 의견을 반영하며, 예를 들어 가장 밝게 느껴진 글자 혹은 잘 보였는가? 글자가 탈출구의 위치를 향해 움직였는데, 글자를 따라가고 싶었는가? 등이 존재한다. 객관적인 척도로는 소방 도구의 사용법에 따라 제대로 사용하였는지, 총 걸린 탈출 시간이 어느 정도 되는지, 시스템이 알려주는 탈출 경로를 잘 따라갔는지 등이 있다.&lt;br /&gt;
결론적으로 해당 시뮬레이션은 긴급한 상황에서 위의 판단 기준을 통해 피실험자의 글자의 동적 움직임에 따른 정보 인식을 파악하여, 주어진 문제를 해결하는 방안을 찾고자 한다.&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2617</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2617"/>
				<updated>2019-12-26T08:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 제품의 요구사항 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Functional Requirement&lt;br /&gt;
|-&lt;br /&gt;
| FR-01&lt;br /&gt;
| 시스템은 시나리오 제작자로부터 받은 모델을 FDS가 입력받을 수 있는 값으로 변환할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-02&lt;br /&gt;
| 시스템은 모델에 대한 FDS의 결과를 입력받아 공간에 따른 연기의 투명도 및 가시거리를 측정할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-03&lt;br /&gt;
| 시스템은 피실험자가 화재 진압 도구에 도달하면 사용 안내서를 제공하여야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-04&lt;br /&gt;
| 시스템은 피실험자가 적절한 탈출 경로에 다가갈 수 있도록 정보를 간접적으로 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-05&lt;br /&gt;
| 시스템은 피실험자의 정보 인식 정도를 측정하기 위해 사용자가 탈출한 시간, 탈출 경로 등을 측정한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-06&lt;br /&gt;
| 실험자는 kinetic typography의 폰트 및 색상, 밝기를 변화할 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| FR-07&lt;br /&gt;
| 실험자는 kinetic typography의 위치를 변경하고 어느 정도 이상의 형태 변화를 템플릿으로 제공 받을 수 있어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| IFR-01&lt;br /&gt;
| 시스템은 피실험자가 시뮬레이션 공간에서 움직일 수 있는 입력 툴을 제공해야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-01&lt;br /&gt;
| 사실성: 시뮬레이션에 사용되는 연기는 어느 정도 현실성을 띄어야 한다.&lt;br /&gt;
|-&lt;br /&gt;
| NFR-02&lt;br /&gt;
| 확장성: 시뮬레이션은 3차원적인 입력 도구에 대한 확장성을 제공해야 한다 (VR-HMD 혹은 VR-입력 도구)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====설계 사양====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2616</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2616"/>
				<updated>2019-12-26T08:33:17Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 구성원 및 추진체계 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
*[컴퓨터과학부] 2012920060 최영우: AR환경에서 단순하고 독해&lt;br /&gt;
*[컴퓨터과학부] 2012920064 홍승훈: VR 환경에서 시인성이 높은 폰트 개발&lt;br /&gt;
*[컴퓨터과학부] 2016920054 주하용: 실제 환경을 모방한 가상 VR 건물 개발&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
내용&lt;br /&gt;
====설계 사양====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2615</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2615"/>
				<updated>2019-12-26T08:32:47Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개발 일정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
::[[파일:Develop table.JPG]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
내용&lt;br /&gt;
====설계 사양====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2614</id>
		<title>4조(4조)</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=4%EC%A1%B0(4%EC%A1%B0)&amp;diff=2614"/>
				<updated>2019-12-26T08:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): /* 개발 일정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==프로젝트 개요==&lt;br /&gt;
=== 기술개발 과제 ===&lt;br /&gt;
''' 국문 : ''' 화재 발생 상황에서 AR의 가시성(Visivility)을 활용한 대피 안내 UI 제작&lt;br /&gt;
&lt;br /&gt;
''' 영문 : ''' Development of Fire Evacuation UI using AR on Fire occurrence&lt;br /&gt;
&lt;br /&gt;
===과제 팀명===&lt;br /&gt;
구조&lt;br /&gt;
&lt;br /&gt;
===지도교수===&lt;br /&gt;
홍의경 교수님&lt;br /&gt;
&lt;br /&gt;
===개발기간===&lt;br /&gt;
2019년 9월 ~ 2019년 12월 (총 4개월)&lt;br /&gt;
&lt;br /&gt;
===구성원 소개===&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2016920054 주하용 (팀장)&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920060 최영우&lt;br /&gt;
&lt;br /&gt;
서울시립대학교 컴퓨터과학부 2012920064 홍승훈&lt;br /&gt;
&lt;br /&gt;
==서론==&lt;br /&gt;
===개발 과제의 개요===&lt;br /&gt;
====개발 과제 요약====&lt;br /&gt;
많은 사람이 이용하는 공간에서의 화재 발생 시 화재의 급속한 성장으로 인하여, 소화 구조 활동의 제약 등을 받게 되어 막대한 인명과 재산 피해가 발생할 가능성이 크다. 화재 현장은 급격한 화재 성장, 고온의 열 기류, 연기에 의한 시야의 제약 등으로 안전에 큰 위협이 발생할 가능성이 크다. 2015년 1월 10일 경기도 의정부시 시내에 있는 주거용 오피스텔 건물에서 화재가 일어나 약 130여 명의 사상자가 발생하였으며, 2017년 12월 21일 충청북도 제천시 소재의 스포츠 센터에서도 화재로 인해 총 66명의 사상자가 발생하였다. 화재 상황 시 발생하는 유독가스와 연기가 시야를 가리기 때문에, 이를 충분히 교육받지 못하면 더 큰 피해로 번질 수 있다. 실제로 의정부 아파트 화재 사고에서는 유독가스와 연기로 인해 탈출을 포기하고 집 안에 머물러 있거나, 복도를 채운 연기로 인해 시야가 가려져 제대로 된 탈출을 하지 못해 인명 피해가 급증하였다. 그러나, 고층빌딩, 다이용시설, 지하역사 상 등 대형 소방대상물에서의 화재 대응 훈련은 실제 화재를 재현하는 것이 불가능하므로 현실감이 있는 훈련을 수행하는 데 문제가 있다. 따라서 새로운 개념의 소방훈련 시스템 개발이 필요하며 이를 위해 가상현실(VR, Virtual Reality) 기술을 활용할 필요가 있다. 가상현실(VR, Virtual Reality)기술은 컴퓨터에 의해 시뮬레이션 되는 3차원 가상환경을 통해, 인간에게 실감 몰입감을 제공해 주는 기술로서, 데이터의 시각화/시뮬레이션/교육/의료/오락 등 다양한 분야에 걸쳐 폭넓게 응용되고 있다. 최근 많은 연구가 가상현실을 도입하여 화재 현장에서의 대처 방안을 교육하는 주제를 선정하여 진행되고 있으며, 시장 성장세도 연평균 9.23%로 매우 높은 실정이다. 그러나 화재 현장에서의 문자에 대한 가시성 및 시인성에 관한 연구는 현재 연구가 부족한 실정이다. 실제로 화재 현장에서 대피로 안내 문구 등을 따라 대피하며, 이를 반영하여 비상 탈출구는 시인성이 높은 초록색과 흰색의 조합으로 구성되어 있다. 하지만 실제 화재 현장에서 비상 대피 구는 위치상으로 잘 보이지 않을뿐더러, 익숙하지 않은 일반인들에게는 어디로 가야 하는지 지시를 해주는 역할을 제대로 할 수 있을지 의문이다. 그러므로 VR 환경을 기반으로 하여 가시거리를 실제 환경과 같이 조성된 화재 시뮬레이션 상황에서 글자 기반의 안내 지시등과 소방 안내 물품에 대해서 시인성이 뛰어난 폰트의 개발을 통해 인적ㆍ재산적 피해를 최소화할 방안에 관한 연구를 하고자 한다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 배경====&lt;br /&gt;
# 기술적 기대효과&lt;br /&gt;
##개인용 컴퓨팅에 있어서의 하드웨어 환경은 급속도로 발전하여 최근에는 일반 사용자용으로 보급되는 PC에서도 충분히 양질의 실시간 3D 화면을 렌더링하는 것이 가능한 시대가 되었으며, 게임 및 애니메이션 등의 콘텐츠 산업 분야는 물론 가상 시뮬레이션 분야의 대중화에 기폭제가 되고 있다. 또한 네트워크의 발전과 확산이 개인용 컴퓨팅 환경의 급속 성장에 더해져 클라우드 컴퓨팅을 통해 어느 단말기나, 어느 위치에서도 사용하던 사용자 환경 정보를 그대로 불러와 작업의 연속성을 유지하면서 컴퓨팅이 가능해졌다.&lt;br /&gt;
##기술적인 환경에서 특히 한국이 전 세계 시장에서 우위를 점하고 있는 3D 콘텐츠 분야가 바로 3D 온라인 게임 분야이다. 3D와 네트워크 기술을 연구 개발하여 게임 콘텐츠로 사업화 하는 데에 있어 초기 시장을 장한 한국의 기술력은 세계적으로 이미 입증된 상태이며, 3D 온라인 게임 분야는 그 기술적, 스토리의 시스템 전개적 특성상 3D 기술을 활용한 시뮬레이션 분야로의 응용이 가장 용이하다.&lt;br /&gt;
##재난 상황에서 안내 글자 및 소방 자재 문구에 대한 연구는 초기 단계이다. 따라서 이 연구를 통해서 VR 환경에서 어떤 글자가 혹은 어떠한 색상이 실제로 효과적인지를 판단하여, 실제 빌딩이나 주택에 배치할 수 있을 것이다.&lt;br /&gt;
# 경제적 및 사회적 파급효과&lt;br /&gt;
##대형 소방대상물에 대한 모의 훈련의 비효율성을 극복하고 가상 공간에 대형 소방대상물을 3차원으로 생성하여 안전하고 반복적으로 다수의 팀 단위의 모의 훈련이 가능하게 됨으로써 훈련에 소요되는 경제적 부담을 줄일 수 있다.&lt;br /&gt;
##2010년 7조4천억원 규모였던 국내 게임시장에서 온라인 게임은 64.2%인 4조7천억원의 시장규모를 형성하였으며, 2013년에는 8조5천억 원을 상회할 것으로 예상되며, 수출에 있어서도 온라인 게임은 2010년 15억4천만 달러의 수출성과를 올렸으며, 세계시장 점유율 25.9%로 경 제대국인 중국의 30.4%에 이어 세계 2위의 온라인게임 강국의 면모를 과시하고 있다. 소방업무를 위한 전문교육 프로그램 또는 교육용 시뮬레이션, 교육용 게임 등은 전세계적으로도 출시된 솔루션이 많지 않은 블루오션 시장으로서, 당 주관연구기관이 기 보유한 해외 네트워크와 소재지인 인천시 외 관련 기관의 협력을 활용하여 해외 시장을 대상으로 한 사업을 도모할 수 있다.  본 연구과제의 성공적 완료 후 초등학교 및 중고등학교, 대학생 및 일반인을 대상으로 한 소방 및 방재 교육용 게임을 출시하여 에듀게임 콘텐츠로서 국내 및 해외 시장에 진출할 기회를 창출할 수 있다.&lt;br /&gt;
##화재 현장에서 가시성에 대한 연구는 이루어지지 않았으며, 실제로 많은 비상등이 실제 화재 현장과 동떨어진 위치 혹은 디자인을 하고 있다. 이 연구를 통해서 고층 빌딩 및 복합 상가 등 유동인구가 많은 지역에서 안전하고 신속한 대피를 유도할 수 있는 신호 혹은 안내 지시를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====개발 과제의 목표 및 내용====&lt;br /&gt;
:Display의 발달은 고정된 모니터 속에서만 볼 수 있던 애니메이션을 도시의 여러 공간에서 사람들이 볼 수 있도록 발전해왔으며, 버스 정류장에서의 광고는 이러한 모습의 한 단면을 잘 보여준다. 더 나아가서 근 미래적인 스마트시티에서의 다양한 모습은 거리 어디에서나 다양한 정보를 얻을 수 있는 미래사회를 기대하게 한다. 해당 프로젝트는 다양한 상황 속에서 정보 인식의 가장 기본적인 도구인 글자의 다양한 가능성을 탐구하고자 한다. 기존의 정적인 글자가 아닌 kinetic typography는 미래사회에서 쉽게 볼 수 있는 한 특징이 될 것이며, 이러한 특징이 화재 상황에서 사람들에게 어떠한 도움이 될 것인가에 대한 답변을 모색하는 것이 주요 목적이다.&lt;br /&gt;
&lt;br /&gt;
===관련 기술의 현황===&lt;br /&gt;
====관련 기술의 현황 및 분석(State of art)====&lt;br /&gt;
=====전 세계적인 기술현황=====&lt;br /&gt;
#전산 유체 역학 (CFD)&lt;br /&gt;
#:전산 유체 역학(CFD, Computational fluid dynamics)은 유체 현상을 기술한 비선형 편미분 방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM (Finite Difference Method), FEM (Finite Element Method), FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화하여 대수 방정식으로 변환하고, 이를 수치 기법(numerical methods)의 알고리즘을 사용하여 유체 유동 문제를 풀고 해석하는 것이다. 컴퓨터를 사용하여 공학 문제에서 유체와 기체의 상호작용을 시뮬레이션한다. 화재 시뮬레이션에서 CFD는 주로 점화, 열전달 및 물질전달, 연소속도, 최대 연소 유속, 에너지 방출속도, 화재성장속도, 연소속도의 변화에 영향을 미치는 인자, 화염의 확산 등의 화재성장에 관한 내용과 화재플럼 (부력에 의한 화염기둥의 열기류)의 생성 및 구조, 현상, 연기 단층 등을 일컫는다. &lt;br /&gt;
#:이러한 CFD를 계산하기 위해서 NIST에서 제작한 CFAST (Consolidated Fire and Smoke Transport Model)와 FDS 2가지의 소프트웨어가 주로 이용된다. CFAST는 NIST 산하 BFRL (Building and Fire Research Laboratory)에서 제작된 소프트웨어로서 CFD를 계산하기 위해 Zone Model (상부경계층과 하부경계층을 각각 하나의 Cell으로 나누어 화재를 관찰하는 모델)과 Field Model (구획실의 공간을 수천 ~ 수백만개의 Cell) 으로 나눠서 관찰하는 두 가지 모델이 있다&lt;br /&gt;
#VR&lt;br /&gt;
#:VR은 2013년부터 현재까지 제2의 성장이라고 불릴 정도로 급격한 성장을 이루었다. 적당한 가격대를 형성하고 있는 새로운 하드웨어 시장의 성장뿐만 아니라 새로운 기술들이 들어서면서 VR 시장은 지속해서 높은 성장세를 보인다. 여기서는 주로 주요 기술적 문제 및 하드웨어 및 소프트웨어에 대한 최신의 기술을 소개한다 &lt;br /&gt;
##기술적 요소&lt;br /&gt;
##:최신의 HMD는 휴대폰 및 타블렛 화면의 기술적 성장에 힘입어 해상도, 픽셀 밀집도 그리고 대비도 등이 매우 발달한 상태이다. 따라서 기존의 디스플레이를 대체하여 휴대폰 화면이 사용되기도 한다. 각각의 픽셀은 다른 방법으로 배열될 수 있는 순수한 적색, 녹색 또는 파란색 구성 요소를 가진 하위 픽셀들로 구성되어 있다. 고전적인 RGB 하위 픽셀은 RGB 패턴을 반복한다. 대안으로 펜타일이 있으며, 흰색의 서브 픽셀 혹은 제2의 녹색 필섹을 사용한다. 펜타일 패턴은 특정 경우 인식 분해능이 낮지만, 향후 소형화할 수 있는 여지가 더 많다. 다른 시스템에서는 대신 추가 노란색 하위 픽셀을 사용하기도 한다. 이와 관련해 LCD 디스플레이는 백라이트를 컬러 마스크로 유기발광 다이오드 (OLED)는 유기성 LED를 사용하여 좀 더 우수한 색영역과 트루 블랙 영역을 구사하기도 한다.&lt;br /&gt;
##:한편 Oculus Rift는 콘텐츠의 잔상효과가 문제가 되었는데, 이는 LCD 디스플레이 기술에서 고정된 발광효과가 기기가 회전하는 동안 잔상을 남기기 때문이었다. 현재는 OLED기술을 채택함으로서 이러한 문제는 어느 정도 해결된 상태이지만, 여전히 스트로브 조명을 사용하는 짧은 노출 시간은 깜빡이는 이미지를 생성한다. 하지만 이전에 생성된 흐릿한 이미지에 비해 개선된 결과를 나타낸다. 최신 HMD에 사용되는 디스플레이는 110 FOV에서  분해능에 대해 3ms 이하의 지속성을 보이며, 특히 Oculus DK2 OLED 디스플레이는 오버클로킹을 사용하여 2-3ms의 주사율을 보인다. Crystal Cove의 Prototype은 1ms 이하의 잔상도를 보이는 반면 소니의 Morpheus (Playstation VR)은 120Hz의 주사율에서 8.3 ms의 잔상도를 보인다.&lt;br /&gt;
##:스크린도어 효과란 실제 픽셀사이의 가시적인 간격을 의미한다. 디스플레이가 렌즈를 통해 확대되면 그 효과가 가시화된다. 현재의 VR 기술, 특히 HMD 기술에서는 일부 사용자들에게는 불편함으로 다가온다. 디퓨저 화면을 적용하여 스크린도어 효과를 줄일 수 있으며, 이러한 문제는 더 이상 간극이 보이지 않을 때까지 디스플레이 해상도를 높임으로써 해결될 것이다&lt;br /&gt;
##:렌즈와 관련해서는 Barrel Distortion 현상이 문제 시 되고 있다. Barrel distortion 현상이란 렌즈를 통해 평면의 이미지를 확대하면 이미지의 왜곡이 발생하는 현상이다. Pincusion distortion이라고 불리는 현상이 렌즈를 통해 볼 때 일어난다. 즉 직선이 왜곡되어 이미지의 중앙으로 휜 것처럼 보이는 것이다. 이러한 문제는 오목 렌즈와 볼록 렌즈를 겹치면 왜곡되지 않은 이미지가 나타나는 것처럼, 미리 왜곡된 이미지를 사용하면 해결된다. 또 다른 문제 중 하나는 색수차 현상이다. 렌즈를 이용하여 이미지를 확대할 때, 색상에 따른 파장의 길이 차이로 인해 발생하는 현상으로 이러한 문제는 색상 레이어에 따른 render-pass를 다르게 하여 해결될 수 있다. 다만 성능적인 문제가 존재한다. 보통 이러한 문제는 shader를 통해 해결된다. 또 다른 해결책은 프레스넬 렌즈나 비곡률 렌즈를 사용하는 것이다.&lt;br /&gt;
##:사용자의 시선에 대한 정보를 획득하기 위해 tracking systems의 구현 또한 기술적인 문제에 포함된다. 최근의 tracking 기술은 적외선 다이오드 (Infra-red Diode)를 사용하여 광학적으로 fovea 영역을 추적하는 것이 주로 사용되고 있다. 다른 접근 방식으로서, 케이블이 연결된 HMD의 경우 자이로스코프, 가속계 그리고 전ㆍ자기장계 등을 사용하여 눈의 위치를 추적하기도 한다. 마지막으로 디스플레이 할 콘텐츠의 회전 시 주사율의 차이로 인해 발생하는 시간 왜곡 현상 (Time warp) 현상이 있다. Rendering 단계에서의 접근 방식을 통해 이러한 문제를 상당히 줄일 수 있다. 주로 사용되는 방법으로서는 비동기화적 시간 왜곡 및 Kalman filter 등을 통한 예측, 그리고 미리 rendering 하는 방식 등이 주로 채택되고 있다.&lt;br /&gt;
##하드웨어적 요소&lt;br /&gt;
##:컴퓨터에서 생성된 콘텐츠를 화면에 표시하는 연구는 1960년대부터 시작되어 왔다. 다양한 광학 및 스크린의 반복적인 개발이 지난 수십 년간 계속되었다. HMD 기술은 해상도, 대비도 등의 다양한 성능에 대해 주목하고 있다. 스마트폰 VR 시장의 경우, 삼성이 Oculus와 협력하여 고해상도의 스마트폰 제품군을 만들고 있으며, GearVR은 케이스의 옆면에 추가적인 터치패드를 제공하는 형식을 제공하여 스마트폰 VR의 차별화를 두고 있다. Zeiss VR One은 apple과 삼성의 기종 모두를 사용하여 스마트 VR 환경을 제공하고 있으며, Google과 협력하여 카드 보드 형식의 HMD를 만들었다. 일반적으로 생각되는 고정형태의 HMD의 경우 Oculus Rift, Play Station VR 그리고 HTC Vive가 주요 시장으로 부각받고 있다. Oculus Rift의 경우 개발자 키트 1, 크리스탈 코브, DK 2 등의 제품군을 거쳐 Oculus Rift 서비스를 제공하고 있으며 연구뿐만 아니라 가정용 VR 기기로서 각광 받고 있다. HTC Vive의 경우 Oculus Rift와 비슷한 사양을 지니고 있으나, 어플리케이션 측면에서 더욱 다른 영역을 제공하여 차별화를 두고 있다. 앞의 두 기기는 프레스넬 렌즈를 사용하여 색수차를 줄이는 반면 Playstation VR은 비곡률적 렌즈를 이용하여 중앙의 왜곡을 줄이는 형태를 지니고 있다. &lt;br /&gt;
##:고정형태의 HMD의 경우 일반적으로 VR 체험 중 걸어 다닐 수 있다는 몰입감과 현실감 측면에서 단점을 보인다. 하지만 비용과 엔지니어링, 안전성에 대한 고려가 많기 때문에 가장 넓은 시장을 지니고 있다. 다만 HTC Vive는 거리 이내에서 공간을 추적할 수 있도록 하여 가상 공간 내에서 제한적으로 걸을 수 있게 하였다. FOVE HMD의 경우 사용자의 눈을 추적하고 현재 보고있는 것, 상호작용, 필드 깊이, 위조 렌더링 및 원격 사용자의 시선 방향 렌더링과 같은 몇 가지 특징을 파악함으로써 완전히 손대지 않고 렌더링할 수 있는 렌더링을 가능하게 한다. 다중 사용자 환경에서 구현할 수 있다. HMD에 대한 눈 추적의 초기 시도는 항공기 검사를 지원하기 위해 연구되었다.Haptic 디스플레이는 과학 VR 커뮤니티에서 흔히 시각 디스플레이와 결합되어 언급되고 있다. Vest 사는 조끼에 부착한 촉각 표시장치 영역을 활용한 KOR-FX22가 제공하는 조끼는 오디오 신호를 촉각적 피드백으로 변환하는 단순한 접근방식을 사용한다. 조끼와 컴퓨팅 시스템 사이의 연결은 오디오 출력을 통해 실현된다. 오디오 신호는 수집에 의해 처리되고 전송된다.&lt;br /&gt;
##:입력장치로서는 컨트롤러 및 네비게이션 장치가 있다. 일반적으로 입력장치는 6DOF의 추적장치를 가지며, 버튼, 트리거 그리고 조이스틱 등으로 구성된다. 컨트롤러의 종류로서는 Oculust Rift사의 Half Moon 콘트롤러로 알려진 입력장치가 있으며, 장치에 닿는 손가락에 따라 기본적인 제스처를 인식할 수 있는 용량 센서가 있다. HTC Vive사는 SteamVR 컨트롤러를 사용한다. 이 컨트롤러는 조이스틱 대신 터치패드를 이용하며, Lighthouse fovea tracking system을 사용하여 안구 영역을 탐지한다. 네비게이션 입력장치로서는 ODT (Omnidirectional Treadmil), 슬라이드 밀 그리고 의자 기반 인터페이스 등이 있다. 이러한 입력장치의 종류는 Space Walker VR이 있으며 전체적으로 회전할 수 있는 전통적 트레드밀 방식을 채택하였다. 원형 보행 공간으로는 Walk Mouse 제품이 있다. 사용자가 자유롭게 걸을 수 있는 활성화된 바퀴가 존재하는 표면이 있어 보행자가 의 속력으로 걸을 수 있다.&lt;br /&gt;
##소프트웨어적 요소&lt;br /&gt;
##:일반적으로 많은 Open Platform들이 소프트웨어 개발을 위해 만들어졌다. Playstation VR이 엔터테인먼트 시장에 집중되어 있어 개발 환경 제공에는 미약한 반면, Oculus나 HTC 같은 하드웨어 제조업체들은 SDK를 제공한다. Oculus는 프로토타입을 만들고, 어플리케이션 개발 프로세스에 커뮤니티를 참여시키기 위해 지속적으로 업데이트되는 SDK를 제공한다. 이러한 SDK를 Github에서 다운받을 수 있게 하였으며, 장치 간 개발을 보장하기 위해 표준화된 양식을 제공한다.VR 소프트웨어 개발에 대한 표준화 된 양식으로 OSVR이 있으며, Virtual Reality Peripheral Network (VRPN)은 입력장치의 추상화를 제공한다.&lt;br /&gt;
##:게임 엔진으로서는 주로 Unity Engine 및 Unreal Engine 4가 있으며, 두 엔진 모두 Oculus Rift에 개발 도구를 통합된 패키지로써 지원한다. 최근 VR 디바이스에 대한 rendering 연산이 높아지면서 개발자들이 연산 복잡도를 줄일 방식에 대한 고려가 필요하다. 예를 들어 표준적인 wallpaper 및 스프라이트 파티클 혹은 모자이크 형식의 이미지는 VR 환경에서 눈에 너무 띄므로 충분한 거리가 있을 때만 사용하는 것이 좋다. 게임 엔진은 개발자에게 유용성과 방대한 기능을 제공하며, 그 중 VR 프레임 워크는 SID 및 기타 다중 디스플레이 설치 지원에 초점을 맞추고 있다.&lt;br /&gt;
##:WebVR은 가상 현실 경험을 제공하기 위해 Firefox 웹 브라우저 내에서 WebGL을 사용할 수 있는 프레임 워크를 만들었다. 현재 골격은 아칙 초기 개발단계에 있지만, 오큘러스 리프트가 지원되고 있다.360 영화는 시각의 변화만을 허용함으로써 실시간 상호작용의 제약조건을 매우 제한적으로 제공하므로, VR로 간주되지 않을 수 있다. 하지만, 많은 커뮤니티에서 채택되고 있으며 유투브나 페이스북에서도 360영화를 제공하고 있다. HMD를 사용하면 이러한 영화 동안 카메라의 방향을 바꾸는 데 헤드 트래킹을 사용할 수 있다. 이 접근법을 사용하면 하드웨어를 사용할 수 있다면 콘텐츠 생성이 비교적 쉽다. HMD에 대한 관객들의 흥미를 불러일으키기에 좋은 도구이다.&lt;br /&gt;
======기술 로드맵======&lt;br /&gt;
::[[파일:4_roadmap.png]]&lt;br /&gt;
&lt;br /&gt;
====시장상황에 대한 분석====&lt;br /&gt;
*경쟁제품 조사 비교&lt;br /&gt;
국내에서의 초기의 화재 시장은 정부의 주도로서 재난안전과 관련된 연구시설 및 연구인력이 극히 제한되어 있어, 중장기적인 연구계획에 의하지 않고 주어진 상황에 대응하는 방식으로 연구를 수행하고 있는 것을 해결하고자 화재 진압 시뮬레이션을 제작하는 것이 주가 되었다. 소방훈련 시스템 개발은 중앙소방학교(1999~2003)에서 “화재진압시뮬레이션에 관한 연구”가 최초로 수행되었으며, 건물 내부 또는 탱크로리에 대한 화재 특성 분석, 화재진압모델 구축 및 교육용 대피 프로그램을 개발하였으나, 사용자의 체험기반 시뮬레이터가 아닌, 소방 전문가의 결과 분석 및 이해를 필요로 하는 시스템이었다 [3]. 그러나 최근 VR/AR시장이 확대되면서 민간기업의 주도로서 교육용 체험기반 시뮬레이터가 제작되고 있는 실정이다.&lt;br /&gt;
#중앙소방학교 소방 지휘훈련시뮬레이터 (2005)&lt;br /&gt;
#:중앙소방학교 소방 지휘훈련시뮬레이터는 과기부의 방재기술사업의 일환으로서 중앙소방학교에서 2004년부터 2005년까지 소방지휘관을 대상으로 하는 소방지휘훈련 시뮬레이터다. 이 시뮬레이터에는 지휘관이 가상화재 현장에서 대규모 소방력이 동원되는 상황을 부여하여 지휘관이 상황처리를 선험하면서사고현장 지휘체계를 습득가능하게 한다. 그러나 이는 화재상황(열기, 연기)의 직접 체험보다는 소방자원의 화룡ㅇ 측면에서의 대처요령을 주로 훈련하기 위한 것으로 실제화재현장을 재현하지 못하는 한계를 지니고 있어 실제 화재현장에 투입되는 소방관의 화재진압 훈련용으로 사용하는 것은 불가능하였다 [3].&lt;br /&gt;
#메타포트 (2016)&lt;br /&gt;
#:메타포트는 2016년 문화기술 연구개발 지원사업 가상현실 콘텐츠 프런티어 프로젝트의 일환으로서 전산유체역학 (Computational Fluid Dynamics, CFD)인 FDS를 활용하여 화재 모델을 만들고 화재의 생성과 진화, 소멸과정을 수학적으로 풀어낸 VR기반 시뮬레이션이다. FDS를 기반으로 한 실시간으로 연동이 특징이며, 생애주기형 가상현실 재난 탈출 훈련 시스템인 ‘Golden 5’ 및 ‘Heroes On Fire’을 제작하여 HMD를 착용한 실감형 체험하는 체험 프로그램을 만들었다.&lt;br /&gt;
#페리굿 (2017)&lt;br /&gt;
#:페리굿은 VR 재난안전교육, 교통안전교육, 산업안전교육, 장애인식개선교육을 목적의 VR/AR 제품군을 제작하고, 이와 관련된 콘텐츠 및 기기를 렌탈하는 회사이다. 그 중 VR 화재 안전교육과 관련된 콘텐츠로서는 화재 발생현장에서 VR환경에서 Oculus Rift를 사용하여 소화기를 사용하여 화재 진압을 하는 콘텐츠를 학생 및 일반인을 대상으로 제작하여 각종 전시회 및 교육 프로그램에 사용하고 있다.&lt;br /&gt;
*마케팅 전략 제시&lt;br /&gt;
**강점 (Strength)&lt;br /&gt;
**:증강 현실을 통한 실감 콘텐츠 몰입도의 증가&lt;br /&gt;
**:기존의 시뮬레이터들에서 주목받지 못하던 안내판 및 소방 물품 사용법 관련 시인성 문제에 관한 연구로서, 새로운 방안 모색&lt;br /&gt;
**:널리 사용되는 FDS를 활용한 실제 화재 현장에 대한 현실적인 모델 개발 가능&lt;br /&gt;
**약점 (Weakness)&lt;br /&gt;
**:학부생 수준의 연구 개발의 한계 (전문성 역량의 한계)&lt;br /&gt;
**:인적 자원이 풍부하지 않음&lt;br /&gt;
**기회 (Opportunity)&lt;br /&gt;
**:사회 안전망에 대한 관심도가 급증&lt;br /&gt;
**:VR/AR 시장의 높은 성장세&lt;br /&gt;
**:초기 단계인 VR/AR 환경에서의 글자의 가시성/시인성 연구개발 및 시장&lt;br /&gt;
**위협 (Threat)&lt;br /&gt;
**:이미 방재와 관련된 시뮬레이션 시장이 민간업체로 확대되어 있는 상태이다.&lt;br /&gt;
**:개척되지 않은 시장으로 단발성 관심으로 성장률이 둔화될 수 있다.&lt;br /&gt;
&lt;br /&gt;
===기술개발 일정 및 추진체계===&lt;br /&gt;
====개발 일정====&lt;br /&gt;
[[파일:Develop_table.jpg]]&lt;br /&gt;
&lt;br /&gt;
====구성원 및 추진체계====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==설계==&lt;br /&gt;
===설계사양===&lt;br /&gt;
====제품의 요구사항====&lt;br /&gt;
내용&lt;br /&gt;
====설계 사양====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===개념설계안===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===이론적 계산 및 시뮬레이션===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===상세설계 내용===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
==결과 및 평가==&lt;br /&gt;
===완료 작품의 소개===&lt;br /&gt;
====프로토타입 사진 혹은 작동 장면====&lt;br /&gt;
내용&lt;br /&gt;
====포스터====&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===관련사업비 내역서===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===완료작품의 평가===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
===향후계획===&lt;br /&gt;
내용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	<entry>
		<id>https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Develop_table.JPG&amp;diff=2613</id>
		<title>파일:Develop table.JPG</title>
		<link rel="alternate" type="text/html" href="https://capstone.uos.ac.kr/cdc/index.php?title=%ED%8C%8C%EC%9D%BC:Develop_table.JPG&amp;diff=2613"/>
				<updated>2019-12-26T08:31:10Z</updated>
		
		<summary type="html">&lt;p&gt;4조(4조): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4조(4조)</name></author>	</entry>

	</feed>