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


9

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

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

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

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

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

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

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

내가 수동으로 설정 한 경우 size의 GFTT을 에 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.