반응형

Program/OPEN_CV 80

OPENCV 왜곡보정

기존에 사용하던 Opencv 보정함수는 단순히 cv2.Undistortion 함수였는데 UndistortImageOptimal 함수에 대해서도 알아보게 되었음. 또한 배경의 장애물들로 인한 cv2.FindChessboardCorners 인식이 저하되어해당 이미지들의 ChessboardCorner를 강제로 찾아내는 과정에 대해서도 알게되었음. 기존에는 FOV 800mm의 크지않은 ChessBoard를 사용하였기 때문에 큰 무리없이 이미지 촬영을 진행하였는데이번 프로젝트에서는 FOV 3000mm의 넓은 CheckerBoard를 제작하여사용하였기 때문에 이미지 촬영이 쉽지 않았음.  위 이미지를 보면 알 수 있듯이 센터에서 촬영하는건 줄을 매달고 올라가지 않는 이상 불가능 하였음. 따라서 위 이미지를 사용하여..

Program/OPEN_CV 2024.10.29

[Open CV] 객체추척과 모션벡터 _ OpenCV 트래커

금일은 OpenCV에서 제공하는 Tracker Class 에 대해 알아본다. OpenCV 트래커 ( Tracker ) - OpenCV 3.0 버전부터 트래커 클래스 제공 - 트래커 클래스는 OpenCV extra modules 에서 지원하므로 opencv-contrib-python 패키지를 설치해야 함 - OpenCV 4.1 기준으로 8가지 트래킹 알고리즘 지원 이 전 강의에서는 이전 프레임의 객체가 다음 프레임에 어떻게 어디로 이동했는지를 보겠다 또는 어떤 점이 어디로 이동했다라는 정보를 추출할 수 있었는데 이런 알고리즘은 추적을 위한 기본적인 알고리즘으로 이용될 것이다. 그 외로 조금 더 고차원적인 추적 알고리즘을 클래스형태로 구현해서 제공하는 것이 있다. 이번 시간에 사용할 트래커 클래스를 이용하기..

Program/OPEN_CV 2022.07.04

[Open CV] 객체추척과 모션벡터 _ 밀집 옵티컬플로우

