반응형

opencv 77

[파이썬 OpenCV] 영상의 모션 벡터 - 밀집 옵티컬플로우 - cv2.calcOpticalFlowFarneback

밀집 옵티컬플로우 - 밀집 옵티컬 플로우는 모든 픽셀에 대해 옵티컬플로우를 계산하는 방법입니다. 주로 파네백 알고리즘(Farneback's algorithm)을 이용하여 구현하게 됩니다. 옵티컬 플로우에 대한 설명은 여기 포스팅을 참조할 수 있습니다. [파이썬 OpenCV] 영상의 모션 벡터 - 루카스 카나데 옵티컬 플로우 - cv2.calcOpticalFlowPyrLK 옵티컬플로우 - Optical flow 옵티컬플로우는 연속하는 두 프레임(영상)에서 카메라 또는 객체의 움직임에 의해 나타나는 객체의 이동 정보 패턴을 의미합니다. 픽셀이 어떻게 움직였는지를 화 deep-learning-study.tistory.com 밀집 옵티컬 플로우 계산 함수 - cv2.calcOpticalFlowFarneback ..

[파이썬 OpenCV] 영상의 모션 벡터 - 루카스 카나데 옵티컬 플로우 - cv2.calcOpticalFlowPyrLK

옵티컬플로우 - Optical flow 옵티컬플로우는 연속하는 두 프레임(영상)에서 카메라 또는 객체의 움직임에 의해 나타나는 객체의 이동 정보 패턴을 의미합니다. 픽셀이 어떻게 움직였는지를 화살표로 나타내고 있습니다. 옵티컬플로우 활용 분야 손떨림을 보정해서 동영상을 저장하는 용도, 동영상을 압축할 때도 움직임 정보를 잘 활용하면 적은 bit를 활용해서 화질이 좋은 동영상으로 압축하는 데에 이용할 수 있습니다. OpenCV 옵티컬플로우 계산 함수 (1) 루카스-카나데 알고리즘(Locas-Kanade algorithm) 루카스-카나데 알고리즘은 지정한 점들에 대해 옵티컬플로우를 계산하는 방법입니다. (주로) Sparse points에 대한 이동 벡터를 계산합니다. 특정 픽셀에서 옵티컬플로우 벡터를 계산합..

[파이썬 OpenCV] 영상의 객체 추적 - 캠시프트(CamShift) 방법 - cv2.CamShift

캠시프트 - CamShift 캠시프트는 민시프트의 단점을 보완해서 만든 추적 방법입니다. 추적하는 객체의 크기가 변하더라도 검색 윈도우의 크기가 고정되어 있는 평균 이동 알고리즘의 단점을 보완했습니다. 민시프트(Mean Shift)에 대한 내용은 여기에서 확인할 수 있습니다. [파이썬 OpenCV] 영상의 객체 추적 - 평균 이동(Mean Shift) 방법 - cv2.meanShift, cv2.calcBackProject 추적 - Tracking 평균 이동 알고리즘을 공부하기 전에 Detection(검출), Recognition(인식), Tracking(추적)에 대해 알아보겠습니다. Detection(검출) : 영상에서 찾고자 하는 대상의 위치와 크기를 알아내는.. deep-learning-study.t..

[파이썬 OpenCV] 영상의 객체 추적 - 평균 이동(Mean Shift) 방법 - cv2.meanShift, cv2.calcBackProject

추적 - Tracking 평균 이동 알고리즘을 공부하기 전에 Detection(검출), Recognition(인식), Tracking(추적)에 대해 알아보겠습니다. Detection(검출) : 영상에서 찾고자 하는 대상의 위치와 크기를 알아내는 작업 Recognition(인식) : 주어진 영상이 무엇인지 판별하는 작업 - classification, identification Tracking(추적) : 동영상에서 특정 대상의 위치 변화를 알아내는 작법 - Mean Shift, CamShift, Trackers in OpenCV 이번 포스팅에서 공부할 내용은 추적중 한 가지 방법인 Mean Shift(평균 이동) 방법에 대해 공부해보겠습니다. 1. 평균 이동 알고리즘 - Mean Shift 평균 이동 알고..

[파이썬 OpenCV] 영상의 객체 추적 - 배경 차분 - MOG 배경 모델 - cv2.BackgroundSubtractor

영상의 객체 추적 - 배경 차분 - MOG 배경 모델 MOG 배경 모델을 이용해서 배경 차분을 하는 방법을 알아보겠습니다. 1. MOG란? Mixture of Gaussian, GMM(Gaussian Mixture Model)을 의미합니다. 각 픽셀에 대해 MOG 확률 모델을 설정하여 배경과 전경을 구분하는 방법입니다. 영상의 각각의 픽셀 값을 배경 영상으로 정의합니다. 미리 정의해둔 배경 영상의 각각의 픽셀마다 가우시안 모델을 정의합니다. 픽셀 값이 정해진된 것이 아니라 픽셀 값이 가우시안 형태를 따르는 모델로 정의하는 것입니다. 배경 차분뿐만 아니라 데이터 사이언스에서 전반적으로 사용되는 데이터 분석 기법입니다. 2. 다양한 배경 모델 구성 방법 (1) Static scene static scene은..

[파이썬 OpenCV] 영상의 객체 추적 - 배경 차분 - 이동 평균 배경 - cv2.accumulateWeighted

영상의 객체 추적 - 배경 차분 - 이동 평균 배경 이전 포스팅에서 공부하였던 정적 배경 모델 사용시 문제점은 새로 나타난 객체가 고정되었을 때 이것을 지속적으로 객체로 인식한다는 것입니다. [파이썬 OpenCV] 영상의 객체 추적 - 정적 배경 차분 방법 - cv2.absdiff 함수 영상의 객체 추적 - 정적 배경 차분 방법 배경 차분(Background Subtraction : BS)은 등록된 배경 모델과 현재 입력 프레임과의 차영상을 이용하여 전경 객체를 검출하는 방법입니다. 동영상에서 움직 deep-learning-study.tistory.com 고정된 객체가 일정 시간 지나면 배경으로 등록되는 방법에 대해 알아보겠습니다. 1. 이동 평균 배경 - Moving average 이동 평균 배경 방법..

[파이썬 OpenCV] 영상의 객체 추적 - 정적 배경 차분 방법 - cv2.absdiff 함수

영상의 객체 추적 - 정적 배경 차분 방법 배경 차분(Background Subtraction : BS)은 등록된 배경 모델과 현재 입력 프레임과의 차영상을 이용하여 전경 객체를 검출하는 방법입니다. 동영상에서 움직이는 전경 객체 검출을 위한 기본적인 방법입니다. 배경 영상을 model이라는 용어를 써서 배경 영상을 등록시켜두고 배경 영상과 다른 부븐을 찾아서 그 부분이 새로 나타난 객체라고 판단하는 방식으로 작동합니다. 배경과 현재 프레임의 차이가 있는 부분을 검출하게 됩니다. 정적 배경을 이용한 전경 객체 검출 예제 코드 예제 코드 출처 : 황선규 박사님 github홈페이지 sunkyoo.github.io/opencv4cvml/ 배경 영상과 현재 프레임 영상의 차이를 구하기 위해 cv2.absdiff..

[파이썬 OpenCV] 특징점 매칭에서 좋은 매칭을 선별하는 두 가지 방법 - 정렬, 임계값 이용 - KAZE, AKAZE, ORB

이전 포스팅에서 특징점을 매칭하는 방법에 대해 공부해보았습니다. 하지만 결과값이 너무 복잡하여 매칭이 잘 되었는지 확인하는 것에 어려움이 있었습니다. 이번에는 좋은 매칭을 선별하는 두 가지 방법에 대해 공부해보겠습니다. [파이썬 OpenCV] 두 영상의 특징점 매칭과 매칭 결과 그리기 - cv2.BFMatcher_create, cv2.DescriptorMatcher, cv2. 두 영상에서 검출한 특징점을 서로 매칭하는 방법을 공부해보겠습니다. 특징점 매칭 - Feature point matching 특징점 매칭은 두 영상에서 추출한 특징점 기술자를 비교하여 서로 유사한 기술자를 � deep-learning-study.tistory.com 좋은 매칭 선별 좋은 매칭 선별 방법 두 가지를 알아보겠습니다. 1..

[파이썬 OpenCV] 두 영상의 특징점 매칭과 매칭 결과 그리기 - cv2.BFMatcher_create, cv2.DescriptorMatcher, cv2.drawMatches

두 영상에서 검출한 특징점을 서로 매칭하는 방법을 공부해보겠습니다. 특징점 매칭 - Feature point matching 특징점 매칭은 두 영상에서 추출한 특징점 기술자를 비교하여 서로 유사한 기술자를 찾는 작업입니다. 왼쪽은 4개의 기술자, 오른쪽은 3개의 기술자를 계산했습니다. 가장 비슷한 것을 찾으므로 4개의 점은 다 매칭이 될 것입니다. 위 그림에서 #3이 잘못 매칭된 것을 확인할 수 있는데 알고리즘은 가장 거리가 짧은 곳을 찾아서 매칭을 하기 때문에 매칭이 되었습니다. 이처럼 잘못 연결된 매칭을 걸러내는 작업을 해야합니다. [특징 벡터 유사도 측정 방법] (1) 실수 특징 벡터 : L2 노름(L2 norm) 사용 (2) 이진 특징 벡터 : 해밍 거리(hamming distance) 사용 1...

[파이썬 OpenCV] HOG 알고리즘을 이용해서 사람 검출하기 - cv2.HOGDescriptor

1. HOG - Histogram of Oriented Gradients 영상의 지역적 그래디언트 방향 정보를 히스토그램으로 표현해서 영상의 형태를 표현하는 방법입니다. HOG와 SVM 머신러닝을 결합하여 정형화된 객체를 검출하는 알고리즘입니다. 2. HOG 알고리즘 전체 영상에서 부분 영상을 추출해서 부분 영상의 특징을 추출하여 전신을 판단하는 알고리즘입니다. 작동 순서 (1) 임의의 크기의 사각형을 정의해서 부분 영상을 추출합니다. (2) 추출한 부분 영상의 크기를 정규화 합니다. (64X128) (3) 64X128 영상의 그래디언트를 계산하여 방향 성분과 크기 성분을 파악합니다. (4) 64X128 영상을 8X8 크기의 셀(cell)로 분할합니다. (5) 각 셀마다 방향과 크기 성분을 이용하여 방향..

반응형