반응형

python 86

[Python] Tensorflow

Tensorflow 2015년 11월 출시 구글 브레인 팀에서 심층 신경망을 위해 개발한 강력한 오픈소스 소프트웨어 라이브러리. 자동 미분, CPU/GPU 옵션 지원, pre-trained model 등 지원. Python, C++, JAVA, R, Go 등 주요 언어 작업 가능. Keras가 Tensorflow에 통합 Keras는 마이크로소프트 CNTK, AMAZON mxnet, 티아노 등 여러 딥러닝 엔진에 통합 될 수 있다. 쉬운 모델 배치 및 생사느 시각화 기능, 커뮤니티 활성화 등의 장점. 2.0 버전 부터 keras 단순 코딩 사용, 직관적 프로그래밍 적용. ▶ 설치 !pip install tensorflow import tensorflow as tf tf.version.VERSION impo..

Python 2022.12.19

[Python] K-means Algorithm

Unsupervised Learning(Clustering Algorithm) 비지도 학습 Clustering 데이터에서 비슷한 객체들을 하나의 그룹으로 묶는 것. 유사도(거리) 정보 기반 좌표에 거리에 따라 유사도를 측정. CLUSTERING ALGORITHM K-mean clustering : 쉽고 간단, 현업에서 시계열 클러스터링을 많이 사용. Hierarchical clustering Density-based spatial clustering of applications with noise(DBSCAN) Gaussain mixture model Self-organizing map(SOM) 유클리디안 거리 = L2 DISTANCE ▶코사인 유사도 두 벡터 사이의 코사인 각도를 구해 서로의 유사도를 ..

Python 2022.11.17

[Python] PCA, LDA

▶ 차원 축소를 하는 이유 다중 공신성 문제 : 각각의 Feature(독립 변수)들 끼리의 상관관계가 강할 수 록 모델의 과적합이 발생하여 학습 성능이 저하될수있다. 따라서 Feature가 모델의 성능에 어떤 영향을 줄 지 파학하고, 선택/가공 하는 과정을 거친다. Feature selection(선택) : 불필요한 Feature는 버린다. Feature Extraction(추출) : Feature들을 선택하는 것이 아니라, 더 작은 차원으로 Feature들을 맵핑한다. 예) 100차원의 테이블을 50차원으로 PCA LDA SVD NMF Feature Engineering(생성) : 해당 데이터와 만들고자하는 머신러닝 모델의 기능 활용 목적에 따라 새로운 피쳐들을 생성한다. 데이터 테이블에서 Featur..

Python 2022.11.17

[Python] openCV : Matching

