차근차근/OpenCV 63

기계학습 , 이미지 인식 학습 ,패턴인식

영상처리에 있어서 기계학습?이 필요할 것 같다. 음.. 아직 더 알아 볼 것이 많다. - 머신러닝의 종류 : 신경망 / 데이터 마이닝 / 의사결정 트리 / 유전알고리즘 / 사례기반 추론 / 패턴인식 / 강화학습... -패턴인식은 오일석 교수님의 책 추천한다고 한다.. -학습 알고리즘으로는 CNN / SVN / bayesian등이 있다고 한다. http://eunwoopark.com/wp/2014/03/24/machine_learning/ 기계학습(Machine Learning) 의 정의 및 종류 최근 몇년간 빅데이터 분석이 각광 받으면서, 빅데이터를 활용하여 분석하는 방법 중 하나인 기계 학습 (Machine learning, 이하 머신 러닝)에 대한 관심 또한 높아지고 있다.머신 러닝이란 인공지능 (A..

차근차근/OpenCV 2014.12.24

RANSAC(RANdom SAmple Consensus)을 이용한 Line Fitting Example

http://blog.daum.net/pg365/62 지금까지 로봇 분야에서 일해오면서 RANSAC이라는 말은 여러 번 들은것 같은데, 제대로 파악을 못하고 있다가 SIFT 알고리즘을 분석하면서 자세히 알게되었습니다. 그래서 여기에 간단한 예제와 함께 소개하도록 하겠습니다. 기본개념:RANSAC ("RANdom SAmple Consensus") 알고리즘은 측정 노이즈가 심한 원본 데이터로부터 모델 파라미터를 예측하는 방법으로Fischler 과Bolles에 의해서 제안되었다.RANSAC은 전체 원본 데이터 중에서 모델 파라미터를 결정하는데 필요한 최소의 데이터를 랜덤하게 샘플링하면서 반복적으로 해를 계산함으로써 최적의 해를 찾는다. 이 방법은 전통적인 통계적 방법과는 반대의 개념을 가진다. 즉, 대부분의 ..

차근차근/OpenCV 2014.12.24

RANSAC의 이해와 영상처리 활용

http://darkpgmr.tistory.com/61 영상처리 하면서 이 분 블로그는 꼭 다시 읽게 되는듯. 설명도 참 잘하시고.. 역시나 또 도움을 받아야 겠다. 영상처리나 컴퓨터 비전을 하면서 RANSAC을 모르면 간첩일 정도로 RANSAC은 너무나 유명한, 그리고 널리 사용되는 방법이다. RANSAC이 유명한 만큼 이미 인터넷에 관련된 글들이 꽤 있다. 그럼에도 또 이렇게 RANSAC에 대한 글을 쓰는 건 무언가 다른 플러스 알파(?)가 있기 때문일 것이다. 그 플러스 알파가 무엇인지는 이어지는 글을 살펴보도록 하자 ^^ RANSAC 자체는 특정 분야에 국한되지 않는 일반적인 방법론이다. 하지만 본 블로그가 주로 영상처리에 관련된 주제를 다루기 때문에 영상처리 관점에서 이야기를 풀어가고자 한다. ..

차근차근/OpenCV 2014.12.24

k-d tree

http://blog.daum.net/pg365/140 k-d tree(k-dimensional tree)는 k-차원의 공간 내에서 점들을 구성하기 위한 공간 분할 자료구조로 binary tree의 특수한 경우입니다. K-d tree는 다차원의 탐색 키를 사용하는 탐색 알고리즘에 유용하게 사용됩니다. 예를 들자면, SIFT나 SURF로 추출한 특징점들은 높은 차원의 벡터로 표시되는데 이 특징점들을 DB에 저장된 특징점들과 비교하여 유사도가 가장 높은 것을 찾기위해 사용됩니다. Insertionk-d tree에 노드를 삽입하는 방법은 binary search tree와 유사하게 동작합니다. binary search tree의 insertion을 참고하면 이해가 쉽습니다. Searchk-d tree에서 노드..

차근차근/OpenCV 2014.12.24

surf의 매칭률 높이기(엉뚱한 매칭 포인트 줄이기)

