반응형

환급챌린지 76

[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

[Open CV] 특징점검출과매칭 _ 실전코딩 ( AR비디오 플레이어 )

2022.06.26 금일은 실전코딩 AR 비디오 플레이어에 관한 강의였다. AR 비디오 플레이어 - 카메라 프레임에 특정 영상이 나타나면 해당 위치에 동영상을 재생하는 기능 - 위 영상처럼 하나의 동영상 파일을 카메라 인풋을 받아 인풋 사이즈에 맞춰 리사이즈해주고 인풋에 합성해서 재생시키는 플레이어를 만든다. 구현할 기능 - 기준 영상과 카메라 프레임 사이의 특징점 검출 및 매칭 - 호모그래피 계산 - 동영상 프레임 투시 변환 & 합성 구현 방법 - 내가 설정해 놓은 Reference Image를 카메라 입력 프레임에서 찾는 ( 매칭점 ) 과정이 필요 한데 이 과정에서 Homograpy 를 계산한다. 그리고 합성할 영상에 Homograpy 를 적용시켜 Warping 을 시켜주어 실제 합성을 시킨다. 이론..

Program/OPEN_CV 2022.06.25

[Open CV] 특징점검출과매칭 _ 이미지 스티칭

2022.06.25 금일은 이미지 스티칭에 관한 강의였다. 특징점 검출과 매칭 영상의 응용기법 중 하나인 이미지 스티칭에 대해서 알아본다. 이미지 스티칭 ( Image Stitching ) 이란? - 동일 장면의 사진을 자연스럽게 ( seamless ) 붙여서 한 장의 사진으로 만드는 기술 - 사진 이어 붙이기, 파노라마 영상 ( Panorama Image ) 여러장의 사진들에서 특징점을 여러개 검출하고 특징점들이 서로 겹치는 것들을 찾아서 두장의 영상과의 Perspective Transform 관계를 찾아내서 이어 붙이는 기법이다. 위 영상을 보게되면 하늘 부분에는 특징점들이 잘 잡히지 않는데 산이 있는 곳에는 엣지들이 많아서 특징점들이 많이 잡히는 것을 볼 수 있다. 그래서 두 산에서 공통으로 매칭된..

Program/OPEN_CV 2022.06.24

[Open CV] 특징점 검출과 매칭 _ 호모그래피와 영상매칭

2022.06.24 금일은 호모그래피와 영상 매칭에 관한 강의였다. 지난시간에 계산했던 특징점 매칭을 이용해서 호모그래피를 진행하고 영상 전체를 매칭하는 방법을 알아본다. 호모그래피 ( Homography ) 란? - 두 평면 사이의 투시 변환 ( Perspective transform ) 바닥에 사진이 있는데 이 사진을 v1이라는 지점에서 카메라로 사진을 촬영하고 촬영 결과를 i1이라고 한다. 그럼 비스듬한 상태로 촬영을 했기때문에 비스듬하게 찍혔을것이다. 이때 원래 사진과 기울어지고 비스듬하게 찍힌 사진과의 관계를 표현하는 것을 호모그래피라고 한다. ( H1 , H2 ) * 촬영된 i1 과 i2도 호모그래피 관계가 생긴다. ( i1 -> i2 ) 호모그래피는 기본적으로 투시변환과 거의 유사한데 따라서..

Program/OPEN_CV 2022.06.23

[Open CV] 특징점 검출과 매칭 _ 좋은 매칭 선별

2022.06.23 금일은 좋은매칭 선별에 관한 강의였다. 두개의 영상에서 검출한 특징점으로 매칭한 후에 좋은 매칭들만 선별하는 방법에 대해서 알아본다. 좋은 매칭 선별 방법 #1 - 가장 좋은 매칭 결과에서 distance 값이 작은 것 N개를 사용 - cv2.DMatch.distance 값을 기준으로 정렬 후 상위 N개 선택 ( 유사도가 높다라는 것은 2개의 특징벡터의 distance 값이 작다라고 볼 수 있다. 따라서 해당 distance가 작은 것을 기준으로 몇가지만 골라내면 좋은 매칭이라고 할 수 있다. ) 위 해당하는 특징점은 실수형 기술자이고 가장 기본적인 매칭결과를 matches 라는 결과로 받은 이후 ( matches 는 dmatch라는 클래스 객체를 리스트로 갖고있는 형태 ) match..

Program/OPEN_CV 2022.06.22
반응형