Google छवि खोज कैसे काम करती है, इसका आपका सबसे अच्छा अनुमान क्या है? मैं एक तस्वीर अपलोड कर सकता हूं और इसी तरह की छवियां खोज सकता हूं। इसी तरह की छवियों की पहचान करने के लिए क्या एल्गोरिथ्म का उपयोग करता है?
Google छवि खोज कैसे काम करती है, इसका आपका सबसे अच्छा अनुमान क्या है? मैं एक तस्वीर अपलोड कर सकता हूं और इसी तरह की छवियां खोज सकता हूं। इसी तरह की छवियों की पहचान करने के लिए क्या एल्गोरिथ्म का उपयोग करता है?
जवाबों:
मुझे नहीं पता कि Google किस एल्गोरिथ्म का उपयोग करता है। लेकिन, जब से आप एक सर्वश्रेष्ठ अनुमान चाहते हैं, मुझे कुछ विचार देना चाहिए कि एक समान प्रणाली का निर्माण कैसे किया जा सकता है ।
खोज-छवि-आधार-दर-छवि से निपटने वाले पूरे क्षेत्र को सामग्री आधारित छवि पुनर्प्राप्ति (CBIR) कहा जाता है । यह विचार किसी भी तरह, एक छवि प्रतिनिधित्व का निर्माण करता है (जरूरी नहीं कि मनुष्य द्वारा समझा जा सकता है) जिसमें छवि सामग्री के बारे में जानकारी हो ।
दो बुनियादी दृष्टिकोण मौजूद हैं:
निम्न-स्तरीय स्थानीय दृष्टिकोण पर बहुत अच्छी तरह से शोध किया गया है। सबसे अच्छा वर्तमान दृष्टिकोण स्थानीय सुविधाओं को निकालता है (यहां शामिल फीचर निष्कर्षण एल्गोरिदम का एक विकल्प है) और छवियों की तुलना करने के लिए अपने स्थानीय डिस्क्रिप्टर (फिर से, डिस्क्रिप्टर की पसंद) का उपयोग करता है।
नए कार्यों में, स्थानीय डिस्क्रिप्टर को पहले क्लस्टर किया जाता है और फिर क्लस्टर्स को दृश्य शब्दों के रूप में माना जाता है - तकनीक तब Google दस्तावेज़ खोज के समान होती है, लेकिन पत्र-शब्दों के बजाय दृश्य शब्दों का उपयोग करना ।
आप दृश्य शब्दों को भाषा में शब्द जड़ों के समतुल्य मान सकते हैं: उदाहरण के लिए, शब्द: काम, काम, काम सभी एक ही शब्द मूल के हैं।
इन प्रकार के तरीकों की कमियों में से एक यह है कि वे आमतौर पर कम बनावट वाली छवियों पर प्रदर्शन करते हैं।
मैंने पहले से ही इन दृष्टिकोणों का विवरण देते हुए बहुत सारे उत्तर दिए और देखे हैं, इसलिए मैं उन उत्तरों के लिंक प्रदान करूंगा:
सिमेंटिक दृष्टिकोण आम तौर पर पूरी छवि के पदानुक्रमित प्रतिनिधित्व पर आधारित होते हैं। ये दृष्टिकोण अभी तक पूर्ण नहीं हुए हैं, विशेष रूप से सामान्य छवि प्रकारों के लिए। विशिष्ट छवि डोमेन के लिए इस तरह की तकनीकों को लागू करने में कुछ सफलता है।
जैसा कि मैं वर्तमान में इन दृष्टिकोणों के अनुसंधान के बीच में हूं, मैं कोई निष्कर्ष नहीं निकाल सकता। अब, उस ने कहा, मैंने इस उत्तर में इन तकनीकों के पीछे एक सामान्य विचार समझाया ।
एक बार फिर, शीघ्र ही: सामान्य विचार एक पेड़ के आकार की संरचना के साथ एक छवि का प्रतिनिधित्व करना है, जहां पत्तियों में छवि का विवरण होता है और वस्तुओं को ऐसे पेड़ों की जड़ के करीब नोड्स में पाया जा सकता है। फिर, किसी तरह, आप उप-पेड़ों की तुलना विभिन्न छवियों में निहित वस्तुओं की पहचान करने के लिए करते हैं।
यहां विभिन्न वृक्ष अभ्यावेदन के लिए कुछ संदर्भ दिए गए हैं। मैंने उन सभी को नहीं पढ़ा, और उनमें से कुछ सीबीआईआर के बजाय विभाजन के लिए इस तरह के प्रतिनिधित्व का उपयोग करते हैं, लेकिन फिर भी, वे यहां हैं:
पेनेलोप के उत्तर के अलावा, दो दृष्टिकोण, अवधारणात्मक हैशिंग और बैग-ऑफ-वर्ड मॉडल हैं, जिनकी बुनियादी कार्यक्षमता आसानी से लागू होती है और अधिक उन्नत क्षेत्र में आने से पहले उनके साथ खेलना या सीखना अच्छा लगता है।
अवधारणात्मक हैशिंग
अवधारणात्मक हैशिंग एल्गोरिदम का उद्देश्य एक हैश का निर्माण करना है, जो एक क्रिप्टोग्राफ़िक हैश के विपरीत, समान छवियों के लिए समान या समान हैश मूल्यों के पास होगा जो स्केलिंग या जेपीईजी संपीड़न द्वारा उदाहरण के लिए थोड़ा विकृत हो गए हैं। वे एक छवि संग्रह में डुप्लिकेट के पास का पता लगाने में एक उपयोगी उद्देश्य की सेवा करते हैं।
इसके सबसे बुनियादी रूप में, आप इसे इस प्रकार लागू कर सकते हैं:
छवि को ग्रेस्केल में बदलें
अपनी छवि को शून्य बनाओ
परिणाम एक लचीला 64 बिट हैश है, क्योंकि यह छवि के कम आवृत्ति घटकों पर आधारित है। इस विषय पर एक संस्करण प्रत्येक छवि को 64 सबब्लॉक्स में विभाजित करना होगा और वैश्विक छवि का मतलब स्थानीय सबब्लॉक माध्य से तुलना करना होगा और तदनुसार 1 या 0 लिखना होगा।
अवधारणात्मक हैशिंग को फ़ैश द्वारा उदाहरण के लिए लागू किया जाता है
बैग-ऑफ-वर्ड मॉडल
बैग-ऑफ-वर्ड मॉडल का उद्देश्य एक छवि को पहचानना है, उदाहरण के लिए उनमें सभी कुत्तों के साथ चित्र। यह एक ही भावना में कुछ छवि पैच का उपयोग करके ऐसा करता है कि एक निश्चित शब्दों की घटना के आधार पर एक पाठ दस्तावेज़ को वर्गीकृत करेगा। कोई भी शब्दों को श्रेणीबद्ध कर सकता है, "कुत्ता" और "कुत्ते" कह सकते हैं और उन्हें पहचानकर्ता के रूप में एक उल्टे फ़ाइल में संग्रहीत कर सकते हैं जहां "कुत्ता" श्रेणीबद्धता अब "कुत्ते" या "कुत्ते" वाले सभी दस्तावेजों को इंगित करती है।
अपने सबसे सरल रूप में, कोई भी चित्र निम्नानुसार कर सकता है:
अब आपके पास SIFT विवरणों का एक विशाल संग्रह है। समस्या यह है कि समरूप छवियों के पास से भी, वर्णनकर्ताओं के बीच कुछ बेमेल संबंध होंगे। आप समान शब्दों को "कुत्ते" और "कुत्तों" के रूप में समान शब्दों के साथ समान रूप से एक साथ समूहित करना चाहते हैं और आपको त्रुटियों की भरपाई करने की आवश्यकता है। यह वह जगह है जहाँ क्लस्टरिंग खेलने के लिए आता है।
एक छवि क्वेरी, उदाहरण के लिए मुझे क्वेरी-छवि के समान चित्र मिलते हैं, फिर निम्नानुसार हल किया जाता है:
अन्य दिलचस्प दृष्टिकोण जो उपरोक्त उत्तरों में उपेक्षित प्रतीत होते हैं, डीप कन्वीन्यूशनल न्यूरल नेटवर्क्स हैं। ऐसा लगता है कि Google अभी इसका उपयोग अपने छवि खोज इंजन और इसकी अनुवाद सेवा के लिए कर रहा है । सीएनएन संज्ञानात्मक कार्यों में बहुत शक्तिशाली हैं जैसे समानता खोजना। ऐसा लगता है, सीएनएन बैग-ऑफ-वर्ल्ड की एक समान प्रक्रिया को अंजाम देता है जो इसके नेटवर्क परतों के माध्यम से एम्बेडेड है। इस तकनीक का नकारात्मक पहलू प्रशिक्षण के लिए विशाल डेटासेट के अनजान और आवश्यकता के लिए अक्षमता है और निश्चित रूप से प्रशिक्षण चरण पर भारी कम्प्यूटेशनल लागत है।
इस संबंध में सुझाए गए कागज:
और ओपन सोर्स डीप लर्निंग इमेज रिट्रीवल इंप्लीमेंटेशन (बाद के पेपर): https://github.com/paucarre/tiefvision