suhyon commited on
Commit
ed94e62
ยท
verified ยท
1 Parent(s): 554b570
Files changed (1) hide show
  1. README.md +75 -0
README.md ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ ---
4
+ ## 3D ๋ชจ๋ธ ํ…์Šค์ฒ˜๋ง ๋ถ„๋ฅ˜ ๋ชจ๋ธ
5
+
6
+ ### ๋ชจ๋ธ ์„ค๋ช…
7
+ ์ด ๋ชจ๋ธ์€ **3D ๋ชจ๋ธ ์ธ๋„ค์ผ ์ด๋ฏธ์ง€**๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„, ์ด๋ฏธ์ง€๊ฐ€ **ํ…์Šค์ฒ˜๋ง ๋˜์–ด ์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€**๋ฅผ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.
8
+
9
+ - **ํƒœ์Šคํฌ**: ์ด์ง„ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ (Textured vs. Not Textured)
10
+ - **ํด๋ž˜์Šค**:
11
+ - `0`: ํ…์Šค์ฒ˜๋ง ์•ˆ๋จ
12
+ - `1`: ํ…์Šค์ฒ˜๋ง ๋จ
13
+ - **๋ชจ๋ธ ๊ตฌ์กฐ**: ResNet18 (ImageNet ์‚ฌ์ „ํ•™์Šต ์‚ฌ์šฉ)
14
+ - **์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ**: 224 ร— 224 RGB ์ด๋ฏธ์ง€
15
+ - **์ถœ๋ ฅ**: 2๊ฐœ์˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๋กœ์ง“๊ฐ’ (์†Œํ”„ํŠธ๋งฅ์Šค ์ „)
16
+
17
+ ---
18
+
19
+ ### ํ•™์Šต ๋ฐ์ดํ„ฐ
20
+ - **CSV ํŒŒ์ผ**: `meshy_textured_gold.csv`
21
+ - **์ด๋ฏธ์ง€ ์ถœ์ฒ˜**: Meshy AI์—์„œ ์ƒ์„ฑ๋œ 3D ์ธ๋„ค์ผ ์ด๋ฏธ์ง€
22
+ - **๋ผ๋ฒจ๋ง ๋ฐฉ๋ฒ•**: ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ…์Šค์ฒ˜๋ง ์—ฌ๋ถ€๋ฅผ ๋ณด๊ณ  ์ˆ˜์ž‘์—…์œผ๋กœ ๋ผ๋ฒจ ๋ถ€์—ฌ
23
+ - **์ƒ˜ํ”Œ ์ˆ˜**: ์•ฝ 500์žฅ (ํ…์Šค์ฒ˜๋ง / ๋น„ํ…์Šค์ฒ˜๋ง ํด๋ž˜์Šค ๊ท ํ˜• ์žˆ์Œ)
24
+
25
+ ---
26
+
27
+ ### ํ‰๊ฐ€ ์ •๋ณด
28
+ - **ํ‰๊ฐ€์ง€ํ‘œ**: ์ •ํ™•๋„(Accuracy) ๊ธฐ์ค€ ์•ฝ 90% ์ด์ƒ
29
+ - **์†์‹ค ํ•จ์ˆ˜**: CrossEntropyLoss
30
+ - **์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜**: Adam (lr=1e-4)
31
+
32
+ > ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋„ ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์˜€์œผ๋ฉฐ, ๋ผ๋ฒจ๊ณผ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฏธ์ง€๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ถ”๊ฐ€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
33
+
34
+ ---
35
+
36
+ ### ์‚ฌ์šฉ๋ฒ•
37
+
38
+ ```python
39
+ from torchvision import transforms, models
40
+ from PIL import Image
41
+ import torch
42
+
43
+ # ๋ชจ๋ธ ๋กœ๋“œ
44
+ model = models.resnet18()
45
+ model.fc = torch.nn.Linear(model.fc.in_features, 2)
46
+ model.load_state_dict(torch.load("pytorch_model.bin", map_location="cpu"))
47
+ model.eval()
48
+
49
+ # ์ „์ฒ˜๋ฆฌ ์ •์˜
50
+ transform = transforms.Compose([
51
+ transforms.Resize((224, 224)),
52
+ transforms.ToTensor(),
53
+ transforms.Normalize([0.485, 0.456, 0.406],
54
+ [0.229, 0.224, 0.225])
55
+ ])
56
+
57
+ # ์˜ˆ์ธก
58
+ img = Image.open("example.jpg").convert("RGB")
59
+ x = transform(img).unsqueeze(0)
60
+ with torch.no_grad():
61
+ logits = model(x)
62
+ pred = logits.argmax(dim=1).item()
63
+ print("ํ…์Šค์ฒ˜๋ง ๋จ" if pred == 1 else "ํ…์Šค์ฒ˜๋ง ์•ˆ๋จ")
64
+ ```
65
+
66
+ ---
67
+
68
+ ### ์‚ฌ์šฉ ๋ชฉ์ 
69
+ - Miravelle์—์„œ ์ƒ์„ฑ๋œ ์ธ๋„ค์ผ ์ด๋ฏธ์ง€๊ฐ€ ํ…์Šค์ฒ˜๋ง๋œ ๊ฒƒ์ธ์ง€ ์ž๋™์œผ๋กœ ๊ตฌ๋ถ„
70
+ - ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ์„ ๋ณ„, ํ’ˆ์งˆ ๊ด€๋ฆฌ, ๋ผ๋ฒจ๋ง ์‹œ๊ฐ„ ๋‹จ์ถ• ๋“ฑ์— ํ™œ์šฉ ๊ฐ€๋Šฅ
71
+
72
+ ---
73
+
74
+ ### ๐Ÿท๏ธ ํƒœ๊ทธ
75
+ `์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜`, `์ด์ง„ ๋ถ„๋ฅ˜`, `3D ์ธ๋„ค์ผ`, `ํ…์Šค์ฒ˜๋ง ํŒ๋ณ„`, `ResNet`, `Meshy`