Search

πŸ“Œ κ°œμš”

λ”₯λŸ¬λ‹ λͺ¨λΈ ν•™μŠ΅μ€ λŒ€λΆ€λΆ„ 정닡이 μ£Όμ–΄μ§„ 지도 ν•™μŠ΅(Supervised Learning) 방식이닀.
즉, ν•™μŠ΅ 전에 μ‚¬λžŒμ΄ 이미지가 정상인지, 결함이 μžˆλŠ”μ§€λ₯Ό λ¨Όμ € μ§€μ •ν•΄ μ€˜μ•Ό ν•œλ‹€.
그리고 λͺ¨λΈλ³„λ‘œ μš”κ΅¬ν•˜λŠ” 폴더 ꡬ쑰와 라벨 포맷이 λ‹€λ₯΄λ‹€.

이번 ν¬μŠ€νŠΈμ—μ„œλŠ” λŒ€ν‘œμ μΈ λΆ„λ₯˜ λͺ¨λΈμΈ ResNetκ³Ό
λŒ€ν‘œμ μΈ κ²€μΆœ λͺ¨λΈμΈ YOLOv5λ₯Ό κΈ°μ€€μœΌλ‘œ
각 λͺ¨λΈμ΄ μš”κ΅¬ν•˜λŠ” 디렉토리 ꡬ쑰와 라벨 ν˜•μ‹μ„ 비ꡐ μ •λ¦¬ν–ˆλ‹€.


βœ… λͺ¨λΈλ³„ 데이터 ꡬ성 비ꡐ

λͺ¨λΈ μœ ν˜• μ˜ˆμ‹œ λͺ¨λΈ 디렉토리 ꡬ쑰 라벨링 방식
🧠 λΆ„λ₯˜ (Classification) ResNet data/defect/, data/normal/ 폴더λͺ…이 κ³§ 라벨 (ImageFolder 방식)
πŸ“ κ²€μΆœ (Detection) YOLOv5 images/train/, labels/train/ + .txt or label.csv λ°”μš΄λ”© λ°•μŠ€ μ’Œν‘œ + 클래슀 번호 ν•„μš”
(x,y,w,h,class) Β  Β  Β 

πŸ§ͺ μ˜ˆμ‹œ 1: λΆ„λ₯˜ λͺ¨λΈ (ResNet)

data/
β”œβ”€β”€ defect/
β”‚   β”œβ”€β”€ 001.png
β”‚   └── ...
β”œβ”€β”€ normal/
β”‚   β”œβ”€β”€ 001.png
β”‚   └── ...
  • Resnet ꡬ쑰의 2007 DAGM
  • Resnet의 폴더 κ΅¬μ‘°λŠ” 정상 폴더와 결함 폴더 두 κ°€μ§€λ‘œ λ‚˜λ‰˜μ–΄μžˆλ‹€.
  • κ°„λ‹¨ν•œ κ΅¬μ‘°μ΄μ§€λ§Œ λ°˜λ“œμ‹œ λ‘˜ λ‹€ μžˆμ–΄μ•Ό ν•™μŠ΅μ΄ κ°€λŠ₯ν•˜λ‹€.
  • λŒ€μ‹  λ³„λ„μ˜ 라벨 파일 없이도 ν•™μŠ΅μ΄ κ°€λŠ₯ν•˜λ‹€.

πŸ§ͺ μ˜ˆμ‹œ 2: κ²€μΆœ λͺ¨λΈ (YOLO)

datasets/
β”œβ”€β”€ images/
β”‚   β”œβ”€β”€ train/
β”‚   β”œβ”€β”€ val/
β”œβ”€β”€ labels/
β”‚   β”œβ”€β”€ train/
β”‚   β”œβ”€β”€ val/
  • YOLO ꡬ쑰의 2007 DAGM
  • 각 이미지에 λŒ€μ‘ν•˜λŠ” 라벨 파일 (.txt) ν˜Ήμ€ label.csv 파일이 ν•„μš”ν•˜λ‹€.
  • 라벨은 κ²°ν•¨μ˜ μœ„μΉ˜μ™€ 크기 정보가 λ“€μ–΄μžˆλŠ” ν…μŠ€νŠΈ νŒŒμΌμ΄λ‹€.
  • YOLO 라벨 μ˜ˆμ‹œ (labels/train/0001.txt)

      # class x_center y_center width height
            0    0.45   0.52     0.2     0.1  
    
  • 보톡 λΉ„μœ¨(0~1)둜 ν‘œν˜„ν•˜μ§€λ§Œ,
  • μΌλΆ€λŠ” μ ˆλŒ€κ°’(px)λ₯Ό μ‚¬μš©ν•œλ‹€.
  • 같은 데이터셋이라도 폴더 ꡬ쑰가 λ‹€λ₯΄λ―€λ‘œ 라벨 μ„€λͺ…을 μ½λŠ” 것이 λ‚«λ‹€.

πŸ”’ 파일 이름 μ§“κΈ° 팁

이미지 파일 이름은 1, 23, 456보닀

0001, 0023, 0456처럼 자릿수λ₯Ό 맞좰 μ •λ ¬ν•˜λŠ” 것이 μ•ˆμ „ν•˜λ‹€.

  • μ •λ ¬ 였λ₯˜λ₯Ό λ°©μ§€ν•  수 μžˆλ‹€.
left
right

C

Contents