VFX 소프트웨어의 머신러닝 : 한계를 넘기 위한 도전
VFX 소프트웨어의 머신러닝 : 한계를 넘기 위한 도전
머신러닝 (ML) 은 오늘날 연구 중인 기술들 가운데 가장 흥미로운 분야 중 하나입니다.
인간이 수행하는 여러 가지 힘들고 시간 소모적인 작업을 자동화한다는 약속은 모든 산업 분야에서 주목을 끌고 있습니다.
VFX 업계에서는 효율적인 ML 툴을 아티스트에게 제공하는 것이 창조적인 워크플로우와 스튜디오의 수익 측면 모두에서 새로운 변화를 가져올 수 있습니다.
Foundry는 현재 SmartROTO라는 이름의 연구 프로젝트를 이끌고 있습니다. VFX 스튜디오인DNEG과Bath대학 (UoB)은 라이브 액션 영상의 하이엔드 로토스코핑을 위한 지능형 툴과 ML 네트워크 및 데이터 세트를 개발하고 있습니다.
이 글에서는 이 프로젝트가 해결하려고 하는 몇 가지 도전에 대해 살펴보고자 합니다.
머신 중심에서 데이터 중심으로
비주얼 컴퓨팅 알고리즘을 만드는 방법은 비약적으로 발전하고 있습니다.
현대의 머신러닝은 머신 중심 접근 방식에서 데이터 중심적 접근 방식으로 초점을 옮겼습니다.
툴 자체를 테스트하고 최적화하는 데 주력하기보다 툴을 교육하는 데 사용되는 데이터가 중심입니다. 이 툴의 성공과 성능은 데이터 셋의 품질, 다양성 및 크기에 좌우됩니다.
시각 효과 소프트웨어를 만드는 회사와 포스트 하우스는 이 새로운 데이터 중심 환경에서 클라이언트와 협상해야 할 여러 장애물에 직면했습니다.
VFX 파이프라인에 ML 툴 배포
현재 효과적인 머신러닝 툴을 VFX 파이프라인에 배치하는 것은 까다로울 수 있습니다.
클라우드 또는 웹을 통해 배포된 ML 툴은 실전에 배포되고 사용되며, 사용자의 데이터 수집을 시작할 수 있으며 툴을 즉시 개선해 나갈 수 있습니다.
이와는 대조적으로, 전통적인 VFX 소프트웨어 릴리스 주기는 업데이트 간의 간격이 비교적 길기 때문에 ML 모델의 개선이 자주 이루어지기 어려웠습니다.
효율적인 면에서, 소프트웨어 개발자는 병목 현상을 겪게 됩니다. 어떤 기술을 사용하느냐에 따라 아이디어와 출시 사이에 긴 지연이 생기고, 차기 버전에 반영이 됩니다. 가장 효율적인 시나리오는 소프트웨어 벤더가 업데이트를 기다리는 것이 아니라 스튜디오가 직접 ML 모델을 업데이트하고 개선할 수 있는 것입니다.
이 외에도 더 큰 문제는 배포 가능한 ML 네트워크와의 상호 작용입니다.
기본적으로 VFX 파이프라인에 배포할 수 있는 대부분의 ML 네트워크는 정보가 항상 한 방향으로 이동하는 방식으로 작동합니다. 결코 되돌아오지 않습니다.
즉, 대부분의 ML 파이프라인에서는 시스템이 즉시 학습할 수 없습니다. 예를 들어, 네트워크가 작업을 수행하고(로토스코핑 보조 역할과 같은) 아티스트가 시스템에서 만든 몇 가지 작은 오류를 고지하고 정정하면 시스템이 오류로부터 학습하도록 보정 정보를 피드백할 수 없습니다.
이것은 네트워크와 아티스트 간의 상호 작용을 심각하게 제한합니다. 시스템이 주기적이지 않은 경우 네트워크의 이전 또는 강화 학습이나 온라인 교육을 받을 기회가 없습니다.
이 피드백을 사용할 수 없기 때문에 머신러닝의 핵심 기둥 중 하나 인 모델을 개선하는 데 사용할 수있는 실제 진원지 데이터를 잃게 됩니다.
극복해야 할 세번째 중요한 배치 장애물은 비용입니다. 머신러닝 모델은 프로세스의 추론 단계에서 엄청난 양의 GPU 메모리를 사용할 수 있습니다. 이 과정에서 시스템은 학습된 지식을 사용하고 이전에 보이지 않는 데이터의 내용을 식별하기 위해 이를 적용합니다.
연구 컨텍스트에서 네트워크를 가져와서 VFX 프로덕션 환경에 넣으면 (4K 플레이트에서 추론하는 것처럼) GPU 메모리 요구 사항이 더 높아질 수 있습니다.
이것은 스튜디오에 대한 예산상의 영향을 미칩니다. 강력한 GPU를 가진 모든 아티스트를 제외하는 것은 비용 측면에서 효과적이지 않을 수 있습니다 - 하나 또는 두 개의 ML 지원 작업을 용이하게 하는 것만을 위해서라면 더욱더 그렇습니다.
따라서 효율적이고 실행 가능한 ML 툴을 VFX 파이프라인에 물리적으로 배치하는 것이 업계가 머신러닝 연구의 광범위한 이점을 보게 될 경우 극복해야 할 첫 번째 커다란 장애물입니다.
빅데이터의 공유 및 IP 문제
머신러닝에서 결과의 품질은 시스템에서 학습한 데이터의 양, 다양성 및 품질에 따라 달라집니다.
데이터는 모든 업계에서 엄청난 가치가 있습니다. 예를 들어 광고 데이터 및 소비자 지출 습관은 강력하고 실용적인 정보입니다.
그러나 데이터는 자체적으로 사용하지 않습니다. 처리되고 분석되어야 합니다. 뭔가 그것으로부터 제작되어야 합니다.
VFX 업계에서 스튜디오가 데이터를 공유하게 된 이유는 소프트웨어 벤더의 툴 개선에서부터 그들의 니즈에 부합하는 것, 자매 사업과의 계약 서비스에 이르기까지 무엇이든 될 수 있습니다.
실제로 엄격한 IP (지적 재산권) 계약은 일반적으로 공유를 어렵게 만듭니다. IP를 존중하면서 공유를 가능하게 하는 방법에 대한 중요한 도전이 있습니다.
전통적인 머신러닝은 ML 모델을 교육하는 데 사용된 모든 교육 데이터가 단일 기계 또는 데이터 센터에 집계되는 중앙집중식 접근법을 사용합니다.
위와 같은 '집중투자' 시나리오는 10년 동안 누출된 엄청난 수십억 달러의 제작물에 대한 이미지를 걱정하는 IP 소유주에게 문제가 됩니다.
연합 학습은 ML 모델의 교육이 로컬에서 수행되고 개선된 모델이 중앙 서버로 전송되는 대체 적인 방법입니다.
중앙 서버는 여러 사용자의 결과를 집계하고 모든 사용자의 결과에 따라 개선된 모델을 피드백할 수 있습니다. 효과적으로 이것은 IP (교육 데이터)가 공유되지 않는다는 것을 의미합니다. 단지 결과 만 나타납니다.
근본적으로 너무 많은 사람이 데이터 샘플을 너무 적게 업로드하면 모델이 왜곡될 수 있으므로 확장성에 대한 몇 가지 결함이 있는 것을 제외하고는 연합 학습이 데이터 공유 문제에 대한 해답이 될 수 있습니다.
IP로 보호된 데이터를 공유할 수 있는 또 다른 방법은 표현 학습에 있습니다.
표현 학습은 무언가가 무엇인지 알아내기 위해 순서를 뒤섞음으로써 데이터의 특성을 더 잘 이해할 수 있도록 합니다.
예를 들어, 알고리즘이 모양의 행에서 삼각형을 골라 내고자 한다면 기본 레벨에서 모서리 수를 표시기로 사용할 수 있습니다.
표현 학습은 신경망의 여러 계층을 분리하고 모든 것을 레이블링하므로 이해하기 쉽습니다.
VFX 업계에서는 정반대의 경우가 더 가치 있을 수 있습니다. 레이어를 꼬아 놓으면 해독할 수 없습니다. 이는 암호화의 한 형태로 작용할 수 있기 때문에 a) 원본 이미지를 레이어 출력에서 리버스 엔지니어링 할 수 없지만, b) 주어진 작업에 유용한 정보가 포함되어있는 결과를 얻을 수 있습니다
.
스튜디오가 ML 모델을 개선하는 데 도움을 주고 싶지만 특정 문자에 대해 IP로 보호 된 민감한 이미지를 사용하고 있다고 가정 해 보겠습니다.
이미지를 파트너 소프트웨어 공급 업체 또는 스튜디오에 직접 보내지 않고 암호화 계층 스택을 통해 실행합니다.
파트너 스튜디오는 ML 모델을 개선하는 데 필요한 모든 것을 제공 받지만 원래의 교육 이미지가 무엇인지 밝혀주는 데이터는 제공받지 않습니다.
아티스트 참여의 중요성
극복하기 위한 또 다른 큰 도전은 아티스트와 알고리즘 사이에 다리를 놓는 데 있습니다.
영화 제작은 본질적으로 자연스럽게 협력하며, 수천 명의 스태프들이 함께 작품을 완성합니다.
대조적으로, 머신러닝은 창조적이거나 기술적인 과정에서 아티스트를 배제하고, 혼자서 한 가지 문제를 해결하는 것을 목표로 하는, 알고리즘 단독으로 계속 추적하는 것입니다.
아티스트가 머신러닝 툴을 구매하기 위해서는 아티스트의 의견을 포함하는 방식으로 개발해야 합니다. 이것은 아티스트를 배치하고 제어 능력을 부여하는 데 필요할 뿐만 아니라 실수로부터 배우고 미래의 오류를 수정하는 것이 알고리즘의 요구 사항입니다.
이 마지막 사항은 아티스트와의 상호 작용을 허용하는 툴을 디자인하는 방법과 ML 네트워크가 해당 아티스트의 피드백을 통해 배우고 그에 따라 행동할 수 있게 하는 두 가지 주요 과제를 갖고 있습니다.
지금까지 대부분의 ML 연구는 반복적인 과정에서 아티스트를 제거해왔습니다. 사용자 상호 작용이 전혀 포함되지 않는다면 발전 또한 제한적일 수밖에 없습니다.
앞서 언급한 것처럼 연구 및 배포 환경의 차이로 인해 VFX 툴에서 ML 알고리즘을 업데이트하기란 쉬운 일이 아닙니다.
피드-포워드 또는 추론 전용 ML 모델은 포스트 프로덕션 소프트웨어에서 업데이트를 쉽게 포착할 수 없습니다.
이러한 격차를 해소하는 것이야말로 진정으로 유용한 아티스트 중심의 ML 기반 툴의 차세대 개발에 필수적입니다.
SmartROTO
앞서 언급한 것처럼, Foundry의 새로운 R&D 프로젝트 중 하나인 SmartROTO는 이 글에서 살펴본 몇 가지 과제를 해결하는 것을 목표로 합니다.
그 목적은 실사 영상물의 고급 로토스코핑을 위한 지능적인 툴을 연구하고 설계하는 것입니다.
우리가 논의한 것처럼 데이터 셋의 공유는 큰 문제이기 때문에 이 프로젝트의 중요한 부분은 머신러닝 네트워크 및 데이터 셋의 공유를 검사하는 데 전념할 것입니다.
VFX 업계에 익숙한 분들은 시간이 오래 걸리며 수동적이고 크게 창조적이지 않은 로토스코핑이 얼마나 많은지 알고 계실 것입니다. SmartROTO에서 개발된 툴은 머신러닝을 사용하여 로토스코핑 기술의 변화를 가져올 것입니다.
이 새로운 툴은 친숙하고 직관적인 사용자 경험을 유지하면서 로토스코핑 아티스트가 요구하는 상호 작용을 최소화할 것입니다.
궁극적으로 이 목표는 VFX 업계와 누크(Nuke)를 위한 새로운 플러그인, 훈련 데이터 셋을 공유할 수 있는 새로운 방법을 크게 절약하는 것입니다.
본 글은 Machine learning in VFX software: the challenges to crack 을 번역한 글입니다.
https://www.foundry.com/insights/research/machine-learning-in-vfx