/level2-data-annotation_cv-level2-cv-03

level2-data-annotation_cv-level2-cv-03 created by GitHub Classroom

Primary LanguageJupyter Notebook

πŸ”  Data Annotation for OCR data


πŸ‘¨β€πŸŒΎ Team

  • Level 2 CV Team 03 - λΉ„λœ¨μ½”μΈ
  • νŒ€ ꡬ성원 : κΉ€λŒ€κ·Ό, λ°•μ„ ν˜, 강면ꡬ, μ •μž¬μš±, ν•œν˜„μ§„

πŸŽ‡ Main Subject

슀마트폰 μΉ΄λ“œ 결제, μΉ΄λ©”λΌλ‘œ μΉ΄λ“œ 인식, μ£Όμ°¨μž₯ λ‚΄ μ°¨λŸ‰ 번호 인식기 λ“± μ‚¬λžŒμ΄ μ“°κ±°λ‚˜ 이미지 속에 μžˆλŠ” 문자λ₯Ό 컴퓨터가 인식할 수 μžˆλ„λ‘ ν•˜λŠ” κΈ°μˆ μ„ OCR(Optical Character Recognition)이라 λΆ€λ₯΄λ©° μƒν™œ 속 λ‹€μ–‘ν•œ 편의 κΈ°λŠ₯ μ œκ³΅μ— ν•„μˆ˜μ μΈ κΈ°μˆ μž…λ‹ˆλ‹€.

ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ—μ„œλŠ” 크게 κΈ€μž κ²€μΆœ(text detection), κΈ€μž 인식(text recognition), μ •λ ¬(Serialization)의 3가지 λ‹¨κ³„λ‘œ κ΅¬μ„±λœ OCR taskμ—μ„œ κΈ€μž κ²€μΆœ task λ§Œμ„ μ§‘μ€‘μ μœΌλ‘œ ν–₯상 μ‹œν‚€λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.

πŸ’» Development Environment

개발 μ–Έμ–΄ : PYTHON (IDE: VSCODE, JUPYTER NOTEBOOK)

μ„œλ²„: AI STAGES (GPU: NVIDIA TESLA V100)

ν˜‘μ—… Tool : git, notion, wandb, google spreadsheet, slack

🌿 Project Summary

Structure

ν”„λ‘œμ νŠΈ ν”Œλ‘œμš° 차트

ν”„λ‘œμ νŠΈ ν”Œλ‘œμš° 차트

Dataset

μƒκΈ°ν•œ ν”„λ‘œμ νŠΈλŠ” 두 개의 데이터λ₯Ό μ œκ³΅ν–ˆμœΌλ©° 좔가적인 데이터 μ‚¬μš©μ— μ œν•œμ΄ μ—†μ—ˆμŒ

  • κΈ°λ³Έ 제곡 데이터

    1. ICDAR17 데이터 쀑 ν•œκΈ€ 데이터 (ICDAR17_Korean)
    2. Boostcamp 3κΈ° camper 듀이 upstage의 annotation tool을 μ΄μš©ν•΄ 직접 μƒμ„±ν•œ 데이터 (Annotated)
  • μΆ”κ°€ μ‚¬μš© 데이터

    ICDAR17 전체 데이터 β‡’ 전체 데이터 쀑 ν”„λ‘œμ νŠΈ λͺ©ν‘œμ— 맞좰 ν•œκΈ€μ™€ μ˜μ–΄λ§Œ μ‚¬μš© (ICDAR17_MLT)

  • UFO : upstageμ—μ„œ μ œκ³΅ν•œ OCR 데이터 ν‘œμ€€ format

dataset
β”œβ”€β”€ ICDAR17_Korean ┬─ images
|                  └─ ufo ──┬─ train.json 
|                           β”œβ”€ train_v1.json
|                           β”œβ”€ valid_v1.json
|                           β”œβ”€ train_v2.json
|                           └─ valid_v2.json
|
β”œβ”€β”€ Annotated ─────┬─ images 
|                  └─ ufo ──┬─ annotation.json 
|                           └─ train_v3.json
|
└── ICDAR17_MLT ───── raw ──┬─ ch8_training_gt
                            β”œβ”€ ch8_training_images
                            β”œβ”€ ch8_validation_gt
                            └─ ch8_validation_images

Metrics

β–‘ Precisionκ³Ό Recall의 μ‘°ν™” 평균인 F1-score

단, ν•˜λ‚˜μ˜ κΈ€μž μ˜μ—­μ„ λΆ„λ¦¬λœ λ‹€μˆ˜μ˜ μ˜μ—­μœΌλ‘œ μ˜ˆμΈ‘ν•˜λŠ” 것을 μ§€μ–‘ν•˜κ³ μž one-to-many match의 경우 score 0.8둜 penaltyλ₯Ό μ€€ ν˜•νƒœ

β–‘ BBox의 Ground truth와 Prediction은 ν˜•νƒœμ— 따라 μ•„λž˜ μ„Έ 가지 경우λ₯Ό 생각해볼 수 있음

  1. One-to-one match : ν•˜λ‚˜μ˜ κΈ€μž μ˜μ—­μ΄ ν•˜λ‚˜μ˜ 예츑 μ˜μ—­κ³Ό μΌμΉ˜ν•˜λŠ” 경우
  2. Many-to-one match : μ—¬λŸ¬κ°œμ˜ κΈ€μž μ˜μ—­μ΄ ν•˜λ‚˜μ˜ 예츑 μ˜μ—­κ³Ό μΌμΉ˜ν•˜λŠ” 경우
  3. One-to-many match : ν•˜λ‚˜μ˜ κΈ€μž μ˜μ—­μ΄ μ—¬λŸ¬κ°œμ˜ 예츑 μ˜μ—­μ˜ ν•©κ³Ό μΌμΉ˜ν•˜λŠ” 경우