연구에서 제품까지: 인식 시뮬레이션을 위한 전략 (2부)

2021 년 3 월 29 일

인식 시뮬레이션 블로그 시리즈 2부에서는 “연구에서 제품까지: 인식 시뮬레이션을 위한 전략 (1부)”에서 논의된 인식 시뮬레이션을 위한 일반적인 접근 방식이 주요 요구 조건에 얼마큼 부합하는지를 살펴보고자 합니다. 인식 시뮬레이션의 경우 시뮬레이션 도구가 다음의 요구 조건을 충족하는 것이 매우 중요합니다.

  1. 실제성: 시뮬레이션 도구는 실제 차량의 동작을 정확하게 예측하기 위해 실제 데이터와 분간할 수 없는 데이터를 생성해야 합니다(그림 1).
  2. 확장성: 시뮬레이션은 "트레이닝 데이터의 프레임 수 또는 하루에 실행할 수 있는 테스트 수 및 해당 비용"과 같은 메트릭(metric)에 따라 최적화되어야 합니다.
  3. 반복성: 이벤트 발생 시 시뮬레이션에서 빠르고 안정적이게 재현할 수 있어야 합니다.
  4. 확인 및 검증(V&V) 능력: 실제 데이터 대비 합성 데이터의 입력에서 출력까지의 각 단계별 불확실성 분석을 위해서는, 모든 합성 시뮬레이션은 물리 방정식을 기반으로 해야 합니다. 
  5. 유연성: 엔지니어는 롱테일 이벤트를 다루기 위해 도로 위에 실제 존재하는 것에 관계없이 가능한 모든 이벤트를 생성할 수 있어야 합니다.
그림 1: 실제 데이터(왼쪽: 실제 라이다)와 합성 데이터(오른쪽: 시뮬레이션)의 비교는 Applied의 일반적 사례입니다.


표 1은 각 인식 시뮬레이션 접근 방식이 주요 요구 조건에 어떻게 부합하는지를 요약한 것입니다. 각 요구 조건에 대한 자세한 사항은 아래에서 살펴보겠습니다. 

표 1: 인식 시뮬레이션의 주요 요구 조건 및 일반적인 시뮬레이션 접근 방식이 각 요구 조건을 수행하는 방식.

요구 조건 1: 실제성

정확성은 부분 또는 완전 합성 데이터에 대해 논의할 때 나오는 첫 번째 주제 중 하나입니다. 인식의 맥락에서 생성된 데이터의 실제성은 대략 물리학의 구성 요소(센서, 신호 전파 및 재료 상호작용)와 장면 구성(조명 및 렌더링, 액터, 환경 및 세부 사항)으로 나뉩니다. 시뮬레이션 방법에 따라 시뮬레이션과 실제 데이터 사이의 차이를 최소화하는 데이터 세트를 생성하기 위해서는 이러한 구성 요소 중 일부 또는 전체가 필요합니다.


  • 부분 합성 시뮬레이션: 액터를 실제 센서 데이터로 이동, 제거 또는 추가하는 것에는 어려움이 따릅니다. 액터를 센서 데이터에 실제적으로 추가하기 위해서는 몇 가지 정보가 필요합니다. 우선 장면에 배치할 액터의 모델이 필요합니다. 여기에는 3D 컴퓨터 그래픽 모델, CAD 모델 또는 스캔한 사진 측량(photogrammetry) 또는 포인트 클라우드의 조합을 기반으로 하는 모델 등이 있습니다. 다음으로 HD 지도 데이터와 장면의 정밀한 깊이 정보를 활용한 장면 이해가 필요합니다. 마지막으로, 환경 조명을 적절히 고려한 실제 및 패치된 합성 액터의 구성이 필요합니다. 일반적으로 그리고 특히 패치된 액터 맞물림이 있는 경우 구성 단계에서 인공물(artifact)이 생성됩니다. 구성 단계에서 신경망을 사용하는 경우 결과가 물리적으로 정확하지 않을 수 있습니다. 이 부분은 검증 섹션에서 자세히 다루도록 하겠습니다. 반대로 액터를 센서 데이터에서 제거하는 경우 제거된 부분이 현실적으로 보이게 패치되어야 합니다. 해당 개체가 어떻게 맞물려 있는지에 따라 올바르게 패치하는 다양한 방법들이 있습니다. 액터를 추가하고 제거하는 것에 대한 실제성은 현재 진행 중인 연구 주제입니다.
  • 완전 합성 시뮬레이션: 환경, 재료 및 센서의 면밀한 검증을 통해 차이를 최소화합니다. 상세한 다양성으로 신중하게 장면을 채우는 경우에도 실제성을 상당히 높일 수 있습니다. 정확성을 최고로 높이는 것이 유혹적일 수 있지만 실제성은 사용 사례와 일치해야 합니다. 네트워크 트레이닝의 경우 기본 장면에 폭넓은 다양성과 미묘한 편차가 요구되지만 시스템 검증 사용 사례의 경우 오류 재현을 위한 상세한 물리 모델링에 더 집중할 가능성이 있습니다. 고밀도 라이다 스캔 또는 사진 측량과 같은 기타 기술을 사용하여 환경 전체에 사용되는 3D 콘텐츠를 만들 수 있습니다. 일반적으로 정확성과 확장성을 절충하여 실제성을 결정하게 됩니다.

