데이터증강(Data augmentation)은 기존 데이터를 다양한 방식으로 변형하여 , 데이터셋의 크기와 다양성을 증가시키는 방법.
데이터를 증강시켜 모델을 일반화하는 것.
관점에 따라서 데이터 균등화 시도.
Geometric : Global -level 의 변화를 주는 변형
ex) Randomcrop, resize, rotate , flip, shear등
Style transformation : Local-level의 변화를 주는 변형
ex) Color jitter, channel shuffle, noise filter 등등
[Rule1] Positive ratio보장 : 최소1개의 개체를 포함해야 한다.
[Rule2] 개체잘림방지 : 잘리는 개체가 없어야 한다
글자와 멀리 있는 배경에서는 hard negative sampling이 잘 되지 않는다
->해결 : 별도의 hard negative mining 기법을 도입해서 해결 가능.
밀집된 곳에서는 sampling이 잘 되지 않는다.
-> 해결 : 일단 최소 하나의 개체는 잘리지 않고 포함하게 함. 잘린 것들은 masking해서 학습에서 무시.
합성데이터는 기존 데이터가 없더라고 인공적으로 새로운 데이터를 만드는 방법
Real data확보 = Public dataset 가져오기 + 직접 만들기
위 이미지에서 도메인에 따라(한국어) public dataset 규모가 충분하지 않을 수 있다.
또한 웹에서 수집은 라이센스 문제, 직접 촬영하는경우는 큰 데이터셋을 만들기 어렵다.
직접 annotation 하는 것은 매우 매우 어렵고 힘들다. (그냥 막노동이므로..)
https://github.com/Belval/TextRecognitionDataGenerator
여기 깃헙에 들어가서 실행할 수 있다.
Synthetic Data for Text Localisation in Natural Images
https://arxiv.org/pdf/1604.06646
SynthText3D: Synthesizing Scene Text Images from 3D Virtual World
https://arxiv.org/abs/1907.06007
UnrealText: Synthesizing Realistic Scene Text Images from the Unreal World
https://arxiv.org/abs/2003.10608
합성데이터가 주어졌을때 -> 합성 데이터로 한 번 더 pretraining 해주며, 이후 target dataset 에 대해서 fine-tuning을 진행한다.
Character Region Awareness for Text Detection
https://arxiv.org/abs/1904.01941
데이터클렌징(DataCleansing)은 데이터에서 오류나 불일치 등을 식별하고 수정하여 품질을 향상시키는 과정입니다