본문 바로가기

전체 글

(83)
[실전! 컴퓨터 비전을 위한 머신러닝] 06. 전처리 전처리를 하는 이유 모양 변환, 데이터 품질 변환, 모델 품질 향상 등의 이유 모양 변환 tf.keras.layers.Flatten(input_shape =(512,256,3)) 모든 레이어는 생성 당시에 정한 명세에 맞는 이미지를 필요로함 512*256*3=393,216개의 입력 노드를 갖도록 만들어짐 데이터 품질 개선 햇빛이 비치는곳 / 그렇지 않은 곳 = > 밝기에 차이 생김 지구 상의 지점에 비치는 햇빛을 고려해 각 픽셀값을 정규화 할 수 있음 모델 품질 향상 픽셀값 조정, 데이터셋 증강 크기와 해상도 5장의 꽃 이미지 사용 이미지 크기가 제각각임 케라스 전처리 레이어 사용 입력레이어에서 예상하는 모양에 맞게 바꾸는 전처리를 진행해야 함 img = tf.image.resize(img, [IMG_H..
03. 메세지 처리 실습 3-1 int MessageBox( [in, optional] HWND hWnd, [in, optional] LPCTSTR lpText, [in, optional] LPCTSTR lpCaption, [in] UINT uType ); 더보기 참고 https://blog.naver.com/PostView.nhn?blogId=rjseorl95&logNo=221707687230 메시지 핸들러 함수 선언 protected: DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); afx_msg void OnLButtonDblClk(UINT nFlags, CPoint poi..
[실전! 컴퓨터 비전을 위한 머신러닝] 04 객체 검출과 이미지 세분화 객체 검출 이미지에서 위치 정보를 제공하는 과업 YOLO YOLO 격자 그림은 N x M 칸으로 분할 셀 내부 어딘가에 중심점을 갖는 객체에 대한 경계 박스를 예측함 객체 검출 헤드 숫자 6개 예측 - 경계 박스의 좌표 4개, 객체가 검출됐는지를 나타내는 확신도, 객체의 클래스 너비와 높이는 [0,1] 범위에 속하도록 시그모이드 활성화 사용 확신도 C도 [0,1] 범위에 있으므로 소프트맥스 활성화 사용 Q. 올바른 차원의 특징 맵을 얻는 방법에는? A. 컨볼루션 백본에서 반환되는 특징 맵을 모두 평탄화해서 출력 개수와 같은 수의 완전 연결 레이어에 먹이는 것 손실 함수 훈련 데이터 내에 정답 - 실측 박스 (ground truth box) 예측 박스 (predicted box) 실측 박스와 결자 셀 내의..
02. MFC 개요 및 아키텍처 실습 2-1 개발 환경 더보기 - 참고 https://m.blog.naver.com/PostView.naver?blogId=wheelcar&logNo=221996238570&proxyReferer= 보기 > 솔루션 탐색기 실습 2-2 윈도우 크기를 나타내는 멤버 변수 추가 CMFC22View // MFC_2_2View.h: CMFC22View 클래스의 인터페이스 // #pragma once class CMFC22View : public CView { protected: // serialization에서만 만들어집니다. CMFC22View() noexcept; DECLARE_DYNCREATE(CMFC22View) // 특성입니다. public: CMFC22Doc* GetDocument() const; //..
[실전! 컴퓨터 비전을 위한 머신러닝] 03. 이미지 비전 (2) 모듈식 아키텍처 더 복잡한 빌딩 블록 - 모듈 고안 인셉션 인셉션V3 - 3x3 및 1x1 컨볼루션 필터만을 사용 데이터와 훈련을 기반으로 네트워크가 선택할 수 있는 몇 가지 대안을 제공 여러 경로의 출력이 최종 특징 맵으로 이어 붙여짐 아키텍처 - 다중 경로 컨볼루션 모듈들의 시퀀스 스퀴즈넷 채널 수가 1x1 컨볼루션만큼 감소하는 수축 단계와 채널 수가 다시 증가하는 팽창 단계가 교대로 있음 마지막 레이어는 전역 평균 풀링 - 가중치 수 줄임 각 모듈의 컨볼루션 레이어 3개 중 2개는 1x1 컨볼루션 - 학습 가중치 수 줄임 (?) '발화 모듈' def fire(x, squeeze, expand): y = tf.keras.layers.Conv2D(filters=squeeze, kernel_size=1,..
[실전! 컴퓨터 비전을 위한 머신러닝] 03. 이미지 비전 픽셀을 독립적인 입력으로 취급 ▶ 근처에 있는 픽셀끼리 상관성이 높다는 점을 이용하지 못함, 이미지에 대한 성능 좋지 않음 미리 훈련된 임베딩 임베딩 - 이미지를 저차원 공간에 수학적으로 표현한 것 ▷임베딩을 형성하는 16개의 숫자는 전체 이미지의 모든 정보를 표현함 미리 훈련된 모델 매우 큰 범용 데이터 셋으로 사전훈련 ▷분류할 실제 데이터셋에 관한 지식을 전이함 ▶ 모델의 용도를 변경함 예측헤드(Prediction head)라는 마지막 레이어만 교체 가능 (?) 사전 훈련 모델 - 대규모 데이터셋에서 훈련된 모델이며 임베딩을 만드는 데 사용할 수 있음 ex. 모바일 넷의 임베딩을 이용해 효율적인 훈련 가능 이미지넷 (ImageNet) 데이터 import tensorflow_hub as hub laye..
자료구조론 3차 보호되어 있는 글입니다.
[실전! 컴퓨터비전을 위한 머신러닝] 2. 컴퓨터비전에 쓰이는 ML 모델 기계 인식을 위한 데이터셋 5-flowers 데이터셋 사용 데이지, 민들레, 장미, 해바라기 ,튤립 각각 꽃 이름으로 라벨링 이미지 데이터 읽기 def read_and_decode(filename, reshape_dims): # 파일 읽기 img = tf.io.read_file(filename) # 압축된 문자열을 3D uint8 텐서로 변환 img = tf.image.decode_jpeg(img, channels=IMG_CHANNELS) # [0,1] 범위의 float로 변환 img = tf.image.convert_image_dtype(img, tf.float32) # 원하는 크기로 조정 return tf.image.resize(img, reshape_dims) 컬러이미지는 일반적으로 channels..