요구 조건 2: 확장성

인식 시뮬레이션 실행을 위해 필요한 인프라는 핵심 고려 대상입니다. 실제 및 합성 센서는 효과적인 분류 및 체계화가 필요한 대규모 데이터를 생성합니다. 데이터를 트레이닝과 테스트에 사용할 준비가 되면 시뮬레이션을 실행하기 위해 필요한 컴퓨팅을 고려해야 합니다. 모션 계획 시뮬레이션과 AV 코드는 일반적으로 CPU 기반이지만 인식 AV 소프트웨어와 합성 센서 시뮬레이션의 경우 신경망 또는 렌더링을 위해 GPU를 실행해야 합니다. 야간에 회귀 테스트를 수행하고 새로운 기반 시나리오와 매개변수 변수를 체계적으로 추가할 수 있는 방식으로 클라우드 시뮬레이션을 설정해야 합니다. 이러한 각 단계는 시뮬레이션의 프레임 당 비용으로 이어집니다. 인식 시뮬레이션 데이터의 잘못된 분류로 인해 제대로 최적화되지 못한 설정은 수백만 달러의 개발 비용 낭비로 이어질 수 있습니다.

  • 재시뮬레이션(운전 로그 재생): 인식에 대한 메트릭(metric)을 생성하기 위해서는 실제 데이터에 주석을 다는 작업이 필요합니다. 대규모 실제 데이터 세트의 복잡성을 보여주는 예시 중 하나인 2019년 8월에 출시된 Waymo의 주석이 달린 공개 데이터 세트는 6.4 시간의 운전 데이터를 기반으로 하며 2,200만 개의 3D/2D 바운딩 박스를 포함하고 있습니다. 데이터 주석 비용은 완전 관리형 서비스(비용이 높음)부터 라벨링 소프트웨어 사용(비용이 낮음)까지 다양하지만 AV 프로그램의 경우 바운딩 박스와 주석을 추가하는 데에만 수백만 달러의 비용이 들 수 있습니다. 시맨틱 분할(semantic segmentation)의 경우에도 실제 데이터의 프레임 당 비용이 상당히 높습니다.
  • 부분 합성 시뮬레이션: 액터 패치를 위해 필요한 장면 이해 수준에 도달하기 위해서는 일반적으로 HD 지도 정보와 정밀한 깊이 정보가 필요합니다. 확장성이 가장 낮은 형태의 주석인 시맨틱 분할(semantic segmentation)이 필요한 경우도 있습니다. 패치된 액터는 자동으로레이블되기 때문에 재시뮬레이션보다 유리합니다. 구성된 프레임을 생성하기 위해 실제 데이터에 대한 컴퓨팅 요구 조건이 증가하지만 일반적으로 이 방법은 재시뮬레이션만 사용하는 경우보다 확장성이 좋습니다.
  • 완전 합성 시뮬레이션: 주석 확장에 초점을 맞춘 합성 데이터는 장면에 대한 모든 기준데이터(ground truth)를 인식하고 있기 때문에 자동화된 주석을 포함할 수 있습니다. 이는 속도와 비용 면에서 중요한 이점입니다. 자동화된 주석은 매우 복잡한 수학적 및 알고리즘 문제이지만 일단 코딩이 되면 모든 데이터 세트에 적용할 수 있습니다. 또한 완전 합성 데이터는 실제 또는 부분 합성 접근 방식에서 보장되지 않는 시맨틱 분류(semantic class), 일관된 ID, 깊이 및 속도와 같은 ground truth 정보를 제공합니다. 전체 합성 데이터의 확장은 환경과 자산(asset)을 생성하는 경우 어려움을 겪을 수 있습니다. 최고의 정확성과 사실성은 사진 측량(photogrammetry)과 같은 수동 기술을 사용하여 환경을 만들고 경로 추적과 같은 렌더링 방법을 구현할 때 실현됩니다. 저희가 아는 한 이러한 방법은 시간과 컴퓨팅 비용으로 인해 확장이 불가능합니다. 실제 위치와 일치하지 않는 합성 환경을 만들기 위해 절차적 생성을 사용하거나 HD 지도 데이터에서 절차적 생성을 사용하는 경우 가장 확장성이 뛰어난 형태의 완전 합성 데이터가 얻어집니다. 절차적 생성과 실시간 광선 추적(ray-tracing)을 결합하면 확장성과 실제성에 대한 요구 조건을 모두 충족할 수 있습니다.

