Harris 코너에 위치한 시각적 특징의 옥타브 및 크기를 추정하는 방법


9

현재 시각 기능 일치를위한 기준으로 OpenCV에서 제공하는 여러 기능 탐지기의 성능을 다루고 비교하고 있습니다.

내가 사용하고 SIFT의 설명입니다. MSERDoG (SIFT) 기능을 감지 할 때 만족스러운 일치 (잘못된 일치를 거부 한 후)를 달성했습니다 .

현재 GFTT (추적 기능-해리스 코너) 로 코드를 테스트 하여 비교를하고 있으며 최종 응용 프로그램에서는 시각적 기능 추적 프로세스에서 GFTT 기능 세트를 사용할 수 있습니다.

내가 사용하고 cv::FeatureDetector::detect(...)로 날을 제공하는 std::vector<cv::KeyPoint>가득 관심의 감지 기능 / 키포인트 / 지역 . 구조 cv::KeyPoint에는 특징의 위치에 대한 기본 정보 sizeoctave키포인트에 대한 정보 가 포함되어 있습니다.

GFTT의 첫 번째 결과 는 다른 유형의 기능에서 일반적인 매개 변수 sizeoctave매개 변수를 비교할 때까지 끔찍했습니다 .

  • MSER크기 (10 ~ 40px)를 설정하고 옥타브 를 0으로 둡니다.
  • 개 (SIFT)는 양쪽의 크기옥타브 ( 크기 / 옥타브 20과 40 사이의 비율)
  • GFTT 매개 변수는 항상 : size = 3 , octave = 0

GFTT 기능 의 기본 목적은 일치하는 데 사용되지 않고 추적에만 사용 되었기 때문 입니다. 이것은 작은 특징에서 추출 된 서술자가 작은 1- 픽셀 이동을 포함 하여 많은 것들에 대해 차별적이고 변하지 않기 때문에 낮은 매칭 품질의 결과를 설명 합니다.

내가 수동으로 설정 한 경우 sizeGFTT을10-12을 , 내가 사용하는 경우와 매우 유사 좋은 결과를 얻을 MSER 또는 개 (SIFT를) .

내 질문은 : 증가하는 얼마나 많은 결정하는 더 나은 방법이있는 size(그리고 / 또는 octave)보다 단지 - 이동 -에 - 10 - 볼 - 경우 - 그것 - 작품 ? size가능한 경우 증가하는 하드 코딩을 피하고 프로그래밍 방식으로 결정하고 싶지만 하드 코딩은 새로운 선택 size/ size증가 / size추정 알고리즘의 선택을 뒷받침하는 확실한 인수가있는 한 괜찮 습니다 .


1
Hey @ penelope :이 녀석이 이미 좋은 일을

@Sistu 이것은 일반적인 경우와 평면 객체를 사용하여 디스크립터를 매우 잘 비교하는 것처럼 보이지만 특정 종류의 이미지를 작업 중이므로 자체 테스트를 수행해야합니다. 게다가이 질문은 "다양한 종류의 디 크립 터의 성능을 비교하는 참조 자료가 필요합니다"보다 훨씬 구체적이었습니다. 그래도 좋은 링크입니다, 그것을 확인합니다.
penelope 2016 년

답변:


4

SIFT와 SURF의 스케일 공간은 실제로 모서리와 같은 키 포인트 주변의 "좋은"관련 이웃 크기를 자동으로 추정하기 위해 실제로 개발되었습니다. 추적 할 수 있습니다).

이제 더 긍정적 인 답변은 다음과 같습니다.

  • 키포인트 및 적절한 일치 데이터베이스 (예 : 정사각형 교정 패턴 사용)를 구축하고이 데이터베이스에서 자동 성능 평가를 작성하여 올바른 크기를 찾으십시오. 이 작업은 실제로 자동화 될 수 있습니다 (점 일치 평가에 대한 Mikolajczyk 및 Schmid의 작업 참조)

  • 이미지 피라미드에 좋은 기능을 포함시켜 그와 관련된 스케일을 지정하십시오. 이 절차와 매우 유사한 멀티 스케일 FAST 및 Harris 관심 지점에 대한 참조를 찾을 수 있습니다.

최대 블록 크기를 경험적으로 찾으려면 상자 흐림 효과 (blockSize 연산자가 수행하는 것보다 다소)를 사용하여 이미지 추정치를 계산하고 모서리가 사라지는시기를 확인할 수 있습니다. 그러나 더 많은 흐림 효과로 인해 모퉁이가 실제 위치에서 멀어집니다.

실제로 더 빠르고 더러운 수정을 원한다면 5x5에서 11x11 사이의 크기 (스테레오 블록 일치에 사용되는 일반적인 크기)를 사용해보십시오. 지능적으로 만족스러운 기준을 찾고 있다면 소음 수준에서 두 가지 특징점이 잘 일치 할 가능성을 최대화하십시오.


나는 당신이 제안하는 것보다 조금 더 빠르고 더러운 솔루션을 찾고있었습니다. 또한 키포인트를 추출하여 일치시킨 후 일치하는 날씨가 좋은지 나쁜지를 결정할 수 있습니다. 내가 완전히 무작위로 일치하더라도 좋은 일치를 얻습니다. 첫 번째 제안은 그렇게 도움이되지 않습니다. 두 번째 부분은 더 빠르고 더럽습니다. 완벽한 매개 변수는 없지만 크기를 12로 늘리면 SIFT 및 MSER 일치와 비슷한 품질을 얻을 수 있습니다. 난 그냥 100 또는 34 이상 12를 골라야 할 논쟁이 없습니다 ...
penelope

0

검출기에 가장 적합한 파라미터를 결정하는 데 도움이되도록 OpenCV에는 해당 용도에 맞는 AjusterAdapter 가 있습니다. 나는 그것을 직접 사용하지는 않았지만 아마도 프로그래밍 방식으로 매개 변수를 결정하는 표준 방법 일 것입니다. 또한 키포인트에는 여러 속성이 있지만 모든 알고리즘에 적합한 것은 아닙니다. 키포인트 구조는 다른 알고리즘에 사용되기 때문에 모든 필드를 갖지만 때로는 사용되지 않는 경우도 있으므로 옥타브 = 0을 얻는 것입니다. IMO.


일부 유형의 기능은 때로는 특정 목적에 가장 적합한 유형 이 아니지만 최근의 작품은 하나 이상의 v. 기능 / 관심 지역을 사용하고 단일 유형보다 조합으로 더 나은 결과를 얻는 접근법을 시도해 왔습니다. 그 자체로 (관심이 있다면 작품에 대한 링크를 추가 할 수 있습니다). 또한 내가하고있는 일은 최소한 부분 연구이므로 다른 키 포인트 유형으로 얻은 결과를 시도하고 평가하는 것은 그 결과 중 일부가 상태만큼 좋지 않더라도해야 할 일입니다. 미술. AdjusterAdapter를 살펴 보겠습니다. 감사합니다.
penelope

인터페이스가 제공하는 기능을 살펴 보았습니다. 검출기가 감지하는 기능의 수만 늘리거나 줄일 수 있습니다. 또한 감지 된 기능에는 아무런 문제가 없습니다. 크기를 조정하여 일치하는 데 더 잘 사용할 수 있도록 크기를 조정하는 방법을 원합니다 (크기를 10으로 늘리면 해당 선택에 대한 구체적인 (충분한) 주장이 없습니다)
penelope
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.