Unity 검색

공유

Is this article helpful for you?

Thank you for your feedback!

매년 교통사고로 인해 125만 명의 사망자가 발생합니다. 2016년 한 해 동안 발생한 교통사고로 미국에서만 4만 명이 사망하고 460만 명이 부상을 입었습니다당했습니다. 유니티는 워싱턴 주 벨뷰 시와 협력하여 기술력을 통해 교통사고 사상자 수를 줄이는 프로젝트에 착수했습니다.

유니티는 머신러닝과 시뮬레이션을 통해 안전하지 않은 교차로를 식별하고 사전에 사고를 예방할 수 있다고 믿습니다. 이 블로그 포스트에서는 벨뷰 시와 공동으로 진행하는 프로젝트를 소개하고 이 아이디어의 기반인 컴퓨터 비전에 관한 기본 개념을 훑어봅니다. 또한, 유니티 엔진을 활용하여 시뮬레이션 환경을 만들고 이러한 환경에서 솔루션에 사용되는 머신러닝 모델을 훈련하는 방법을 공개하는 등 협업 단계 초반의 내용을 다룹니다.

이니셔티브

유니티와 벨뷰 시의 파트너십은 'Video Analytics towards Vision Zero' 프로젝트의 일환입니다.

이 프로젝트 이름이 무엇을 의미하는지 간단히 살펴보겠습니다.

  • Vision Zero는 세계 각국의 여러 주체가 참여하는 교통 안전 프로젝트로, 교통사고로 인한 사망자나 중상자가 발생하지 않는 고속도로 시스템을 구축하는 데 중점을 두고 있습니다.
  • Video Analytics towards Vision Zero는 비디오 분석을 통해 ‘충돌 위기’ 상황을 식별함으로써 안전하지 않은 교차로를 파악하고 개선하기 위해 벨뷰 시에서 시행하는 기술 사업입니다. 이는 사고가 발생할 뻔한 상황을 자동으로 감지하고 교차로의 여건을 개선하여 추후 사고를 방지하는 활동입니다.

이 사업의 주된 목표는 도시의 수많은 교차로에 배치된 카메라를 활용하여 안전하지 않은 교차로를 식별하는 컴퓨터 비전 시스템을 구축하는 것입니다. 계획대로 시스템이 구축되면 스트리밍 영상을 통해 자동차, 보행자, 자전거 등의 오브젝트 및 이러한 오브젝트의 이동 경로를 식별하고, 교통 계획 담당자에게 사고의 빈도와 특성에 관한 정보를 제공하여 위험한 상황을 검토하고 해당 교차로에 관해 더욱 정확한 보고서를 작성할 수 있을 것으로 기대됩니다. 각각의 시 당국은 이러한 데이터를 활용하여 횡단보도 재설계, 정지 신호 시간 조정, 눈에 더 잘 띄는 표지판 도입과 같은 안전 조치를 실시함으로써 Vision Zero의 목표인 '사상자 수 0명'의 실현을 추구할 것입니다.

이 기사에서는 이 사업을 위해 계획된 안전 시스템의 첫 조각인 오브젝트 인식 과제를 중점적으로 살펴보도록 하겠습니다. 유니티 엔진은 실제 환경을 인위적으로 구현하는 컴퓨터 비전 애플리케이션에서 중요한 역할을 담당합니다. 이에 관한 내용을 자세히 살펴보도록 하겠습니다.

컴퓨터 비전 모델 훈련

컴퓨터 비전은 인공지능의 하위 분야로, 이미지와 비디오에서 정보를 추출하는 것을 목적으로 합니다. 이 분야는 지난 5년간 상당한 수준의 발전을 거듭했으며, 실제 이미지의 자동 해석에 광범위하게 적용되어 왔습니다. 특히 컴퓨터 비전 모델은 학습을 통해 여러 교차로의 비디오 자료를 이해하고 교차로 주변에서 벌어지는 상황을 파악할 수 있습니다.

이러한 이해를 위해서는 이미지의 다양한 요소를 감지하고 분류하며 추적해야 합니다. '감지'란 이미지에 담긴 각 오브젝트의 위치나 배경 요소를 파악하는 것을 의미합니다. '분류'를 통해서는 이렇게 감지된 부분의 유형에 관한 정보를 제공하며, 각 오브젝트는 이미지의 개별 인스턴스로 '추적'됩니다. 이는 이미지나 비디오 시퀀스를 분석할 때 특히 중요합니다. 머신러닝 모델은 이러한 메타데이터를 활용하여 이미지 전체를 종합적으로 파악할 수 있습니다.

