"4조(1조)"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(개념설계안)
(관련 기술의 현황 및 분석(State of art))
79번째 줄: 79번째 줄:
 
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.
 
CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.
  
[[파일:2.png]]
+
[[파일:CNN_1.png]]
  
 
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다.  
 
Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다.  
95번째 줄: 95번째 줄:
 
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.
 
Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.
  
[[파일:3.png]]
+
[[파일:CNN_2.png]]
  
 
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.
 
위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.

2019년 12월 26일 (목) 05:52 판

프로젝트 개요

기술개발 과제

궁중st 운명교향곡 뮤직비디오

(영문 Beethoven Symphony No.5 Korean Court Music Style Video)

과제 팀명

4조(1조)

지도교수

김민호 교수님

개발기간

2019년 9월 ~ 2019년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2015920061 현*연(팀장)

서울시립대학교 컴퓨터과학부 2014920007 김*영

서울시립대학교 컴퓨터과학부 2015920060 현*지

서론

개발 과제의 개요

개발 과제 요약

많은 사람들의 귀에 익숙하고, 찾아 듣기 쉬운 클래식에 비해 국악은 접근성이 상당히 떨어진다. 이 과제는 국악의 접근장벽을 낮추기 위해 베토벤의 운명교향곡과 같은 서양 악기를 이용한 클래식 음악을 한국의 전통악기를 이용한 국악으로 변환하여 국악풍의 클래식 음악을 만들어내는 것을 1차적인 목표로 한다. 여기에 더불어, 클래식 음악의 연주영상을 한국의 전통적인 민화의 style을 가지는 영상으로 변환하고, 생성된 국악풍의 클래식 음악과 합성하여 클래식 음악의 국악 버전 뮤직비디오를 만든다. 이 제작된 뮤직비디오를 유튜브에 업로드하여 한국의 전통 예술을 세계에 널리 알리는 것을 목표로 한다. 이를 구현하기 위해 Video Style Transfer와 Audio Style Transfer의 오픈소스를 사용하여 영상 내 이미지의 스타일을 변환해주는 Real-Time Style Transfer을 활용해, 음악과 영상을 모두 변환할 수 있는 프로그램을 만드는 것이 최종적인 목표이다.

개발 과제의 배경

많은 사람들이 심리적 안정을 취하기 위해 종종 클래식을 듣는다. 또한 클래식은 광고의 배경음악, 유명 가수의 노래 등에 사용되어 대중에게 쉽게 다가간다. 그에 반해, 국악은 여러 가지 생소한 악기들과 어딘지 모르게 난해한 느낌이 드는 멜로디 때문인지 접근성이 상당히 떨어진다. 사극 드라마의 ost나 국악풍 노래 등을 통해 ‘사극풍 음악’, ‘국악풍 음악’은 어느정도 인기를 끌고 있으나, 막상 국악을 찾아서 듣는 사람은 많지 않다. 대부분의 사람들이 익숙하지 않고 어려운 국악 대신 귀에 익은 클래식을 찾아 듣는 것은 당연한 상황이다.

한국 예술공연장의 대표라고 할 수 있는 ‘예술의 전당’ 공연일정을 찾아봐도 ‘첼로 독주회’, ‘바이올린 독주회’ 등의 클래식 악기의 공연은 쉽게 찾아볼 수 있는 반면, 국악 공연 찾기는 모래밭에서 바늘찾기라고 할 수 있다. 더군다나 클래식 음악 전공을 희망하는 사람은 늘어가는 반면 국악 전공자는 상당히 적다. 이로 인해 국악과가 폐지되는 학교도 점점 늘고 있다.

이처럼 국악이 사람들의 관심사에서 점점 멀어지고, 소외되는 까닭은 ‘국악은 지루하고 심심하다’는 편견이 자리잡고 있기 때문이다.이러한 편견의 원인으로는 한국 전통 음악이 느리다는 특징이 가장 큰 이유를 차지한다. 하지만 한국의 전통 악기들로도 충분히 빠르고 신나는 음악을 연주할 수 있으며, 다양한 느낌의 곡을 소화할 수 있다. 이번 과제를 통해 많은 사람들에게 친숙한 베토벤의 운명교향곡을 국악 스타일로 변환하여, 듣는 이들에게 한국의 전통 악기들에 대한 편견을 제거하고 국악에 대한 거부감을 줄일 수 있다. 나아가 외국인들에게도 한국 전통 음악 스타일을 쉽게 알리는 계기가 될 수 있다.

