문제

Surf 및 Sift 알고리즘을 이해하는 데 몇 가지 개념적 문제가 있습니다. 서핑에 관한 모든 것. 내 이해가있는 한 서핑은 가우스의 라플라시아 인을 발견하고 Sift는 가우스의 차이에 대해 운영됩니다. 그런 다음 특징을 추출하기 위해 주위의 64 변수 벡터를 구성합니다. 나는 이것을 적용했다 암호.

(Q1) 그렇다면 기능을 형성하는 것은 무엇입니까?

(Q2) Surffeaturedetector Detector (500)를 사용하여 알고리즘을 초기화합니다. 그렇다면 이것은 피처 공간의 크기가 500이라는 것을 의미합니까?

(Q3) Surf Good_matches의 출력은 kyypoint1과 kicypoint2 사이의 일치를 제공하며 일치 수를 조정함으로써 객체가 발견/감지되었는지 여부를 결론 지을 수 있습니다. 키포인트의 의미는 무엇입니까? 이것들은 기능을 저장합니까?

(Q4) 객체 인식 응용 프로그램을 수행해야합니다. 코드에서 알고리즘이 책을 인식 할 수있는 것으로 보입니다. 따라서 객체 인식에 적용 할 수 있습니다. 나는 Surf가 색상과 모양에 따라 물체를 구별하는 데 사용될 수 있다는 인상을 받았습니다. 그러나 Surf와 Sift는 코너 가장자리 감지를 찾으므로 회색 스케일로 변환되기 때문에 컬러 이미지를 훈련 샘플로 사용하는 데 아무런 의미가 없습니다. 각 채널의 키포 인을 별도로 계산하지 않는 한이 알고리즘에서 색상 또는 HSV를 사용할 수있는 옵션은 없습니다.객체 및 장면 인식을위한 컬러 디스크립터 평가).

그렇다면 색상, 모양에 따라 물체를 어떻게 감지하고 인식 할 수 있습니까? 나는 모양을 기반으로 물체를 차별화하기 위해 서핑을 사용할 수 있다고 생각합니다. 예를 들어, 나는 2 권의 책과 병이 있습니다. 전체 객체에서 단일 책 만 인식하면됩니다. 그러나 장면에 다른 유사한 모양의 물체가있는 즉시 Surf는 많은 잘못된 긍정을 제공합니다. 내 응용 프로그램에 어떤 방법을 적용 할 것인지에 대한 제안에 감사드립니다.

도움이 되었습니까?

해결책

  1. 피라미드의 포인트, 상단 및 연인 이미지에 대한 이웃 픽셀의 반응보다 더 큰 개의 응답 (3x3x3 인근)은 특징 (Circle) 센터의 좌표를 형성합니다. 원의 반경은 피라미드의 레벨입니다.

  2. Hessian 임계 값입니다. 임계 값보다 큰 값을 갖는 Maximas (1 참조) 만 사용한다는 것을 의미합니다. 더 큰 임계 값은 기능의 수가 적지 만 기능의 안정성은 더 좋고 비자 Vera.

  3. kyypoint == 기능. Opencv에서 키패 포인트는 기능을 저장하는 구조입니다.

  4. 아니요, 서핑은 질감이있는 물체의 비교에 적합하지만 모양과 색상에는 적합하지 않습니다. 모양의 경우 로컬 기능이 아닌 Canny Edge 검출기 인 MSER (OpenCV One은 아님)을 사용하는 것이 좋습니다. 이 프레젠테이션 유용 할 수 있습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top