의장공정 불량품 분류 모델 (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}
}
Downloads last month
112
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support