Deep Learning for Point Cloud
2주차) 딥러닝 모델에 대해 공부하기
딥러닝 입문이므로, 개념 위주로 공부하려고 한다.
딥러닝이란❔
딥러닝(Deep learning)은 인공지능(AI) 분야의 기술로, 컴퓨터가 인간의 뇌를 본떠서 학습하고 데이터를 처리하는 기술이다.
딥러닝은 머신 러닝의 한 분야로, 심층 신경망 알고리즘을 사용한다.
대량의 데이터를 처리할 수 있어 성능을 개선할 수 있다.
연속된 층(layer)에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있다.
딥러닝의 작동 방식
1. 학습 과정 동안 인공 신경망으로서 예시 데이터에서 얻은 일반적인 규칙을 독립적으로 구축(훈련)
2. 피드백 신호를 사용하여 현재 샘플의 손실 점수가 감소되는 방향으로 가중치 값을 조금씩 수정
3. 이 수정 과정은 역전파(Backpropagation) 알고리즘을 구현한 옵티마이저(optimizer)가 담당
딥러닝의 활용
오늘날 우리 삶의 대부분의 인공 지능(AI) 애플리케이션을 강화한다.
딥러닝 종류 및 비교
1. CNN (Convolutional Neural Network)
- 특징: 이미지 및 공간 데이터 처리에 특화된 신경망
- 구조: 합성곱(Convolution) 계층, 풀링(Pooling) 계층, 완전 연결(Fully Connected) 계층
- 활용: 이미지 분류, 객체 검출, 세분화(Segmentation), 의료 영상 분석
2. RNN (Recurrent Neural Network)
- 특징: 순차적 데이터(시간적 의존성이 있는 데이터)를 처리하는 데 강점
- 구조: 순환(recurrent) 구조로 인해 과거 정보를 메모리 셀에 저장하여 활용
- 문제점: 기울기 소실(Vanishing Gradient) 문제 발생 가능 → LSTM, GRU로 보완
- 활용: 자연어 처리(NLP), 음성 인식, 시계열 데이터 분석
3. GAN (Generative Adversarial Network)
- 특징: 생성 모델로, 데이터 생성에 특화됨 (생성자(Generator)와 판별자(Discriminator)의 대결 구조)
- 구조:
- 생성자(Generator): 가짜 데이터를 생성
- 판별자(Discriminator): 데이터가 진짜인지 가짜인지 판별
- 활용: 이미지 생성, 스타일 변환(Style Transfer), 데이터 증강, 3D 모델 생성
Core Backbone Architectures (기본적인 딥러닝 모델 아키텍처 및 확장 모델)
1. 기본 (Core)
PointNet & PointNet++ (3D 점 데이터를 바로 읽는 AI)
- 특징: Point Cloud(점 구름) 데이터 처리에 특화된 모델
- PointNet: 개별 포인트를 독립적으로 처리
- PointNet++: 지역적 특징을 고려하여 계층적으로 Point Cloud를 처리
PointNet은 PointCloud 데이터를 Voxel grid 형태로 만들지 않고, PointCloud 형태에서 바로 feature extraction을 하는 모델이다. 건물, 자동차 등의 3D 데이터를 직접 분석하는 모델이다.
Dynamic Graph CNN (DGCNN) (점과 점을 연결해 이해하는 AI)
- 특징: 동적 그래프 구조를 활용하여 Point Cloud 간의 관계를 학습
- 활용: 3D 형태 인식, 부분 분할(Segmentation)
점과 점 사이의 관계를 분석하여 더 정확한 3D 인식 가능
2. 확장 (Advanced Architectures)
Point Transformer (Transformer 방식으로 3D 분석)
- 특징: Transformer 모델을 활용하여 Point Cloud에서 장거리 의존성(Long-range dependencies) 학습
챗GPT의 원리와 비슷하게 3D 데이터를 더 똑똑하게 처리
KPConv (Kernel Point Convolution)
- 특징: 합성곱 연산을 Point Cloud에서 효율적으로 수행하기 위한 구조
Point Cloud Matching (포인트 클라우드 정합)
RPM-Net (Robust Point Matching Network)
- 특징: 두 개의 Point Cloud 간의 매칭을 학습하여 정합 수행
PointNetVLAD
- 특징: Place Recognition을 위한 Point Cloud 기반 네트워크
- 활용: 자율 주행에서 위치 인식
3D Object Detection (3D 객체 탐지)
Voxel 기반
- VoxelNet: Point Cloud 데이터를 3D Voxel로 변환하여 CNN 적용
-> 3D 공간을 큐브(블록)로 쪼개서 분석
Pillar 기반
- PointPillars: Voxel이 아닌 2D Pillar 구조를 활용하여 빠른 연산 수행
-> 3D 데이터를 2D 기둥 형태로 변환해서 빠르게 분석
Point 기반
- Point R-CNN: 3D 객체 감지를 위한 R-CNN 기반 모델
Voxel + Point 기반
- PV-RCNN / PV-RCNN++: Voxel과 Point를 결합하여 정확도 향상
-> 블록과 점을 함께 사용해 정확도 높임
기타 (이 기술들은 자율주행, 드론, 3D 스캐닝 등에 활용됨)
- Complex-YOLO: YOLO 구조를 3D 객체 감지에 적용
- CenterPoint: 중심 포인트 기반 탐지 알고리즘
- BEVFusion (Bird’s Eye View Fusion): 카메라와 LiDAR 데이터를 융합하여 3D 객체 탐지 수행 (카메라 + 라이다 데이터를 합쳐서 더 똑똑한 탐지)
주말 목표 : 파이썬 문법 익히기 & 딥러닝 기초 강의 보기
라이다슬램
loam->lego loam->lio-sam->fast-lio->fast-lio2
-> 어떤 분야에서 어떻게 활용될수있을까❔
보안 분야
항만 분야
컨테이너에 얼마나 적재되어있는지, 크레인과의 거리 측정❔