π 2025 μ»΄ν¨ν°λΉμ νλ‘μ νΈ
볡μ‘ν μ΄λ―Έμ§ νκ²½μμ λ€μ€ μμ½μ νμ§νκ³ , νμΒ·μμΒ·κ°μΈΒ·λΆν μ λ± λ€μ€ μκ° νΉμ§μ λΆμνμ¬ κ²½κ΅¬μ½μ λ₯Ό μλ μλ³νλ μμ€ν
pillDetection/
βββ images/ # ν
μ€νΈμ© μμ½ μ΄λ―Έμ§ ν΄λ
βββ output/ # μκ°νΒ·κ²°κ³Ό μ μ₯ ν΄λ
βββ utils/ # νμ΅/μ μ²λ¦¬ κ΄λ ¨ μ νΈ λ
ΈνΈλΆ
β βββ merge_coco_to_yolo.ipynb # COCO β YOLO ν¬λ§· λ³ν
β βββ resnet_training.ipynb # ResNet-50 νμΒ·μμ λΆλ₯ νμ΅
β βββ YOLO augmentation.ipynb # YOLO νμ΅μ© λ°μ΄ν° μ¦κ°
βββ weights/ # νμ΅λ λͺ¨λΈ κ°μ€μΉ
β βββ best.pt # YOLO μ΅μ’
(best) κ°μ€μΉ
β βββ last.pt # YOLO λ§μ§λ§ μν κ°μ€μΉ
β βββ pill_shape_color_resnet50_improved_best_color.pth # μμ λΆλ₯κΈ°
β βββ pill_shape_color_resnet50_improved_best_shape.pth # νμ λΆλ₯κΈ°
βββ .gitignore # Git 무μ νμΌ μ€μ
βββ demo.ipynb # ν΅ν© μμ½ νμ§Β·μλ³ λ°λͺ¨ λ
ΈνΈλΆ
βββ drug_info_unique_drug_id_final.csv # μ½ν λ©νλ°μ΄ν° DB
βββ pill_matching_results.csv # λ§€μΉ κ²°κ³Ό
βββ pill_matching_results_final.xlsx # λ§€μΉ κ²°κ³Ό(μμ
λ²μ , λ³΄κ³ μ κΈ°μ€)
βββ README.md # νλ‘μ νΈ μ¬μ© μ€λͺ
βββ requirements.txt # μμ‘΄ λΌμ΄λΈλ¬λ¦¬ λͺ©λ‘
βββ team8_presentation.pdf # ν λ°ν μλ£ PDF
- YOLO κΈ°λ° λ€μ€ μμ½ νμ§: YOLOv12nμΌλ‘ μ΄λ―Έμ§ λ΄ μμ½ ROI κ²μΆ
- ResNet-50 νΉμ§ μΆμΆ: νμ(4 ν΄λμ€), μμ(7 ν΄λμ€) λΆλ₯
- OCR κ°μΈ μΈμ: EasyOCR + Google Vision API
- λ€μ€ νΉμ§ λ§€μΉ: κ°μ€μΉ κΈ°λ° μ΅μ’ μ½ν μλ³
| λͺ¨λΈ | μ§ν | μ±λ₯ |
|---|---|---|
| YOLO | mAP50 | 0.971 |
| YOLO | Recall | 0.934 |
| ResNet-50 (νμ) | Accuracy | 0.9070 |
| ResNet-50 (μμ) | Accuracy | 0.7907 |
| μ΅μ’ λ§€μΉ | Top-5 Accuracy | 44.68% (4023μ’ λμ) |
- νκ΅μ§λ₯μ 보μ¬νμ§ν₯μ μ 곡 "경ꡬμ½μ μ΄λ―Έμ§ λ°μ΄ν°" νμ©
- Roboflow Universeμ κ³΅κ° λ°μ΄ν°μ μΈ Roboflow 100 pills'μ 'seblful Pills Detection'μ νμ©
- Python 3.x
- PyTorch
- Ultralytics YOLO
- EasyOCR
- demo.ipynb μ½λμμ
## 6οΈβ£ νμ΄νλΌμΈ μ΄κΈ°νλΆλΆμμ, Google Vision API keyλ₯Ό λ£μ΄μΌ OCR Fallbackμ΄ μ€νλ©λλ€.