Descriptor Matcher 객체 찾기템플릿이 있는 경우Block matching한계점 극복 특징점을 이용한 매칭디스크립터 매칭 클래스 구조 디스크립터를 이용한 매칭 매칭 과정디스크립터를 일일이 하나씩 모두 검사하여 가장 가까운 디스크립터를 찾는 방법 FlannBasedMatcher Fast Library for Apporximate Nearest Neighbors. 가장 가까운 이웃의 근사값으로 매칭 수행. 큰 데이터 셋 과 고차원 특성에서 빠른 성능을 보임. 특징점(Keypoint 혹은 feature point) 영상에서 특징이 될 만한 지점 중요한 정보를 가지고 있다고 판단 필요성 객체 검출 및 인식 추적 영상 간 매칭 ▶ 특징 검출기 및 디스크립터 특징 검출기 영상에서 관심 있는 특징점(ke..

Python 2022.11.17

[Python] openCV : Moments

Moments 윤곽선(contour)이나 이미지(array)의 0차 모멘트부터 3차 모멘트까지 계산하는 알고리즘입니다. 공간 모멘트(spatial moments), 중심 모멘트(central moments), 정규화된 중심 모멘트(normalized central moments), 질량 중심(mass center) 등을 계산할 수 있습니다.s Moment¶ In [118]: import cv2 import matplotlib.pyplot as plt import numpy as np src = cv2.imread('./image/momentTest.jpg') gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY) ret, blmage = cv2.threshold(gray, 128..

Python 2022.11.17

[Python] openCV : Hough Transformation

Hough Transformation(허프 변환) 직선 검출 2차원 영상 좌표에서 직선의 방정식을 parameter 공간으로 직선을 찾는 알고리즘 허프 변환으로 직선의 방정식을 찾으려면 xy공간에서 에지로 판별된 모든 점을 이용하여 AB 파라미터 공간에 직선을 표현. 직선이 많이 교차되는 좌표를 모두 찾아야 함. 이떄 직선이 많이 교차하는 점을 찾기 위해서 보통 축적 배열(ACCUMULATION ARRAY)을 사용. 축적 배열은 0으로 초기화된 2차원 바열에서 직선이 지나가는 위치의 배열 원소 값을 1씩 증가시켜 생성. Y = AX + B 직선의 방정식을 사용할 경우 모든 형태의 직선을 표현하기 어려움 y축과 평행한 수직선을 표현할 수 없음. 수직선을 표현하려면 기울기 A 값이 무한대가 되어야 하기 때문..

Python 2022.11.17

[Python] openCV : Corner Detect

Corner Detect(코너 검출) ▶ 특징 (Feature) 영상으로부터 추출한 유용한 정보 밝기 평균, 히스토그램, 에지, 코너 전역 특징, 지역 특징 ▶ 코너 검출 방법 에지 방향이 급격히 변하는 부분 꼭지점, 튀어나온 부분. 코너는 다른 지역 특징에 비해 분별력이 높고 영상 전체에 분포 코너점 검출 ▶ cv2.preCornerDetect(src, ksize) dst의 local optima 값으로 검출 미분 연산자의 의한 에지 방향 이용 ▶ cv2.preCornerEigenValsAndVecs(src, blackSize, ksize) src : input blocksize : 이웃 윈도우 크기 ksize : sobel filter mask 영상 내 각 이웃의 covariance matrix M의..

Python 2022.11.17

[Python] openCV : Canny Edge Detection

Canny Edge Detection 1986년 J.Canny는 에지 검출을 최적화 문제 관점으로 접근함으로써 Sobel edge 검출 방법의 단점을 헤결 할 수 있는 방법을 제시(Canny86) Canny는 자신의 논문에서 다음 세가지 항목을 좋은 Edge dectection의 조건으로 제시 정확한 검출(GOOD DETECTION) : 에지를 검출하지 못하거나 또는 에지가 아닌데 에지로 검출하는 확률을 최소화해야 한다. 정확한 위치(GOOD LOCALIZATION) : 실제 에지의 중심을 찾아야 한다. 단일 에지(SINGLE EDGE) : 하나의 에지는 하나의 점으로 표현되어야 한다. 케니는 이러한 조건을 만족하는 새로운 형태의 에지 검출 방법을 제시하였으며, 이를 케니 에지 검출기라고 함. 케니 에지..

Python 2022.11.17

[Python] openCV : Labeling

Labeling 배경과 객체를 구분 한 후 Lableing을 이용하여 객체 간 구분 연결 구성 요소 Labeling(CCL, Connected Component Labeling) 객체 인식을 위한 전처리 과정으로 사용. 이진화 영상에서 수행(배경 : 검은색, 객체 : 흰색) 연결성 정의에 따라 결과가 달라질 수 있다. ▶ 픽셀 연결 관계 이웃한 픽셀의 연결 관계는 4-방향 연결성, 8-방향 연결성으로 정의된다. 4방향은 상하좌우로만 연결되며 8방향은 대각선 인접 픽셀들도 연결되어 있다고 간주한다. ▶ 고전적 Labeling 기법 1966년 A. Rosenfeld의 논문에서 Equivalent table(등가 테이블)을 만들면서 영상을 두번 스캔 함으로써 레이블링을 수행 첫 번째 스캔에서는 레이블을 전파시..

Python 2022.11.17
반응형