metadata
license: cc-by-nc-4.0
tags:
- image-classification
- pytorch
- defect-detection
- manufacturing
- quality-control
language:
- ko
datasets:
- custom
metrics:
- accuracy
library_name: pytorch
pipeline_tag: image-classification
μμ₯곡μ λΆλν λΆλ₯ λͺ¨λΈ (Assembly Process Defect Classification)
μ΄ λͺ¨λΈμ μμ₯곡μ μμ λ°μνλ λ€μν λΆλ μ νμ λΆλ₯νκΈ° μν΄ ResNet50 μν€ν μ²λ₯Ό κΈ°λ°μΌλ‘ νμΈνλλ λͺ¨λΈμ λλ€.
λͺ¨λΈ μ 보
- μν€ν μ²: ResNet50
- ν΄λμ€ μ: 24κ°
- μ λ ₯ ν¬κΈ°: 224x224 RGB μ΄λ―Έμ§
- λΆλ₯ μΉ΄ν κ³ λ¦¬: 12κ°μ§ λΆλ μ ν Γ 2κ°μ§ νμ§ μν (λΆλν/μν)
λΆλ₯ ν΄λμ€
λΆλ μ νλ³ λΆλ₯
- κ³ μ λΆλ: λΆλν(0), μν(1)
- κ³ μ ν λΆλ: λΆλν(2), μν(3)
- λ¨μ°¨: λΆλν(4), μν(5)
- μ€ν¬λμΉ: λΆλν(6), μν(7)
- μ€λ§ λΆλ: λΆλν(8), μν(9)
- μ°κ³ λΆλ: λΆλν(10), μν(11)
- μΈκ΄ μμ: λΆλν(12), μν(13)
- μ 격 λΆλ: λΆλν(14), μν(15)
- μ₯μ°© λΆλ: λΆλν(16), μν(17)
- 체결 λΆλ: λΆλν(18), μν(19)
- ν€λ° λΆλ: λΆλν(20), μν(21)
- ν λ³ν: λΆλν(22), μν(23)
μ¬μ©λ²
λͺ¨λΈ λ‘λ λ° μΆλ‘
import torch
from torchvision import models, transforms
from PIL import Image
# λͺ¨λΈ λ‘λ
model = models.resnet50(num_classes=24)
model.fc = torch.nn.Linear(model.fc.in_features, 24)
model.load_state_dict(torch.load('pytorch_model.bin', map_location='cpu'))
model.eval()
# μ΄λ―Έμ§ μ μ²λ¦¬
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
])
# μΆλ‘
img = Image.open('your_image.jpg').convert('RGB')
input_tensor = transform(img).unsqueeze(0)
with torch.no_grad():
outputs = model(input_tensor)
predicted_class = torch.argmax(outputs, dim=1).item()
# ν΄λμ€λͺ
λ§€ν
class_names = {
0: 'κ³ μ λΆλ_λΆλν', 1: 'κ³ μ λΆλ_μν',
2: 'κ³ μ ν λΆλ_λΆλν', 3: 'κ³ μ ν λΆλ_μν',
4: 'λ¨μ°¨_λΆλν', 5: 'λ¨μ°¨_μν',
6: 'μ€ν¬λμΉ_λΆλν', 7: 'μ€ν¬λμΉ_μν',
8: 'μ€λ§ λΆλ_λΆλν', 9: 'μ€λ§ λΆλ_μν',
10: 'μ°κ³ λΆλ_λΆλν', 11: 'μ°κ³ λΆλ_μν',
12: 'μΈκ΄ μμ_λΆλν', 13: 'μΈκ΄ μμ_μν',
14: 'μ 격 λΆλ_λΆλν', 15: 'μ 격 λΆλ_μν',
16: 'μ₯μ°© λΆλ_λΆλν', 17: 'μ₯μ°© λΆλ_μν',
18: '체결 λΆλ_λΆλν', 19: '체결 λΆλ_μν',
20: 'ν€λ° λΆλ_λΆλν', 21: 'ν€λ° λΆλ_μν',
22: 'ν λ³ν_λΆλν', 23: 'ν λ³ν_μν'
}
print(f"μμΈ‘ κ²°κ³Ό: {class_names[predicted_class]}")
νκΉ νμ΄μ€ Transformers λΌμ΄λΈλ¬λ¦¬ μ¬μ©
from transformers import AutoConfig
import torch
from torchvision import models
# μ€μ λ‘λ
config = AutoConfig.from_pretrained('your-username/defect-classification-resnet50')
# λͺ¨λΈ λ‘λ
model = models.resnet50(num_classes=config.num_classes)
model.fc = torch.nn.Linear(model.fc.in_features, config.num_classes)
model.load_state_dict(torch.hub.load_state_dict_from_url(
'https://huggingface.co/your-username/defect-classification-resnet50/resolve/main/pytorch_model.bin',
map_location='cpu'
))
λͺ¨λΈ μ±λ₯
- μ νλ: 0.7509
- κ²μ¦ λ°μ΄ν°μ : [λ°μ΄ν°μ μ 보 μ λ ₯]
μ νμ¬ν
- μ΄ λͺ¨λΈμ νΉμ μ μ‘° νκ²½μμ μμ§λ λ°μ΄ν°λ‘ νμ΅λμμΌλ―λ‘, λ€λ₯Έ νκ²½μμλ μ±λ₯μ΄ λ¬λΌμ§ μ μμ΅λλ€.
- μ€μ μ΄μ νκ²½μμ μ¬μ©νκΈ° μ μ μΆ©λΆν ν μ€νΈλ₯Ό κΆμ₯ν©λλ€.
λΌμ΄μ μ€
CC BY-NC
μΈμ©
μ΄ λͺ¨λΈμ μ¬μ©νμ λ€λ©΄ λ€μκ³Ό κ°μ΄ μΈμ©ν΄μ£ΌμΈμ:
@misc{vehicle-assembly-process-defect-detection-model,
title={Assembly Process Defect Classification with ResNet50},
author={doyoon kwon},
year={2025},
url={https://huggingface.co/23smartfactory/vehicle-assembly-process-defect-detection-model}
}