AI 분야에 Unity 활용하기

CAMERON GREENE Anonymous
Jul 24, 2020|9 분
AI 분야에 Unity 활용하기
이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

2018년부터 Cross Compass는 제조 현장의 일부 컨설팅 서비스 파이프라인에 Unity를 통합하여 AI 알고리즘을 안전하게 훈련하고 검증한 다음 배포해 왔습니다. Cross Compass가 어떻게 게임 분야 기술을 사용하여 제조와 같이 고도로 성숙한 업계에서 가치를 창출하게 되었는지 자세히 알아보세요.

Cross Compass는 제조, 로봇 공학, 게임, 디자인, 마케팅 분야에서 전 세계의 업계 리더에게 최첨단 솔루션을 제공하는 선도적인 AI 기업입니다. 2015년 도쿄에서 설립된 Cross Compass는 딥러닝, 머신러닝, 인공생명 분야에서 최첨단 기술을 개발하여 안전, 품질, 생산성을 높이고 더 나은 사회를 만드는 데 기여하고 있습니다.

이번 포스팅에서는 Cross Compass에서 Unity를 사용하게 된 이유와 Unity를 통해 다음과 같은 성과를 거둔 배경에 대해 살펴보겠습니다.

  • 클라이언트 및 파트너와 함께 세부 사항 및 진행 상황에 대해 논의할 수 있는 플랫폼 마련
  • 번거로운 안전 점검 없이도 데이터 수집 환경 구축
  • AI 훈련과 테스트에 필요한 데이터를 무제한 제공
  • 시뮬레이션에서 AI 훈련과 테스트의 반복 주기 단축
  • 최종 사용자에게 더 좋은 성능과 품질의 AI 솔루션 제공
  • AI가 반복 작업을 안정적으로 처리하는 한편 인간 개입의 가치 증대

Cross Compass의 AI 시뮬레이션 그룹 리더 로메인 앙제뉴, 글로벌 브랜드 아이덴티티 디자이너 스티븐 웨이, CTO 앙투안 파스쿠알리가 전하는 이야기를 읽어보세요.

제조 환경에 AI를 도입하는 과정에서 당면한 과제
로봇 이미지

제조 환경을 위한 최첨단 AI 솔루션을 설계하고 배포하는 것은 복잡한 프로세스입니다. 제조 생산 라인은 몇십 년에 걸친 고도의 최적화를 거쳐 완성되었습니다. 전문가들은 업계의 까다로운 요구사항과 촉박한 납기 일정을 맞추기 위한 최고의 효율성과 안전성, 품질 기준을 보장하기 위해 모든 세부 사항 하나하나를 설계하고, 조정하고, 반복 작업했습니다. 이로 인해 생산 라인에는 새로운 방식을 시험하거나, 잠시 작업을 중단하거나, 위험을 무릅쓰거나, 검증되지 않은 방식을 사용해 볼 여유가 없습니다.

반면 AI는 빠른 속도로 발전하고 있습니다. 거의 매일같이 최신 기법과 새로운 가능성, 새로운 분야에 대한 연구가 도입되고 있습니다. 그러나 그중 대부분은 실험실 바깥으로 나오지 못합니다. 노이즈가 많고 구조화나 레이블링이 되어 있지 않은 데이터와 관련성이 거의 없거나, 일반적으로 그러하듯 실제 세계에 존재하는 데이터가 전혀 없이 주의 깊게 가공된 데이터를 기반으로 했기 때문입니다. 제조 업계와는 정반대로 AI에는 실제 세계의 조건 하에서 검증을 거칠 만한 여유가 거의 없습니다. 두 업계의 접근 방식은 완전히 다릅니다.

실험실에서 99%의 정확도에 도달하는 것은 찬사를 받을 만한 성과입니다. 그러나 제조 환경에서 1%의 오류율은 용납할 수 없는 수준의 실패, 결함, 안전상의 위협이며 실제 세계에 심각한 영향을 미칠 수 있습니다. 이렇게 서로 다르고 정밀하고 제약이 많은 환경에 어떻게 최신 AI 솔루션을 도입할 수 있을까요? 위험이나 비용, 다운타임을 발생시키지 않으면서 어떻게 AI 솔루션을 시험, 검증하고 배포할 수 있을까요? 이러한 질문은 AI를 훈련하고 클라이언트의 제조 공장에 배포하기 위해 이러한 질문을 해결해야 했습니다.

시뮬레이션을 사용하여 AI 솔루션 개발
Cross Compass의 견적

가장 명백한 해법은 제조 환경을 실험실로 가져오는 것이었습니다. 즉, 제조 중단이나 최신 장비 손상에 대한 걱정 없이 AI 솔루션을 개발할 수 있는 시뮬레이션된 환경에서 공장 현장을 재현하는 것입니다.

