자율주행 기반 쌓기
autonomous driving, lidar, camera
자율주행을 이해하기 위한 기본적인 지식과 더불어, 카메라 기반의 자율주행을 주장하는 테슬라의 기술을 간단하게 살펴본다.
자율주행에서의 waymo와 tesla
- 자율주행에서의 waymo와 tesla
- AI for Full-Self Driving at Tesla
- Tesla의 Fleet Learning
- Andrej Karpathy(Tesla) CVPR 2021 Workshop on Autonomous Vehicles
컨셉 차이 - 어떤 센서를 메인으로 사용하는지?
- waymo: 라이다
- 정밀 지도가 있어야 운행 가능 → 제한된 지역에서만 주행4단계
- 라이다는 가격이 비쌈
- 라이다 센서로 주의 환경을 미리 매핑(고해상도 지도 HD map) - 차량 360도 주변의 거리 검색 → 포인트 클라우드 생성
- tesla: 카메라 (전방 레이더 & 12개의 초음파 센서 → 거리 측정)
- 더 저렴함 (waymo와 대략 3배 차이)
- occlusion이나 날씨로 인해 발생하는 문제 → 레이더 이용
- 단점: 실제 차에서 동작할 때 power가 많이 들어감, 특히 8개의 카메라, 문제 발생 시 새로운 데이터 이용하여 재학습 하는 방식
- 영상 데이터 기반; dl 학습 완료하는 데에는 꽤 복잡하지만, 학습 완료 → 비슷한 환경에서는 자율주행 가능 → 범용적으로 낮은주행단계
- 전 세계 곳곳에 서비스 제공 가능, 어느 지역에서든 일반화 가능
AI for Full-Self Driving at Tesla
- 테슬라의 오토파일럿: NoA(Navigation on Autopilot)
- Smart Summon: 주차되어 있는 자동차를 나의 위치까지 호출하는 기능
- SLAM 기술통해 실시간 지도 그려서 본 기능 대응
- 컴퓨터 비전 기반의 테슬라 방식
- 웨이보; lidar point cloud - 라이다가 인식한 물체의 좌표들을 점의 형태로 나타낸 것, 자차의 현재 위치를 찾는 localize문제 해결 가능
- nn의 역할
- 자율주행, 디스플레이에 표시하여 사용자에게 보여주기 위함
- fleet으로부터 corner case(까다로운,특이한 케이스)에 해당하는 이미지 획득
- data engine process를 계속 반복하면서 데이터 구축
- 학습 후, OTA(Over The Air)로 학습결과 배포
Tesla의 Fleet Learning
- fleet: 전 세계에서 양산되어 돌아다니고 있는 테슬라 차량
- fleet learning: 전 세계의 고객 차량으로부터 수집한 데이터 이용 → 딥러닝 학습 진행
- 데이터셋 조건 3가지
- large dataset, varied dataset, real dataset(실제 도로 (낮, 밤, 공사 현장 등) 환경의 데이터)
- fleet learning process
train: 기존 보유중인 dataset → dnn
- deploy: 학습 완료된 dnn 네트워크를 무선네트워크인 OTA를 통해 자동으로 업데이트
- 고객 차량에서 쉐도우 모드로 사용할 nn배포
- inaccuracy: auto pilot, FSD와 같은 자율주행 기능 사용하는 중,
- 내부 시스템적으로 인식이 잘 안된다고 판단
- 고객이 시스템을 끄고 중간에 개입한다고 판단 → 그 상황의 이미지 → Unit Tests로 전송
- 뉴럴넷의 부정확성을 찾아내는 도구필요(221개의 트리거) → 네트워크가 잘못 동작하는 시나리오 확인 가능
- Unit Tests: 이렇게 전송된 데이터는 테슬라 내부적으로 확인
- 실제 인식이 잘 안된 데이터인지
- 플리들로부터 확보해야 하는 데이터인지
- boost: fleet들로부터 더 수집해야 하는 데이터로 판단 → 고객들로부터 익명으로 데이터 수집
- label: 취득한 다양한 데이터 → 라벨링 → 데이터셋에 추가
- Shadow 모드
- 데이터 자동화 수집
- 각 fleet에서 테스트 한 후, 필요한 데이터 → 테슬라 서버로 업로드
- e.g. 데이터 추가 수집이 필요한 ‘끼어들기 상황(cut-in)’일때, fleet내부적으로 동작하는 logic이 끼어들기 정확히 예측 → o
- 예측과 틀린경우 → 데이터 테슬라 팀으로 전달
- 난폭한 운전자가 아닌 정상 운전자라고 판단되는 사용자에 한해, 데이터 수집
Andrej Karpathy(Tesla) CVPR 2021 Workshop on Autonomous Vehicles
vision만을 이용해 어떻게 테슬라에서 자율주행을 하는가?
vision만으로도 자율주행 가능 & vision의 성능을 향상하기 위한 데이터 구축 방법
- meat computer(사람) vs. silicon computer(컴퓨터)
- 테슬라에서 제공하는 자율주행 시스템
- AEB(Autonomous Emergency Braking 긴급제동)
- Traffic Control Warning
- PMM(Pedal Misapplication Mitigation 운전자 페달 오조작 완화)
- 테슬라에서 사용하는 센서 현황
- 카메라, 초음파 센서, 오도메터리 센서, GPS
- 8대의 카메라: 전방3개, 측방2개, 후측방2개, 후방1개
- nn을 통해 사람의 인식과 비슷하게끔 물체의 범위 및 깊이를 예측함
- 데이터 수집 조건
- large: 수백만개의 비디오 데이터
- clean: 질 좋게 labeling 되어야 함, 물체 인식할 때 필요한 depth, velocity, acceleration등이 포함되어야 함
- diverse: 일반적인 상황의 데이터 뿐만 아니라, 예외적인 상황까지 포함되어야 함
- 데이터 수집의 자동화; data auto labelling
- 별도의 nn이 동작; 이 뉴럴넷의 예측을 통해 데이터 라벨링을 부분적으로 자동화 o
- 별도로 고객 차량에서 data auto labelling 수행; 쉐도우 모드
- but, 무분별한 데이터 수집 방지를 위해: 221개의 trigger를 사용 - 만족할 때 수집하는 방식
- 테슬라에서 레이더를 포함한 센서 퓨전의 결과 vs. 비전만을 이용한 결과 레이더를 사용하지 않게 된 이유 (레이더가 해상도가 작아서 생기는 문제)
- 감속이 심하게 발생 → 물체를 추적하는 tracker의 끊김 발생
- 수직 방향의 해상도가 좁음 → 물체 오인식
- 고속 상황에서 정차된 차량 인식률 ↓
Continue with AI Day 01
해당 포스트는 아래를 참고하여 작성되었습니다.