본문 바로가기

부스트캠프 AI Tech/데이터 제작

(10)
[10] Bag of Tricks 합성 데이터 SynthText ( Depth Estimation -> 적절한 위치에만, 표면 모양에 맞춰서 글자를 합성 ) SynthText3D ( 3D 가상 세계를 이용한 텍스트 이미지 합성 ) UnrealText (3D, 개선된 Viewfinding) Data Augmentation Geometric Transfoemation 할때 성능 감소 -> 개체 잘림 방지, 최소 1개 개체 포함 Rule loss 가 크게 발생하는 영역들을 분석해서 Rule 업데이트하는 피드백 필요 Multi-Scale Training & Inferance Naive Multi-Scale Training -> 원래 작은 글자가 작아지거나, 원래 큰 글자가 너무 커지는 경우 발생 SNIP - Scale Normalization ..
[9] Advanced Text Detection Models DBnet 글자영역 경계부분에서만 높은 임계치 ! 나머지 영역은 낮은 임계치 ! 글자영역은 경계부분을 제외한 영역으로 정의 ( PSNet ) 임계치 맵 미분 가능, Back propagation 가능하게 이진화에 가까운 함수 정의 MOST TFAM ( Text Feature Aligned Module ) Position-Aware NWS -> 실제 경계에서 가까운 곳 가중치를 줘서 merge 시 정확도 향상 TextFuseNet 글자하나 Instance segmentation 기반 방법의 단점 : 글자가 끊기거나 가려져 있는 경우 -> 보완 이미지 전체에서 글자 영역을 추출하는 Global Level Feature
[8] Annotation 도구 소개 Labelme (https://github.com/wkentaro/labelme) 설치 용이, python 으로 작성되어 custom 가능 공동작업 불가능, object, image 대한 속성 부여 불가 CVAT (https://github.com/openvinotoolkit/cvat) 다양한 annotation 지원 multi-user 기반. Assignee, Reviewer 기능 automatic annotation / model inferance 가 느림 object, image 속성 부여 까다롭다 Hasty Labeling Tool (https://hasty.ai/annotation/) 다양한 annotation, multi-user 기반. Assignee, Reviewer 기능 서비스 유료 an..
[7] 성능 평가 방식 Precision (정밀도) : 예측이 True인 경우에 실제도 True인 경우 Recall (재현도) : 실제 True인 경우에 예측도 True인 경우 IoU One-to-One | One-to-Many | Many-to-One Match Area Recall / Area Precision DetEval (2013) recall > 0.8(threshold) and precision > 0.4(threshold) 면 1, 아니면 0 -> Binary Matching Matrix 단, 스필릿 방지를 위해 one-to-many match 인 경우 0.8 IoU (2015) one-to-one matching 만 허용 ( 1 if IoU value > 0.5 else 0) TIoU TIoU = IoU * p..
[6] Annotation Guide 좋은데이터 골고루 모여 있는 Raw Data 일정하게 라벨링된 Ground Truth 가이드라인 작성 시 고려할 요소 특이 케이스 단순함 명확함 데이터셋 제작 파이프라인 크롤링 할때는 되도록 이미지 size 큰 것, 저작권 확인 가이드라인 기본적인 용어 정의
[5] 데이터 소개 OCR 학습 및 평가 데이터 Public Dataset Kaggle RRC (2년마다 열리는 OCR 전문 대회) 논문 Arixv (ai 논문), icdar (ocr) Datatang(데이터 유료 구매) OCR 데이터에 포함되는 것들 don't care의 transciption ### 로 표시 다양한 annotation format 존재 (json, xml, csv) -> 통합 UFO(Upstage Format for OCR)
[4] Text Detection 글자 검출 객체 특징 매우 높은 밀도 극단적 종횡비 모호한 객체 영역 크기 편차 글자 영역 표현법 직사각형 (x1, y1, x2, y2) or (x1, y1, w, h) or + 각도 사격형 (x1, y1 ---, x4, y4) -> 시계방향으로 다각형 -> 상하 점들이 쌍을 이루도록 짝수 점으로 표현 Regression-based vs Segmentation-based Regression-Based Arbitrary-shaped text -> 불필요한 영역을 포함 ( Bounding box 표현 방식의 한계 ) Extreme aspect ratio -> Bounding box 정확도 하락 ( Receptive field 의 한계 ) Segmentation-Based 각 화소 별로 인접한 8개 화소가 글..
[3] OCR Technology and Services OCR ( Optical Character Recognition ) 글자 인식 글자 검출과 객체 검출과의 차이점 영역의 종횡비 객체 밀도 글자 검출은 class가 text 하나 ! OCR 전체적인 구조 Detector 이미지 입력에 글자 영역 위치가 출력인 모델 Recognizer CV와 NLP 교집합 영역 ( CNN / RNN ) 글자 인식 Serializer OCR의 결과값을 자연어 처리하기 편하게 일렬로 정렬하는 모듈 EX) 단락을 어떻게 묶을지, 정렬할지 Serializer 의 결과값을 입력으로 받는 자연어 처리 모듈을 뒤에 붙여서 사용 가능 Parser 기 정의된 key 들에 대한 value 추출 ex) 신분증, 계산서, 카드 등 인식 OCR 적용 기술들 Google photo, 수기 입력 대체..
[2] 데이터 제작의 중요성 Ⅱ 현업에서 서비스 개발 시에는 데이터셋은 준비되어 있지 않고 요구사항만 존재 하는 경우가 많다. 그래서 AI 개발 업무의 상당 부분이 데이터셋을 준비하는 작업 서비스향 AI 모델 개발 과정 사용 중인 모델의 성능 개선을 하기 위한 방법은 2가지가 있다. Data-Centric ( 데이터만 수정하여 모델 성능 올리기) Model-Centric ( 데이터는 고정시키고 모델 성능 올리기 그러나 웬만하면 Data-Centric에 집중하는 편. -> 모델 구조 변경하는 것은 비용이 크다. / 정확도에 대한 성능 개선 요구가 많다. 데이터 관련 작업이 쉽지 않은 이유 어떻게 하면 좋을지에 대해서 잘 알려서 있지 않다. ( 보통 모델에 대한 논문이 99%) 라벨링 노이즈를 상쇄할 정도로 깨끗한 라벨링 데이터가 많아야 ..
[1] 데이터 제작의 중요성 Ⅰ Software 1.0 vs Software 2.0 Software 1.0 큰 문제를 작은 문제들의 집합으로 분해하고 개별 문제 별로 알고리즘 설계 특징을 추출하는데 사람이 개입 이미지 인식 기술도 처음엔 Software 1.0 철학으로 개발( 예를들어 사람이라면 팔, 다리, 얼굴 등) 2008년 DPM-v1 21.0% / 2014년 DPM-v5 33.7%. 객체 검물에서 대응하기 어려운 케이스가 많았다. Software 2.0 뉴렐넷의 구조에 의해 검색 영역이 정해짐 최적화와 데이터를 통해 사람이 정한 목적에 제일 부합하는 연산의 집합을 찾는다. SW 2.0 기술 발달로 점점 그 차지하는 영역이 커지고 있는 추세 그러나 아직까지도 산업계에서는 Software2.0에 대한 불신이 많이 존재한다. CNN ..