CS 공부/AI
-
[OCR] 성능 평가 방식CS 공부/AI 2023. 5. 25. 14:21
교차 검증을 통해 신중하게 모델 선택: 5-fold Cross Validation Confusion Matrix Recall, Precision Recall: 실제 True인 경우에 예측도 True인 경우 Precision: 예측이 True인 경우에 실제도 True인 경우 정량평가 & 정성평가 정량평가: 정량평가의 기준마다 점수가 달라짐 정성평가: 많은 사람들의 정량평가의 점수를 평균냄 (해당 모델이 서비스로 출시 되었을 때 사람들이 체감하는 품질 정도) 글자 검출 모델 평가 방법 테스트 이미지에 대해 결과값을 뽑는다 예측 결과와 정답 간 매칭/스코어링 과정을 거쳐 평가 용어 IoU = GT와 예측 bbbox의 교집합/합집합 (두 영역간의 유사도) Area Recall, Area Precision One..
-
[OCR] Annotation 가이드CS 공부/AI 2023. 5. 24. 21:53
가이드라인이란? 좋은 데이터를 확보하기 위한 과정을 정리해 놓은 문서 좋은 데이터 = 골고루 분포된 raw data + 일정하게 라발링된 GT 특이 경우를 발견하고 해당 샘플들을 확보하려고 노력해야하며, 이를 포함한 라벨링 가이드를 만들어야함 가이드라인의 필요성 학습목적에 따라 Annotation 방식이 달라질 수 있음 데이터의 일관성: 원하는 작업을 명확하게 언급하는 것이 일관성 측면에서 더 좋음 가이드 라인 작성시 중요한 요소 특이 케이스: 가능하면 특이 케이스가 다 고려된 가이드라인 단순함: 가이드라인이 너무 장황하면 안됨 명확함: 다른 해석이 안되도록 명확하게 작성 데이터셋 제작 파이프라인 서비스 요구 사항 ex. 영수증 인식에 사용할 OCR 엔진 개발 제작 목적 설정: 목적과 타겟 모델의 in/..
-
[OCR] Data CollectionCS 공부/AI 2023. 5. 24. 17:05
Public Dataset 라벨링된 실제 이미지를 손쉽게 확보 가능 원하는 데이터가 없을 수 있음 보통 수량이 적다 Public dataset마다 annotation format이 다르다 OCR 데이터에 포함되는 정보들 Bbox 좌표 text: 영역 내에 존재하는 글자들의 시퀀스 don't care: 검출해도 되고 안해도 되는 영역 file name image width image height Created Dataset Synthetic Image(합성 데이터) 라벨링 작업이 필요 없다 원하는 데이터 빠르게 확보 가능 실제 데이터와 얼마나 다른지 확인 필요 Real Image(실제 데이터) Crawled Image(크롤링된 이미지) 이미지 빠르게 모을 수 있음 고화질의 이미지가 적음 다양한 샘플 모으기..
-
[OCR] Text DetectionCS 공부/AI 2023. 5. 24. 02:15
일반 객체 영역 검출 vs 글자 영역 검출 일반 객체 검출: 클래스와 위치를 예측하는 문제 글자 검출: 객체의 위치만 예측하는 문제 (클래스 예측 안함) 객체의 특징 매우 높은 밀도 극단적 종횡비 특이 모양 (구겨진, 휘어진 영역) 모호한 객체 영역 글자 영역 표현법 직사각형 (RECT) 직사각형 + 각도 (Rotated Box) 사각형 (QUAD) 다각형 (Polygon) Arbitrary-shaped(임의의 모양) text를 주로 다루는 최근의 벤치마크들에 적합 일반적으로 2N points 이용하고, 상하 점들이 쌍을 이루도록 배치 Taxonomy Regression-based vs Segmentation-based Regression-based: 이미지를 입력 받아 글자 영역 표현값들을 바로 출력으..
-
OCRCS 공부/AI 2023. 5. 23. 23:31
OCR - Optical Character Recognition STR - Scene Text Recognition Offline Handwriting vs Online Handwriting offline handwriting: 이미지 입력, 글자값 출력 online handwriting: 좌표 시퀀스 입력, 글자값 출력 Object Detection & Text Detection 글자 영역 다수 객체 검출: 글자 영역이냐 아니냐, 단일 클래스 문제 (클래스 정보 필요없고 객체의 위치만 추정) Text Detector: 이미지 입력에 글자 영역 위치가 출력 Text Recognizer: 하나의 글자 영역 이미지 입력에 해당 영역 글자열이 출력인 모델 CV와 NLP의 교집합 영역 유사 영역으로 Image ..
-
[OCR] 데이터 제작의 중요성CS 공부/AI 2023. 5. 23. 18:13
Software 1.0 문제 정의: 비디오를 품질 저하 없이 적은 용량으로 저장할 수 없을까? (비디오 코덱) 큰 문제를 작은 문제들의 집합으로 분해 개별 문제 별로 알고리즘 설계 솔루션들을 합쳐 하나의 시스템으로 이미지 인식 기술도 처음에는 Software 1.0 철학으로 개발되었으나 객체 검출에서 대응하기 어려운 케이스가 정말 많았다. 이에 대한 해결책으로 결국 Software 2.0 등장 Software 2.0 Software 1.0은 어떤 연산을 할 지 사람이 고민하여 정하는 것 Software 2.0은 뉴럴넷의 구조에 의해 검색 영역을 한정 최적화를 통해 사람이 정한 목적에 제일 부합하는 연산의 집합을 찾음 이때 경로와 목적지는 데이터와 최적화 방법에 의해서 정해짐 AI 모델의 성능 = (모델구..
-
[Object Detection] Validation 전략 & EnsembleCS 공부/AI 2023. 5. 7. 21:55
💡 mAP가 높으면 항상 좋을까? 항상 그렇지는 않다. Threshold를 낮출 경우 오히려 mAP는 증가 최적의 threshold 찾아야함 추후 모델을 앙상블할 때도 이러한 문제가 발생 가능 적용하는 분야의 특징에 따라 threshold나 평가 metric을 설정하는 것이 좋음 Validation 전략 Random split: 전체 데이터를 랜덤하게 train / valid로 분리 K-fold: 전체 데이터를 K 비율로 train / valid로 분리, split 수만큼의 독립적인 모델을 학습하고 검증 Stratified K-fold: 데이터 분포를 고려하지 않는 K fold 방식과 달리 fold마다 유사한 데이터 분포를 갖도록 하는 방법, 데이터 불균형에 좋음 Group k-fold: group 기준..
-
[Object Detection] YOLOv4, M2Det, CornerNetCS 공부/AI 2023. 5. 7. 19:30
YOLOv4 등장배경 object detection에서 사용하는 최신 방법들을 소개 및 실험 최신 detection에서 정확도는 크게 향상시켰지만, 많은 양의 GPU 필요 실시간 task에는 부적합함 (ex. 자율주행) 다른 detector보다 빠르면서 정확도가 높은 YOLOv4 등장 Contribution 하나의 GPU에서 훈련할 수 있는 빠르고 정확한 object detector BOF, BOS 방법들을 실험을 통해서 증명하고 조합을 찾음 BOF: inference 비용을 늘리지 않고 정확도 향상시키는 방법 BOS: inference 비용 조금 높이지만 정확도가 크게 향상하는 방법 GPU 학습에 더 효율적이고 적합하도록 방법들을 변형 Bag of Freebies (BOF) Data Augmentati..