전체 글
OpenCV 기초 - 영상 속성과 픽셀 값 처리
▶ OpenCV Python 관련 글은 황선규 박사님의 강의내용을 정리하였음. Github 소스 영상의 속성과 픽셀 값 참조 OpenCV는 영상 데이터를 numpy.ndarray로 표현한다. import cv2 img1 = cv2.imread('cat.bmp', cv2.IMREAD_GRAYSCALE) img2 = cv2.imread('cat.bmp', cv2.IMREAD_COLOR) numpy.ndarray ndim : 차원 수, len(img.shape)과 같음. shape : 각 차원의 크기 (h, w) Gray scale or (h, w, 3) Color → (h,w,n) : n 값이 2이면 graysclae , 3이면 color 라고 생각해도 문제 없다. size : 전체 원소 개수 dtype :..
Lecture Notes - Gauss Elimination
가우스 소거법 선형시스템의 해를 구하는 방법 가장 단순한 형태의 선형시스템은 아래와 같다. 이 선형시스템의 해는 무엇인가? $$ ax = b $$ 해가 하나인 경우 $$ 3x=6 $$ 해가 없는 경우 $$ 0x =y $$ 해가 여러개인 경우 $$ 0x = 0 $$ a = 0 이면 특이하다. ax = b의 해가 곧장 나오지 않는다. a의 역수 (inverse)가 존재하지 않는 경우, a가 특이(singular)하다고 한다. 해가 있으면 선형시스템이 "consistent" 해가 없으면 선형시스템이 "inconsistent" $$ Ax = b $$ 가우스 소거법 (Gauss elimination) 가우스 소거법은 임의의 m x n 선형시스템의 해를 구하는 대표적인 방법이다. 아래 두단계로 수행된다. Forwa..

Object Detection - RCNN
Rich feature hierarchies for accurate object detection and semantic segmentation R-CNN : Object detection algorithm 입력 이미지에 Selective Search 알고리즘을 적용하여 박스 추출한다. ( = 2,000 ea) 모든 박스를 227 x 227 크기로 리사이즈 한다. 미리 학습시킨 데이터를 (Image Net) 통하여 CNN을 통과시켜 4096 특징 벡터를 추출한다. 추출된 벡터로 각각의 클래스마다 학습시켜놓은 SVM Classifier를 통과 시킨다. Bounding box regression을 적용하여 Box 위치를 조정한다. ImageNet : 대규모(large-scale) 데이터 셋 Selective..

시리얼 통신
시리얼 통신 UART(Universal Asynchronous Receiver / Transmitter) : 비동기식 시리얼 통신 병렬 데이터를 직렬 데이터로 바꿔 전송하는 통신 1:1 전이중(Full Duplex) 통신 : RX, TX 송/수신선 각각 존재 송신부와 수신부의 통신속도인 buadrate를 일치시켜서 전송하는 비동기식 통신 방식이다. SPI(Serial Peripheral Interface) : 동기식 시리얼 통신 하나의 마스터가 여러 슬레이브와 연결할 수 있다는 점에서 UART보다는 I2C와 유사하다. 1:N 전이중(Full Duplex) 통신 : SCK, MOSI, MISO, SS SPI는 풀업 저항이 필요 없다. I2C(Inter-Integrated Circut) : 동기식 시리얼 통..

CNN (Convolutional Neural Network) 개념 정리
1. CNN 개요 Image는 2차원 데이터고, 2차원 데이터를 1차원 벡터로 평활화하여 신경망 모델에 학습시켜야 한다. CNN의 특징은 Image Size를 줄이면서, 특징을 나타내는 이미지들을 추출 해낼 수 있다. FC Layer에 도달하기 전까지 평활화 과정 없이 이미지 정보를 효과적으로 유지하며, 특징 픽셀들을 추출한다. 위 과정에서 인접한 픽셀과의 관계를 효과적으로 인식 할 수 있고, 이미지의 특징을 모으거나 강화할 수 있다 CNN 주요 개념 정사각형 행렬 모양의 Filter가 이미지를 순회하며 Convolution을 계산한다. 계산 결과를 이용하여 Feature map을 만든다. Feature map을 모아 한 이미지에서 활성화된 픽셀만을 모은 Activation map을 만든다. 위 3가지 ..
Lecture notes - Linear system (coding)
1. 다음 3 x 3 행렬 A를 정의하는 numpy 코드를 작성하세요. $$ A = \begin{pmatrix} 1&2&1 \\ 1&2&3 \\ 2&3&-1 \end{pmatrix} $$ import numpy as np A = np.array(([1, 2, 1], [1, 2, 3], [2, 3, -1])) print(A) print(np.shape(A)) 2. 다음 3-Vector b를 정의하는 numpy 코드를 작성하세요. $$ A = \begin{pmatrix} 1\\ 3\\ -3\end{pmatrix} $$ import numpy as np b = np.array([1, 3, 3]) print(b) print(np.shape(b)) 3. 위 행렬 A를 구하는 역행렬 코드를 numpy linalg ..

Lecture notes - Linear system
선형시스템 강의 요약 가장 간단한 형태의 Linear System (선형시스템) $$ 3x=6 $$ $$ 3x+y=2 \quad → E1 \ $$ $$ x-2y=3 \quad → E2 \ $$ $$ \begin{cases} 3x+y+z=4 \\ x-2y-z=1 \\ x+y+z=2 \end{cases} $$ 기본적으로 소거법 기준으로 접근한다. Linear equation(선형 방정식)이라고 한다. x,y,z : Unknown (Variable)이라 칭함. $$ \begin{cases} 3x+y=2 \\ x-2y=3 \\ 2x-4y=6 \end{cases} $$ 선형시스템의 Linear equation (선형 방정식)에 대해 다음을 수행한다. conefficient (계수)를 모아 A의 row vector..