요구 조건 3: 반복성

제품 등급 시스템을 개발할 때 구체적이며 실현 가능한 오류 모드에 대한 깊은 통찰력이 필요한 경우가 종종 있습니다. 이는 잘못 노출된 이미지로 인한 감지 오류 및 추가 다운 스트림 오류 등과 같이 일반적으로 발생하는 시나리오의 경우 또는 시스템 성능이나 장면 구성의 코너 사례의 경우와 같이 다양할 수 있습니다. 두 경우 모두에서 반복성은 문제가 발생한 이유를 이해하기 위한 중요한 요소이며 향후 비슷한 오류를 줄이는 데 유용합니다. 인식 반복성에는 다양한 형태가 있을 수 있지만 존재하는 정확한 장면, 센서 및 물리적 프로세스를 재현하고 시뮬레이션에서 해당 시나리오와 조건을 정확하게 반복적으로 생성할 수 있도록 하는 것이 핵심입니다.

이러한 시나리오 중에 전방 레이더가 탐지를 잘못 보고하는 센서 퓨전 레이어 오류가 있습니다. 실제로 레이더는 의도대로 작동한 것이지만 특정 장면 기하학적 구조 및 다중 경로로 인해 여러 고스트 타깃이 생성된 경우입니다. 이 오류의 원인을 확인하기 위해 다른 접근 방식을 도입할 수 있습니다.

  • 재시뮬레이션: 운전 기록을 사용하여 정확하게 동일한 오류를 재생하는 것이 오류를 재현하기 위해 사용되는 첫 번째 방법입니다. 기록에서 시나리오가 생성되면 센서 퓨전 스택의 향후 버전이 해당 오류를 처리할 수 있는지 또는 센서 구성을 직접 해결해야 할 정도로 심각한 오류인지 확인할 수 있습니다. 
  • 완전 합성 시뮬레이션: 또는 물리 기반으로 재현된 시나리오로 전환하여 초기 기록과의 상관관계를 보여주고 이벤트의 확장을 통해 이러한 오류에 대한 견고성을 개선하며 유사한 상황에 대한 향후 방침을 확고히 할 수 있습니다. 기반 기록 시나리오와 이 시나리오의 모든 잠재적 합성 변수(매개변수 스윕)는 향후 시스템에서 회귀 테스트로 사용될 수 있습니다.

요구 조건 4: 확인 및 검증

도로 위에 존재하는 정확한 조건을 재현하기 위한 운전 기록 시뮬레이션이 검증되었다고 가정할 때 확인 및 검증의 주제는 대부분 부분 합성 및 완전 합성 방법에 적용됩니다. 추적 가능한 개발의 핵심에는 검증된 시스템과 환경이 필요합니다. 오직 검증 프로세스를 통해서만 접근 방식이 주어진 사용 사례에서 관심 있는 물리적 현상을 적절하게 나타낼 수 있다는 확신을 가질 수 있습니다. 이 프로세스는 더 복잡한 시나리오로 이동하기 전에 독립된 적절한 동작을 보장하는 기본 사항에서의 검증으로 시작됩니다. 따라서 실제 및 합성 데이터에 대한 인식 알고리즘의 성능을 테스트하는 것은 매우 중요하지만 부분 또는 전체 합성 센서 데이터가 (불확도 측정 내에서) 생성될 것으로 예상되는 신호를 생성하고 있는지 확인하고 검증하는 기본 작업이 우선시됩니다. 완전 합성 접근 방식은 이를 기본 목표로 간주하고 많은 수 및 유형의 센서로 실제 대 합성 측정을 수행하여 기본 방정식과 방법을 확인하고 검증함으로써 도메인 격차를 점차적으로 좁힙니다. 저희가 아는 한 실시간 자율주행 차량 센서 시뮬레이션의 경우 이러한 유형의 엄격한 활동은 공개적으로 수행된 적이 없습니다.

