비전 AI에 대한 이해와 이미지 분류에 대해서 이론 수업을 시작했다.
- 실무적으로는 이미지 전처리 & 사전학습/전이학습을 잘 익혀두는 것이 중요하다고 한다 !
- 다양한 아키텍처의 경우에는 아키텍처들을 사용하는 방법, 어떤 특징을 가지고 있는지 알고 있으면 될 것 같다.
이미지 객체 탐지 평가지표 :
IOU : 예측 경계 상자와 실제 경계 상자의 교집합/합집합 비율 , 얼마나 겹치는지 0~1사이
mAP : 클래스별 평균 AUC
mAP 0.5 : IOU가 0.5 이상인 경우를 예측 성공이라 판단하고 mAP계산하여 탐지 품질
mAP 0.5-0.95 : IOU 0.5~0.95까지 0.05간격으로 IOU를 사용하ㅕㅇ 평균으로 mAP0.5보다 엄격한 지
이미지 전처리는 매우 중요하다 !
-> 해야할 전처리들 :
- resize -> 필수
- 자르기
- 스케일링(정규화) -> 필수
- 데이터의 다양성 증대(데이터 증강) -> 필수전 AI에 대한 이해와 이미지 분류에 대해서 이론 수업을 시작했다.
- 실무적으로는 이미지 전처리 & 사전학습/전이학습을 잘 익혀두는 것이 중요하다고 한다 !
- 다양한 아키텍처의 경우에는 아키텍처들을 사용하는 방법, 어떤 특징을 가지고 있는지 알고 있으면 될 것 같다.
이미지 객체 탐지 평가지표 :
IOU : 예측 경계 상자와 실제 경계 상자의 교집합/합집합 비율 , 얼마나 겹치는지 0~1사이
mAP : 클래스별 평균 AUC
mAP 0.5 : IOU가 0.5 이상인 경우를 예측 성공이라 판단하고 mAP계산하여 탐지 품질
mAP 0.5-0.95 : IOU 0.5~0.95까지 0.05간격으로 IOU를 사용하여 평균으로 mAP0.5보다 엄격한 지
이미지 전처리는 매우 중요하다 !
-> 해야할 전처리들 :
resize -> 필수
자르기
스케일링(정규화) -> 필수
데이터의 다양성 증대(데이터 증강) -> 필수
- 색상 공간 변화 -> 목표에 따라서 달라짐
- 이미지 회전, 이동
- 이미지 Jitter
- 이미지를 전처리하는 transforms는 train 데이터의 경우에는 증강 O, validation의 경우에는 증강 X
- get_item에다가 trasforms를 넣는게 좋다
- 먼저 전체 데이터 세트를 ImageFolder를 이용해 transform 처리하지 않고 불러오기 -> train/val 데이터세트를 나눠주고 Subset 객체 활용하여 train/val transform 따로 적용하기
깊고 단순한 CNN의 경우에는 과적합, 기울기소실, 연산량 증가의 문제가 있음 -> 다양한 아키텍처를 사용
-> 중요하게 기억할 아키텍처들을 기억해놓자
이미지 분류 :
VGG : 그냥 3x3 CNN 많이 쌓은거
GoogLeNet : 깊게 x, 옆으로 병렬처리 (Inception 모듈) -> 파라미터수 ↓
ResNet : 본격적으로 CNN의 성능 UP, 스킵 연결 사용(기울기 소실 문제 해결), BottleNeck 구조
MobileNet : 경량화된 모델 ,Depthwise Convolution(채널별로 컨볼루션), 경량화 모델
-> 이를 최적화한 것이 EfficentNet(작은 규모에서는 ConvNext보다 성능 좋음)
ConvNext : Vision Transformer(전역 특성 학습)을 도입하여 성능개선, 확장성 UP
이미지 분류 외 :
Unet : 이미지 세분화 모델
DCGAM : 이미지 생성 모델
Inception 구조 : 1x1(미세한 특징), 3x3(중간특징), 5x5(큰 특징)을 병렬로 연결(Branch로 나누어 병렬 연산)하여 합쳐서 다음 층으로 전달함
-> output을 따로 받아서 torch.cat(axis = 1)으로 붙이면 그게 병렬처리 : 출력되는 최종 크기만 고려 잘하자
Skip Connection(중요) : 잔차학습(Residual Learning) -> 기울기 소실문제 완화
BottelNeck 구조 : 중간층의 채널 수를 좁게 줄였다가 다시 늘리는 형식(AutoEncoder에서 쓰던 잠재공간)
-> 모든 층에 3x3연산을 수행하는 것이 아닌, 1x1 -> 3x3 -> 1x1 이런 식으로 쌓아 동일한 깊이에서 연산량 절반 이하, 비선형성 UP :
-> Skip Connection + BottleNeck 구조 : ResnNet
Depthwise Separable 구조 : 압도적으로 연산량 줄임 : 자원이 한정된 상황(임베디드, 모바일 기기)비전 AI 활용 가능
: 공간학습(depthwise) : 각 채널마다 하나의 필터만 할당하여 연산(채널간 관계 X)
-> group 인자를 입력채널과 동일한 크기로 설정하면 채널별로 독립적인 필터가 적용(입력채널 = group인자 = 출력채널)
채널학습(pointwise) : 1x1 필터를 사용하여 공간학습 결과물들의 관계를 결합 -> 최종 출력 채널 수 결정
※딥러닝은 구조 짜맞추기, 어떤 구조를 띄고 있는지 그림으로 생각할 줄 알아야한다 !
'TIL' 카테고리의 다른 글
| [TIL] #11 2026-04 -08 (2) | 2026.04.08 |
|---|---|
| [TIL] #10 2026-03-30 (0) | 2026.03.30 |
| [TIL] #8 2026-03-16 (2) | 2026.03.16 |
| [TIL] #7 2026-03-11 (1) | 2026.03.11 |
| [TIL] #6 2026-03-10 (0) | 2026.03.10 |
