본문 바로가기

DeepLearning

(16)
[번역] How to Realize a Practical Similarity Search with Elasticsearch 유사 이미지 검색 분야 관련 블로그 글을 번역 & 실제 테스트하는 내용의 포스팅입니다. "원본 링크 [출처] https://medium.com/@kumon/how-to-realize-similarity-search-with-elasticsearch-3dd5641b9adb" 이전 포스트에서 언급했듯이 아마존 엘라스틱 서비스의 kNN 기능이 지연시간 있었다. 아마존 ES 팀으로부터 지원을 받아, 실제 구성 및 제한이 명확 해졌다. Introduction 이전 포스트에서, 벡터의 차원이 1280인 약 1M의 데이터를 엘라스틱에 넣었다. 그러나 각각의 쿼리 요청 당 대략 15초의 쿼리 지연시간은 실용적이지 못했다. 아마존의 ES팀은 목적에 적합한 구성을 해야 한다고 조언했다. Elasticsearch에 익숙한 ..
[번역] Similarity Search and Similar Image Search in Elasticsearch 유사 이미지 검색 분야 관련 블로그 글을 번역 & 실제 테스트하는 내용의 포스팅입니다. "원본 링크 [출처] https://medium.com/@kumon/how-to-realize-similarity-search-with-elasticsearch-3dd5641b9adb" 효율적으로 큰 차원의 벡터 검색을 지원하는 검색 엔진을 관리하면 많은 이점이 존재한다. 이번 포스팅에서 아마존 엘라스틱 서비스에서 knn 기능을 사용하고 평가한다. Introduction 최근, AWS는 다음과 같은 블로그 포스팅을 게시하였다. Amazon Elasticsearch Service를 사용하여 k-NN(k-최근접 이웃) 유사성 검색 엔진 구축 Amazon Elasticsearch Service를 사용하여 k-NN(k-최근접..
[KR_OCR] 최종 Training 영어데이터로 재학습 된 crnn모델이 있기때문에, 성능을 높이기 위해 재학습 된 가중치 위에 다시 한국어데이터를 학습시킨다. 1> 데이터 준비 - 데이터 위치 : /data/KSIGN/ - 데이터 갯수 : Train 데이터 (1,249장), Validation 데이터 (312장), Total 데이터 (1,561장) - 데이터 출처 : AI_HUB, 구글과 네이버 간판데이터 크롤링 - 어노테이션 파일 직접 제작 (이미지 속 텍스트에대한 박스 정보) 2> 재 학습 이유 - 현재 한국어 데이터가 라벨마다 데이터 불균형이 심하기 떄문에 이를 보완하기 위해 기존 loss 계산법 변경했는데, 이를 기반으로 CRNN 영어데이터로 재학습을 시켰기 때문에 한국어 데이터로도 ..
[OCR] CRNN_Model에 사용한 다른 util.py crnn 학습 시 사용한 다양한 util에 대해서 소개 1. 한국어 데이터셋 부족 # 라이브러리 로딩 import scipy from scipy import ndimage import matplotlib.pyplot as plt - scipy를 사용해서 data augmentation을 할 예정 - crnn model에 grayscale로 들어가기 때문에, 다양한 방식을 사용하지않고 blur와 sharpening만 사용 할 예정 # 이미지 전처리 f = img print(f.shape) #32, 256 blurred_f = ndimage.gaussian_filter(f, 1) filter_blurred_f = ndimage.gaussian_filter(blurred..
[ENG_OCR] 최종 Training(focal_ctc_loss로 변경) 처음에 작업한 training코드에서 한국어를 추가하면서 loss계산 방식을 변경. 변경 된 loss를 사용하여 다시 coco text english 데이터를 학습 시킴 데이터 준비 - 데이터 위치 : /data/COCO_TEXT/train2014/ - 데이터 갯수 : Train 데이터 (14,708장), Validation 데이터 (3,424장) - 데이터 출처 : coco-text - 어노테이션 파일 존재 (이미지 속 텍스트에대한 박스 정보) 재 학습 이유 - 현재 한국어 데이터가 라벨마다 데이터 불균형이 심하기 떄문에 이를 보완하기 위해 기존 loss 계산법 변경 - 데이터 불균형에 적합한 focal_ctc_loss 사용 - 처음과 달리 학습시키는 ..
[KR_OCR] Training(하이퍼파라미터튜닝)_v2 데이터 셋과 모델, 그외 유틸등이 준비가 되면 학습을 시작 기본파라미터부터 시작해서 다양한 방법으로 학습시켜 loss를 최소로 줄인다 9. Training_CRNN_9 ## Dropout은 LSTM에만 적용하고, 활성화 함수를 LeakyRelu로 변경 ## 데이터셋에서 문제가 발생되서 오류를 수정했음 - 총 1084개의 데이터 ( Train : 867개, Validation : 217개) - optimizer : SGD( lr = 0.001, decay=1e-6, momentum=0.9, nesterov=True, clipnorm=5 ) - 손실 값 : Focal CTC loss ( a : 0.75, r : 0.5 ) - activation func : LeakyRelu - Dropout : LSTM -..
[KR_OCR] Training(하이퍼파라미터튜닝)_v1 데이터 셋과 모델, 그외 유틸등이 준비가 되면 학습을 시작 기본파라미터부터 시작해서 다양한 방법으로 학습시켜 loss를 최소로 줄인다 1. Training_CRNN_1 ## 딕셔너리(라벨)에 한글데이터셋만 존재 - 총 1084개의 데이터 ( Train : 867개, Validation : 217개) - optimizer : SGD( lr = 0.01, decay=1e-6, momentum=0.9, nesterov=True, clipnorm=5 ) - 손실 값 : CTC loss - 200 Epoch 30 Epoch 200 Epoch - 대략 30 epoch이 지나면 바로 오버피팅이 발생한다. - 최소 val_loss 값 : 13점..
[KR_OCR] 데이터수집을 위한 어노테이션 데이터 수집을 위한 어노테이션 _이미지 크롤링 후 TextBox와 Label을 달아주는 작업이 필요 이미지 데이터 수집 AI HUB에서 관광 이미지 데이터 셋 다운로드 http://www.aihub.or.kr/ AI 오픈 이노베이션 허브 AI 챗봇,안면인식 등 지능형 서비스 구현에 활용할 수 있는 지식베이스와 기계학습용 이미지 데이터를 제공합니다. www.aihub.or.kr >> 위의 링크에서 관광데이터셋의 매장 전경 데이터셋. >> 위의 파일 중 직접촬영의 매장전경, 크롤링의 매장전경 데이터셋을 사용하였다. >> 위의 파일 속 어노테이션은 간판이 아닌 매장에 대한 어노테이션이기 때문에 다시 어노테이션 작업이 필요하다. 자동크롤러 깃에서 가져오기 (GIT CLONE) - 구글, 네이버에서 간판을 검색 ..