no image
[OCR] EasyOCR 손글씨 및 한국어 Fine Tuning
Step 01 학습 데이터 구성 Training Data : Test Data : Validation Data = 6 : 2 : 2 구분 원본 이미지 바운딩 박스 자른 이미지 train 120 14730 test 40 5015 validation 40 4822 → AI 허브 샘플 데이터 2001 파일 원본 이미지 200장 파일 분배 작업 AI 허브 json 라벨 데이터에서 바운딩 박스 영역에 맞춰서 이미지를 잘라서 저장한다. json 라벨 데이터에서 라벨 값을 불러와 txt 파일로 저장한다. {크롭된 이미지 파일명} {실제 라벨 데이터} 형식 Step 02 lmdb 형식으로 변환→ train, test, val 모두 동일하게 적용 python3 create_lmdb_dataset.py \ --inputP..
2023.05.31
no image
[DNN] 신경망의 구조
층(Layer) 완전 연결 층(fully connected layer) = 밀집 층(dense layer) 한 층의 모든 뉴런이 다음층의 모든 뉴런과 연결된 상태 목적 : Convolution / Pooling 의 결과를 취하여 이미지를 정의된 라벨로 분류 과정 : 활성화 함수로 뉴런 활성화 → 분류(Softmax) 함수로 분류 밀집 층(dense layer) 다층 퍼셉트론 신경망에서 사용되는 레이어 목적 : 입력과 출력을 모두 이어준다. tf.keras.layers.Dense( units, activation=None, use_bias=True, kernel_initializer="glorot_uniform", bias_initializer="zeros", kernel_regularizer=None, ..
2022.02.07
no image
[OpenCV] OpenCV기본 활용
개발언어 : C++ 개발환경 : Visual Studio 2019 해당 포스팅의 실습에 사용한 이미지들은 무료 이용이 가능한 이미지들입니다. (출처 : Pixabay.com) 1. 그레이 스케일 적용 OpenCV는 이미지를 RGB가 아닌 BGR로 저장한다! #include #include using namespace cv; using namespace std; int main() { Mat src = imread("./Lenna.jpg", IMREAD_COLOR); // imread('읽어들이려는 파일명', 컬러모드) if (src.empty()) { cout
2021.10.18
no image
[DNN] 그래디언트, 옵티마이저 정리
그래디언트(gradient) : 텐서 연산의 변화율 가장 작은 손실 함수의 값을 만드는 가중치의 조합을 해석적으로 찾는다. 그래디언트의 반대방향으로 가중치를 조정한다. 1. 훈련 샘플 배치 x와 이에 상응하는 타깃 y를 추출한다. 2. x로 네트워크를 실행하고 예측 y_pred를 구한다. 3. 이 배치에서 y_pred와 y사이의 오차를 측정하여 네트워크의 손실을 계산한다. 4. 네트워크의 파라미터에 대한 손실 함수의 그래디언트를 계산한다. 5. 그래디언트의 반대 방향으로 파라미터를 조금 이동시킨다. 미니 배치 확률적 경사 하강법 미니 배치 SGD (mini-batch stochastic gradient descent) 배치 : 데이터 분할 시의 배치 사이즈 확률적 : 각 배치 데이터가 무작위로 선택됨을 ..
2021.10.02
no image
[CNN]CNN모델의 이해
AlexNet → VGG → IncepctionNet → ResNet(인간을 뛰어넘는 최초의 인공신경망 모델) CNN(Convolution Neural Network) 구조 자체는 DNN과 유사 레이어 강화, GPU 사용하여 보완 Hidden Layer 에서 특징 추출, 분류 분석이 이루어질 때 └ 특징 추출은 각 이미지 데이터에서 지엽적인 특징을 추출하는 과정이 추가됨 기존 모델들은 특징 추출과 분류 분석 둘다 이미지 전체에 대해 분석이 이루어지는데, CNN의 경우 특징 추출은 이미지의 지엽적인 특징만 추출하여 분석 진행 Single Object a. Classification: b. Classification + Localization(Bounding Box) Multiple Object a. Obj..
2021.09.20
[Tensorflow_Keras_API] tf.keras.utils.get_file : 데이터 다운로드 메서드
tf.keras.utils.get_file | TensorFlow Core v2.5.0 Downloads a file from a URL if it not already in the cache. www.tensorflow.org tf.keras.utils.get_file( fname, origin, untar=False, md5_hash=None, file_hash=None, cache_subdir='datasets', hash_algorithm='auto', extract=False, archive_format='auto', cache_dir=None ) keras.utils.get_file(fname='cats_and_dogs_filtered.zip', origin=url, extract=True, ..
2021.07.21
[Jupyter Notebook] 매직 키워드(매직 커맨드 '%')
매직 키워드 인터프리터에 추가된 특수 키워드 Available line magics: %alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %m..
2021.07.05
[Tensorflow] 텐서플로우 자료형
텐서(tensor) : 인공신경망을 위한 데이터의 기본 구성 요소 숫자 데이터를 위한 컨테이너 임의의 차원 개수를 가짐 텐서의 차원을 rank(축) 이라고 부름 스칼라(0D 텐서) 하나의 숫자만 담고 있는 텐서 스칼라 텐서의 Rank(축) 개수 는 0 (ndim ==0) 벡터(1D 텐서) 숫자의 배열 벡터 텐서의 Rank(축) 개수 는 1 (ndim ==1) d1_tensor = np.array([1., 2., 3.]) # 소수점도 표시하라는 의미 행렬(2D 텐서)행렬: 백터의 배열 행렬 텐서의 Rank(축) 개수 는 2 (ndim ==2) 행(Row) : 첫번째 Rank 기준으로 존재하는 원소 열(Column) : 두번째 Rank 기준으로 존재하는 원소 d2_tensor= np.array([[1, 2,..
2021.07.05