2023. 3. 26. 23:26ㆍKT 에이블 스쿨
[7주차] 시각지능 딥러닝
5주차에 딥러닝 강의를 해주신 강사님이 다시 한번 수업을 맡아주셨다!
근데 이번이 마지막 수업이라고 하셔서 너무 아쉬웠던 ㅠㅠ,,
시각지능(computer vision)과 CNN
CNN(Convolutional Neural Network)은 이미지 분류같은 computer vision에 적합한 네트워크를 가지고 있어서 많이 사용한다. CNN은 이미지/ 비디오 같은 시각 데이터를 입력으로 받으면 특징을 추출해 데이터를 분류할 수 있는 기술이다.
CNN은 기본적으로 Convolution / Pooling 레이어를 가진다.
Convoluton는 이미지의 특징을 추출하는 역할을 하며, Pooling 레이어는 이미지의 크기를 줄이면서 특징을 요약하는 것
Convolution Layer
- Feature MAP 추출하는 레이어
- filter 수 : 추출하려는 Feature 맵의 수
- filter 크기
- stride : filter가 얼마나 촘촘히 훑을 것 인가.
- padding : filter가 훑기 전에 상하좌우로 픽셀을 덧붙임
padding =’same’ & padding =’valid’
- padding =’same’ : 주변을 0으로 채운 패딩을 사용해 이미지 크기가 줄어들지 않게 하는 옵션
입력 이미지의 외곽 부분도 특징 추출에 활용할 수 있기 때문에, 이미지 외곽의 정보를 유지하면서도 특징 맵의 크기를 보존하는 것. 따라서 입력 이미지의 크기가 중요한 정보를 담고 있거나, 이미지 외곽 부분이 중요한 경우에 사용한다.
- padding =’valid’ : 주변을 채우지 않아 이미지 크기가 줄어들게 하는 옵션
입력 이미지의 외곽 부분을 제외하고 특징을 추출한다.
따라서 입력 이미지의 외곽 부분이 중요하지 않거나, 이미지 크기가 큰 경우에 사용한다. (연산량이 줄어들어 효율적인 모델을 만들기 가능)
pooling (subsampling)
- 특징을 요약하고 연산량, 사이즈를 줄이는 레이어
- MaxPooling 과 AvgPooling 방식 있음
- MaxPooling : 가장 큰 값을 추출함. => 이미지의 가장 강한 특징을 추출
- AvgPooling : 평균 값을 추출함
- 이미지 분류에는 강한 특징을 뽑는 MaxPooling이 적합함
- filter 크기 , strides
- pooling 레이어는 패딩 옵션 없음
- depth에 관여하지 않음
Data Augmentation
- 우리가 마주한 문제는 많은 양의 데이터를 수집하기 어려울 수 있다. 이때 사용하는 데이터 증강 기법.
- 적은 데이터를 가지고 데이터를 변형 시켜 데이터 양을 늘리는 것
- 회전, 이동, 확대/축소, 기울이기 등등 여러 옵션을 사용하여 데이터를 변형 시킴
Object Detection
Object Detection : localization + classification
- localization : 객체가 이미지 상에서 어느 위치에 있는지 추출 (Bounding Box)
- classification : 객체가 무엇인지 객체의 클래스를 분류하여 예측함
IoU - Object Detetion 에서의 평가 지표
- 실제값과 예측값의 영역의 일치 정도
- 0~ 1값 가짐 . 1에 가까울 수록 높은 성능
NMS (Non Maximum Suppression)
- bounding box가 여러개 겹쳐 있을 수 있음, 이때 중복된 bounding box 를 제거하는 기법
- 예측한 bounding box 중에서 정확한 bounding box를 선택하여 검출 성능을 높이게 함
- => IoU를 낮게 (object 에 대해서 박스가 많으면 detect 에서 iou를 적게 주면 됨)
- => confidence score을 높게
Object Detection과 CNN
CNN은 object detection에서 어떤 역할을 하는가 ?
- 위치 정보를 보존하면서 새로운 특징을 추출함 (representation)
- 유용한 feature 추출, 위치 정보 보존
- Backbone + head
'KT 에이블 스쿨' 카테고리의 다른 글
[KT AIVLE(에이블 스쿨) 3기] 10주차 : 미니 프로젝트 4차 (0) | 2023.04.23 |
---|---|
[KT AIVLE(에이블 스쿨) 3기] 8주차 : 미니 프로젝트 3차 (0) | 2023.03.28 |
[KT AIVLE(에이블 스쿨) 3기] 6주차 : 미니 프로젝트 2차 / AI 모델 해석·평가 (0) | 2023.03.17 |
[KT AIVLE(에이블 스쿨) 3기] 5주차 : 딥러닝 (0) | 2023.03.10 |
[KT AIVLE(에이블 스쿨) 3기] 4주차 : 머신러닝 (1) | 2023.02.27 |