2015년 11월 30일 월요일

[컴퓨터 예술] WordsEye 사용 후기

실망과 동시에 희망

베타테스트 신청해 놓은지 6시간 정도 후에 확인 메일이 왔습니다. 들뜬 마음으로 "그림을 쓰러"가서 30분 정도 그림을 "써" 봤습니다. 일단 결론부터 말씀드리자면, 굉장히 실망스러운 동시에 내가 이정도라도 그림을 그려낸게 어딘가 하는 희망도 갖게 됩니다. 아직 표현이 안되는 것이 더 많지만 어쨌든 사물의 이름, 색깔, 거리, 크기, 방향 등에 대해서 언어로 표현하면 이것을 그림으로 표현해 낼 수 있다는 점이 굉장히 고무적입니다. 


개발자 Bob Coyne, Richard Sproat
콜롬비아 대학교 컴퓨터 사이언스 박사

사용해보고 나니 워낙 단순하게 작동하고 있어서 이것이 인공지능 또는 머신러닝과 관련이 있는 것인지 의문이 들어서 자료를 찾아보았는데요, 이 프로그램의 개발자 Bob Coyne은 원래 언어에 관심이 많았고, 특히 인공지능 시스템에서 언어의 예술적 표현에 관심을 가졌었다고 합니다.  (기사 원문 보기)  

The Creators Project: I’ve never had the chance to meet a PhD student in computational linguistics.
Bob Coyne: I’ve always loved and been fascinated by language, especially the connotative/poetic/associative aspects. A single word can evoke so much and can mean such different things in different contexts. In order to understand all the possible associations you have to be able understand the more literal/prosaic meaning first. So my interest is a combination of wanting to understand how it all works combined with an interest in the artistic expression aspects of an artificially intelligent system. When I was in college I wrote some poetry-generating software… so that was the start of it. Then I worked in computer graphics for quite a while, but I found that I was more interested in pictures as language (how do they represent and connote meaning?) than in the pixilation aspects. (Similar I think to Duchamp’s position against “retinal art”).

WordsEye 논문 보기

개발자 Bob Coyne, Richard Sproat가 쓴 논문입니다. 구글 검색에서는 무려 340회 인용됐다고 나오네요. 어마어마 합니다. 논문은 2001년(?)에 쓰인 것으로 보입니다. 

WordsEye 공동창업자 프레젠테이션

공동 창업자 중 한명인 다니엘이라고 하구요, 콜롬비아 내추럴 랭귀지 프로세싱 박사라고 합니다. 아마도 스타트업 펀딩을 위한 프레젠테이션인 것 같습니다. 2013년 영상입니다.




이제 실제 사용후기를 적어보겠습니다.


간단 튜토리얼

사용자 허가를 받고 나면 일단 그림을 "쓸" 때 어떻게 쓰면 좋을지에 대한 팁을 알려줍니다. 뭐라고 써야 기계가 알아듣고 그림으로 그려줄 수 있는지에 대한 설명입니다. 

  

화면 오른쪽에 보시면 포지션, 컬러 앤 텍스쳐, 뷰 포인트 등등 표현할 수 있는 여러 항목 들이 나와 있습니다. 그리고 각각의 항목에 대해서는 아래와 같이 표현하라고 예제가 나옵니다.


이 그림 왼쪽에 보시면 the dog is one foot to the right of a couch 라고 적혀 있고, 실제로 개가 소파 오른쪽에 1미터 떨어져서 그려졌습니다.


예제 학습을 마치고 그림을 그리는 단계로 넘어가면 위 그림처럼 여러가지 템플릿이 나열되어 있고 이것을 기반으로 그림을 그릴 수 있도록 되어 있습니다. 

저는 어차피 처음 해보는 거라서 템플릿 없이 처음부터 그려보기로 했습니다. 아주 간단한 문장을 써봤습니다. a man ride a car 라고 적었더니 아래와 같은 그림이 나옵니다. 사람이 차를 타고 있긴 한데, 우리가 생각하는 방식과는 조금 다르게 타고 있습니다. 사이트 설명이나 개발자들이 얘기하는 뉘앙스로는 이런 장면이 사용자들에게 유머로 받아들여질 수 있다고도 생각하는 듯 합니다. 






어쨌든 다른 문장들도 몇 개 시도해 보았습니다만 영어가 서툴러서 자꾸 에러가 났습니다. 그래서 남들은 어떻게 그렸는지 보기로 했습니다. 
the dog is leaning 40 degrees to the right. the cat is leaning 30 degrees to the left. the cat is right of the dog. the dog is 10 inches above the ground. the cat is 8 inches in the ground. the ground has a sand texture. the yellow light is above the dog.
The police officer is in front of an elephant on a street in the desert.
the shiny tan skull is 12 inches in the athlete. it is 14 inches tall. the small rainbow is 50 feet behind the athlete. the grim reaper is next to the athlete. the tall [da vinci] desert. the 15 foot tall mirror is 3 feet in front of the athlete. it is facing the athlete. it is 5 feet in the ground. the pane of the mirror is dark blue. the yellow light is in front of the grim reaper. the cyan light is in front of the athlete. the grim reaper is standing on ten small skulls
A yellow translucent cube is 5 feet tall. A red translucent cube is 5 feet tall. The red cube is 2.5 feet in the yellow cube. The red cube is -2.5 feet left of the yellow cube. A sky blue translucent cube is 5 feet tall. It is 2.5 feet in the red cube. It is -2.5 feet left of the red cube. A chartreuse translucent cube is 5 feet tall. It is 2.5 feet in the sky.

