2014-09-09 5 views
0

우선 저는 computervision 분야에 새로운 사람이고 현재 문제가 있음을 알고 opencv로 해결하려고했습니다. 자바 래퍼).촬영 된 이미지를 스크린 샷 (또는 데이터 모델을 기반으로 생성 된 이미지)과 일치시킵니다.

기본적으로 카메라로 촬영 한 모델의 파트 사진 (각도, resoultions, 회전 ...)이 다르므로 모델에서 해당 파트의 위치를 ​​찾아야합니다.

예 사진 :

enter image description here 모델 사진 :

desc

그래서 하나 개의 질문입니다 : 내가 시작해야 어디에/내가 알고리즘을 사용해야합니까?

첫 번째 시도는 SURF와 함께 KeyPoint Matching을 Detector, Descriptor 및 BF Matcher로 사용하는 것입니다. 10 점 만점에 2 pci 정도 작동했습니다. 기본 매개 변수를 사용하고 개선없이 다른 감지기를 사용해 보았습니다.

enter image description here

enter image description here

내 두 번째 시도했다 : 두 가지 예 (... 어쩌면 올바른 매개 변수의 질문입니다하지만 어떻게 올바른 알고리즘과 결합 권리 parameteres을 찾을 수 있습니다.?) 색상을 사용하여 모델의 특정 요소를 구별하고 모델 자체와 구조를 비교할 수 있습니다. 모델의 그림 외에도 모델의 XML 표현도 있습니다. 지금 나는 이미지에서 붉은 색을 강조 표시하여 수동으로 h, s, v 값을 조정하여 약 4 장의 사진을 가장 잘 감지하므로 다른 사진에서는 실패합니다.

두 가지 예 : 또한 기하학적 구조를 검출 (히스토그램 이퀄라이제이션 영리한 회색) 에지 검출을 사용하려고

enter image description here enter image description here

. 상상할 수있는 일부 결과에 대해서는 효과가 있지만 다른 그림에는 똑같은 변수를 사용하면 "실패"합니다. 두 가지 예 :

enter image description here enter image description here

내가 컴퓨터 비전에 대해 잘 알고 그냥 몇 가지 알고리즘을 시도하지 않아요 말했듯이. 나는 어떤 알고리즘과 기술의 조합이 가장 좋고, 어떤 매개 변수를 사용해야하는지에 대해 알지 못한다는 문제에 직면 해있다. 수동으로 테스트하는 것은 불가능한 것 같습니다. 사전

gemorra

+0

우선 이미지를 수정하려고합니다. 카메라가 직사각 형태로 보일 것입니다 (선 구조와 직사각형을 찾으려고합니다). 그런 다음 모양 일치가 작동 할 수 있습니다. 당신의 canis tresholds를 위해 당신은 어떤 색 정규화를 먼저 시도하고 싶을지도 모른다. – Micka

답변

2

SURF 기능을 사용하여 귀하의 초기 아이디어에서

감사는이 알고리즘 작업 방법 매개 변수를 이해하려고 노력하고 이미지를 등록 할 수 있어야한다, 실제로 매우 좋았다. 매개 변수의 시작점은 헤 시안 임계 값 만 변경하고 그렇게하는 동안 두려워하는 것입니다. 즉, 기능이 매우 잘 정의되어 있으므로 2000 년 이후의 임계 값을 사용하십시오 (500-1000 단계로 증가하면 효과를 얻을 수 있습니다. 결과는 완전히 괜찮습니다).

다른 방법으로는 타원을 감지하고 정규화하는 어파 인 워프를 계산하고 상호 상관을 실행하여이를 등록 할 수 있습니다. 이 대안은 훨씬 더 많은 작업을 의미하지만 매우 매력적입니다. 공분산 행렬과 choletsky 분해를 사용하여 그 정규화에 대한 몇 가지 아이디어는 here입니다.

+0

제안 해 주셔서 감사합니다. 최적의 헤센 임계 값을 찾기 위해 여러 개의 테스트 이미지를 취할 것입니다. 다른 매개 변수는 어떻습니까? 거리에 기반한 필터 일치와 같습니다. 어떤 일치자를 사용해야합니까? 플랑, BF? - – gemorra

+0

나는 보통 두 matchers 모두 동일하거나 비슷한 결과를 얻는다. 훨씬 더 중요한 것은 이웃들의 수를 조정하는 것이다. 내 생각에 k = 1은해야하지만 컴퓨터 시력은 시도와 오류에 대해 많이 생각한다 :/ – McMa

+0

알았다. 나는 다른 그림을 시험해보고 싶었고 한계점을 조정하기 위해 이상한 문제에 부딪쳤다. 나는이 질문에 직접적으로 연결되어 있지 않기 때문에 새로운 질문을 열었다 : http://stackoverflow.com/questions/25752497/keypoint-matching-just-works-two-times-java-opencv – gemorra