title: H-모빌리티 클래스 (H-Mobility Class) 3주차. 자율주행 자동차 인지 기술 심화
author:
name: JaeHo-YooN
link: https://github.com/dkssud8150
date: 2023-08-16 23:12:00 +0800
categories: [Classlog, h-mob]
tags: [h-모빌리티, autonomous]
toc: True
comments: True
math: true
mermaid: true
자율주행 자동차 인지 기술 심화
1. 자율주행 인지
1-1. 자율주행 통합 인지시스템 심화
- 자율주행 통합 인지시스템 구성
- 센서 : 카메라, 레이더, 라이다, 초음파
- 차량 네트워크 : 센서 데이터를 자율주행 컴퓨터로 가져오기 위한 통신 링크
- 자율주행 컴퓨터 : 범용 계산을 위한 CPU/GPU, 고속 딥러닝 계산을 위한 가속기
- 인지 소프트웨어 : 주변 환경을 인지하기 위한 소프트웨어
- 자율주행 통합 인지 기능
- 센서 데이터의 전처리 및 동기화
- 동적 객체 검출, 추적 / 의도 및 미래 위치 예측
- 주행 관련 정적 객체 검출 -\> 맵매칭 기반 측위에 활용
- 차선, 도로 등의 영역 검출 -\> 맵매칭 기반 측위에 활용
- 전방 영역 또는 장애물 등의 거리 지도 생성
- 센서별 인지 기술
- 카메라 기반의 인지 기술
- 주로 CNN등의 딥러닝 모델을 카메라 영상에 적용 -\> 동적 객체, 정적 객체 검출 및 추적 -\> 주변 차량, 보행자 경로 예측
- 카메라 영상 기반의 거리 추정을 하기 위해 딥러닝 기술 사용 또는 스테레오 카메라 사용을 통한 거리 파악
- 레이더 기반의 물체 검출
- 전자기파 신호 분석을 통한 조감도 영역에서 동적 객체 위치 및 속도 측정 -\> 물체 움직임 추적 및 물체 ID 부여
- 클러터로 인한 오탐률 존재 -\> 물체와 클러터를 구분하는 알고리즘 필요
- 라이다 기반의 물체 검출
- point cloud 3차원 데이터를 통한 동적 객체 위치 검출 및 추적
- 센서 융합 기반의 물체 검출
- 각 센서의 장단점을 보완하기 위한 복합 센서로부터 얻은 정보 융합 후 정확도 높은 인지 기능 수행
1-2. 자율주행 인지를 위한 AI 기술 심화
- AI 기술의 발전
- 1960 ~ 1990 년 : 뉴럴네트워크 모델에 대한 활발한 연구 진행, 이론적 기초 확립
- 1990 ~ 2010 년 : 인공지능의 암흑기
- 2008 년 : 토론토 대학의 Geoffrey Hinton 교수, 딥러닝 모델 학습이 가능성 발표
- 2012 년 : ImageNet Challange 에서 AlexNet 이라는 첫 딥러닝 구조가 압도적인 1위 차지
- 2012 년 ~ : 자율주행, 로봇, 스마트팩토리, 음성인식, 번역 등 다양한 분야에 적용
- 자율주행 인지를 위한 딥러닝
- 딥러닝 : 복잡한 입력과 출력과의 관계를 근사화하기 위한 모델
- 센서 데이터 처리를 위한 기본적인 딥러닝 모델
- CNN : 영상 데이터로부터 특징값을 추출하는 딥러닝 모델
- RNN : 시계열 데이터로부터 특징값을 추출하는 딥러닝 모델
- PointNet : point cloud 데이터로부터 특징값을 추출하는 딥러닝 모델
- 자율주행에서는 센서 데이터의 차수가 높고 복잡한 작업을 수행해야 하므로 파라미터 수가 많은 딥러닝 모델 사용
- 학습하기 위한 대용량의 학습 데이터 구축 필요
1-3. 자율주행 대규모 인지 데이터 관리 기술
- 자율주행 대규모 인지 데이터 관리 기술 개요
- 자율주행 인지를 위한 딥러닝 모델을 학습시키기 위해 대용량의 학습 데이터 필요
- 인공지능 기술의 성능은 데이터가 많을수록 성능 향상
- 지속적인 인지 기술 개선과 안전성 확보를 위해서는 반복적인 데이터 관리 프로세스를 수행하는 플랫폼 필요
- 대규모 인지 데이터 관리 기술 소개
- 자율주행 데이터 수집
- 데이터 선별 및 검증
- 데이터 라벨링에 너무 많은 시간이 소요되고, 도움이 되는 데이터만 선별해야 함
- 이때, 능동학습(Active learning) 이라는 기술을 사용하여 불확실성이 큰 데이터만을 라벨링하여 적은 수의 데이터만으로 학습 성능을 극대화시키는 전략
- 학습 진행
- 학습 시에는 큰 컴퓨팅 자원이 필요하므로 클라우드에서 전용 딥러닝 하드웨어를 사용함
- 딥러닝 구조 선정 및 최적의 하이퍼파라미터 선정
- 검증 및 테스트
- 실도로에서 또는 시뮬레이션에서 검증
- 실제 자율주행차에 추가적으로 탑재하여 섀도우 모드로 테스트 -\> 실제 제어를 하지는 않지만 인지가 어떻게 동작하는지 판단
- 탑재
- 검증이 된 자율주행 모델을 OTA를 통해 버전업
- 데이터 관리를 위한 플랫폼 구축
2. 카메라 기반 인지 기술 심화
2-1. 카메라 캘리브레이션 심화
- 카메라 캘리브레이션 개요
- 월드 좌표계의 3차원 점을 2차원 영상의 픽셀의 좌표로 변환하는 수학적 모델
- 핀홀 카메라 행렬 모델(P)은 내부 파라미터와 외부 파라미터 구성
- 카메라 캘리브레이션 : 월드 좌표계의 3차원 점과 대응하는 영상의 2차원 픽셀 좌표로의 변환 행렬 모델을 찾는 과정
- 카메라 캘리브레이션 과정
- 내부 파라미터 : 3차원 월드 좌표계에서 3차원 카메라 좌표계로 변환하는 과정을 표현
- 초점거리(focal length), 렌즈 왜곡(distortion), 영상 중심값(optical center), 이미지 센서(aspect ratio, skew factor)
- 외부 파라미터 : 3차원 카메라 좌표계에서 2차원 픽셀 좌표계로 변환하는 과정을 표현
- 3차원 월드 좌표계 -\> 3차원 카메라 좌표계 -\> 영상의 2차원 픽셀 좌표계
- 월드에서 카메라 좌표계로 변환할 때는 외부 파라미터가, 영상 좌표계로 변환할 때는 내부 파라미터가 사용된다. 대부분의 경우에는 이 변환식을 통합해서 사용하기도 한다.
- 실제 렌즈 카메라에서는 렌즈의 왜곡을 보정하기 위한 캘리브레이션이 수행되어야 함
- 캘리브레이션 캘리브레이션 과정에서는 체커보드와 같은 반복적인 패턴을 카메라로 여러 장의 영상을 찍어 3D 월드 좌표계와 2D 이미지 픽셀의 대응점들을 찾아 수행
2-2. 카메라 기반 물체 검출 딥러닝 기술 심화
- 카메라 기반 물체 검출 기술 개요
- 카메라 영상에서 단일 혹은 다중의 물체의 종류와 위치를 추정하는 기술
- CNN을 백본 네트워크로 사용하여 추상화된 특징 지도를 추출하고 각 원소마다 앵커 박스를 이용하여 이에 대한 상대 변위 추정 및 물체 분류 수행
- 1차 검출기 : 백본 네트워크를 통해 나오는 특징맵으로부터 검출 결과를 얻음(YOlo, SSD, REtinaNet)
- 2차 검출기 : 백본 네트워크를 통해 나오는 특징맵을 이용해 RPN을 이용해 물체의 존재 유무만을 판별한 뒤, 두번째 단계에서 그 영역의 특징값을 RoI pooling을 통해 추출하여 Refinement Network를 적용하여 최종 검출 결과 획득(RCNN Series)
- 카메라 기반 물체 검출 딥러닝 기술
- 물체 검출 딥러닝 모델의 트레이닝 과정
- 물체의 바운딩박스 라벨링이 되어 있는 트레이닝 데이터를 이용하여 손실함수를 최소가 되도록 종단간 (end-to-end) 학습 수행
- Back Propagation 이라는 방법을 이용해 손실함수의 지역적 최소값을 찾아감
- 학습해야 하는 파라미터 수에 비해 데이터의 수가 모자랄 때 데이터 증강(Augmentation) 기법 적용
- 물체 검출기 성능 평가 방법
- 정답 박스와 출력 사이에 겹치는 면적(IoU, Intersection over Union)을 기반으로 판별
- 겹치는 면적 비율이 0.5 이상이면 올바르게 검출했다고 판단
- 물체검출기의 성능은 mAP(mean Average Precision) 기준으로 판별
- precision-recall curve를 적분한 값이 mAP
- precision이란 물체라고 판단한 것 중 몇개나 맞았는지에 대한 지표
- recall이란 실제 물체인 것중 몇개를 참으로 판단했는지에 대한 지표
2-3. 카메라 기반 물체 추적 딥러닝 기술 심화
- 카메라 기반 물체 추적 딥러닝 기술 개요
- 물체 추적 기술은 각 비디오 프레임에서 얻어진 물체 검출 결과를 추가적으로 처리하는 과정
- 각 프레임에서 얻은 물체 검출 결과 연결(Association)
- 서로 인접한 프레임의 검출 결과를 같은 물체에 대해 연결하여 시간에 따른 물체의 움직임 추적
- 추적하는 물체에 대해 트랙 ID 부과
- 연결된 검출 결과의 필터링 및 예측
- 이전 프레임까지 추적하고 있는 물체 위치의 시퀀스인 트랙에 연결된 검출 결과를 추가하여 필터링 수행
- 다음 프레임에서의 검출 결과 연결에 활용하기 위해 다음 프레임에 해당하는 물체 위치 예측
- 과거에 딥러닝 모델은 대부분 물체 검출에만 사용되었으나 최근에는 물체 추적에도 활용
- 딥러닝 기반 미래의 물체 위치 예측
- 기존의 칼만필터보다 딥러닝 모델을 사용하여 다음 프레임에서의 물체 필터링 및 예측
- 딥러닝을 이용한 물체 검출 결과 사이의 유사도 측정
- 현재 물체 정보와 과거 물체 검출 결과를 딥러닝 네트워크를 통해 두 검출 결과의 유사성 판단
- 딥러닝의 입력으로 검출 결과에 해당하는 특징값 및 박스 좌표 등 사용 가능
- 카메라 기반 물체 추적 딥러닝 기술
- 물체 움직임 예측
- T-1 프레임에서의 객체가 T 프레임에서 얼마나 움직였을지, 즉 객체의 상대적인 변위를 딥러닝(CNN)을 통해 예측
- 추출된 특징값을 기반으로 T-1 프레임에서 T 프레임으로 갈 때 박스 좌표의 변화 추정
- T-1 프레임에서의 검출 결과와 T 프레임에서의 검출 결과를 연결해주기 위해 유사성을 판단할 때도 딥러닝(CNN)을 사용
- 유사성을 측정하기 위하여 두 쌍의 검출 결과를
Siamese network
라고 불리는 CNN 네트워크를 적용하여 0부터 1사이의 값으로 유사도 출력
- 모든 검출 결과 쌍에 대한 유사도를 테이블로 표현 가능
헝가리안 알고리즘
을 적용하여 최종적인 연결 결과를 얻어냄
2-4. 카메라 기반 차선, 도로 영역 검출 딥러닝 기술 심화
- 카메라 기반 영역 검출 기술 개요
- 자율주행 중 동적 객체 검출 및 차선, 도로, 횡단보도 등 형태가 분명하지 않는 객체에 대한 인식도 필요
- Semantic 영역 분할 : 카메라 영상 내에 있는 물체들을 의미 있는 단위로 분할하는 방법
- 픽셀 기준의 영역 분할과 개체 기준의 영역 분할 기술로 나누어짐
- 영역 분할은 영상 또는 물체를 이루는 각 픽셀이 어느 카테고리에 속하는지 분류하는 것
- Semantic 역역 분할 기술을 적용하여 픽셀 단위의 차선, 도로, 횡단보도 등의 검출 가능
- 카메라 영상에 CNN을 적용하여 특징값을 추출하고 각 픽셀의 카테고리를 판별
- 영상에서 특정 공간에서의 픽셀이 어떤 카테고리에 속하는지에 대한 추상적인 정보 추출 중요
- FCN : COnvolutional layers만을 적용하여 추상적인 공간 정보 생성
- U-Net, Deeplab : 인코더 디코더 구조를 사용하여 인코더 구조에서 CNN을 이용해 추상화된 특징 지도를 추출하고, 디코더 구조에서 Upsampling 또는 Deconvolution 과정을 통해 특징 지도의 크기 복원
- 딥러닝 기반 차선 검출
- 차선 정보는 주행을 위한 정보로 사용 및 고정밀 지도 기반의 맵매칭을 위해 사용
- 차선 정보가 중간에 소실되거나 보이지 않는 경우에도 신뢰성 있는 차선 정보를 제공할 수 있어야 함
- 기존에는 RANSAC과 같은 고전적인 비전 알고리즘 사용
- 최근에는 CNN 기반 차선 검출 방법의 활발한 연구
- FCN과 같이 카메라 영상에 Convolutional layers를 적용하여 차선에 대한 픽셀 별 특징값 추출
- 특징값들을 이용하여 차선에 대한 Curve fitting 수행
- 3차원에서의 도로 영역으로 Curve fitting한 결과를 투영하여 최종적인 차선 검출 결과 도출
- 딥러닝 기반 도로 검출
- 도로 검출 기술 : 안전 주행을 위한 도로 정보 제공 및 고정밀 지도에서의 측위를 위한 맵매칭에 사용
- Semantic 영역 분할을 적용하여 운전 가능한 도로 영역 검출
3. 레이더 센서 기술 심화
3-1. 차세대 레이더 센서 기술 소개
- 차세대 레이더 센서 기술의 필요성
- 기존 레이더 센서
- 장점
- 전자기파의 특성으로 인해 주변의 환경 변화에 강인함 -\> 자율주행에서 중요하게 적용
- 저렴한 가격으로 정확한 거리 정보 획득 가능
- 단점
- 횡방향의 해상도가 높지 않음
- 주변 장애물에 의한 반사로 인해 발생하는 클러터 현상 -\> 오탐률이 다른 센서에 비해 높음
- 차세대 레이더 센서 개발의 필요성
- 고해상도의 라이다 센서를 사용하면 레이더 센서의 단점이 극복되지만, 가격이 높음
- 3단계 조건부 자율주행에서는 고가의 라이다를 장착하기 부담스러움
- 문제점을 해결하기 위한 두가지 전략
- 레이더의 해상도 및 성능 개선
- 라이다의 비용 절감
- 차세대 레이더 센서 기술
- 고해상도 레이더
- 많은 수의 배열 안테나를 수직, 수평 방향으로 장착하는 MIMO(Multi-Input MUlti-Output) 기술 사용
- 4D 이미지 레이더 : 물체에 대한 4차원 정보(3차원 정보와 속도)를 포인트 클라우드 형태로 제공
- 기존 저해상도 레이더는 물체의 검출 결과 및 신호를 조감도 영역에서만 표현하는 한계 존재
- 고해상도 레이더는 라이다 정보의 높은 해상도는 아니지만, 기존 레이더의 단점 극복 가능
- 저렴한 가격과 물체의 속도 정보 제공
- 차세대 레이더 기술(MIMO) 연구 이슈
- 안테나 원소들의 배열 및 배치, 설계 기술
- Multi dimension의 신호를 효과적으로 처리하기 위한 고속 신호처리 기술
- 배열 안테나를 작게 구현할 수 있는 소형화 기술
- 고해상도 카메라와의 센서 융합 기술
- 포인트 클라우드 형식의 데이터를 활용한 딥러닝 기반의 고성능 인지기술 개발
3-2. 레이더 기반 인지를 위한 딥러닝 기술 심화
- 레이더 센서 기반 인지 기술
- 기존에는 대부분 각 레이더 제조업체마다 고유의 인지를 위한 신호처리 기술에 대한 솔루션을 갖고 있음
- 최근에 고해상도 레이더가 개발되면서 딥러닝 기술을 이용한 인지기술 연구
- 딥러닝을 이용한 카메라와 레이더와의 센서융합 기술 중요
- 레이더 : 거리 측정 정확, 환경 영향 다소 적으나 클러터로 인한 오탐률 높음
- 카메라 : 해상도가 높고, 물체 검출 성능 뛰어나나 거리 측정 부정확, 환경 영향 많이 받음
- 두 센서를 융합하여 서로의 단점 보완 연구 진행
- 레이더 센서 기반 딥러닝 기술
- 물체 검출을 위해 딥러닝을 적용하는 두 가지 접근 방법
- 거리-도플러 영상을 기반으로 한 2차원 물체 검출
- 포인트 클라우드 데이터를 이용한 3차원 물체 검출
- 레이더 센서 기반 인지 연구를 위한 데이터셋
- nuScenes
- 1대 32채널 라이다, 5대의 레이더, 6대 카메라, IMU, GPS 센서
- Continental ARS 레이더 사용 (77GHz 장거리, FMCW 방식)
- 1000개 종류의 배경에서 140만 장의 카메라 영상과 레이더 데이터 제공
- 23개 종류의 물체에 대한 3차원 박스가 라벨링 되어 있음
- 0.5초마다 6.5번의 레이더 스캐닝을 누적해서 포인트 클라우드 데이터 제공
- ASTYX HiRES2019
- Astyx레이더, 2048 x 618 Point Grey 카메라, 벨로다인 16채널 라이다
- 6개 종류의 물체에 대한 3차원 박스 라벨링 제공
- 딥러닝 기반 3차원 물체 검출 기술
- 복셀 기반의 방법 : 3차원 영역을 작은 복셀 구조로 나누어 복셀 안의 포인트 데이터로부터 특징값 추출 후 3차원 CNN을 적용하여 물체 검출
- 2차원 투명기반의 방법 : 포인트 데이터를 전방 또는 조감도 영역의 다양한 영역으로 투영 후 2차원 CNN 모델을 적용하여 물체 검출
- 포인트넷 기반의 방법 : 포인트 클라우드 데이터를 직접 처리할 수 있는 포인트넷으로 물체 검출
- 카메라, 레이더 센서 융합 방법
- 카메라를 위주로 하여 물체 검출을 한 후 레이더 정보를 추가로 가져와서 거리 추정
- 카메라 영상과 레이더 센서로부터 딥러닝 모델을 적용해서 각각의 특징값을 추출한 후 직접 결합하고 추가적인 딥러닝을 적용해서 물체 검출 -\> 센서 융합에 의한 높은 성능 개선 가능
4. 라이다 센서 기술 심화
4-1. 라이다 센서 심화
- 라이다 센서 개요
- 물체 주변에 고출력 레이저를 송수신 -\> 지연시간을 측정하여 거리 추정
- 주변 환경에 대한 3차원 정밀한 스캐닝 작업 수행
- 습도에 대한 강인성을 높이기 위해 1550nm 파장의 광원을 사용하는 라이다 개발 중
- 라이다 센서 종류
- 기계식 라이다 : 전기 모터를 사용하여 기계식으로 360도 회전하여 탐지
- 솔리드 스테이트 라이다 : optical phased array라고 불리는 배열 안테나 구조를 사용하여 회전 없이 배열 안테나 조절, 위상 조절을 통해 특정 방향으로 레이저 발사 및 송신
- MEMS 라이다 : MEMS 기술을 이용하여 반사 거울을 전자식으로 제어해서 넓은 영역 스캐닝
- 라이다 센서 데이터 기반 인지
- 라이다 센서 데이터는 물체 표면을 나타내는 3차원 점의 집합이 포인트 클라우드로 표현
- 최근 라이다 포인트 클라우드 데이터를 처리하여 물체 검출 및 환경 인하는 딥러닝 기법 활발히 연구
- 라이다 기반 인지에서는 포인트 클라우드 데이터를 처리하여 3차원 환경 정보를 얻어냄
- 3차원 동적물체, 정적물체 검출, 추적
- 차량 전방 등의 환경에 대한 거리 측정
- 고정밀 지도 생성 및 맵매칭 기반 측위
- 2012년에 공개된 KITTI 데이터셋을 시작으로 다양한 데이터셋 공개
- 제품 개발이나 상용화된 알고리즘을 만들기 위해서는 자체적인 데이터셋 수집 필요
4-2. 라이다 기반 3차원 물체 검출 딥러닝 기술 심화
- 라이다 기반 3차원 물체 검출 기술 개요
- 3차원 물체 검출 : 물체의 3차원 위치 정보 제공
- 3차원 물체 검출의 출력 형태
- 3차원 바운딩 박스 형태로 제공 : 3차원 박스 형태의 좌표 및 (x,y) 축의 화전 강고 제공
- 조감도 영역에서의 2차원 박스 형태로 제공 : 박스 회전 각도 제공
- 자율주행 경로 계획 및 판단 시 정확한 3차원 동적 객체의 위치 정보 제공
- 카메라와 달리 라이다는 3차원 측정 정보를 제공하기 때문에 정확한 3차원 물체 검출 가능
- 라이다를 사용한 3차원 물체의 검출 원리
- point cloud 데이터는 2차원 배열로 이루어진 데이터와 다른 구조를 가지고 있어 기존의 CNN 구조를 이용하기에 적합하지 않음
- point cloud 데이터로부터 특징값을 추출한 후 특징값을 이용해서 물체의 검출을 해야 함
- 라이다 기반 3차원 물체 검출 기술
- 2차원 평면 투영 방법
- 포인트들을 전방 또는 조감도 영역으로 직접 투영하여 새로운 2차원 데이터를 만들어냄
- 양자화로 인한 성능 저하 때문에 최근에는 많이 사용되지는 않음
- Voxel 기반 표현 방법
- 3차원 공간을 작은 복셀로 나눈 후에 각 복셀에 들어있는 포인트들을 포인트넷을 적용하여 인코딩
- 인베딩 벡터(3차원 복셀 구조안에 인코딩된 벡터)가 포함되어 있는 형태로 포인트 클라우드를 표현
- Point cloud 사용 방법
- point cloud 집합에 pointNet(딥러닝)을 적용
- 배경에 해당하는 점들과 물체에 대한 점 분리
- 물체에 해당하는 점들을 선택해내서 물체에 대한 특징값 추출
- 복잡도가 높지만 정보의 손실 없이 모든 point cloud 데이터를 이용하여 정확한 검출 가능
- 라이다 기반 3차원 물체 검출 기술 사례
- Voxel 기반의 방법 사례 : 세컨드, 포인트필라
- 복셀 구조를 기반으로 point cloud 데이터를 인코딩한 뒤 3차원 CNN 라는 구조를 적용해서 조감도 영역에서의 특징 지도 추출
- 조감도 영역에서의 특징 지도를 기반으로 3차원 박스 검출
- point cloud 기반의 방법 사례 : 포인트 RCNN
- one stage : 물체에 해당하는 점들을 구분하는 동시에 물체의 대략적인 위치 검출
- two stage : 물체의 대략적인 위치에 해당하는 점들을 구분한 후 물체 다시 검출하여 정확도 향상
- Voxel과 pointNet의 혼합방법 사례 : PV-RCNN
- Voxel 기반의 방법과 pointNet 기반의 방법을 혼합하여 라이다 데이터의 풍부한 표현방식 제공
4-3. 라이다 기반 3차원 물체 추적 딥러닝 기술 심화
4-4. 3차원 물체 검출/추적 통합 기술 심화
5. 센서융합 딥러닝 기술 심화
5-1. 카메라, 레이더 센서융합 딥러닝 기술 심화
5-2. 카메라 라이다 센서융합 딥러닝 기술 심화