2009-03-05 19 views
25

तुम लोग किसी भी एल्गोरिदम कि छवियों के बीच अंतर का परिकलन करने के लिए इस्तेमाल किया जा सकता है के बारे में पता है गणना की जा रही?छवियों के बीच अंतर

http://tineye.com/ आप इसे एक लिंक दे उदाहरण के लिए इस वेबपेज ले लो या एक छवि अपलोड करें और इसे समान छवियों पाता है। मुझे संदेह है कि यह उन सभी के खिलाफ प्रश्न में छवि की तुलना करता है (या शायद यह करता है)।

गणना करके मैं क्या Levenshtein_distance या Hamming distance स्ट्रिंग्स के लिए है की तरह मतलब है।

किसी भी तरह से मैं एक परियोजना या कुछ भी के लिए सही जवाब की जरूरत है, मैं सिर्फ वेबसाइट मिल गया है और बहुत ही उत्सुक हो गया। मुझे पता है कि digg अपनी वेबसाइट के लिए एक समान सेवा के लिए भुगतान करता है।

+0

एक शांत साइट है कि प्रयोग कर रहे हैं ... आपको लगता है इसका इस्तेमाल हो सकता है कर इसके अलावा मिलान फ़ाइल नाम? इसकी वजह से मदद मिल सकती है .... – alex

+0

मजेदार: http://tineye.com/search/789b9c5d3a71fe1609725c8fab0597a825258463 – OscarRyz

+0

उत्पाद ओवरव्यू, वास्तव में स्टैक ओवरफ्लो लोगो की तरह दिखता है – OscarRyz

उत्तर

21

बहुत सरल उपायों, आरएमएस त्रुटि आधारित दृष्टिकोण होने जा रहे हैं, उदाहरण के लिए:

ये शायद दूरी उपायों के अपने विचार के साथ जेल, लेकिन उनके परिणाम वास्तव में केवल सार्थक हैं यदि आपके पास दो छवियां हैं जो पहले से बहुत करीब हैं, जैसे कि आप देख रहे हैं कि एक विशेष संपीड़न योजना मूल छवि को कितनी अच्छी तरह से संरक्षित करती है। इसके अलावा, तुलनात्मक रूप से एक ही परिणाम का मतलब कई अलग-अलग चीजों के आधार पर हो सकता है, इस पर निर्भर करता है कि किस तरह के कलाकृतियों हैं (आरएमएस/पीएसएनआर की कुछ उदाहरण तस्वीरें के लिए नीचे दिए गए पेपर पर एक नज़र डालें)।

इनके अलावा, छवि समानता के लिए समर्पित अनुसंधान का एक पूरा क्षेत्र है।मैं कोई विशेषज्ञ हूँ, लेकिन यहाँ कुछ संकेत दिए गए हैं:

  • काम का एक बहुत dimensionality reduction (पीसीए, SVD, eigenvalue विश्लेषण, आदि) का उपयोग कर छवि के प्रमुख घटकों को लेने के लिए दृष्टिकोण में चला गया है और विभिन्न छवियों में उनकी तुलना करें।

  • अन्य दृष्टिकोण (विशेष रूप से मेडिकल इमेजिंग) segmentation तकनीक का उपयोग छवियों के महत्वपूर्ण भागों बाहर लेने के लिए है, तो वे के आधार पर छवियों क्या

  • फिर भी अन्य लोगों की कोशिश की है समानता उपायों में से कुछ के आसपास विकसित करने में है की तुलना आरएमएस त्रुटि और पीएसएनआर की खामियां। spatial domain structural similarity (SSIM) माप पर एक बहुत अच्छा पेपर था, जो त्रुटि के बजाय गणितीय विचारों की बजाय छवि त्रुटि की लोगों की धारणाओं की नकल करने की कोशिश करता है। this paper on WSSIM में wavelet analysis का उपयोग करके वही लोगों ने एक बेहतर अनुवाद/रोटेशन-इनवेरिएंट संस्करण किया।

  • ऐसा लगता है कि TinEye के लिए उनकी तुलना करने के लिए विशेषताओं के साथ फीचर वैक्टर का उपयोग करता है। आप अपनी साइट पर इधर-उधर भटकने हैं, तो आप अंत में Ideé Labs पृष्ठ पर आते हैं, और their FAQ कुछ (लेकिन बहुत सारे नहीं) कलन विधि के बारे में विशिष्ट है:

    प्रश्न: दृश्य खोज कैसे कार्य करता है?

    एक: Idee का दृश्य खोज तकनीक परिष्कृत एल्गोरिदम का उपयोग करता है छवि के सैकड़ों ऐसे रंग, आकार, बनावट, चमक, जटिलता, वस्तुओं के रूप में विशेषताओं का विश्लेषण करने के लिए, और regions.These गुण एक कॉम्पैक्ट डिजिटल हस्ताक्षर की उपस्थिति का वर्णन के रूप में प्रत्येक छवि, और इन हस्ताक्षरों की गणना हमारे सॉफ्टवेयर द्वारा की जाती है और अनुक्रमित होती है। दृश्य खोज करते समय, इन हस्ताक्षरों की तुलना हमारे खोज इंजन द्वारा त्वरित रूप से समान परिणामों को वापस करने के लिए की जाती है।

