합성 데이터를 통한 인식 알고리즘 개선 및 바운딩 박스당 비용 절감

2020-09-12

안전에 중요한 인지 시스템을 개발하려면 현실 세계에서 발생하는 다양한 엣지 케이스를 다루는 엄청난 양의 데이터가 필요합니다. 실제 주행 데이터에서 데이터 세트에 레이블을 지정하고 큐레이팅하는 것은 업계에서 자율 주행 차량 알고리즘을 훈련하는 데 사용되는 일반적인 접근 방식입니다. Tesla는 이 접근법을 광범위하게 사용하며. CVPR 2020에서 Tesla의 Andrej Karpathy가 논의한 관심있는 라벨의 온라인 적응을 통해 자사 차량을 활용합니다. 자율 주행 차량이 새로운 시나리오를 해결해야 하는 상황에 직면함에 따라 엔지니어가 지속적으로 존재론(ontology) 및 라벨링 지침을 적용하고 있기 때문에 이러한 "변수와 컨트롤"은 중요한 요소입니다.

이 드라이브 데이터 기반 접근 방식에는 다양한 제한이 있지만, 확장성 제한으로 인해 정확한 라벨을 지정하는 데 데이터 수집 비용 및 노력이 필요합니다. 이 블로그에서 Applied Intuition 팀은 안전에 초점을 맞추면서 AV 알고리즘을 교육하고 개발하기 위한 더 빠르고 비용 효율적인 접근 방식을 가능하게 하는 합성 생성, 라벨 지정 데이터를 사용한 보완 접근 방식에 대해 설명합니다.

그림 1: Ground truth 주석이 있는 카메라 이미지에 대한 합성 데이터의 예. 원본 RGB 이미지(좌측 상단), 2D 박스(우측 상단), 시맨틱 인스턴스(좌측 하단) 및 3D 큐보이드(우측 하단)

데이터 라벨링에 대한 현재 접근 방식과 그 과제

라벨 데이터를 생성하는 일반적인 방법은 그림 2에 나와 있습니다. 테스트 운전자가 수동 모드 또는 자동 모드에서 센서가 장착된 차량을 운전하는 노동 집약적인 프로세스입니다. 자동차에서 실행되는 소프트웨어는 인지, 계획 및 제어 전반에 걸쳐 로우(raw) 센서 데이터와 소프트웨어 아웃풋을 기록합니다. 많은 프로덕션 차량에는 본 데이터를 확보할 수 있을만큼의 정확한 센서가 없기 때문에 특정 개발 차량이 필요할 수 있습니다. 데이터가 수집되면 라벨링 및 분석할 데이터를 선택하는 것은 관심있는 주석 추출을 위해 라벨링 회사에 보내어 특정한 흥미로운 사건을 신중히 추출해야 하는 힘든 작업입니다(데이터 세트의 데이터 양을 최소화하여 비용을 계속 낮추기를 원할 경우). 때로는 드라이브 로그에서 특정 엣지 케이스(예: 고속도로에서 날아다니는 비닐 봉투)를 찾는 것도 포함됩니다. 차량에 대한 센서 구성의 각 업데이트는 대량의 데이터를 다시 수집하고 라벨링해야 할 수도 있습니다.

그림 2: 자율 주행 차량 개발을 위한 드라이브 데이터 라벨링을 위한 일반적인 워크 플로우

라벨링이 AV 알고리즘 교육에 필요한 클린 데이터를 준비하는 유일한 방법일 수 있지만, 이 접근 방식의 가장 큰 단점은 규모에 필요한 충분한 투자입니다. 테스트 드라이버는 엣지 케이스를 만나기 전에 수백 또는 수천 마일을 운전해야 할 수 있습니다. Tesla와 같은 회사는 회사를 대신하여 다양한 언어의 정지 신호, 배치, 자아와의 관련성 등과 같은 롱테일 데이터 세트를 수집하는 전 세계 100 만 대 이상의 자동 조종 장치를 보유하고 있습니다. 대부분의 OEM에는 이러한 데이터 세트를 제공할 수있는 충분한 양의 프로덕션 차량이 없습니다. 많은 양의 드라이브 데이터를 사용할 수 있더라도 필요한 데이터가 데이터 세트에서 사용 가능하다는 보장은 없습니다. 이 경우 데이터를 수집하기 위해 특정 운전 캠페인이 필요하므로 비용과 시간 지연이 추가됩니다.

또 다른 고려 사항은 조건의 가용성입니다. 이 블로그를 쓸 당시, 미국 서부는 하늘을 오렌지 색으로 물들이거나 심지어 특정한 경우 붉은 색으로 물들일 정도로 극단적인 기후 조건을 보이고 있었습니다(그림 3). 해당 지역에 차량을 보유하고 있지 않은 경우 이러한 조건이 다시 발생하기까지는 수년이 걸릴 수 있으며, 이러한 유형의 데이터가 충분히 표현되지 않은 상태에서는 잠재적인 편향 문제로 이어질 수 있습니다.

