얼레벌레

[9주차] CV (Computer Vision) 본문

취업/KT AIVLE SCHOOL

[9주차] CV (Computer Vision)

__Lucie__ 2022. 10. 3. 18:17
1, 2일차 CNN
3, 4, 5일차 Object Detection

 

CNN

keras, tensorflow를 활용한 CNN 모델링을 진행했다.

CNN은 공간 구조 특성을 잘 반영하는 특징이 있는데, 이 특징은 CV에 매우 유용한 특징이다.

(이미지는 기본적으로 3차원 구조인데, 이 구조를 살려서 특징 추출 가능)

그래서 CNN 구조가 제안된 시점부터 지금까지도 CV 분야에서는 CNN 구조를 많이 쓴다고 한다.

 

keras와 tensorflow

keras가 tensorflow 위에서 동작하는 라이브러리인데,

tensorflow는 머신러닝 프레임워크이다.

이 중에서도 Conv2D, Maxpool2d, BatchNorm, Dropout 등의 함수와, 이에 들어가는 argument들, 각 layer에서의 작동 원리에 대해서 배웠다.

  • Conv2D
    • filters(결과로 뽑을 feature map의 개수)
    • kernel_size (사용할 커널의 크기)
    • strides (얼마나 상세히/대충 훑을건지)
    • padding(외곽 정보를 살릴건지), 등등
  • Maxpool2d
    • pool_size (커널 윈도우 크기)
    • strides (얼마나 상세히/대충 훑을건지)
    • padding(외곽정보 살릴건지)

보통 convolution layer는 특징 추출을 위해, pooling layer는 보통 downsampling(가로 세로 size 줄이기, 근본적 목적은 연산량 줄이기)을 위해 사용됨

 

 

Object Detection

object detection은 classification + localization

 

localization

bounding box로 위치 찾기

bounding box의 구성 요소 : x, y, w, h 인데, 

예측 x, y, w, h를 원래 x, y, w, h로 gradient descent를 통해 근접시키는 것

이를 "bounding box regression"이라고 함.

 

classification

그 object의 클래스까지 알아내기

multi-class classification임

 

object detection을 하기 위해서

backbone과 head가 필요함.

backbone은 imagenet에서 pretrain된 모델 (왜? 많은 양의 이미지로 훈련된 모델의 CNN 구조를 끌어다 씀 - 위치 정보를 보존하여 feature represent)

그리고 head는 우리에게 맞는 분류 모델을 위함.

pretrained model + custom data

이를 위해서 'yaml' 작성법을 배웠었음!!

'취업 > KT AIVLE SCHOOL' 카테고리의 다른 글

[11주차] 미니프로젝트 4차  (0) 2022.11.17
[10주차] 미니프로젝트 3차 & NLP  (0) 2022.10.28
[8주차] 딥러닝  (1) 2022.09.22
[7주차] 에이블데이  (1) 2022.09.12
[7주차] AI 모델 해석 및 평가  (0) 2022.09.12