이번 과제의 최종 목표인 베토벤 운명 교향곡의 국악 버전 뮤직비디오를 제작하기 위해 다음의 두 가지 Style Transfer 기법을 사용한다.

첫번째, 클래식을 국악 Style로 변환하기 위해 Audio Style Transfer를 사용한다. Audio Style Transfer에 대한 자세한 설명은 아래의 [Deep Learning For Audio Style Transfer]를 참조한다.

두번째, 클래식 연주 영상 이미지를 수묵화 등의 한국 전통 미술 양식을 띄는 이미지로 변환하기 위해 Video Style Transfer를 활용한다. Video Style Transfer에 대한 자세한 설명은 아래의 [Real-Time Style Transfer]을 참조한다.

개발 과제의 목표 및 내용

유명한 클래식인 베토벤의 운명교향곡의 연주 영상을 민화와 국악의 style로 transfer함으로써 사람들의 국악에 대한 거리감을 좁히고 나아가 세계에 한국의 style을 알리는 것을 최종적인 목표로 한다.

이를 위해 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다. 베토벤의 운명교향곡 연주 영상을 변환하는 것뿐만 아니라, 사용자가 원하는 연주 영상을 직접 변환할 수 있도록 프로그램을 제작하되 style audio를 국악으로 고정시킴으로써 사용자가 한국의 style을 체험할 수 있도록 한다.

원본 영상에서 소리와 무성영상을 분리하여 각각 국악과 민화의 style로 style transfer를 진행한 후, 생성된 음성과 무성영상을 병합하는 작업을 거친다. 기존의 Real-time video style transfer와 Audio style transfer 오픈소스를 활용하고 발전시켜 voice와 video를 한 번에 변환할 수 있는 프로그램을 만드는 것을 목표로 한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

◇ Neural Style Transfer

Neural Style Transfer는 한 이미지 P를 이용하여 다른 이미지 A의 스타일을 가지는 새로운 이미지 X를 생성하는 방식이다. 즉, 어떤 이미지 A의 스타일을 가져와서 그 스타일을 다른 이미지 P에 적용함으로써 새로운 이미지 X를 만들어낸다.

Neural Style Transfer는 pre-trained된 모델을 사용하는 방법과 GAN을 사용하는 방법의 두 가지 방법으로 구분된다. 전자는 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지를 학습하는 방법과 pre-trained된 모델을 기반으로 content image와 style image를 입력으로 이용해 이미지 변환 네트워크를 학습하는 방법의 두 가지 방법을 포함하고, 후자는 GAN을 기반으로 style transfer 모델을 직접 학습하는 방법을 뜻한다. Neural Style Transfer의 동작과정은 다음과 같다.

1.png


◇ GAN (Generative Adversarial Network) GAN은 Ian Goodfellow가 2014년에 NIPS에서 발표한 회귀생성모델으로, 분류를 담당하는 모델(Discriminator)과 회귀생성을 담당하는 모델(Generator)로 구성된다. “Adversarial”은 ‘서로 적대적인, 적대적인’ 이라는 뜻으로, 말 그대로 두 모델 Discriminator와 Generator가 제로섬 게임의 틀 안에서 서로의 성능을 개선해 적대적으로 경쟁해 나간다.

지도학습은 정답이 주어진 상태에서 학습하는 것을 의미하고, 비지도학습은 정답이 주어지지 않은 상태에서 학습하는 것을 의미한다. GAN은 비지도학습에 사용되는 인공지능 알고리즘으로, 원 데이터가 가지고 있는 확률분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어 낼 수 있도록 한다. 이를 쉽게 이해하기 위한 예시로 Ian Goodfellow는 다음과 같은 비유를 들었다.

'지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 분류하려고(Classify) 노력한다. 이러한 경쟁이 지속적으로 학습되면 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고, 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도가 됨으로써 진짜와 거의 차이가 없는 가짜 지폐를 만들 수 있다.'

즉. GAN을 이용하면 두 모델을 계속해서 경쟁시키는 과정에서 생성자가 만드는 가짜 데이터의 품질이 점점 좋아지게 되고, 이를 사용하면 높은 성능의 학습이 가능하다.


◇ CNN (Convolutional Neural Network)

CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류다. CNN을 사용하면 입력 및 출력을 모두 3차원(배치처리 시 4차원) 데이터로 처리하기 때문에 공간적 정보를 유지할 수 있다.

CNN의 작동원리를 상세히 알기 위해 필요한 기본 개념으로는 Convolution(합성곱), Padding, Stride, Pooling 등이 있다. Convolution은 두 함수 중 하나를 반전(reverse)하고 이동(shift)시켜가며 다른 하나의 함수와 곱한 결과를 적분해나간다는 뜻이며, 다음 그림을 통해 이해할 수 있다.

CNN 1.png

Input의 각 픽셀과 Filter의 각 픽셀을 곱한 값의 총합을 Feature Map에 저장한다.

입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 피처 맵을 생성한다. 그리고 각 피처 맵을 합산하여 최종 피처 맵으로 반환한다.

필터(커널이라고도 한다)를 이동시켜가며 이미지와 곱한 결과 아래와 같이 input data에 비해 output data의 사이즈가 축소되기도 한다.

이처럼 합성곱 연산을 거칠 때마다 크기가 작아지는 경우, 출력 크기가 너무 줄어드는 것을 막기 위해 Padding을 사용한다.

1만큼 Padding했다는 말의 의미는 input data 사방 1픽셀을 특정 값으로 채워 늘린다는 의미이다. padding을 사용하면 그만큼 입력 데이터를 크게 만들어 출력 데이터를 입력 데이터와 동일한 형상d,fh 조정할 수 있으므로 입력 데이터의 공간적 크기를 고정한 채로 다음 계층에 전달할 수 있다.

Stride는 필터를 적용하는 각격을 의미한다. 예를 들어, stride=2이면 두 칸씩 건너 뛰면서 필터를 적용한다

Pooling은 Convolution layer의 출력 데이터를 input으로 받아 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하기 위해 사용된다. 풀링 레이어를 처리하는 방법으로는 정사각 행렬의 특정 영역 안 값의 최댓값을 모으는 Max Pooling, 특정 영역의 평균을 구하는 Average Pooling, 최소값을 모으는 Min Pooling 등이 있다.

CNN 2.png

위 그림은 전형적인 CNN 구성이다. Convolution Layer와 Max Pooling Layer를 반복적으로 쌓으며 특징을 추출한다.


◇ VGG Net

VGG는 Oxford University에서 제안한 네트워크이다. VGGNet을 설명한 논문인 Very Deep Convolutional Networks for Large-Scale Image Recognition은 모델의 깊이가 성능에 미치는 영향을 분석하고자 했다. 이를 위해 3*3의 매우 작은 filter를 가지는 Convolutional Layer를 여러 층 쌓아 깊게 만듦으로써 깊이의 영향력을 확인했다. 결과적으로, VGGNet은 굉장히 간단한 구조로 이루어져 있음에도 복잡한 구조와 큰 차이를 보이지 않는 높은 성능을 냄으로써 신경망의 깊이가 딥러닝의 정확도에 큰 영향을 미친다는 것을 보여준다.

VGG 네트워크는 구조가 간단하고, 그로 인해 각 Epoch가 빠르며, 네트워크의 이해와 변형이 용이하다는 점 등의 장점이 있다. 이 모델은 크게 두 가지 특징을 갖는데, 첫 번째는 3*3의 작은 convolutional filter를 사용하는 CNN모델이라는 점이고, 두 번째는 16가지, 19가지 레이어의 깊은 레이어를 사용한다는 점이다. 일반적으로 두 모델을 각각 VGG16, VGG19라고 부른다.

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이기 때문이다.


4.png

논문에서는 깊이에 따른 성능 변화를 비교하기 위해 다양한 모델을 구성하였다. 위 이미지는 논문에서 구성한 모델을 보여준다. 모델 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)를 사용하였다.


5.png

위 이미지는 각 레이어별로 학습을 진행한 결과이다. A와 A-LRN의 비교 결과 큰 차이가 없으므로 CNN모델에서 중간에 들어가는 정규화는 큰 의미가 없음을 확인 가능하다. B와 C를 비교한 결과 큰 차이가 없으므로, 깊은 학습은 Convolutional을 통한 분할이 중요함을 확인 가능하다. 여기서 주목할 만한 사항은, D와 E를 비교했을 때, 깊을수록 더 좋은 결과를 보이던 이전까지와는 달리, 같거나 나쁜 성능을 보이고 있다는 점이다. 이는 Vanishing-gradient로 해석 가능하지만, 이 논문의 경우는 Activation funcdtion으로 ReLU를 사용하였는데도 위와 같은 현상이 발생하였다. 이를 해결하여 레이어를 152개까지 쌓은 모델이 ResNet으로, ResNet은 일정 개수의 레이어마다 몇 단계 이전의 레이어의 결과를 앞으로 가져오는 방식을 통해 이 문제점을 해결하였다.


