Week 11 ํ์ต ์ ๋ฆฌ
- Data-Centric AI์ ๊ฐ์
- Data-Centric AI์ ์ค์์ฑ
- OCR Task
- ๊ฑฐ๋ ๋ชจ๋ธ์ ํ์ฉํ OCR ๋ฐ ๋ฌธ์ ์ดํด
- OCR Services & Applications
- OCR ๋ฐ ๋ฌธ์ ๋ฐ์ดํฐ์ ์๊ฐ
- OCR ์ฑ๋ฅ ํ๊ฐ
- Annotation ๋๊ตฌ ์๊ฐ
- ๋ฐ์ดํฐ ๊ตฌ์ถ ์์ ์ค๊ณ
- Data-Centric AI๋ฅผ ์ํ ๋ฐ์ดํฐ ํ์ฒ๋ฆฌ
1. Data-Centric AI์ ๊ฐ์
1.1 AI System
Code + Data๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์ด์ Data-Centric AI๋ Code (model or algorithm) ๋ณด๋ค Data๋ฅผ ์ด์ฉํด ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ ค ํ๋ ์ ๊ทผ ๋ฐฉ๋ฒ
1.2 Data-Centric AI
- ์ฑ๋ฅ ํฅ์์ ์ํด Data ๊ด์ ์์ ๊ณ ๋ฏผ
- Model Modification ์์ด ์ด๋ป๊ฒ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์ ์ํฌ ์ ์์๊น
- Data-Centric Evaluation
2. Data-Centric AI์ ์ค์์ฑ
- ์์ ์ด๋ ํ๊ต, ์ฐ๊ตฌ์์๋ Public ํ ๋ฐ์ดํฐ์ ์ ์ด์ฉํด ๊ทธ ๋ฐ์ดํฐ ์ ์ ๋ง๋ ๋ ์ข์ ๋ชจ๋ธ์ ์ฐพ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
- ํ์ง๋ง ์ค์ ์๋น์ค ๊ฐ๋ฐ ์์๋ ๋ฐ์ดํฐ ์ ์ด ์ค๋น๋์ด ์์ง ์๊ณ ์๊ตฌ์ฌํญ๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์๋น์ค์ ์ ์ฉ๋๋ AI ๊ฐ๋ฐ์ ๋ฌด์ ์๋น ๋ถ๋ถ์ ๋ฐ์ดํฐ์ ์ ์ค๋นํ๋ ์์ ์ด๋ค.
2.1 Production Process of AI Model
- AI ์๋น์ค ๊ฐ๋ฐ ์ โ ๋ฐ์ดํฐ์ ๋ชจ๋ธ์ ์ ํ๋๊ฐ ๋ฐ๋ฐ ์ ๋
- AI ์๋น์ค ๊ฐ์ ์ โ ๋ชจ๋ธ๋ณด๋ค๋ ๋ฐ์ดํฐ๊ฐ ํจ์ฌ ์ค์
3. OCR Task
- OCR - ์ ํต์ ์ธ Task ์ค ํ๋๋ก ํฐ ํ๋ฉด์ ๊ฒ์ ๊ธ์จ ํํ
- STR - ์ผ์์ ์กด์ฌํ๋ Text๋ฅผ ์ธ์ํ๋ Task
3.1 OCR ์ ์
- ๋จผ์ ๊ธ์๋ฅผ ์ฐพ๋๋ค.
- ์ฐพ์ ๊ธ์๊ฐ ๋ฌด์์ธ์ง ํ๋จํ๋ค.
3.2 OCR ๋ฐ์ดํฐ์ ํน์ง
- ๋งค์ฐ ๋์ ๋ฐ๋
- ๊ทน๋จ์ ์ธ ์ข ํก๋น
- ํน์ด๋ชจ์
- ๊ตฌ๊ฒจ์ง, ํ์ด์ง, ์ธ๋ก ์ฐ๊ธฐ
- ๋ชจํธํ ๊ฐ์ฒด ์์ญ
- ํฌ๊ธฐ ํธ์ฐจ
3.3 OCR ๋ฐ์ดํฐ ์์ญ ํํ ๋ฐฉ๋ฒ
- ์ง์ฌ๊ฐํ
- ์ง์ฌ๊ฐํ + ๊ฐ๋
- ์ฌ๊ฐํ
- ๋ค๊ฐํ
3.4 OCR Module
- Text Detector: ์ด๋ฏธ์ง ์ ๋ ฅ์ ๊ธ์ ์์ญ ์์น๊ฐ ์ถ๋ ฅ์ธ ๋ชจ๋ธ
- Text Recognizer: ํ๋์ ๊ธ์ ์์ญ ์ด๋ฏธ์ง ์
๋ ฅ์ ํด๋น ์์ญ ๊ธ์์ด์ด ์ถ๋ ฅ์ธ ๋ชจ๋ธ
- ์ด๋ฏธ์ง ์ ์ฒด์ ์ ๋ ฅ์ด ์๋๋ผ Text Detector๋ก ์ ํด์ง ๊ธ์ ์์ญ๋ง ์ ๋ ฅ!
- Computer Vision๊ณผ Natural Language Processing์ ๊ต์งํฉ ์์ญ
- input: image / output: Text
- Serializer: OCR ๊ฒฐ๊ณผ๊ฐ์ ์์ฐ์ด ์ฒ๋ฆฌํ๊ธฐ ํธํ๊ฒ ์ผ๋ ฌ๋ก ์ ๋ ฌํ๋ ๋ชจ๋
- ex) ์ฌ๋์ด ์ฝ๋ ์์๋๋ก ์ ๋ ฌํ๋ค.
- Text Parser: ์ ์๋ Key๋ค์ ๋ํ Value ์ถ์ถ
- BIO ํ๊น ์ ํ์ฉํ ๊ฐ์ฒด๋ช ์ธ์: ๋ฌธ์ฅ์์ ๊ธฐ ์ ์๋ ๊ฐ์ฒด์ ๋ํ ๊ฐ ์ถ์ถ
4. ๊ฑฐ๋ ๋ชจ๋ธ์ ํ์ฉํ OCR ๋ฐ ๋ฌธ์ ์ดํด
4.1 TrOCR
- Efficient and Accurate
- ๊ฑฐ๋ํ ๋ฐ์ดํฐ์ ๋ํด ์ฌ์ ํ์ต๋ image/text ํธ๋์คํฌ๋จธ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉ(plugandplay)
- ์ด๋ฏธ์ง/OCRtask์ ๋ํ ์ฌ์ ์ง์์ ํ์ฉํ๋ ํน์ํ ์ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์๋๋ค(easytoimplement)
- ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ๋์์ ์ฌ์ ํ์ต
- ๋ฐ์ดํฐ ์ฆ๊ฐ์ ์ค์ ์์ ๋ฒํ ์์ธ ์ํฉ์ ๋ชจ๋ธ๋งํ ๋ ๊ฐ์ฅ ํจ๊ณผ์ !
- TextRecognitionTask
- Randomrotation
- Gaussianblurring
- Imagedilation
- Imageerosion
- Downscaling
- Underlining
- SceneTextRecognition
- RandAugment(ํ๋ณด์ฆ๊ฐํ์ ๋ต๋ค์ค๊ฐ์ฅํจ๊ณผ์ ์ธ์ฆ๊ฐํsequence๋ฅผ ์ถ์ ํ๋์๊ณ ๋ฆฌ์ฆ)
- TextRecognitionTask
4.2 DTrOCR
- ์ด๋ฏธ์ง ์ธ์ฝ๋ ์์ด, ์ด๋ฏธ์ง ์๋ฒ ๋ฉ์ ๋ ํฐ ํ ์คํธ ๋์ฝ๋ (GPT-2)์ ๋ฃ์ ๋ชจ๋ธ
- ํ๋ผ๋ฏธํฐ ํจ์จ์ฑ์ด ์ข์
- ๋ ํฐ ์ฌ์ ํ์ต ๋ฐ์ดํฐ ์ ์ ์ฌ์ฉ
- Arichtecture
- Feature extractor
- Multi-model feature enchancement
- Output fusion
4.3 MATRN
- Motivation
- ๊ฐ๋ ค์ง๊ฑฐ๋ ํด์๋๊ฐ ๋ฎ์ ์ด๋ฏธ์ง์ ๋ํด์ ์ด๋ฏธ์ง๋ก๋ง ํ๋จ์ด ํ๋ฆ
- ์ด๋ป๊ฒ ๋ modality๋ฅผ ์ ๋ ฌ์ํค๊ณ ๊ฐ๊ฐ์ attention์ ๋ฎค์งํ์ง?
5. OCR ๋ฐ ๋ฌธ์ ๋ฐ์ดํฐ์ ์๊ฐ
- Public Dataset
- Kaggle, RRC ๋ฑ์ ๋ํ์ Dataset
- OCR ๋ฐ์ดํฐ ์ ๋ ผ๋ฌธ์ด๋ ์ฌ๋ฌ OCR ํํ์ Dataset
- Google Datasearch, Zenodo.org, Datatang ๋ฑ์ ์ ๋ฌธ ๋ฐ์ดํฐ ์ ์ฌ์ดํธ ์ด์ฉ
5.1 OCR EDA
- imagewidth,height๋ถํฌ
- ์ด๋ฏธ์ง๋น๋จ์ด๊ฐ์๋ถํฌ
- ์ ์ฒดํ๊ทธ๋ณ๋ถํฌ
- Image tag
- Word tag
- Orientation
- Language tag
- ์ ์ฒดBBOXํฌ๊ธฐ๋ถํฌ
- ๋์ด ๊ธฐ์ค
- Horizontalํ๋จ์ด์aspectratio(๊ฐ๋ก/์ธ๋ก)
5.2 Tips
- detectorํ์ต์ ์ํ ์์ด ๋ฐ ํ๊ตญ์ด public dataset์ด ๋ง์ด ์์ผ๋ ์ด๋ฅผ ์ ํ์ฉ ํ๋ ๊ฒ์ด ์ข๋ค.
- ํ์ต ๋ชฉ์ ์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํํ์ฌ ํ์ต์ํค๋ฉด ์ข๋ค.
- ๋ค์ํ ํํ์ ๋ฐ์ดํฐ ์ ์ ํตํฉํ๊ธฐ ์ํด UFO์ฒ๋ผ ํ๋์ ํต์ผ๋ ํฌ๋งท์ ๋ง๋๋ ๊ฒ์ด ์คํ์ ํธ๋ฆฌํ๋ค
6. OCR ์ฑ๋ฅ ํ๊ฐ
โ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ๋ ์ผ๋ง๋ ์ ๋์ํ๋๊ฐ?
6.1 ์ฑ๋ฅ ํ๊ฐ ์ ๋ฐ์ดํฐ ๋ถ๋ฆฌ ๋ฐฉ๋ฒ
6.2 ๊ธ์ ๊ฒ์ถ ๋ชจ๋ธ ํ๊ฐ ๋ฐฉ๋ฒ
์ฌ๊ธฐ๋ ๋ค์ ๊ณต๋ถํด์ผํ ๋ฏ
7. Annotation ๋๊ตฌ ์๊ฐ
7.1 ์ข์ ๋ฐ์ดํฐ
โ ๊ณจ๊ณ ๋ฃจ ๋ชจ์ฌ์๊ณ ์ผ์ ํ๊ฒ ๋ผ๋ฒจ๋ง๋ ๋ฐ์ดํฐ
- ๊ฐ์ด๋ ์์ง ๋ฅ๋ ฅ, ์ผ๊ด๋ ์์ ์ ๋ณด์ฅํ๊ธฐ ์ํ ํ๋ก์ธ์ค ์ ๋ฆฝ
7.2 Annotation ๋๊ตฌ
- LabelMe
- ์ฅ์ : ์ค์น ์ฉ์ด, Python์ผ๋ก ๋์ด ์์ด ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ
- ๋จ์ : ๊ณต๋ ์์ ๋ถ๊ฐ๋ฅ, object, image์ ๋ํ ์์ฑ ๋ถ์ฌ X
- CVAT
- ์ฅ์ : ๋ค์ํ Annotation์ ์ง์, Automatic annoataion ๊ธฐ๋ฅ์ผ๋ก, ๋น ๋ฅธ annotaion์ด ๊ฐ๋ฅ, ์จ๋ผ์ธ์์ ๊ฐ๋ฅ, multi-user ๊ธฐ๋ฐ annotation ๊ฐ๋ฅ
- ๋จ์ : model inference๊ฐ ๊ต์ฅํ ๋๋ฆผ, object, image์ ๋ํ ์์ฑ ๋ถ์ฌ X
- Hasty Labeling Tool
- ์ฅ์
- ๋ค์ํ annotation์ ์ง์ํ๋ค.
- semi-automated annotation ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
- cloud storage๋ฅผ ํ์ฉํ ์ ์๋ค. (์ ๋ฃ)
- multi-user ๊ธฐ๋ฐ annotation์ด ๊ฐ๋ฅํ๋ฉฐ, Assignee, Reviewer ๊ธฐ๋ฅ์ด ์ ๊ณต๋๋ค.
- ๋จ์
- ์๋น์ค ์์ฒด๊ฐ free credit์ ๋ค ์์งํ ์ดํ์๋ ๊ณผ๊ธ์ ํด์ผํ๋ค.
- annotator๊ฐ ์๋์ผ๋ก ์ด๋ฏธ์ง๋ง๋ค review state๋ก ๋ณ๊ฒฝํด ์ฃผ์ด์ผ ํ๋ค.
- Hasty ํ๋ซํผ์ ๊ฐํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ด, annotation ๋๊ตฌ์ ๋ํ ์ปค์คํฐ๋ง์ด์ง์ด ๋ถ๊ฐ๋ฅํ๋ค.
8. ๋ฐ์ดํฐ ๊ตฌ์ถ ์์ ์ค๊ณ
8.1 ๊ฐ์ด๋ ๋ผ์ธ
โ ์ข์ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํ๊ธฐ ์ํ ๊ณผ์ ์ ์ ๋ฆฌํด ๋์ ๋ฌธ์
๊ฐ์ด๋๋ผ์ธ์ ๋ชฉ์ ์ ๋ง๊ฒ ์ผ๊ด๋์ด์ผ ํ๋ค.
- ํ์ํ 3๊ฐ์ง ์์
- ํน์ด ์ผ์ด์ค: ๊ฐ๋ฅํํ ํน์ด ์ผ์ด์ค๊ฐ ๋ค ๊ณ ๋ ค๋์ด์ผํ๋ค.
- ๋จ์ํจ: ์์ ์๊ฐ ์์งํ๊ธฐ ์ฌ์์ผํจ
- ๋ช ํํจ: ๋์ผํ ๊ฐ์ด๋ ๋ผ์ธ์ ๋ํด์ ๊ฐ์ ํด์์ด ๊ฐ๋ฅํด์ผํจ
Annotationguide๋ ์ ๋ ํ ๋ฒ์ ์์ฑ๋์ง ์๊ณ , ์๋ฒฝํ ๊ฐ์ด๋๋ ์กด์ฌํ์ง ์๋๋ค!
- ๊ฐ์ด๋ ๋ผ์ธ์๋ ์ผ๊ด์ฑ์ด ๋งค์ฐ๋งค์ฐ๋งค์ฐ๋งค์ฐ ์ค์!
8.2 Summary
- ์ถฉ๋ถํ pilot tagging์ ๋ฐํ์ผ๋ก ๊ฐ์ด๋ ์ ์
- ๊ฐ์ด๋ ๋ผ์ธ ์์ ์ versioning ํ์,๊ธฐ์กด ๋ด์ฉ๊ณผ ์ถฉ๋ ์๋๋ก ์ต์ํ์ ๋ณ๊ฒฝ๋ง
- ์ต๋ํ ๋ช ํํ๊ณ ๊ฐ๊ด์ ์ธ ํํ์ ์ฌ์ฉ
- ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ์ ๋ง๋ค์ด์ง ๋ฐ์ดํฐ
- ์ฐ์ ์์๋ฅผ ์๊ณ , ํ์ํ๋ค๋ฉด ํฌ๊ธฐํ๋ ๊ฒ๋ ์ค์
9. Data-Centric AI๋ฅผ ์ํ ๋ฐ์ดํฐ ํ์ฒ๋ฆฌ
9.1 Image Data Augmentation
โ Image Data Augmentation = Geometric Transformation + StyleTransformation + โฆ
- Geometric Transformation์ด ๊ฐ์์์๋ ํนํ ์ค์ํ๋คํจ
์๋ชป๋ Geometric Transformation์ ๋์์ด ์๋๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๋ค.
9.2 ์ฌ๋ฐ๋ฅธ Geometric Transformation์ ์ํ ๊ท์น
- Positive ratio ๋ณด์ฅ: ์ต์ 1๊ฐ์ ๊ฐ์ฒด๋ฅผ ํฌํจํด์ผ ํ๋ค
- ๊ฐ์ฒด ์๋ฆผ ๋ฐฉ์ง: ์๋ฆฌ๋ ๊ฐ์ฒด๊ฐ ์์ด์ผ ํ๋ค.
9.3 ํฉ์ฑ ๋ฐ์ดํฐ ์ ์
โ Synthetic Data: Real Data์ ๋ํ ๋ถ๋ด์ ๋์ด์ค๋ค
-
๋น์ฉ์ด ํจ์ฌ ์ ๊ฒ ๋ ๋ค.
-
๊ฐ์ธ์ ๋ณด๋ ๋ผ์ด์ผ์ค์ ๊ดํ ์ ์ฝ์ผ๋ก๋ถํฐ ์์ ๋กญ๋ค.
-
๋ ์ธ๋ฐํ ์์ค์ annotation๋ ์ฝ๊ฒ ์ป์ ์ ์๋ค. (character-level, pixel-level)
-
TextRecognitionDataGenerator
-
Synth Text: Depth Estimation์ ํตํด ์ ์ ํ ์์น์ ํ๋ฉด ๋ชจ์์ ๋ง์ถฐ์ ๊ธ์๋ฅผ ํฉ์ฑ
-
Synth Text 3D: 3D ๊ฐ์์ธ๊ณ๋ฅผ ์ด์ฉํ ํ ์คํธ ์ด๋ฏธ์ง ํฉ์ฑ
-
Unreal Text: 3D Virtual Engine์ ์ด์ฉ (๊ฐ์ ๋ View finding)
9.4 ํฉ์ฑ ๋ฐ์ดํฐ ์ฌ์ฉ ๋ฐฉ๋ฒ
Target dataset๋ง์ผ๋ก ํ์ตํ ๋:
- Image Netpretrained model๋ก ๋ถํฐ backbone์ ๋ถ๋ฌ์จ๋ค
- target dataset์ ๋ํด fine-tuning์ ์งํํ๋ค ํฉ์ฑ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ก์ ๋:
- ํฉ์ฑ ๋ฐ์ดํฐ๋ก ํ๋ฒ ๋ pretraining์ ํด์ค๋ค
- ์ดํ target dataset์ ๋ํด fine-tuning์ ์งํ.
9.5 Data Cleansing
โ ์ด์ํ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ ์ ์ํฅ์ ์ค๋ค
- ์ด๋ฏธ์ง ์์ฒด๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋ผ๋ฒจ์ด ์ ๋ชป ๋ถ์ฌ๋ ๊ฒฝ์ฐ