File size: 4,205 Bytes
8184aec |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
---
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)
## 사용법
### 모델 로드 및 추론
```python
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 라이브러리 사용
```python
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}
}
``` |