25분
CNN 아키텍처 완전 이해: Conv → Pooling → FC
Day 2: CNN 기반 불량 분류
CNN 아키텍처 완전 이해: Conv → Pooling → FC
비전 AI — 제조 외관검사 시스템 > Day 2: CNN 기반 불량 분류
학습 목표
CNN의 핵심 구성요소(Conv, Pooling, FC)의 역할을 이해한다 필터(커널)가 이미지에서 특징을 추출하는 원리를 파악한다 제조 불량 검출에 CNN이 적합한 이유를 설명할 수 있다
CNN이 제조 불량을 찾는 원리
CNN(Convolutional Neural Network)은 이미지 인식의 핵심 기술이다. 사람의 시각 피질이 작은 영역부터 보고 점점 큰 패턴을 인식하는 것과 같다.
CNN의 3가지 핵심 층
[CNN 전체 구조]
입력 이미지 (224 x 224 x 3)
↓
┌─────────────────────────┐
│ Conv Layer 1 │ → 엣지, 색상 검출
│ (필터 64개, 3x3) │
├─────────────────────────┤
│ Pooling (2x2) │ → 크기 축소 (112x112)
├─────────────────────────┤
│ Conv Layer 2 │ → 텍스처, 모서리 검출
│ (필터 128개, 3x3) │
├─────────────────────────┤
│ Pooling (2x2) │ → 크기 축소 (56x56)
├─────────────────────────┤
│ Conv Layer 3 │ → 패턴, 형태 검출
│ (필터 256개, 3x3) │
├─────────────────────────┤
│ Pooling (2x2) │ → 크기 축소 (28x28)
├─────────────────────────┤
│ Global Average Pooling │ → (256,)
├─────────────────────────┤
│ FC Layer (Dense) │ → 분류
│ → Softmax │
└─────────────────────────┘
↓
출력: [정상: 0.02, 스크래치: 0.95, 크랙: 0.02, 이물질: 0.01]
1. 합성곱 층 (Convolutional Layer)
[필터(커널)의 작동 원리]
3x3 필터가 이미지를 슬라이딩하면서 특징을 추출한다.
수직 엣지 필터: 수평 엣지 필터:
┌───────────┐ ┌───────────┐
│ -1 0 1 │ │ -1 -1 -1 │
│ -1 0 1 │ │ 0 0 0 │
│ -1 0 1 │ │ 1 1 1 │
└───────────┘ └───────────┘
→ 수직 스크래치 검출 → 수평 스크래치 검출
[제조에서의 의미]
초기 층: 엣지, 선 검출 → 스크래치의 윤곽
중간 층: 텍스처 패턴 → 표면 거칠기, 변색 영역
깊은 층: 복합 형태 → "이 패턴은 크랙이다"
2. 풀링 층 (Pooling Layer)
[Max Pooling 2x2]
입력 (4x4): 출력 (2x2):
┌──┬──┬──┬──┐ ┌──┬──┐
│ 1│ 3│ 2│ 1│ │ 4│ 6│ ← 각 2x2 영역의 최대값
├──┼──┼──┼──┤ ├──┼──┤
│ 4│ 2│ 6│ 5│ │ 8│ 9│
├──┼──┼──┼──┤ └──┴──┘
│ 7│ 8│ 3│ 2│
├──┼──┼──┼──┤
│ 1│ 0│ 9│ 4│
└──┴──┴──┴──┘
효과:
- 이미지 크기 절반으로 축소
- 연산량 감소
- 위치 변화에 강건해짐 (결함의 미세한 위치 차이 무시)
3. 완전연결 층 (FC Layer)
추출된 특징 벡터 (256차원)
↓
FC Layer: 256 → 128 → 4
↓
Softmax
↓
[정상: 2%, 스크래치: 95%, 크랙: 2%, 이물질: 1%]
→ 판정: 스크래치 (신뢰도 95%)
제조 불량 검출에 CNN이 강력한 이유
| 특성 | 규칙 기반 | CNN |
|---|---|---|
| 조명 변화 | 취약 | 강건 (학습으로 보정) |
| 새로운 불량 | 규칙 추가 필요 | 데이터 추가 학습 |
| 미세 결함 | 임계값 한계 | 패턴 인식 가능 |
| 복합 결함 | 규칙 폭발 | 자동 특징 조합 |
| 처리 속도 | 빠름 | GPU로 빠름 |
AI로 학습하기 — 꿀팁
✅CNN Conv-Pooling-FC 역할 설명 정확성 검증AI 학습 팁
CNN 아키텍처 설명에서 컨볼루션 필터, 풀링, FC 레이어의 역할이 혼동되거나 과단순화되는 경우가 많아 정확한 이해가 중요하다.
CNN 아키텍처에 대한 다음 설명들이 맞는지 제조 불량 검사 맥락에서 검증해줘: 1) 'Conv 레이어의 각 필터는 에지, 텍스처, 색상 등 특정 시각 특징을 독립적으로 검출하도록 설계된다', 2) 'Max Pooling은 위치 불변성을 제공해 스크래치가 이미지 어디에 있어도 같은 특징으로 인식한다', 3) 'FC 레이어는 공간 정보를 완전히 버리기 때문에 불량 위치 파악에는 사용할 수 없다', 4) '더 깊은 CNN 레이어일수록 더 추상적인 특징을 학습한다 — 예를 들어 초기 레이어는 에지, 후기 레이어는 불량 패턴을 감지한다'. PCB 납땜 불량 검사 시스템을 예시로 들어 각 설명의 맞음/틀림과 실제 동작 방식을 설명해줘.
이 팁이 도움이 됐나요?
핵심 포인트
- • CNN은 Conv(특징추출) → Pooling(축소) → FC(분류) 구조
- • 초기 층은 엣지, 깊은 층은 복합 패턴을 검출한다
- • Max Pooling은 위치 변화에 대한 강건성을 제공한다
- • 제조에서 CNN은 조명 변화와 새로운 불량에 유연하게 대응한다