ੈ✩‧₊˚Computer Science/컴퓨터비전

    [OpenCV] 추적(tracking)

    Basic concept 1. ROI가 설정된다. 2.ROI 영역을 히스토그램 혹은 feature로 표현한다. 3.그 다음 frame에서 ROI와 가장 유사한 patch를 찾는다. Mean shift -점의 밀도가 최대인 위치로 이동 - Histogram back-projection 1. model image의 2차원 히스토그램을 계산한다. (계산했을 때 살색이 굉장히 많기 때문에, 특정부분만 흰색인 결과 도출) 2. 손일 확률이 높은 부분은 하얀색, 아닌부분은 검정색으로 back projection이 일어남 tracking using mean shift 1. 자동차의 히스토그램 구함 2. target image 에서 자동차의 히스토그램에 유사한 부분은 밝고, 아닌부분은 어둡게 함 3. 밝기값의 밀도가 ..

    [OpenCV] Pedestrian detection (보행자 검출)

    OpenCv에서 보행자 검출은 Hog를 이용한다. - Hog : 각 픽셀에 대한 gradient 값을 히스토그램으로 계산한 것 (gradient : x,y 의 미분값) - 주어진 보행자 영상에서 영역을 분할하고 각각의 영역에 대해 HoG를 계산한 다음 HoG값을 이어 붙인다.(concatenation) - HoG가 보행자를 표현하기에 좋은 feature라면 보행자 concatenation 과 아닌 것의 차이가 있을 것이다. - Support Vector Machine(SVM)를 이용해 두개의 class를 구분하는 선 (classifier)을 생성 ☞ SVM을 이용해 training - 파란색원이 보행자, 비어있는 원이 보행자가 아닌 영상 표현 - margin이 클수록 좋다 ( margin : 가장 가까운..

    [OpenCV] Face detection (얼굴 검출)

    컴퓨터가 물체를 어떻게 찾아낼까? training stage : 많은 사진을 모아 물체를 나타내는 특징을 찾아내기 ( 학습시킴 ) test stage : input image로 부터 특징을 추출해내기 Harr-like feaure -모든 사람은 얼굴이 다르게 생겼지만 그 패턴은 같음 (눈,코,입) - 사람의 얼굴 위에 흑백의 사각형을 겹쳐 놓은 다음 밝은 영역에 속한 픽셀 값들의 평균에서 어두운 영역에 속한 픽셀값들의 평균의 차이를 구한다. (어두운 영역에 속한 픽셀값의 평균 - 밝은 영역에 속한 픽셀값의 평균을 계산하고 임계값 이상인 것을 찾으면 된다) - feature의 크기와 모양, 위치는 다양할 수 있다. (검은색부분과 흰색부분의 크기는 같아야 함) Boosting : weak-learner 로 ..

    [OpenCV] 배경 제거 (Background subtraction)

    1. 간단한 배경제거 알고리즘 가정 : 동일한 위치에서 촬영, 두 영상의 조명 상태에 차이가 없어야 한다. 두개의 이미지 프레임 : foreground(x,y,t) , background(x,y,t) (t=시간) 이 있다고 가정 알고리즘 만약 |foreground(x,y,t) - background(x,y,t)| > threshold (임계값) 이라면 destination(x,y,t) = 1 혹은 255 아니라면 destination(x,y,t) = 0 #include "cv.hpp" #include using namespace cv; using namespace std; int main(){ VideoCapture capture("background.mp4"); Mat background ,image,..

    [OpenCV] Threshold(임계값 설정), Inrange

    Threshold : 이미지를 이진화 하여 흑/백을 나누는 기술 threshold 함수에는 cv.threshold 와 cv.adaptivethreshold 가 있다. 기본임계처리 cv.threshold(Mat src, Mat dst, double thresh, double maxval, int type) Mat src : input image Mat dst : output image double thresh : 임계값 double maxval : 임계값을 넘었을 때의 value int type : threshold type [threshold type] THRESH_BINARY : 픽셀 값이 threshold 보다 크면 maxval(255 흰색), 아니면 0(검정) THRESH_BINARY_INV :픽셀..