25

CNN 아키텍처 완전 이해: Conv → Pooling → FC

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은 조명 변화와 새로운 불량에 유연하게 대응한다