위에 표현들을 보시면 아시겠지만 생각했던것 보다 굉장히 제한이 많았습니다. 

동사는 아직...

가장 큰 아쉬움 중 하나는 동사에 대한 표현이 아직 안된다는 것이었습니다. "사람이 있다"는 표현할 수 있지만 사람이 뛰고 있다, 사람이 걷고 있다 등등의 표현은 아직 표현할 수가 없습니다. 

거리, 크기, 각도 등은 비교적 만족

거리, 크기, 각도와 같이 수치화 할 수 있는 것들에 대해서는 비교적 쓰는 것도 수월했고 이것이 반영되어 나오는 그림도 그런대로 만족스러웠습니다. 몇 미터 옆에, 몇 미터 뒤에 등 거리와 관련된 문장이나 비행기의 크기가 몇 미터다 등과 같은 사이즈에 관련한 표현은 생각보다 쉽게 할 수 있었습니다. 

색 표현 등은 아직 너무 단순

노랑 파랑 빨강 등 색을 지정할 수는 있지만 아직 다양하게 표현하는데는 어려움이 있었습니다. 

디테일 등에서 아직 부족

사람의 옷이라던가 헤어 스타일 등 좀 더 세밀하게 표현하는 것은 아직은 상당히 거리가 있어 보입니다. 


내가 그린 그림

원래 제가 그리고 싶었던 것은 "차 안에 사람이 타 있고, 그 사람이 창 밖으로 손을 흔들고 있다" 였는데요, 한 두 문장 써보고 나서 정신 차렸습니다. 지금 상태에서 표현가능한 것들을 해 보았구요, 어쨌든 문장을 써서 아래 그림을 그렸습니다. 매우 제한된 표현임에도 불구하고, 그림의 절대적 퀄리티는 보는 사람에 따라 매우 낮게 평가할 수도 있겠지만, 저 같은 그림치가 이 정도의 그림을 그려 냈다는 점에서는 놀라운 일이기도 합니다. 


이 그림을 그리기 위해서 이런 문장을 써야 했습니다. 

a red car on the ground. a yellow bike is 2 meter left of the car. bike is facing right. a blue motorcycle is 2 meter left of the car. motorcycle is 1 meter behind the car. an airplane is 3 feet above the car. airplane is 5 meter long. airplane is leaning 30 degree to the left. a snow mountain is 50 feet behind the car. it is dawn. an eagle is 1 meter left of the airplane. eagle is facing right. eagle is 2 meter above the car. eagle is leaning 30 degree to the right. eagle is 3 meter long. a building is 5 meter left of the mountain. a tiger is 2 meter right of the car. tiger is 3 meter long. rainbow is 2 meter behind the building. man is 1 meter left of the bike. man is facing 10 degree to the right. a blue circle is 2 feet tall.

각 사물의 크기는 실제 사물의 크기에 따라 적용되었습니다. 예를 들어 차 위에 비행기를 만들었더니, 처음에는 비행기가 차에 비해서 상당히 크게 나왔습니다. 화면에는 비행기 그림자만 나오고 비행기 몸통은 아예 보이지 않았습니다. 거리와 크기 등을 조절하면서 화면을 배치할 수 있었는데, 다른 동사 형용사 표현이 거의 안되는 데 비해 숫자에 관련된 것은 그나마 할 수 있었습니다. 

총평

갈 길이 굉장히 멀게 느껴지는 동시에 어쨌든 문장을 알아 듣고 그림으로 표현하고 있다는 사실이 놀랍기도 합니다. 결국 얼마나 방대한 그림 DB를 갖추느냐와 언어적 표현을 얼마만큼 그림 표현으로 해석해 내느냐의 문제일 텐데요, 논문에 보면 논문을 쓸 당시에 2천개 정도의 사물 DB를 갖고 있었고 추가로 1만개의 DB를 확보할 것이다라고 쓰고 있는데 지금은 어디까지 와 있는지 궁금하네요. 현 상태로는 정말 아이디어 수준에 가깝다고 느껴지는데요, 그래도 상상력을 좀 발휘해 보자면 결국 이 3D 이미지들에 에니메이션 기능이 추가 되고 동영상까지 구현할 수 있게 되겠죠? 아주 오래 걸리긴 하겠지만 말입니다. 




댓글 없음:

댓글 쓰기