그림 3: 극단적인 조건은 AV 데이터 세트에서 예측하고 확보하기 어렵습니다. 제공: CBS 뉴스

또한 AV 개발자는 항상 새로운 데이터 조각을 찾고 있으며 데이터를 효율적으로 조회하려면 중요한 인프라가 필요합니다. 이 조회의 대부분에서는 특정 태그 또는 주석이 이미 사용가능하다고 가정합니다. 그러나 주석이 이전에 고려되지 않은 경우에는 사용 불가능할 수 있습니다. 마지막으로 라벨링 비용은 상당한 규모이며, 많은 접근 방식이 수동이고 루프(loop)에 사람이 필요합니다. 라벨링 오류 또는 불완전한 정보(예: 다른 차량을 부분적으로 막는 차량)로 인해 부정확할 가능성이 많습니다.

합성 데이터 사용 및 이점

합성 데이터는 보다 확장 가능하고 정확한 대체 접근 방식을 제공합니다. 시뮬레이션에서 합성 데이터가 생성되더라도 지상 실측 정보(예: 차량의 시맨틱 레이블 또는 교통 표지판의 텍스트)를 정확하게 사용할 수 있습니다. 또한 시뮬레이션은 장면(scene) 내 모든 물체의 알베도, 깊이, 역반사, 거칠기와 같은 정확한 정보를 제공할 수 있습니다(그림 4). 게다가 pixel perfect 객체 마스크와 시맨틱 인스턴스 라벨링도 있습니다. 결과적으로 이러한 주석 중 어떤 주석도 자동으로 생성될 수 있으며, 센서 데이터의 수동 라벨링은 필요하지 않습니다. 사용자 정의 주석에는 현실 세계에서 올바른 데이터를 추출하기 위해 약간의 소프트웨어가 필요할 수 있지만, 이는 새로운 라벨 클래스를 가능하게 하는 일회성 고정 비용입니다.

그림 4: 시뮬레이션에서 사용할 수 있는 다양한 ground truth 데이터의 예. 위에서 아래로, 왼쪽에서 오른쪽으로: 최종 장면, 기본 색상(알베도), 표준 표면 법선, 금속성, 미세 표면 거칠기 및 깊이

합성 데이터 라벨링의 또 다른 주요 이점은 현실 세계에서 운전하거나 운에 의존하지 않고도 여러 변형을 만들 수 있다는 것입니다. 합성 데이터를 사용하면 관심있는 특정 개체에 집중할 수도 있습니다. 올바른 절차 설정을 통해 몇 시간 내에 수백만 개의 예제 교통 표지판을 시뮬레이션 할 수 있습니다. 여기에는 다양한 조명 조건, 물체 위치, 맞물림 및 성능 저하(녹, 기름, 낙서)의 예가 포함될 수 있습니다. 이러한 방식으로 합성 데이터는 실제 데이터에 대한 보완적인 방식으로 사용될 수 있습니다. 실제 데이터에서 식별되는 롱테일 이벤트를 시작점으로 사용하여 해당 이벤트를 중심으로 수천 개의 변형을 만들 수 있습니다.

변형은 지리적으로도 중요합니다. 테스트 차량은 외국 거리에서 운전해야 나라별 수식어와 도로 표지판을 마주하거나 스쿨버스에 의해 표지판이 반쯤 가려질 수 있는 장면을 찾기 위해 수백 시간을 운전해야 하지만, 이러한 조건들은 합성 데이터 세트를 사용하여 즉시 만들 수 있습니다(그림 5). 합성으로 제작할 수 있는 다양한 시나리오로 에지 케이스를 기반으로 알고리즘을 테스트할 수 있습니다(그림 6). 이 게시물에서는 자율주행 트럭 운반 업체인 Kodiak Robotics 가 합성 시뮬레이션을 활용해 알고리즘을 교육하고 엣지 케이스를 포괄적으로 처리하는 Kodiak 운전자의 능력을 시험하는 방식을 기술하고 있습니다.

Figure 5: Examples of traffic sign variations in EU (left) and US (right)


그림 6: 합성 데이터에 대한 도로 상태 및 차선 표시 수정

또 다른 주요 사용 사례는 센서에서 사용할 수 없으며 수동으로 쉽게 추가할 수 없는 데이터에 대한 실제 정보를 얻는 것입니다. 일반적인 예는 단안 또는 입체 카메라 시스템에서 깊이를 강력하게 추출하는 것입니다. 실제 데이터는 픽셀당 깊이를 포함하지 않으며 정확하게 계산하거나 손으로 주석을 달 수 없습니다.

합성 데이터 유용성을 위한 필요 사항

센서 데이터