파일:6.png

위 이미지는 VGG16의 구조이다. 8~16개의 Convolutional Layer와 5개의 Max-Pooling Layer, 3개의 Fully-Connected Layer를 갖는다. Convolutional Layer(3*3 filter, stride=1, padding=True)에서는 레이어의 개수에 변화를 줘서 정확도에 대한 신경망 깊이의 영향력을 실험하고, 패딩을 적용해 이미지의 크기를 유지한다. Convolutional Layer 사이에 Max-Polling Layer(2*2 filter, stride=2)를 두어 특징 map을 1/4로 줄인다. 이를 4096 -> 4096 -> 1000의 세 장으로 고정된 Fully-Connected Layer를 사용하여 Output을 얻어낸다.

VGG Net은 독특한 학습 방법을 가지는데, 이전보다 깊어진 네트워크를 효율적으로 학습시키기 위해, A를 학습시키고, 여기에 레이어를 추가 시켜서 B를 추가 학습시키는 방식으로 학습을 진행하였다. 또한, 이미지의 개수를 늘이기 위해 244*244보다 큰 크기의 이미지인 경우 다양한 방식으로 이미지를 잘라내어 사용하였다.


◇ Real-Time Style Transfer (Justin Johnson, Alexandre Alahi, Li Fei-Fei)

Image Transformation 문제를 다루는 최근의 방법은 출력이미지와 실제 이미지 사이의 ‘per-pixel’ loss를 이용하여 feed-forward CNN을 학습시키는 것이다. 또한 유사한 문제를 다루는 연구에서 고화질의 출력이미지는 미리 학습된 네트워크에서 추출된 high-level feature들에 기반한 ‘perceptual’ 손실 함수를 정의하고 최적화함으로써 생성될 수 있다는 사실이 밝혀졌다.

이 두 가지 방법의 이점을 결합하여 Image Transformation을 위한 feed-forward CNN에서 perceptual loss function을 사용할 수 있다. Gatys et al에 의해 건의된 최적화 문제를 Real-Time 방식으로 해결할 때, 이러한 방법은 질적인 측면에서는 최적화기반의 방식과 비슷한 결과를 가져오지만, 3배 더 빠른 속도를 보여준다.


◇ Video Style Transfer

비디오의 모든 프레임들을 추출한 후 , 각각의 프레임에 Neural Style Transfer를 적용한다. 스타일이 적용된 프레임들을 하나의 결과 비디오로 결합한다.


◇ Deep Learning For Audio Style Transfer (Zhixian Huang, Shaotian Chen, Bingjing Zhu)

오디오 신호에 대해서는 content는 음악의 음정 또는 말하기의 텍스트로 정의내릴 수 있다. style은 음악에 대해서는 음악이 연주되는 악기나 연주자의 역동성과 속도에 의해 정의될 수 있고, 말하기에 대해서는 화자 또는 감정에 의해 정의될 수 있다.


파일:7.png

Input A : content 오디오, Input B : style 오디오

출력을 input A로 초기화하고, 출력을 초기화하기 위해 content loss와 style loss를 모두 사용한다. 이 연구에서는 스타일의 특징을 추출하기 위해 4096개의 랜덤 필터가 사용된 single-layer CNN이 사용되었다.


◇ Pre-Processing(STFT)

오디오를 스펙트로그램으로 변환하기 위해 Short-Time Fourier Transform (STFT)를 사용한다. 각각의 오디오 입력에 대해 n/2의 hop size를 가진 n개 샘플의 Hanning window를 사용하여 T개의 프레임으로 나눈다. STFT는 CNN Block1으로 나타내어진다.


◇ Feature Representation (Loss Function 정의)

content의 특징을 추출하기 위해 random CNN을 사용하고, random CNN의 결과의 Gram 행렬을 style을 묘사하기 위해 사용한다. 결과물은 content loss와 style loss를 줄임으로써 점진적으로 최적화된다.