यह कोई संपूर्ण (यह सिर्फ तकनीक मैं अपने खुद के अनुसंधान के दौरान सामना किया है के एक मुट्ठी भर है), लेकिन यदि आप तकनीकी कागजात के लिए गूगल या छवि पर हाल ही में सम्मेलनों की कार्यवाही के माध्यम से देखना भी तरह से है प्रसंस्करण, आप इस सामान के लिए और अधिक तरीकों को खोजने के लिए बाध्य हैं। यह एक हल समस्या नहीं है, लेकिन उम्मीद है कि ये पॉइंटर्स आपको इस बारे में एक विचार देंगे कि इसमें क्या शामिल है।

1

क्या TinEye करता है छवि या यह के कुछ हिस्सों पर hashing का एक प्रकार है (देखें उनकी FAQ)। यह शायद असली हैश फ़ंक्शन नहीं है क्योंकि वे समान (या लगभग समान) छवियों के लिए समान "हैश" चाहते हैं। लेकिन सभी वे क्या करने की जरूरत तुलना कर रहा है इसके बारे में कि हैश और शायद सबस्ट्रिंग जानना आवश्यक है कि छवियों समान/समान हैं या एक है कि क्या एक और में निहित है।

1
अपने बहुभुज के लिए

यहाँ एक image similarity पेज है, लेकिन। आप अपनी छवि को रंग और आकार के आधार पर बहुभुजों की एक सीमित संख्या में परिवर्तित कर सकते हैं, और उनमें से प्रत्येक पर इन एल्गोरिदम को चला सकते हैं।

0

सहसंबंध तकनीक एक मैच बाहर कूद कर देगा। यदि वे जेपीईजी हैं तो आप प्रत्येक 8x8 ब्लॉक के लिए प्रमुख गुणांक की तुलना कर सकते हैं और एक सभ्य मैच प्राप्त कर सकते हैं। यह वास्तव में सहसंबंध नहीं है लेकिन यह कोसाइन ट्रांसफॉर्म पर आधारित है, इसलिए यह पहला चचेरा भाई है।

5

एक तकनीक color histograms उपयोग करने के लिए है। आप उपयोग करने वाले पुनर्वितरण के आधार पर समान छवियों को ढूंढने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग कर सकते हैं। उदाहरण के लिए, आमतौर पर इस्तेमाल किया गया k-means algorithm। मैं edge detection उपयोग करने के बाद छवि में ऊर्ध्वाधर और क्षैतिज लाइनों का विश्लेषण करने की कोशिश कर अन्य समाधान देखा है। Texture analysis का भी उपयोग किया जाता है।

हाल ही में एक paper संकुल पिकासा वेब से छवियों। आप clustering algorithm भी कोशिश कर सकते हैं जिस पर मैं काम कर रहा हूं।

4

हानिकारक wavelet compression का उपयोग करने और छवियों के उच्चतम प्रासंगिक तत्वों की तुलना करने पर विचार करें।

+0

मैंने इस तकनीक का उपयोग करके कुछ काम किया है और अच्छे परिणाम प्राप्त किए हैं (हालांकि पूर्ण विकास परियोजना को वित्त पोषित करने के लिए पर्याप्त नहीं है)। –

1

यहां कुछ कोड मैंने लिखा है, 4 साल पहले जावा yikes जो हिस्टोग्राम का उपयोग करके छवि तुलना करता है। न कम से कम, अपने सहायक उसके किसी भी हिस्से buildHistograms()

https://jpicsort.dev.java.net/source/browse/jpicsort/ImageComparator.java?rev=1.7& दृश्य = मार्कअप के अलावा अन्य पर

शायद देखने के लिए यदि आप जावा

संबंधित मुद्दे