SURF를 사용한 이미지 ㅇ매칭을 한다. 매칭 이미지를 보면 엉뚱한 곳이 매칭 포인트라며 집어주기도 하고한 곳에 여러 매칭 포인트가 모여있기도 한다. 엉뚱한 매칭 포인트를 줄이는 방법을 찾아봤다. 소스는 아직 없지만 일단 내용정리만 해보려고 한다. http://cafe.naver.com/opencv/27179 - 유클라디언 거리를 이용하는데 실제로 모두를 매칭하게 되면 시간이 너무 오래 걸린다.-> k-트리를 이요해서 트리에서 디스크립터를 넣어두고 비교한다. (k-트리는 가장 유사한 노드끼리의 검색을 손쉽게 할 수 있다.)- 매칭 후에 missmatching딘 것을 inlier와 outlier로 걸어내서 inlier부분만 매칭되게 해야 한다.-> RANSAC , StarSAC 등을 이용 - 보통 특징점 ..

차근차근/OpenCV 2014.12.24

window8 + openCV 설치

환경 :window8(64bit)VS2010 1. opencv를 다운 & cmake다운 opencv : http://opencv.org/downloads.html 1. 나의 경우 2.4.9 version -opencv for windows 누르고 기다리면 다운이 된다.2. 다운이 다 되면 실행 . 경로를 설정하는데 나의 경우는 c밑에 바로 했다. extract 누름 cmake : http://www.cmake.org/download/1. 자신의 시스템에 맞는 파일을 다운받는다 - 나의 경우 : cmake - 2.8.12.2-win-x86.exe 2. 다운이 다 되면 실행. add cmake to the system path all users 로 체크3. cmake실행해서 where is the sourc..

차근차근/OpenCV 2014.12.05

[VS2010]LPCTSTR에서 char*로 형 변환하기

http://deios.kr/m/post/399 OpenCV를 가지고 놀고 있는데 이놈이 char *밖에 지원하지 않아서 고생이 많습니다. 소스도 있겠다 확 다 뜯어고쳐버릴까... 라고 생각은 했지만 막상 하려니 엄두가 나질 않네요... 이게 다 실력이 부족해서라는... ㄷㄷㄷ MSDN도 찾아보고 이래저래 해봤지만 파일 경로등 특수문자 or 한글(유니코드)를 포함한 LPCTSTR은 char*형으로 쉽게 변환하지 못했습니다. \는 짤라먹기 일수고 한글은 듣도보도 못한 한자 or 일어로 변환되버렸죠 ㅠㅠ 어쩌다가 찾은 LPCTSTR형을 char*형으로 변환하는 방법을 알려드리겠습니다. 먼저 소스부분에 USES_CONVERSION;라고 적어줍니다. 선언된 곳으로 이동해보니 #ifndef _DEBUG #defi..

차근차근/OpenCV 2014.12.03

opencv 배경 제거 알고리즘

검색어 ㅣ opencv 배경 제거 알고리즘 전경과 객체 분리 http://lueseypid.tistory.com/category/Developer/OpenCV 차프레임제일 간단한 배경 제거 방법으로 한프레임에서 다른 한 프레임을 뺀 후, 충분히 큰 변화가 있는 부분을 전경으로 추출 void cvAbsDiff(const CvArr* frameTime1, const CvArr* FrameTime2, CvArr* frameForground); 영상은 잡음의 영향을 받기 때문에, 픽셀값의 차이가 15보다 작은 경우는 무시하고, 값의 차이가 큰 픽셀들만 두드러지게 표시하자!픽셀값의 차이가 작으면0으로, 크면 255로 설정한다. double cvThreshold( const CvArr* frameForground,..

차근차근/OpenCV 2014.10.07

openCV grabcut 배경제거

내가 해야 하는 것을 이미지 한장에서 사물과 배경을 분리해 내는 일인데아마 조금 어려운 것 같다. 영상에서 배경을 제거할 때는 차프레임 , 평균 배경방법등이 있고 객체를 사람으로 한정할 때는 human detection , haar , HOG 이런 걸 이용하고그렇지 않은 경우 ROI검출 알고리즘을 사용하면 된다고 한다(attention medel) 음.. 또 1) SHIT같은 물체 인식 방법을 이용해 물체를 분리하거나2) DoF(depth of focus / defocus) 를 사용하는 방법이 있으나 정확도가 낮다고 한다.(경계선의 블러처리을 두고 깊이를 측정해서 구분)3) grabcut-한 장의 영상에서 원하는 객체분리- Lazy Snapping , GrabCut , Cutout , video Snap..

차근차근/OpenCV 2014.10.07
반응형