반응형

Program 135

[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

[Open CV] 특징점 검출과 매칭 _ 특징점 매칭

2022.06.22 금일은 특징점 매칭에 관한 강의였다. 2개 영상에서 검출한 특징점을 매칭 하는 방법 특징점 매칭 ( feature point matching ) - 두 영상에서 추출한 특징점 기술자를 비교하여 서로 유사한 기술자를 찾는 작업 - 결국 특징점 검출과 매칭은 두장의 영상을 비교하여 얼마나 유사한지를 찾는 작업이라고 생각이 든다. - 왼쪽 영상에서 4개의 특징점을 검출하였고, 오른쪽 영상에서는 3개의 특징점만 검출하였다. 그럼 각각의 점에서 근방에 있는 부분 영상을 추출하고 특징 벡터를 추출한다. ( 특징벡터는 실수 형태의 기술자일 수도 이진 형태의 기술자일 수도 있다. ) 왼쪽의 #3번 같은 경우에는 오른쪽 특징점과 매칭이 될 부분이 하나도 없지만 실제로 매칭을 시켜보면 알고리즘 내부에서..

Program/OPEN_CV 2022.06.22

[Open CV] 특징점 검출과 매칭 _ 특징점 기술

2022.06.21 금일은 특징점 검출과 매칭 특징점기술에 관한 강의였다. 기술자 - 특징점 근방의 부분 영상을 표현하는 실수 또는 이진 벡터 - OpenCV에서는 2차원 행렬 ( numpy.ndarray ) 로 표현 행 개수 : 특징점 개수 / 열 개수 : 특징점 기술사 알고리즘에 의해 정의됨 실수 기술자 : numpy.float32 / 이진 기술자 : numpy.int8 - 한열당 float32고 따라서 4byte 짜리 실수값이라고 볼 수 있다. 그러면 총 64열이기 때문에 특징점 하나에 256 Byte 가 사용됨 실수 기술자 - 주로 특징점 부근 부분 영상의 방향 히스토그램을 사용 - SIFT 방법을 그림으로 표현한 것인데 , 노란색의 주된 방향성분을 고려해서 사각형을 기술하고 사각형을 4개씩 분할..

Program/OPEN_CV 2022.06.21

[Open CV] 특징점 검출과 매칭 _ 특징점 검출

2022.06.20 금일은 특징점 검출과 매칭 특징점검출에 관한 강의였다. 지난 시간 Harris , GFTT, FAST 코너에 대한 설명 중 문제점이 있었다.이동, 회전 변환에는 강인하지만 크기 변환에는 취약하다. 비교 영상에서 확대가 되거나 축소가 되면 코너가 아닌 것처럼 보일 수 있기 때문 작은 객체를 봤을때는 코너처럼 보이기는 하지만 크기를 키우거나 확대하면 엣지로 보일 수 있다.그래서 다양한 크기 관점에서 특징 검출이 필요하다. * 특징점(feature point) = 키포인트(keypoint) = 관심점(interest point) * 기술자(descriptor) = 특징벡터(feature vector) * 특징 벡터(feature vector) : 패턴 인식에서는 인식 대상이 되는 객체가 특..

Program/OPEN_CV 2022.06.20
반응형