์ ์น์ค | ๊น์ฃผํฌ | ์ ํ์ | ์ด์ฐํ | ์ดํด์ฑ |
---|---|---|---|---|
์ค๋งํธํฐ์ผ๋ก ์นด๋๋ฅผ ๊ฒฐ์ ํ๊ฑฐ๋, ์นด๋ฉ๋ผ๋ก ์นด๋๋ฅผ ์ธ์ํ ๊ฒฝ์ฐ ์๋์ผ๋ก ์นด๋ ๋ฒํธ๊ฐ ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ ์ฃผ์ฐจ์ฅ์ ๋ค์ด๊ฐ๋ฉด ์ฐจ๋ ๋ฒํธ๊ฐ ์๋์ผ๋ก ์ธ์๋๋ ๊ฒฝ์ฐ๋ ํํ ์์ต๋๋ค. ์ด์ฒ๋ผ OCR (Optimal Character Recognition) ๊ธฐ์ ์ ์ฌ๋์ด ์ง์ ์ฐ๊ฑฐ๋ ์ด๋ฏธ์ง ์์ ์๋ ๋ฌธ์๋ฅผ ์ป์ ๋ค์ ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ธ์ํ ์ ์๋๋ก ํ๋ ๊ธฐ์ ๋ก, ์ปดํจํฐ ๋น์ ๋ถ์ผ์์ ํ์ฌ ๋๋ฆฌ ์ฐ์ด๋ ๋ํ์ ์ธ ๊ธฐ์ ์ค ํ๋์ ๋๋ค. OCR task๋ ๊ธ์ ๊ฒ์ถ (text detection), ๊ธ์ ์ธ์ (text recognition), ์ ๋ ฌ๊ธฐ (Serializer) ๋ฑ์ ๋ชจ๋๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
ํ๊ต๋ ์์ ์์ ๋ค๋ฃจ๋ AI ๋ชจ๋ธ ์ฐ๊ตฌ๊ณผ์ ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ์ ํ๊ฐ ๋ฐฉ๋ฒ์ด ์ฃผ์ด์ง๊ณ , ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ ํด๋น ๋ฐ์ดํฐ์ ํ๊ฐ๋ฐฉ์์ ๊ฐ์ฅ ์๋ง๋ ๋ชจ๋ธ์ ์ฐพ์๋๊ฐ๋ ๊ณผ์ ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ค๋ฌด์์๋ ์๋น์ค์ ๊ธฐํ๋ง ์กด์ฌํ ๋ฟ, ๋ฐ์ดํฐ, ๋ฒ ์ด์ค๋ผ์ธ ๋ชจ๋ธ, ํ๊ฐ๋ฐฉ๋ฒ ๋ชจ๋ ์ ๊ณต๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์ผ๋ฐ์ ์ ๋๋ค. ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํ์ฌ ์ ๋ต ๋ผ๋ฒจ๋ง ๋ ธ์ด์ฆ๊ฐ ์๋ ์์ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํด์ผ ํ๊ณ , ๋ํ ๋ชจ๋ธ์ ๊ณต์ ํ๊ฒ ํ๊ฐํ๊ธฐ ์ํด์ ํ ์คํธ ๋ฐ์ดํฐ์ ์ ๋ต์ด ์ ํํด์ผ ํ๋ ๋ฑ ์ ์ฒด ํ๋ก์ธ์ค์์ ๋ฐ์ดํฐ ์ ์ ์์ ์ด ์ฐจ์งํ๋ ๋น์ค์ด ๋๊ณ ๋งค์ฐ ์ค์ํ ์์ ์ ๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ค๋ฌด์์ ํ์ฉ๋๋ AI ํ๋ก์ ํธ ๊ณผ์ ์ ์ ๋ฐ์ ์ธ ์ดํด(๋ฐ์ดํฐ ์ ์, ๋ชจ๋ธ ๊ฐ๋ฐ, ์ฑ๋ฅ ํ๊ฐ)์, ํผ๋๋ฐฑ ์ฌ์ดํด์ ํตํ์ฌ ์ ์ง์ ์ผ๋ก ๋ชจ๋ธ ์ฑ๋ฅ์ ๊ฐ์ ํด๋๊ฐ๋ ์ ์ฒด์ ์ธ ํ๋ก์ธ์ค๋ฅผ ๊ฒฝํํด ๋ณผ ์ ์์ต๋๋ค.
- ์๋ฒ: V100 GPU
- ์ฌ์ฉ ๋ชจ๋ธ: EAST + VGG16
- ๊ฐ๋ฐ ๋ฐ ํ์ ํด: Git, Slack, Zoom, Visual Studio Code
- ์ ์ฒด ์ด๋ฏธ์ง ๊ฐ์ : ICDAR17(2970์ฅ) + ICDAR15(1000์ฅ) + upstage_data(702์ฅ)
- Input : ๊ธ์๊ฐ ํฌํจ๋ ์ ์ฒด ์ด๋ฏธ์ง
- Format : bbox ์ขํ๊ฐ ํฌํจ๋ UFO Format
- ์ด์ฐํ: upstage ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
- ์ ์น์ค: Dataset ํ์ ๋ฐ ๊ฒฐํฉ, ๋ชจ๋ธ ์๋ฌ ๋๋ฒ๊น , ์ผ์ธ ํ๊ธ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
- ๊น์ฃผํฌ: Wandb Logging, Augmentation ์คํ ๋ฐ ๊ด๋ฆฌ, ๋ฐ์ดํฐ์ ํ์
- ์ดํด์ฑ: W&B Sweep์ ์ด์ฉํ Hyperparameter Tuning ์๋
- ์ ํ์: Dataset ํ์ ๋ฐ ๊ฒฐํฉ, EDA
[2022.12.05 ~ 2022.12.07]
- Data Annotation ๊ฐ์ ์๊ฐ ๋ฐ ํ๋ก์ ํธ ๊ธฐํ ์๋ฒ ์ค์ ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ setting
- Annotation ํด์ ํ์ฉํ์ฌ Annotation ์ค์ต ์งํ
[2022.12.08 ~ 2022.12.10]
- ์คํผ์ค์์๋ฅผ ํตํ Baseline ์ดํด
- Baseline ํ ํ๊ฒฝ์ ๋ง๊ฒ setting
- Seed ๊ณ ์
- Validation Dataset ์ค์
- Wandb setting
[2022.12.11 ~ 2022.12.12]
- ์ถ๊ฐ ๋ฐ์ดํฐ ํ์ ๋ฐ Concat ์๋
- ๊ธฐ๋ณธ ๋ฐ์ดํฐ: ICDAR17_Korea
- ICDAR15, ICDAR17 All ๋ฐ์ดํฐ ํ์ ๋ฐ UFO ํํ๋ก JSON ํ์ผ ์ ์
[2022.12.13 ~ 2022.12.14]
- Augmentation ์คํ ์งํ
- ๋ง์ ์คํ์ ์ํด ICDAR_Korea ๋ฐ์ดํฐ๋ก๋ง ์งํ
- Distortion, MotionBlur, GuassNoise, Weather ๋ฑ ๋ค์ํ Augmentation์ ์๊ด๊ด๊ณ๋ฅผ ์๊ฐํ๋ฉฐ ์ ์ฉ
[2022.12.13 ~ 2022.12.14]
- ์ต์ข ํ์ต
- ICDAR15, ICDAR17, Upstage ๋ฐ์ดํฐ์ ์ Concat
- Augmentation ์คํ์ ํตํด ์ป์ ์ต์ ์ Augmentation์ ํ์ฉ
- ํ์ ๋ณ๋ก Input size์ Image size๋ฅผ ๋ค๋ฅด๊ฒ ์ ์ฉํ๋ฉฐ ํ์ต ์งํ
- ์ด๋ฏธ์ง ๋ถํฌ
ICDAR15 ICDAR17 Upstage ๋ชจ๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ 1280 X 720 ICDAR17์ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ๋ค์ํ๊ฒ ๋ถํฌํ๊ณ ์์
- ์ด๋ฏธ์ง๋น ๋จ์ด ๊ฐ์
ICDAR15 ICDAR17 Upstage ์ด๋ฏธ์ง๋น ๋จ์ด๋ 0~10๊ฐ ์ฌ์ด์ ๋ถํฌ๊ฐ ๊ฐ์ฅ ๋ง์์
- ์ธ์ด ๋ถํฌ
ICDAR15 ICDAR17 Upstage ICDAR15์ ICDAR17 ๋ฐ์ดํฐ๋ ์์ด์ ๋น์ค์ด ๋งค์ฐ ๋ง์๊ณ Upstage ๋ฐ์ดํฐ๋ ํ๊ธ๊ณผ ์์ด์ ๋น์ค์ด 1:1์ ๋น์จ์ ๋ณด์ฌ์ฃผ์๋ค.
- BBOX size
ICDAR15 ICDAR17 Upstage ๋๋ถ๋ถ์ ์ด๋ฏธ์ง์ BBox 1ํ๋ก๋ณด๋ค ์์ ํฌ๊ธฐ์ BBox๊ฐ ๋๋ถ๋ถ์์ ํ์ธ.
์ผ์ธ ์ค์ ์ดฌ์ ํ๊ธ ์ด๋ฏธ์ง
- Test Data๊ฐ ์ฃผ๋ก ํ๊ธ๋ก ์ด๋ฃจ์ด์ก์ผ๋ฏ๋ก AI-Hub์ ์๋ ์ผ์ธ ์ค์ ์ดฌ์ ํ๊ธ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ์ฌ ํ์ฉํ๊ณ ์ ํจ
- Data annotation ํ์ผ์ด ์ด๋ฏธ์ง๋น ํ๋์ txt ํ์ผ๋ก ์ด๋ฃจ์ด์ ธ ํตํฉํ์ฌ UFO ํํ๋ก ๋ฐ๊พธ๋ python ํ์ผ์ ์์ฑํจ
- ๊ทธ๋ฌ๋ ์๋ฐ์ดํฐ๊ฐ ๋๋ฌด ํฐ ์ฉ๋์ ๊ฐ์ ธ์ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ์ ์๊ณ , ์ํ๋ฐ์ดํฐ๋ bias๊ฐ ๋๋ฌด ์ปค์ ์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ๋ชปํจ
upstage ๋ฐ์ดํฐ
- ์ํํ ํ์ต์ ์ํด upstage ๋ฐ์ดํฐ ์ค ์ฌ๊ฐํ์ด ์๋ ๋ค๊ฐํ ํํ๋ก ์ด๋ฃจ์ด์ง bbox๋ฅผ ํฌํจํ ์ด๋ฏธ์ง๋ฅผ ์ ์ธํจ
- ์ ์ธํ ์ด๋ฏธ์ง๋ค์ ๋ํด annotation ํ์ผ์ ํธ์งํจ
Metric: F1-Score
None Distort +MotionBlur +GaussianNoise All 0.4621 0.4939 0.4934 0.5398 0.5627
EAST + VGG16
Metric: F1-Score
F1-Score Recall Precision 0.6364 0.5689 0.7220
- Augmentation ์คํ์ ์ฒด๊ณ์ ์ผ๋ก ์งํํจ
- ์ํต๊ณผ ํ์ ์ด ์ํํ๊ฒ ์ ์ด๋ฃจ์ด์ง
- ์๋ก์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ฆฌ๋ทฐํ๋ฉด์ ์คํ ๊ด๋ฆฌ
- ์ ๋ฒ ํ๋ก์ ํธ๋ณด๋ค๋ ํ์ฉ์ ์ข๋ ํ์ผ๋ ์์ง github ํ๋ก์ ํธ ํ์ฉ๋๊ฐ ๋์ง ์์
- W&B Sweep์ ์ด์ฉํ Hyperparameter Tuning์ ์๋ํด๋ณด๋ ค๊ณ ํ์์ผ๋ ์คํจํจ
- ํ์ต ๋์ค์ ๋ฉ์ถ๋ ์ํฉ์ด ์ฌ๋ฟ ๋ฐ์ํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋๋ฐ์ ์ด๋ ค์์ด ์์์
- ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ์ ๋ผ๋ฒจ๋ง์ ์ค์์ฑ์ ์๊ฒ ๋์.
- OCR Task์ ๋ํ ์ดํด๋๋ฅผ ๋์ผ ์ ์์์.
- ์ค์ ๋ก annotation ํด์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ํด๋ณด๊ณ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ก ํ์ฉ์ ์ด๋ป๊ฒ ํ๋์ง ๊ฒฝํํด๋ด
pip install -r requirements.txt
apt-get update
apt-get install ffmpeg libsm6 libxext6 -y
โโโ level2_dataannotation_level2_cv_09
โโโ convert_mlt #ICDAR Json to UFO Format
โโโ dataset
โโโ detect
โโโ deteval #Metrics
โโโ east_dataset
โโโ inference
โโโ loss
โโโ merge_data
โโโ model
โโโ train_many #Multiple Dataset
โโโ train_noval #No Validation
โโโ train
โโโ transfer_outsideKo #AIHub Json to UFO Format
โโโ upstage_preprocess #Preprocess Upstage Dataset