AV 알고리즘을 학습하고 테스트하는 데 합성 데이터 라벨링이 유용하려면 합성 센서 데이터와 주석이 모두 특정 기준을 충족해야합니다. 센서 시뮬레이션에 대한 앞 블로그 게시물에서 논의했듯이, AV 개발에 사용되는 대량의 합성 센서 데이터는 저렴하고 신속하게 생성되어야 합니다. 합성 센서는 각 센서 유형에 내재 된 기본 물리학을 준수하도록 개발되어야 합니다. 모델링되는 충실도 수준은 언제나 주요 고려 대상입니다. 허용된 도메인 갭(인식 알고리즘에 의해 합성 데이터와 실제 데이터가 다르게 보이는 정도)과 데이터 수집 속도 사이에는 상충 관계가 있습니다. 도메인 차이는 시뮬레이션되는 센서, 고려 중인 자산(asset) 유형 및 환경 조건에 따라 달라질 수 있습니다. 핵심 고려 사항은 도메인 갭을 정량화한 다음 해당 정보를 사용하여 합성 데이터를 사용할 수 있는 방법을 알리는 것입니다. 그 예로서 그림 7에서는 합성 라이다 센서가 젖은 도로 조건에 어떻게 반응하는지를 보여줍니다. 라이다 리턴의 영향은 지상에서와 차량으로부터의 스프레이 둘 다에서 관찰됩니다.

그림 7: 도로가 젖은 상태에서 운전하기 위한 합성 라이더 이미지

환경

합성 데이터에 대한 다음 고려 사항은 환경 및 해당 환경에서 사용되는 재료의 변형입니다. 그림 8과 같이 환경은 실제 지도와 데이터를 사용하여 신속하게 생성합니다. 세계를 빠르게 구축하는 능력은 단계적 생성에 의존합니다. 합성 데이터는 전 세계의 모든 지리적 영역을 시뮬레이션 할 수 있다는 점에서 실제 데이터대비 놀라운 이점을 가집니다. 시뮬레이션에서는 다른 위치가 쉽게 생성되지만, 올바르게 설정하지 않으면 합성 데이터가 반복될 수 있습니다. 반복이 인지 알고리즘에 미치는 영향을 이해하고, 합성 데이터가 현실 세계와 동일한 유형의 변형을 갖도록 하는 것이 현재 주력하고 있는 영역입니다. 합성 도로 표면이 1km 연장되면 어떻게 변할 수 있는지에 대한 거시적 수준뿐만 아니라 환경에 사용되는 각 재료의 미세 수준에서도 변화를 고려해야 합니다.

물리적 기반의 렌더링 재료의 중요성은 이전 블로그에서 논의되었지만 일반적으로 이러한 재료를 구성하는 많은 텍스처는 실제 표면의 작은 스캔입니다. 합성 데이터에 더 많은 변형을 도입하기 위해 이러한 재료의 혼합과 변형을 만드는 것은 교육과 테스트 모두에서 중요합니다.

그림 8: 단계별 생성된 충실도 높은 도시 환경

주석

필요한 데이터 주석은 사용 사례와 인지 알고리즘에 따라 다릅니다. 실제 데이터 수집에서 사용 가능한 주석을 보면 일반적으로 사용 가능한 주석 유형이 표 1에 나와 있습니다.

표 1: 실제 데이터에 사용할 수 있는 주석 유형

합성 데이터의 경우 실제 데이터와 동일한 주석을 생성하는 것 외에도 수집된 데이터에서 훨씬 더 많은 실제 정보를 전달할 수 있습니다. 실제 데이터는 항상 픽셀 또는 point perfect 수준에서 생성됩니다. 마지막으로 센서 데이터와 주석은 모든 참조 프레임(세계, 자아, 센서 등)으로 전달될 수 있습니다.

표2에는 시뮬레이션에서 생성된 데이터에 대한 다음 표준 주석 유형이 나와 있습니다. 또한 많은 사용자 정의 형식과 데이터 유형이 지원됩니다.

표 2: 합성 데이터에 사용할 수 있는 주석 유형

이러한 추가 형식의 실측 정보를 사용하는 것은 알고리즘 개발 속도에 큰 원동력입니다. 사용 가능한 데이터의 규모, 품질 및 실제 데이터에 저장된 정보의 양은 엔지니어링 선택하는 데 더 빠른 피드백 주기를 만듭니다.

그림 9: 완벽한 픽셀 2D 박스를 보여주는 주석이 달린 합성 데이터

합성 데이터 라벨링에 대한 Applied Intuition의 접근 방식

Applied Intuition 팀은 충실도가 높은 합성 데이터와 결정론적 결과를 프로그래밍 방식으로 생성할 수있는 강력한 시뮬레이션 엔진을 개발했습니다. 당사의 합성 데이터 세트 라이브러리는 각 산업별 사용 사례를 지원할 수 있는 방대하며 광범위한 기성 주석을 갖추고 있습니다. 합성 데이터를 사용하는 주석에 대해 자세히 논의해보고 싶으시다면, 저희 엔지니어와 연락해보세요!