--- license: mit --- ## Meshy 텍스처링 분류 모델 ### 📌 모델 설명 이 모델은 **3D 모델 썸네일 이미지**를 입력으로 받아, 이미지가 **텍스처링 되어 있는지 아닌지**를 분류합니다. - **태스크**: 이진 이미지 분류 (Textured vs. Not Textured) - **클래스**: - `0`: 텍스처링 안됨 - `1`: 텍스처링 됨 - **모델 구조**: ResNet18 (ImageNet 사전학습 사용) - **입력 이미지 크기**: 224 × 224 RGB 이미지 - **출력**: 2개의 클래스에 대한 로짓값 (소프트맥스 전) --- ### 📂 학습 데이터 - **CSV 파일**: `meshy_textured_gold.csv` - **이미지 출처**: Meshy AI에서 생성된 3D 썸네일 이미지 - **라벨링 방법**: 사람이 직접 텍스처링 여부를 보고 수작업으로 라벨 부여 - **샘플 수**: 약 500장 (텍스처링 / 비텍스처링 클래스 균형 있음) --- ### 🔍 평가 정보 - **평가지표**: 정확도(Accuracy) 기준 약 90% 이상 - **손실 함수**: CrossEntropyLoss - **최적화 알고리즘**: Adam (lr=1e-4) > 검증 데이터셋에서도 안정적인 성능을 보였으며, 라벨과 예측 결과를 이미지로 시각화하여 성능을 추가 확인했습니다. --- ### 🧪 사용법 ```python from torchvision import transforms, models from PIL import Image import torch # 모델 로드 model = models.resnet18() model.fc = torch.nn.Linear(model.fc.in_features, 2) 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([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) # 예측 img = Image.open("example.jpg").convert("RGB") x = transform(img).unsqueeze(0) with torch.no_grad(): logits = model(x) pred = logits.argmax(dim=1).item() print("텍스처링 됨" if pred == 1 else "텍스처링 안됨") ``` --- ### 🎯 사용 목적 - 썸네일 이미지가 텍스처링된 것인지 자동으로 구분 - 대규모 데이터셋 선별, 품질 관리, 라벨링 시간 단축 등에 활용 가능 --- ### 🏷️ 태그 `이미지 분류`, `이진 분류`, `3D 썸네일`, `텍스처링 판별`, `ResNet`, `Meshy`