@아이티고 딥러닝 CV 강의 수강 후https://itgo.kr/class/class_detail.asp?c_code=la_L110113
컴퓨터 비전이란, 컴퓨터 분야에서 시각을 연구하는 분야.
AI > ML > DL
AI : 인공적으로 구현한 컴퓨터 프로그램 또는 컴퓨터 시스템
ML : 경험을 통해 자동으로 개선하는 컴퓨터
DL : 여러 비선형 변환기법(예시.인공신경망)의 조합을 통해 높은 수준의 추상화를 시도하는 기계학습 알고리즘의 집합
컴퓨터 비전의 응용분야 - 이미지 처리, Robotics, NLP, optics, ML
- 물체 인식 bounding box. ex)자율주행자동차, 무인 편의
- OCR - NLP와의 결합
- Face Recognition
[ 컴퓨터 비전 ]
Computer vision 에서의 Task
Classification : 이미지 한 장에 대해서 종류를 예측 하는 것. 현재까지도 정확도가 가장 좋은 방법
- CNN모델을 중첩해서 사용하거나 응용하여 모델을 구성.
- LeNet, AlexNet, GoogleNet, ResNet, VGG 모델이 대표적임.
Semantic Segmentation ->뒷 내용에서 좀 더 알아보자
Segmentation : 모든 픽셀의 label을 예측하는 Task
- 한장의 이미지에서 대상을 구체적으로 정의하지 않고, 큰 분류로 구분
- DeepLabV3, FCN, LRASPP 모델이 대표적임.

Instance Segmentation : Semantic segmentation과 다르게 각각의 객체를 인식('사람'으로 인식하는게 아니라 사람 이름으로 따로 따로 인식이 가능) ->뒷 내용에서 좀 더 알아보자
- Mask R-CNN 모델이 대표적

Object Detection : 하나의 이미지에서 사물을 탐지하는 모델
- 이미지 입력에서 사물의 위치와 사물의 종류를 동시에 예측
- 탐지 방법에 따라 One-stage detection( 모델 - SSD), Two-stage detection(모델 - Faster R-CNN)
Motion analysis
keypoint analysis : 사물의 특정위치를 학습하여 행동을 예측하거나 분석하는 CV기술 (대표 모델 keypoint R-CNN)

Image reconstruction
GAN : 생성적 적대 신경망.
- 대표적 모델 : DCGAN, BEGAN, StarGAN
[ Classification - ResNet ]
Q. Deeper layer 어떻게 해야할까(Network의 depth가 깊어지면서 vanishing, exploding gradient problem 발생)
A. Weight initialization과 Batch Normalization 을 사용
- Weight initialization
- 레이어의 가중치를 적절하게 초기화하여 학습을 시작할 때 올바른 방향으로 출발할 수 있도록 함.
- Xavier초기화 : ReLu에 사용
- He초기화 : tanh/sigmoid에 사용
- Batch Normalization
- 각 layer의 input distribution이 일정하지 않은 현상을 예방하기 위하여 수행.
- 각 미니배치의 활성화 값을 정규화하여 네트워크의 학습을 안정화하고 속도를 향상시킴
- 각 배치마다 레이어의 입력 또는 출력값의 batch 평균과 batch standard deviation을 통해 정규화를 수행하는 것 ->이를 통해 학습 signal을 비교적 균일하게 적용하여 batch간 학습 차이를 줄일 수 있음
- 생성 동기
- 딥러닝 모델을 깊게 쌓을 때의 정확도 저하 문제. 오버피팅이 아닌 오히려 기울기소실에 의해 발생하는 문제
- layer가 깊어짐에 따라 신호가 사라지지 않게 정보를 추가해주는 작업이 필요
- 딥러닝 모델을 깊게 쌓을 때의 정확도 저하 문제. 오버피팅이 아닌 오히려 기울기소실에 의해 발생하는 문제

- skip connection
- 입력데이터를 합성곱 계층을 건너뛰어 출력에 바로 더하는 구조
- 합성곱 계층을 2개 층마다 건너뛰면서 층을 깊게 함
[ Semantic Segmentation]
대표적 모델 : FCN(Fully Convolutional Network)
- 기존 CNN의 문제점 : 입력이미지의 정보를 잃는 문제가 발생.(Fully connected에서 피쳐 맵들을 납작하게 만든 후 output으로 출력 ->이때 위치 정보가 손실됨. )
- FCN은 입력 이미지의 공간적인 구조를 보존하면서 픽셀 수준에서 예측 가능

- 컨볼루션 구조
- Fully connected layer(파라미터의 대부분 차지)를 제거하고 컨볼루션 레이어로만 구성
- 연산량 및 파라미터 감소
- Fully connected layer를 conv연산으로 변경. conv로 바꾸면서 upsamplig을 위한 작업이 필요해짐
- Fully connected layer(파라미터의 대부분 차지)를 제거하고 컨볼루션 레이어로만 구성

- 업샘플링과 stride 활용
- 인코더, 디코더의 역할을 수행하여 저차원의 정보를 고차원으로 변경해주는 작업 (저사양=압축이 많이 된)
- 피처 맵을 입력 이미지와 동일한 해상도로 복원하는 작업
- skip connection
- 특정 컨볼루션 레이어의 출력에 상응하는 업샘플링 레이어에 연결하여 고해상도 세그멘테이션 맵을 생성
- 고수준 특징과 저수준 특징을 모두 사용 가능하도록 구성
[ Instance Segmentation]
대표적 모델 : Mask R-CNN
- 객체의 위치, 클래스 레이블, 객체에 대한 픽셀 수준의 마스크를 동시에 예측
- Faster R-CNN을 기반으로 개발된 객체 탐지와 인스턴스 세그멘테이션을 수행하는 모델
- 주요 특징
- Region Proposal Network
- RPN을 통해 후보 영역 생성
- ROI Align
- 픽셀 정렬을 수행해서 세밀한 인스턴스 segmentation을 가능하게 함
- 픽셀의 경계선에서 올림 연산을 수행하여 경계를 결정했지만, 픽셀 수준의 예측에서는 정보 손실이 발생함. 따라서 Bilinear interpolation을 통해 공백 정보 채워 넣음
- Mask Head
- 객체탐지 + 바운딩박스예측 + MaskHead(마스크 예측을 수행하기 위함)
- Region Proposal Network

'딥러닝(, 머신러닝)' 카테고리의 다른 글
| DACON - 반도체 소자 이상 탐지 AI경진대회 (0) | 2024.03.04 |
|---|---|
| 2024.02.24 BITAmin동계플젝(YOLOv8, ResNet50) - DNN을 활용한 영화 인사이드 아웃 캐릭터 emotion 분석 (0) | 2024.02.27 |
| CNN (합성곱 신경망) (0) | 2024.02.19 |
| LLM모델 (0) | 2024.02.09 |
| 경사하강법과 최적화 알고리즘 (2) | 2024.02.05 |