6과. 자율주행의 어느 방식이 정답인가?
LiDAR는 최대 200 미터 범위에서 초당 백만 개 이상의 데이터 포인트를 생성 할 수 있다. 그러나 비용이 매우 많이 든다. LiDAR 센서는 최대 수만 달러 이상 까지 가격이 나가기 때문이다. 따라서 테슬라나 모빌아이는 상대적으로 저렴한 카메라 기반 자율 주행을 대안으로 모색한다.
1) LiDAR(라이다) vs. 카메라 - 지역화에서의 차이
LiDAR 기반 시스템의 지역화 방법은 입자 필터를 많이 사용하고, 시각 기반 지역화는 시각적 오도메트리(주행기록계) 기술을 사용한다. 이 두 가지 접근 방식은 매우 다양한 유형의 센서 데이터를 처리하는 데 필요하다. LiDAR에 의해 생성된 포인트 클라우드는 환경에 대한 “형태”를 제공하지만 개별 포인트를 구별하기는 어렵다. 입자 필터를 사용하여 시스템은 불확실성을 줄이기 위해 알려진 관찰된 맵과 특정 관측된 모양과 비교한다.
반대로, 카메라 기반 지역화의 경우, 관찰은 영상 처리의 전체 파이프라인을 통해 처리되어 두드러진 점과 특징 검출 및 설명자 알려준 두드러진 점의 설명을 추출한다. 이를 통해 우리는 각 점을 고유하게 식별하고 이러한 두드러진 점을 적용하여 현재 위치를 직접 계산할 수 있다.
2) 카메라 기반 지역화 파이프 라인
카메라 기반 지역화는 다음과 같은 단순화 된 파이프 라인을 거친다.
가. 스테레오 이미지 쌍을 삼각 측량하여 먼저 각 지점에 대한 깊이 정보를 도출하는 데 사용할 수있는 시차 맵을 얻는다.
나. 연속적인 스테레오 이미지 프레임들 사이에 현저한 특징들을 매칭시킴으로써, 상이한 프레임들에서 특징점들 사이의 상관 관계를 확립 할 수 있다. 그러면 지난 두 프레임 사이의 움직임을 추정 할 수 있다.
다. 또한, 현저한 특징을 알려진 맵의 특징과 비교함으로써, 차량의 현재 위치를 도출 할 수도 있다.
3) 컴퓨팅에 미치는 영향
LiDAR 기반 접근 방식과 비교할 때 카메라 기반 접근 방식은 기능 추출, 시차 맵 생성, 광학 흐름, 기능 일치, 가우시안 블러 (Gaussian Blur) 등 여러 병렬 데이터 처리 단계를 이용한다. 벡터 계산을 사용하고 각 작업에는 일반적으로 짧은 처리 파이프 라인이 있으므로 이러한 작업은 DSP 컴퓨터 시스템이 가장 적합하다.
반대로 LiDAR 기반 접근 방식은 ICP (Iterative Closest Point) 알고리즘을 많이 사용한다. 이 알고리즘은 병렬화하기 어려운 반복 프로세스이므로 CPU에서보다 효율적으로 실행된다.
4) 그래서 뭐가 정답인가?
정답은 정해진 것이 없다. 다만 현재 가장 앞서나가고 있는 자율주행 선도 업체들은 LiDAR만 사용하지 않고 카메라도 같이 활용한다는 것을 알고 있으면 좋겠다. 어느 접근 방식이 더 우월하여 한가지만 채택하는 것이 아닌 엔지니어로서는 둘의 장점을 합치기 위해 둘 다 사용하는 경우가 대다수다. LiDAR로 전반적인 도로 상황을 인지한 뒤, 카메라 혹은 레이더로 관찰된 모양과 동시 비교를 하며 오차를 줄여나가기 때문이다.
상황에 따라서는 카메라 기반 접근 방식이 주로 쓰이기도 하고 LiDAR 기반 접근 방식을 쓸 수 밖에 없는 상황도 직면할 수 있기 때문에 안정성에 큰 목표를 두고 있는 자율주행 엔지니어로서는 최대한 많은 인식 센서를 확보하는 것이 차후 프로그램 개발에 용이하다.
7과. 방식에 대한 오해
1) 자율주행에서 가장 중요한 것은 데이터의 양이다?
반은 정답이고 반은 오답이다. 그 이유를 함께 알아보자.
구글은 알파고를 시작으로 딥 러닝을 시작하면서 웨이모의 보행자 감지 시스템에 딥 넷을 적용했다. 초창기, 결과는 놀라웠다. 몇 개월 만에 보행자 감지 오류율을 100배까지 줄여서 시스템을 더욱 안전하고 안전하게 운송할 수 있었다.
웨이모의 AI 발전은 자율 주행 시스템의 거의 모든 부분에서 중요한 역할을 한다. 인식은 딥 러닝에서 가장 성숙한 영역이지만 예측에서 계획, 매핑 및 시뮬레이션에 이르기까지 모든 것에 딥 넷을 사용한다. ML(머신러닝)을 통해 미묘하고 어려운 상황을 탐색할 수 있다. 이렇게 이미 다양한 자율주행 업체들은 인식, 예측, 계획 및 매핑을 포함하여 자율 주행 시스템의 거의 모든 부분에서 ML(머신러닝)을 사용한다.
이때 시뮬레이션은 자율 주행 기술의 발전에 필수적이다. 또한, 실제 주행을 제외하고 많은 자율주행 회사들은 시뮬레이션을 통해 ML 모델을 검증하여 소프트웨어 개발 프로세스를 신속하게 반복하고 가속화한다. 크루즈 또한 이부분에서 강한 자신감을 보인다. 시뮬레이션을 활용하면 최대 하루 만에 100 년 이상의 경험을 쌓았을 수 있다
시뮬레이션에서 하루 약 2 천만 마일을 운전하여 경험의 규모와 복잡성을 확장한다. 여기에서 테슬라와 다른 업체간의 차이가 나타나는 것이다. 테슬라는 실제 시뮬레이션을 활용하고 있다는 소식은 없어서 모르겠지만 다른 자율주행 업체는 시뮬레이션 기술을 발전시키고 성장시키기 위해 대규모로 클라우드 기술을 적용하는 데에 힘을 쓰고 있다.
현재까지 가장 앞선 웨이모의 경우, 시뮬레이션에서 150 억 마일 이상을 주행했으며 학습 속도가 계속 높아지고 있다. 참고로 테슬라는 발표된 자료에 따르면 22억마일이다. 이는 시뮬레이션이 앞으로 실제 주행보다 훨씬 중요하고 큰 차이를 만들 것이라는 뜻이다.
여기서 왜 웨이모나 크루즈가 시내주행에 주로 시스템을 활용하는 지 한가지 힌트를 얻을 수 있다. 이미 실제주행에서 테슬라를 이길 수 없다는 것을 그들도 알고 있다. 그리하여 그들은 시뮬레이션에서 학습 효율성을 극대화하기 위해 변수가 가장 많이 나타나는 시내주행에 집중적으로 초기 데이터를 모은 뒤, 시뮬레이션 기술을 사용해 실제 운전에서 보았고 경험한 데이터를 사용하여 완전히 시뮬레이션된 시나리오를 만들어 나간다.
또한, 시뮬레이션에서 차량 주변 환경을 조작하여 지속적인 다가오는 트래픽과 같은 다양한 상황에 어떻게 대응할 것인지 측정하고 보호되지 않은 회전을 할 수 있다. 첫 시작은 실제 환경에서 경험하는 것과 동일한 시나리오를 거치지만 시뮬레이션을 통해 장면을 부분 수정하고 가능한 상황을 평가하여 실제주행 데이터에 못지않은 다양한 학습을 이뤄낼 수 있다.
심지어 시뮬레이션을 활용하면 이런 거대 비둘기가 나타났을 때도 학습 가능하다.
2) 자율주행에서 인공지능은 카메라 기반 접근 방식만 가능하다?
각 회사들은 어느 한 기술만 사용하지 않는다. 라이다, 카메라, 레이더 이 3가지 방식을 모두 사용한다. 카메라 기반 접근방식에서 과거와 달리 급격한 발전이 있었고 LiDAR에서도 큰 변화가 있어왔다.
이런 과정을 통해 웨이모는 LiDAR 데이터 처리에 엄청난 진보를 이끌었다. 다음과 같은 사례를 함께 보자.
폭우나 눈 속에서 운전하는 것은 자율 주행과 사람들 모두에게 가시성이 제한되어 있기 때문에 어려운 과제가 될 수 있다. 빗방울과 눈송이는 자율 주행 자동차의 LiDAR 센서 데이터에 많은 소음을 발생시킬 수 있다. 하지만 ML을 활용하면 노이즈를 걸러 내고 보행자, 차량 등을 정확하게 식별할 수 있다.
아래와 같은 사진을 살펴보자.
현재 폭설로 인하여 LiDAR센서가 부정확하게 인식 중이다.
하지만 ML을 사용하여 센서의 노이즈를 필터링하여 자동차가 전방 도로를 명확하게 볼 수 있도록 도와준다.
몇몇 업체가 LiDAR의 데이터를 ML하지 못하는 이유는 간단하다. 그들은 이런 데이터를 ML할 인프라가 없다. 하지만 구글과 크루즈같은 곳은 이미 인프라가 명확하게 준비되어 있고 이를 적극 활용 가능하기 때문에 LiDAR를 ML하는 것 뿐이다.
다음과 같이 LiDAR로 인지한 데이터까지도 구글이나 다른 자율주행 업체는 활용이 가능하고 시뮬레이션에서도 가상세계를 구현할 만큼 인프라가 마련되어 있으니 이는 큰 문제가 아니다. 다만 테슬라와 같은 후발주자는 인프라가 부족할 뿐만 아니라 이런 모델링에 있어 많이 뒤쳐졌기 때문에 포기한 것 뿐이다.
3) 주행에 있어 실제 데이터만 많으면 된다?
예측을 위해서는 센서 데이터와 맵 이상의 것이 필요하다. 운전 패턴이 지역마다 다르고 상황에 따라 교통 규칙을 어기는 차량도 많기 때문에 지도 파생 교통 규칙 만으로는 데이터를 캡처하기가 복잡하고 어렵다. 여기서 ML은 시스템이 새로운 유형의 행동을 학습 할 수있게 함으로써 이러한 복잡성을 모델링하고 줄이는 데 사용되는 일반적인 도구다.
가장 일반적인 방법은 지도를 픽셀로 렌더링하고 교통 신호, 차선 및 도로 경계와 같은 장면 정보를 CNN (Convolutional Neural Network)으로 인코딩하는 것이다. 그러나 이 프로세스에는 많은 계산과 시간이 필요하다. 또한, 이미지를 맵으로 처리하면 차선이 합쳐져 예측의 품질에 영향을 미치는 장거리 형상을 모델링하기가 어려워진다.
지금 자율주행 기술의 핵심은 데이터의 양이 아니다. 이러한 어려움을 해결하고 더 나은 의사 결정을 내릴 수 있으며 다른 사람의 행동 예측은 더 정확해야한다. 동시에 기존 CNN 방식보다 컴퓨팅을 적게 사용하며 정확한 행동 예측을 제공하는 새로운 모델 개발에 기존 강자와 신흥 후발대의 넘을 수 없는 차이가 난다.
더불어 위에서 언급한 실제주행보다 훨씬 활용도가 높은 가상 세계를 개발하고 운영하려면 많은 양의 컴퓨팅이 필요하다. 구글과 바이두 같은 곳이 자율주행에서 가장 앞서나간 이유도 현재 가지고 있는 분석 모델과 클라우드 컴퓨팅과 TPU 같은 인프라의 차이가 실제 자율주행의 진보에 훨씬 영향을 주기 때문이다.
4) LiDAR를 사용하는 자율주행의 카메라 기반 접근 방식은 형편없다? (특히 웨이모)
많은 자율주행 업체에서 ML을 사용하여 다양한 유형의 물체와 도로 지형을 감지하고 분류한다. 이 부분의 강자는 또 다시 구글의 웨이모다.
테슬라가 자랑하는 풍부한 경험도 매우 귀중하지만 이 센서 데이터 바다에서 가장 유용한 사례를 찾는 방법은 정말로 힘들다. 예시로 자율주행 차량이 스케이트 보드를 타는 사람을 관찰했을 때와 같이 특정 예를 찾으려고 하는 것은 사막에서 바늘을 찾는 것과 같다.
웨이모는 웹 검색에 대한 구글의 전문 지식을 바탕으로 콘텐츠 검색 도구를 개발했다. 웨이모의 콘텐츠 검색은 Google 포토 및 Google 이미지 검색과 유사한 기술을 사용하여 엔지니어가 주행 이력 및 데이터 로그의 모든 객체를 신속하게 찾을 수 있다.
엔지니어는 컨텐츠 검색을 통해 센서 로그를 통해 여러 가지 방법으로 세계를 검색 할 수 있다. "유사성 검색"을 수행하고 매우 세분화 된 범주의 객체를 검색하고 동영상에서 특정 텍스트도 검색 할 수 있다.
그리고 유사성 검색을 사용하면 이미지 비교 쿼리를 실행하여 운전 로그에서 지정된 객체와 유사한 항목을 쉽게 찾을 수 있다. 예를 들어, 주행 모델을 개선하기 위해 운전 기록에서 관찰된 미확인된 초록생 덩이 물체를 구글 이미지 검색으로 자동 인식해 온라인에서 찾은 선인장 사진으로 바로 등록 할 수 있다.
이런 식으로 공원 벤치 여부, 쓰레기통을 모든 객체를 변환하거나 움직이는 물체에 대하여 서로 얼마나 유사한 지에 따라 개체의 순위를 지정할 수있는 ML 기술을 구글은 가지고 있다.
마지막으로 도로의 많은 물체에는 도로 표지판과 같이 운전과 관련된 텍스트가 포함되어 있다. 구글의 콘텐츠 검색은 최첨단 광학 문자 인식 모델을 사용하여 장면에서 찾은 텍스트와 단어를 기반으로 운전 로그에 주석을 달아 도로 표지판, 긴급 차량 및 기타 자동차 및 트럭을 간판과 함께 읽을 수 있다.
이처럼 콘텐츠 검색을 사용하면 운전 기록에 수십억 개의 객체에 자동으로 주석을 달 수 있으며 라벨링을 위해 전송하는 데이터의 속도와 품질이 기하 급수적으로 향상되었다. 그리고 이 모든 라벨링 작업을 마친 웨이모는 연구용으로 공개했다.
분량조절 또 실패...
3편에서 계속
정보글 ㅊㅊ
저도 이런 다양한 분야에 많은 정보를 정리하는 능력이 있으면 좋겠어요! 좋은 글 감사합니다
와 추천이 한번밖에 안되는게 아쉽네 - dc App
항상 양질의 정보 감사합니다!