| # ๋งค๋์
๊ด๊ณ ํ๋์ ๋์์ ์ธ์ ๋ชจ๋ธ (MADUP Ad Action Element Detection Model) |
|
|
| ## ๊ณต๊ณต ๊ธฐ์ฌ ํ๋ก์ ํธ |
|
|
| ์ด ํ๋ก์ ํธ๋ **๋งค๋์
(MADUP)** ์์ ๊ฐ๋ฐํ ๊ด๊ณ ํ๋์ ๋์์ ์ธ์ ๋ชจ๋ธ๋ก, ๊ตญ๋ด ๊ด๊ณ ์ฐ์
์ ๋ฐ์ ๊ณผ ์ฐ๊ตฌ ์ปค๋ฎค๋ํฐ์ ์ฑ์ฅ์ ์ํด ๊ณต๊ณต์ ๊ธฐ์ฌํ๊ณ ์ ๊ณต๊ฐํฉ๋๋ค. |
|
|
| ## ์ฑ๊ณผ |
|
|
| **ํ๊ตญ์ ๋ณดํต์ ๊ธฐ์ ํํ(KOTCA) ์ธ์ฆ ๋ฐ์ดํฐ์
** ์์ ์์ฒด ํ๊ฐ ๊ธฐ์ค: |
|
|
| | ์งํ | ์ฑ๊ณผ | ๋น๊ณ | |
| |------|------|------| |
| | **mAP@50** | **0.81** | ๋ฆฌ๋๋ณด๋ ์์๊ถ ์ฑ๋ฅ | |
| | Precision | 0.83 | ๋์ ์ ํ๋ | |
| | Recall | 0.79 | ์ฐ์ํ ์ฌํ์จ | |
| | ์ต์ ํ ์๋ | 211ํ | Optuna ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ | |
|
|
| ## ๋ชจ๋ธ ์๊ฐ |
|
|
| ๊ด๊ณ ์ด๋ฏธ์ง์์ ํ๋์ ๋์์(Call-to-Action Elements)๋ฅผ ์๋์ผ๋ก ์ธ์ํ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์
๋๋ค. |
|
|
| ### ์ฃผ์ ํน์ง |
| - **๊ณ ์ฑ๋ฅ**: mAP@50 0.81 ๋ฌ์ฑ |
| - **์ต์ ํ**: 211ํ Optuna ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ |
| - **์ค์ฉ์ฑ**: ๊ด๊ณ ๋์์ธ ๋ถ์ ๋ฐ ์๋ํ์ ํ์ฉ ๊ฐ๋ฅ |
| - **๊ฐ๋ฐฉ์ฑ**: ์ฐ๊ตฌ ๋ชฉ์ ๋ฌด๋ฃ ๊ณต๊ฐ |
|
|
| ### ์ธ์ ๊ฐ๋ฅํ ์์ |
| - **ํ
์คํธ**: ๊ด๊ณ ๋ฌธ๊ตฌ ๋ฐ ํ๋์ ๋ ํ
์คํธ |
| - **์ฌ๊ฐํ**: ๋ฒํผ ๋ฐ ํด๋ฆญ ๊ฐ๋ฅ ์์ญ |
| - **๋ฐฐ๋**: ํ๋ก๋ชจ์
๋ฐฐ๋ |
| - **์บก์**: ์์ฝ ํํ์ UI ์์ |
|
|
| ## ๋น ๋ฅธ ์์ |
|
|
| ### ์ค์น |
|
|
| ```bash |
| pip install -r requirements.txt |
| ``` |
|
|
| ### ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ |
|
|
| ```python |
| from inference import AdElementDetector |
| |
| # ๋ชจ๋ธ ์ด๊ธฐํ |
| detector = AdElementDetector(model_path="best_model.pt") |
| |
| # ์ด๋ฏธ์ง ๋ถ์ |
| results = detector.predict("๊ด๊ณ ์ด๋ฏธ์ง.jpg") |
| |
| # ๊ฒฐ๊ณผ ์ถ์ถ |
| boxes = detector.get_boxes(results) |
| print(f"๊ฒ์ถ๋ ๊ด๊ณ ์์: {len(boxes)}๊ฐ") |
| ``` |
|
|
| ### CLI ์ฌ์ฉ |
|
|
| ```bash |
| # ๊ธฐ๋ณธ ์ถ๋ก |
| python inference.py --image ๊ด๊ณ ์ด๋ฏธ์ง.jpg |
| |
| # ์๊ฐํ ์ ์ฅ |
| python inference.py --image ๊ด๊ณ ์ด๋ฏธ์ง.jpg --save ๊ฒฐ๊ณผ.jpg |
| ``` |
|
|
| ## ๋ชจ๋ธ ์์ธ ์ ๋ณด |
|
|
| ### ์ํคํ
์ฒ |
| - **๋ฒ ์ด์ค ๋ชจ๋ธ**: Deep Learning Object Detection |
| - **์
๋ ฅ ํฌ๊ธฐ**: 486x486 pixels |
| - **ํ์ต ์ํญ**: 120 |
| - **์ต์ ํ**: Optuna 211ํ ์๋ |
|
|
| ### ์ต์ ํ๋ ํ์ดํผํ๋ผ๋ฏธํฐ |
|
|
| ```yaml |
| imgsz: 486 |
| lr0: 0.000515 |
| dropout: 0.1 |
| mixup: 0.15 |
| copy_paste: 0.1 |
| mosaic: 0.0 |
| ``` |
|
|
| ## ํ์ผ ๊ตฌ์กฐ |
|
|
| ``` |
| โโโ best_model.pt # ํ์ต๋ ๋ชจ๋ธ ๊ฐ์ค์น (50MB) |
| โโโ inference.py # ์ถ๋ก ์คํฌ๋ฆฝํธ |
| โโโ config.yaml # ๋ชจ๋ธ ์ค์ |
| โโโ data.yaml # ๋ฐ์ดํฐ์
์ค์ |
| โโโ requirements.txt # Python ์์กด์ฑ |
| โโโ README.md # ๋ฌธ์ |
| ``` |
|
|
| ## ์๊ตฌ์ฌํญ |
|
|
| - Python 3.8+ |
| - PyTorch 1.8+ |
| - CUDA ์ง์ GPU (๊ถ์ฅ) |
| - 4GB+ RAM |
|
|
| ## ๋ผ์ด์ผ์ค |
|
|
| **Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)** |
|
|
| - **ํ์ฉ**: ์ฐ๊ตฌ, ๊ต์ก, ๊ฐ์ธ ํ๋ก์ ํธ |
| - **๊ธ์ง**: ์์
์ ์ฌ์ฉ |
| - ์์
์ ์ฌ์ฉ ๋ฌธ์: pr_chapter@madup.com |
| |
| ## ๊ธฐ์ฌ |
| |
| ๋งค๋์
์ ํ๊ตญ ๊ด๊ณ ๊ธฐ์ ๋ฐ์ ์ ์ํด ์ด ๋ชจ๋ธ์ ๊ณต๊ฐํฉ๋๋ค. |
| |
| ### ๊ณต๊ณต ๊ธฐ์ฌ ๋ชฉ์ |
| - **์ฐ๊ตฌ ์ง์**: ํ๊ณ ์ฐ๊ตฌ ํ์ฑํ |
| - **์ฐ์
๋ฐ์ **: ๊ด๊ณ ๊ธฐ์ ํ์ ์ด์ง |
| - **์ปค๋ฎค๋ํฐ ์ฑ์ฅ**: ์คํ์์ค ์ํ๊ณ ๊ธฐ์ฌ |
| |
| ## ์ธ์ฉ |
| |
| ์ฐ๊ตฌ์ ์ฌ์ฉํ์ค ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ธ์ฉํด ์ฃผ์ธ์: |
| |
| ```bibtex |
| @misc{madup_ad_detection_2024, |
| title={MADUP ๊ด๊ณ ํ๋์ ๋์์ ์ธ์ ๋ชจ๋ธ}, |
| author={MADUP Research Team}, |
| year={2024}, |
| publisher={HuggingFace}, |
| note={KOTCA ๋ฐ์ดํฐ์
mAP@50: 0.81} |
| } |
| ``` |
| |
| ## ๋งค๋์
์๊ฐ |
| |
| **๋งค๋์
(MADUP)** ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๊ด๊ณ ๊ธฐ์ ์ ๋ฌธ ๊ธฐ์
์ผ๋ก, AI๋ฅผ ํ์ฉํ ๊ด๊ณ ์ต์ ํ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค. |
| |
| - ์น์ฌ์ดํธ: [https://www.madup.com](https://www.madup.com) |
| - ์ฐ๊ตฌํ ๋ฌธ์: pr_chapter@madup.com |
| - LinkedIn: [MADUP Company](https://www.linkedin.com/company/madup) |
| |
| ## ๋ฌธ์ |
| |
| - ๋ฒ๊ทธ ๋ฆฌํฌํธ: Issues ํญ |
| - ๊ฐ์ ์ ์: Pull Request |
| - ์ผ๋ฐ ๋ฌธ์: pr_chapter@madup.com |
| |
| --- |
| |
| **Made with dedication by MADUP Research Team for the Korean AI Community** |