본문 바로가기

It16

[openCV] 특징점 검출 특징점 영상 내 추출한 정보 특징점은 points, edges or objects와 같은 다양한 구조이다. 특징점은 이웃한 픽셀들의 정보를 활용하여 생성될 수도 있다. 좋은 특징점 조건 Illumination 조명의 영향을 받지 않아야 한다. Translation 위치에 상관없이 동일한 결과가 나와야 한다. Scale 크기에 제한이 없어야 한다. Rotation Perspective transform 적은 계산량과 메모리 사용 Several Images features ORB (oFast detector + r-BRIEF descriptor) 빠르고 조명과 회전에 강인하다. FAST detector 역할 p픽셀보다 연속적으로 밝기 값이 크거나 작다면 픽셀 p는 feature BRIEF descriptor.. 2020. 2. 1.
[openCV] 추적 Tracking detection은 검출하고자 하는 대상을 정해놓고 찾아내는 것이고 Tracking은 대상이 검출된 상황에서 그것을 따라가는 것 기본 개념 : ROI 설정 후 히스토그램 또는 features로 표현한다 -> 다음 프레임에서 ROI와 가장 유사한 패치를 찾아낸다 Meanshift 어떠한 점들의 밀도가 최대가 되는 위치로 이동시켜주는 알고리즘 Histogram back-projection과 결합하여 사용 Camshift mean-shift의 수정된 버전 물체의 크기가 변함에 따라 관심 영역의 크기도 변화하기 때문에 정확한 추적이 가능하다. Optical Flow 밝기의 움직임 KLT 알고리즘 가정 : 어떠한 물체의 밝기값은 인접한 프레임에선 변하지 않는다, 어떠한 픽셀의 움직임은 인접한 픽셀.. 2020. 2. 1.
[openCV] 딥러닝을 활용한 객체 검출 openCV 3.3부터 신경망을 불러와서 코드를 활용할수 있게 되었다. 현재 openCV는 Caffe, TensorFlow, Darknet, Torch/PyTorch 라는 신경망 framework를 지원한다. openCV에서 딥러닝을 사용하는 방법 1. 기존 학습된 신경망 모델을 불러온다. 2. 입력영상을 딥러닝 모델에 적합하게 바꾼다. (blob의 형태로 변환) 3. blob을 신경망에 집어 넣는다. 대표적인 신경망 GoogleNet은 영상이 어떠한 영상인지 판별, YOLO는 영상 내에 존재하는 물체들 검출 출처 - 컴퓨터 비전 한동대학교 황성수 http://www.kocw.net/home/cview.do?cid=1b1f5b73413060b5 2020. 2. 1.
[openCV] 선 검출 허프 변환 y = ax + b -> b = -ax + y (a : 기울기 b: y절편) 즉, 한 점이 가질 수 있는 모든 직선을 b와 m에 대한 평면에서 하나의 직선으로 표현하는 것 에지 영상에서 가능한 (a,b)의 조합을 구한다. 각 에지 픽셀을 통과하는 직선을 모두 찾은 다음 (a,b)의 조합이 여러번 활용될 경우 그것이 영상에 존재하는 선의 방정식일 확률이 높다. 즉, 에지 픽셀을 통과하는 선들을 찾은 후 겹치는 점이 영상에 존재하는 선이다. y = ax + b 라는 식을 활용할 경우 직선이 수직 방향에 가까운 경우 a가 무한대로 수렴하는 문제점 -> 𝜌𝜃 값을 사용 𝜌 : 원점에서 직선에 수선을 내렸을때 수선의 길이 𝜃 : 𝜌와 x축이 이루는 각도 알고리즘 1. 이진 영상으로 변환 2. subdi.. 2020. 1. 29.
[openCV] 형태학적 연산 배경 영상과 현재 영상이 주어지면 차이를 토대로 객체 영역을 추출할 수 있다. 하지만 하나의 개체를 많은 물체가 존재하는 것처럼 인식할 가능성이 있기 때문에 후처리 작업이 필요하다. 따라서 Morphological operation을 사용하면 조각난 물체를 하나로 합칠 수 있다. Erosion and dilation 1. Erosion 침식 - 영상 내에서 B물체를 좌상단으로 스캐닝 하면서 B가 온전히 포함되는 경우만 남겨두는 것 (픽셀 값을 1로 설정) - 이진 영상안의 어떠한 물체를 축소시키거나 얇게 만드는 효과가 있다. - 교집합 개념 2. Dilation 팽창 - 합집합 개념 - structure element를 이동시켰을 때 일부분이라도 물체 A에 포함되는 영역을 찾는 것 (픽셀 값을 0으로 설.. 2020. 1. 29.
[openCV] 동영상 분할 image/video segmentation 주어진 디지털 이미지/영상을 여러 개의 영역으로 나누는 것 Chroma-keying, Surveillance camera Background subtraction 현재 영상을 background로부터 빼는 것 즉, 대부분 영상은 움직이는 물체가 관심의 대상이므로 배경을 빼주는 것이다. t 시간대에 영상(𝑓(𝑥, 𝑦,𝑡))이 있고 그 시간대에 맞는 배경 영상(B(𝑥, 𝑦,𝑡))이 존재할 때 차이 영상(d(x, y, t))는 영상과 배경 영상 차이의 절댓값이 특정 값 T를 넘는 경우 1 혹은 255가 되고 그렇지 않은 경우는 0 차이 영상의 결과가 1 혹은 255 값을 가질 경우 움직이는 물체가 나타난 부분을 의미한다. 가정 : 현재 영상과 배경영상이 동일한 위치.. 2020. 1. 18.