일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 미니프로젝트
- kt에이블스쿨
- 코딩
- Queue
- 코딩테스트
- map
- 개인정보수집유효기간
- 프로그래머스
- 알고리즘
- 코테
- Ai
- 파이썬
- 코테공부
- 크롤링
- 머신러닝
- C++
- 데이터전처리
- 취준
- 백준
- dfs
- 스터디
- 코테연습
- BFS
- 코테준비
- 음수와 size 비교
- 에이블스쿨
- 상어중학교
- 모델링
- python
- 21609
- Today
- Total
얼레벌레
[9주차] CV (Computer Vision) 본문
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 |