시뮬레이션된 환경을 사용하면 공장의 조건을 완전히 제어할 수 있기 때문에 매개변수를 변경하고 새로운 AI 솔루션을 연구하기 위한 알고리즘을 실험, 중단, 검증할 수 있습니다. 즉, 시뮬레이션을 통해 실제 세계에서는 할 수 없는 모든 일을 할 수 있게 됩니다.

Unity를 선정하게 된 과정
Cross Compass의 견적

2018년, 저희는 시뮬레이션 측면에서 어떤 기술이 가장 적합할지 결정하기 위해 시중에 나와 있는 솔루션들을 분석했습니다.

목표는 더 쉽고 빠르며 안전하게 환경을 설정하고 데이터를 수집하며 실제 로봇에 배포하기 전 AI의 성능을 검증하는 것이었습니다.

먼저 로봇 동작, 조인트 프로퍼티 및 종속성, 센서를 시뮬레이션하도록 설계된 로봇 전용 엔진을 검토했습니다. 이러한 엔진은 물리, 동작 제어, 저수준 로봇 공학 측면에서 우수한 정확도를 보입니다. 그러나 현실과의 높은 관련성에도 불구하고, 해당 엔진들은 보다 복잡한 씬을 재현하는 데 있어 유연성이 부족했습니다.

로보틱스 애플리케이션을 위한 MDR(Meteorological Domain Randomization) Unity의 고해상도 렌더 파이프라인(HDRP)과 Shader Graph 워크플로를 사용하여 기상 조건, 조명, 배경, 오브젝트 텍스처에 변화를 주었습니다. (출처: Cross Compass)

AI 측면에서, 정확한 물리와 로봇 동작에 대한 완벽한 제어만큼이나 저희에게 필요했던 것은 조명, 그림자, 카메라 효과 등의 실제적인 텍스처와 비주얼을 가진 다양한 모양의 오브젝트를 임포트하는 것이었습니다.

저희는 이러한 문제에 대한 간단한 해법을 제시하는 게임 엔진이 우리의 목적에 적합하다는 사실을 깨닫게 되었습니다. 더 높은 수준의 제어를 통해서도 로봇 조작은 가능했기 때문에 하드웨어에 구애받지 않는 솔루션을 개발하려는 저희의 전략과도 맞았습니다.

특히 Unity를 사용하면 로봇을 위해 AI를 훈련하는 데 필요한 기능을 만드는 데만 집중하고 나머지는 엔진에 맡길 수 있다는 점이 좋았습니다. 기존 파일 임포터와 렌더링 시스템, 물리 엔진, 스크립트 라이프사이클, 스케줄러, 배포 옵션을 사용하여 개발 시간도 절약할 수 있었습니다.

또한 Unity는 정기적으로 업데이트되며 콜라보레이션을 통한 기여도 이루어지므로 저희와 같은 첨단 분야에 맞게 엔진을 맞춤화할 수 있습니다. Unity 생태계의 활발한 지원을 통해 문제가 생기더라도 적절하게 해결할 수 있다는 점도 고려했습니다.

그리하여 유용성과 발전 가능성 측면에서 가장 우수한 Unity를 선정하게 되었습니다.

Unity를 사용하여 제조 자동화에 AI를 도입한 과정
Cross Compass의 견적

현재 Unity는 Cross Compass의 제조 자동화 공정에 완전히 통합되어 있습니다. 연구 측면에서는 피킹에서 내비게이션, 센서 피드백에 기반한 적응형 제어에 이르기까지 다양한 씬을 만들어 예기치 못한 상황에서의 AI 알고리즘의 성능을 테스트하고 미지의 영역으로까지 기술을 발전시킵니다.

각 연구 프로젝트는 클라이언트의 요구를 해결하기 위한 목적으로 시작되며, 이후 유사한 사례를 해결할 수 있는 일반적인 솔루션으로 확장됩니다. Cross Compass는 이러한 솔루션을 패키지화된 에셋으로 메인 시뮬레이션 환경에 하나씩 통합하여 지속적인 개발 워크플로와 지속적인 호환성, 클린 코드를 유지합니다.

Unity를 사용하기 시작한 이후, 저희는 주로 오브젝트와 로봇 파트를 임포트하고, 사실적인 씬을 제작하고, 도메인 무작위화 기법을 적용하기 위한 기능을 개발해 왔습니다. 그와 동시에 자사 AI와 타사 로봇 공학 소프트웨어와의 커뮤니케이션 프로토콜을 마련했으며, 모든 씬에 대한 실시간 데이터 생성, AI 훈련, 테스트, 검증을 위한 다양한 시뮬레이션 구성을 개발했습니다.

Unity를 사용하면 이러한 전문적인 개발에 필요한 유연성을 얻을 수 있습니다. 예를 들어 시뮬레이션 속도와 별개로 진행되는 물리 계산을 통해 눈으로 보는 것보다 100배나 빠른 속도로 정확한 데이터를 생성할 수 있습니다. 또한 에셋 스토어와 Unity 파트너가 제공하는 툴을 이용한 미세 조정과 기능을 통해 작업을 더 빠르게 진행할 수 있습니다.

