2013-06-30 2 views
2

나는 이미지 처리와 이미지 매칭에 매우 익숙하며 매우 명확하게 이해하지 못한다. 내가해야할 일은 입니다. a) 이미지를 가져옵니다. b) SIFT, SURF가 더 적합합니다. c) MD5 또는 SHA1과 같은 해시를 만듭니다. d) 데이터베이스에 저장하고 검색합니다. 비슷한 경우 다른 이미지.OpenCV | SIFT SURF | 해시 | 이미지 검색

Bascially (A Tineye)

OpenCV/SURF How to generate a image hash/fingerprint/signature out of the descriptors? 함. 나는 또한 pHash를 확인하고 opencv simple_matcher.cpp를 통해 SIFT SURF를 실행하려고 시도했습니다.

기하학적 인 해싱/로컬 민감한 해싱에 대해서는 약간 읽었지만 올바른 방향으로 가고 있는지 확실하지 않습니다.

SIFT/SURF (OpenCV)에서 추출한 기능으로 어떻게 해시를 만들 수 있습니까? 누군가가 따라야 할 간단한 단계 나 앞으로 나아갈 수있는 참조를 말할 수 있다면 감사 할 것입니다.

+1

하나의 이미지를 다수의 데이터베이스와 일치시키는 최종 목표는 무엇입니까? – kamjagin

+0

@kamjagin 예. 한 대의 랩톱에서 500 개의 이미지를 찾고 다른 랩톱에서 100 개의 이미지를 찾으면 가정 할 작은 응용 프로그램을 만들려고합니다. 나는 그들 사이에 어떤 이미지가 공유되어 있는지 찾아 내려하고있다. 이미지는 수정할 수 있습니다. 그래서 저는 MD5 해시 만 할 수 없습니다. – bitvijays

답변

3

좋아, 다양한 수준의 복잡성으로 이미지를 일치시키는 훌륭한 방법이 있습니다. 나는 당신이 묘사하고 구현하기가 정말 간단하다고 생각하는 의견을 제시 할 것입니다 (당신이 CV에 초자연적이라고 말했기 때문에 :)).

    1 컴퓨터의 이미지에
  1. 계산 스파 스 또는 밀도 SURF 기능
  2. 어휘 만들기
  3. 이 어휘 (NN)
  4. 에 기능을 할당합니다 (임의의 하나를 생성하는이 작업은 아마 충분히도 좋다)
  5. KD는 트리 빌드 (가장 가까운 이웃을 위해 사용하는) 또는
  6. 가 컴퓨터 2의 이미지에 분류를 적용 (합계와 같은) 일부 분류 내용
(어휘에 서핑을 계산하고 할당 가진 후)

동일한 이미지가 가장 높은 분류 점수를 생성합니다.

내가 더 빠르고 해싱 방식에이 접근법을 제안한 이유는 ~ 500 정도의 이미지에 대해 성능 문제가있을 가능성이 적고 opencv (bagofwords_classification.cpp)에 좋은 예가 있기 때문입니다.), 원하는 것을 성취하기 위해 단계별로 따라갈 수 있습니다.

+0

몇 가지 질문이 있습니다. 1) https://ros.code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/matcher_simple.cpp?rev=3204의 코드와 같이 스파 스 또는 밀도가 높은 SURF 기능을 사용합니다. 2) 나는 단어의 백에 대해 읽었다. 주로 Visual Object Classes pascal에 사용되었습니다. 나는 정확하게 그것을하고 있지 않다. 신청 목적은 아동 학대의 이미지를 찾는 것입니다. 3) 발견 된 이미지와 관련된 모든 해시를 포함하는 중앙 데이터베이스가 있어야합니다. 따라서 랩톱을 몇 대 붙잡더라도 노트북에서 찾은 이미지를 스캔하고 데이터베이스를 확인합니다. 4) 이미지는> 500, 10000 일 수 있습니다. – bitvijays

+1

1. 예 - 이것은 두 개의 다른 이미지에 대한 희소 SIFT 설명자를 계산하는 방법으로,이 문제에 대해 충분합니다. 2. BOW는 공간적 제약이없는 이미지의 내용을 설명하는 방법입니다 (피라미드 형 공간 제약으로 상황이 개선되지만). 그것은 당신의 문제에 트릭을 할 것입니다. 3) 여전히 매우 적합합니다. 각 이미지는 단어로 설명됩니다. 4) 그런 다음 세부 사항을보고 더 효율적으로 만들어야합니다.http://people.rennes.inria.fr/Herve.Jegou/의 작업을 살펴 ​​보는 것으로 시작할 수 있습니다. 그의 웹 페이지에는 matlab 코드가 있습니다. – kamjagin

관련 문제