실사 이미지 활용은 컴퓨터 비전 모델에 부트스트래핑 데이터를 제공하는 데 일반적으로 사용되는 방법입니다. 초기 식별과 분류를 위한 메타데이터는 주석 삽입(annotation) 프로세스에서 특수 툴을 사용한 수동 작업을 거쳐 제공됩니다.

다음은 Vision Zero 주석 삽입 툴의 예시 화면입니다.

거리 위의 각 보행자 주위에 툴 엔지니어가 직접 생성한 경계 상자 및 빨간색 점선으로 정의된 '판독 영역'을 확인할 수 있습니다.

일단 이미지에 주석을 삽입하면, 데이터 세트의 일부를 사용하여 머신러닝 모델을 학습시키고, 데이터 세트 중 학습에 사용하지 않은 부분은 훈련된 모델의 처음 접하는 씬에 대한 성능을 평가하는데 사용합니다.

지도식 모델의 훈련에 데이터를 사용하는 방식을 대략적으로 요약하면 다음과 같습니다.

컴퓨터 비전 애플리케이션에서 흔히 겪는 문제는 유의미한 훈련 및 평가 데이터를 찾기가 어렵다는 것입니다. 지금까지는 실사 이미지와 비디오에 수동으로 주석을 추가하는 것이 일반적이었으며, Video Analytics 프로젝트 초기에 진행된 핵심적인 작업이기도 했습니다. 하지만 이러한 방식을 사용하면 많은 비용이 지출되며, 툴 엔지니어의 피로도, 작업 과정의 비일관성 및 기타 인적 요인이 레이블의 품질에 영향을 미칠 수 있습니다.

비용과 시간의 부담을 감수하더라도, 캡처를 통해 얻은 데이터는 실제 환경에서 제공되는 데이터의 물리적 한계로 인해 제한적일 수밖에 없습니다. 예를 들어, 자전거나 버스를 이용하여 모델을 훈련하려면 자전거와 버스가 같은 프레임에 들어올 때까지 기다려야 합니다. 또는, 눈이나 비가 내리거나 안개가 낄 때 모델의 성능을 확인하려면 이러한 날씨 조건이 정확히 갖추어질 때까지 기다렸다가 카메라를 작동시켜야 하는 어려움이 있습니다.

시뮬레이션을 활용하면 이러한 제약을 간단히 극복할 수 있습니다. 시뮬레이션 환경을 이용하면 콘텐츠를 온전히 제어할 수 있으며 씬에 포함된 각각의 요소가 가진 특성을 모두 이해할 수 있습니다. 또한, 다양한 상황을 설명하는 정확한 주석이 포함된 훈련 및 평가 데이터를 거의 무제한으로 생성할 수 있습니다. 뿐만 아니라 이러한 상황을 특정한 경우에 맞춰 구성하거나 단계적으로 생성하여 최대한 많은 시나리오를 다룰 수 있습니다.

씬과 에피소드

컴퓨터 비전용 시뮬레이션의 두 가지 핵심 개념인 씬과 에피소드에 대해 알아보겠습니다.

은 시뮬레이션 환경에서 모델링되는 모든 정적/동적 요소 및 파라미터를 의미하며, 정적 요소에 해당하는 건물과 거리 및 초목, 동적 요소에 해당하는 자동차와 보행자 및 자전거, 그리고 파라미터에 해당하는 기상 조건, 시간(태양의 위치), 안개 등을 포함합니다.

에피소드는 씬 요소에 대해 정의된 설정을 의미합니다. 예를 들어, 보행자에 지정된 특정 위치, 자동차에 지정된 특정 경로, 강수 여부, 도로 상황 등이 에피소드에 해당합니다. 즉, 에피소드는 씬의 인스턴스라고 볼 수 있습니다.

위 사진에서 상단의 상자 세 개는 정적 에셋, 동적 에셋과 파라미터(이 경우에는 날씨) 등 씬의 개별 요소를 나타냅니다. 하단의 상자는 씬의 모든 부분이 하나로 합쳐진 '에피소드'입니다.

