이진의 강력한 독립 기본 기능 ( "BRIEF") 이해


14

BRIEF 알고리즘 의 설명자가 서로 어떻게 일치합니까?

다른 이미지에서 템플릿 이미지를 어떻게 찾습니까? 디스크립터를 어떻게 비교합니까? 나는 그 기사를 읽었지만 그들이 어떻게했는지 이해하지 못했다.

그들은 해밍 거리를 사용하여 설명자를 비교했다고 밝혔지만 조명, 크기 등의 변화에 ​​어떻게 불변이 발생합니까?

답변:


15

우선,이 백서에는 '서식 파일'과 같은 것은 없습니다. '서식 파일'이라는 단어는 컴퓨터 비전에서 다른 의미를 갖습니다.

이 백서에서 사용 된 방법은 비교적 간단합니다. 내가 당신을 위해 그것을 분해하자. 로컬 기능을 사용하여 객체 인식, 이미지 일치, 이미지 스티칭 등의 작업을 수행 할 때 수행해야 할 중요한 세 가지 사항이 있습니다.

가장 중요한 것은 탐지입니다; 이 단계에서는 관심 지점 또는 키포인트를 감지하려고합니다. 즉, 이미지에서 흥미로운 것으로 생각되는 로컬 지점 (기본적으로 작은 패치)을 선택하려는 경우에는 여러 가지 방법이 있습니다. 이 논문은이 분야에 기여하지 않습니다. 그러나 그들은 SURF 기능 탐지기와 CenSurE 키 포인트를 사용하는 것 같습니다 (자세한 내용을 알고 싶다면 찾아 볼 수 있습니다. 그라데이션과 같은 기능을 사용한다는 점을 제외 하고는이 단계에 대해서는 이야기하지 않습니다. 사진이있는 경우 하늘 중앙의 점이 관심 지점으로 선택 될 가능성은 거의 없습니다. 해당 지점 주변의 픽셀이 모두 같은 강도이기 때문에 '바쁜'항목은 관심 지점으로 선택되는 경향이 있습니다. (예 : 테이블 / 건물 모서리 / 코너)).

감지가 완료되면 기능 설명다음과 같습니다. 이미지의 흥미로운 점을 알고 이제 설명하려고합니다 (기본적으로 흥미로운 점 주위의 점 / 패치를 설명하려고 함). SIFT는 널리 사용되는 기능 설명자입니다. 이 백서에서는 BRIEF라는 새로운 것을 제안합니다. BRIEF는 비교를 기반으로하므로 패치 (50 x 50 픽셀)가 있다고 가정하고 두 점을 선택하고 두 점의 강도를 비교합니다. 첫 번째 점이 두 번째 점보다 크면 ' 1 ', 그렇지 않으면'0 ', 우리는 여러 쌍에 대해 그것을 수행하고 부울 값의 문자열로 끝납니다. 이제 큰 문제는 '어떻게 한 쌍의 점을 선택합니까?'입니다. 논문에서 그들은 상대적으로 비슷한 5 가지 방법을 설명했습니다. 당신은 균일하게 (동일한 확률) -S / 2에서 S / 2까지의 점을 선택합니다. 이 예에서는 패치 크기가 50이므로 -25에서 25 사이의 점을 선택합니다. 0,0 좌표가 패치의 중심에 있다고 가정합니다. 여기 예가 있습니다.

첫 번째 쌍을 선택하고 각 점은 (X, Y) 좌표로 구성되어 있으므로 첫 번째 점의 X 좌표를 선택한 다음 첫 번째 점의 Y 좌표를 균일하게 선택합니다. (10, -1) 이제 두 번째 요점입니다. 두 번째 점의 X 좌표와 두 번째 점의 Y 좌표를 균일하게 선택하고 (-2,20)이라고 가정합니다. 이제 각 점의 강도 값을 얻고 어느 것이 더 큰 강도 값을 갖는지 확인합니다 -first가 더 크면 첫 번째 부울 값을 '1'로 지정하고 그렇지 않으면 '0'을 지정합니다. 우리는 많은 쌍을 위해 그것을하고, 부울 값으로 구성된 벡터로 끝납니다.

* 매우 중요한 점 : 이것이 작동하려면 임의 생성기보다 시드 값을 지정해야합니다. 그 의미는 각 패치에 대해 동일한 값을 선택한다는 것입니다. 패치를 비교 / 일치 할 때 전체 시스템이 동일한 방식으로 선택되지 않으면 전체 시스템이 손상되므로 매우 중요합니다. -일치 단계를 읽을 때 이것이 의미가 있습니다.

따라서 탐지기에 의해 탐지 된 각 관심 지점에 대해이 작업을 수행합니다. 각 관심 지점마다 부울 값으로 구성된 벡터를 얻게됩니다.


이제 두 이미지를 일치시키기 위해 ( 세 번째 단계; 일치 ) 다른 이미지에 대해 동일한 작업을 수행 한 다음 BRIEF를 사용하여 감지하고 설명합니다. 예를 들어 각 이미지에 10 개의 관심 지점이 있다고 가정합니다 (각 이미지에서 10 개의 가장 흥미로운 지점을 얻는 경우 항상 작동 할 수 있음). BRIEF를 사용하여 예를 들어 50 쌍을 사용하여 각 패치를 설명하므로 각 이미지는 50 개의 부울 값으로 구성된 10 개의 벡터

두 이미지를 비교하기 위해 첫 번째 이미지에서 두 번째 이미지의 서로 다른 벡터까지 각 벡터의 가장 가까운 이웃을 찾습니다. 우리는 매우 빠른 해밍 거리, 해밍 거리의 예를 사용합니다

해밍 거리 ((0, 1, 1), (0, 0, 0)) = 2

해밍 거리 ((0, 1, 1), (0, 1, 1)) = 0

해밍 거리 ((0, 1, 1), (1, 0, 0)) = 3

해밍 거리 ((0, 1, 1), (1, 1, 1)) = 1

기본적으로 얼마나 많은 잘못된 통신

희망이 도움이


대단히 감사합니다. 알고리즘을 이해할 수있었습니다. 그러나 여전히 몇 가지 질문이 있습니다. 아핀, 원근 변경 및 조명 변경은 어떻습니까? 조명에 변화가 있거나 관점에서 볼 때 비트 열이 비슷합니까?
막시무스

조명 변화의 양이 모든 픽셀에 대해 동일하다면 픽셀과 다르면 여전히 작동합니다 (일부 픽셀 조명이 증가하고 다른 픽셀이 감소 함). 그러면 문제가됩니다. 선호도는 (결과에 따라) 제대로 작동하는 것처럼 보이지만 작동이 멈추는 지점에 도달합니다 (실제로 결과에서 (그림 3)). 이미지를 다운로드하여 Wall 1 | 2, 벽 1 | 3은)에 해당합니다. 그들의 방법은 회전 불변성이 아니며 (그다지 어렵지는 않습니다) 명시 적으로 언급합니다.
Roronoa Zoro 1

설명해 주셔서 감사합니다. BRIEF 디스크립터를 잘 이해하고 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.