Search 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 솔루션을 시험, 검증하고 배포할 수 있는 방법은 무엇일까요? Cross Compass는 AI를 훈련하고 클라이언트의 제조 공장에 배포하기 전 이 문제를 먼저 해결해야 했습니다.

시뮬레이션을 사용한 AI 솔루션 개발

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

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

Unity를 선정하게 된 과정

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

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

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

로봇 공학에 활용하기 위한 기상학적 도메인 무작위화(Meteorological Domain Randomization, MDR)입니다. Unity의 고해상도 렌더 파이프라인(HDRP)과 셰이더 그래프 워크플로를 사용하여 기상 조건, 조명, 배경, 오브젝트 텍스처에 변화를 주었습니다. (Cross Compass 제공)

AI 개발에 있어서 정확한 물리와 로봇 동작에 대한 완벽한 제어뿐 아니라 조명, 그림자, 카메라 효과 등의 실제적인 텍스처와 비주얼을 가진 다양한 모양의 오브젝트를 임포트하는 과정도 중요했습니다.

이 문제에 대해서는 간단한 해법을 제시하는 게임 엔진이 우리의 목적에 부합했습니다. 더 높은 수준의 로봇 제어도 가능했기 때문에 하드웨어에 구애받지 않는 솔루션을 개발하려는 계획과도 맞았습니다.

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

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

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

Unity를 사용하여 제조 자동화에 AI를 도입

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

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

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

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

 

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

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

AI 솔루션 목업

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

AI 훈련과 테스트

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

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

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

배포

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

향후 계획

버전 1.0부터 3.0까지 피킹 솔루션의 발전 과정입니다. 버전 1은 버킷에서 오브젝트를 들어 올릴 때의 실제 물리 조건을 모사했습니다. 버전 2는 로봇과 그리퍼(gripper)를 시뮬레이션하는 데 주력했습니다. 그런 다음 버전 3에서 MDR이 개발 및 적용되었습니다. AI 기법 또한 각 버전의 개발과 더불어 발전했으며, 이는 카메라 위젯에서 확인할 수 있습니다. (Cross Compass 제공)

Unity는 Cross Compass의 솔루션과 마찬가지로 발전을 거듭하고 있으며, 저희의 코드베이스와 프로세스는 프로젝트를 거치면서 지속적으로 개선되고 있습니다. 현재까지 당면한 과제는 모두 Cross Compass의 전문 지식과 Unity를 활용하여 해결하고 있습니다.

Cross Compass가 Unity를 사용하여 완성한 프로젝트는 여기에서 자세히 알아보실 수 있습니다.

지금 Unity Simulation을 사용하여 AI 알고리즘을 훈련하고, 테스트하고, 검증해 보시기 바랍니다.