타겟 이미지를 CNN에 넣어주면 이 층의 embedding들의 모든 내적이 계산된다. 이것을 모두 더해주면 이 층의 Gram 행렬을 얻을 수 있다.


◇ PhaseReconstruction

reconstruct phase에서 Griffin-Lim 알고리즘을 사용한다.

<적용 예시>

파일:8.png

content 오디오는 랩 음악, style 오디오는 말하기(연설)이다. Result 스펙트로그램이 content 오디오의 스펙트로그램처럼 보이면서도 style 스펙트로그램의 패턴을 갖고 있는 것을 볼 수 있다. Result 오디오를 들어보면 래퍼의 목소리가 style 오디오의 화자의 목소리로 바뀐 것처럼 들린다.

content 오디오와 style 오디오 모두 교향악이다. Result 스펙트로그램이 content 스펙트로그램처럼 보인다고 말하기는 힘들고, Result 오디오를 들어보면 두 개의 오디오가 섞여있는 것처럼 들린다.


◇ Spectrogram

스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구이다. 스펙트럼(spectrum)과 파형(waveform)의 특징이 조합되어 있다.

파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 나타낸다.

스펙트로그램은 파이썬의 음악 분석 라이브러리인 librosa와 오픈소스 라이브러리인 scipy를 통해 확인할 수 있다.

시장상황에 대한 분석

  • 경쟁제품 조사 비교

◇ EbSynth (https://ebsynth.com)

EbSynth는 이미지 합성을 위한 다목적 도구이다. 기존 이미지 합성 도구와의 차이점은 단일 이미지를 입력으로 받는 것이 아니라, 동영상의 각 프레임을 입력값으로 받는다는 것이다. 해당 프로그램의 실행 화면과 자세한 설명은 다음과 같다.

먼저 Project Dir에서 실제 프로젝트를 진행할 폴더를 입력받는다. 그리고 Keyframes는 Real-Time Video Style Transfer의 합성 결과 영상의 프레임과 같다. 즉, Keyframes를 입력받는다는 것은 실제 변환하고자 하는 영상의 일부분을 직접 변환해야 한다는 것이다. 그 예시는 다음과 같다.

Video에 입력할 값은 변환하고자 하는 영상의 각 프레임 이미지다. 그 예시는 다음과 같다.

000.jpg 부터 099.jpg 까지의 이미지를 input으로 넣었으며, Keyframes로 입력했던 000.jpg와 099.jpg에 따른 합성 결과가 생성된다. 해당 프로그램의 가장 큰 한계점은 영상 프레임 이미지를 직접 추출해야한다는 것과, 원하는 결과 영상의 프레임을 입력해야한다는 것이다. 이미지의 크기가 동일해야 하므로 단순히 원하는 style image를 입력할 수는 없다. 따라서 변환하고자 하는 영상의 프레임을 추출하고 추출한 프레임의 Style Transfer를 진행하기 어려운 일반인들이 사용하기에는 어려움이 있다.


◇ TimbreTron

TimbreTron은 한 악기의 소리를 다른 악기의 소리로 변형하려는 연구로, 아직 연구가 진행중이다. 만들어진 프로그램은 아니지만 클래식 음악을 국악기의 소리로 변형하려는 본 조의 과제와 비슷한 부분이 있어 경쟁제품에 포함시켰다.


  • 마케팅 전략 제시

◇ 3C 전략

1) 시장상황

o 사회,문화적 요인

 교양있는 문화생활에 대한 관심 고조

 우리 것을 보존해야 한다는 주장에 대한 공감대

 대중의 대부분이 국악에 대한 관심이 전혀 없음

o 경제적 요인

 여가시간을 위해 지출하는 비용이 증가하는 추세

o 기술적 요인

 Computer Science의 발달

 Style Transfer 기술에 대한 연구 확산

 동영상을 즐길 수 있는 다양한 플랫폼


2) Customer (고객)

o 국내외 유튜브 사용자들 (10 - 50대)

o 자신의 관심사와 일치하는 주제의 동영상, 혹은 수 초 내에 자신의 관심을 끌어들이는 동영상을 주로 시청한다.

o 특별한 관심이 있지 않은 한, 긴 재생시간의 동영상은 부담스러워한다.


3) Company (회사)

o SWOT 분석

 Strengths (강점)

