YOLOv8 + LLM ๊ธฐ๋ฐ ์ผ๋ฃฉ & ์ธํ ๊ธฐํธ ๋ถ์ ์๋ํ ์์คํ
Graduation Comprehensive Project (2025)
RushWash๋ ์๋ฅ ์ด๋ฏธ์ง์์ ์ผ๋ฃฉ๊ณผ ์ธํ ๊ธฐํธ๋ฅผ ์๋์ผ๋ก ์ธ์ํ๊ณ ,
์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ์ ์ ํ ์ธํ ๋ฐฉ๋ฒ์ ์์ฐ์ด๋ก ์ถ์ฒํ๋ AI ์๋น์ค์
๋๋ค.
- ์ผ๋ฃฉ ๊ฒ์ถ : YOLOv8 (Object Detection)
- ์ผ๋ฃฉ ๋ถ๋ฅ : ConvNeXt (Image Classification)
- ์ธํ ๊ธฐํธ ์ธ์ : YOLO (Object Detection)
- ์ธํ๋ฒ ์ ์ : LLM (kanana-nano-2.1b-base Prompt)
- ์๋-ํฌ-์๋ ํ์ดํ๋ผ์ธ : Python + Spring Boot + React + MariaDB
| ๊ธฐ๋ฅ๋ช | ์ค๋ช |
|---|---|
| ๐ฅ ์ผ๋ฃฉ ํ์ง | YOLOv8๋ก ์๋ฅ ๋ด ์ผ๋ฃฉ Bounding Box ๊ฒ์ถ |
| ๐ฆ ์ผ๋ฃฉ ์ข ๋ฅ ๋ถ๋ฅ | ๊ฒ์ถ๋ ์์ญ crop โ Yolov8s๋ก ๋ถ๋ฅ |
| ๐จ ์ธํ ๊ธฐํธ ์ธ์ | ์ธํ ๋ผ๋ฒจ์ YOLO๋ก ๊ฒ์ถ |
| ๐ฉ ์ธํ ๊ฐ์ด๋ ์์ฑ | ์ผ๋ฃฉ + ์ฌ์ ์ ๋ณด ๊ธฐ๋ฐ LLM ๋ฌธ์ฅ ์์ฑ |
| ๐ ๏ธ MLOps ํ์ดํ๋ผ์ธ | MariaDB ์ฐ๋ โ ํ์ต/ํ๊ฐ โ JSON ๊ฒฐ๊ณผ ์๋ ์ ์ฅ |
RushWash_demo.mp4
| ๋ถ๋ฅ | ์ฌ์ฉ ๊ธฐ์ |
|---|---|
| Object Detection | YOLOv8 (Ultralytics) |
| Image Classification | YOLOv8 (Ultralytics) |
| ํ ์คํธ ์์ฑ | kanana-nano-2.1b-base Prompt (LLM) |
| ๋ฐฑ์๋ | Spring Boot, MariaDB |
| ํ๋ก ํธ์๋ | React, Tailwind CSS |
| ML Infra | Python, PyTorch, Ray Tune, WandB |
| Model ID | Input Res | Best Conf | Best IoU | mAP@50 | mAP@50-95 | Precision | Recall | F1-score | Latency (ms) | Param Opt |
|---|---|---|---|---|---|---|---|---|---|---|
| laundry_data_2_yolov8m_2048_train | 2048 | 0.010 | 0.30 | 71.13 | 53.45 | 71.86 | 62.38 | 66.74 | 44.5 | ๊ธฐ๋ณธ |
| pre_final_yolov8m_2048 | 2048 | 0.072 | 0.30 | 72.46 | 53.64 | 68.08 | 65.68 | 66.86 | 38.8 | Conf/IoU |
| yolov8m_1600_optimized_pre_final | 1600 | 0.031 | 0.30 | 71.91 | 53.42 | 65.62 | 70.76 | 68.09 | 30.9 | โ |
| yolov8m_1600_optimized_pre_final2 | 1600 | 0.010 | 0.30 | 70.71 | 50.56 | 76.25 | 59.23 | 66.58 | 28.7 | โ |
| Model ID | Precision | Recall | F1-score | Latency (ms) |
|---|---|---|---|---|
| stain_yolov8s_1280_b2 | 81.02 | 77.17 | 76.45 | 22.1 |
| stain_yolov8s_1600_a1 (Best F1) | 89.36 | 88.35 | 88.09 | 34.1 |
| stain_yolov8s_1920_light_aug_final | 75.21 | 71.30 | 72.09 | 49.6 |
| yolov8m_2048 | 73.71 | 69.61 | 70.31 | 58.1 |
| yolov8s_2048 | 76.65 | 73.00 | 73.32 | 57.6 |
- ์์ฒด LLM(2.1 B) + Rule Prompt ์กฐํฉ์ผ๋ก ์์ฐ์ค๋ฌ์ด ์ธํ ๋ฐฉ๋ฒ ์ค๋ช ์ ์์ฑ.
- ์ ๋ ํ๊ฐ๋ ์ด๋ ค์ฐ๋, UX ํ ์คํธ(5๋ช )์์ โ์ค๋ช ์ด ์ดํดํ๊ธฐ ์ฝ๋คโ ์๋ต 95 %.*
| ๋ชจ๋ธ๊ตฐ | epochs | imgsz | mosaic | mixup | auto_augment | optimizer |
|---|---|---|---|---|---|---|
| stain | 150 | 1600 | 1.0 | 0.0 | randaugment |
auto |
| symbol | 150 | 2048 | โ | 0.3 | โ | auto |
๋ชจ์์ดํฌ ๋นํ์ฑ ์คํ์์ ๊ฒ์ถ ์ ํ๋๊ฐ 2 ~ 4 %p ํ๋ฝ.
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ชฉ์ | ๊ฐ์ฒด ํ์ง ๊ธฐ๋ฐ ๋ถ๋ฅ ํ์ต์ ์ํด ์ ๋ฐํ ๋ฐ์ด๋ฉ ๋ฐ์ค ํ์ |
| ์๋ | 3,132์ฅ ์์์ ์๋ฃ |
| ํด๋์ค | Stain 9์ข / Symbol 43์ข |
| ๋ผ๋ฒจ ํฌ๋งท | YOLOv8 txt (class x_center y_center w h) |
| ํด | LabelImg (์คํ์์ค GUI) |
| ์์ ํ๊ฒฝ | ๋ก์ปฌ โ 2์ธ ๊ฒ์ & ๋ฒ์ ๊ด๋ฆฌ |
- stain_yolov8s_1600_a1 ๋ชจ๋ธ์ด F1-score 88.09 %๋ก ์ต๊ณ ์ฑ๋ฅ.
- ํ๋ผ๋ฏธํฐ ์ต์ ํ(Conf/IoU Sweep) + 1600 ์ ๋ ฅ์ผ๋ก mAP +1.3 %p, Latency -8 ms.
- pre_final_yolov8m_2048 ๋ชจ๋ธ์ด mAP@50-95 72.46 %๋ก ์ต๊ณ ์ฑ๋ฅ.
# 1) ์ ์ฒด ํ์ดํ๋ผ์ธ ์คํ
python pipe_final.py \
--db-host localhost \
--db-port <PORT> \
--db-user <USER> \
--db-password <PASSWORD> \
--db-name rushwash
# 2) ๊ฐ๋ณ ์ถ๋ก (์ผ๋ฃฉ ์ด๋ฏธ์ง ์์)
python ai/infer_stain.py --image /path/to/image.jpg# 3) ํ๋ก ํธ์๋ ์คํ
cd frontend
npm install
npm run devRushWash/
โโโ ai/ # YOLO, CNN, OCR, LLM ๋ชจ๋
โโโ data/ # ํ์ต ๋ฐ์ดํฐ์
ยท ์ค์
โโโ frontend/ # React UI
โโโ backend/ # Spring Boot ์๋ฒ
โโโ database/ # MariaDB ์คํค๋ง
โโโ pipe_final.py # ์ ์ฒด ํ์ดํ๋ผ์ธ ์คํฌ๋ฆฝํธ
โโโ README.md
- ๐ฅ ํ๊ตญ์ธ๊ณต์ง๋ฅ์ตํฉ๊ธฐ์ ํํ ์ฐ์ ๋ฐํ ๋ ผ๋ฌธ์ (2025)
| Avatar | ์ด๋ฆย /ย ์๋ฌธ | ๋ด๋น ์์ญ | ํต์ฌ ๊ธฐ์ ์คํ | GitHub |
|---|---|---|---|---|
![]() |
์ฅ์ฌํ Jae-Hyuk Jang |
์์คํ
์ค๊ณยท๊ตฌํ (AIย ยทย MLOps) |
YOLOv8ย | PyTorchย | Rayย | MLflow | Jae-Hyuk-Jang |
![]() |
๊นํ์ค Tae-Yoon Kim |
์์คํ
์ค๊ณยท๊ตฌํ (AIย ยทย MLOps) |
LLMย | PyTorchย | MLflow | tyoon11 |
![]() |
๊น์ฑ์ฐ Chae-Yeon Kim |
๋ฐฑ์๋ย ๊ฐ๋ฐย (BE) | Springย Bootย | JPAย | MariaDBย | chaechae128 |
![]() |
์ ์ํ Su-Hyun Jeon |
๋ฐฑ์๋ย ๊ฐ๋ฐย (BE) | Springย Bootย | JPAย | MariaDBย | soo0711 |
![]() |
๊น์งํ Ji-Hyun Kim |
ํ๋ก ํธ์๋ย ๊ฐ๋ฐย (FE) | Reactย | TailwindCSS | ghbtkk |