시뮬레이션 데이터 생성 과정에서 한 씬에 여러 에피소드를 생성하는 프로세스를 일반적으로 에피소드 배리에이션(Episode Variation)이라고 합니다. 이 프로세스를 조정하면 훈련된 머신러닝 모델이 적용된 실제 환경 애플리케이션에서 발생 가능한 다양한 상황을 만들어낼 수 있습니다.

실제 환경 시뮬레이션에 유니티 사용하기

실제 환경의 데이터를 수집하는 데에는 비용 및 여러 제약이 따르므로, 유니티와 같은 게임 엔진을 이용해 생성한 합성 데이터로 실제 환경의 데이터를 대체하거나 보완하는 것이 효과적입니다. 최근 유니티 엔진은 그래픽스 하드웨어 및 렌더링 기술의 발전, 그리고 VR 및 AR의 출현에 힘입어, 사진과 동일한 수준의 정교한 시뮬레이션을 구현할 수 있는 완벽한 3D 모델링 툴로 진화했습니다. 업계와 학계에서도 이러한 점에 주목하여 유니티의 시뮬레이션 성능을 활용할 수 있는 다양한 프로젝트를 개발했으며, 그중에서도 가장 널리 알려진 프로젝트 중 하나가 바로 SYNTHIA입니다.

바르셀로나 주립대(Universitat Autónoma de Barcelona) 컴퓨터 비전 센터(CVC)에서 유니티를 사용하여 개발한 이 프로젝트는 다양한 에피소드 배리에이션이 적용된 합성 이미지와 비디오로 거리의 모습을 재현하는 데 주력합니다.

지난 20년간 컴퓨터 비전 연구의 선구자로 활약해 온 CVC가 개발한 SYNTHIA 데이터 세트는 자율주행차 인지 시스템 분야 종사자들에게 매우 중요한 자료로 활용되고 있습니다.

유니티는 Vision Zero 프로젝트의 일환으로 벨뷰 시에 최고의 기술력과 노하우를 제공하기 위해 CVC와 다시금 힘을 합쳤습니다.

CVC는 벨뷰 시에서 제공한 이미지와 3D 모델 및 Otoy의 OctaneRender를 유니티 엔진에 통합하여 활용함으로써, Microsoft가 구축한 컴퓨터 비전 모델의 훈련과 평가를 개선하는 데 사용할 수 있는 여러 씬을 구현했습니다.

최초 시뮬레이션

Vision Zero는 교차로에서 발생하는 차량과 보행자의 상호작용에 중점을 둡니다. 따라서 컴퓨터 비전 모델에 필요한 데이터를 충분히 확보하려면 적절한 시뮬레이션을 통해 도시의 여러 영역에서 벌어지는 다양한 상황, 즉 씬에서의 오브젝트 배리에이션이 등장하는 상황 및 카메라로 포착하기 어려운 상황까지 디테일하게 구현해야 합니다.

아래의 비디오는 벨뷰 시 교차로(116번 대로 북동쪽 및 12번가 북동쪽)를 보여줍니다. 16초 지점의 영상을 실제와 대조해 보면 이 시뮬레이션의 묘사 수준이 얼마나 실제에 가까운지 확인할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

유니티 에셋인 이러한 이미지들은 매우 사실적이며, 유니티는 100% 정확한 분할에 필요한 모든 메타데이터를 가지고 있습니다. 이것은 씬 안의 모든 것을 픽셀 단위로 분류해 내는 것으로 컴퓨터 비전 모델 훈련에는 이러한 수준의 데이터가 필수적입니다. 또한 거리, 뎁스 및 머티리얼에 관한 정확한 정보를 제공하기 때문에 작업자가 직접 주석을 추가할 필요가 없습니다.

다음은 위의 비디오에서 추출한 뎁스 메타데이터의 예시입니다.

이 데이터에서 명도는 오브젝트와 카메라 간의 거리를 나타내며, 색이 짙을수록 오브젝트가 카메라에 가까이 있음을 나타냅니다. 하늘에 해당하는 데이터는 없으므로 완전한 검정색으로 표시됩니다.

이미지에 관한 정보가 매우 디테일하기 때문에 나뭇잎 하나하나 또는 건물 정면을 구성하는 다양한 요소까지도 모두 구별할 수 있습니다.

다음은 시맨틱 분할(Semantic Segmentation)을 보여주는 또 다른 비디오 스냅샷입니다.