(1) 대중들의 귀에 익은 클래식을 Style Transfer에 이용한다.

(2) Style Transfer의 결과물은 컴퓨터과학에 무지한 사람들의 눈과 귀를 쉽게 매혹할 수 있다.

(3) 오케스트라 연주 장면 등 익숙한 영상을 민화 스타일로 바꾸어 시청자의 흥미를 유발한다.

(4) 창작물의 배포와 홍보에 시간적, 공간적 제약이 매우 적다.

(5) 자신이 원하는 클래식 음악을 국악 버전으로 변환할 수 있다.

 Weakness (약점)

(1) 클래식을 Style Transfer하기 때문에 전통 음악의 스타일은 재현할 수 있지만 전통 음악을 시청자에게 직접 들려주기는 힘들다.

2) 변환 과정에 짧지 않은 시간이 요구된다.

 Opportunities (기회)

(1) 유튜브 등의 동영상 공유 사이트가 국내외에서 많은 인기를 얻고 있다.

(2) 현재까지 국악을 홍보하려는 참신한 시도가 적었다.

(3) 국악기로 클래식을 연주하는 등 현대음악 및 외국음악과 접목한 국악의 형태가 증가하고 있다.

(4) 여러 사극 드라마의 영향으로 인해 ‘국악풍 음악’에 대한 사람들의 관심이 증가하고 있다.

(5) 영상을 즉석으로 변환하는 프로그램이 없다.

 Threats (위협)

(1) 국악에 대한 대중들의 관심이 저조하다.

(2) 현대 음악 및 외국 음악의 다양화로 국악이 설 자리가 부족하다.

(3) 비교적 UI/UX가 단순한 경쟁 제품이 존재한다.

 SO 전략

대중의 관심을 강하게 유발할 수 있는 Style Transfer를 적용한 국악+민화 스타일의 뮤직비디오를 만들어 유튜브에 게시한다면, 국악을 국내외에 효과적으로 알릴 수 있을 것이다.

 ST 전략

Style transfer의 결과물인 클래식의 국악풍 뮤직비디오를 통해 대중들의 국악에 대한 관심을 높일 수 있다.

클래식의 국악화를 통해 국악의 다양성을 보여줄 수 있다.

 WO 전략

변환한 영상을 한번에 여러개가 아닌 한 번에 한 영상씩 유튜브에 주기적으로 업로드하여 사람들의 관심과 기다림을 유도한다.

전통 음악을 계승한 퓨전 음악을 만들고 결과물을 예측하는 데에 활용할 수 있다.

변환 과정에 생기는 delay를 최소화하여 원하는 클래식 영상을 짧은 시간 내에 국악 style로 변환하도록 한다.

 WT 전략

현대 음악과 외국 음악을 국악화하여 전통 음악을 계승한 퓨전 음악으로 전통 음악에 대한 관심을 끌어낸다.

경쟁제품보다 사용하기 간단하도록 프로그램을 제작하여 사용자들의 관심을 유도한다.


4) Competitor (경쟁사)

o Style Transfer 기술을 적용하여 전통 그림과 음악의 홍보에 이용한 사례는 없음

o Video Style Transfer만을, 혹은 Audio Style Transfer만을 이용하여 컨텐츠를 변환한 사례는 있지만 비디오와 오디오를 둘 다 동시에 변환한 사례는 없음


◇ STP 전략

 Segmentation (시장 세분화)

o 국악과 민화에 대한 관심이나 지식이 거의 없는 층

o 국악과 민화에 본격적으로 입문하려는 층

o 국악과 민화를 이미 즐기고 있고 잔뼈가 굵은 층


 Targeting (표적 시장 선정)

o 국악과 민화에 대한 관심이나 지식이 거의 없는 층

 한국인, 외국인의 모든 연령대

 유튜브를 사용하는 사람들의 대부분

 관심을 강하게 끌 수 있는 컨텐츠가 아니면 국악 컨텐츠의 재생을 유도하기 어려움


 Positioning (제품 포지셔닝)

o 국악과 민화에 대한 관심이나 지식이 거의 없는 층을 국악과 민화에 입문할 수 있게 하는 것이 목표

o 가볍게 소비 가능한 컨텐츠

o 시청자의 이목을 끌 수 있는 참신한 컨텐츠


◇ 4P

 Product (제품)

o 누구에게나 익숙한 클래식을 국악 스타일로 변환