Unity를 통해 AI 솔루션을 훈련, 테스트하고 클라이언트와 파트너에 배포하는 데 드는 시간과 비용을 크게 절약할 수 있었습니다. 그 결과, 안전성이 개선되고 공장 현장에서 직원 개입의 가치가 증가할 뿐만 아니라 최종 사용자에게 제공하는 제품의 품질도 향상되었죠. Unity의 물리 엔진과 다양한 기능을 활용해 시뮬레이션된 공장 현장의 모든 측면을 완벽하게 제어할 수 있게 되어 이전과는 비교할 수 없는 정밀하고 우수한 AI 솔루션을 구현할 수 있었습니다.

다음은 Unity를 사용한 프로젝트의 일반적인 워크플로입니다.

AI 솔루션 목업

컨설팅 프로젝트의 경우, Cross Compass는 주요 Unity 환경의 브랜치를 만들어 클라이언트의 구체적인 요구에 맞게 자유롭게 작업한 다음, 추가된 기능을 다시 주요 환경으로 통합합니다. 일반적으로 사전 설정된 씬을 선별하고 관련 에셋을 사용하여 커스터마이징하여 솔루션의 목업을 만드는 것으로 시작합니다. 시뮬레이션 중인 데모를 클라이언트에게 보여주면 프로젝트의 세부 사항과 공장 배포 측면에서 최종 목표를 이해시키는 데 도움이 됩니다.

AI 교육 및 테스트

그런 다음 훈련을 위해 환경과 AI를 준비합니다. 시뮬레이션을 통해 데이터를 생성할 수 있어 실제 세계의 수집보다 훨씬 빠르고 안전하며 유연하게 데이터를 생성할 수 있습니다. 시뮬레이션을 통해 얻어내야 하는 유용한 정보가 무엇인지 파악할 수 있는 사람은 AI 전문가뿐이지만, 데이터 레이블링은 무료로 확보할 수 있습니다. 즉, AI에는 최고의 정밀도를 갖춘 어떤 데이터든 제공할 수 있습니다. 반면, 실제 세계에서는 그러한 데이터를 수집하는 것이 어렵거나 심지어 불가능할 수도 있습니다. 또한 생성된, 발생된 데이터의 양에는 제한이 없습니다.

AI의 시각적 입력에 도메인 무작위화를 적용했습니다. 시뮬레이션에 MDR 기법을 적용하면 AI가 실제 세계의 조건하에서 효과적인 성능을 발휘할 수 있습니다. (출처: Cross Compass)

이 시점에서 Cross Compass는 모델을 테스트하고 클라이언트가 명시한 오차 범위 안에 들어가도록 정확도를 조정하여 최종 솔루션의 성능을 높입니다. 이를 위해서는 실제 세계, 즉 카메라와 다른 센서에 입력되는 예기치 못한 조명과 소음 조건하에서도 올바르게 작동하도록 AI를 훈련해야 합니다. 도메인 무작위화를 위한 패키지 에셋은 이 간극을 좁히기 위해 특별히 설계되었습니다. 그런 다음 실시간 시뮬레이션으로 AI를 검증합니다. 이는 클라이언트에게 AI 솔루션을 간략히 보여주는 데에도 활용됩니다.

배포

마지막으로 공장에 배포합니다 Cross Compass의 로봇 공학 엔지니어는 시스템 통합자의 도움을 받아, 배포 항목의 개수에 따라 고객의 현장에 테스트 벤치 또는 최종 시스템을 준비합니다. AI 엔지니어가 첫 테스트를 진행하며 일반적으로 시뮬레이션 팀원 중 한 명이 함께 현장을 방문하여 훈련에 사용된 시뮬레이션 씬과의 일치도를 확인합니다. 이를 통해 필요에 맞게 빠르게 솔루션을 조정할 수 있습니다. 훨씬 더 큰 데이터세트로 훈련한 최종 AI를 배포하기 전에, 그리고 새로운 AI 알고리즘을 사용하는 방법을 공장 기술자들에게 교육하기 전에 말이죠.

어떻게 해야 하나요?

버전 1.0부터 3.0까지 피킹 솔루션의 발전 과정입니다. 버전 1은 버킷에서 오브젝트를 피킹할 때의 실제 물리 조건을 모사했습니다. 버전 2는 로봇과 그리퍼를 시뮬레이션하는 데 주력했습니다. 그런 다음 MDR이 개발되고 버전 3에서 적용되었습니다. AI 기법 또한 각 버전의 개발과 더불어 발전했으며, 이는 카메라 위젯에서 확인할 수 있습니다. (Cross Compass 제공) Unity는 유니티의 솔루션과 마찬가지로 발전을 거듭하고 있으며, 저희의 코드베이스와 프로세스는 프로젝트를 거치면서 지속적으로 개선되고 있습니다. 아직까지 Cross Compass의 전문 지식과 Unity를 활용하여 해결할 수 없는 문제는 없었습니다.

---

Unity Industry 시작하기