전체 글
-
[Segmentation] DeepLab v2~v3+, PSPNetCS 공부/AI 2023. 6. 8. 01:10
DeepLab v2backbone이 VGG-16에서 ResNet-101로 변경됨 conv1 block : 7x7 conv - BatchNorm - ReLU - MaxPoolconv2~conv5: 채널 수를 맞추기 위해 1x1 Conv 추가 (64 ➞ 256, 128 ➞ 512, 256 ➞ 1024, 512 ➞ 2048)conv3 block의 첫번째 sub-block에서 stride=2를 이용한 down-sampling 수행 (128x128 -> 64x64), stride=2 1x1 Conv 추가 conv4,5 block에서 dilated convolution 사용 (down-sampling x) PSPNet도입 배경Mismatched Relationship: 기존의 FCN은 보트랑 차의 외관이 비슷하..
-
[Segmentation] DeconvNet, SegNet, FC DenseNet, Unet, DeepLab, DilatedNetCS 공부/AI 2023. 6. 6. 19:01
FCN의 한계점 객체의 크기가 크거나 작은 경우 잘 예측을 못함 큰 object의 경우 지역적인 정보로만 예측 같은 object여도 다르게 labeling 작은 object가 무시되는 문제 (max pooling) Object의 디테일한 모습이 사라지는 문제 발생 Deconvolution의 절차가 간단해서 물체의 경계를 학습하기 어려움 Decoder을 개선한 모델들 (DeconvNet, SegNet) DeconvNet Architecture Decoder와 Encoder을 대칭으로 만든 형태 Encoder(Conv-Conv-Pooling - 7x7 conv) - 1x1 conv - Decoder(7x7 Deconv - Unpooling - Deconv - ReLU) Convolution Network는 ..
-
[Segmentation] 딥러닝을 이용한 Segmentation FCNCS 공부/AI 2023. 6. 6. 17:17
요약 VGG 네트워크 backbone을 사용하여 feature 추출 VGG 네트워크의 FC layer을 Convolution으로 대체 Transposed Convolution을 이용해서 pixel wise prediction 수행 Fully Connected Layer vs Convolution Layer FC layer을 Convolution layer로 대체하였을 때의 장점 FC layer은 flatten 이후에 fc layer을 적용하기 때문에 각 픽셀의 위치정보를 해침 Convolution layer은 각 픽셀의 위치정보를 해치지 않은채로 특징을 추출 1x1 convolution을 사용하면 kernel의 파라미터에 의해 영향을 받고, 이미지 혹은 layer 크기와 상관없이 학습됨 height, w..
-
[Segmentation] Baseline CodeCS 공부/AI 2023. 6. 5. 23:51
평가 Metric : Dice A = Ground Truth B = Prediction def dice_coef(y_true,y_pred): #(B,C,H,W) y_true_f=y_true.flatten(2) y_pred_f=y_pred.flatten(2) intersection=torch.sum(y_true_f * y_pred_f,-1) eps=0.0001 return (2. * intersection + eps) / (torch.sum(y_true_f,-1) + torch.sum(y_pred_f,-1) +eps) # 각 채널(클래스) 별로 수행 Baseline Dataloader __init__ filenames: 각 이미지 경로가 담긴 list labelnames: 각 라벨 경로가 담긴 list t..
-
Annotation 도구 소개CS 공부/AI 2023. 5. 25. 15:24
데이터의 중요성 Supervised Learning 데이터 정제: data clensing, annotation, annotation quality check 양질의 데이터를 확보하려면? People: 가이드 숙지력, 일관된 작업, 작업 효율성, 특이 케이스에 대한 대응력 Process: 일관된 작업을 보장하기 위한 프로세스 정립, 유연성도 필요 Tool: 작업 효율성을 올리기 위한 UX / 자동화 / 부가 기능, 커뮤니케이션 효율화를 위한 게시판, 댓글 기능 CV 데이터 제작 오픈 소스 LabelMe: MIT에서 공개한 이미지 데이터 annotation 도구를 참고하여 만든 오픈소스 polygon, circle, rectangle, line, point annotation 수행 가능 장점 설치가 용이하..
-
[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(크롤링된 이미지) 이미지 빠르게 모을 수 있음 고화질의 이미지가 적음 다양한 샘플 모으기..