이전 강의에서 나온 파네백 알고리즘에 대해 알아본다. - 파네백 알고리즘 ( Farneback's algorithm ) cv2.calcOpticalFlowFarnebak(...) Dense(밀집) points에 대한 이동 벡터 계산 => 모든 픽셀에서 옵티컬플로우 벡터 계산 밀집 옵티컬플로우란? 입력영상 전체에서 움직임벡터를 계산하는 방법 밀집 옵티컬플로우 계산 함수 flow = cv2.calcOpticalFlowFarneback (prev, next, flow, prev_scale, levels, winsize, iterations, poly_n, poly_sigma, flags) prevImg: 이전 프레임 영상 ( 그레이스케일 영상 ) nextImg: 현재 프레임 영상 ( 그레이스케일 영상 ) fl..

Program/OPEN_CV 2022.07.03

[Open CV] 객체추척과 모션벡터 _ 카나데옵티컬플로우

2022.07.02 금일은 벡터 카나데옵티컬플로우에 관한 강의였다. 동영상에서 움직임 정보를 계산하는 정보를 알아내는 방법에 대해 알아본다. 옵티컬플로우 ( Optical Flow) 란? - 연속하는 두 프레임 ( 영상 ) 에서 카메라 또는 객체의 움직임에 의해 나타나는 객체의 이동 정보 패턴 옵티컬 플로우 활용 분야 - Structrue from Motion (물체의 주위를 여러 위치에서 촬영할 때 발생하는 카메라의 움직임을 유추하고, 이를 바탕으로 3차 원 형상을 복원하는 것) - Video Compression ( 영상 압축 ) - Video Stabilization ( 영상 안정화 , 손떨림보정 ) - etc. OpenCV 옵티컬 플로우 계산 함수 - 루카스 - 카나데 알고리즘 ( Lucas-Ka..

Program/OPEN_CV 2022.07.02

[Open CV] 객체추척과 모션벡터 _ 캠시프트 알고리즘

2022.07.01 금일은 캠시프트 알고리즘에 관한 강의였다. 지난시간에 배운 Mean Shift 알고리즘의 단점을 보완해줄 수 있는 캠시프트 알고리즘에 대해 배워본다. 캠시프트 ( CamShift ) 란? - Continuously Adaptive Mean Shift - Mean Shift 알고리즘을 계속 적응형으로 동작시키는 알고리즘 - 추적하는 객체의 크기가 변하더라도 검색 윈도우의 크기가 고정되어 있는 평균 이동 알고리즘의 단점을 보완 캠시프트 동작 방법 - 우선 평균 이동 알고리즘으로 이동 위치 계산 - 윈도우 크기를 조정 - 특징 공간을 가장 잘 표현하는 타원 검출 - 새로운 크기의 윈도우를 이용하여 다시 평균 이동 수행 캠시프트 알고리즘 - 캠시프트 알고리즘을 이용한 관심 영역 추적 이전 프..

Program/OPEN_CV 2022.06.30

[Open CV] 객체추척과 모션벡터 _ 평균이동 알고리즘

2022.06.30 금일은 평균이동 알고리즘에 관한 강의였다. 금일은 평균 이동 알고리즘을 통해 객체를 추적하는 방법에대해서 알아본다. Detection vs. Recognition vs. Tracking - Detection ( 검출 ) : 영상에서 찾고자 하는 대상의 위치와 크기를 알아내는 작업 Recognition ( 인식 ) : 주어진 영상이 무엇인지 판별하는 작업 ( classification , identification ) Tracking ( 추적 ) : 동영상에서 특정 대상의 위치 변화를 알아내는 작업 이 전 프레임의 객체가 현재 프레임의 어디에 위치해있는지 ( Mean Shift , CamShift , Optical Flow , Trackers in OpenCV 3.x ) Ex) 스마트폰..

Program/OPEN_CV 2022.06.29

[Open CV] 객체추척과 모션벡터 _ 배경차분 _ MOG 배경모델

2022.06.29 금일은 배경차분 MOG 배경모델에 관한 강의였다. MOG란? - Mixture of Gaussian , GMM ( Gaussian Mixture Model ) - 각 픽셀에 대해 MOG 확률 모델을 설정하여 배경과 전경을 구분 - 예를들어 ' 배경영상에서 A라는 부분은 원래 픽셀값이 100이었어 ' 라고 정해놓고 전경과 비교하는 것이 아닌 ' 배경 영상에서 A라는 부분은 100근방의 가우시안 모델을 따르고있어 ' 라고 정의하는 모델 - Mixutre ( 혼합 ) 를 보면 알 수 있듯 하나의 가우시안 모델을 사용하는 것이 아닌 2개 이상의 가우시안 모델을 사용 - 데이터 사이언스쪽 전반적으로 사용되는 데이터 분석기법이다. 다양한 배경 모델 구성 방법 - Static scene : 배경영..

Program/OPEN_CV 2022.06.28

[Open CV] 객체추척과 모션벡터 _ 배경차분 _ 이동평균배경

2022.06.28 금일은 배경차분 이동평균 배경에 관한 강의였다. 지난 강의에서 사용했던 정적 배경 모델 사용시 문제점을 보자면 - 미리 등록된 기준 영상이 실제 배경과 크게 달라진 경우 오동작 그림자 등의 영향으로 인한 조도 변경, 새로운 객체가 화면에 고정될 경우 그래서 새로 들어오는 영상을 분석하면서 업데이트를 해주는 작업들이 필요하다. 그때 필요한 방법이 오늘 배울 평균 연산이라는 방법이다. 평균 영상에 의한 배경 영상 생성 - 움직이는 객체가 존재하는 수백장의 입력 영상으로부터 평균 영상을 구하면? 위 영상을 보게되면 자동차들이 잠깐 나타났다가 화면에서 사라지게 되는데 위와같은 영상을 수백장을 받아서 평균영상을 만든다. 수백장의 영상이라고 하면 굉장히 많은 것 같지만 초당 30 Frame 이라..

Program/OPEN_CV 2022.06.27

[Open CV] 객체추척과 모션벡터 _ 배경차분 _ 정적배경차분

2022.06.27 금일은 정적 배경 차분에 관한 강의였다. 배경 차분 ( Background Subtract : BS ) - 등록된 배경 모델과 현재 입력 프레임과의 차영상을 이용하여 전경 객체를 검출 - 움직이는 전경 객체 검출을 위한 기본적인 방법 차영상이라던데 백그라운드 모델링에대해서는 이전 강의에서도 많이 나온 부분이었기 때문에 바로 소스코드를 보도록 한다. 아래 동영상을 보게되면 Background model 영상을 배경으로하는 영상에서 사람들과 차들이 지나다니고 주자되어있는 차도 모두 잡아내는 것을 표현해보려한다. 일단 PETS2000.avi 영상을 받아온 뒤 첫 프레임을 배경영상으로 지정해놓으려고 한다. 이때, Background 를 컬러영상으로 추출해도 문제는 없지만 꼭 컬러영상이 필요한..

Program/OPEN_CV 2022.06.26
반응형