문제

중복 탐지를 위해 이미지의 지문을 얻는 효율적인 방법이 있습니까?

즉, 이미지 파일이 주어지면 JPG 또는 PNG는 이미지 내용을 식별하고 이미지의 다른 측면 (예 : 이미지 메타 데이터)에 상당히 탄력적 인 값을 신속하게 계산할 수 있기를 원합니다. 그것이 크기 조정을 다루면 그것은 더 좋습니다.

업데이트] JPG 파일의 메타 데이터와 관련하여 파일의 특정 부분에 저장되어 있는지 아는 사람이 있습니까? 나는 그것을 무시할 수있는 쉬운 방법을 찾고 있습니다 - 예를 들어. 파일의 첫 x 바이트를 건너 뛰거나 파일 끝에서 x 바이트를 가져 가서 메타 데이터가 발생하지 않도록 할 수 있습니까?

도움이 되었습니까?

해결책

메타 데이터와 크기 관련 물건을 우회하려는 경우 어둠 속에서 찌르십시오.

  1. 에지 감지 및 스케일 독립 비교
  2. 그레이 스케일/RGB 값의 샘플링 및 통계 분석 (평균 루, 평균 컬러 맵)
  3. FFT 및 기타 변형 (좋은 기사 FFT를 사용한 지문의 분류)

그리고 많은 다른 사람들.

원래:

  1. JPG/PNG/GIF를 인코딩과 무관 한 RGB 바이트 배열로 변환
  2. 퍼지 패턴 분류 방법을 사용하여 이미지에서 '패턴의 해시'를 생성하십시오 ... 일부 제안대로 RGB 배열의 해시가 아닙니다.
  3. 그런 다음 캡슐화 된 해시 또는 패턴 인코딩의 일치 임계 값을 기반으로 한 빠른 해시 비교 방법을 원합니다. Erlang은 이것에 좋을 것입니다 :)

장점은 다음과 같습니다.

  1. 인코딩, 크기, 측면, 색조 및 럼 수정, 동적 범위/서브 샘플링 차이 및 경우에 따라 관점에 관계없이 AI/교육, 스팟 복제를 사용하는 경우

단점 :

  1. 코딩하기 어려울 수 있습니다 Opencv 도움이 될 수 있습니다
  2. 확률 론적 ... 거짓 긍정은 아마도 신경망 및 기타 AI로 감소 될 수 있습니다.
  3. 패턴 품질을 캡슐화하고 검색을 배포 할 수 없다면 느리게

다음과 같은 점검 이미지 분석 서적

  1. 패턴 분류 2ed
  2. 이미지 처리 기초
  3. 이미지 처리 - 원칙 및 응용 프로그램

다른 사람

이미지를 스케일링하는 경우 상황이 더 간단합니다. 그렇지 않다면, 샘플 감소보다 더 많은 방식으로 스케일링이 손실되었다는 사실에 맞서 싸워야합니다.

다른 팁

비교를 위해 이미지의 바이트 크기를 사용하는 것은 많은 응용 프로그램에 적합합니다. 또 다른 방법은 다음과 같습니다.

  1. 메타 데이터를 제거하십시오.
  2. 이미지의 MD5 (또는 기타 적합한 해싱 알고리즘)를 계산하십시오.
  3. 이를 잠재적 인 Dupe 이미지의 MD5 (또는 무엇이든)와 비교하십시오 (해당 메타 데이터를 제거한 경우).

이 논문을 확인하십시오 강력한 이미지 해싱.

SIFT (Scale Invariant Feature Transform)와 같은 알고리즘을 사용하여 그림의 핵심 지점을 결정하고이를 일치시킬 수 있습니다.

보다 http://en.wikipedia.org/wiki/scale-invariant_feature_transform

파노라마에서 이미지를 스티칭 할 때 다른 이미지의 일치 점을 감지 할 때 사용됩니다.

이미지 해시를 수행하고 싶습니다. 특정 언어를 지정하지 않았기 때문에 선호도가 없다고 생각합니다. 최소한이를 수행 할 수있는 Matlab 도구 상자 (베타)가 있습니다. http://users.ece.utexas.edu/~bevans/projects/hashing/toolbox/index.html. 이에 대한 대부분의 Google 결과는 실제 라이브러리 나 도구보다는 연구 결과입니다.

MD5ing의 문제는 MD5가 입력의 작은 변화에 매우 민감하고 약간 "더 똑똑한"일을하고 싶다는 것 같습니다.

꽤 흥미로운 질문. 가장 빠르고 쉬운 것은 Content Byte 배열의 CRC32를 계산하는 것이지만 100% 동일한 이미지에서만 작동합니다. 더 지능적인 비교를 위해서는 아마도 일종의 푸지 로직 분석이 필요할 것입니다 ...

나는 이것의 최소한 사소한 버전을 구현했다. 모든 이미지를 매우 작은 (고정 크기) 검은 색과 흰색 썸네일로 변환하고 크기를 조정합니다. 그런 다음 그것들을 비교합니다. 정확한, 크기 조정 및 복제를 검은 색과 흰색으로 변환합니다. 많은 비용없이 많은 복제를받습니다.

가장 쉬운 방법은 다른 모든 메타 데이터를 무시하고 이미지 데이터의 해시 (MD5와 같은)를 수행하는 것입니다. 공통 이미지 형식을 해독 할 수있는 많은 오픈 소스 라이브러리를 찾을 수 있으므로 메타 데이터를 쉽게 벗기는 것이 쉽습니다.

그러나 스케일링, 회전을 포함하여 이미지 자체가 어쨌든 조작 될 때는 작동하지 않습니다.

원하는 것을 정확하게 수행하려면 이미지 워터 마킹을 사용해야하지만 특허를 받았으며 비용이 많이들 수 있습니다.

이것은 단지 아이디어 일뿐입니다. 아마도 JPEG의 DCT에 존재하는 저주파 성분은 크기 불변 식별자로 사용될 수 있습니다.

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