앞서 보여드린 수동 이미지 주석 삽입 툴에 비해 극명한 품질과 정밀도의 차이를 확인할 수 있습니다. 오브젝트 감지를 위해 경계 상자를 대충 어림잡아 연산하는 것이 아니라, 픽셀 수준의 정밀한 레이블링을 통해 완전한 시맨틱 분할을 구현합니다. 세그먼트는 사진에서 볼 수 있듯이 여러 클래스로 나뉘며, 서로 다른 컬러로 구분됩니다. 또한, 승용차와 버스, 차도와 인도를 정확하게 구별할 수 있습니다. 이렇듯 정밀한 메타데이터를 활용하기 때문에, 모델은 수동으로 주석을 입력한 데이터를 이용할 때보다 오브젝트 간의 오버랩 현상을 훨씬 정확하게 예측할 수 있습니다.

유니티는 앞으로 다양한 차종, 더 많은 충돌 위기 사례, 다양한 기상 조건 등 에피소드의 여러 버전을 실험하고, 컴퓨터 비전 모델의 훈련 파이프라인에 제공할 더욱 광범위한 데이터 세트를 만들 예정입니다. 또한 프로젝트의 규모를 확대함에 따라 더욱 다양한 교차로를 구현하려고 합니다.

모델의 초기 목표는 높은 시맨틱 분할 정확도를 달성하는 것이며, 궁극적으로는 오브젝트의 이동 경로를 감지하고 완벽한 '충돌 위기' 모델을 개발하여 프로젝트의 목표인 자동 분석을 실현하고자 합니다.

유니티는 필요에 따라 시뮬레이션을 변경하여 Microsoft가 구축한 컴퓨터 비전 모델의 성능 평가 프로세스를 개선하도록 지원할 예정입니다.

CVC를 비롯한 다양한 팀의 연구 결과를 바탕으로 실제 데이터와 시뮬레이션 데이터를 조합하는 접근 방식을 통해 모델에서 최적의 결과를 도출할 수 있을 것으로 예상됩니다. 추후 구체적인 결과를 확인하는 대로 공유해드리겠습니다.

유니티를 통해 만나는 시뮬레이션의 미래

기술적으로 복잡한 문제를 해결해야 하는 이 프로젝트를 둘러싸고 유능한 팀들이 한데 뭉칠 수 있었던 이유는 바로 '안전한 도시를 만들고 생명을 구한다'는 궁극적인 목표였습니다. 각각 업계, 학계와 정부를 대변하는 유니티, CVC, Microsoft와 벨뷰 시가 이러한 공동의 목표를 달성하기 위해 힘을 모았습니다.

유니티는 자사의 핵심 가치인 '개발의 민주화', '난제 해결', '성공 실현'에 완벽하게 부합하는 이 프로젝트의 중심에서 파트너를 독려하고 힘을 보탰습니다.

유니티는 이번 프로젝트를 진행하며 귀중한 자산을 얻을 수 있었으며, 이러한 자산을 활용하여 모두에게 도움이 되는 탁월한 엔진을 개발할 것입니다.

이러한 발전을 거듭함에 따라, 유니티의 시뮬레이션은 더욱 간편해지고 강력해질 것입니다. 기술을 활용하여 세상을 더욱 안전하게 만드는 데 기여할 수 있어 매우 기쁩니다.

연락처

이 프로젝트에 대해 자세히 알아보려면 호세 데 올리베이라(Jose De Oliveira)(josed@unity3d.com)에게 문의하시기 바랍니다.

고마운 분들

이 프로젝트에 참여해 주신 모든 분께 감사의 말씀을 전합니다.

프란츠 로웬허츠(Franz Loewenherz), 벨뷰 시 교통 계획 책임자 겸 Video Analytics 이니셔티브 책임자

안토니오 M. 로페즈(Antonio M. López) 교수, 바르셀로나 주립대학교(Universitat Autònoma de Barcelona) 컴퓨터 비전 센터(CVC) 수석 연구원 겸 컴퓨터 과학부 부교수)

호세 A. 이글레시아스(Jose A. Iglesias) 박사, CVC 과학 연구원

가네시 아난타나라야난(Ganesh Ananthanarayanan), Microsoft Research 이동성 및 네트워킹 그룹 연구원)

2018년 1월 23일 산업 분야 | 10 분 소요

Is this article helpful for you?

Thank you for your feedback!