o 오케스트라의 연주 영상을 민화 스타일로 변환

o 불특정다수의 시청자들이 호기심을 가질 수 있음


 Price (가격)

o 무료


 Place (유통)

o 유튜브에 동영상을 게시하여 시간과 공간의 제약을 받지 않음


 Promotion (판매촉진)

o 대중들이 좋아하는 여러 클래식을 변환하여 지속적으로 게시

o 이벤트성으로 인기있는 대중음악의 뮤직비디오를 변환하여 게시할 수 있음

개발과제의 기대효과

기술적 기대효과

◇ 영상 혹은 음성 한 가지만을 style transfer한 시도는 많지만 영상과 음성을 동시에 transfer한 시도는 찾기 힘들다. 개발 과제를 성공적으로 완료할 경우, 비디오를 소리의 손실 없이 (또는 소리와 함께) 변환하려는 요구를 정확히 충족시키는 기술이 될 수 있다.

◇ Audio Style Transfer에 관련된 많은 연구에는 source audio의 길이에 대한 제약이 있지만 개발 과제를 성공적으로 완료할 경우, 이러한 제약을 완화시킬 수 있다.

경제적, 사회적 기대 및 파급효과

◇ Style Transfer라는 IT 기술을 클래식에 접목하는 참신한 시도를 통해 우리의 소리를 재조명하고, 전통 음악에 대한 대중의 관심을 유도할 수 있다.

◇ 제작된 뮤직비디오를 유튜브에 게시함으로써 세계 각국의 많은 사람들에게 한국의 전통 음악 스타일을 알리는 계기가 될 수 있다.

◇ 국악을 국내외에 널리 홍보하는 데에 성공할 경우, 국악 컨텐츠 소비 증가와 이에 따른 경제적 효과를 기대할 수 있다.

기술개발 일정 및 추진체계

개발 일정

3.png

구성원 및 추진체계

◇ 주 1회 팀원들이 모두 모여 진척도와 주단위 목표를 공유한다.

◇ 현*연 : 설계, 구현, 테스트

◇ 김*영 : 설계, 구현, 테스트

◇ 현*지 : 설계, 구현, 테스트

설계

설계사양

제품의 요구사항

Vuforia나 Unity 등 대중성 있는 도구를 활용함으로서 VR, AR 관련 시스템을 개발

설계 사양

프로세서 : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80GHz 설치된 메모리(RAM) : 8.00GB 시스템 종류 : 64비트 운영 체제, x64 기반 프로세서

개념설계안

파일:ㅁㅇ.jpg

이론적 계산 및 시뮬레이션

VR : 총을 이용한 가상 게임 구현 AR : 만원 짜리 지폐를 인식해 주변에 행성 모양을 띄워주는 시스템 구현

상세설계 내용

동영상의 영상과 소리를 분리한 후, 비디오 스타일 트랜스퍼 오픈소스, 오디오 스타일 트랜스퍼 오픈소스를 각각 사용하여 변환을 적용한다. 비디오 스타일 트랜스퍼의 결과가 좋은 모델을 기본 제공하여 사용자로 하여금 별도의 training 없이 변환을 수행할 수 있게 한다. 변환된 영상과 음성을 병합하여 최종 결과물을 출력한다.

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용


그림1.png 그림2.png 그림3.png 그림4.png 그림5.png

포스터

내용

관련사업비 내역서

0원

완료작품의 평가

목표했던 바와 같이 하나의 동영상을 입력하여 비디오와 오디오를 한 번에 변환한 후 출력하는 데에 성공하였다. 이에 한 발 더 나아가 데스크탑에서 작동하는 애플리케이션을 제작하였다. 일정 수준 이상의 장비가 갖춰진 데스크탑 환경에서는 우리가 제공하는 미리 훈련된 모델을 사용하여 빠르게 video style transfer를 완료할 수 있으며, audio style transfer 또한 가능하다. 그러나, 미리 훈련된 모델을 사용하지 않고 사용자가 원하는 이미지를 직접 입력 받는 경우에는 상당히 높은 수준의 GPU를 갖춘 데스크탑이 필요하며, 변환 시간 또한 오래 걸린다.

향후계획

클라우드 서비스를 이용하여 애플리케이션의 권장 사양을 낮춤으로써 사용자 접근성과 실용성을 보완한다.

특허 출원 내용

없음