위에 언급된 다중 경로 예시 역시 이러한 예시 중 하나이며 삼각 전파 반사기에 대한 적절한 레이더 단면적(RCS) 시뮬레이션을 보장합니다. 개체는 비교적 단순한 형태를 갖지만 대부분의 리턴 신호에서 다중 바운스의 비교적 복잡한 시뮬레이션에 의존합니다. 이 개체 입구 구경(entrance aperture)의 일부분만 가려져도 최종 결과에 큰 영향을 미칠 수 있습니다. 이러한 유추는 모든 센서의 센서 모델링에 보다 광범위하게 적용할 수 있습니다. 정확한 결과를 얻기 위해서는 완전한 장면 이해가 필요합니다. 

  • 완전 합성 시뮬레이션: 그림 2는 이론적 결과를 생성하기 위해 환경 및 센서 계산을 단계별로 추적할 수 있는 완전 합성 레이더 센서에 대한 RCS 실험 예시를 보여줍니다.
그림 2: RCS 특성 실험 예시.

  • 부분 합성 시뮬레이션: 합성 및 실제 데이터의 융합을 통해 장면에서 관심 있는 개체의 대리(합성) 모델을 사용하여 다중 경로를 추가로 모델링 할 수 있습니다. 합성 시뮬레이션을 정상적으로 실행하고 새로 추가된(완전 합성) 액터와 상호작용하지 않는 생성된 합성 데이터의 일부를 제거하여 실제 데이터의 무결성을 유지하면서 이 두 데이터 소스를 융합할 수 있습니다. 다시 말해 합성 개체에 대한 다중 경로 효과를 추가하여 결과값에 영향을 줍니다.

요구 조건 5: 유연성

시뮬레이션의 유연성은 생산 시스템의 개발 및 출시 속도에 큰 영향을 미칩니다. 대규모 차량의 실제 데이터를 사용하는 경우 약간의 유연성을 확보할 수 있지만 시뮬레이션 실행 중에 실시간으로 환경이나 센서를 변경하는 것은 완전 합성 시뮬레이션에서만 가능합니다.

  • 재시뮬레이션: 온로드(on-road) 데이터의 경우 일반적으로 유연성이 낮으며 롱테일 사례를 찾기가 힘듭니다. 대부분 내장 시스템을 통해 차량의 특정 데이터를 쿼리하는 기능과 대규모 차량을 보유하는 것으로 유연성을 확보합니다.
  • 부분 합성 시뮬레이션: 합성 데이터로 보강된 실제 데이터는 환경 내의 액터가 변경될 수 있고 모든 잠재적 위치에 배치될 수 있어 조금 더 유연성이 있습니다. 그러나 지리 위치적(geo-located) 환경, 조명 또는 기상 조건을 간단히 변경할 수는 없습니다.
  • 완전 합성 시뮬레이션: 유연성에 한계가 없습니다. 세계 모든 곳에서 예상되거나 발생하는 모든 롱테일 이벤트를 빠르게 재현할 수 있습니다. 기반 시나리오가 생성되면 수천 개의 다른 잠재적 변수도 시뮬레이션이 가능합니다. Applied는 일반적으로 변수를 고려할 때 몇몇 구조화된 도메인 무작위화(SDR) 형태를 사용했지만 완전 무작위화된 도메인에서도 기대되는 성과가 있습니다. 이러한 유형의 접근 방식은 합성 시뮬레이션을 통해서만 가능합니다.

Applied의 제안

저희는 어떠한 인식 시뮬레이션 접근 방식도 독립적으로는 트레이닝, 테스트 및 검증 요구 조건을 모두 충족시키기에 충분하지 않다는 것을 알고 있으며 생산 시스템의 엄격한 요구 조건을 충족하기 위해서는 다변수 접근 방식이 필요하다는 것을 경험을 통해 확인했습니다. 저희는 모든 형태의 인식 시뮬레이션을 지원하는 도구를 만들었으며 연구를 통해 새롭고 실행 가능한 접근 방식을 계속 개발하고 있습니다. 자세한 내용은 저희 엔지니어 팀으로 문의하세요!

자율주행차 관련 소식 구독하기